




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
第七章顯示器與鍵盤接口技術(shù)
鍵盤與顯示系統(tǒng)
非編碼鍵盤接口
LED數(shù)碼管顯示接口
7.1LED數(shù)碼管顯示接口顯示器和鍵盤是兩種重要外設(shè)鍵盤用于輸入數(shù)據(jù)和命令顯示器用于顯示控制過程和運(yùn)算結(jié)果一、LED數(shù)碼管顯示原理
◆LED數(shù)碼管是單片機(jī)系統(tǒng)常用的顯示器件。它由若干發(fā)光二極管組成
◆控制不同組合的發(fā)光二極管導(dǎo)通,就能顯示出不同的數(shù)字◆LED數(shù)碼管分為共陰極和共陽(yáng)極兩種7.1LED數(shù)碼管顯示接口7.1LED數(shù)碼管顯示接口1.共陰極LED數(shù)碼管
spgfedcba顯示2:01011011=5BH
spgfedcba顯示b:01111100=7CH7.1LED數(shù)碼管顯示接口共陰極數(shù)碼管段碼表7.1LED數(shù)碼管顯示接口2.共陽(yáng)極LED數(shù)碼管
spgfedcba顯示2:10100100=A4H
spgfedcba顯示b:10000011=83H7.1LED數(shù)碼管顯示接口共陽(yáng)極數(shù)碼管段碼表二、數(shù)碼管的顯示方式
7.1LED數(shù)碼管顯示接口顯示方式靜態(tài)顯示
動(dòng)態(tài)顯示
◆靜態(tài)顯示是指LED數(shù)碼管顯示某一字符時(shí),相應(yīng)的發(fā)光二極管恒定導(dǎo)通或恒定截止。7.1LED數(shù)碼管顯示接口1.靜態(tài)顯示方式7.1LED數(shù)碼管顯示接口圖示為51單片機(jī)控制2位LED數(shù)碼管靜態(tài)顯示接口電路,圖中數(shù)碼管為共陽(yáng)極7.1LED數(shù)碼管顯示接口◆完成0~99循環(huán)計(jì)數(shù)靜態(tài)顯示功能的程序流程圖。LED2顯示十位計(jì)數(shù)值LED1顯示個(gè)位計(jì)數(shù)值
7.1LED數(shù)碼管顯示接口源程序
CNT_HEQU61H ;計(jì)數(shù)待顯示十位數(shù)據(jù)
CNT_LEQU60H ;計(jì)數(shù)待顯示個(gè)位數(shù)據(jù)
ORG0000H LJMPMAIN ORG 0066HMAIN: MOVSP,#70H MOVCNT_H,#00H ;61H、60H單元清0 MOVCNT_L,#00H LCALLDISPLAY ;調(diào)用顯示子程序7.1LED數(shù)碼管顯示接口LOOP:LCALLDELAY1S INC CNT_L MOV A, CNT_L XRL A, #10 JNZ DSP MOV CNT_L,#00H INC CNT_H MOV A, CNT_H XRL A, #10 JNZ DSP MOV CNT_H,#00HDSP: LCALLDISPLAY ;調(diào)用顯示子程序
LJMP LOOP7.1LED數(shù)碼管顯示接口DISPLAY:MOVDPTR,#TABLE;顯示子程序
MOV A,CNT_H MOVC A,@A+DPTR MOV P3,A MOV DPTR,#TABLE MOV A,CNT_L MOVC A,@A+DPTR MOV P1,A RETTABLE:DB0C0H,0F9H,0A4H,0B0H,99H DB92H,82H,0F8H,80H,90H7.1LED數(shù)碼管顯示接口;************************************DELAY1S:MOV R3,#04H ;延時(shí)1秒子程序LOOP3:MOV R2,#0FAHLOOP2:MOV R1,#0F9H NOPLOOP1:NOP NOP DJNZ R1,LOOP1 DJNZ R2,LOOP2 DJNZ R3,LOOP3 RET END利用人眼的視覺暫留效應(yīng),就可以給人同時(shí)顯示的感覺7.1LED數(shù)碼管顯示接口2.動(dòng)態(tài)顯示方式動(dòng)態(tài)顯示是一位一位地輪流循環(huán)點(diǎn)亮各位數(shù)碼管,每位點(diǎn)亮的時(shí)間為1~5ms7.1LED數(shù)碼管顯示接口圖示為51單片機(jī)控制的4位LED數(shù)碼管動(dòng)態(tài)顯示接口電路為方便與數(shù)碼管的顯示接口,在片內(nèi)RAM的30H開始設(shè)置顯示緩沖區(qū),如圖所示7.1LED數(shù)碼管顯示接口什么叫顯示緩沖區(qū)?DPLAY:MOV R0,#30H ;R0指針指向顯示緩沖區(qū)首址
MOV DPTR,#SEGTAB MOV R2,#01H ;置位選碼初值
MOV A,R2DISP: MOV P1,A ;輸出位選碼
MOV A,@R0 ;取出要顯示的數(shù),準(zhǔn)備查段選碼
MOVCA,@A+DPTR;查字型碼
MOV P3,A ;段選碼送P3口
ACALLDELAY1MS ;延時(shí)1ms。延時(shí)子程序DELAY1MS略
INC R0 ;修改顯示緩沖區(qū)單元地址
MOV A,R2 JB ACC.3,GORET;4位顯示完否?
RLA ;未顯示完,位選碼左移1位
MOV R2,A AJMPDISPGORET:RETSEGTAB:DBC0H,F9H,A4H,B0H,99H,92H,82H,F8H,80H,90HDB
88H,83H,C6H,A1H,86H,8EH4位LED數(shù)碼管動(dòng)態(tài)顯示子程序如果要在4位數(shù)碼管上動(dòng)態(tài)顯示××.×,顯示緩沖區(qū)中應(yīng)放什么內(nèi)容?程序如何修改?共陽(yáng)極數(shù)碼管L的段碼是多少?共陽(yáng)極數(shù)碼管y的段碼是多少?如果要在4位數(shù)碼管上動(dòng)態(tài)顯示PLAY,顯示緩沖區(qū)中應(yīng)放什么內(nèi)容?程序如何修改?
spgfedcba顯示L:11000111=C7H
spgfedcba顯示y:10010001=91H討論題共陰極數(shù)碼管與共陽(yáng)極數(shù)碼管有什么不同?動(dòng)態(tài)掃描顯示是基于什么機(jī)理?靜態(tài)顯示與動(dòng)態(tài)顯示各有什么特點(diǎn)?消除按鍵抖動(dòng)有哪些方法?獨(dú)立式鍵盤和行列式鍵盤各有什么特點(diǎn)?行列式鍵盤是如何識(shí)別按鍵的?下次課前預(yù)習(xí)7.2和7.3,并思考下列問題7.2非編碼鍵盤接口鍵盤編碼鍵盤通過編碼電路識(shí)別鍵碼,硬件較復(fù)雜非編碼鍵盤通過軟件識(shí)別鍵碼,硬件簡(jiǎn)單7.2非編碼鍵盤接口◆鍵盤是若干按鍵的集合,是單片機(jī)常用輸入設(shè)備,操作人員可以通過鍵盤輸入數(shù)據(jù)或命令◆單片機(jī)的鍵盤通常使用機(jī)械觸點(diǎn)式按鍵開關(guān)◆按鍵觸點(diǎn)在閉合或斷開時(shí)會(huì)產(chǎn)生抖動(dòng)現(xiàn)象7.2非編碼鍵盤接口◆觸點(diǎn)的去抖動(dòng)方法●軟件去抖動(dòng):軟件延時(shí)10ms●硬件去抖動(dòng):R-S觸發(fā)器一、獨(dú)立式按鍵接口
常用于按鍵數(shù)量較少的場(chǎng)合7.2非編碼鍵盤接口
ORG0100HKEYSCAN: MOVP1,#0FFH MOVA,P1 LCALLDEL10MS MOVB,P1 CJNEA,B,GORET JNBACC.0,KEY0 JNBACC.1,KEY1 JNBACC.2,KEY2 JNBACC.3,KEY3 JNBACC.4,KEY4 JNBACC.5,KEY5 JNBACC.6,KEY6 JNBACC.7,KEY7GORET:RET獨(dú)立式鍵盤接口按鍵查詢子程序這條指令做什么用?KEY0: LCALL FUNC0 RET KEY1: LCALL FUNC1 RET KEY2: LCALL FUNC2 RET KEY3: LCALL FUNC3 RET KEY4: LCALL FUNC4 RET KEY5: LCALL FUNC5 RET KEY6: LCALL FUNC6 RET KEY7: LCALL FUNC7 RET 獨(dú)立式鍵盤接口按鍵查詢子程序(續(xù))二、行列式非編碼鍵盤接口
按鍵設(shè)置在行線和列線的交叉處7.2非編碼鍵盤接口7.2非編碼鍵盤接口判別是否有鍵按下
識(shí)別按鍵位置(逐行掃描)
鍵值的計(jì)算按鍵識(shí)別步驟
7.2非編碼鍵盤接口1.判別是否有鍵按下──全掃描各行線同時(shí)送低電平同時(shí)讀各列線的值全為1,則無(wú)鍵按下不全為1,則有鍵按下7.2非編碼鍵盤接口2.識(shí)別按鍵位置──逐行掃描依次使每條行線為低電平,分別讀取列線值全為1,則按鍵不在這一行不全為1,按鍵就在這一行7.2非編碼鍵盤接口3.鍵值的計(jì)算鍵值=(行號(hào)×列數(shù))+列號(hào)
=行首鍵值+列號(hào)行首鍵值:每行第0列的鍵值列號(hào):指列的序號(hào)例如Y0列的列號(hào)為0例如Y1列的列號(hào)為1例如5號(hào)鍵的列號(hào)是15號(hào)鍵的行首鍵值是4鍵值=行首鍵值+列號(hào)=5鍵盤掃描子程序流程圖KEYSCAN:ACALLKSCAN ;全掃描,查看有沒有鍵按下
JZ GORET ;A=0說明沒有鍵按下,返回
LCALLDEL10MS;有鍵按下,延時(shí)10ms去抖動(dòng)
ACALLKSCAN ;全掃描,再查有沒有鍵按下
JZ GORET ;A=0說明沒有鍵按下,返回
ACALLKEYSUM ;有鍵按下,逐行掃描確定鍵值
RL A RL A ;鍵值×4 MOVDPTR,#FTAB JMP@A+DPTR ;散轉(zhuǎn),執(zhí)行所按鍵相應(yīng)功能子程序GORET:RET
4×4行列式鍵盤掃描子程序FTAB: LCALL FUNC0 ;調(diào)用0號(hào)鍵功能子程序
RET ;返回主程序
LCALL FUNC1 ;調(diào)用1號(hào)鍵功能子程序
RET ;返回主程序
. . . LCALL FUNC15;調(diào)用15鍵功能子程序
RET ;返回主程序
LCALL ERRSUB;鍵值為16,異常處理
RET;KSCAN為判斷有無(wú)鍵按下子程序,A≠0表示有鍵按下KSCAN:MOV P1,#0F0H;行線同時(shí)低電平,列線準(zhǔn)備讀
MOV A,P1 ;讀取列線數(shù)據(jù),全為1無(wú)鍵按下
CPL A ;A取反
ANL A,#0F0H;屏蔽行線,A全為0無(wú)鍵按下
RET ;返回,A≠0表示有鍵按下4×4矩陣式鍵盤掃描子程序(續(xù))識(shí)別按鍵位置──逐行掃描依次使每條行線為低電平,分別讀取列線值全為1,則按鍵不在這一行不全為1,按鍵就在這一行KEYSUM:MOV R6,#00H;R6存放行首鍵值,0行首鍵值=0 MOV R7,#0FEH;第0行的行掃描字LOOP: MOV P1,R7 ;逐行輸出行掃描字
MOV A,P1 ;讀列線數(shù)據(jù)
SWAPA ;A的高低半字節(jié)交換
JB ACC.0,L1 ;第0列無(wú)鍵按下,轉(zhuǎn)查第1列
MOV A,#0 ;第0列有鍵按下,列號(hào)0送A SJMPKSOLVE ;轉(zhuǎn)求鍵值
L1: JB ACC.1,L2 ;第1列無(wú)鍵按下,轉(zhuǎn)查第2列
MOV A,#1 ;第1列有鍵按下,列號(hào)1送A
SJMPKSOLVE ;轉(zhuǎn)求鍵值
L2: JB ACC.2,L3 ;第2列無(wú)鍵按下,轉(zhuǎn)查第3列
MOV A,#2 ;第2列有鍵按下,列號(hào)2送A
SJMPKSOLVE ;轉(zhuǎn)求鍵值
L3: JB ACC.3,NEXT;第3列無(wú)鍵按下,本行掃描結(jié)束
MOV A,#3 ;第3列有鍵按下,列號(hào)3送A
SJMPKSOLVE ;轉(zhuǎn)求鍵值求鍵值子程序(鍵值在A中返回)NEXT: MOV A,R7 ;取出行掃描字
JNB ACC.3,ERR ;已掃描完仍未查到被按鍵,異常處理
RL A ;未掃描完,則R7循環(huán)左移一位
MOV R7,A ;得到下一行的行掃描字
ADD R6,#4 ;得到下一行的行首鍵值
SJMP LOOP ;轉(zhuǎn)LOOP,掃描下一行ERR: MOV A,#16 ;鍵值賦16,表示出錯(cuò)! RETKSOLVE:ADD A,R6 ;計(jì)算鍵值,鍵值=行首鍵值+列號(hào)
PUSHACC ;鍵值進(jìn)棧暫存WAIT: ACALLKSCAN ;查按鍵釋放否?防止重復(fù)執(zhí)行鍵功能
JNZ WAIT ;沒有釋放,等待
POP ACC ;鍵值出棧
RET ;返回到ACALLKEYSUM的下一句求鍵值子程序(續(xù))7.3鍵盤與顯示系統(tǒng)◆在單片機(jī)應(yīng)用系統(tǒng)中,為節(jié)省I/O口線,可將數(shù)碼管顯示器和鍵盤結(jié)合起來,構(gòu)成實(shí)用的鍵盤與顯示系統(tǒng)。7.3鍵盤與顯示系統(tǒng)7.3鍵盤與顯示系統(tǒng)◆圖中4×4行列式鍵盤剛才介紹過,鍵盤掃描程序與前面的KEYSCAN子程序相同
◆圖中的4位LED動(dòng)態(tài)掃描顯示電路上節(jié)課已介紹過,4位數(shù)碼管動(dòng)態(tài)顯示子程序如下:
DPLAY:MOV R0,#30H ;R0指向顯示緩沖區(qū)首址
MOV DPTR,#SEGTAB MOV R2,#01H ;置位選碼初值
MOV A,R2DISP: MOV P1,A ;輸出位選碼
MOV A,@R0 ;取出要顯示的數(shù),準(zhǔn)備查段選碼
MOVCA,@A+DPTR;查字形碼
MOV P3,A ;字形碼送P3口
ACALLDELAY1MS ;延時(shí)1ms。延時(shí)子程序DELAY1MS略
INC R0 ;修改顯示緩沖區(qū)單元地址
MOV A,R2 JB ACC.3,GORET;4位顯示完否?
RLA ;未顯示完,位選碼左移1位
MOV R2,A AJMPDISPGORET:RETSEGTAB:DBC0H,F9H,A4H,B0H,99H,92H,82H,F8H,80H,90HDB
88H,83H,C6H,A1H,86H,8EH4位LED數(shù)碼管動(dòng)態(tài)顯示子程序鍵盤與顯示系統(tǒng)程序流程圖
鍵盤與顯示系統(tǒng)主程序
ORG 0000H LJMP MAIN ORG 0100HMAIN: . ;初始化部分(略)
. .KEYSCAN:LCALL KSCAN;全掃描,檢查是否有鍵按下
JZ KS1 ;A=0表示沒有鍵按下,轉(zhuǎn)KS1 AJMP KS2KS1: LCALL DPLAY ;調(diào)用動(dòng)態(tài)顯示子程序,顯示一遍
AJMP KEYSCANKS2: MOV R3,#L ;利用動(dòng)態(tài)掃描防抖動(dòng)延時(shí)約10msDELY: LCALL DPLAY ;調(diào)用動(dòng)態(tài)顯示子程序,顯示一遍
DJNZ R3,DELY;延時(shí)大約10ms時(shí)間到
LCALL KSCAN ;全掃描,再查是否有鍵按下
JZ KS1 ;A=0表示沒有鍵按下,轉(zhuǎn)KS1 LCALL KEYSUM;有鍵按下,逐行掃描確定鍵值KSCAN:MOV P1,#0F0H;準(zhǔn)備讀
MOV A,P1 CPL A ANL A,#0F0H RET ;A=0則無(wú)鍵按下KEYSUM為求鍵值子程序,鍵值在A中返回
MOV R2,ARL A ADD A,R2 ;鍵值×3 RL A ;鍵值×6 MOV DPTR,#FTAB JMP @A+DPTR ;散轉(zhuǎn),執(zhí)行所按鍵相應(yīng)功能子程序FTAB: LCALL FUNC0 ;調(diào)用0號(hào)鍵功能子程序
LJMP KS1 ;程序進(jìn)入循環(huán)
LCALL FUNC1 ;調(diào)用1鍵
溫馨提示
- 1. 本站所有資源如無(wú)特殊說明,都需要本地電腦安裝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ù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 會(huì)計(jì)所服務(wù)合同樣本
- 樂器銷售出租合同樣本
- 保時(shí)捷合同樣本
- 乙二醇合同標(biāo)準(zhǔn)文本
- 低效林改造合同樣本
- 會(huì)議室多媒體采購(gòu)合同標(biāo)準(zhǔn)文本
- 公司小工勞務(wù)合同樣本
- 保利員工合同標(biāo)準(zhǔn)文本
- 倉(cāng)庫(kù)燈具改造合同標(biāo)準(zhǔn)文本
- 代理申報(bào)專項(xiàng)資金合同樣本
- 單層輕鋼結(jié)構(gòu)施工方案
- 深度學(xué)習(xí)及自動(dòng)駕駛應(yīng)用 課件 第9、10章 生成對(duì)抗網(wǎng)絡(luò)及自動(dòng)駕駛應(yīng)用、強(qiáng)化學(xué)習(xí)理論及自動(dòng)駕駛應(yīng)用實(shí)踐
- 浙江省【高等職業(yè)技術(shù)教育招生考試】-商業(yè)類(電子商務(wù))-職業(yè)技能理論知識(shí)(一)(答案版)
- 拼多多在線測(cè)評(píng)98道題
- 中國(guó)國(guó)新基金管理有限公司招聘筆試題庫(kù)2024
- 環(huán)境監(jiān)測(cè)站運(yùn)行管理與質(zhì)量控制標(biāo)準(zhǔn)
- 20以內(nèi)的加法口算練習(xí)題4000題 284
- 國(guó)家開放大學(xué)《學(xué)前兒童語(yǔ)言教育活動(dòng)指導(dǎo)》形成性考核1-4參考答案
- 城鄉(xiāng)環(huán)衛(wèi)一體化保潔服務(wù)投標(biāo)方案(技術(shù)方案)
- 項(xiàng)目風(fēng)險(xiǎn)記錄及跟蹤表
- 直播運(yùn)營(yíng)專員崗位職責(zé)說明書
評(píng)論
0/150
提交評(píng)論