第5章 51單片機的外圍模塊及其應用_并行口及其應用_第1頁
第5章 51單片機的外圍模塊及其應用_并行口及其應用_第2頁
第5章 51單片機的外圍模塊及其應用_并行口及其應用_第3頁
第5章 51單片機的外圍模塊及其應用_并行口及其應用_第4頁
第5章 51單片機的外圍模塊及其應用_并行口及其應用_第5頁
已閱讀5頁,還剩54頁未讀 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、第五章第五章 51單片機的外圍模塊及單片機的外圍模塊及應用應用v5.1 并行口及其應用并行口及其應用v5.2 定時器及應用定時器及應用v5.3 串行口串行口UARTv5.4 82C552D的的AD轉換器轉換器v5.5 其他外圍模塊簡介其他外圍模塊簡介v并行并行I/O口口MCS-51共有共有4個個8位的位的I/O口(口(P0、P1、P2、P3),以實現(xiàn)數(shù)據(jù)的并行輸入),以實現(xiàn)數(shù)據(jù)的并行輸入/輸出。輸出。v定時定時/計數(shù)器計數(shù)器8051共有兩個共有兩個16位的定時位的定時/計數(shù)器,以實現(xiàn)計數(shù)器,以實現(xiàn)定時或計數(shù)功能,并以其定時或計數(shù)結果對計定時或計數(shù)功能,并以其定時或計數(shù)結果對計算機進行控制。算機

2、進行控制。v串行口串行口MCS-51單片機有一個全雙工的串行口,以單片機有一個全雙工的串行口,以實現(xiàn)單片機和其它設備之間的串行數(shù)據(jù)傳送。實現(xiàn)單片機和其它設備之間的串行數(shù)據(jù)傳送。該串行口功能較強,既可作為全雙工異步通信該串行口功能較強,既可作為全雙工異步通信收發(fā)器使用,也可作為同步移位器使用。收發(fā)器使用,也可作為同步移位器使用。5.1 并行口及其應用并行口及其應用v51單片機有4個I/O端口,每個端口都是8位準雙向口,共占32根引腳。每個端口都包括一個鎖存器(即專用寄存器P0P3)、一個輸出驅動器和輸入緩沖器。通常把4個端口籠統(tǒng)地表示為P0P3。v I/O口引腳口引腳(1) P0口(口(P0.0

3、P0.7):):作為普通I/O口使用,須外接上拉電阻;作為與外部傳送數(shù)據(jù)的8位數(shù)據(jù)總線(D0D7);作為擴展外部存儲器時的低8位地址總線(A0A7)。 (2) P1口(口(P1.0P1.7):):作為普通I/O口使用,無須外接上拉電阻(80C52的P1.0和P1.1還具有特殊功能見表2-1)。(3) P2口(口(P2.0P2.7):):作為普通I/O口使用,無須外接上拉電阻。作為擴展外部存儲器時的高8位地址總線(A8A15)。(4)P3口(口(P3.0P3.7):):作為普通I/O口使用,無須外接上拉電阻; 每個引腳都具有第二功能。v51系列單片機的并行口,按其特性可分為以系列單片機的并行口,

4、按其特性可分為以下類型:下類型:單一的準雙向口;單一的準雙向口;多種功能復用的準雙向口;多種功能復用的準雙向口;可作為地址總線輸出口的準雙向口;可作為地址總線輸出口的準雙向口;可作為地址可作為地址/數(shù)據(jù)總線口的三態(tài)雙向口。數(shù)據(jù)總線口的三態(tài)雙向口。鎖存器QQD讀鎖存器寫鎖存器內部總線讀引腳內部上拉電阻TVCC(a)單一功能準雙向口.鎖存器QQD讀鎖存器寫鎖存器內部總線讀引腳TVCC第二輸入功能第二輸出功能內部上拉電阻(b)多功能準雙向口鎖存器QQD讀鎖存器寫鎖存器內部總線讀引腳TVCC地址控制內部上拉電阻MUX(c)可作為地址總線口的準雙向口P2鎖存器QQD讀鎖存器寫鎖存器內部總線讀引腳T1T2

5、VCCMUX地址/數(shù)據(jù)控制(d)可作為地址/數(shù)據(jù)總線口的三態(tài)雙向口P0v讀鎖存器和讀引腳指令讀鎖存器和讀引腳指令當把當把P0P3口作為輸入引腳使用時,以口作為輸入引腳使用時,以I/O口作口作為源操作數(shù)的數(shù)據(jù)傳送指令、算術為源操作數(shù)的數(shù)據(jù)傳送指令、算術/邏輯運算指令邏輯運算指令及位測試轉移指令等均屬讀引腳指令。及位測試轉移指令等均屬讀引腳指令。所有的所有的“讀讀改改寫寫”指令均讀指令均讀I/O口鎖存器??阪i存器。5.1.1 P1口口v結構組成:結構組成:它由一個輸出鎖存器、兩個三態(tài)輸入緩沖器和輸出驅動電路組成-準雙向口。v功能:功能:作為通用I/O使用。P1.n鎖存器P1.nQQD讀鎖存器寫鎖存

6、器內部總線讀引腳內部上拉電阻TVCC圖 2 5a P1口的口線邏輯電路圖結構組成:它由一個輸出鎖存器、兩個三態(tài)輸入緩沖器和輸出驅動電路組成-準雙向口。P1.n鎖存器P1.nQQD讀鎖存器寫鎖存器內部總線讀引腳內部上拉電阻TVCC圖 2 5a P1口的口線邏輯電路圖P1口作輸出口時,內部數(shù)據(jù)經過鎖存器送到口作輸出口時,內部數(shù)據(jù)經過鎖存器送到P1.0-P1.7上。由于上。由于內部有上拉電阻,所以內部有上拉電阻,所以P1口作輸出口使用時,不用外接上拉電阻口作輸出口使用時,不用外接上拉電阻。P1.n鎖存器P1.nQQD讀鎖存器寫鎖存器內部總線讀引腳內部上拉電阻TVCC圖 2 5a P1口的口線邏輯電路

7、圖P1口作輸入口時,口作輸入口時,P1.0P1.7上的信號經過緩沖器送到內部數(shù)據(jù)上的信號經過緩沖器送到內部數(shù)據(jù)總線上??偩€上。在讀引腳之前,要先將鎖存器置在讀引腳之前,要先將鎖存器置1,否則總是讀到,否則總是讀到0。CPU對對I/O口的讀操作有口的讀操作有2種:種:讀引腳讀引腳和和讀鎖存器讀鎖存器。5.1.2 P3口口v功能:它除了可作為通用功能:它除了可作為通用I/O端口外,還具有端口外,還具有第二功能。第二功能。P3.n鎖存器P3.nQQD讀鎖存器寫鎖存器內部總線讀引腳TVCC第二輸入功能第二輸出功能內部上拉電阻圖 2 5d P3口的口線邏輯電路圖 1.作為通用I/O口作為通用I/O口使用

8、時,與P2口類似。此時第二輸出功能控制信號為1。P3.n鎖存器P3.nQQD讀鎖存器寫鎖存器內部總線讀引腳TVCC第二輸入功能第二輸出功能內部上拉電阻圖 2 5d P3口的口線邏輯電路圖 2.P3口第二功能此時CPU自動向鎖存器寫1,引腳部分輸入(第二輸出功能控制信號為1) ,部分輸出(從第二輸出功能輸出信號) 。第二功能各引腳功能定義: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外部讀控制5.1.3 P2口口v功能:作為通用

9、功能:作為通用I/O使用和高使用和高8位地址線。位地址線。P2.n鎖存器P2.nQQD讀鎖存器寫鎖存器內部總線讀引腳TVCC地址控制內部上拉電阻MUX圖 2 5c P2口的口線邏輯電路圖CPU發(fā)出控制電平發(fā)出控制電平“0” ,使多路開關,使多路開關MUX倒向鎖存器輸出倒向鎖存器輸出Q端,端,構成一個準雙向口。其功能與構成一個準雙向口。其功能與P1相同。相同。 1.P2口作為普通口作為普通I/O口口P2.n鎖存器P2.nQQD讀鎖存器寫鎖存器內部總線讀引腳TVCC地址控制內部上拉電阻MUX圖 2 5c P2口的口線邏輯電路圖CPU發(fā)出控制電平發(fā)出控制電平“1”,使多路開關,使多路開關MUX倒倒內

10、部地址線內部地址線。此時,。此時,P2輸出高輸出高8位地址。位地址。 2.P2口作為地址總線口作為地址總線5.1.4 P0口口v結構組成:結構組成:它由一個輸出鎖存器,兩個三態(tài)輸入緩沖器,一個多路轉換開關MUX,和輸出驅動電路組成。v功能:功能:既可以作為通用I/O用,也可以作為地址/數(shù)據(jù)線用。P0.n鎖存器P0.nQQD讀鎖存器寫鎖存器內部總線讀引腳T1T2VCCMUX地址/數(shù)據(jù)控制圖 2 5b P0口的口線邏輯電路圖結構組成:結構組成:它由一個輸出鎖存器,兩個三態(tài)輸入緩沖器,一個多路轉換開關MUX,和輸出驅動電路組成。P0.n鎖存器P0.nQQD讀鎖存器寫鎖存器內部總線讀引腳T1T2VCC

11、MUX地址/數(shù)據(jù)控制圖 2 5b P0口的口線邏輯電路圖P0口作為通用口作為通用I/O使用時使用時,CPU發(fā)出控制電平“0”封鎖“與”門,將輸出上拉場效應管T1截止,多路開關MUX接通鎖存器Q反端的輸出通路。1.P0口作普通I/O使用P0.n鎖存器P0.nQQD讀鎖存器寫鎖存器內部總線讀引腳T1T2VCCMUX地址/數(shù)據(jù)控制圖 2 5b P0口的口線邏輯電路圖P0口作為輸出口使用時口作為輸出口使用時, 來自CPU的寫脈沖加在D觸發(fā)器的CP端,數(shù)據(jù)寫入鎖存器,并向端口引腳輸出。P0口作輸出口使用時,必須外接上拉電阻??谧鬏敵隹谑褂脮r,必須外接上拉電阻。 1.P0口作普通I/O使用P0.n鎖存器P

12、0.nQQD讀鎖存器寫鎖存器內部總線讀引腳T1T2VCCMUX地址/數(shù)據(jù)控制圖 2 5b P0口的口線邏輯電路圖P0口作輸入口時,口作輸入口時,P0.0P0.7上的信號經過緩沖器送到內部數(shù)據(jù)上的信號經過緩沖器送到內部數(shù)據(jù)總線上??偩€上。在讀引腳之前,要先將鎖存器置在讀引腳之前,要先將鎖存器置1,否則總是讀到,否則總是讀到0。CPU對對I/O口的讀操作有口的讀操作有2種:種:讀引腳讀引腳和和讀鎖存器讀鎖存器。1.P0口作普通口作普通I/O使用使用P0.n鎖存器P0.nQQD讀鎖存器寫鎖存器內部總線讀引腳T1T2VCCMUX地址/數(shù)據(jù)控制圖 2 5b P0口的口線邏輯電路圖在系統(tǒng)擴展時,在系統(tǒng)擴展

13、時,P0端口作為端口作為地址地址/數(shù)據(jù)總線數(shù)據(jù)總線使用時,分為:使用時,分為:輸出地址輸出地址/輸出數(shù)據(jù)、輸出地址輸出數(shù)據(jù)、輸出地址/輸入數(shù)據(jù)輸入數(shù)據(jù)2.P0作為地址作為地址/數(shù)據(jù)總線數(shù)據(jù)總線P0.n鎖存器P0.nQQD讀鎖存器寫鎖存器內部總線讀引腳T1T2VCCMUX地址/數(shù)據(jù)控制圖 2 5b P0口的口線邏輯電路圖P0引腳引腳輸出地址輸出地址/輸出數(shù)據(jù)輸出數(shù)據(jù):CPU發(fā)出控制電平發(fā)出控制電平“1”,打開,打開“與與”門,又使多路開關門,又使多路開關MUX把把CPU的的地址地址/數(shù)據(jù)總線數(shù)據(jù)總線與與T2柵極反相接柵極反相接通,輸出地址或數(shù)據(jù)。通,輸出地址或數(shù)據(jù)。2.P0作為地址作為地址/數(shù)據(jù)

14、總線數(shù)據(jù)總線P0.n鎖存器P0.nQQD讀鎖存器寫鎖存器內部總線讀引腳T1T2VCCMUX地址/數(shù)據(jù)控制圖 2 5b P0口的口線邏輯電路圖P0引腳引腳輸出地址輸出地址/輸入數(shù)據(jù)輸入數(shù)據(jù):輸入信號是從引腳通過輸入緩沖器進:輸入信號是從引腳通過輸入緩沖器進入入內部總線內部總線。此時,。此時,CPU自動使自動使MUX向下,并向向下,并向P0口寫口寫“1”,“讀引腳讀引腳”控制信號有效,下面的緩沖器打開,外部數(shù)據(jù)讀入內部控制信號有效,下面的緩沖器打開,外部數(shù)據(jù)讀入內部總線。總線。2.P0作為地址作為地址/數(shù)據(jù)總線數(shù)據(jù)總線5.1.5 并行口的應用并行口的應用晶閘管的晶閘管的接口和編程接口和編程v晶閘管

15、接口晶閘管接口硬件電路有過零檢測電路和加熱控制電路組成;硬件電路有過零檢測電路和加熱控制電路組成;通過控制導通角來控制加熱功率。通過控制導通角來控制加熱功率。晶閘管接口電路圖晶閘管接口電路圖+12V+5VP3.2+5V+12VP1.0(a)晶閘管加熱電路(b)輸出波形(c)過零電路程序設計程序設計v查詢查詢P3.2上負跳變的方法確定交流電進入正上負跳變的方法確定交流電進入正半周;半周;v通過延時決定導通角的方法實現(xiàn)對電熱絲功通過延時決定導通角的方法實現(xiàn)對電熱絲功率的控制;率的控制;v延時時間到,延時時間到,P1.0輸出一正脈沖,可控硅導輸出一正脈沖,可控硅導通,電阻絲開始加熱。通,電阻絲開始加

16、熱。例例5:查訊方式控制晶閘管導通角程序:查訊方式控制晶閘管導通角程序#include reg52.h#define uchar unsigned char#define uint unsigned intsbit P1_0=P10;sbitP3_2=P32;voidpoiiu(uint x,uint y) uint a;P1_0=0;while (1) for(;P3_2=1;); for ( a=x;a0;a-); P1_0=1;for (a=y;a0;a-);P1_0=0;for(;P3_2=0;);void main()for(;)uint a,b;a=200;b=10; poiiu(

17、a,b);5.1.6 并行口的應用并行口的應用撥碼盤的撥碼盤的接口和編程接口和編程一、一、BCD撥碼盤的構造撥碼盤的構造 撥碼盤的結構和型號有多種,常用的為撥碼盤的結構和型號有多種,常用的為BCD撥碼盤。撥碼盤。BCD撥碼盤具有撥碼盤具有00十個位置,可以通過齒輪型圓十個位置,可以通過齒輪型圓盤撥到所需的位置,每個位置都有相應的數(shù)字指示,盤撥到所需的位置,每個位置都有相應的數(shù)字指示,一個撥碼盤可以輸入一個撥碼盤可以輸入1位十進制,如果要輸入位十進制,如果要輸入4位十位十進制數(shù)據(jù),需進制數(shù)據(jù),需4個個BCD撥碼盤撥碼盤。表示插入控制線A與數(shù)據(jù)線不通;* 表示輸入控制線A與數(shù)據(jù)線接通。二、二、BC

18、D碼撥碼盤的接口方法碼撥碼盤的接口方法圖5-6 二位BCD碼的接口圖5-7 4位BCD碼的接口例例5.6 掃描法讀掃描法讀4個個BCD碼撥碼盤程序碼撥碼盤程序#include reg52.h#define uchar unsigned char#define uint unsigned intuint inbcd()uint x=0;uchar a,b,i;for(i=0,b=0 x7f;i=1;b |=0 x80;return x;void main()for(;)uint y;y=inbcd();5.1.7 并行口的應用并行口的應用4X4鍵盤鍵盤的接口和編程的接口和編程 一、鍵盤工作原理一

19、、鍵盤工作原理用于按鍵數(shù)目較多的場合,用于按鍵數(shù)目較多的場合,由由行線和列線行線和列線組成組成,按鍵位于行、列的交叉點上。,按鍵位于行、列的交叉點上。按鍵數(shù)目較多的場合按鍵數(shù)目較多的場合,矩陣鍵盤與直接編,矩陣鍵盤與直接編碼輸入鍵盤相比,要碼輸入鍵盤相比,要節(jié)省很多的節(jié)省很多的I/O口線口線。行線行線X0X3接接P1.4平平P1.7;列線列線Y0Y3接接P1.0P1.3。圖5-9 4X4鍵盤結構和接口方法二、鍵盤狀態(tài)的判斷二、鍵盤狀態(tài)的判斷無鍵按下,該行線為高電平,無鍵按下,該行線為高電平,當有鍵按下時,當有鍵按下時,行線電平由列線的電平來決定行線電平由列線的電平來決定。由于行、列線為多鍵共用

20、,各按鍵彼此將相互由于行、列線為多鍵共用,各按鍵彼此將相互發(fā)生影響,必須發(fā)生影響,必須將行、列線信號配合起來并作適當將行、列線信號配合起來并作適當?shù)奶幚?,才能確定閉合鍵的位置。的處理,才能確定閉合鍵的位置。三、閉合鍵建號的識別三、閉合鍵建號的識別1.逐行掃描法逐行掃描法識別鍵盤有無鍵被按下的方法,分兩步進行:識別鍵盤有無鍵被按下的方法,分兩步進行:第第1步:步:識別鍵盤有無鍵按下;識別鍵盤有無鍵按下;把所有列線置把所有列線置0,檢查各行線電平是否有變化,如有變,檢查各行線電平是否有變化,如有變化,說明有鍵按下,如無變化,則無鍵按下?;f明有鍵按下,如無變化,則無鍵按下。第第2步:步:如有鍵被

21、按下,識別出具體的按鍵。如有鍵被按下,識別出具體的按鍵。上述方法稱為上述方法稱為掃描法掃描法,即,即先把某一列置低電平,其余各先把某一列置低電平,其余各列為高電平,檢查各行線電平的變化列為高電平,檢查各行線電平的變化,如果某行線電平為低,如果某行線電平為低,可確定可確定此行列交叉點此行列交叉點處的按鍵被按下。處的按鍵被按下。v 2.行翻轉法行翻轉法 第第1步:步:列線輸出為全低電平,則行線中電平由列線輸出為全低電平,則行線中電平由高變低的所在行為按鍵所在行。高變低的所在行為按鍵所在行。第第2步:步:行線輸出為全低電平,則列線中電平由行線輸出為全低電平,則列線中電平由高變低所在列為按鍵所在列。高

22、變低所在列為按鍵所在列。結合上述兩步,可確定按鍵所在行和列。結合上述兩步,可確定按鍵所在行和列。把上兩步得到的輸入數(shù)據(jù)拼成一個字節(jié)數(shù)據(jù)作為鍵值,則鍵值和鍵號的對應關系如下表所示:表5-3 鍵值表四、鍵抖動及處理四、鍵抖動及處理在理想狀態(tài)下,按鍵引腳電壓變化如圖在理想狀態(tài)下,按鍵引腳電壓變化如圖5-9(a)所示。所示。實際上,在按鍵被按下或釋放的瞬間,由于機械觸點存實際上,在按鍵被按下或釋放的瞬間,由于機械觸點存在彈跳現(xiàn)象,實際按鍵電壓波形如圖在彈跳現(xiàn)象,實際按鍵電壓波形如圖5-9(b)所示,即機械按所示,即機械按鍵在按下和釋放瞬間存在抖動現(xiàn)象。鍵在按下和釋放瞬間存在抖動現(xiàn)象。抖動時間的長短與按鍵的機械特性有關,一般在抖動時間的長短與按鍵的機械特性有關,一般在510ms之間,而按鍵穩(wěn)定閉合期的長短與按鍵時間有關,從之間,而按鍵穩(wěn)定閉合期的長短與按鍵

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論