




版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、顯示器與鍵盤(pán)控制,鍵盤(pán) 單片機(jī)系統(tǒng)中完成控制參數(shù)輸入及修改的基本輸入設(shè)備,是人工干預(yù)系統(tǒng)的重要手段。,單片機(jī)與計(jì)算機(jī)在鍵盤(pán)規(guī)模/鍵符設(shè)置等方面差別很大。,鍵盤(pán)分類(lèi) 按鍵值編碼方式分 (硬件)編碼鍵盤(pán)與非(硬件)編碼鍵盤(pán)。 按鍵組連接方式分 獨(dú)立連接鍵盤(pán)與矩陣連接鍵盤(pán)。,編碼鍵盤(pán): 采用專(zhuān)用的編碼/譯碼器件,被按下的鍵由該器件譯碼輸出相應(yīng)的鍵碼/鍵值。 特點(diǎn):增加了硬件開(kāi)銷(xiāo),編碼因選用器件而異,編碼固定,但編程簡(jiǎn)單。適用于規(guī)模大的鍵盤(pán)。,非編碼鍵盤(pán): 單片機(jī)系統(tǒng)多采用此類(lèi)鍵盤(pán) 采用軟件編/譯碼的方式,通過(guò)掃描,對(duì)每個(gè)被按下的鍵判別輸出相應(yīng)的鍵碼/鍵值。 特點(diǎn):不增加硬件開(kāi)銷(xiāo),編碼靈活,適用于小規(guī)
2、模的鍵盤(pán),特別是單片機(jī)系統(tǒng)。但編程較復(fù)雜,占CPU時(shí)間,還須軟件“消抖”。P.160,按鍵值編碼方式:編碼鍵盤(pán)與非編碼鍵盤(pán),按鍵組連接方式:獨(dú)立連接鍵盤(pán)與矩陣連接鍵盤(pán),獨(dú)立連接鍵盤(pán): 每鍵相互獨(dú)立,各自與一條I/O線相連,CPU可直接讀取該I/O線的高/低電平狀態(tài)。 特點(diǎn):占I/O口線多,但判鍵速度快,多用于設(shè)置控制鍵、功能鍵。適用于鍵數(shù)少的場(chǎng)合。,矩陣連接鍵盤(pán): 鍵按矩陣排列,各鍵處于矩陣行/列的 節(jié)點(diǎn)處,CPU通過(guò)對(duì)連在行(列)的I/O線送已知電平的信號(hào),然后讀取列(行)線的狀態(tài)信息。逐線掃描,得出鍵碼。 特點(diǎn):鍵多時(shí)占用I/O口線少,但判鍵速度慢,多用于設(shè)置數(shù)字鍵。適用于鍵數(shù)多的場(chǎng)合。,
3、獨(dú)立連接式鍵盤(pán),特點(diǎn): 此子程序采用中斷 查詢(xún)不會(huì)漏判,省時(shí)。 鍵的優(yōu)先級(jí)由指令 順序決定。,P1.0P1.1P1.2P1.3,ORG 0003H LJMP KEY KEY: JNB P1.0,FUNC1 ;逐鍵判別 JNB P1.1,FUNC2 JNB P1.2,FUNC3 JNB P1.3,FUNC4 RETI ;無(wú)任何鍵按下由此返回 FUNC1: ;做P1.0要求的“功能1” RETI FUNC2: ;做P1.1要求的“功能2” RETI FUNC3: ;做P1.2要求的“功能3” RETI FUNC4: ;做P1.3要求的“功能4” RETI,INT0,向所有列線發(fā)出低電平信號(hào) MOV
4、 DPTR,#0BFFFH MOVX A,DPTR ;輸入行線信號(hào) CPL A ;A不為0則有鍵按下 ANL A,#0FH RET,判斷是否有鍵按下子程序:,K2: MOV R3,#0F7H KEY: MOV DPTR,#8FFFH MOV A,R3 ;使某列為 0 MOVX DPTR,A MOV DPTR,#0BFFFH MOVX A,DPTR ;輸入行線信號(hào) ANL A,#0FH CJNE A,#0FH ,KN1 ;判斷端口3是否得到全“1”信號(hào) MOV A,R3 RL A MOV R3,A ;掃描下一列 CJNE A,#0FEH,KEY CLR 00H;位地址00H=0表示沒(méi)有找到鍵值;
5、00H=1,表示找到鍵值。 RET,鍵識(shí)別子程序,KN1: XCH A,03H ;得到非全1信號(hào),則表明找到鍵 ANL A,#0F0H ADD A,R3 ;形成特征碼 MOV R2,A MOV R3,#0 LKP: MOV DPTR,#TG MOV A,R3 MOVC A,A+DPTR ;取某鍵的特征碼 CJNE A,02H,NEXT ;與形成特征碼比較 SETB 00H ;找到鍵值,在R3寄存器中 MOV A,R3 RET,NEXT: INC R3 MOV A,R3 CJNE A,#14H,LKP CLR 00H RET TG:DB 0FEH,0FDH,0FBH,0F7H ;特征碼 DB 0
6、EEH,0EDH,0EBH,0E7H DB 0DEH,0DDH,0DBH,0D7H DB 0BEH,0BDH,0BBH,0B7H DB 7EH,7DH,7BH,77H,找到閉合鍵后,讀入相應(yīng)的鍵值,再轉(zhuǎn)至相應(yīng)的鍵處理程序??梢岳面I的散轉(zhuǎn)程序?qū)崿F(xiàn)相應(yīng)的鍵處理程序。鍵的轉(zhuǎn)移首地址在DPTR 中。常用的程序段如下: MOV DPTR,#TBB MOV A,R3 ;取鍵值 RL A JMP A + DPTR TBB:AJMP KK1 AJMP KK2 AJMP KK20,LED顯示器的擴(kuò)展(結(jié)構(gòu)),LED數(shù)碼管的結(jié)構(gòu):共陽(yáng)與共陰, 單片機(jī)系統(tǒng)擴(kuò)展LED數(shù)碼管時(shí)多用共陽(yáng)LED: 共陽(yáng)數(shù)碼管每個(gè)段筆畫(huà)是
7、用低電平(“0”)點(diǎn)亮的,要求驅(qū)動(dòng)功率很小;而共陰數(shù)碼管段筆畫(huà)是用高電平(“0”)點(diǎn)亮的,要求驅(qū)動(dòng)功率較大。 通常每個(gè)段筆畫(huà)要串一個(gè)數(shù)百歐姆的降壓電阻。,公共陽(yáng)極,h g f e d c b a,a,b,c,d,g,e,f,h,公共陰極,h g f e d c b a,a,b,c,d,g,e,f,h,h g f a,h g f a,高電平點(diǎn)亮,低電平點(diǎn)亮,接高電平,接地,LED數(shù)碼管的譯碼:硬件譯碼與軟件譯碼,硬件譯碼特點(diǎn):采用專(zhuān)用的譯碼/驅(qū)動(dòng)器件,驅(qū)動(dòng)功 率較大;增加了硬件的開(kāi)銷(xiāo);軟件編程簡(jiǎn)單;字型固 定(比如:只有七段,只可譯數(shù)字,字型不好看)。,共陰LED,a,b,c,d,g,e,f,h
8、,gfedcb a,DCBA,P1.3P1.2P1.1P1.0,CD4511,AT89C51,74LS48/CD4511是“BCD碼七段共陰譯碼/驅(qū)動(dòng)”IC; 74LS47是“BCD碼七段共陽(yáng)譯碼/驅(qū)動(dòng)”IC,LED顯示器的擴(kuò)展(結(jié)構(gòu)),LED顯示器的擴(kuò)展(軟件譯碼),LED數(shù)碼管的譯碼:軟件譯碼,軟件譯碼特點(diǎn): 不用專(zhuān)用的譯碼/驅(qū)動(dòng)器件,驅(qū)動(dòng)功率較小;不增加硬件的開(kāi)銷(xiāo);軟件編程較復(fù)雜;字型靈活(比如:有八段,可譯多種字符,字型好看)。,共陽(yáng)LED,a,b,c,d,g,e,f,h,P1.0P1.1P1.2P1.3P1.4P1.5P1.6P1.7,+5V,AT89C51,硬件譯碼特點(diǎn): 采用專(zhuān)用
9、譯碼/驅(qū)動(dòng)器件,驅(qū)動(dòng)功率較大;增加了硬件的開(kāi)銷(xiāo);軟件編程簡(jiǎn)單;字型固定(比如:只可譯數(shù)字,字型不好看)。,LED數(shù)碼管的軟件譯碼,LED數(shù)碼管段代碼編碼表(連線不同可有多種表):,公共陽(yáng)極,h g f e d c b a,a,b,c,d,g,e,f,h,公共陰極,h g f e d c b a,a,b,c,d,g,e,f,h,h g f a,h g f a,高電平點(diǎn)亮,低電平點(diǎn)亮,接高電平,接地,LED顯示器的擴(kuò)展(顯示方式),LED數(shù)碼管的顯示方式:靜態(tài)與動(dòng)態(tài),動(dòng)態(tài)顯示特點(diǎn): 有閃爍,用元器件少,占I/O線少,必須掃描,花費(fèi)CPU時(shí)間,編程復(fù)雜。(有多個(gè)LED時(shí)尤為突出),靜態(tài)顯示特點(diǎn): 無(wú)
10、閃爍,用元器件多,占I/O線多,無(wú)須掃描,節(jié)省CPU時(shí)間,編程簡(jiǎn)單。,靜態(tài)顯示: 各數(shù)碼管在顯示過(guò)程中持續(xù)得到送顯信號(hào),與各數(shù)碼管接口的I/O口線是專(zhuān)用的。,動(dòng)態(tài)顯示: 各數(shù)碼管在顯示過(guò)程中輪流得到送顯信號(hào),與各數(shù)碼管接口的I/O口線是共用的。,AB,CLK,h g f e d c b a,CLR,AB,CLK,CLR,AB,CLK,CLR,+5V,VCC,TxD,RxD,89C51單片機(jī),74LS164,74LS164,74LS164,h g f e d c b a,h g f e d c b a,+5V,共陽(yáng)LED數(shù)碼管,LED數(shù)碼管靜態(tài)顯示舉例,有幾個(gè)LED就要幾個(gè)74LS164,但只要
11、數(shù)據(jù)不變, 送一次就保持住了,且不閃爍,編程十分簡(jiǎn)單。,要求:根據(jù)上圖編寫(xiě)通過(guò)串行口和74LS164驅(qū)動(dòng)共 陽(yáng)LED數(shù)碼管查表顯示的子程序。 條件:系統(tǒng)有6個(gè)LED數(shù)碼管,待顯數(shù)據(jù)(00H09H)已放在35H30H單元中(分別對(duì)應(yīng)十萬(wàn)位個(gè)位),,DSPLY:MOV DPTR, #TABLE ;共陽(yáng)LED數(shù)碼管譯碼表首址 MOV R0,#30H ;待顯數(shù)據(jù)緩沖區(qū)的個(gè)位地址 REDO:MOV A, R0 ;通過(guò)R0實(shí)現(xiàn)寄存器間接尋址 MOVC A, A+DPTR ;查表 MOV SBUF, A ;經(jīng)串行口發(fā)送到74LS164 JNB TI, $ ;查詢(xún)送完一個(gè)字節(jié)的第8位? CLR TI ;為下一
12、字節(jié)發(fā)送作準(zhǔn)備 INC R0 ;R0指向下一個(gè)數(shù)據(jù)緩沖單元 CJNE R0,#36H,REDO ;判斷是否發(fā)完6個(gè)數(shù)? RET ;發(fā)完6個(gè)數(shù)就返回 TABLE:DB 0C0H,0F9H,0A4H,0B0H,99H ;共陽(yáng)LED譯碼表 DB 92H, 82H, 0F8H, 80H,90H,LED數(shù)碼管動(dòng)態(tài)顯示舉例,P1.5 P1.4P1.3P1.2P1.2P1.0,P0.7 P0.6 P0.5 P0.4 P0.3 P0.2 P0.1 P0.0,7406 OC門(mén) X 3,上拉電阻14,+5V,AT89C51,工作原理:從P0口送段代碼,P1口送位選信號(hào)。段碼雖同時(shí)到達(dá) 6個(gè)LED,但一次僅一個(gè)LE
13、D被選中。利用“視覺(jué)暫留”,每送一個(gè)字符并選中相應(yīng)位線,延時(shí)一會(huì)兒,再送/選下一個(gè)循環(huán)掃描即可。,共陰 數(shù)碼管,位選線,段代碼,要求:此處為共陰數(shù)碼管,P0口送段代碼,P1口送位選信號(hào)。通過(guò)查表實(shí)現(xiàn)動(dòng)態(tài)顯示。 條件:待顯數(shù)據(jù)(00H09H)已放在: 7FH7AH單元中(分別對(duì)應(yīng)十萬(wàn)位個(gè)位) 說(shuō)明:由于用了反相驅(qū)動(dòng)器7406,要用共陽(yáng)譯碼表。,7406 OC門(mén) X 3,+5V,(7FH) (7EH) (7DH) (7CH) (7BH) (7AH) 十萬(wàn) 萬(wàn)位 千位 百位 十位 個(gè)位,數(shù)據(jù)緩沖區(qū) / 顯示緩沖區(qū),P0口送段代碼,P1口送位選信號(hào)。 待顯數(shù)據(jù)已經(jīng)放在: 7FH7AH單元(分別對(duì)應(yīng)十萬(wàn)
14、位個(gè)位) 使用共陽(yáng)譯碼表。,DIR: MOV DPTR, #DSEG ;數(shù)碼管譯碼表首址 MOV R0,#7AH ;待顯緩沖區(qū)個(gè)位地址 MOV R3,#01H ;個(gè)位的位選信號(hào)=01H LD1: MOV A, R0 ;通過(guò)R0間接尋址 MOVC A, A+DPTR ;查表 MOV P0, A ;字段碼送到P0口 MOV P1,R3 ;字位選擇送到P1口 LCALL DELY ;調(diào)延時(shí)1ms子程序 MOV P0,#00H INC R0 ;R0 指向下一字節(jié) MOV A,R3 JB ACC.5,LD2 ;判是否發(fā)完6個(gè)數(shù)? RL A ;R1指向下一個(gè)位 MOV R3,A ;位選信號(hào)存回R3 SJM
15、P LD1 ;跳去再顯示下一個(gè)數(shù) LD2: RET ;發(fā)完6個(gè)數(shù)就返回 DSEG:DB 0C0H,0F9H,0A4H,0B0H,99H;共陽(yáng)譯碼表 DB 92H, 82H, 0F8H, 80H,90H,動(dòng)態(tài)顯示舉例 (循環(huán)顯示“1234”的實(shí)驗(yàn)),ORG 0000H MAIN: MOV R0, #01H MOV R1, #04 MOV R2,#00 MOV DPTR,#TAB LOOP: MOV A, R2 MOVC A, A+DPTR MOV P0,A MOV P1, R0 LCALL DELAY MOV P0,#0FFH INC R2 MOV A,R0 RL A,MOV R0,A DJNZ
16、 R1,LOOP SJMP MAIN DELAY: MOV R3,#50 LL: MOV R4,#100 DJNZ R4,$ DJNZ R3,LL RET ORG 0100H TAB: DB 0F9H,0A4H,0B0H,99H END,實(shí)例演示,99秒馬表,74LS47,ORG 0000H START:ANL P2,#00H ;顯示00 JB P3.5,$ ; T1=0?有鍵按下 LCALL DELAY1 ; 消除抖動(dòng) JNB P3.5,$ ; T1=1?放開(kāi) MOV R0,#00 ; 計(jì)時(shí)指針初值 L1: MOV A,R0 ; 計(jì)時(shí)指針載入ACC MOV P2,A ; 輸出至P2顯示 MOV R5,#10 ;延時(shí)1秒 A1: MOV R6,#200 LCALL DELAY DJNZ R5,A1 MOV A,R0 ;計(jì)時(shí)指針加1 ADD A,#01H DA A ; 做十進(jìn)制調(diào)整 MOV R0,A ;存回寄時(shí)指針寄存器 SJMP L1 ; 重復(fù)計(jì)時(shí),L2: LCALL DELAY1 ;第二次按鍵消除抖
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- MY銀行供應(yīng)鏈金融保理業(yè)務(wù)流程優(yōu)化研究
- 全GFRP筋增強(qiáng)混凝土剪力墻抗震性能研究
- 故事力法則下鄉(xiāng)村文旅景觀規(guī)劃設(shè)計(jì)研究-以浙江新昌縣棠村村為例
- 環(huán)境安全健康之間關(guān)系
- 護(hù)理質(zhì)量管理人員培訓(xùn)大綱
- 肺炎性心臟病護(hù)理
- 甲狀腺結(jié)節(jié)健康教育及指導(dǎo)
- 在線教育社群運(yùn)營(yíng)策劃方案
- 護(hù)理心臟驟停的急救與后續(xù)管理
- 結(jié)腸腫瘤科普
- (正式版)JBT 14449-2024 起重機(jī)械焊接工藝評(píng)定
- 2022-2023學(xué)年北京市東城區(qū)高二(下)期末化學(xué)試卷(含解析)
- 防溺水老師培訓(xùn)課件
- 《植物生長(zhǎng)與環(huán)境》課程標(biāo)準(zhǔn)(含課程思政)
- 鐵路行車(chē)組織(高職)全套教學(xué)課件
- 注塑標(biāo)準(zhǔn)成型條件表電子表格模板
- 道閘系統(tǒng)施工方案
- 配置管理與漏洞修復(fù)
- 新版中國(guó)復(fù)發(fā)難治性急性髓系白血病診療指南
- 保潔巡查記錄表
- 成事的時(shí)間管理
評(píng)論
0/150
提交評(píng)論