




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
鍵盤與顯示接口技術(shù)第一頁,共四十五頁,編輯于2023年,星期二9.1LED顯示接口技術(shù)9.1LED顯示接口技術(shù)由LED構(gòu)成的3種顯示部件指示燈數(shù)碼管點(diǎn)陣屏LED:LightEmitingDiode電路符號(hào):第二頁,共四十五頁,編輯于2023年,星期二9.1LED顯示接口技術(shù)§9.1.1數(shù)碼管結(jié)構(gòu)及顯示原理數(shù)碼管由8個(gè)發(fā)光二極管(以下簡(jiǎn)稱段)構(gòu)成,通過不同的組合可用來顯示數(shù)字09、部分字符、符號(hào)“”及小數(shù)點(diǎn)“”。數(shù)碼管的外形結(jié)構(gòu)如圖所示。數(shù)碼管又分為共陰極和共陽極兩種結(jié)構(gòu)。第三頁,共四十五頁,編輯于2023年,星期二9.1LED顯示接口技術(shù)COM
P1.0~1.7MCS-51afbge cddpabh將公共陰極接地,在a~g各段的陽極上加不同的電壓,就會(huì)使各段的發(fā)光情況不同,形成不同的發(fā)光字符。D7D6D5D4D3D2D1D0dpgfedcba段選碼的位定義R段碼表:段選碼的值與顯示字符的對(duì)應(yīng)關(guān)系.“8”:共陰極段選碼的值為7FH;
共陽極段選碼的值為80H.第四頁,共四十五頁,編輯于2023年,星期二9.1LED顯示接口技術(shù)共陰極和共陽極的段選碼互為反碼。顯示字符共陰極段選碼共陽極段選碼顯示字符共陰極段選碼共陽極段選碼03FHC0HC39HC6H106HF9HD5EHA1H25BHA4HE79H86H34FHB0HF71H8EH466H99HP73H8CH56DH92HU3EHC1H67DH82HT31HCEH707HF8HY6EH91H87FH80HL38HC7H96FH90H8.FFH00HA77H88H“滅”00FFHB7CH83H………………第五頁,共四十五頁,編輯于2023年,星期二9.1LED顯示接口技術(shù)§9.1.2數(shù)碼管的靜態(tài)顯示方式將公共陰極接地或公共陽極接電源,段碼接一8位并行輸出口。需要占用大量的輸出端口。
abhCOM
abhCOM
abhCOMafbge
cdh第六頁,共四十五頁,編輯于2023年,星期二9.1LED顯示接口技術(shù)D0D7第七頁,共四十五頁,編輯于2023年,星期二9.1LED顯示接口技術(shù)例5.1按照前頁電路,編寫顯示子程序,將33H~30H單元存儲(chǔ)的字符由高到低顯示在四只數(shù)碼管上。分析: 1.設(shè)置串口工作方式0,SCON初值為00H。
2.先發(fā)送高位數(shù)碼管的段選碼, 后發(fā)送低位數(shù)碼管的段選碼。
3.段選碼采用查表的方式獲得。DXM: MOV DPTR,#TAB ;取段選碼表首地址
MOVC A,@A+DPTR ;取段選碼,變址尋址
RETTAB: DB 0C0H, 0F9H, 0A4H, 0B0H, 99H ;0,1,2,3,4 DB 92H, 82H, 0F8H, 80H, 90H ;5,6,7,8,9 DB 88H, 83H, 0C6H, 0A1H, 86H,8EH;A,b,C,d,E,F查段選碼子程序:入口條件:待顯示字符存于A中;出口條件:待顯示字符的段選碼存于A中;占用資源:DPRT,A。第八頁,共四十五頁,編輯于2023年,星期二9.1LED顯示接口技術(shù)DISP: MOV SCON,#00H ;串口初始化方式0 SETBP1.0 ;74HC164處于正常工作狀態(tài)
MOV R0,#33H ;首地址賦指針
MOV R1,#04H ;顯示4個(gè)數(shù)LP1: MOV A,@R0 ;取待顯示字符
LCALLDXM ;查段選碼
MOV SBUF,A ;啟動(dòng)串行發(fā)送命令,輸出段位碼
JNB TI,$ ;等待發(fā)送完畢
CLR TI ;清發(fā)送完畢標(biāo)志位
DEC R0 ;指針減1 DJNZ R1,LP1 ;判斷4位段選碼是否全部輸出
RET ;顯示子程序:入口條件:待顯示字符存于33H-30H單元中;出口條件:占用資源:R0,R1,A。第九頁,共四十五頁,編輯于2023年,星期二9.1LED顯示接口技術(shù)§9.1.3數(shù)碼管的動(dòng)態(tài)顯示方式將所有顯示位的段選碼接在一起;通過位選線選擇某一時(shí)刻顯示的位,時(shí)間單位一般取1~5ms;采用循環(huán)掃描的方法,實(shí)現(xiàn)多位顯示。第十頁,共四十五頁,編輯于2023年,星期二9.1LED顯示接口技術(shù)位選線的驅(qū)動(dòng)位選線為什么需要驅(qū)動(dòng)?位選線如何驅(qū)動(dòng)?ULN2003—7位達(dá)林頓驅(qū)動(dòng)器ULN2003反相輸出單路驅(qū)動(dòng)能力(吸入電流)達(dá)500mA第十一頁,共四十五頁,編輯于2023年,星期二9.1LED顯示接口技術(shù)第十二頁,共四十五頁,編輯于2023年,星期二9.1LED顯示接口技術(shù)1.分析8155口地址命令寄存器口地址: EF00H;PA口寄存器口地址: EF01H;PB口寄存器口地址: EF02H;PC口寄存器口地址: EF03H;2.分析8155命令字PA口、PB口為輸出口;PC口未使用,假設(shè)為輸入口;命令字為03H。INIT8155:MOVDPTR,#0EF00H MOVA,#03H MOVX @DPTR,A RET3.8155初始化程序第十三頁,共四十五頁,編輯于2023年,星期二9.1LED顯示接口技術(shù)DXM: MOV DPTR,#TAB ;取段選碼表首地址
MOVC A,@A+DPTR ;取段選碼,變址尋址
RETTAB: DB3fh,06h,5bh,4fh,66h,6dh,7dh,07h;0,1,2,3,4,5,6,7 DB7fh,6fh,77h,7ch,39h,5eh,79h,71h,0;8,9,A,b,C,d,E,F,滅4.查段選碼子程序:入口條件:待顯示字符存于A中;出口條件:待顯示字符的段選碼存于A中;占用資源:DPRT,A。SCD: MOV DPTR,#0EF02H ;指針指向8155的PB口
MOVX @DPTR,A ;輸出段選碼到PB口
RET5.輸出段選碼子程序:入口條件:待輸出段選碼存于A中;占用資源:DPTR第十四頁,共四十五頁,編輯于2023年,星期二9.1LED顯示接口技術(shù)6.
掃描一次方法分析:掃描1次,每位數(shù)碼管顯示一次。以1ms為間隔,順序?qū)A0到PA5輸出高電平。在某位輸出高電平期間,相應(yīng)輸出該位的段選碼。入口條件:待顯示字符存于35H~30H單元中占用資源:
A,R0,R1,R2SCW: MOV DPTR,#0EF01H;8155的PA口
MOVX @DPTR,A ;輸出位選碼
RET5.輸出位選碼子程序:入口條件:待輸出位選碼存于A中;占用資源:DPTR注意:位選碼的值總是只有1個(gè)位為1。第十五頁,共四十五頁,編輯于2023年,星期二9.1LED顯示接口技術(shù)DISP: MOV R0,#30H ;地址指針
MOV R1,#01H ;位選碼,從低位開始顯示
MOV R2,#06H ;長(zhǎng)度指針DP1: MOV A,#00H
LCALL SCW ;關(guān)顯示
MOV A,@R0 ;取待顯示字符
LCALL DXM ;查表段選碼
LCALL SCD ;輸出段選碼
MOV A,R1 LCALL SCW ;輸出位選碼
INC R0 ;地址指針指向下一單元
RL A ;位選碼指向高一位
MOV R1,A ;保存位選碼
LCALL DELY1 ;延時(shí)1ms
DJNZ R2,DP1 RET第十六頁,共四十五頁,編輯于2023年,星期二9.1LED顯示接口技術(shù)ORG 0000H LJMPMAINORG 0030HMAIN: MOV SP,#6FH ;設(shè)置堆棧
LCALL INIT8155 ;初始化8155MN1: LCALL DISP
;輸出顯示字符
SJMP MN1 ;循環(huán)輸出7.主程序(反復(fù)調(diào)用掃描顯示程序)6.延時(shí)1ms子程序子程序2:延時(shí)1ms程序(12M晶體)占用資源:R6,R7DELY1:MOV R7,#02HDL1: MOV R6,#0FFH DJNZ R6,$ DJNZ R7,DL1 RET程序中哪些地方需要用堆棧?第十七頁,共四十五頁,編輯于2023年,星期二9.1LED顯示接口技術(shù)程序清單: 1主程序
2子程序1——8155初始化程序
3子程序2——延時(shí)1ms程序
4子程序3——查表段選碼
5子程序4——輸出段選碼
6子程序5——輸出位選碼
7子程序6——輸出6位字符(掃描一次)第十八頁,共四十五頁,編輯于2023年,星期二9.2鍵盤接口技術(shù)9.2鍵盤接口技術(shù)§9.2.1鍵盤結(jié)構(gòu)與工作原理鍵盤中每個(gè)按鍵都是一個(gè)常開開關(guān)按下鍵S3,P1.7口為低電平放開鍵S3,P1.7口為高電平第十九頁,共四十五頁,編輯于2023年,星期二9.2鍵盤接口技術(shù)由于機(jī)械觸點(diǎn)的彈性作用,在閉合和斷開按鍵的瞬間,觸點(diǎn)會(huì)產(chǎn)生機(jī)械抖動(dòng),表現(xiàn)為P1.7口出現(xiàn)一系列的脈沖信號(hào)。如右圖所示。抖動(dòng)時(shí)間的長(zhǎng)短,由按鍵的機(jī)械特性決定,一般在5ms~10ms間。按鍵抖動(dòng)的危害按鍵抖動(dòng)的消除硬件消除;如:R-S雙穩(wěn)態(tài)觸發(fā)器電路
RC阻容濾波電路軟件消除,實(shí)際應(yīng)用多。在CPU檢測(cè)到有按鍵按下時(shí),執(zhí)行一個(gè)10ms的延時(shí)程序后,再次判斷該鍵電平是否保持閉合狀態(tài)電平,如保持閉合狀態(tài)電平則確認(rèn)為真正有鍵按下,從而消除抖動(dòng)的影響。當(dāng)CPU檢測(cè)到按鍵釋放后,也要給一個(gè)10ms的延時(shí),待后沿抖動(dòng)消失后才去執(zhí)行該鍵的處理程序。第二十頁,共四十五頁,編輯于2023年,星期二9.2鍵盤接口技術(shù)§9.2.2獨(dú)立式鍵盤接口設(shè)計(jì)獨(dú)立式按鍵是指各按鍵相互獨(dú)立,每個(gè)按鍵各接一個(gè)輸入口。通過檢測(cè)輸入口上的電平狀態(tài)判斷哪個(gè)鍵被按下。接上拉電阻的目的是為了保證在按鍵斷開時(shí),各個(gè)輸入口有確定的高電平。每個(gè)按鍵需要占用一個(gè)輸入口,不適合用于需要很多按鍵的場(chǎng)合。第二十一頁,共四十五頁,編輯于2023年,星期二9.2鍵盤接口技術(shù)KEY_START:
MOV 30H,P1 ;讀鍵盤狀態(tài)并保存30H單元
ANL 30H,#1FH ;屏蔽高3位
CJNE 30H,#1FH,NEXT ;判斷是否有鍵按下
SJMP KEY_STARTNEXT:LCALLD_10ms ;軟件延時(shí)10ms,消除抖動(dòng)
MOVA,P1 ;再次讀鍵盤狀態(tài)
ANL A,#1FH ;屏蔽高3位
CJNEA,30H,KEY_START JNBACC.0,KEY0 JNBACC.1,KEY1 JNBACC.2,KEY2 JNBACC.3,KEY3 JNBACC.4,KEY4 SJMPKEY_STARTKEY0: LJMPKP0;KEY1: LJMPKP1;KEY2: LJMP KP2;KEY3: LJMPKP3;KEY4: LJMPKP4為什么不直接跳到KP0;延時(shí)10ms程序D_10ms: MOV R6,#14HDL: MOV R7,#0FFH DJNZ R7,$ DJNZ R6,DL RET第二十二頁,共四十五頁,編輯于2023年,星期二9.2鍵盤接口技術(shù)KP0: … ;KEY0鍵按下的處理程序
LJMPKEY_STARTKP1: … ;KEY1鍵按下的處理程序
LJMPKEY_START;KP2: … ;KEY2鍵按下的處理程序
LJMP KEY_START;KP3: … ;KEY3鍵按下的處理程序
LJMPKEY_START;KP4: … ;KEY4鍵按下的處理程序
LJMPKEY_START;第二十三頁,共四十五頁,編輯于2023年,星期二9.2鍵盤接口技術(shù)§9.2.3矩陣式鍵盤接口設(shè)計(jì)矩陣式鍵盤結(jié)構(gòu)矩陣式鍵盤由行線和列線構(gòu)成列線通過上拉電阻接到+5V列線接到輸入口上行線接到輸出口上按鍵位于行、列的交叉點(diǎn)上適用于需要按鍵較多的場(chǎng)合矩陣式鍵盤工作原理無按鍵按下時(shí),列線輸入高電平;有按鍵按下時(shí),列線輸入電平由與此列線相連的行線電平?jīng)Q定.如果行線輸出低電平,則列線電平為低如果行線輸出高電平,則列線電平為高為了確認(rèn)按鍵位置,必須將行、列線配合使用。第二十四頁,共四十五頁,編輯于2023年,星期二按鍵的識(shí)別方法(鍵掃描)首先行線全輸出0,判斷是否有鍵按下。如果列線為全1,無按鍵按下如果列線非全1,有按鍵按下然后,讓行線P10輸出0,其它三條行線輸出1,讀列線狀態(tài)。如果列線為全1,第一行無按鍵按下,繼續(xù)掃描。如果列線非全1,可以判斷按鍵在第一行,再根據(jù)為0的列線序號(hào),可以確定按鍵具體的列號(hào),停止掃描。如果第一行無按鍵按下,讓行線P11口輸出0,其它三條行線輸出1,讀列線狀態(tài),判斷按鍵是否在第二行。如果第二行仍無按鍵按下,讓行線P12口輸出0,其他三條行線輸出1,讀列線狀態(tài),判斷按鍵是否在第三行。如果第三行仍無按鍵按下,讓行線P13口輸出0,其它三條行線輸出1,讀列線狀態(tài),判斷按鍵是否在第四行。9.2鍵盤接口技術(shù)第二十五頁,共四十五頁,編輯于2023年,星期二9.2鍵盤接口技術(shù);判斷是否有按鍵按下KAP: MOV P1,#0F0H MOV A,P1 ORL A,#0FH
CPL A RET;延時(shí)10ms程序DELY: MOV R6,#14HDL: MOV R7,#0FFH DJNZ R7,$ DJNZ R6,DL RET編程舉例鍵值=行首鍵值+列號(hào)第二十六頁,共四十五頁,編輯于2023年,星期二9.2鍵盤接口技術(shù)KINP: LCALL KAP ;調(diào)用鍵盤查詢程序
JZ KINP ;無鍵按下,繼續(xù)查詢 KP1: LCALL DELY ;延時(shí)10ms,消除抖動(dòng)
LCALL KAP ;再次調(diào)用鍵盤查詢程序
JZ KINP ;無鍵按下,繼續(xù)查詢
MOV R2,#0FEH ;從第0行開始掃描
MOV R4,#00H ;置第0行行首鍵值KP4: MOV P1,R2 ;置掃描行為0 MOV A,P1 ;讀P1狀態(tài)
JB ACC.4,L1 ;第0列不為0,轉(zhuǎn)測(cè)第1列
MOV A,#00H ;列號(hào)存入A中
AJMP KP5 ;停止掃描L1: JB ACC.5,L2 ;第1列不為0,轉(zhuǎn)測(cè)第2列
MOV A,#01H ;列號(hào)存入A中
AJMP KP5 ;停止掃描L2: JB ACC.6,L3 ;第2列不為0,轉(zhuǎn)測(cè)第3列
MOV A,#02H ;列號(hào)存入A中
AJMP KP5 ;停止掃描L3: JB ACC.7,NEXT ;第3列不為0,轉(zhuǎn)測(cè)下一行
MOV A,#03H ;列號(hào)存入A中KP5: ADD A,R4 ;停止掃描,計(jì)算鍵值R2R4行0FE0行1FD4行2FB8行3F7C鍵值=行首鍵值+列號(hào)第二十七頁,共四十五頁,編輯于2023年,星期二9.2鍵盤接口技術(shù)
PUSH A ;保存鍵值KP3: LCALL KAP ;查詢鍵是否釋放
JNZ KP3 ;未釋放,繼續(xù)查詢
LCALL DELY LCALL KAP ;再次查詢鍵是否釋放
JNZ KP3 POP A ;彈出鍵值
RETNEXT: MOV A,R2 ;掃描行指針賦給A JNB ACC.3,KINP ;掃描結(jié)束,未發(fā)現(xiàn)按鍵
RL A ;準(zhǔn)備掃描下一行
MOV R2,A
ADD R4,#04H
;置下一行行首鍵值
MOV A,R4
ADD A,#04H
MOV R4,A AJMP KP4 ;轉(zhuǎn)開始下一行掃描執(zhí)行完以上程序后,鍵值存放于累加器A中。第二十八頁,共四十五頁,編輯于2023年,星期二9.3鍵盤顯示接口專用芯片8279 8位并行接口ZLG7289B I2C接口ZLG7290C I2C接口BC7281 二線串口BC7281A 二線串口BC7281B 二線串口MAX7219 三線串口MAX7221 三線串口第二十九頁,共四十五頁,編輯于2023年,星期二9.4鍵盤顯示接口專用芯片第三十頁,共四十五頁,編輯于2023年,星期二實(shí)驗(yàn)箱顯示電路74HC138第三十一頁,共四十五頁,編輯于2023年,星期二1.分析8155口地址命令寄存器口地址: 1110_xxx1_xxxx_xx00BE100H;PA口寄存器口地址: 1110_xxx1_xxxx_xx01BE101H;PB口寄存器口地址: 1110_xxx1_xxxx_xx10BE102H;PC口寄存器口地址: 1110_xxx1_xxxx_xx11BE103H;2.分析8155命令字PA口、PB口為輸出口;PC口未使用,假設(shè)為輸入口;命令字為03H。INIT8155:MOVDPTR,#0E100H MOVA,#03H MOVX @DPTR,A RET3.8155初始化程序?qū)嶒?yàn)箱顯示電路第三十二頁,共四十五頁,編輯于2023年,星期二DXM: MOV DPTR,#TAB ;取段選碼表首地址
MOVC A,@A+DPTR ;取段選碼,變址尋址
RETTAB: DB3fh,06h,5bh,4fh,66h,6dh,7dh,07h;0,1,2,3,4,5,6,7 DB7fh,6fh,77h,7ch,39h,5eh,79h,71h,0;8,9,A,b,C,d,E,F,滅4.查段選碼子程序:入口條件:待顯示字符存于A中;出口條件:待顯示字符的段選碼存于A中;占用資源:DPRT,A。實(shí)驗(yàn)箱顯示電路第三十三頁,共四十五頁,編輯于2023年,星期二SHIFT: MOV R6,#08H ;循環(huán)次數(shù)
MOV DPTR,#E102H ;指針指向8155的PB口寄存器LP1: RLC A MOV R7,A ;備份A中段選碼
MOV ACC.0,C CLR ACC.1 MOVX @DPTR,A ;輸出DAT,輸出CLK為0, SETB ACC.1 MOVX @DPTR,A ;DAT不變,輸出CLK為1
CLR ACC.1
MOVX @DPTR,A ;DAT不變,輸出CLK為0 MOV A,R7 ;恢復(fù)A中內(nèi)容
DJNZ R6,LP1 ;判斷8位是否移位完畢
RET ;5.輸出一個(gè)字符的段選碼
方法分析:PB0逐位輸出數(shù)據(jù),PB1輸出移位時(shí)鐘;入口條件:待顯示字符的段選碼存放在A中;占用資源:A,R6,R7。實(shí)驗(yàn)箱顯示電路第三十四頁,共四十五頁,編輯于2023年,星期二7.輸出6位字符(掃描一次)方法分析:掃描1次,每位數(shù)碼管顯示一次。以1ms為間隔,順序?qū)A0到PA5輸出高電平。在某位輸出高電平期間,相應(yīng)輸出該位的段選碼。入口條件:待顯示字符存于35H~30H單元中占用資源:
A,R0,R1實(shí)驗(yàn)箱顯示電路SCW: MOV DPTR,#0EF01H;8155的PA口
MOVX @DPTR,A ;輸出位選碼
RET5.輸出位選碼子程序:入口條件:待輸出位選碼存于A中;占用資源:DPTR注意:位選碼的值總是只有1個(gè)位為1。第三十五頁,共四十五頁,編輯于2023年,星期二DISP: MOV R0,#30H ;地址指針
MOV R1,#01H ;位選碼,從低位開始顯示DP1: MOV A,#00H
LCALL SCW ;關(guān)顯示
MOV A,@R0 ;取待顯示字符
LCALL DXM ;查表段選碼
LCALLSHIFT ;移位輸出段選碼
MOV A,R1 LCALL SCW ;輸出位選碼
INC R0 ;地址指針指向下一單元
RL A ;位選碼指向高一位
MOV R1,A ;保存位選碼
LCALL DELY1 ;延時(shí)1ms
JNB ACC.6,DP1 RET實(shí)驗(yàn)箱顯示電路第三十六頁,共四十五頁,編輯于2023年,星期二ORG 0000H LJMPMAINORG 0030HMAIN: MOV SP,#6FH;設(shè)置堆棧
LCALL INIT8155;初始化8155MN1: LCALL DISP
;輸出顯示字符
SJMP MN1 ;循環(huán)輸出9.主程序(反復(fù)調(diào)用掃描顯示程序)8.延時(shí)1ms子程序子程序2:延時(shí)1ms程序(12M晶體)占用資源:R6,R7DELY1:MOV R7,#02HDL1: MOV R6,#0FFH DJNZ R6,$ DJNZ R7,DL1 RET程序中哪些地方需要用堆棧?實(shí)驗(yàn)箱顯示電路第三十七頁,共四十五頁,編輯于2023年,星期二程序清單: 1主程序
2子程序1——8155初始化程序
3子程序2——延時(shí)1ms程序
4子程序3——查表段選碼
5子程序4——輸出一個(gè)字符的段選碼
6子程序5——輸出6位字符(掃描一次)實(shí)驗(yàn)箱顯示電路第三十八頁,共四十五頁,編輯于2023年,星期二實(shí)驗(yàn)箱鍵盤與顯示接口應(yīng)用舉例列3行0鍵碼由鍵值查表得到鍵值=行首鍵值+列號(hào)R2R4行0FE0行1FD4行2FB8行3F7C行4EF10行5DF14列0第三十九頁,共四十五頁,編輯于2023年,星期二端口地址譯碼電路命令寄存器口地址: E100HPA口寄存器口地址: E101HPB口寄存器口地址: E102HPC口寄存器口地址: E103H例:編寫鍵盤掃描程序,并利用9.1節(jié)的數(shù)碼管動(dòng)態(tài)顯示程序,將被按下鍵的鍵碼顯示到個(gè)位數(shù)碼管上。實(shí)驗(yàn)箱鍵盤與顯示接口應(yīng)用舉例第四十頁,共四十五頁,編輯于2023年,星期二鍵盤顯示掃描程序編寫程序清單: 1子程序6——判斷是否有鍵按下
2子程序7——鍵盤掃描程序,確認(rèn)按下的鍵
3主程序——將按鍵碼顯示在數(shù)碼管上子程序6:判斷是否有鍵按下占用資源:AKeyTest: MOV DPTR,#0E101H ;指向8155的PA口寄存器
MOV A,#00H MOVX @DPTR,A ;列輸出全0 MOV DPTR,#0E103H ;指向8155的PC口寄存器
MOVX A,@DPTR ;讀鍵值
ORL A,#0F0H ;屏蔽高四位
CPL A ;全0無按鍵
RET實(shí)驗(yàn)箱鍵盤與顯示接口應(yīng)用舉例第四十一頁,共四十五頁,編輯于2023年,星期二子程序7:鍵盤掃描程序,確認(rèn)按下的鍵占用資源:A,R2,R4KeyGet: MOV R2,#11111110B ;行掃描碼
MOV R4,#00H ;置第0行首鍵值KG1: MOV DPTR,#0E101H ;指向8155的PA口寄存器
MOV A,R2 MOVX @DPTR,A ;一行輸出0,其它行輸出1 MOV DPTR,#0E103H ;指向8155的PC口寄存器
MOVX A,@DPTR ;讀鍵值
JB ACC.0,L1 ;第0列無按鍵,跳到L1 MOV A,#00H ;保存列號(hào),準(zhǔn)備計(jì)算鍵值
LJMP KG2L1: JB ACC.1,L2 ;第1列無按鍵,跳到L2 MOV A,#01H ;保存列號(hào),準(zhǔn)備計(jì)算鍵值
LJMP KG2L2: JB ACC.2,L3 ;第2列無按鍵,跳到L3 MOV A,#02H ;保存列號(hào),準(zhǔn)備計(jì)算鍵值
LJMP KG2L3: JB ACC.3,NEXT ;第3列無按鍵,跳到掃描下一行
MOV A,#03H ;保存列號(hào),準(zhǔn)備計(jì)算鍵值KG2: ADD A,R4 ;停止掃描,計(jì)算鍵值R2R4行0FE0行1FD4行2FB8行3F7C行4EF10行5DF14實(shí)驗(yàn)箱鍵盤與顯示接口應(yīng)用舉例第四十二頁,共四十五頁,編輯于2023年,星期二
MOV DPTR,#TAB1 MOVC A,@A+DPT
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 酒店資產(chǎn)投資與經(jīng)營(yíng)管理合伙協(xié)議書二零二五
- 二零二五年度私人住宅裝修工人安全責(zé)任合同
- 2025年度海洋資源開發(fā)橫向課題執(zhí)行協(xié)議
- 二零二五年度小程序游戲運(yùn)營(yíng)合作協(xié)議
- 2025年度電子元器件采購(gòu)合同主要內(nèi)容簡(jiǎn)述
- 二零二五年度購(gòu)房合同定金支付及變更協(xié)議書
- 2025年度酒店員工勞動(dòng)權(quán)益保障合同
- 二零二五年度綠色建筑股權(quán)協(xié)議及合伙人合作開發(fā)協(xié)議
- 2025年度美發(fā)店員工工傷事故處理勞動(dòng)合同
- 空調(diào)安裝工勞動(dòng)合同
- 2024年全國(guó)高中數(shù)學(xué)聯(lián)賽試題(及答案)
- 鑄造車間整改和工資改革方案
- 哄女生消氣的100句話
- 企業(yè)稅務(wù)風(fēng)險(xiǎn)防控財(cái)務(wù)規(guī)劃中的稅法合規(guī)策略
- 煤場(chǎng)封閉施工方案
- 《系統(tǒng)集成項(xiàng)目管理工程師》必背100題
- 第三章-碾米工藝與設(shè)備
- 6AM2U7 Rules around us Rules and signs ppt英語教學(xué)課件
- 小學(xué)石油科普知識(shí)認(rèn)識(shí)石油教學(xué)課件
- 第十三章計(jì)算機(jī)輔助藥物設(shè)計(jì)講解
- 2023年中央廣播電視總臺(tái)校園招聘筆試參考題庫附帶答案詳解
評(píng)論
0/150
提交評(píng)論