




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、8個(gè)共陰極的數(shù)碼管,動(dòng)態(tài)顯示0-7ORG 0000HMOV R0,#00H ;給R0賦值0MOV DPTR,#TAB ; 把TAB 表的首地址給DPTRMOV R4,#0FEH; ;給R4賦值0FE MOV A,R4; ;A為0FE 也就是1111 1110 PUSH ACC; ;將A入棧DLO:MOV A,R0MOVC A,A+DPTR; ;查TAB表MOV P0,A ; 把查的值給數(shù)碼管的8個(gè)段POP ACC; 將之前的A出棧MOV P1,A; 將A的值給P1 也就是給P1 1111 1110 是那個(gè)為0的管亮LCALL QF; 調(diào)用取反子程序PUSH ACC; 將A入棧INC R0; R
2、0值加1LCALL DELAY ; 調(diào)用延時(shí)程序CJNE R0,#08H,DLO; 判斷是否查完一便表 沒(méi)查完再跳到DLOMOV R4,#0FEH; 查完了重新給A賦值MOV A,R4PUSH ACC ; 再將A入棧MOV R0,#00H; 給R0清0SJMP DLO ;跳到DLO再顯示DELAY:MOV R1,#18 LP1:MOV R2,#200 LP2:MOV R3,#126 DJNZ R3,$ DJNZ R2,LP2 DJNZ R1,LP1 RETTAB:DB 3fH,06H,5bH,4fH,66H,6dH,7dh,07hQF:RL A ; 左移RETEND0-99的顯示Org 0Lj
3、mp mainOrg 0100hMain:MOV R0,#00H ;給R0賦值0MOV DPTR, #TAB ; MOV R3, #0; ;給R3賦值0M1:MOV R4, #0; ;給R4賦值0GW:MOV R2, #10YS:MOV A, R4; ;A為0MOVC A, A+DPTRMOV P0, A ;顯示個(gè)位的數(shù)據(jù)CLR P1.1LCALL DLMOV P0,#0SETB P1.1MOV A, R3MOVC A, A+DPTRMOV P0, A ;顯示十位的數(shù)據(jù)CLR P1.0LCALL DLMOV P0,#0SETB P1.0DJNZ R2,YSINC R4CJNE R4,#10,G
4、WINC R3CJNE R3,#10,M1SJMP MAINDL: MOV R7,#10 D1: MOV R6,#200 D2:DJNZ R6,d2 DJNZ R7,d1RETTAB: DB 3fH, 06H, 05bH, 4fH, 66H, 6dH, 7dH,07H, 7fH, 6fHna_bit equ 20h ;數(shù)碼管個(gè)位數(shù)存放內(nèi)存位置nb_bit equ 21h ;數(shù)碼管十位數(shù)存放內(nèi)存位置ntemp equ 22h ;計(jì)數(shù)器數(shù)值存放內(nèi)存位置 norg 0 nstar: mov temp,#0 ;初始化計(jì)數(shù)器,從0開(kāi)始nstlop: acall display;調(diào)用顯示子程序ninc t
5、emp;對(duì)計(jì)數(shù)器加1nmov a,tempncjne a,#100,next ;判斷計(jì)數(shù)器是否滿100?nmov temp,#0;滿100就清零重新開(kāi)始nnext: ljmp stlop;不滿就循環(huán)執(zhí)行n;顯示子程序ndisplay: mov a,temp ;將temp中的十六進(jìn)制數(shù)轉(zhuǎn)換成10進(jìn)制nmov b,#10 ;10進(jìn)制/10=10進(jìn)制ndiv abnmov b_bit,a ;十位在anmov a_bit,b ;個(gè)位在bnmov dptr,#numtab ;指定查表啟始地址nmov r0,#4dpl1: mov r1,#250 ;dplop: mov a,a_bit ;取個(gè)位數(shù)取個(gè)位數(shù)
6、MOVC A,A+DPTR ;查個(gè)位數(shù)的查個(gè)位數(shù)的7段段代碼代碼mov p0,a ;送出個(gè)位的送出個(gè)位的7段代碼段代碼clr p1.7 ;開(kāi)個(gè)位顯示開(kāi)個(gè)位顯示acall d1ms ;顯示顯示162微秒微秒setb p1.7;關(guān)閉個(gè)位顯示關(guān)閉個(gè)位顯示,防止鬼影防止鬼影mov a,b_bit ;取十位數(shù)取十位數(shù)MOVC A,A+DPTR ;查十位數(shù)的查十位數(shù)的7段段代碼代碼mov p0,a ;送出十位的送出十位的7段代碼段代碼clr p1.6 ;開(kāi)十位顯示開(kāi)十位顯示acall d1ms ;顯示顯示162微秒微秒setb p1.6;關(guān)閉十位顯示關(guān)閉十位顯示,防止鬼影防止鬼影djnz r1,dplop
7、 ;循環(huán)執(zhí)行循環(huán)執(zhí)行250次次djnz r0,dpl1 ;循環(huán)執(zhí)行循環(huán)執(zhí)行250X4=1000次次Ret;2+2X80=162微秒微秒,延時(shí)按延時(shí)按12MHZ計(jì)計(jì)算算D1MS: MOV R7,#80DJNZ R7,$RET共陰數(shù)碼管的顯示代碼共陰數(shù)碼管的顯示代碼numtab: DB 3fH, 06H, 05bH, 4fH, 66H, 6dH, 7dH,07H, 7fH, 6fH第三章 電子時(shí)鐘設(shè)計(jì) 非編碼鍵盤非編碼鍵盤按組成結(jié)構(gòu)又可分為按組成結(jié)構(gòu)又可分為獨(dú)立式鍵盤獨(dú)立式鍵盤和和矩陣式鍵盤矩陣式鍵盤。獨(dú)立式鍵盤的工作過(guò)程與矩陣式鍵盤獨(dú)立式鍵盤的工作過(guò)程與矩陣式鍵盤類似,無(wú)論是硬件結(jié)構(gòu)還是軟件設(shè)計(jì)
8、都比較簡(jiǎn)單,。類似,無(wú)論是硬件結(jié)構(gòu)還是軟件設(shè)計(jì)都比較簡(jiǎn)單,。 通常,按鍵按照接口原理鍵盤有通常,按鍵按照接口原理鍵盤有編碼編碼和和非編碼非編碼兩種。編碼鍵盤通過(guò)硬件電路產(chǎn)生被按按鍵的鍵碼兩種。編碼鍵盤通過(guò)硬件電路產(chǎn)生被按按鍵的鍵碼和一個(gè)選通脈沖。選通脈沖可作為和一個(gè)選通脈沖。選通脈沖可作為CPU的中斷請(qǐng)求的中斷請(qǐng)求信號(hào)。這種鍵盤使用方便,所需程序簡(jiǎn)單,但硬件信號(hào)。這種鍵盤使用方便,所需程序簡(jiǎn)單,但硬件電路復(fù)雜,常不被單片機(jī)采用。電路復(fù)雜,常不被單片機(jī)采用。n按鍵按照結(jié)構(gòu)原理可分為兩類,一類是觸點(diǎn)式開(kāi)關(guān)按鍵,如機(jī)械式開(kāi)關(guān)、導(dǎo)電橡膠式開(kāi)關(guān)等;另一類是無(wú)觸點(diǎn)開(kāi)關(guān)按鍵,如電氣式按鍵,磁感應(yīng)按鍵等。前者
9、造價(jià)低,后者壽命長(zhǎng)。目前,微機(jī)系統(tǒng)中最常見(jiàn)的是觸點(diǎn)式開(kāi)關(guān)按鍵。n一個(gè)完善的鍵盤控制程序應(yīng)具備以下功能:n(1)檢測(cè)有無(wú)按鍵按下,并采取硬件或軟件措施,消除鍵盤按鍵機(jī)械觸點(diǎn)抖動(dòng)的影響。n(2)有可靠的邏輯處理辦法。每次只處理一個(gè)按鍵,其間對(duì)任何按鍵的操作對(duì)系統(tǒng)不產(chǎn)生影響,且無(wú)論一次按鍵時(shí)間有多長(zhǎng),系統(tǒng)僅執(zhí)行一次按鍵功能程序。n(3)準(zhǔn)確輸出按鍵值(或鍵號(hào)),以滿足跳轉(zhuǎn)指令要求。 S1 S1S4S4S3S3S2S2 P1.4 P1.4 P1.5 P1.5 P1.6 P1.6 P1.7 P1.7 89S52 89S52+5V+5V圖圖3.1 獨(dú)立式鍵盤接口獨(dú)立式鍵盤接口特點(diǎn):特點(diǎn):每個(gè)按鍵占用一條每
10、個(gè)按鍵占用一條I/OI/O線,當(dāng)按鍵數(shù)量較多時(shí),線,當(dāng)按鍵數(shù)量較多時(shí),I/OI/O口利用率不高,但程序編制簡(jiǎn)口利用率不高,但程序編制簡(jiǎn)單。適用于所需按鍵較少的場(chǎng)單。適用于所需按鍵較少的場(chǎng)合。合。特點(diǎn):特點(diǎn):電路連接復(fù)雜,但提電路連接復(fù)雜,但提高了高了I/OI/O口利用率,軟件編程口利用率,軟件編程較復(fù)雜。適用于需使用大量較復(fù)雜。適用于需使用大量按鍵的場(chǎng)合。按鍵的場(chǎng)合。 89s5289s52P1.0P1.0P1.1P1.1P1.2P1.2P1.3P1.3P1.4P1.4P1.5P1.5P1.6P1.6P1.7P1.7+5V+5V圖圖3.2 矩陣式鍵盤接口矩陣式鍵盤接口n獨(dú)立式按鍵的軟件結(jié)構(gòu)n獨(dú)立
11、式按鍵軟件常采用查詢式結(jié)構(gòu)。先逐位查詢每根I/O口線的輸入狀態(tài),如某一根I/O口線輸入為低電平,則可確認(rèn)該I/O口線所對(duì)應(yīng)的按鍵已按下,然后,再轉(zhuǎn)向該鍵的功能處理程序。n矩陣式鍵盤的結(jié)構(gòu)及原理n矩陣式鍵盤由行線和列線組成,按鍵位于行、列線的交叉點(diǎn)上,其結(jié)構(gòu)如下圖所示。n由圖可知,一個(gè)44的行、列結(jié)構(gòu)可以構(gòu)成一個(gè)含有16個(gè)按鍵的鍵盤,顯然,在按鍵數(shù)量較多時(shí),矩陣式鍵盤較之獨(dú)立式按鍵鍵盤要節(jié)省很多I/O口。n矩陣式鍵盤中,行、列線分別連接到按鍵開(kāi)關(guān)的兩端,行線通過(guò)上拉電阻接到5V上。當(dāng)無(wú)鍵按下時(shí),行線處于高電平狀態(tài);當(dāng)有鍵按下時(shí),行、列線將導(dǎo)通,此時(shí),行線電平將由與此行線相連的列線電平?jīng)Q定。這是識(shí)
12、別按鍵是否按下的關(guān)鍵。然而,矩陣鍵盤中的行線、列線和多個(gè)鍵相連,各按鍵按下與否均影響該鍵所在行線和列線的電平,各按鍵間將相互影響,因此,必須將行線、列線信號(hào)配合起來(lái)作適當(dāng)處理,才能確定閉合鍵的位置。K99K10AK15FP10P11P12P13P14P15P16P17EA/VP31X119X218RESET9RD17WR16INT012INT113T014T115P101P112P123P134P145P156P167P178P0039P0138P0237P0336P0435P0534P0633P0732P2021P2122P2223P2324P2425P2526P2627P2728PSEN2
13、9ALE/P30TXD11RXD10VCC40GND20U189S52P10P11P12P13P14P15P16P17K00K11K22K33K55K66K77K88K44K11BK12CK13DK14E 89s5289s52P1.0P1.0P1.1P1.1P1.2P1.2P1.3P1.3P1.4P1.4P1.5P1.5P1.6P1.6P1.7P1.7+5V+5V圖圖3.3 矩陣式鍵盤接口矩陣式鍵盤接口鍵盤控制流程鍵盤控制流程 單片機(jī)對(duì)矩陣單片機(jī)對(duì)矩陣式鍵盤接口處理的式鍵盤接口處理的一般過(guò)程如圖所示。一般過(guò)程如圖所示。鍵掃描鍵掃描消抖消抖求鍵碼求鍵碼等待釋放等待釋放鍵掃描鍵掃描消除抖動(dòng)消除抖動(dòng)
14、有鍵按下?有鍵按下?鍵掃描鍵掃描確有鍵按下?確有鍵按下?求鍵值求鍵值按鍵處理按鍵處理鍵釋放?鍵釋放?Y YY YY YN NN N等待鍵釋放等待鍵釋放N N開(kāi)始開(kāi)始返回返回按鍵處理按鍵處理圖圖3.4 鍵盤處理流程框圖鍵盤處理流程框圖1. 鍵掃描鍵掃描 鍵掃描就是要判斷有無(wú)鍵按下,當(dāng)掃描到有鍵鍵掃描就是要判斷有無(wú)鍵按下,當(dāng)掃描到有鍵按下時(shí)再進(jìn)行下一步處理,否則退出鍵盤處理程序。按下時(shí)再進(jìn)行下一步處理,否則退出鍵盤處理程序。獨(dú)立式鍵盤掃描只需讀取獨(dú)立式鍵盤掃描只需讀取IO口狀態(tài)口狀態(tài),而矩陣式鍵盤而矩陣式鍵盤描通常有兩種實(shí)現(xiàn)方法:描通常有兩種實(shí)現(xiàn)方法:逐行掃描法逐行掃描法和線反轉(zhuǎn)法。和線反轉(zhuǎn)法。
15、(1) 逐行掃描法。依次從第一至最末行線上發(fā)逐行掃描法。依次從第一至最末行線上發(fā)出低電平信號(hào)出低電平信號(hào), 如果該行線所連接的鍵沒(méi)有按下如果該行線所連接的鍵沒(méi)有按下的話的話, 則列線所接的端口得到的是全則列線所接的端口得到的是全“1”信號(hào)信號(hào), 如如果有鍵按下的話果有鍵按下的話, 則得到非全則得到非全“1”信號(hào)。信號(hào)。 89C51P1.0P1.1P1.2P1.3P1.4P1.5P1.6P1.7+5V01111 1 1 110111 1 1 011011 1 1 111101 1 1 1設(shè)第2行第4列鍵按下行線輸出 列線輸入0 1 1 11 1 1 11 0 1 11 1 1 01 1 0 11
16、 1 1 11 1 1 01 1 1 1 (2 2)線反轉(zhuǎn)法。)線反轉(zhuǎn)法。 線反轉(zhuǎn)法也是識(shí)別閉合鍵的一種常用方法線反轉(zhuǎn)法也是識(shí)別閉合鍵的一種常用方法, , 該該法比行掃描速度快法比行掃描速度快, , 但在硬件上要求行線與列線外但在硬件上要求行線與列線外接上拉電阻。接上拉電阻。 先將行線作為輸出線先將行線作為輸出線, , 列線作為輸入線列線作為輸入線, , 行線行線輸出全輸出全“0 0”信號(hào)信號(hào), , 讀入列線的值讀入列線的值, , 那么在閉合鍵所那么在閉合鍵所在的列線上的值必為在的列線上的值必為0 0;然后從列線輸出全;然后從列線輸出全“0 0”信信號(hào),再讀取行線的輸入值,閉合鍵所在的行線值必
17、號(hào),再讀取行線的輸入值,閉合鍵所在的行線值必為為 0 0。這樣。這樣, ,當(dāng)一個(gè)鍵被按下時(shí)當(dāng)一個(gè)鍵被按下時(shí), , 必定可讀到一對(duì)必定可讀到一對(duì)唯一的行列值。再由這一對(duì)行列值可以求出閉合鍵唯一的行列值。再由這一對(duì)行列值可以求出閉合鍵所在的位置。所在的位置。 00001 1 1 00 0 0 01011 89C51P1.0P1.1P1.2P1.3P1.4P1.5P1.6P1.7+5V設(shè)第2行第4列鍵按下列值:1110行值:1011 由于按鍵按下時(shí)的機(jī)械動(dòng)作,在按鍵被按下或松由于按鍵按下時(shí)的機(jī)械動(dòng)作,在按鍵被按下或松開(kāi)的瞬間,其輸出電壓會(huì)產(chǎn)生波動(dòng),稱為鍵的抖動(dòng)開(kāi)的瞬間,其輸出電壓會(huì)產(chǎn)生波動(dòng),稱為鍵的
18、抖動(dòng)。鍵按下鍵按下前沿前沿抖動(dòng)抖動(dòng)后沿后沿抖動(dòng)抖動(dòng) 2.消抖消抖 為確保每按一次鍵單片機(jī)只進(jìn)行一次處理,使為確保每按一次鍵單片機(jī)只進(jìn)行一次處理,使鍵盤可靠地工作,必須消除按鍵抖動(dòng)。消抖方法有鍵盤可靠地工作,必須消除按鍵抖動(dòng)。消抖方法有硬件硬件消抖消抖和和軟件軟件延時(shí)兩種。延時(shí)兩種。 圖圖3.5 鍵閉合及斷開(kāi)時(shí)的抖動(dòng)鍵閉合及斷開(kāi)時(shí)的抖動(dòng)+5V& & &Q QQ Q (1 1)硬件消抖法:)硬件消抖法:就是在鍵盤中附加去抖動(dòng)電就是在鍵盤中附加去抖動(dòng)電路,從根上消除抖動(dòng)產(chǎn)生的可能性。右路,從根上消除抖動(dòng)產(chǎn)生的可能性。右圖所示電路圖所示電路實(shí)際上是由實(shí)際上是由R-SR-S觸發(fā)器
19、構(gòu)成的單脈沖電路。當(dāng)按鈕觸發(fā)器構(gòu)成的單脈沖電路。當(dāng)按鈕開(kāi)關(guān)按下時(shí)開(kāi)關(guān)按下時(shí)Q Q端輸出低電平,當(dāng)開(kāi)關(guān)松開(kāi)時(shí)端輸出低電平,當(dāng)開(kāi)關(guān)松開(kāi)時(shí)Q Q端恢復(fù)端恢復(fù)高電平,即輸出一個(gè)負(fù)脈沖,以此消除抖動(dòng)。高電平,即輸出一個(gè)負(fù)脈沖,以此消除抖動(dòng)。圖圖3.6 硬件去抖動(dòng)電路硬件去抖動(dòng)電路 (2 2)軟件消抖法:鍵按下的時(shí)間與操作者的按)軟件消抖法:鍵按下的時(shí)間與操作者的按鍵動(dòng)作有關(guān),約為十分之幾到幾秒不等。而鍵抖動(dòng)鍵動(dòng)作有關(guān),約為十分之幾到幾秒不等。而鍵抖動(dòng)時(shí)間與按鍵的機(jī)械特性有關(guān),一般為時(shí)間與按鍵的機(jī)械特性有關(guān),一般為5 510ms10ms不等。不等。軟件消抖法即是采用延時(shí)(一般延時(shí)軟件消抖法即是采用延時(shí)(一
20、般延時(shí)101020ms20ms)的)的方法,以避開(kāi)按鍵的抖動(dòng),即在按鍵已穩(wěn)定地閉合方法,以避開(kāi)按鍵的抖動(dòng),即在按鍵已穩(wěn)定地閉合或斷開(kāi)時(shí)才讀出其狀態(tài)。或斷開(kāi)時(shí)才讀出其狀態(tài)。 100ms100ms10ms10ms10ms10ms鍵抖動(dòng)時(shí)間鍵抖動(dòng)時(shí)間 圖圖3.7 軟件消抖法軟件消抖法延時(shí)區(qū)間示意圖延時(shí)區(qū)間示意圖3. 計(jì)算鍵碼計(jì)算鍵碼 鍵碼是每個(gè)按鍵的標(biāo)識(shí)。被按鍵確定下來(lái)之后,鍵碼是每個(gè)按鍵的標(biāo)識(shí)。被按鍵確定下來(lái)之后,接下來(lái)的工作是計(jì)算閉合鍵的鍵碼,然后才能根據(jù)接下來(lái)的工作是計(jì)算閉合鍵的鍵碼,然后才能根據(jù)鍵碼進(jìn)行對(duì)應(yīng)的操作。鍵碼進(jìn)行對(duì)應(yīng)的操作。 為編程方便,鍵碼通常都是以鍵的排列順序安為編程方便,鍵碼
21、通常都是以鍵的排列順序安排,按照從左到右、從上向下的順序編排。鍵碼可排,按照從左到右、從上向下的順序編排。鍵碼可根據(jù)行號(hào)列號(hào)以查表求得,也可通過(guò)計(jì)算得到。我根據(jù)行號(hào)列號(hào)以查表求得,也可通過(guò)計(jì)算得到。我們將結(jié)合實(shí)例加以介紹。們將結(jié)合實(shí)例加以介紹。 4.等待釋放等待釋放 等待釋放是為了保證鍵的一次閉合僅進(jìn)行一次處等待釋放是為了保證鍵的一次閉合僅進(jìn)行一次處理。求得鍵碼后,然后通過(guò)不斷進(jìn)行鍵掃描,如有理。求得鍵碼后,然后通過(guò)不斷進(jìn)行鍵掃描,如有鍵按下,則繼續(xù)掃描,否則認(rèn)為鍵已釋放。鍵按下,則繼續(xù)掃描,否則認(rèn)為鍵已釋放。 5.按鍵處理按鍵處理 根據(jù)系統(tǒng)功能要求,利用單片機(jī)控制完成特定操作。根據(jù)系統(tǒng)功能要
22、求,利用單片機(jī)控制完成特定操作。 鍵盤接口的控制方式鍵盤接口的控制方式 在單片機(jī)的運(yùn)行過(guò)程中,何時(shí)進(jìn)行鍵盤掃描和在單片機(jī)的運(yùn)行過(guò)程中,何時(shí)進(jìn)行鍵盤掃描和處理,可有下列三種情況:處理,可有下列三種情況:1.1.查詢方式:?jiǎn)纹瑱C(jī)通過(guò)調(diào)用鍵盤掃描子程序,查查詢方式:?jiǎn)纹瑱C(jī)通過(guò)調(diào)用鍵盤掃描子程序,查詢有無(wú)鍵按下。詢有無(wú)鍵按下。2.2.定時(shí)掃描方式:每隔一定時(shí)間執(zhí)行一次鍵盤掃描定時(shí)掃描方式:每隔一定時(shí)間執(zhí)行一次鍵盤掃描子程序。子程序。3.3.中斷方式:每當(dāng)有鍵閉合時(shí)才向中斷方式:每當(dāng)有鍵閉合時(shí)才向CPUCPU發(fā)出中斷請(qǐng)求,發(fā)出中斷請(qǐng)求,中斷服務(wù)時(shí)進(jìn)行鍵盤掃描和處理。中斷服務(wù)時(shí)進(jìn)行鍵盤掃描和處理。開(kāi)關(guān)輸入
23、的連接方法開(kāi)關(guān)輸入的連接方法 n 當(dāng)需要使用的開(kāi)關(guān)數(shù)量較少時(shí),一般直接使用獨(dú)立式按鍵輸入,每個(gè)開(kāi)關(guān)占用一個(gè)端口,其優(yōu)點(diǎn)是編程簡(jiǎn)單,缺點(diǎn)是占用端口資源多。當(dāng)需要的開(kāi)關(guān)數(shù)量較多,CPU端口不夠用時(shí),使用矩陣式輸入,其優(yōu)點(diǎn)是占用端口資源少,缺點(diǎn)是編程比較復(fù)雜。本任務(wù)中使用獨(dú)立式按鍵輸入方法。n圖3-8所示為一個(gè)獨(dú)立式按鍵輸入的常用連接方法,當(dāng)按鍵按下時(shí)CPU端口為“0”,當(dāng)按鍵松開(kāi)時(shí)CPU端口為“1”。通過(guò)程序讀取端口狀態(tài)就能知道開(kāi)關(guān)的狀態(tài)。硬件知識(shí)1、硬件電路原理圖、硬件電路原理圖圖3-8 獨(dú)立式按鍵輸入端口在上拉電阻的作用下保持為高電平 按鍵按下端口為低電平狀態(tài),輸入邏輯“0” 輸入邏輯“1”2
24、、模擬開(kāi)關(guān)燈、模擬開(kāi)關(guān)燈n參考程序如下:nORG 0000HnL1:JB P3.2,L2;如果P3.2的狀態(tài)為1(1號(hào)鍵未按),則跳轉(zhuǎn)到L2nCLR P0.0;1號(hào)鍵按下,P0.0清0,輸出低電平,LED 發(fā)光nSJMP L1nL2:JB P3.3,L1;如果P3.3的狀態(tài)為1(2號(hào)鍵未按),則跳轉(zhuǎn)到L1nSETB P0.0;2號(hào)鍵按下,P0.0置1,輸出高電平,LED熄滅nSJMP L1nENDn按下1號(hào)鍵時(shí),P3.2=0,程序從L1順序執(zhí)行,P0.0被清0,輸出低電平,LED發(fā)光,1號(hào)鍵未按下,程序跳轉(zhuǎn)到L2,檢測(cè)2號(hào)鍵,即P3.3的狀態(tài),如果P3.3的狀態(tài)為1(2號(hào)鍵未按),則跳轉(zhuǎn)到L1
25、,完成一個(gè)循環(huán);如果P3.3的狀態(tài)為0(2號(hào)鍵被按下),程序從L2順序執(zhí)行,P0.0置1,輸出高電平,LED熄滅。最后執(zhí)行 SJMP L1,回到開(kāi)始處繼續(xù)執(zhí)行。3、按鍵控制任意、按鍵控制任意LED燈點(diǎn)亮燈點(diǎn)亮n參考程序如下:nORG 0000H;定位偽指令,指定下一條指令的地址,第一條指令必須放在0000HnL1: MOV A,P3;把P3口的狀態(tài)讀入累加器A中nRL A;A中的內(nèi)容循環(huán)左移nRL AnMOV P0,A;把A中的數(shù)據(jù)送到P0口,控制P0口輸出電平,控制LED亮滅n SJMP L1;返回L1,循環(huán)執(zhí)行程序nEND;結(jié)束偽指令n在以上的這段程序中,加了兩條RL A指令,實(shí)現(xiàn)了兩次左移,這樣P3.2、P3.3、P3.4、P3.5分別控制P0.4、P0.5 、P0.6
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 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ì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 西藥批發(fā)中的電子商務(wù)平臺(tái)建設(shè)考核試卷
- 草原馬術(shù)運(yùn)動(dòng)考核試卷
- 聚噻吩纖維在智能紡織品的應(yīng)用考核試卷
- 融資租賃行業(yè)服務(wù)創(chuàng)新與客戶體驗(yàn)考核試卷
- 谷物儲(chǔ)存的溫濕度調(diào)控考核試卷
- 拼多多平臺(tái)店鋪內(nèi)容營(yíng)銷流量引入與品牌曝光合同
- 數(shù)字音樂(lè)平臺(tái)影視插曲版權(quán)合作分成合同
- 獨(dú)家授權(quán)網(wǎng)紅奶茶區(qū)域代理銷售服務(wù)合同
- 農(nóng)業(yè)園區(qū)氣象傳感器租賃及數(shù)據(jù)分析服務(wù)合同
- 工業(yè)廢水回用與清潔生產(chǎn)合作協(xié)議
- 駕校安全生產(chǎn)應(yīng)急演練方案
- 2024年寧波市奉化區(qū)農(nóng)商發(fā)展集團(tuán)有限公司招聘筆試參考題庫(kù)附帶答案詳解
- 2024年小學(xué)語(yǔ)文教師招聘考試語(yǔ)文專業(yè)知識(shí)考試模擬試題及答案(共四套)
- 巴金名著導(dǎo)讀《激流三部曲》
- 應(yīng)急管理與突發(fā)事故處理
- 螺桿泵工作原理課件
- 中醫(yī)護(hù)理方案實(shí)施難點(diǎn)與優(yōu)化課件
- 新建鋁廠可行性方案
- 電梯修理(T)實(shí)操考試題目
- 中醫(yī)臨床醫(yī)學(xué)針灸在強(qiáng)迫癥治療中的應(yīng)用
- 紹興市星域電子游藝廳建設(shè)項(xiàng)目環(huán)境影響報(bào)告
評(píng)論
0/150
提交評(píng)論