第五章單片機的輸入輸出設(shè)備接口_第1頁
第五章單片機的輸入輸出設(shè)備接口_第2頁
第五章單片機的輸入輸出設(shè)備接口_第3頁
第五章單片機的輸入輸出設(shè)備接口_第4頁
第五章單片機的輸入輸出設(shè)備接口_第5頁
已閱讀5頁,還剩30頁未讀 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

第五章單片機的輸入/輸出設(shè)備接口第一節(jié)鍵盤接口編碼鍵盤:

硬件方式產(chǎn)生編碼非編碼鍵盤:軟件方式產(chǎn)生編碼非編碼鍵盤:結(jié)構(gòu)簡單、成本低廉鍵按行列構(gòu)成矩陣,每一個交叉點對應(yīng)一個鍵,實際是一個機械開關(guān)。非編碼鍵盤的接口技術(shù)的主要內(nèi)容是如何確定被按鍵的行列位置。一、鍵盤接口概述1.單片機實現(xiàn)鍵盤接口的常用方法獨立式鍵盤:由一組相互獨立的按鍵組成,每個按鍵與一位I/O口相連,接口簡單,但是占用I/O口較多。矩陣式按鍵:鍵按行列組成矩陣,行和列相交處安放一個按鍵,每條行線或列線與一位I/O相連,節(jié)省I/O資源。2.鍵盤輸入接口解決的任務(wù)⑴鍵盤掃描和去抖動按鍵開關(guān)在電路中的連接圖按鍵未按下時,A點的電平位+5V;按下時,A點的電平位低電平;由于按鍵是機械的彈性開關(guān),在按下和斷開時,觸點在閉合和斷開時,會引起A點電位的不穩(wěn)定,一般有5~10ms的抖動,導(dǎo)致誤信號,使CPU產(chǎn)生錯誤的處理。硬件去抖動方法:R-S觸發(fā)器消抖電路+5V

閉合斷開濾波消抖電路軟件去抖方法:采用延遲躲過抖動,待信號穩(wěn)定后,再進(jìn)行鍵掃描。延遲時間10~20ms。⑵鍵值或鍵號的計算當(dāng)確定有鍵按下時,需進(jìn)一步根據(jù)行線和列線的狀態(tài)確定按下鍵的值或鍵號,以實現(xiàn)鍵功能的程序。⑶等待鍵釋放獲得鍵值后在以延時或查詢的方法等待鍵釋放,以保證鍵的一次閉合只進(jìn)行一次鍵功能的實現(xiàn)。⑷確定鍵盤的監(jiān)控方法中斷方式執(zhí)行。當(dāng)有鍵被按下時,向單片機發(fā)出中斷請求,中斷響應(yīng)后執(zhí)行鍵盤掃描工作。定時方式執(zhí)行。利用內(nèi)部定時計數(shù)器完成一段時間的重復(fù)定時,每次定時完成執(zhí)行一次鍵盤掃描工作。二、獨立式按鍵獨立式按鍵:每個按鍵單獨占有一根I/O資源,當(dāng)按鍵較多時,I/O資源占用較多。其優(yōu)點是程序設(shè)計簡單。eg、三個按鍵與8031的連接電路,試編制按鍵掃描子程序。KEY:MOVP1,#07H MOVA,P1 CPLA ANLA,#07H JZGRET JBACC.0,KEY1 JBACC.1,KEY2 JBACC.2,KEY3GRET:RETKEY1:LCALLWORK1KEY2:LCALLWORK2KEY3:LCALLWORK3RET三、矩陣式按鍵1.矩陣式鍵盤的工作原理

X0~X3為鍵盤的行線,通過電阻接+5V;Y0~Y3為鍵盤的列線,由單片機控制其輸入信號。每條行線和列線處有一個按鍵結(jié)構(gòu),當(dāng)所有鍵未被按下時,行線與列線斷開,每條行線都呈現(xiàn)高電平。當(dāng)有鍵被按下時,按鍵所在行線與列線短路,此時行線的電平由列線的電位所決定。2.矩陣式鍵盤接口4×8鍵盤、6位顯示器和803l的接口邏輯。圖中8031外接一片8155,8155的RAM地址為7E00~7EFFH,I/O口地址為7F00~7F05H,8155的PA口為輸出口,控制鍵盤的列線Y0~Y7的電位作為鍵掃描口,同時又是6位顯示器的掃描口,PB口作為顯示器的段數(shù)據(jù)口,8155的C口作為輸入口,PC0~PC3接行線Y0~Y3,稱為鍵輸入口。3..鍵鍵盤盤掃掃描描程程序序鍵輸輸入入程程序序的的功功能能::(1)判判別別鍵鍵盤盤上上有有無無鍵鍵閉閉合合::其其方方法法為為掃掃描描口口PA0~~PA7輸輸出出全全““0””,,讀讀PC口口的的狀狀態(tài)態(tài),,若若PC0~~PC3,,為為全全““1””(鍵鍵盤盤上上行行線線全全為為高高電電平平),,則則鍵鍵盤盤上上沒沒有有閉閉合合鍵鍵;;若若PC0~~PC3不不為為全全““1””,,則則有有鍵鍵處處于于閉閉合合狀狀態(tài)態(tài)。。(2)去去除除鍵鍵的的機機械械抖抖動動::其其方方法法為為判判別別到到鍵鍵盤盤上上有有鍵鍵閉閉合合后后,,延延遲遲一一段段時時間間再再判判別別鍵鍵盤盤的的狀狀態(tài)態(tài),,若若仍仍有有鍵鍵閉閉合合,,則則認(rèn)認(rèn)為為鍵鍵盤盤上上有有一一個個鍵鍵處處于于穩(wěn)穩(wěn)定定的的閉閉合合期期,,否否則則,,認(rèn)認(rèn)為為是是鍵鍵的的抖抖動動。。(3)判判別別閉閉合合鍵鍵的的鍵鍵號號::方方法法為為對對鍵鍵盤盤的的列列線線進(jìn)進(jìn)行行掃掃描描,,掃掃描描口口PA0~~PA7依依次次輸輸出出::PA7PA6PA5PA4PA3PA2PA1PA01111111011111101:01111111相應(yīng)地順順次讀出出PC口口的狀態(tài)態(tài),若PC0~~PC3為全““1”,,則列線線輸出為為“0””的這一一列上沒沒有鍵閉閉合;否否則,這這一列上上有鍵閉閉合。閉閉合鍵的的鍵號等等于為低低電平的的列號加加上為低低電平的的行的首首鍵號。。eg、PA口的的輸出為為11111101時時,讀出出PC0~PC3為1101,則1行1列列相交的的鍵處于于閉合狀狀態(tài),第第一行的的首鍵號號為8,,列號為為1,閉閉合鍵的的鍵號為為:N:行首首鍵號+列號==8+1=9(4)使使CPU對鍵的的一次閉閉合僅作作一次處處理:采采用的方方法為等等待閉合合鍵釋放放以后再再作處理理。程序中把把顯示子子程序作作為去抖抖動延時時子程序序,這可可使得進(jìn)進(jìn)入鍵輸輸入子程程序后,,顯示器器始終是是亮的。。該程序返返回后輸輸入鍵的的鍵號在在A。鍵輸入子子程序的的框圖::鍵盤掃描描程序如如下:KEY1:ACALLKS1;;調(diào)用判判別有無無鍵閉合合子程序序JNZLK1ACALLDIR;;調(diào)調(diào)用顯示示子程序序,延遲遲6msAJMPKEY1LK1::ACALLDIRACALLDIRACALLKS1;;調(diào)用判判別有無無閉合鍵鍵子程序序JNZLK2ACALLDIRAJMPKEY1LK2::MOVR2,#0FEH;;掃描描初值送送R2MOVR4,#00H;;掃描描列號送送R4LK4::MOVDPTR,#7F01H;;指向向A口MOVA,R2MOVX@DPTR,A;;掃掃描初值值送A口口INCDPTRINCDPTRMOVXA,@DPTR;;讀8155C口JBACC.0,LONE;ACC.0==1,第第0行無無鍵按下下,轉(zhuǎn)轉(zhuǎn)LONEMOVA,#00H;;裝第0行行值值A(chǔ)JMPLKP;;轉(zhuǎn)轉(zhuǎn)去計算算鍵值LONE:JBACC.1,LTWO;ACC.1==1,第第1行無無鍵按下下,轉(zhuǎn)TWOMOVA,#08H;;裝第第1行行行值A(chǔ)JMPLKP;;轉(zhuǎn)去去計算鍵鍵值LTWO:JBACC.2,LTHR;ACC.2==1,第第2行無無鍵按下下,轉(zhuǎn)THRMOVA,#10H;;裝第2行行值值A(chǔ)JMPLKP;;轉(zhuǎn)轉(zhuǎn)去計算算鍵值LTHR:JBACC.3,NEXT;ACC.3==1,第第3行無無鍵按下下,轉(zhuǎn)NEXTMOVA,#18H;;裝裝第3行行值LKP::ADDA,R4;;計算鍵鍵值PUSHACC;;保護(hù)護(hù)鍵值LK3::ACALLDIR;;延時6msACALLKS1;;查鍵是是否繼續(xù)續(xù)閉合,,若閉合合再延時時JNZLK3POPACC;;若鍵鍵起,則則鍵碼送送ARETNEXT:INCR4MOVA,R2JNBACC.7,KNDRLAMOVR2,AAJMPLK4KND::AJMPKEY1KS1::MOVDPTR,#7F01H;;指指向A口口MOVA,#00HMOVX@DPTR,A;;全““0”掃掃描INCDPTRINCDPTR;;指向C口MOVXA,@DPTR;;讀鍵鍵入狀態(tài)態(tài)CPLAANLA,#0FH;;屏屏蔽高位位RETDIR::┅;;顯示示子程序序,延遲遲6ms第二節(jié)LED顯示示器接口口一、顯示示器的結(jié)結(jié)構(gòu)管腳配置及外形圖共陰極共陽極七段LED顯示示器的顯顯示碼((段選碼碼)二、顯示示方式1.LED靜態(tài)態(tài)顯示方方式靜態(tài)顯示示方式::當(dāng)顯示示器顯示示某一個個字符時時,相應(yīng)應(yīng)的發(fā)光光二極管管恒定地地導(dǎo)通或或截止。。優(yōu)點:顯顯示穩(wěn)定定,節(jié)省省CPU時間。。缺點:I/O口口線多。。

利用串行口擴展兩片靜態(tài)顯示電路設(shè)顯示緩緩沖區(qū)為為30H、31H,由由R1作作顯示緩緩沖區(qū)的的地址指指針,74LS164的清零零端CLR由P1.0控制,,低電平平有效。。程序設(shè)計計如下::DISP:MOVR6,#02H;;顯顯示位數(shù)數(shù)MOVR1,#30H;;設(shè)顯顯示區(qū)指指針MOVSCON,#00H;;設(shè)串行行口控制制寄存器器,方式式0LOOP:MOVA,@R1MOVDPTR,#TABMOVCA,@A+DPTR;;查表表,獲得得顯示碼碼MOVSBUF,A;;送送去顯示示JNBTI,$;;等等待發(fā)送送完畢CLRTIINCR1;;取取下一個個數(shù)DJNZR6,LOOPRETTAB::DBC0H,F(xiàn)9H,,A4H,B0H,99H,,92H,,82H,F(xiàn)8H,80H,,90H2.LED動態(tài)態(tài)顯示方方式動態(tài)顯示示方式::一位一一位地輪輪流點亮亮各位顯顯示器((掃描))。LED動動態(tài)接口口電路顯示緩沖沖區(qū)在RAM中設(shè)置置,用于于存放要顯示的數(shù)字或或字符。。位控口地地址0FF20H(PA口)),段控控口地址址0FF21H(PB口),,控制口口地址0FF23H。。數(shù)碼管為為共陰極極,驅(qū)動動74LS240為反反相器,,段碼取取用“共共陽極段段選碼””;位驅(qū)驅(qū)動75451為同相相。字位表20H10H08H04H02H01HORG2000HDISUP:MOVP2,#0FFHMOVA,,#081H;;定定義8155工工作方式式MOVDPTR,,#0FF23HMOVX@DPTR,AMOVR0,#79H;;顯示緩緩沖區(qū)首首地址MOVR3,#01H;;位選碼碼MOVA,,R3DISUP1::CPLAMOVR1,#20H;;指向A口MOVX@R1,AINCR1;;指向向B口MOVA,@R0;;取顯顯示數(shù)據(jù)據(jù)MOVDPTR,,#2100HMOVCA,@A+DPTR;;查表取取段數(shù)據(jù)據(jù)MOVX@R1,ALCALLDL1;;延時時1msINCR0MOVA,R3JBACC.5,DISUPRLAMOVR3,,ASJMPDISUP1ORG2100HDB0C0H,0F9H,,0A4H,0B0H,99H92H,,82H,0F8H,80H,,90HORG2200HDL1::MOVR7,#02HDL:MOVR6,#0FFHDL6::DJNZR6,DL6DJNZR7,DLRET電腦時鐘鐘(定時時、中斷斷、顯示示綜合實實驗)以秒、分分、時為為單位實實現(xiàn)時鐘鐘計時。。1.實現(xiàn)現(xiàn)時鐘計計時的基基本方法法(1)計計數(shù)初值值計算定時器的的定時時時間定為為125ms,,計數(shù)溢溢出8次次即得到到時鐘計計時的最最小單位位秒,而而8次計計數(shù)用軟軟件方法法實現(xiàn)。。T0,方式式1,fosc=6MHz,,計數(shù)初值值為X,則則:(216-X)×2=125000X=6070,二進(jìn)進(jìn)制表示為為1011110110110,十六六進(jìn)制表示示為17B6H。(2)采用用中斷方式式進(jìn)行溢出出次數(shù)的累累計。計滿滿8次即得得到秒計時時。(3)從秒秒到分和從從分到時的的計時是通通過累加和和數(shù)值比較較實現(xiàn)。(4)時鐘鐘顯示及顯顯示緩沖區(qū)區(qū)2.程序流流程及程序序清單(1)主程程序(MAIN)主程序的主主要功能是是進(jìn)行定時時器/計數(shù)數(shù)器的初始始化編程,,然后通過過反復(fù)調(diào)用用顯示子程程序的方法法,等待125ms定時中斷斷的到來。。(2)顯示示子程序((DISUP)ORG0000HSTART:LJMPMAINORG000BHLJMPPITOORG1000H;;主程序MAIN::MOVSP,,#60H;;定義堆棧棧MOVR0,#79H;;顯顯示單元清清0MOVR7,#06HML1:MOV@R0,,#00HINCR0DJNZR7,,ML1MOVTMOD,#01HMOVTL0,,#B6HMOVTH0,,#17HSETBTR0SETBEASETBET0MOV30H,,#08H;;設(shè)置置循環(huán)次數(shù)數(shù)ML0:LCALLDISUP;;調(diào)調(diào)用顯示子子程序SJMPML0(3)中斷斷服務(wù)程序序(PITO)中斷服務(wù)程程序的主要要功能是進(jìn)進(jìn)行計時操操作。程序序開始先判判斷計數(shù)溢溢出是否滿滿了8次,,不滿8次次表明還沒沒達(dá)到最小小計時單位位秒,中斷斷返回;如如滿8次則則表明已達(dá)達(dá)到最小計計時單位秒秒,程序繼繼續(xù)向下執(zhí)執(zhí)行,進(jìn)行行計時操作作。ORG1200H;;中斷服服務(wù)程序PI

溫馨提示

  • 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論