




版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、精選文檔51單片機(jī)匯編語(yǔ)言a)單個(gè)與多個(gè)LED燈,位操作與字節(jié)操作—輸出ORG 0000HSTART:CLR CMOV P0.0,CMOV P1.1,CMOV P2.2,CMOV P3.3,CCLR ACPL AMOV P0,AMOV P1,AMOV P2,AMOV P3,AEND程序說(shuō)明:可以用7段數(shù)碼管來(lái)代替各端口的8個(gè)LED燈,硬件的這種顯示方式使得數(shù)字表達(dá)成為實(shí)用。數(shù)字顯示由數(shù)碼管的硬件結(jié)構(gòu)與工作原理(7個(gè)LED燈的幾何變形組合)和數(shù)字表達(dá)的數(shù)據(jù)格式確定。如:共陽(yáng)極數(shù)碼管顯示數(shù)字3,則有P1口送數(shù)據(jù)#4FH;MOVP1, #0B0H共陰極數(shù)碼管顯示數(shù)字8,則有P1口
2、送數(shù)據(jù)#80H;MOVP1, #7F H用數(shù)據(jù)表表示則有:TABshuziyang: /陽(yáng)極管(共陰極管取反即可)DB(數(shù)字0F)C0H,F9H,A4H,B0H,99H,92H,82H,F8H,80H,90H,88H,83H,C6H,A1H,86H,8EHTABshuziyin: /陰極管(共陽(yáng)極管取反即可)DB(數(shù)字0F)3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH,77H,7CH,39H,5EH,79H,71Hb)單個(gè)與多個(gè)LED燈閃爍—延時(shí)子程序—注意定時(shí)器前邊已經(jīng)看到,通過(guò)改變位或字節(jié)的賦值,可以使得LED燈亮或
3、滅,以此形成閃爍效果。但是硬件的響應(yīng)時(shí)間太短,使得效果不佳。雖然可以通過(guò)改變單片機(jī)的時(shí)鐘設(shè)置來(lái)改變效果。但時(shí)鐘的改變極其不方便,因此需要利用延時(shí)指令(注意定時(shí)器功能)獲得理想的效果。延時(shí)效果是利用單片機(jī)空轉(zhuǎn)來(lái)實(shí)現(xiàn)的。ACALLDELAY;調(diào)延時(shí)子程序*DELAY:;延時(shí)子程序—這是一個(gè)非常有用、而且常見(jiàn)的一個(gè)子程序MOV R5,#04H;將16進(jìn)制數(shù)04H傳遞給寄存器R5F3:MOV R6,#0FFH;將16進(jìn)制數(shù)0FFH傳遞給寄存器R6F2:MOV R7,#0FFH;將16進(jìn)制數(shù)0FFH傳遞給寄存器R7F1:DJNZR7, F1;寄存器R7減1非0跳轉(zhuǎn)到F1,直到減為0順
4、序執(zhí)行下一指令DJNZR6, F2;寄存器R6減1非0跳轉(zhuǎn)到F2,直到減為0順序執(zhí)行下一指令DJNZR5, F3;寄存器R5減1非0跳轉(zhuǎn)到F3,直到減為0順序執(zhí)行下一指令RET;子程序結(jié)束,返回子程序入口處ACALLDELAY;調(diào)延時(shí)子程序*應(yīng)用實(shí)例MAIN:CLR C MOV P0.0,C MOV P1.1,C MOV P2.2,CMOV P3.3,C ACALLDELAY;調(diào)延時(shí)子程序;CLR ACPL AMOV P0,AMOV P1,AMOV P2,AMOV P3,AACALL DELAY;調(diào)延時(shí)子程序SJMP MAIN ;相對(duì)轉(zhuǎn)移時(shí)間短,用AJMP絕對(duì)轉(zhuǎn)移時(shí)間長(zhǎng),RET是用于子程序的返
5、回DELAY:;延時(shí)子程序-這是一個(gè)非常有用、而且常見(jiàn)的一個(gè)子程序MOV R5,#04H;將16進(jìn)制數(shù)04H傳遞給寄存器R5F3:MOV R6,#0FFH;將16進(jìn)制數(shù)0FFH傳遞給寄存器R6F2:MOV R7,#0FFH;將16進(jìn)制數(shù)0FFH傳遞給寄存器R7F1:DJNZR7, F1 ;寄存器R7減1非0跳轉(zhuǎn)到F1,直到減為0順序執(zhí)行下一指令DJNZR6, F2 ;寄存器R6減1非0跳轉(zhuǎn)到F2,直到減為0順序執(zhí)行下一指令DJNZR5, F3 ;寄存器R5減1非0跳轉(zhuǎn)到F3,直到減為0順序執(zhí)行下一指令RET;子程序結(jié)束,返回子程序入口處ACALLDELAY;調(diào)延時(shí)子程序 END程序說(shuō)明:注意延
6、時(shí)子程序中的DJNZR7, F1;DJNZR6, F2;DJNZR5, F3;通過(guò)增加或減少循環(huán)數(shù)目控制或改變延時(shí)時(shí)間c)單個(gè)與多個(gè)LED燈流動(dòng)—位循環(huán)、字節(jié)循環(huán)與延時(shí)子程序ORG 0000HMAIN:;*位循環(huán)—掃描—流水燈—逐級(jí)增加燈的數(shù)目*CLR C MOV P0.0,C ACALLDELAY;調(diào)延時(shí)子程序 MOV P0.1,CACALLDELAY MOV P0.2,CACALLDELAY MOV P0.3,C ACALLDELAY MOV P0.4,C ACALLDELAY MOV P0.5,C ACALL
7、DELAY MOV P0.6,C ACALLDELAY MOV P0.7,CACALLDELAY;注意前面各位狀態(tài)一直持續(xù)。P0口各位電平保持不變;*位循環(huán)—流水燈—逐個(gè)改變燈亮與滅*CLR C MOV P0.0,C ACALLDELAY;調(diào)延時(shí)子程序 CPL C MOV P0.0,CACALLDELAY CLR C MOV P0.1,C ACALLDELAY CPL C MOV P0.1,C ACALLDELAY CLR C MOV P0.2,C ACALLDELAY CPL C MOV P0.2,C ACALLDELAY CLR C MOV P0.3
8、,C ACALLDELAY CPL C MOV P0.3,C ACALLDELAY CLR C MOV P0.4,C ACALLDELAY CPL C MOV P0.4,CACALLDELAYCLR C MOV P0.5,C ACALLDELAY CPL C MOV P0.5,CACALL DELAY;注意前面各位狀態(tài)—電平、輸出狀態(tài)變化……、……;*字節(jié)循環(huán)—逐級(jí)增加輸出口的數(shù)目*CPL AMOV P0,AACALLDELAYMOV P1,AACALLDELAYMO
9、V P2,AACALLDELAYMOV P3,AACALLDELAY;*字節(jié)循環(huán)—流水燈—逐漸改變燈的亮滅狀態(tài)*MOV P2,#01H;注意:#01H #02H #04H #08H #80H #40H #20H #10H陽(yáng)極管ACALLDELAYMOV P2,#02H;注意:#FEH #FDH #FBH #F7H #7FH #BFH #DFH #EFH陰極管ACALLDELAYMOV P2,#04HACALLDELAYMOV P2,#08HACALLDELAY MOV P2,#10HACALLDELAY MOV P2,#20H ACALLDELAYMOV
10、 P2,#40HACALLDELAYMOV P2,#80HACALLDELAY;*字節(jié)循環(huán)—數(shù)碼管—字符(數(shù)字、字母等)*MOV P1,#40H;改變字節(jié)中各位的電平狀態(tài),以便控制輸出、顯示所要求的內(nèi)容ACALLDELAYMOV P1,#79HACALLDELAYMOV P1,#24HACALLDELAYMOV P1,#30HACALLDELAYMOV P1,# 19HACALLDELAYMOV P1,#12HACALLDELAYMOV P1,#02HACALLDELAY MOV P1,#78HACALLDELAYSJMP MAIN ;相對(duì)轉(zhuǎn)移時(shí)間短,用
11、AJMP絕對(duì)轉(zhuǎn)移時(shí)間長(zhǎng),RET是用于子程序的返回;*延時(shí)子程序*DELAY:;延時(shí)子程序—去除一個(gè)循環(huán),時(shí)間變短了。MOV R6,#04H ;將16進(jìn)制數(shù)04H傳遞給工作寄存器R6。改變#04H為#3FH時(shí)間變長(zhǎng)F2:MOV R7,#0FFH;將16進(jìn)制數(shù)0FFH傳遞給工作寄存器R7F1:DJNZR7, F1 ;寄存器R7減1非0跳轉(zhuǎn)到F1,直到減為0順序執(zhí)行下一指令DJNZR6, F2 ;寄存器R6減1非0跳轉(zhuǎn)到F2,直到減為0順序執(zhí)行下一指令RET ;子程序結(jié)束,返回子程序入口處ACALLDELAY;調(diào)延時(shí)子程序 END;*字節(jié)循環(huán)—數(shù)碼管&
12、mdash;字符(數(shù)字、字母等)—數(shù)表與指針*MAIN:CLR A MOV P3,#00H MOV P0,#00H MOV P2,#00HMOV R0,#00H;寄存器中放數(shù)值0 MOV DPTR,#TABZshuzi ;指針PC指向數(shù)表 DISP:;段標(biāo)記MOV A,R0 ;將寄存器中的數(shù)值轉(zhuǎn)移到累加器中 MOVC A,A+DPTR;以DPTR作為基礎(chǔ),與累加器相加得到新地址給累加器 MOV P3,A;將累加器的地址給P3口 MOV P0,A SETB p2.3 ;一位數(shù)顯示位控制;個(gè)位 SETB p2.7 ACALL DELAY;調(diào)延時(shí)子程序 ACALL DELAY I
13、NC R0 ;寄存器R0加1 CJNE R0,#16H,DISP ;寄存器與立即數(shù)18比較,不相等則轉(zhuǎn)移到DISP循環(huán)。相等則順序執(zhí)行 TABshuziyang:/陽(yáng)極管DB C0H,F9H,A4H,B0H,99H,92H,82H,F8H,80H,90H,88H,83H,C6H,A1H,86H,8EH,0FFHTABshuziyin:/陰極管DB3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH,77H,7CH,39H,5EH,79H,71H,0FFHEND;*字節(jié)循環(huán)—數(shù)碼管—字符(數(shù)字、字母等)—移位控
14、制*RL A將累加器的值左移一位RLC A將累加器含進(jìn)位C左移一位RR A將累加器的值右移一位RRC A將累加器含進(jìn)位C右移一位1單個(gè)按鍵,單個(gè)與多個(gè)LED燈—最小系統(tǒng)—位輸入與位、字節(jié)輸出—判斷與子程序a)單個(gè)按鍵與單個(gè)LED燈(位操作—輸入與輸出)—判斷與子程序b)單個(gè)按鍵與多個(gè)LED燈(位操作—輸入與字節(jié)操作—輸出)c)單個(gè)按鍵與多個(gè)LED燈(位操作—輸入與位、字節(jié)操作—輸出)d)單個(gè)按鍵與單個(gè)電機(jī)控制&
15、;mdash;開(kāi)環(huán)控制1單個(gè)按鍵,單個(gè)與多個(gè)LED(位操作—輸入與位、字節(jié)操作—輸出)—最小系統(tǒng)a)單個(gè)按鍵,單個(gè)LED燈(位操作與位輸入、輸出)—有、無(wú)判斷而傳送數(shù)據(jù)通過(guò)三個(gè)方面(程序指令、虛擬仿真、實(shí)體電路)探討單輸入與單輸出:主要是理解位數(shù)據(jù)傳送,包括匯編語(yǔ)言的數(shù)據(jù)傳送指令實(shí)踐、實(shí)際虛擬電路的數(shù)據(jù)傳送響應(yīng),以體現(xiàn)抽象與具體的可理解性。?單輸出的電子線(xiàn)路—靜態(tài)特性—動(dòng)態(tài)特性,指令控制輸出?單輸入與單的電子線(xiàn)路—靜態(tài)特性(線(xiàn)路組成與結(jié)構(gòu))?單輸入與單輸出
16、電子線(xiàn)路的控制指令—動(dòng)態(tài)特性(行為與狀態(tài));分號(hào),這是一種注釋方式符號(hào)ORG0000H ;這是偽指令,機(jī)器并不執(zhí)行,用于程序的交流。指令執(zhí)行的起始地址,十進(jìn)制用D表示,十六進(jìn)制用H表示,二進(jìn)制用B表示。一個(gè)字節(jié)(8位機(jī)、16位機(jī)、32位機(jī)、64位機(jī))一次執(zhí)行。也可以按位來(lái)執(zhí)行,也就是一個(gè)bit。ORG00000000B與ORG0000H作用相同。注意8位(bit)一個(gè)字節(jié)。16位的處理器需要用0000 0000H表示。16或32位以上,使用操作系統(tǒng)(Wince、Linux等)更有效,可以利用大量的、底層的、專(zhuān)業(yè)化、標(biāo)準(zhǔn)化的面向控制的庫(kù)函數(shù)(如:API等)。START:;這是
17、偽指令,機(jī)器并不執(zhí)行。只是為了匯編語(yǔ)言講故事的可理解性MAIN: ;偽指令,主程序,用于區(qū)別子程序 PC→MOVA,#00H;將立即數(shù)00000000B(常數(shù)0D)傳送給累加器ACC(專(zhuān)用寄存器,可用于存放計(jì)算結(jié)果等)。要通過(guò)累加器A和其它存儲(chǔ)地址進(jìn)行數(shù)據(jù)交換。注意PC是自動(dòng)移位(自動(dòng)+1)到下一個(gè)語(yǔ)句的地址。使用該語(yǔ)句實(shí)質(zhì)上是讓PC具有初始位置。PC→MOVP1,A;將累加器中的數(shù)(常數(shù)0D)傳送給端口P1(P1口8位全部置0,低電平,P1端口各位處于關(guān)閉狀態(tài),LED燈處于系統(tǒng)響應(yīng)的準(zhǔn)備狀態(tài)),按字節(jié)傳送數(shù)據(jù)。特別記憶:PC→表示指針?biāo)?/p>
18、地址,并會(huì)自動(dòng)加1。輸出口—字節(jié)PC→MOVC,0A0H;檢測(cè)P2.0口的狀態(tài),將P2.0口的狀態(tài)(由按鍵狀態(tài)決定)傳送給位累加器C,位累加器C的地址是PSW(程序狀態(tài)字寄存器)的進(jìn)位標(biāo)志位CY(D7HPSW.7)。P2.0口可以是開(kāi)或關(guān),也就是置1或0,高電平或低電平),按字節(jié)傳送數(shù)據(jù)。要通過(guò)位累加器C和其它存儲(chǔ)地址進(jìn)行數(shù)據(jù)交換。該語(yǔ)句也可以寫(xiě)成:MOVC,P2.0,比較字節(jié)數(shù)據(jù)傳送MOVA,#00H或MOVA,P1。輸入口—位PC→MOVP1.0,C ;等價(jià)于MOV90H,C;將位累加器C地址中的值傳送給P1.0口(90H是其直接地址),也就是將P2.0口的狀態(tài)(由直接地址0A0H狀態(tài)決定)傳送給直接地址90H,P1.0口,輸出口—位PC→MOVP1.1,C;等價(jià)于MOV91H,CPC→MOVP1.2,C;等價(jià)于MOV92H,CPC→MOVP1.3,C;等價(jià)于MOV93H,C等等END;偽指令,程序結(jié)束標(biāo)志程序說(shuō)明:?jiǎn)蝹€(gè)按鍵控制單個(gè)LED燈及其狀態(tài),也可以控制若干個(gè)LED燈及其狀態(tài)。也就是多個(gè)LED燈,單個(gè)按鍵。反過(guò)來(lái),可以是多個(gè)按鍵控制單個(gè)燈或多個(gè)按鍵控制多個(gè)LED燈。通
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 工業(yè)互聯(lián)網(wǎng)時(shí)代2025年聯(lián)邦學(xué)習(xí)隱私保護(hù)案例分析報(bào)告
- 潮玩消費(fèi)市場(chǎng)2025年趨勢(shì)報(bào)告:價(jià)值評(píng)估與文化影響力研究
- 心中的情感旋律抒情作文12篇
- 1鄉(xiāng)村旅游民宿集群建設(shè)項(xiàng)目2025年人力資源配置研究報(bào)告001
- 2025年網(wǎng)絡(luò)直播行業(yè)規(guī)范化運(yùn)營(yíng)中的商業(yè)模式創(chuàng)新路徑優(yōu)化報(bào)告
- 房子買(mǎi)賣(mài)合同
- 室內(nèi)質(zhì)控月總結(jié)報(bào)告表
- 6.2人的數(shù)據(jù)分析
- 2025-2030中國(guó)輸血保溫器行業(yè)運(yùn)行態(tài)勢(shì)與供需趨勢(shì)預(yù)測(cè)報(bào)告
- 2025-2030中國(guó)薄型抽油煙機(jī)行業(yè)消費(fèi)動(dòng)態(tài)與競(jìng)爭(zhēng)趨勢(shì)預(yù)測(cè)報(bào)告
- 2025-2030中國(guó)洗胃機(jī)產(chǎn)業(yè)運(yùn)營(yíng)現(xiàn)狀分析與未來(lái)前景趨勢(shì)展望報(bào)告
- Unit 2 Home Sweet Home 第3課時(shí)(Section A 3a-3c) 2025-2026學(xué)年人教版英語(yǔ)八年級(jí)下冊(cè)
- 安全生產(chǎn)月題庫(kù)-安全生產(chǎn)知識(shí)競(jìng)賽題庫(kù)(1800道)
- 2025年計(jì)劃生育與婦幼健康考試試題及答案
- 2025至2030中國(guó)廢銅行業(yè)發(fā)展現(xiàn)狀及發(fā)展趨勢(shì)與投資風(fēng)險(xiǎn)報(bào)告
- 血管內(nèi)導(dǎo)管相關(guān)性血流感染預(yù)防與診治2025
- 2025年春季《中華民族共同體概論》第二次平時(shí)作業(yè)-國(guó)開(kāi)(XJ)-參考資料
- 2024-2025教科版一年級(jí)下冊(cè)科學(xué)期末考試卷及參考答案
- 國(guó)開(kāi)2024年《JavaScript程序設(shè)計(jì)》形考1-3答案
- 廣東省茂名市直屬學(xué)校2023-2024學(xué)年七年級(jí)下學(xué)期期末數(shù)學(xué)試題
- 2024年濟(jì)南綜??毓杉瘓F(tuán)有限公司招聘筆試沖刺題(帶答案解析)
評(píng)論
0/150
提交評(píng)論