![按鍵識別與段碼LED顯示(第九章)_第1頁](http://file2.renrendoc.com/fileroot_temp3/2021-5/7/028f78bc-972d-434c-8bbf-92653dad6225/028f78bc-972d-434c-8bbf-92653dad62251.gif)
![按鍵識別與段碼LED顯示(第九章)_第2頁](http://file2.renrendoc.com/fileroot_temp3/2021-5/7/028f78bc-972d-434c-8bbf-92653dad6225/028f78bc-972d-434c-8bbf-92653dad62252.gif)
![按鍵識別與段碼LED顯示(第九章)_第3頁](http://file2.renrendoc.com/fileroot_temp3/2021-5/7/028f78bc-972d-434c-8bbf-92653dad6225/028f78bc-972d-434c-8bbf-92653dad62253.gif)
![按鍵識別與段碼LED顯示(第九章)_第4頁](http://file2.renrendoc.com/fileroot_temp3/2021-5/7/028f78bc-972d-434c-8bbf-92653dad6225/028f78bc-972d-434c-8bbf-92653dad62254.gif)
![按鍵識別與段碼LED顯示(第九章)_第5頁](http://file2.renrendoc.com/fileroot_temp3/2021-5/7/028f78bc-972d-434c-8bbf-92653dad6225/028f78bc-972d-434c-8bbf-92653dad62255.gif)
版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、第九章MCS - 51單片機與鍵盤、顯示器(LED)的接口9.1 MCS 51單片機與鍵盤的接口9.1.1鍵盤的工作原理及消抖方法 按紐在按下和松開的瞬間(10ms內),都會產生電平的快速波動 (抖動)。見P212的圖9-1。斷開斷開眥閉合州心 一 =a*- * Y41. 硬件消抖:添加電路。 采用雙穩(wěn)態(tài)的 RS觸發(fā)器(見P213的圖9-2),但需使用三個接點的按鍵。 采用RC積分電路(見P213的圖9-3)。2. 軟件消抖:當檢測到有電平變化時,延時一段時間(10ms),跳過電平的抖動,再進行識別處理。在單片機的應用中都是使用軟件消抖的方法,不添加電路。扳鍵式開關9.1.2扳鍵開關、撥盤開關
2、與單片機的接口扳鍵開關和撥盤開關一般用在不太需變換狀態(tài)的輸入位識別中,最終變?yōu)榱硪环€(wěn)定狀態(tài),一般不需消抖。 常見的接口電路有:1.直接P 口輸入單個扳鍵開關例:針對下圖電路編程實現(xiàn):K當K閉合,LED持續(xù)閃動(每200ms 一次); 設:Delay300為延時300ms的子程序。當K斷開則關閉LED。EQUP1.1LEDEQUP1.0Main:SETBK;P 口作為輸入的位,在測試前必須先置為“ 1”。JBK,LB;測試開關的電平,為“1”則轉移到LB。LA:SETBLED;輸出高電平,閃亮LEDLCALLDelay200;延時200msy_1P1.0CLRLED;輸出低電平,閃滅一+5VLC
3、ALLDelay200;延時200ms8051LJMPMai n;循環(huán)測試開關R LB:CLRLED;輸出低電平,熄滅SJMPMai n;循環(huán)測試開關丄*31.1多個撥盤開關(排鍵) 多個撥盤開關一般用于靜態(tài) 的狀態(tài)位輸入,在程序的初始 段中識別。對應的控制程序:MOV P1,#0FFHMOV A,P1按紐式按鍵8051no n IP2.U1P2.1P2.2J 1 1K2 1 K! K0 19.1.3獨立式鍵盤接口設計+5V按鈕式按鍵在按下和松開的瞬間會產生電位的抖動,識別的軟件需加以處理,運行的結果才不會異常。斷開斷開眥閉合州- h 6 G 6按紐式按鍵的識別(程序段):按下后還得有鍵釋放的
4、處理。K0EQUP2.0K1EQUP2.1K2EQUP2.2Main:AN0:SETBK0JBK0, AN1;P1.0=1表示按鍵K0沒按下,轉處理其他按鍵。LCALLDelay10;P1.0=0表示按鍵按下,延時 10ms(消除抖動)SETBK0JBK0, AN1;再測,P1.0=1是按鍵抖動,轉處理其他按鍵。LCALLFUN_K0;K0鍵的處理子程序LA :SETBK0;鍵釋放處理。JNBK0, LA;P1.0=0表示按鍵K0沒松開,轉鍵釋放處理。LCALLDelay10;P1.0=1表示按鍵松開,延時 10ms(消除抖動)SETBK0JNBK0, LA;再測,P1.0=0是按鍵抖動,轉鍵
5、釋放處理。LJMPMai nAN1 :SETBK1JBK1, AN2;P1.1=1表示按鍵K1沒按下,轉處理其他按鍵例1:按一下按鈕K,LED燈點亮;再按一下 K則關閉LED燈設:DelaylO為延時10ms的子程序程序段1 :(會異常)KBITP1.1LEDBITP1.0L1 :SETBKLEDJBK, L1;判鍵按下P1.0CPLLED;對應S鍵按下的處理SJMPL1+5V程序段2 :(正確)1E8051L1 :SETBKJBK, L1判鍵按下K 一LCALLDelaylO;消除抖動LP1.1JBK, L1CPLLED;對應S鍵按下的處理L2 :SETBKJNBK, L2判別鍵釋放LCAL
6、LDelay10;消除抖動JNBK, L2SJMPL1例2:按一下按鈕S, LED持續(xù)閃動(每200ms一次);再按一下S則關閉LED 設:Delay200為延時200ms的子程序。解:需設置一狀態(tài)位來表示當前是閃動或是關閉。KBITP1.1LEDBITP1.0TTBIT0DH;內存地址 21H的第6位;TT=0表示LED關閉,TT=1表示LED閃動。Main:JBTT, Main1CLRLED;關閉LEDSJMPMai n2Mai n1:CPLLED;閃動LEDLCALLDelay200Mai n2:SETBK;JBK, Main;判鍵按下LCALLDelay10;消除抖動JBK, Main
7、;CPLTT;這里僅對TT取反,具體的鍵處理在主程序中依TT的值進行處理。Main3 :SETBKJNBK, Main3;判別等待鍵釋放LCALLDelay10;消除抖動JNBK, Main3;SJMPMai n9.2 MCS - 51單片機與顯示器的接口9.1.1 LED顯示器結構及其工作原理常用的有7段碼LED顯示器和“米”字型段碼LED顯示器。見P226, 227頁的圖9-16和圖9-17。LED段碼顯示器分為共陰和共陽兩種。9.2.2 LED顯示器顯示方式及使用1. LED靜態(tài)顯示:例如連接 4個7段碼LED顯示器,顯示出 1 2 3 4。 帶譯碼的7段碼LED顯示器的共陽端接 +5V
8、,陰端分別接 P0.0P0.3、P0.4P0.7、P1.0P1.3、P1.4P1.7。 相應的顯示子程序如下:DISP1 :MOVMOVMOVCMOVMOVMOVRETA, #12HP2, AA, #34HP1, AA, #56HPO, A 不帶譯碼 的7段碼LED顯示器的共陽端接+5V, 8個陰端接P0 口、P1 口、P2 口、P3 口。DISP2 :MOVMOVMOVCMOVMOVMOVCMOVDPTR,#SETTAB ;取表頭地址A,#1A,A+DPTR ;取段碼PO,A;顯示1 A,#2A,A+DPTR ;取段碼P1,A;顯示2MOV A,#3MOVC A,A+DPTR ;取段碼相應的
9、顯示子程序如下:MOVP2,A;顯示3MOVA,#4MOVC A,A+DPTR ;取段碼MOV P3,A;顯示4RETSETTAB : DBOCOH, 0F9H, 0A4H, OBOH, 99H, 92H, 82H, 0F8H, 80H, 90H例3:按鍵計數(shù)程序。硬件原理圖:+5V8051P3.2(有異常的程序,按鍵沒有消抖處理)KBITP3.2SEQU20HORG0000HMain:MOVS, #00H;S置初值0MOVP0, #0C0H;顯示空L1:SETBKJBK, L1;K=1,無鍵入INCS;K鍵按下的處理:S S+1,顯示數(shù)值S(09)MOVA, SMOVDPTR, #TABMO
10、VCA, A+DPTR;取出數(shù)值S對應的LED顯示段碼MOVP0, A;顯示數(shù)值S(09)MOVA, SCJNEA, #10, L1SJMPMainTAB:DB0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H,0C0HENDP0(正確的程序,按鍵進行消抖處理)KBITP3.2SEQU20HORG0000HMain:MOVS, #00H;S置初值0MOVP0, #0C0H;顯示空L1:SETBKJBK, L1;K=1,無鍵入LCALLDelay10;消抖處理JBK, L1;K=1,是抖動INCS;K鍵按下的處理:S S+1,顯示數(shù)值S(09)MOVA, SMOVDPTR, #TABMOVCA, A+DPTR;取出數(shù)值S對應的LED顯示段碼MOVP0, A;顯示數(shù)值S(09)L2:SETBKJNBK, L2;K=0,鍵沒有松開LCALLDelay10;消抖處理JNBK, L2;K=0,是抖動MOVA, SCJNEA, #10, L1SJMPMainTAB:DB0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 煤炭購銷合同擔保書
- 代購合作協(xié)議合同
- 燃氣承包合同
- 江蘇商品房買賣合同模板
- 合同書電子版
- 安裝合同簡單版樣本
- 2025年人教A版九年級歷史下冊月考試卷含答案
- 2025年外研銜接版九年級歷史下冊階段測試試卷
- 2025年滬教版必修2歷史上冊月考試卷含答案
- 2025年湘教版九年級地理下冊月考試卷
- 客車交通安全培訓課件
- 藝術培訓校長述職報告
- ICU新進人員入科培訓-ICU常規(guī)監(jiān)護與治療課件
- 人教版一年數(shù)學下冊全冊分層作業(yè)設計
- 選擇性必修一 期末綜合測試(二)(解析版)2021-2022學年人教版(2019)高二數(shù)學選修一
- 學校制度改進
- 各行業(yè)智能客服占比分析報告
- 年產30萬噸高鈦渣生產線技改擴建項目環(huán)評報告公示
- 民謠酒吧項目創(chuàng)業(yè)計劃書
- 2023年珠海市招考合同制職員筆試參考題庫(共500題)答案詳解版
- 心電監(jiān)護考核標準
評論
0/150
提交評論