




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
第7章單片機并行I/O擴展
7.1單片機I/O擴展基礎知識7.2可編程并行接口芯片82557.3鍵盤接口技術7.4LED顯示器接口技術7.5打印機接口技術7.1單片機I/O擴展基礎知識
使用單片機本身的I/O口,可以實現一些簡單的數據出入/輸出傳送。但是對于復雜的I/O操作,必須有接口電路的協調與控制。所以I/O擴展的主要內容是接口問題。
存儲器和單片機具有相同的電路和信號形式,能相互兼容直接使用,因此,存儲器和單片機之間采用同步定時工作方式,它們之間只要是時序關系上相互滿足就可以正常工作。所以它們之間的信號可直接連接,不存在接口問題。I/O接口電路的功能1.速度協調2.輸出數據鎖存3.數據總線隔離三態緩沖電路的基本概念。4.數據轉換5.增強驅動能力通過接口電路為輸出數據提供足夠的驅動功率,以保證外部設備能正常、平穩地工作。I/O編址技術為了對I/O接口電路中的端口進行操作,就需要對他們進行編址,所以就出現了I/O編址問題。單片機I/O控制方式簡單的I/O口擴展舉例參考程序:CONT:MOVDPTR,#01FFH;數據指針指向口地址
MOVXA,@DPTR;檢測按鍵,向74LS244讀入數據
MOVX@DPTR,A;向74LS273輸出數據,驅動LED?SJMPCONT;循環7.2可編程并行接口芯片82558255硬件邏輯結構8255芯片引腳圖3)控制電路根據CPU送來的控制字使所管I/O口按一定方式工作。對C口甚至可按位實現“置位”或“復位”。
控制電路分為兩組:
A組控制電路控制A口及C口的高4位(PC7~PC4)B組控制電路控制B口及C口的低4位(PC3~PC0)。
A組控制和B組控制合在一起構成8255的控制電路,其中包括一個8位控制寄存器,用于存放編程命令和實現各口操作控制。
(中斷控制電路)8255的邏輯結構芯片的引腳信號說明芯片的引腳信號說明8255工作方式方式0工作方式不需要任何選通信號。A口、B口及C口的兩個4位口中任何一個端口都可以由程序設定為輸入或輸出。方式1工作方式下,A、B、C三個口分為兩組。A組包括A口和C口的高4位,A口可由編程設定為輸入口或輸出口,C口的高4位則用來作為A口輸入/輸出操作的控制和同步信號;B組包括B口和C口的低4位,B口可由編程設定為輸入口或輸出口,C口的低4位則用來作為B口輸入/輸出操作的控制和同步信號。方式1下,A口和B口均為輸入,這種情況和兩口均為輸出類似,各條控制引線的定義如圖6.2.4所示。
A口和B口作輸出口時,C口提供的控制引線
A口和B口作輸入口時,C口提供的控制引線
工作方式2時,C口提供的控制線8255的編程內容:工作方式命令C口位置位/復位命令初始化編程
8255的工作方式命令和C口位置位/復位命令,變成寫入的命令保存在它的控制寄存器中。由于這兩條命令是通過標志為狀態進行區別的,所以可以按同一地址寫入且不受先后順序的限制。RESETCS70PAPA~70PBPB~70PCPC~WR0.0P7.0P7.2P1A0A0D7D8051825574LS373RSTALERDRDWR8255的常用連接示意圖程序:8255接口應用1、8255的I/O控制方式
8255中可以使用無條件方式、查詢方式和中斷方式共3種I/O控制方式。2、端口選擇及讀/寫控制
8255共有4個可尋址端口,A口、B口、C口和控制寄存器,由CS和地址A0、A1的狀態組合進行選擇,由讀/寫信號RD和WR進行端口控制操作。8255端口選擇及讀/寫控制7.3鍵盤接口技術鍵掃描和鍵碼生成:1.接口電路邏輯圖8255作鍵盤接口如上圖所示:A口為輸出口,接相應的行/列線,C口為輸入口,接相應的行/列線。則:A口地址為8000H,
B口地址為8001H,
C口地址為8002H,
控制寄存器地址為8003H。2.判斷有無閉合鍵的子程序判定有無閉合鍵的子程序為KS,供在鍵盤掃描程序中調用。(開始前,通過程序反復不斷地進行閉合鍵查找,查看鍵盤中是否有鍵閉合,為此應先使行線輸出口輸出全為0,再讀回列線狀態,若列線狀態為全1,則表明沒有鍵按下;若不為全1,則表明有鍵按下。發現閉合鍵后才接著進行鍵盤掃描,判定閉合的是那個鍵;若無閉合鍵,就返回去重復進行閉合鍵的查找。)KS:MOVDPTR,#8000H;A口地址
MOVA,#00H
MOVX@DPTR,A;A口送00H
INCDPTR
INCDPTR;C口地址
MOVXA,@DPTR;讀C口
CPLA
ANLA,#0FH;屏蔽高四位
RET
執行KS子程序的結果是:有閉合鍵則,無閉合則。
3.鍵盤掃描程序掃描程序流程在單片機應用系統中常常是鍵盤和顯示器同時存在,因此可以把鍵盤掃描程序和顯示程序配合起來使用,即:把顯示程序作為鍵掃描程序的延時子程序。這樣做既省去了一個專門的延時子程序,又能保證顯示器常亮的可觀效果。假定本系統中顯示程序為DIR,執行時間約為6ms。鍵盤掃描程序如下:
KEY:ACALLKS;檢查是否有鍵閉合
JNZLK1;A非“0”則轉移
ACALLDIR;顯示一次(“延時6s)
AJMPKEY
LK1:ACALL
DIR;有鍵閉合二次延時
ACALLDIR;共12ms去抖動
ACALLKS;再檢查是否有鍵閉合
JNZLK2;有鍵閉合轉移到LK2
ACALLDIR
AJMPKEY;無鍵閉合,延時6ms后轉KEYLK2:MOVR2,#0FEH;掃描初值送R2
MOVR4,#00H;掃描列號送R4LK4:MOVDPTR,#8000H;A口地址
MOVA,R2
MOVX@DPTR,A;掃描初值送A口
INCDPTR
INCDPTR;C口地址
MOVXA,@DPTR;讀C口掃描程序:
JBACC.0,LONE;ACC.0=1,第0行無鍵閉合,轉LONE
MOVA,#00H;裝第0行值
AJMPLKP
LONE:JBACC.1,LTWO;ACC.1=1,第1行無鍵閉合,轉LTWO
MOVA,#08H;裝第1行值
AJMPLKP
LTWO:JBACC.2,LTHR;ACC.2=1,第2行無鍵閉合,轉LTHR
MOVA,#10H;裝第2行值
AJMPLKP
LTHR:JBACC.3,NEXT;ACC.3=1,第3行無鍵閉合,轉NEXT
MOVA,#18H;裝第3行值LKP:ADDA,R4;計算鍵碼
PUSHACC;保護鍵碼LK3:ACALLDIR;延時6ms
ACALLKS;檢查是否繼續閉合,若閉合再延時
JNZLK3
POPACC;若鍵起,則鍵碼送A
RET
NEXT:INCR4;掃描列號加1
MOVA,R2
JNBACC.7,KND;若第7位=0,已掃完最高列則轉KND
RLA
MOVR2,A
AJMPLK4;進行下一行掃描KND:AJMPKEY;掃描完畢,開始新一輪
鍵盤掃描程序的運行結果是把閉合鍵的鍵碼放在累加器A中。接下來的程序是根據鍵碼進行程序轉移,轉去執行該鍵對應的操作。7.4LED顯示器接口技術8255的應用舉例發光二極管顯示器的工作原理
LED顯示器中的發光二極管共有兩種連接方法,一種是共陰極連接,另一種共陽極連接。8段LED顯示器使用LED顯示器時,要注意區分這兩種不同的接法。為了顯示數字或字符,必須對數字或字符進行編碼。七段數碼管加上一個小數點,共計8段。因此為LED顯示器提供的編碼正好是一個字節。用LED顯示器顯示16進制數的編碼如下表所示。為了實現LED顯示器的動態掃描除了要給顯示器提供段碼(字形編碼)的輸入之外,還要對顯示器加位的控制(控制LED顯示器亮滅),這就是通常所說的位控和段控。LED顯示器16進制數編碼
LED顯示器接口8255實現LED顯示器接口8255作6位LED顯示器接口電路靜態顯示與動態顯示方式
⑴靜態顯示方式,每一位字段碼分別從I/O控制口輸出,保持不變直至CPU刷新。特點:編程較簡單,但占用I/O口線多,一般適用于顯示位數較少的場合。⑵動態顯示方式,在某一瞬時顯示一位,依次循環掃描,輪流顯示,由于人的視覺滯留效應,人們看到的是多位同時穩定顯示。特點:占用I/O端線少,電路較簡單,編程較復雜,CPU要定時掃描刷新顯示。一般適用于顯示位數較多的場合。具體要求:1.6個LED采用共陰極連接;2.79H~7EH分別存放6位顯示器的顯示數據(0~9);3.8255的C口接LED顯示器位控;4.8255的A口接LED顯示器段控。應用舉例電路設計可選定A口地址為8000H,B口地址為8001H,
C口地址為8002H,控制寄存器地址為8003H。R0存放當前位控值,DL為延時子程序。參考程序:DIR:MOVR0,#79H;建立顯示緩沖區首址
MOVR3,#01H;從右邊開始顯示
MOVA,R3;位控制碼初值LDO:MOVDPTR,#8002H;為控制地址
MOVX@DPTR,A;輸出位控碼MOVDPTR,#8000H;段空口地址
MOVA,@R0;取出顯示數據DIR0:ADDA,#0DHMOVCA,@A+PC;查表取字形代碼DIR1:MOVX@DPTR,A;輸出段控碼(1)ACALLDL;延時(2)INCR0;轉向下一緩沖單元(1)MOVA,R3;(1)JBACC.5,LD1;判斷是否到最高位,到,則返回(3)RLA;向顯示器高位移位(1)
MOVR3,A;位控碼送R3保存(1)
AJMPLD0;繼續掃描(2)LD1:RETDSEG:DB3FHDB06HDB5BHDB4FHDB66HDB6DHDB7DHDB07HDB7FHDB6FH7.5打印機接口技術使用8255作打印機接口8255作打印機接口DB7~DB0:數據線,數據的傳輸是單向的。即從單片機傳向打印機。STB:數據選通信號,低電平有效的打印機輸入信號,該信號有效時,打印數據送入打印機,在其上升沿時,將數據鎖存。BUSY:打印機“忙”信號,打印機輸出的狀態信號。高電平表示打印機正忙于處理打印數據,此時單片機不得使STB信號有效,向打印機送入新的數據。*若A口的地址為7CH,B口的地址為7DH,C口的地址為7EH,控制寄存器地址為7FH。*要求采用查詢的方式進行打印驅動控制。*前圖連接方式,可確定8255工作方式命令字為88H。(A口為方式0輸出,D6D5D4=000;
B口不用,認為D2D2=00;
C口高位輸入,D3=1;低位輸出,D0=0;
D8=1。)*定義緩沖區首地址R1,緩沖區長度R2。MOVR0
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 寧夏葡萄酒與防沙治沙職業技術學院《針灸學(何璐)》2023-2024學年第一學期期末試卷
- 云南林業職業技術學院《建筑設備自動化》2023-2024學年第二學期期末試卷
- 山西醫科大學《建筑設備與工程項目管理》2023-2024學年第二學期期末試卷
- 山東省文登市大水泊中學2025年高考沖刺模擬(五)語文試題試卷含解析
- 上蔡縣2025年五年級數學第二學期期末統考模擬試題含答案
- 日照職業技術學院《外科護理學實訓》2023-2024學年第一學期期末試卷
- 內蒙古巴彥淖爾市杭錦后旗四校聯考2025年初三下學期第一次模擬考試英語試題試卷-解析版含答案
- 四川省涼山彝族自治州布拖縣2025屆五年級數學第二學期期末質量檢測模擬試題含答案
- 南寧職業技術學院《近距離無線通信技術》2023-2024學年第二學期期末試卷
- 山西省大同市礦區2025年三下數學期末教學質量檢測模擬試題含解析
- 2014-2024年高考語文真題匯編之詩歌鑒賞含答案解析
- 防腐木平臺施工方案
- DB31-T 1468-2024 工貿企業危險化學品安全管理規范
- 金融科技金融大數據風控平臺開發與應用方案
- 初三班級學生中考加油家長會課件
- 國家資格等級證書-驗光員-2.視功能檢查評分表(助教學生填寫)
- 2024年廣東公需科目答案
- 地理高考萬能答題模板
- DB11T 382-2017 建設工程監理規程
- 無人機操控技術課件:多旋翼無人機的飛行原理
- 第四章-銑削工藝與裝備
評論
0/150
提交評論