freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

基于單片機(jī)的函數(shù)信號(hào)發(fā)生器的設(shè)計(jì)與制作(編輯修改稿)

2024-07-15 18:21 本頁(yè)面
 

【文章內(nèi)容簡(jiǎn)介】 則取代它再比較下一位。直到所有元素都比較完。此時(shí)40H單元中即為最大值。程序: ORG 2000H MOV R0, 42H MOV 40H,@R0 DEC 41H LOOP: INC R0 MOV A, @R0 CJNE A, 40H, COMP COMP: JC NEXT MOV 40H,A NEXT: DJNZ 41H,LOOP SJMP $ END程序3:編寫程序?qū)崿F(xiàn)延時(shí)1min分析:可利用CPU中每執(zhí)行一條指令都有固定的時(shí)序這一特征,令其重復(fù)執(zhí)行某些指令從而達(dá)到延時(shí)的目的。程序: DELAY: MOV R7, 0E6H 1 LOOP1: MOV R6, 0FFH 1 LOOP2:MOV R5, 0FFH 1 LOOP3: NOP 1 NOP 1 DJNZ R6, LOOP3 2 DJNZ R6, LOOP2 2 DJNZ R7, LOOP1 2 RET 2程序中:內(nèi)循環(huán)一次所需機(jī)器周期數(shù)=(1+1+2)個(gè)=4個(gè)。內(nèi)循環(huán)共循環(huán)255次的機(jī)器周期數(shù)=4255個(gè)=1020個(gè)。次外循環(huán)一次所需機(jī)器周期數(shù)=(4255+1+2)個(gè)=1023個(gè)。次外循環(huán)共循環(huán)255次,所以該子程序總的機(jī)器周期數(shù)=(2551023+1+2)個(gè)=260868個(gè)。外循環(huán)一次所需機(jī)器周期數(shù)=(260868+1+2)個(gè)=260871個(gè)。外循環(huán)共循環(huán)255次,所以該子程序總的機(jī)器周期數(shù)=(230260871+1+2)個(gè)=60,000,033個(gè)。因?yàn)橐粋€(gè)機(jī)器周期為12個(gè)時(shí)鐘周期,所以該子程序延時(shí)間=26086812/。程序4:編寫一個(gè)循環(huán)閃爍燈程序,~,每次其中某個(gè)燈閃爍點(diǎn)亮2次,依次進(jìn)行,循環(huán)不止。程序: MOV A, 0FEH SHIFT: LCALL FLASH RR A SJMP SHIFT FLASH: MOV R2, 02H FLASH1:MOV P1, A LCALL DELAY MOV P1, 00H LCALL DELAY DJNZ R2, FLASH1 RET思考題:題1:編寫一個(gè)循環(huán)閃爍燈程序,~,每次其中兩個(gè)點(diǎn)亮,依次進(jìn)行,循環(huán)不止。題2:編寫一個(gè)循環(huán)閃爍燈程序,~,由兩邊向中間的燈依次點(diǎn)亮,循環(huán)不止。題3:在內(nèi)部RAM的42H開始的連續(xù)單元中存放一組8位無(wú)符號(hào)數(shù),該數(shù)組長(zhǎng)度n(n≤3DH)存放在41H中,找出這組數(shù)中的最小數(shù),并將其存入內(nèi)部RAM的40H單元中。 第三章 C51及程序設(shè)計(jì) C語(yǔ)言的重要知識(shí)點(diǎn) C的數(shù)據(jù)類型C語(yǔ)言中數(shù)據(jù)有常量和變量之分,它們分別屬于以下這些類型。常量:在程序運(yùn)行過(guò)程中,其值不能改變的量。如‘a(chǎn)’、經(jīng)define PRICE 30后,PRICE為一常量,其值為30。變量:其值可以改變的量。一個(gè)變量應(yīng)該有一個(gè)名字,在內(nèi)存中占據(jù)一定的存儲(chǔ)單元,如圖。 3a變量名變量值存儲(chǔ)單元C語(yǔ)言規(guī)定變量必須先定義后使用。標(biāo)識(shí)符只能由字母、數(shù)字和下劃線三種字符組成。且第一個(gè)字符必須為字母或下劃線。習(xí)慣上,符號(hào)常量名用大寫,變量名用小寫,以示區(qū)別。數(shù)據(jù)類型定義如基本類型整型整形常量:即整常數(shù)。10x12整形變量:定義符為int、signed int、Unsigned int、signed short int、Unsigned short int、long int、Unsigned long int字符型字符型常量:用單撇號(hào)括起來(lái)的一個(gè)字符。‘a(chǎn)’、‘?’字符串型常量:用雙撇號(hào)括起來(lái)的一個(gè)字符。“china”、“ ”字符型變量:定義符為char實(shí)型實(shí)型常量:分為十進(jìn)制小數(shù)形式和指數(shù)形式123.4123e3實(shí)型變量:定義符為float、double、long double枚舉類型構(gòu)造類型數(shù)組類型結(jié)構(gòu)體類型共用體類型指針類型空類型一、 算術(shù)運(yùn)算符和算術(shù)表達(dá)式C的運(yùn)算符有以下幾類:1.算術(shù)運(yùn)算符: (+ * / %)2.關(guān)系運(yùn)算符: (> < == = >= <= !=)3.邏輯運(yùn)算符: (! amp。amp。 ||): (<< >> ~ | ∧(異或) amp。)5.賦值運(yùn)算符: ( = )6.條件運(yùn)算符: (? :)7.逗號(hào)運(yùn)算符: ( , )8.指針運(yùn)算符: (* amp。)、自減運(yùn)算符: (++ )二、逗號(hào)運(yùn)算符和逗號(hào)表達(dá)式逗號(hào)表達(dá)式形式:表達(dá)式1,表達(dá)式2 C語(yǔ)句一、C語(yǔ)句可以分為以下5類1.控制語(yǔ)句:C語(yǔ)言有9種控制語(yǔ)句,它們是:(~表示內(nèi)嵌的語(yǔ)句)(1).if~else~(2).for()~(3).while()~(4).do~while()(5).continue (6).break 結(jié)束整個(gè)循環(huán)(7).switch 結(jié)束本次循環(huán)(8).goto(9).return2.函數(shù)調(diào)用語(yǔ)句 如:printf(“This is a C statement”)3.表達(dá)式語(yǔ)句 如:賦值語(yǔ)句4.空語(yǔ)句 如: ; 二、數(shù)據(jù)的輸入輸出C語(yǔ)言函數(shù)庫(kù)中有一批“標(biāo)準(zhǔn)輸入輸出函數(shù)”,它們是:putchar(輸出字符),getchar(輸入字符),printf(格式輸出),scanf(格式輸入),puts(輸出字符串),gets(輸入字符串。三、選擇結(jié)構(gòu)程序設(shè)計(jì)1.If語(yǔ)句有三種形式①.If(表達(dá)式)語(yǔ)句 如:if(xy)printf(“%d”,x)。②.If(表達(dá)式) 語(yǔ)句1 else 語(yǔ)句2 如:if(xy)printf(“%d”,x)。 else printf(“%d”,y)。③.If(表達(dá)式1) 語(yǔ)句1 else if(表達(dá)式2) 語(yǔ)句2else if(表達(dá)式3) 語(yǔ)句3else 語(yǔ)句n2.條件運(yùn)算符:格式: 表達(dá)式1?表達(dá)式2:表達(dá)式3如:max=( a b )? a : b 格式:switch(表達(dá)式){case 常量表達(dá)式1:語(yǔ)句1 case 常量表達(dá)式2:語(yǔ)句2case 常量表達(dá)式n:語(yǔ)句ndefault :語(yǔ)句n+1}四、循環(huán)控制語(yǔ)句構(gòu)成循環(huán)語(yǔ)句的語(yǔ)句有:1.Goto語(yǔ)句和if語(yǔ)句構(gòu)成循環(huán);P107格式:while(表達(dá)式) 語(yǔ)句 P107格式:do 循環(huán)體語(yǔ)句 While (表達(dá)式);P109格式:for(循環(huán)變量賦值初值;循環(huán)條件;循環(huán)變量增值)語(yǔ)句 如:for(i=1。i=100。i++) sum=sum+i。五、數(shù)組一維數(shù)組定義方式:類型說(shuō)明符 數(shù)組名[常量表達(dá)式];如:int a[10]二維數(shù)組定義方式:類型說(shuō)明符 數(shù)組名[常量表達(dá)式] [常量表達(dá)式]; 如: float a[2][3],b[3][3]六、函數(shù)一個(gè)較大的程序一般應(yīng)分為若干個(gè)程序模塊,每一個(gè)模塊用來(lái)實(shí)現(xiàn)一個(gè)特定功能。所有的高級(jí)語(yǔ)言中都有子程序這個(gè)概念,用子程序?qū)崿F(xiàn)模塊的功能。在C語(yǔ)言中,子程序的作用是由函數(shù)完成的。一個(gè)C程序可由一個(gè)主函數(shù)和若干個(gè)函數(shù)構(gòu)成。由主函數(shù)調(diào)用其它函數(shù),其他函數(shù)也可以互相調(diào)用。同一個(gè)函數(shù)可以被一個(gè)或多個(gè)函數(shù)調(diào)用任意多次。在程序設(shè)計(jì)中,常將一些常用的功能模塊編寫成函數(shù),放在函數(shù)庫(kù)中供公共選用。要善于利用函數(shù),以減少重復(fù)編寫程序段的工作量。⑴、一個(gè)源程序文件由一個(gè)或多個(gè)函數(shù)組成。⑵、一個(gè)C程序由一個(gè)或多個(gè)源程序文件組成。⑶、C程序的執(zhí)行從main函數(shù)開始。⑷、所有函數(shù)都是平行的,即在定義函數(shù)時(shí)是互相獨(dú)立,一個(gè)函數(shù)并不從屬于另一個(gè)函數(shù)。⑸、調(diào)用庫(kù)函數(shù)的方式為:include include ⑹、函數(shù)的調(diào)用方式為:把函數(shù)語(yǔ)句作為一個(gè)語(yǔ)句,如:float add(float x, float y)。 C51與C的區(qū)別一、如何調(diào)用單片機(jī)內(nèi)部資源include二、存儲(chǔ)區(qū)的描述變量的聲明中還包括了對(duì)存儲(chǔ)類型的指定,即指定變量存放的位置。存儲(chǔ)區(qū)描述DATARAM的低128字節(jié),可在一個(gè)周期內(nèi)直接尋址。由于為尋址最快,所以應(yīng)該把經(jīng)常使用的變量放在DATA區(qū)。例:unsigned char data system_status=0。char data inp[16]。BDATADATA區(qū)可字節(jié),位混合尋址的16字節(jié)區(qū)。IDATARAM區(qū)的高128字節(jié),必須采用間接尋址。XDATA外部存儲(chǔ)區(qū),使用DPTR間接尋址PDATA外部存儲(chǔ)區(qū)的256字節(jié),通過(guò)P0口的地址對(duì)其尋址,使用指令MOVX @Rn,需要兩個(gè)指令周期。CODE程序存儲(chǔ)區(qū)使用DPTR尋址,程序存儲(chǔ)區(qū)的數(shù)據(jù)是不可改變的。如固化表格的聲明會(huì)表示為:uc code moto_back[]={0x99,0x88,0xcc,0x44,0x66,0x22,0x33,0x11}。三、如何定義字define uc unsigned chardefine ui unsigned intdefine hi ((655361500)/256)define lo ((655361500)%256)四、如何定義位sbit RS=P2^0。sbit RW=P2^1。sbit E=P2^2。五、如何定義表格uc code moto_back[]={0x99,0x88,0xcc,0x44,0x66,0x22,0x33,0x11}。六、如何進(jìn)入中斷中斷函數(shù)的完整語(yǔ)法及示例如下:返回值 函數(shù)名 interrupt n [using n]如:void timer0() interrupt 1 using2 {}五、匯編與C51的混合編程pragma asm匯編行pragma endasm同時(shí)還需進(jìn)行以下設(shè)置:這種方法是通過(guò)asm與endasm告訴C51編譯器,中間行不用編譯為匯編行,例如: include sbit LED=P1^0。 void delay()。 void main() { LED=0。 while(1) { LED=~LED。 delay()。 LED=~LED。 delay()。 } } void delay() { pragma asm MOV R7, 0E6H LOOP1: MOV R6, 0FFH LOOP2: NOP NOP DJNZ R6, LOOP2 DJNZ R7, LOOP1 pragma endasm }六、C51使用規(guī)范為了增強(qiáng)程序的可讀性,便于源程序的交流,減少合作開發(fā)中的障礙,應(yīng)當(dāng)在編寫C51程序時(shí)遵循一定的規(guī)范。開始的注釋。/**************************************************//*****公司名稱*****************//****模塊名:LCD模塊,LCD型號(hào):LCM1602*****//****創(chuàng)建人:劉二,日期:2010925********//****修改人:王五,日期:2010925*******//****功能描述:*********//****其他說(shuō)明:*****************//****版本:*************//**************************************************/函數(shù)開頭的注釋內(nèi)容/**************************************************//*****函數(shù)名:***************//****功能描述:LCD初始化*****//****調(diào)用函數(shù):********//****全局變量:*******//****輸入:*********//****輸出:*****************/
點(diǎn)擊復(fù)制文檔內(nèi)容
試題試卷相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖片鄂ICP備17016276號(hào)-1