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

正文內(nèi)容

基于單片機(jī)的函數(shù)信號(hào)發(fā)生器的設(shè)計(jì)與制作-文庫吧資料

2025-06-24 18:21本頁面
  

【正文】 oto_back[]={0x99,0x88,0xcc,0x44,0x66,0x22,0x33,0x11}。sbit RW=P2^1。如固化表格的聲明會(huì)表示為:uc code moto_back[]={0x99,0x88,0xcc,0x44,0x66,0x22,0x33,0x11}。XDATA外部存儲(chǔ)區(qū),使用DPTR間接尋址PDATA外部存儲(chǔ)區(qū)的256字節(jié),通過P0口的地址對(duì)其尋址,使用指令MOVX Rn,需要兩個(gè)指令周期。BDATADATA區(qū)可字節(jié),位混合尋址的16字節(jié)區(qū)。例:unsigned char data system_status=0。存儲(chǔ)區(qū)描述DATARAM的低128字節(jié),可在一個(gè)周期內(nèi)直接尋址。⑸、調(diào)用庫函數(shù)的方式為:include include ⑹、函數(shù)的調(diào)用方式為:把函數(shù)語句作為一個(gè)語句,如:float add(float x, float y)。⑶、C程序的執(zhí)行從main函數(shù)開始。⑴、一個(gè)源程序文件由一個(gè)或多個(gè)函數(shù)組成。在程序設(shè)計(jì)中,常將一些常用的功能模塊編寫成函數(shù),放在函數(shù)庫中供公共選用。由主函數(shù)調(diào)用其它函數(shù),其他函數(shù)也可以互相調(diào)用。在C語言中,子程序的作用是由函數(shù)完成的。五、數(shù)組一維數(shù)組定義方式:類型說明符 數(shù)組名[常量表達(dá)式];如:int a[10]二維數(shù)組定義方式:類型說明符 數(shù)組名[常量表達(dá)式] [常量表達(dá)式]; 如: float a[2][3],b[3][3]六、函數(shù)一個(gè)較大的程序一般應(yīng)分為若干個(gè)程序模塊,每一個(gè)模塊用來實(shí)現(xiàn)一個(gè)特定功能。i=100。 else printf(“%d”,y)。三、選擇結(jié)構(gòu)程序設(shè)計(jì)1.If語句有三種形式①.If(表達(dá)式)語句 如:if(xy)printf(“%d”,x)。)5.賦值運(yùn)算符: ( = )6.條件運(yùn)算符: (? :)7.逗號(hào)運(yùn)算符: ( , )8.指針運(yùn)算符: (* amp。amp?!產(chǎn)’、‘?’字符串型常量:用雙撇號(hào)括起來的一個(gè)字符。數(shù)據(jù)類型定義如基本類型整型整形常量:即整常數(shù)。且第一個(gè)字符必須為字母或下劃線。 3a變量名變量值存儲(chǔ)單元C語言規(guī)定變量必須先定義后使用。變量:其值可以改變的量。常量:在程序運(yùn)行過程中,其值不能改變的量。題3:在內(nèi)部RAM的42H開始的連續(xù)單元中存放一組8位無符號(hào)數(shù),該數(shù)組長(zhǎng)度n(n≤3DH)存放在41H中,找出這組數(shù)中的最小數(shù),并將其存入內(nèi)部RAM的40H單元中。程序: 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)不止。因?yàn)橐粋€(gè)機(jī)器周期為12個(gè)時(shí)鐘周期,所以該子程序延時(shí)間=26086812/。外循環(huán)一次所需機(jī)器周期數(shù)=(260868+1+2)個(gè)=260871個(gè)。次外循環(huán)一次所需機(jī)器周期數(shù)=(4255+1+2)個(gè)=1023個(gè)。程序: 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è)。此時(shí)40H單元中即為最大值。分析:可以先將第一個(gè)數(shù)組元素送40H單元內(nèi),然后將數(shù)組中的其它數(shù)依次與其比較,若大于40H中的值,則取代它再比較下一位。分析:由設(shè)計(jì)要求可以看出,程序有三條路徑需要選擇,因此需要采用分支程序設(shè)計(jì),其流程圖如圖21所示。MOV C,A1 程序設(shè)計(jì)實(shí)例;程序1:求符號(hào)函數(shù)。例如:SPACE:DS 107.BIT(地址符號(hào)命令)格式:標(biāo)識(shí)符 BIT 位地址功能:將位地址賦以標(biāo)識(shí)符。例如:TAB: DB 12H,0AFH,“9”5.DW(定義字)格式:[標(biāo)號(hào):] DW 項(xiàng)或項(xiàng)表功能:功能:將項(xiàng)或項(xiàng)表中的字(16位)數(shù)據(jù)依次存入標(biāo)號(hào)所示的存儲(chǔ)單元中。如:LOOP EQU 20H4.DB(定義字節(jié))格式: [標(biāo)號(hào):] DB 項(xiàng)或項(xiàng)表功能:將項(xiàng)或項(xiàng)表中的字節(jié)(8位)數(shù)據(jù)依次存入標(biāo)號(hào)所示的存儲(chǔ)單元中。 偽指令MCS51單片機(jī)匯編語言中常用的偽指令如下:1.ORG(匯編起始地址)格式:ORG 16位地址2.END(結(jié)束匯編)格式:END功能:匯編語言源程序的結(jié)束標(biāo)志,即通知匯編程序不再繼續(xù)往下匯編。高級(jí)語言:使用接近人們習(xí)慣的自然語言的英語縮寫和數(shù)學(xué)表達(dá)的形式編寫程序,這樣就可以大大提高編程的效率。匯編語言:是一種采用助記符來表示的機(jī)器語言,即用助符號(hào)來代表指令的操作碼和操作數(shù),用標(biāo)號(hào)或符號(hào)代表地址、常數(shù)或變量。CPU直接識(shí)別和執(zhí)行的是機(jī)器語言代碼,但是,機(jī)器語言對(duì)人們來說不便于記憶和交流,而且極易出錯(cuò),故一般不采用機(jī)器語言直接編程。如:MOV SP, 70H算術(shù)運(yùn)算類(24條形碼)屬于這一類的助記符有: ADD,ADDC,INC SUBB,DEC MUL,DIV,DA①、ADD Rn ②、INC A ADDC A ,Ri Rn SUBB DATA Ri DIRECT DIRECT DPTR③、DEC A ④、 MUL AB Rn DIV AB Ri DA A DIRECT邏輯運(yùn)算類(24條)屬于這一類的助記符有:ANL,ORL,XRL,CPL,CLR① ANL A Rn ANL A,Ri ANL A DIRECT ANL A DATA ② ANL direct, A ANL direct, data③ ORL A, Rn ORL A, direct ORL A, Ri ORL A, data④ ORL direct, data ORL direct, A⑤ XRL A, Rn XRL A, direct XRL A, data XRL A, Ri⑥ XRL direct, A XRL direct, data③ CPL A CLR A RL A RLC A RR A RRC A SWAP A 控制轉(zhuǎn)移類(17條)屬于這一類的助記符有:JMP,LJMP,AJMP, LCALL,ACALL,SJMPJZ,JNZ,DJNZ,CJNE①、JMP A+DPTR ②、NOPLJMP addr16 RETAJMP addr11 RETILCALL addr16 ③、JZ relACALL addr11 JNZ relSJMP rel (地址范圍為) DJNZ Rn , rel Direct , rel④、CJNE Rn , DATA, rel A, DATA, rel Ri, DATA, rel A, Direct, rel位操作指令(17條)屬于這一類的助記符有:JB,JNB,JBC,CLR,SETB,CPL,ANL,ORL,MOV①、CLR C ②、SETB C BIT BIT③、CPL C ④、ANL C ,BIT BIT /BIT⑤、ORL C ,BIT ⑥、MOV C ,BIT C ,/BIT BIT ,C⑦、JB BIT ,REL ⑧、JC rel JNB BIT ,REL JNC rel JBC BIT , REL、 匯編語言程序設(shè)計(jì)基礎(chǔ);程序設(shè)計(jì)語言可分為三類:機(jī)器語言、匯編語言、高級(jí)語言。MOV R0, 30HMOV A, R0MOV R1, AMOV B, R1MOV R1, P1MOV P2, P1⑤、MOVX A , DPTR ⑥、MOVC A ,A+DPTR Ri A+PC⑦、MOVX DPTR , A Ri , A⑧、XCH A ,Rn ⑨、XCHD A ,Ri Ri DPTR Direct ⑩、MOV DPT,DATA16 ⑩、PUSH DirectPOP Direct注:由于復(fù)位后,SP的值為07H,這就會(huì)出現(xiàn)堆棧區(qū)與工作寄存器區(qū)兩者重疊。 ★執(zhí)行后不影響任何標(biāo)志位。例如:SETB ET0 指令系統(tǒng);單片機(jī)指令分為五類:1, 數(shù)據(jù)傳送類;2, 算術(shù)遠(yuǎn)算類;3, 邏輯轉(zhuǎn)移類;4, 控制轉(zhuǎn)移類;5, 位操作。相對(duì)偏移量rel是一個(gè)用補(bǔ)碼表示的8位有符號(hào)數(shù),rel的范圍為+127~128字節(jié)之間。⑵.用數(shù)據(jù)指針DPTR作基地址,A作變址,形成操作數(shù)地址:A+DPTR。例如:MOV A,R05.變址尋址 變址尋址方式是以程序指針PC或數(shù)據(jù)指針DPTR為基址寄存器,以累加器A作為變址寄存器,兩者內(nèi)容相加(即基地址+偏移量)形成16位的操作數(shù)地址,變址尋址方式主要用于訪問固化在程序存儲(chǔ)器中的某個(gè)字節(jié)。假若Ri中存放在操作數(shù)為3BH,則指令執(zhí)行結(jié)果是A=3BH。例如:MOV TCON,AMOV A, P1⑵.內(nèi)部RAM的低128字節(jié)例如:MOV A,76H3.寄存器尋址在寄存器尋址方式中,寄存器中的內(nèi)容就是操作數(shù)。它包括:⑴.特殊功能寄存器地址空間。1.立即尋址在立即尋址方式中,操作數(shù)直接出現(xiàn)在指令中,指令的操作數(shù)可以是8位或16位數(shù)。由尋址方式指定參與運(yùn)算的操作數(shù)或操作數(shù)所在單元的地址。MCS51匯編語言指令格式由以下向個(gè)部分組成:[標(biāo)號(hào):] 操作碼 [目的操作數(shù)] [源操作數(shù)] [:注釋]其中,[]中的項(xiàng)表示為可選項(xiàng)例如:LOOP: MOV A,Ri :A←Ri 尋址方式;所謂尋址方式就是尋找或獲得操作數(shù)的方式。只有乘法指令和除法指令是四周期指令。3.指令周期指令周期定義為執(zhí)行一條指令所用的時(shí)間。2.機(jī)器周期執(zhí)行一條指令的過程可分為若干個(gè)階段,每個(gè)一個(gè)階段完成一規(guī)定的操作,完一個(gè)規(guī)定操作所需要的時(shí)間稱為一個(gè)機(jī)器周期。例如:時(shí)鐘頻率為6MHz。MCS51時(shí)鐘電路如下圖所示。 MCS51單片機(jī)的時(shí)序計(jì)算機(jī)執(zhí)行指令的過程分為取指令、分析指令、和執(zhí)行指令三個(gè)步驟,每個(gè)步驟又由許多微操作組成,這些微操作必須在一個(gè)統(tǒng)一的時(shí)鐘脈沖的控制下才能按照正確的順序執(zhí)行。圖13 MCS51復(fù)位電路程序執(zhí)行方式是單片機(jī)的基本工作方式,通常可分為連續(xù)執(zhí)行和單步執(zhí)行兩種工作方式。表14 特殊功能寄存器(SFR)地址寄存器位地址及位名字節(jié)地址D7D6D5D4D3D2D1D0BF7HF6HF5HF4HF3HF2HF1HF0HF0HACCE7HE6HE5HE
點(diǎn)擊復(fù)制文檔內(nèi)容
試題試卷相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1