版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、單片機(jī)原理(yunl)及應(yīng)用第9章鍵盤(jinpn)與顯示接口本章學(xué)習(xí)要求:1.掌握鍵盤工作原理、電路連接及編程;2.掌握數(shù)碼管顯示原理、電路連接及編程。共二十五頁9.1 鍵盤(jinpn)接口9.1.1 鍵盤結(jié)構(gòu)與工作(gngzu)原理鍵盤中每個按鍵都是一個常開開關(guān)按下鍵S3,P1.7口為低電平放開鍵S3,P1.7口為高電平共二十五頁9.1 鍵盤(jinpn)接口由于機(jī)械觸點(diǎn)的彈性作用(zuyng),在閉合和斷開按鍵的瞬間,觸點(diǎn)會產(chǎn)生機(jī)械抖動,表現(xiàn)為P1.7口出現(xiàn)一系列的脈沖信號。如右圖所示。抖動時間的長短,由按鍵的機(jī)械特性決定,一般在5ms10ms間。按鍵抖動的危害按鍵抖動的消除 硬件消除
2、; 如: R-S雙穩(wěn)態(tài)觸發(fā)器電路 RC阻容濾波電路 軟件消除,實(shí)際應(yīng)用多。在CPU檢測到有按鍵按下時,執(zhí)行一個10ms的延時程序后,再次判斷該鍵電平是否保持閉合狀態(tài)電平,如保持閉合狀態(tài)電平則確認(rèn)為真正有鍵按下,從而消除抖動的影響。當(dāng)CPU檢測到按鍵釋放后,也要給一個10ms的延時,待后沿抖動消失后才去執(zhí)行該鍵的處理程序。共二十五頁9.1 鍵盤(jinpn)接口9.1.2 獨(dú)立式鍵盤(jinpn)接口設(shè)計(jì)獨(dú)立式按鍵是指各按鍵相互獨(dú)立,每個按鍵各接一個輸入口。通過檢測輸入口上的電平狀態(tài)判斷哪個鍵被按下。接上拉電阻的目的是為了保證在按鍵斷開時,各個輸入口有確定的高電平。每個按鍵需要占用一個輸入口,不
3、適合用于需要很多按鍵的場合。共二十五頁9.1 鍵盤(jinpn)接口9.1.3 矩陣式鍵盤(jinpn)接口設(shè)計(jì)矩陣式鍵盤結(jié)構(gòu)矩陣式鍵盤由行線和列線構(gòu)成列線通過上拉電阻接到+5V列線接到輸入口上行線接到輸出口上按鍵位于行、列的交叉點(diǎn)上適用于需要按鍵較多的場合矩陣式鍵盤工作原理無按鍵按下時,列線輸入高電平;有按鍵按下時,列線輸入電平由與此列線相連的行線電平?jīng)Q定.如果行線輸出低電平,則列線電平為低如果行線輸出高電平,則列線電平為高為了確認(rèn)按鍵位置,必須將行、列線配合使用。共二十五頁按鍵的識別方法(鍵掃描(somio))首先行線全輸出0,判斷是否有鍵按下。如果列線為全1,無按鍵按下如果列線非全1,有
4、按鍵按下然后,讓行線P10輸出0,其它三條行線輸出1,讀列線狀態(tài)。如果列線為全1,第一行無按鍵按下,繼續(xù)掃描。如果列線非全1,可以判斷按鍵(n jin)在第一行,再根據(jù)為0的列線序號,可以確定按鍵具體的列號,停止掃描。如果第一行無按鍵按下,讓行線P11口輸出0,其它三條行線輸出1,讀列線狀態(tài),判斷按鍵是否在第二行。如果第二行仍無按鍵按下,讓行線P12口輸出0,其他三條行線輸出1,讀列線狀態(tài),判斷按鍵是否在第三行。如果第三行仍無按鍵按下,讓行線P13口輸出0,其它三條行線輸出1,讀列線狀態(tài),判斷按鍵是否在第四行。9.1 鍵盤接口共二十五頁9.1 鍵盤(jinpn)接口編程舉例(j l)鍵值=行首
5、鍵值+列號共二十五頁9.1 鍵盤(jinpn)接口uchar key_sm( void )uchar key,temp,smm; key = 0 xff; /鍵碼 KP: P1 = 0 xF0;temp=P1 | 0 x0F; if(temp=0 xff) goto KP; /無鍵按下,繼續(xù)查詢(chxn) delay10ms( ); /延時10ms,消除抖動P1 = 0 xF0;temp=P1 | 0 x0F; if(temp=0 xff) goto KP;/無鍵按下,繼續(xù)查詢 smm=0 xfe; /掃描碼 for(i=0;i4;i+) P1=smm; temp=P1 | 0 x0f; i
6、f( temp=0 xef ) key=i*4;break; else if( temp = 0 xdf ) key=i*4+1;break; else if( temp = 0 xbf ) key=i*4+2;break; else if( temp = 0 x7f ) key=i*4+3;break; smm = (smm 1)+1; if( key = 0 xff) goto KP; smmi*4行0FE0行1FD4行2FB8行3F7C鍵值=行首鍵值+列號共二十五頁9.1 鍵盤(jinpn)接口P1 = 0 xF0; KP3: temp=P1 | 0 x0F; /查詢鍵是否釋放 if(t
7、emp!=0 xff) goto KP3; /未釋放,繼續(xù)查詢 delay10ms( ); /延時10ms,消除抖動(dudng)temp=P1 | 0 x0F; /再次查詢鍵是否釋放 if(temp!=0 xff) goto KP3; /未釋放,繼續(xù)查詢 return key; 執(zhí)行完以上函數(shù)后,返回鍵值。共二十五頁9.2 LED數(shù)碼管顯示(xinsh)接口由LED構(gòu)成(guchng)的3種顯示部件指示燈數(shù)碼管點(diǎn)陣屏LED: Light Emiting Diode電路符號:共二十五頁9.1.1 數(shù)碼管結(jié)構(gòu)及顯示(xinsh)原理數(shù)碼管由8個發(fā)光二極管(以下(yxi)簡稱段)構(gòu)成,通過不同的組
8、合可用來顯示數(shù)字0 9、部分字符、符號“”及小數(shù)點(diǎn)“”。數(shù)碼管的外形結(jié)構(gòu)如圖所示。數(shù)碼管又分為共陰極和共陽極兩種結(jié)構(gòu)。9.2 LED數(shù)碼管顯示接口共二十五頁COM P1.01.7 MCS-51a f b g e c d dpabh將公共陰極(ynj)接地,在ag各段的陽極上加不同的電壓,就會使各段的發(fā)光情況不同,形成不同的發(fā)光字符。D7D6D5D4D3D2D1D0dpgfedcba段選碼的位定義(dngy)R段碼表:段選碼的值與顯示字符的對應(yīng)關(guān)系.“8”:共陰極段選碼的值為7FH; 共陽極段選碼的值為80H.9.2 LED數(shù)碼管顯示接口共二十五頁共陰極(ynj)和共陽極的段選碼互為反碼 。顯示
9、字符共陰極段選碼共陽極段選碼顯示字符共陰極段選碼共陽極段選碼03FHC0HC39HC6H106HF9HD5EHA1H25BHA4HE79H86H34FHB0HF71H8EH466H99HP73H8CH56DH92HU3EHC1H67DH82HT31HCEH707HF8HY6EH91H87FH80HL38HC7H96FH90H8FFH00HA77H88H“滅”00FFHB7CH83H9.2 LED數(shù)碼管顯示(xinsh)接口共二十五頁9.1.2 數(shù)碼管的靜態(tài)(jngti)顯示方式將公共陰極接地或公共陽極接電源, 段碼接一8位并行輸出口。需要占用(zhn yn)大量的輸出端口。 a b hCOM
10、a b hCOM a b hCOMa f b g e c d h 9.2 LED數(shù)碼管顯示接口共二十五頁 在實(shí)際應(yīng)用中,靜態(tài)顯示通常利用單片機(jī)的串口工作方式0,利用串并轉(zhuǎn)換電路實(shí)現(xiàn)。如圖9-7所示,利用4個74LS164的輸出端口分別驅(qū)動4個LED數(shù)碼管,74LS164的數(shù)據(jù)輸出端口D0-D7分別與數(shù)碼管的ah相連,只要在該位的段選線上保持段選碼電平,該位就能保持相應(yīng)的顯示字符。由于每一位由一個8位輸出口控制段選碼,所以在同一時刻各位可以顯示不同(b tn)的字符。 9.2 LED數(shù)碼管顯示(xinsh)接口共二十五頁例9-1 串行接口控制的靜態(tài)LED顯示。89C51單片機(jī)串口工作在移位寄存器
11、方式(方式0),擴(kuò)展74LS164來驅(qū)動LED靜態(tài)顯示。工作在移位寄存器方式時,串行口的TXD端輸出移位同步時鐘,RXD端輸出串行數(shù)據(jù),即段選碼數(shù)據(jù)。 0-9999的四位數(shù)顯示程序(chngx)如下: 9.2 LED數(shù)碼管顯示(xinsh)接口共二十五頁9.2 LED數(shù)碼管顯示(xinsh)接口共二十五頁9.1.3 數(shù)碼管的動態(tài)顯示方式(fngsh)將所有(suyu)顯示位的段選碼接在一起;通過位選線選擇某一時刻顯示的位,時間單位一般取15ms;采用循環(huán)掃描的方法,實(shí)現(xiàn)多位顯示。9.2 LED數(shù)碼管顯示接口共二十五頁位選線的驅(qū)動(q dn)位選線為什么需要驅(qū)動?位選線如何驅(qū)動?ULN20037
12、位達(dá)林頓驅(qū)動器ULN2003反相輸出單路驅(qū)動(q dn)能力(吸入電流)達(dá)500mA9.2 LED數(shù)碼管顯示接口共二十五頁9.2 LED數(shù)碼管顯示(xinsh)接口共二十五頁1.查段選碼:2. P2輸出段選碼3. P1輸出位選碼 注意:位選碼的值總是只有(zhyu)1個位為1。9.2 LED數(shù)碼管顯示(xinsh)接口共二十五頁4. 掃描(somio)一次方法分析:掃描1次,每位數(shù)碼管顯示(xinsh)一次。以1ms為間隔,順序?qū)10到P15輸出高電平。在某位輸出高電平期間,相應(yīng)輸出該位的段選碼。入口條件: 待顯示字符存于35H30H單元中9.2 LED數(shù)碼管顯示接口共二十五頁void di
13、sp( void) uchar i,zf,wxm; wxm=0 x01; for(i=0;i6;i+) P1=0; /關(guān)顯示(xinsh) zf=DBYTE0 x30+i; /取待顯示字符 P2=tablezf; /去段選碼輸出 P1=wxm; /輸出位選碼 wxm = wxm 1; /位選碼左移一位 delay1ms( ); #include #include #define uchar unsigned charuchar code table17=0 x3f,0 x06,0 x5b,0 x4f,0 x66,0 x6d,0 x7d,0 x07, 0 x7f,0 x6f; / 0,1,2,3,4,5,6,7 ,8,99.2 LED數(shù)碼管顯示(xinsh)接口共二十五頁void main( void) DBYTE0 x30=0; DBYTE0 x31 =1; DBYTE0 x32 =2; DBYTE0 x33=3; DBYTE0 x34 =4; DBYTE0 x35 =5; while(1) disp( ); 9.2 LED數(shù)碼管顯示(xinsh)接口共二十五頁內(nèi)容摘要單片機(jī)原理及應(yīng)用。有按鍵按下時,列線輸入電平由與此列線相連的行線電平?jīng)Q定.。鍵值=行首鍵值+列號。uchar key,temp,smm。/鍵碼。/無鍵按下,繼續(xù)查詢。/未釋放,繼續(xù)查詢。/再次
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 會議室節(jié)能用水用電規(guī)范
- 創(chuàng)業(yè)公司成本控制
- 天文學(xué)計(jì)量管理指南
- 五金配件出口業(yè)務(wù)員聘用合同
- 臨時活動車輛調(diào)度指南
- 住宅小區(qū)配電箱投標(biāo)文件樣本
- 出版公司薪酬分配方案
- 室內(nèi)木門定制合同范本
- 教育行業(yè)會議費(fèi)規(guī)范
- 城市邊緣加油站建設(shè)項(xiàng)目合同
- 索道施工方案分享版
- 2022年三會一課座談交流會發(fā)言稿.doc
- 國家開放大學(xué)《計(jì)算機(jī)繪圖(本)》章節(jié)測試參考答案
- 虧損項(xiàng)目整改措施
- 第2講循環(huán)流化床鍋爐的構(gòu)造及工作原理ppt課件
- DB45∕T 2364-2021 公路路基監(jiān)測技術(shù)規(guī)范
- 英語培優(yōu)扶差記錄表(共7頁)
- 排球比賽記分表
- 網(wǎng)站服務(wù)合同域名續(xù)費(fèi)與維護(hù)
- 實(shí)驗(yàn)幼兒園陪餐記錄表
- JJG113_2013_標(biāo)準(zhǔn)金屬洛氏硬度塊檢定規(guī)程_解讀
評論
0/150
提交評論