單片機原理及應(yīng)用(第七章輸入輸出擴展)教學課件_第1頁
單片機原理及應(yīng)用(第七章輸入輸出擴展)教學課件_第2頁
單片機原理及應(yīng)用(第七章輸入輸出擴展)教學課件_第3頁
單片機原理及應(yīng)用(第七章輸入輸出擴展)教學課件_第4頁
單片機原理及應(yīng)用(第七章輸入輸出擴展)教學課件_第5頁
已閱讀5頁,還剩68頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

7-1-1為什么要擴展I/O接口CPU和外部設(shè)備之間數(shù)據(jù)傳送有如下特點1)外部設(shè)備工作速度差異很大。慢速設(shè)備:開關(guān)、繼電器等;快速設(shè)備:磁盤等。CPU無法按固定時序協(xié)調(diào)各方的工作。2)外部設(shè)備種類繁多:機械式、機電式、電子式3)外部設(shè)備數(shù)據(jù)信號多樣化:電壓信號、電流信號數(shù)字量、模擬量等。4)外部設(shè)備數(shù)據(jù)傳送有近距離、遠距離。1接口電路對CPU和外部設(shè)備之間的數(shù)據(jù)傳送進行協(xié)調(diào)接口電路主要功能1)速度協(xié)調(diào)22)數(shù)據(jù)鎖存數(shù)據(jù)在數(shù)據(jù)總線上停留的時間十分短暫8051單片機的4個并行I/O口,都通過鎖存器和外界聯(lián)系33)三態(tài)緩沖總線隔離技術(shù):任一時刻,只允許一個數(shù)據(jù)源使用數(shù)據(jù)總線。其余數(shù)據(jù)源都和數(shù)據(jù)總線隔離。片選的含義4)數(shù)據(jù)轉(zhuǎn)換A/D、D/A轉(zhuǎn)換4用作接口電路的基本電路鎖存器三態(tài)緩沖電路集電極開路OC門兩個以上OC門輸出端并聯(lián),實現(xiàn)“線與”功能使用時,需外接上拉電阻57-1-2I/O擴展編址技術(shù)獨立編址將I/O和存儲器分開進行編址。計算機形成兩個獨立的地址空間,也就有各自獨立的讀寫操作指令。統(tǒng)一編址將I/O和存儲器統(tǒng)一進行編址。只需一套存儲器指令,直接對存儲器和I/O操作。67-1-3I/O數(shù)據(jù)傳送方式1)無條件傳送方式外部設(shè)備總是處于“準備好”狀態(tài),無須測試。隨時可以傳送數(shù)據(jù)。例如指示燈、發(fā)光二極管等。無條件輸入傳送片選72)程序查詢方式有條件數(shù)據(jù)傳送,I/O操作之前,檢查I/O設(shè)備狀態(tài),確認已為輸入輸出作好準備,實行數(shù)據(jù)傳送。無條件輸出傳送83)中斷方式查詢方式中,CPU處于主動形式,中斷方式CPU處于被動形式,等待中斷請求的到來。MCS-51的外部中斷輸入口,認為是外部設(shè)備中斷請求的輸入端。大大提高系統(tǒng)的工作效率中斷方式數(shù)據(jù)傳送示意圖97.2MCS-51單片機I/O口直接應(yīng)用I/O口操作指令將I/O口作為寄存器使用,進行字節(jié)數(shù)據(jù)傳送輸出數(shù)據(jù)MOVPx,AMOVPx,RnMOVPx,RiMOVPx,direct輸入數(shù)據(jù)MOVA,PxMOVRn,PxMOVRi,PxMOVdirect,Px10I/O口位操作指令MOV(位傳送)CLR(位清0)SETB(位置1)CPL(位取反)JB(位為1轉(zhuǎn)移)JNB(位為0轉(zhuǎn)移)JBC(位為1轉(zhuǎn)移清0)MOVPx.y,CCLR Px.ySETBPx.yCPLPx.yJBPx.y,relJNBPx.y,relJBCPx.y,rel11I/O口其它操作指令A(yù)NL(邏輯與)ORL(邏輯或)XRL(邏輯異或)INC(加1)DEC(減1)DJNZ(減1條件轉(zhuǎn)移)CJNE(數(shù)值比較轉(zhuǎn)移)ANLPx,AORLPx,AXRLPx,AINCPxDECPxDJNZPx,relCJNEA,Px,rel12I/O口直接應(yīng)用13中斷方式I/O口直接數(shù)據(jù)傳送開關(guān)扳動一次,觸發(fā)器輸出端出現(xiàn)一個負跳變,產(chǎn)生一個外部中斷請求。14MAIN:SETBIT0/脈沖邊沿觸發(fā)SETBEX0/開放外部中斷0SETBEA/開放中斷HERE:AJMPHERE/等待中斷EXTR:MOVA,#0FH/中斷服務(wù)程序MOVP1,A/熄發(fā)光二極管MOVA,P1/輸入開關(guān)狀態(tài)CPLA/狀態(tài)取反ANLA,#0FH/屏蔽高半字節(jié)SWAPA/高低半字節(jié)交換MOVP1,A/輸出開關(guān)狀態(tài)RETI157-3單片機簡單I/O口擴展應(yīng)用7-3-1簡單輸入口擴展簡單輸入解決數(shù)據(jù)緩沖問題簡單輸入擴展就是擴展緩沖器三態(tài)數(shù)據(jù)緩沖器74LS244:2四位數(shù)據(jù)緩沖器16利用74LS244進行簡單輸入擴展沒有擴展RAM,當讀外部RAM時,即選中244,進行數(shù)據(jù)輸入1774LS32:或門187-3-2簡單輸出口擴展主要功能:數(shù)據(jù)保持(鎖存)8D~1D:8位數(shù)據(jù)輸入;8Q~1D:8位數(shù)據(jù)輸出;CK:時鐘信號,上升沿數(shù)據(jù)鎖存;:使能信號典型芯片:具有使能控制的8D鎖存器1974LS377真值表20鎖存器和緩沖器的特點及使用組成鎖存器單元電路:觸發(fā)器(帶時鐘控制端觸發(fā)器)組成緩沖器單元電路:門電路(三態(tài)傳輸電路)鎖存器緩沖器217-3-3用串行口擴展并行口輸出輸入227-48255A可編程并行I/O口擴展芯片7-4-1可編程I/O接口概述簡單I/O擴展:實現(xiàn)數(shù)據(jù)緩沖和數(shù)據(jù)鎖存可編程I/O擴展:還具有狀態(tài)寄存和命令寄存功能,通過軟件編程方式,確定擴展芯片的工作方式。典型芯片:8255A,8155237-4-28255A的邏輯結(jié)構(gòu)和引腳1)口電路三個8位口,PA、PB、PC。PA、PB是單純的數(shù)據(jù)口,PC既可作數(shù)據(jù)口,也可作控制口,用于對PA、PB的控制。PC7~4,控制PA;PC3~0,控制PBPA、PC7~4稱為A組;PB、PC3~0稱為B組242)總線接口電路數(shù)據(jù)總線緩沖器:和單片機數(shù)據(jù)總線相連,8位雙向三態(tài)緩沖器,所有數(shù)據(jù)(包括控制字、狀態(tài)信息)通過該緩沖器傳送??刂七壿嫞海浩x信號(低電平有效);:讀信號(低電平有效);:寫信號(低電平有效);A0、A1:端口選擇信號;RESET:復(fù)位信號(高電平有效)3)控制邏輯電路:A組、B組邏輯控制258255A讀/寫控制表267-4-38255A工作方式及數(shù)據(jù)I/O操作方式0:基本輸入/輸出方式兩個8位口PA、PB及兩個4位口,輸入/輸出的任意組合。適用于無條件數(shù)據(jù)傳輸。也可以對C口進行位操作。以C口某一位狀態(tài),實現(xiàn)查詢方式數(shù)據(jù)傳送。方式1:選通輸入/輸出方式PA、PB用于數(shù)據(jù)輸入/輸出,PC,數(shù)據(jù)傳送聯(lián)絡(luò)信號方式2:雙向數(shù)據(jù)傳送方式只有PA,能選擇該工作方式,適用PC5位口線作控制線。PA工作于方式2下,則PB只能工作在方式0。27PC口聯(lián)絡(luò)信號定義28數(shù)據(jù)輸入IBF:輸入緩沖器滿信號(輸出),高電平有效。此信號有效,數(shù)據(jù)已裝入8255A鎖存器。狀態(tài)信號:選通脈沖(輸入),低電平有效。INTR:中斷請求信號(輸出),高電平有效。當IBF為高電平,信號由低變高,中斷請求信號有效。29數(shù)據(jù)輸出:外設(shè)響應(yīng)信號(輸入),低電平有效。當外設(shè)取走數(shù)據(jù),并處理完,向單片機發(fā)回響應(yīng)信號。:輸出緩沖器滿信號(輸出),低電平有效。狀態(tài)信息。輸出數(shù)據(jù)寫入8255A鎖存器后,信號有效。INTR:中斷請求信號(輸出),高電平有效。307-4-48255A控制字及初始化工作方式控制字C口低半字節(jié)輸入1,輸出0B口:輸入1,:輸出0方式選擇0:方式0,1:方式1方式選擇00方式0,01方式1,1方式2C口高半字節(jié)輸入1,輸出0A口:輸入1,輸出0設(shè)定工作方式標志,1有效31C口位置位/復(fù)位控制字置位:1置1,0置00123456701010101B000110011B100001111B2置位標志:0有效328255A初始化系統(tǒng)要求:PA口:工作方式0,輸入;PB口:工作方式1,輸出;PC4~PC7為輸出;PC2~PC0用于PB口方式1選通控制信號,尚余PC3線為輸入。假定8255A的地址為:5FFCH~5FFFH確定控制字控制字95H33初始化程序:MOVDPTR,#5FFFH;8255A控制字地址MOVA,#95H;MOVXDPTR,A;方式控制字寫入PC口用于置位/復(fù)位方式,PC5置位。初始化程序:MOVDPTR,#5FFFH;8255A控制字地址MOVA,#0BH;00001011bMOVXDPTR,A;方式控制字寫入34357.58155單片機可編程I/O口擴展8155具有三個可編程I/O口:A口(8位)B口(8位)C口(6位);256字節(jié)RAM;一個14位定時器367-5-18155邏輯結(jié)構(gòu)37引腳說明AD0~AD7:地址/數(shù)據(jù)線(復(fù)用線)ALE下降沿觸發(fā)鎖存8位地址(RAM單元地址)。ALE:地址鎖存信號將8位地址鎖存,同時鎖存片選信號和信號。

:I/O與RAM選擇信號0:對RAM進行讀寫;1:對I/O進行讀寫38:片選信號;:讀選通信號;:寫選通信號;PA、PB兩個8位口,編程選定輸入輸出方式;RESET:復(fù)位信號,復(fù)位后,I/O口為輸入方式。PA、PB口都是數(shù)據(jù)口,只有輸入/輸出兩種工作方式;39PC口:既可作為輸入/輸出口,或編程選擇PA、PB工作方式。作控制時PC各位定義:PC0:AINTR(A口中斷請求信號);PC1:ABF(A口緩沖器滿標志);PC2:(A口選通脈沖);PC3:BINTR(B口中斷請求信號);PC4:BBF(B口緩沖器滿標志);PC5:(B口選通脈沖)40PC口聯(lián)絡(luò)信號定義INTR:中斷請求信號(輸出);BF:緩沖器滿信號(狀態(tài)信號);:選通信號(輸入),輸入時選通,輸出時應(yīng)答可以看出,PC口具有:輸入方式;輸出方式;PA控制端口方式;PA、PB控制端口方式。417-5-28155的命令/狀態(tài)寄存器命令寄存器:8位寄存器(鎖存器)定義8155的工作方式狀態(tài)寄存器:7位寄存器(鎖存器,最高位沒定義)鎖存I/O口和定時/計數(shù)器的當前狀態(tài)。兩寄存器用一個口地址,命令寄存器只能寫入,狀態(tài)寄存器只能讀出。故稱:命令/狀態(tài)寄存器4200:A、B基本I/O,C輸入;01:A、B基本I/O,C輸出;10:A選通I/O,B基本I/O;11:A、B選通I/OA中斷允許,1允許B中斷允許,1允許定時器工作方式00:不影響計數(shù)器工作01:停止計數(shù)10:達到計數(shù)值停止11:啟動計數(shù)8155命令字格式438155狀態(tài)字格式INTR:中斷請求標志;BF:緩沖器滿標志;INTE:中斷允許標志;TIMER:定時器/計數(shù)器中斷請求標志。448155的工作方式通過命令寄存器進行設(shè)置基本I/O方式:命令字D3D2=00或01,A、B、C口均工作在基本輸入/輸出方式D3D2=00,C口輸入;D3D2=01,C口輸出選通I/O方式:命令字D3D2=10,PA口為選通方式;PB口基本輸入/輸出方式,PC3、PC4、PC5三根線輸出。命令字D3D2=11,PA、PB口均為選通方式;45RAM單元及I/O口編址通過8位地址線AD0~AD7進行編址通過端口的電平,確定當前尋址是RAM還是I/O口六個可編址I/O端口467-5-38155與MCS-51單片機連接8155和MCS-51兼容信號有:AD0~AD7、ALE、RESET、、??梢灾苯酉噙B。當P0.7~P0.3=00000對應(yīng)6個可編址端口。范圍00H~07H。當P0.7~P0.3為其它組合時,對應(yīng)RAM,地址為08H~FFH47以高位地址直接作為信號對8155使用16位編址當時,8155內(nèi)部RAM地址為:0000H~00FFH;當時,8155端口地址為:0100H~0105H487-5-48155的定時器/計數(shù)器14位減法計數(shù)器兩個8位寄存器構(gòu)成49定時器的工作狀態(tài)控制由命令字D7D6確定D7D6=00:不影響計數(shù)器工作(原來怎么工作還怎么工作);D7D6=01:停止計數(shù)。如計數(shù)器未啟動,則無操作;如正運行,則停止計數(shù)。D7D6=10:達到計數(shù)值時(計數(shù)器減為0)停止。D7D6=11:啟動計數(shù)。如計數(shù)器沒運行,則在裝入計數(shù)值后開始計數(shù);如計數(shù)器已運行,則在當前計數(shù)值計滿后,再以新的計數(shù)值進行計數(shù)。508155定時器和MCS-51定時器的比較1)MCS-51定時器/計數(shù)器是加法計數(shù);8155定時器/計數(shù)器是減法計數(shù)。2)MCS-51定時器/計數(shù)器有多種工作方式,8155定時器/計數(shù)器只有一種工作方式,即14位計數(shù)方式,通過軟件方法進行計數(shù)初值加載。3)MCS-51定時器/計數(shù)器定時時,芯片內(nèi)部提供計數(shù)脈沖;計數(shù)時,從芯片外部引入計數(shù)脈沖(P3.4,P3.5)。8155定時器/計數(shù)器不論定時還是計數(shù),都由外部提供計數(shù)脈沖。514)MCS-51定時器/計數(shù)器計數(shù)溢出自動置位TCON寄存器TF位。8155定時器/計數(shù)器計數(shù)溢出時,向芯片外輸出一個信號(TIMEROUT)信號形式由M2M1定義:528155應(yīng)用舉例對計數(shù)脈沖24分頻(計數(shù)24后,輸出端口電平發(fā)生變化),并重新置數(shù)以產(chǎn)生連續(xù)方波。假定PA口輸入方式;PB口輸出方式;PC口輸入方式,禁止中斷。計數(shù)初值:0018H計數(shù)器最高兩位M2M1=01,計數(shù)常數(shù):4018H8155命令字:控制字:C2H53假定高8位地址:00111111B=3FH(與譯碼輸出的相連,與P2.0選通)8155口地址:3F00H~3F05H,8155RAM地址:3E00H~3EFFH初始化程序:INITI:MOVDPTR,#3F04H ;定時寄存器低8位地址MOVA,#18H ;低8位常數(shù)MOVXDPTR,A ;INCDPTR ;高8位地址MOVA,#40H ;高8位常數(shù)MOVXDPTR,A ;MOVDPTR,#3F00H ;8155控制字地址MOVA,C2H ;命令字MOVXDPTR,A54訪問8155RAM的地址位3E00H~3EFFH和訪問外部RAM一樣。MOVDPTR,#3EH ;送地址MOVXDPTR;A ;寫MOVXA;DPTR ;讀557-6單片機鍵盤接口技術(shù)編碼鍵盤:硬件方式產(chǎn)生編碼非編碼鍵盤:軟件方式產(chǎn)生編碼非編碼鍵盤:結(jié)構(gòu)簡單、成本低廉鍵按行列構(gòu)成矩陣,每一個交叉點對應(yīng)一個鍵,實際是一個機械開關(guān)。非編碼鍵盤的接口技術(shù)的主要內(nèi)容是如何確定被按鍵的行列位置。鍵碼的識別問題56按鍵識別:常用行掃描法571)測試有無鍵按下:檢查輸入端,是否有端口為低電平2)去抖動硬件方法:軟件方法:采用延遲躲過抖動,待信號穩(wěn)定后,再進行鍵掃描。延遲時間10~20ms。3)確定按鍵物理位置,計算鍵碼4)等待鍵釋放通過時間延遲實現(xiàn)按鍵識別58鍵碼編排鍵碼計算公式:鍵碼=行首鍵號+列號59鍵盤接口及程序設(shè)計假設(shè)A口地址0101HC口地址0103H60鍵盤掃描程序一般包含延遲子程序和判斷子程序判斷子程序(判斷是否有鍵閉合)KS1: MOV DPTR,#0101H ; MOVA,#00H ; MOVXDPTR,A ;PA口送00H INC DPTR ; INC DPTR ;取得PC口地址 MOV A,DPTR ;讀PC口 CPL A ;無鍵按下,全0 ANL A,#0FH ;屏蔽A

溫馨提示

  • 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論