版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
鍵盤與顯示接口技術(shù)9.1LED顯示接口技術(shù)9.1LED顯示接口技術(shù)由LED構(gòu)成的3種顯示部件指示燈數(shù)碼管點(diǎn)陣屏LED:LightEmitingDiode電路符號(hào):第2頁(yè),共45頁(yè),2024年2月25日,星期天9.1LED顯示接口技術(shù)§9.1.1數(shù)碼管結(jié)構(gòu)及顯示原理數(shù)碼管由8個(gè)發(fā)光二極管(以下簡(jiǎn)稱段)構(gòu)成,通過(guò)不同的組合可用來(lái)顯示數(shù)字0
9、部分字符、符號(hào)“
”及小數(shù)點(diǎn)“
”。數(shù)碼管的外形結(jié)構(gòu)如圖所示。數(shù)碼管又分為共陰極和共陽(yáng)極兩種結(jié)構(gòu)。第3頁(yè),共45頁(yè),2024年2月25日,星期天9.1LED顯示接口技術(shù)COM
P1.0~1.7MCS-51afbge cddpabh將公共陰極接地,在a~g各段的陽(yáng)極上加不同的電壓,就會(huì)使各段的發(fā)光情況不同,形成不同的發(fā)光字符。D7D6D5D4D3D2D1D0dpgfedcba段選碼的位定義R段碼表:段選碼的值與顯示字符的對(duì)應(yīng)關(guān)系.“8”:共陰極段選碼的值為7FH;
共陽(yáng)極段選碼的值為80H.第4頁(yè),共45頁(yè),2024年2月25日,星期天9.1LED顯示接口技術(shù)共陰極和共陽(yáng)極的段選碼互為反碼。顯示字符共陰極段選碼共陽(yáng)極段選碼顯示字符共陰極段選碼共陽(yáng)極段選碼03FHC0HC39HC6H106HF9HD5EHA1H25BHA4HE79H86H34FHB0HF71H8EH466H99HP73H8CH56DH92HU3EHC1H67DH82HT31HCEH707HF8HY6EH91H87FH80HL38HC7H96FH90H8.FFH00HA77H88H“滅”00FFHB7CH83H………………第5頁(yè),共45頁(yè),2024年2月25日,星期天9.1LED顯示接口技術(shù)§9.1.2數(shù)碼管的靜態(tài)顯示方式將公共陰極接地或公共陽(yáng)極接電源,段碼接一8位并行輸出口。需要占用大量的輸出端口。
abhCOM
abhCOM
abhCOMafbge
cdh第6頁(yè),共45頁(yè),2024年2月25日,星期天9.1LED顯示接口技術(shù)D0D7第7頁(yè),共45頁(yè),2024年2月25日,星期天9.1LED顯示接口技術(shù)例5.1按照前頁(yè)電路,編寫顯示子程序,將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。第8頁(yè),共45頁(yè),2024年2月25日,星期天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。第9頁(yè),共45頁(yè),2024年2月25日,星期天9.1LED顯示接口技術(shù)§9.1.3數(shù)碼管的動(dòng)態(tài)顯示方式將所有顯示位的段選碼接在一起;通過(guò)位選線選擇某一時(shí)刻顯示的位,時(shí)間單位一般取1~5ms;采用循環(huán)掃描的方法,實(shí)現(xiàn)多位顯示。第10頁(yè),共45頁(yè),2024年2月25日,星期天9.1LED顯示接口技術(shù)位選線的驅(qū)動(dòng)位選線為什么需要驅(qū)動(dòng)?位選線如何驅(qū)動(dòng)?ULN2003—7位達(dá)林頓驅(qū)動(dòng)器ULN2003反相輸出單路驅(qū)動(dòng)能力(吸入電流)達(dá)500mA第11頁(yè),共45頁(yè),2024年2月25日,星期天9.1LED顯示接口技術(shù)第12頁(yè),共45頁(yè),2024年2月25日,星期天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初始化程序第13頁(yè),共45頁(yè),2024年2月25日,星期天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第14頁(yè),共45頁(yè),2024年2月25日,星期天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。第15頁(yè),共45頁(yè),2024年2月25日,星期天9.1LED顯示接口技術(shù)DISP: MOV R0,#30H ;地址指針
MOV R1,#01H ;位選碼,從低位開(kāi)始顯示
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第16頁(yè),共45頁(yè),2024年2月25日,星期天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程序中哪些地方需要用堆棧?第17頁(yè),共45頁(yè),2024年2月25日,星期天9.1LED顯示接口技術(shù)程序清單: 1主程序
2子程序1——8155初始化程序
3子程序2——延時(shí)1ms程序
4子程序3——查表段選碼
5子程序4——輸出段選碼
6子程序5——輸出位選碼
7子程序6——輸出6位字符(掃描一次)第18頁(yè),共45頁(yè),2024年2月25日,星期天9.2鍵盤接口技術(shù)9.2鍵盤接口技術(shù)§9.2.1鍵盤結(jié)構(gòu)與工作原理鍵盤中每個(gè)按鍵都是一個(gè)常開(kāi)開(kāi)關(guān)按下鍵S3,P1.7口為低電平放開(kāi)鍵S3,P1.7口為高電平第19頁(yè),共45頁(yè),2024年2月25日,星期天9.2鍵盤接口技術(shù)由于機(jī)械觸點(diǎn)的彈性作用,在閉合和斷開(kāi)按鍵的瞬間,觸點(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í)行該鍵的處理程序。第20頁(yè),共45頁(yè),2024年2月25日,星期天9.2鍵盤接口技術(shù)§9.2.2獨(dú)立式鍵盤接口設(shè)計(jì)獨(dú)立式按鍵是指各按鍵相互獨(dú)立,每個(gè)按鍵各接一個(gè)輸入口。通過(guò)檢測(cè)輸入口上的電平狀態(tài)判斷哪個(gè)鍵被按下。接上拉電阻的目的是為了保證在按鍵斷開(kāi)時(shí),各個(gè)輸入口有確定的高電平。每個(gè)按鍵需要占用一個(gè)輸入口,不適合用于需要很多按鍵的場(chǎng)合。第21頁(yè),共45頁(yè),2024年2月25日,星期天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第22頁(yè),共45頁(yè),2024年2月25日,星期天9.2鍵盤接口技術(shù)KP0: … ;KEY0鍵按下的處理程序
LJMPKEY_STARTKP1: … ;KEY1鍵按下的處理程序
LJMPKEY_START;KP2: … ;KEY2鍵按下的處理程序
LJMP KEY_START;KP3: … ;KEY3鍵按下的處理程序
LJMPKEY_START;KP4: … ;KEY4鍵按下的處理程序
LJMPKEY_START;第23頁(yè),共45頁(yè),2024年2月25日,星期天9.2鍵盤接口技術(shù)§9.2.3矩陣式鍵盤接口設(shè)計(jì)矩陣式鍵盤結(jié)構(gòu)矩陣式鍵盤由行線和列線構(gòu)成列線通過(guò)上拉電阻接到+5V列線接到輸入口上行線接到輸出口上按鍵位于行、列的交叉點(diǎn)上適用于需要按鍵較多的場(chǎng)合矩陣式鍵盤工作原理無(wú)按鍵按下時(shí),列線輸入高電平;有按鍵按下時(shí),列線輸入電平由與此列線相連的行線電平?jīng)Q定.如果行線輸出低電平,則列線電平為低如果行線輸出高電平,則列線電平為高為了確認(rèn)按鍵位置,必須將行、列線配合使用。第24頁(yè),共45頁(yè),2024年2月25日,星期天按鍵的識(shí)別方法(鍵掃描)首先行線全輸出0,判斷是否有鍵按下。如果列線為全1,無(wú)按鍵按下如果列線非全1,有按鍵按下然后,讓行線P10輸出0,其它三條行線輸出1,讀列線狀態(tài)。如果列線為全1,第一行無(wú)按鍵按下,繼續(xù)掃描。如果列線非全1,可以判斷按鍵在第一行,再根據(jù)為0的列線序號(hào),可以確定按鍵具體的列號(hào),停止掃描。如果第一行無(wú)按鍵按下,讓行線P11口輸出0,其它三條行線輸出1,讀列線狀態(tài),判斷按鍵是否在第二行。如果第二行仍無(wú)按鍵按下,讓行線P12口輸出0,其他三條行線輸出1,讀列線狀態(tài),判斷按鍵是否在第三行。如果第三行仍無(wú)按鍵按下,讓行線P13口輸出0,其它三條行線輸出1,讀列線狀態(tài),判斷按鍵是否在第四行。9.2鍵盤接口技術(shù)第25頁(yè),共45頁(yè),2024年2月25日,星期天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)第26頁(yè),共45頁(yè),2024年2月25日,星期天9.2鍵盤接口技術(shù)KINP: LCALL KAP ;調(diào)用鍵盤查詢程序
JZ KINP ;無(wú)鍵按下,繼續(xù)查詢 KP1: LCALL DELY ;延時(shí)10ms,消除抖動(dòng)
LCALL KAP ;再次調(diào)用鍵盤查詢程序
JZ KINP ;無(wú)鍵按下,繼續(xù)查詢
MOV R2,#0FEH ;從第0行開(kāi)始掃描
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)第27頁(yè),共45頁(yè),2024年2月25日,星期天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)開(kāi)始下一行掃描執(zhí)行完以上程序后,鍵值存放于累加器A中。第28頁(yè),共45頁(yè),2024年2月25日,星期天9.3鍵盤顯示接口專用芯片8279 8位并行接口ZLG7289B I2C接口ZLG7290C I2C接口BC7281 二線串口BC7281A 二線串口BC7281B 二線串口MAX7219 三線串口MAX7221 三線串口第29頁(yè),共45頁(yè),2024年2月25日,星期天9.4鍵盤顯示接口專用芯片第30頁(yè),共45頁(yè),2024年2月25日,星期天實(shí)驗(yàn)箱顯示電路74HC138第31頁(yè),共45頁(yè),2024年2月25日,星期天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)箱顯示電路第32頁(yè),共45頁(yè),2024年2月25日,星期天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)箱顯示電路第33頁(yè),共45頁(yè),2024年2月25日,星期天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)箱顯示電路第34頁(yè),共45頁(yè),2024年2月25日,星期天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。第35頁(yè),共45頁(yè),2024年2月25日,星期天DISP: MOV R0,#30H ;地址指針
MOV R1,#01H ;位選碼,從低位開(kāi)始顯示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)箱顯示電路第36頁(yè),共45頁(yè),2024年2月25日,星期天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)箱顯示電路第37頁(yè),共45頁(yè),2024年2月25日,星期天程序清單: 1主程序
2子程序1——8155初始化程序
3子程序2——延時(shí)1ms程序
4子程序3——查表段選碼
5子程序4——輸出一個(gè)字符的段選碼
6子程序5——輸出6位字符(掃描一次)實(shí)驗(yàn)箱顯示電路第38頁(yè),共45頁(yè),2024年2月25日,星期天實(shí)驗(yàn)箱鍵盤與顯示接口應(yīng)用舉例列3行0鍵碼由鍵值查表得到鍵值=行首鍵值+列號(hào)R2R4行0FE0行1FD4行2FB8行3F7C行4EF10行5DF14列0第39頁(yè),共45頁(yè),2024年2月25日,星期天端口地址譯碼電路命令寄存器口地址: E100HPA口寄存器口地址: E101HPB口寄存器口地址: E102HPC口寄存器口地址: E103H例:編寫鍵盤掃描程序,并利用9.1節(jié)的數(shù)碼管動(dòng)態(tài)顯示程序,將被按下鍵的鍵碼顯示到個(gè)位數(shù)碼管上。實(shí)驗(yàn)箱鍵盤與顯示接口應(yīng)用舉例第40頁(yè),共45頁(yè),2024年2月25日,星期天鍵盤顯示掃描程序編寫程序清單: 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無(wú)按鍵
RET實(shí)驗(yàn)箱鍵盤與顯示接口應(yīng)用舉例第41頁(yè),共45頁(yè),2024年2月25日,星期天子程序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列無(wú)按鍵,跳到L1 MOV A,#00H ;保存列號(hào),準(zhǔn)備計(jì)算鍵值
LJMP KG2L1: JB ACC.1,L2 ;第1列無(wú)按鍵,跳到L2 MOV A,#01H ;保存列號(hào),準(zhǔn)備計(jì)算鍵值
LJMP KG2L2: JB ACC.2,L3 ;第2列無(wú)按鍵,跳到L3 MOV A,#02H ;保存列號(hào),準(zhǔn)備計(jì)算鍵值
LJMP KG2L3: JB ACC.3,NEXT ;第3列無(wú)按鍵,跳到掃描下一行
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)用舉例第42頁(yè),共45頁(yè),2024年2月25日,星期天
MOV DPTR,#TAB1
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2026年天府新區(qū)航空旅游職業(yè)學(xué)院?jiǎn)握新殬I(yè)傾向性測(cè)試模擬測(cè)試卷附答案
- 2026年合肥經(jīng)濟(jì)技術(shù)職業(yè)學(xué)院?jiǎn)握新殬I(yè)適應(yīng)性考試模擬測(cè)試卷及答案1套
- 2026年新疆交通職業(yè)技術(shù)學(xué)院?jiǎn)握新殬I(yè)技能考試模擬測(cè)試卷附答案
- 2026年商丘學(xué)院?jiǎn)握新殬I(yè)傾向性測(cè)試模擬測(cè)試卷附答案
- 2026年心理素質(zhì)考試題庫(kù)及完整答案一套
- 2026年福建省福州第十一中學(xué)教師19人招聘?jìng)淇碱}庫(kù)附答案
- 2026云南保山市昌寧縣融媒體中心招聘公益性崗位人員1人筆試模擬試題及答案解析
- 2026年心理年齡知識(shí)測(cè)試題及完整答案1套
- 2026年河南省洛陽(yáng)市單招職業(yè)適應(yīng)性測(cè)試題庫(kù)及答案1套
- 2025年年公共基礎(chǔ)知識(shí)題庫(kù)附答案
- 2026年長(zhǎng)治職業(yè)技術(shù)學(xué)院?jiǎn)握新殬I(yè)技能考試題庫(kù)附答案解析
- 云南師大附中2026屆高三高考適應(yīng)性月考卷(六)思想政治試卷(含答案及解析)
- 建筑安全風(fēng)險(xiǎn)辨識(shí)與防范措施
- CNG天然氣加氣站反恐應(yīng)急處置預(yù)案
- 培訓(xùn)教師合同范本
- 2026年黑龍江單招職業(yè)技能案例分析專項(xiàng)含答案健康養(yǎng)老智慧服務(wù)
- 2025年5年級(jí)期末復(fù)習(xí)-25秋《王朝霞期末活頁(yè)卷》語(yǔ)文5上A3
- (2025)70周歲以上老年人換長(zhǎng)久駕照三力測(cè)試題庫(kù)(附答案)
- 醫(yī)院外科主任職責(zé)說(shuō)明書
- 零售行業(yè)采購(gòu)經(jīng)理商品采購(gòu)與庫(kù)存管理績(jī)效考核表
評(píng)論
0/150
提交評(píng)論