




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
會計學1單片機的外圍模塊及其應用并行口及其應用并行I/O口
MCS-51共有4個8位的I/O口(P0、P1、P2、P3),以實現數據的并行輸入/輸出。定時/計數器
8051共有兩個16位的定時/計數器,以實現定時或計數功能,并以其定時或計數結果對計算機進行控制。串行口
MCS-51單片機有一個全雙工的串行口,以實現單片機和其它設備之間的串行數據傳送。該串行口功能較強,既可作為全雙工異步通信收發器使用,也可作為同步移位器使用。第1頁/共59頁5.1并行口及其應用51單片機有4個I/O端口,每個端口都是8位準雙向口,共占32根引腳。每個端口都包括一個鎖存器(即專用寄存器P0~P3)、一個輸出驅動器和輸入緩沖器。通常把4個端口籠統地表示為P0~P3。第2頁/共59頁I/O口引腳(1)P0口(P0.0~P0.7):作為普通I/O口使用,須外接上拉電阻;作為與外部傳送數據的8位數據總線(D0~D7);作為擴展外部存儲器時的低8位地址總線(A0~A7)。(2)P1口(P1.0~P1.7):作為普通I/O口使用,無須外接上拉電阻(80C52的P1.0和P1.1還具有特殊功能見表2-1)。第3頁/共59頁(3)P2口(P2.0~P2.7):作為普通I/O口使用,無須外接上拉電阻。作為擴展外部存儲器時的高8位地址總線(A8~A15)。(4)P3口(P3.0~P3.7):作為普通I/O口使用,無須外接上拉電阻;每個引腳都具有第二功能。第4頁/共59頁51系列單片機的并行口,按其特性可分為以下類型:單一的準雙向口;多種功能復用的準雙向口;可作為地址總線輸出口的準雙向口;可作為地址/數據總線口的三態雙向口。第5頁/共59頁鎖存器QQD讀鎖存器寫鎖存器內部總線讀引腳內部上拉電阻TVCC(a)單一功能準雙向口第6頁/共59頁.鎖存器QQD讀鎖存器寫鎖存器內部總線讀引腳TVCC第二輸入功能第二輸出功能內部上拉電阻(b)多功能準雙向口第7頁/共59頁鎖存器QQD讀鎖存器寫鎖存器內部總線讀引腳TVCC地址控制內部上拉電阻MUX(c)可作為地址總線口的準雙向口P2第8頁/共59頁鎖存器QQD讀鎖存器寫鎖存器內部總線讀引腳T1T2VCCMUX地址/數據控制(d)可作為地址/數據總線口的三態雙向口P0第9頁/共59頁讀鎖存器和讀引腳指令當把P0~P3口作為輸入引腳使用時,以I/O口作為源操作數的數據傳送指令、算術/邏輯運算指令及位測試轉移指令等均屬讀引腳指令。所有的“讀—改—寫”指令均讀I/O口鎖存器。第10頁/共59頁5.1.1P1口結構組成:它由一個輸出鎖存器、兩個三態輸入緩沖器和輸出驅動電路組成----準雙向口。功能:作為通用I/O使用。第11頁/共59頁圖2?5aP1口的口線邏輯電路圖結構組成:它由一個輸出鎖存器、兩個三態輸入緩沖器和輸出驅動電路組成----準雙向口。第12頁/共59頁圖2?5aP1口的口線邏輯電路圖P1口作輸出口時,內部數據經過鎖存器送到P1.0---P1.7上。由于內部有上拉電阻,所以P1口作輸出口使用時,不用外接上拉電阻。第13頁/共59頁圖2?5aP1口的口線邏輯電路圖P1口作輸入口時,P1.0—P1.7上的信號經過緩沖器送到內部數據總線上。在讀引腳之前,要先將鎖存器置1,否則總是讀到0。CPU對I/O口的讀操作有2種:讀引腳和讀鎖存器。第14頁/共59頁5.1.2P3口功能:它除了可作為通用I/O端口外,還具有第二功能。第15頁/共59頁圖2?5dP3口的口線邏輯電路圖1.作為通用I/O口作為通用I/O口使用時,與P2口類似。此時第二輸出功能控制信號為1。第16頁/共59頁圖2?5dP3口的口線邏輯電路圖2.P3口第二功能此時CPU自動向鎖存器寫1,引腳部分輸入(第二輸出功能控制信號為1),部分輸出(從第二輸出功能輸出信號)。第17頁/共59頁P3第二功能各引腳功能定義:P3.0:RXD串行口輸入P3.1:TXD串行口輸出P3.2:INT0外部中斷0輸入P3.3:INT1外部中斷1輸入P3.4:T0定時器0外部輸入P3.5:T1定時器1外部輸入P3.6:WR外部寫控制P3.7:RD外部讀控制第18頁/共59頁5.1.3P2口功能:作為通用I/O使用和高8位地址線。第19頁/共59頁圖2?5cP2口的口線邏輯電路圖CPU發出控制電平“0”,使多路開關MUX倒向鎖存器輸出Q端,構成一個準雙向口。其功能與P1相同。1.P2口作為普通I/O口第20頁/共59頁圖2?5cP2口的口線邏輯電路圖CPU發出控制電平“1”,使多路開關MUX倒內部地址線。此時,P2輸出高8位地址。
2.P2口作為地址總線第21頁/共59頁5.1.4P0口結構組成:它由一個輸出鎖存器,兩個三態輸入緩沖器,一個多路轉換開關MUX,和輸出驅動電路組成。功能:既可以作為通用I/O用,也可以作為地址/數據線用。第22頁/共59頁圖2?5bP0口的口線邏輯電路圖結構組成:它由一個輸出鎖存器,兩個三態輸入緩沖器,一個多路轉換開關MUX,和輸出驅動電路組成。第23頁/共59頁圖2?5bP0口的口線邏輯電路圖P0口作為通用I/O使用時,CPU發出控制電平“0”封鎖“與”門,將輸出上拉場效應管T1截止,多路開關MUX接通鎖存器Q反端的輸出通路。1.P0口作普通I/O使用第24頁/共59頁圖2?5bP0口的口線邏輯電路圖P0口作為輸出口使用時,
來自CPU的寫脈沖加在D觸發器的CP端,數據寫入鎖存器,并向端口引腳輸出。P0口作輸出口使用時,必須外接上拉電阻。
1.P0口作普通I/O使用第25頁/共59頁圖2?5bP0口的口線邏輯電路圖P0口作輸入口時,P0.0—P0.7上的信號經過緩沖器送到內部數據總線上。在讀引腳之前,要先將鎖存器置1,否則總是讀到0。CPU對I/O口的讀操作有2種:讀引腳和讀鎖存器。1.P0口作普通I/O使用第26頁/共59頁圖2?5bP0口的口線邏輯電路圖在系統擴展時,P0端口作為地址/數據總線使用時,分為:
輸出地址/輸出數據、輸出地址/輸入數據2.P0作為地址/數據總線第27頁/共59頁圖2?5bP0口的口線邏輯電路圖P0引腳輸出地址/輸出數據:CPU發出控制電平“1”,打開“與”門,又使多路開關MUX把CPU的地址/數據總線與T2柵極反相接通,輸出地址或數據。2.P0作為地址/數據總線第28頁/共59頁圖2?5bP0口的口線邏輯電路圖P0引腳輸出地址/輸入數據:輸入信號是從引腳通過輸入緩沖器進入內部總線。此時,CPU自動使MUX向下,并向P0口寫“1”,“讀引腳”控制信號有效,下面的緩沖器打開,外部數據讀入內部總線。2.P0作為地址/數據總線第29頁/共59頁5.1.5并行口的應用——晶閘管的接口和編程晶閘管接口硬件電路有過零檢測電路和加熱控制電路組成;通過控制導通角來控制加熱功率。第30頁/共59頁晶閘管接口電路圖(a)晶閘管加熱電路(b)輸出波形(c)過零電路第31頁/共59頁程序設計查詢P3.2上負跳變的方法確定交流電進入正半周;通過延時決定導通角的方法實現對電熱絲功率的控制;延時時間到,P1.0輸出一正脈沖,可控硅導通,電阻絲開始加熱。第32頁/共59頁
例5:查訊方式控制晶閘管導通角程序
#include"reg52.h"#defineucharunsignedchar#defineuintunsignedintsbit P1_0=P1^0;sbit P3_2=P3^2; void poiiu(uintx,uinty){
uinta; P1_0=0; while(1) { for(;P3_2==1;); 第33頁/共59頁 for(a=x;a>0;a--); P1_0=1; for(a=y;a>0;a--); P1_0=0; for(;P3_2==0;); }} 第34頁/共59頁voidmain(){ for(;;) { uinta,b; a=200; b=10;
poiiu(a,b); } }第35頁/共59頁5.1.6并行口的應用——撥碼盤的接口和編程一、BCD撥碼盤的構造撥碼盤的結構和型號有多種,常用的為BCD撥碼盤。BCD撥碼盤具有0~0十個位置,可以通過齒輪型圓盤撥到所需的位置,每個位置都有相應的數字指示,一個撥碼盤可以輸入1位十進制,如果要輸入4位十進制數據,需4個BCD撥碼盤。第36頁/共59頁?表示插入控制線A與數據線不通;*表示輸入控制線A與數據線接通。第37頁/共59頁
二、BCD碼撥碼盤的接口方法
圖5-6二位BCD碼的接口圖5-74位BCD碼的接口第38頁/共59頁
例5.6掃描法讀4個BCD碼撥碼盤程序
#include"reg52.h" #defineucharunsignedchar #defineuintunsignedint uintinbcd() { uintx=0; uchar a,b,i; for(i=0,b=0x7f;i<4;i++) { P1=b; a=P1; a&=0xf;第39頁/共59頁 x=x*10+a; b>>=1; b|=0x80; } returnx; } voidmain() { for(;;) { uinty; y=inbcd(); } }第40頁/共59頁5.1.7并行口的應用——4X4鍵盤的接口和編程一、鍵盤工作原理
用于按鍵數目較多的場合,由行線和列線組成,按鍵位于行、列的交叉點上。 按鍵數目較多的場合,矩陣鍵盤與直接編碼輸入鍵盤相比,要節省很多的I/O口線。第41頁/共59頁行線X0~X3接P1.4~平P1.7;列線Y0~Y3接P1.0~P1.3。圖5-94X4鍵盤結構和接口方法第42頁/共59頁二、鍵盤狀態的判斷
無鍵按下,該行線為高電平,當有鍵按下時,行線電平由列線的電平來決定。 由于行、列線為多鍵共用,各按鍵彼此將相互發生影響,必須將行、列線信號配合起來并作適當的處理,才能確定閉合鍵的位置。第43頁/共59頁三、閉合鍵建號的識別
1.逐行掃描法 識別鍵盤有無鍵被按下的方法,分兩步進行: 第1步:識別鍵盤有無鍵按下; 把所有列線置0,檢查各行線電平是否有變化,如有變化,說明有鍵按下,如無變化,則無鍵按下。 第2步:如有鍵被按下,識別出具體的按鍵。 上述方法稱為掃描法,即先把某一列置低電平,其余各列為高電平,檢查各行線電平的變化,如果某行線電平為低,可確定此行列交叉點處的按鍵被按下。第44頁/共59頁
2.行翻轉法
第1步:列線輸出為全低電平,則行線中電平由高變低的所在行為按鍵所在行。 第2步:行線輸出為全低電平,則列線中電平由高變低所在列為按鍵所在列。 結合上述兩步,可確定按鍵所在行和列。第45頁/共59頁把上兩步得到的輸入數據拼成一個字節數據作為鍵值,則鍵值和鍵號的對應關系如下表所示:表5-3鍵值表第46頁/共59頁四、鍵抖動及處理
在理想狀態下,按鍵引腳電壓變化如圖5-9(a)所示。 實際上,在按鍵被按下或釋放的瞬間,由于機械觸點存在彈跳現象,實際按鍵電壓波形如圖5-9(b)所示,即機械按鍵在按下和釋放瞬間存在抖動現象。 抖動時間的長短與按鍵的機械特性有關,一般在5~10ms之間,而按鍵穩定閉合期的長短與按鍵時間有關,從數百毫秒到數秒不等。第47頁/共59頁圖5-9鍵按下和釋放時行線電壓波形
(a)理想狀態下按鍵電壓波形; (b)實際按鍵電壓波形第48頁/共59頁如何消除按鍵的抖動 常用軟件來消除按鍵抖動。 基本思想:檢測到有鍵按下,延遲10~20ms(因為機械按鍵由按下到穩定閉合的時間為5~10ms)再去判別按鍵是否處于按下狀態,并確定是哪一個按鍵被按下。第49頁/共59頁
例5.7行翻轉法鍵輸入程序設計
#include"reg52.h" #include“stdio.h” #defineucharunsignedchar #defineuintunsignedint ucharcodek_tab[]={0xee,0xed,0xeb,0xe7,0xde,0xdd,0xdb,0xd7, 0xbe,0xbd,0xbb,0xb7,0x7e,0x7d,0x7b,0x77}; ucharidataD_BUF[16];
ucharnkey_s0(uchary) { uchari,b;第50頁/共59頁
for(i=0;i<16;i++) { b=k_tab[i]; if(b==y) returni; } } ucharnkey() { uchara,b; P2=0xf0; a=P2; b=a; P2=0xf;第51頁/共59頁 a=P2; a|=b; b=nkey_s0(a); returnb; } bitkeys() { uchara; P2=0xf0; a=P2; if(a==0xf0) return1; else return0; }第52頁/共59頁
ucharkeyi() { uchara; uintx; for(;;) { if((keys())==0)
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 設備設施的安全評估與造價咨詢協議
- 拍賣物品歸屬未確定協議
- 《Python程序設計基礎》課件 第1、2章 Python 概述;Python 基礎語法
- 舞臺地板施工方案
- 提問我國遠洋重大件貨物標準是重長寬討論冷藏貨物要保證哪兩方
- 中醫中藥課件
- 個人消費貸款合同利率調整協議
- 建設項目合同糾紛處理實務案例
- 【課件】二項式系數的性質+課件高二下學期數學人教A版(2019)選擇性必修第三冊
- 2025年度設備維修保養服務合作協議
- 2025年街道全面加強鄉村治理工作實施方案
- 湖北省武漢市2025屆高中畢業生四月調研考試英語試題(無答案)
- 護理不良事件報告及管理制度
- 小米供應鏈管理案例分析
- 黃岡市2025年春季九年級調研考試道德與法治試卷
- 2025至2030年中國集成電路(IC)制造產業全景調查及投資咨詢報告
- 2025年鄉村全科執業助理醫師考試目的明確試題及答案
- 北京市海淀區2025屆高三一模思想政治試卷(含答案)
- 心腎綜合征診療實踐指南解讀
- 加油站防汛抗洪應急預案范本
- 5.1人民代表大會:我國的國家權力機關課件高中政治統編版必修三政治與法治
評論
0/150
提交評論