單片機(jī)輸入輸出接口_第1頁
單片機(jī)輸入輸出接口_第2頁
單片機(jī)輸入輸出接口_第3頁
單片機(jī)輸入輸出接口_第4頁
單片機(jī)輸入輸出接口_第5頁
已閱讀5頁,還剩37頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、單片機(jī)輸入輸出接口第1頁,共42頁,2022年,5月20日,3點(diǎn)7分,星期二 輸入輸出接口的作用數(shù)據(jù)緩沖功能信號(hào)轉(zhuǎn)換功能接受和執(zhí)行CPU命令的功能 51單片機(jī)具有的輸入輸出接口: P0、P1、P2、P3 4個(gè)8位雙向I/O口 5.1 P0P3端口功能與內(nèi)部結(jié)構(gòu)第2頁,共42頁,2022年,5月20日,3點(diǎn)7分,星期二P0.0P0.7P0驅(qū)動(dòng)器P2驅(qū)動(dòng)器P2.0P2.7P0鎖存器P2鎖存器暫存1RAMRAM地址寄存器EPROMROMACC暫存2寄存器BALUSP中斷、串行口及定時(shí)器模塊PSW定時(shí)及控制指令寄存器程序地址寄存器DPTRPCPC加1緩沖器P1鎖存器P3鎖存器P1驅(qū)動(dòng)器P3驅(qū)動(dòng)器P1.

2、0P1.7P3.0P3.7振蕩器VccVssPSENALEEARSTXTAL1 XTAL2圖11 MCS51總體結(jié)構(gòu)框圖第3頁,共42頁,2022年,5月20日,3點(diǎn)7分,星期二8051單片機(jī)的引腳12345678910111213141516171819204039383736353433323130292827262524232221P1.0P1.1P1.2P1.3P1.4P1.5P1.6P1.7RESETP3.0/RxDP3.1/TxDP3.2/INT0P3.3/INT1P3.4/T0P3.5/T1P3.6/WRP3.7/RDXTAL2XTAL1GNDVccP0.0P0.1P0.2P0.

3、3P0.4P0.5P0.6P0.7EAALEPSENP2.7P2.6P2.5P2.4P2.3P2.2P2.1P2.0圖1-12 8031,8051,8751芯片管腳圖第4頁,共42頁,2022年,5月20日,3點(diǎn)7分,星期二MCS-51系列單片機(jī)有四組8位并行I/O口,記作P0、P1、P2和P3。每組I/O口內(nèi)部都有8位數(shù)據(jù)輸入緩沖器、8位數(shù)據(jù)輸出鎖存器及數(shù)據(jù)輸出驅(qū)動(dòng)等電路。四組并行I/O端口即可以按字節(jié)操作,又可以按位操作。當(dāng)系統(tǒng)沒有擴(kuò)展外部器件時(shí),I/O端口用作雙向輸入輸出口;當(dāng)系統(tǒng)作外部擴(kuò)展時(shí),使用P0、P2口作系統(tǒng)地址和數(shù)據(jù)總線、P3口有第二功能,與MCS-51的內(nèi)部功能器件配合使用。

4、第5頁,共42頁,2022年,5月20日,3點(diǎn)7分,星期二P0口:地址(低8位)/數(shù)據(jù)時(shí)分復(fù)用口 普通I/O口 P1口:普通I/O口 P2口:地址(高8位) 普通I/O口5.1.1 端口功能第6頁,共42頁,2022年,5月20日,3點(diǎn)7分,星期二P3口是一個(gè)雙功能I/O口普通I/O口第二功能口P3口的每一位都具有第二功能。P3.7P3.6P3.5P3.4P3.3P3.2P3.1P3.0RDWRT1T0INT1INT0TxDRxD P3口的第二功能大多與其內(nèi)部功能部件有關(guān),RD、WR是外部數(shù)據(jù)存儲(chǔ)器的寫、讀控制信號(hào)。 第7頁,共42頁,2022年,5月20日,3點(diǎn)7分,星期二8XX51單片機(jī)擴(kuò)

5、展程序存儲(chǔ)器2732的電路圖見圖第8頁,共42頁,2022年,5月20日,3點(diǎn)7分,星期二P0口圖15 P0口的位結(jié)構(gòu)第9頁,共42頁,2022年,5月20日,3點(diǎn)7分,星期二P0口有兩種用途:普通I/O端口 當(dāng)單片機(jī)系統(tǒng)沒有擴(kuò)展外部芯片時(shí),P0口用作雙向輸入輸出端口。這時(shí)圖中多路開關(guān)的控制信號(hào)為低電平,輸出與鎖存器的反向輸出端相連,同時(shí)上面的場(chǎng)效應(yīng)管由于與門輸出為低電平而截止。 作輸出時(shí):輸出0時(shí),將0輸出到內(nèi)部總線上,在寫鎖存器信號(hào)控制下寫入鎖存器,鎖存器的反向輸出端輸出1,下面的場(chǎng)效應(yīng)管導(dǎo)通,輸出引腳成低電平。輸出1時(shí),下面的場(chǎng)效應(yīng)管截止,上面的場(chǎng)效應(yīng)管也是截止?fàn)顟B(tài),輸出引腳成高阻態(tài),不

6、是希望的1狀態(tài),這時(shí),必須外加上拉電阻第10頁,共42頁,2022年,5月20日,3點(diǎn)7分,星期二 作輸入時(shí):P0端口引腳信號(hào)通過一個(gè)輸入三態(tài)緩沖器接入內(nèi)部總線,再讀引腳信號(hào)控制下,引腳電平出現(xiàn)在內(nèi)部總線上。為了能讀到真實(shí)的引腳信號(hào),下面的場(chǎng)效應(yīng)管必須截止,即鎖存器的內(nèi)容必須是1。為了能正確讀取引腳信號(hào),鎖存器必須先寫1,因而P0口是一個(gè)準(zhǔn)雙向口。(讀引腳) 在圖的左上方有一個(gè)三態(tài)緩沖器,是為了讀取鎖存器內(nèi)容而設(shè)。如指令: P0 = P0 | 0XF0;將P0口的輸出狀態(tài)與0XF0按位或后再輸出到P0口,這里讀的數(shù)據(jù)是P0口鎖存器的內(nèi)容,運(yùn)算結(jié)果又寫入到P0口鎖存器。(讀鎖存器)第11頁,共4

7、2頁,2022年,5月20日,3點(diǎn)7分,星期二地址/數(shù)據(jù)復(fù)用總線 當(dāng)單片機(jī)系統(tǒng)進(jìn)行存儲(chǔ)器、I/O口或其它功能擴(kuò)展時(shí),P0口要用作系統(tǒng)總線。在P0口上分時(shí)輸出目標(biāo)地址的低8位和要交換的字節(jié)數(shù)據(jù)。 用作地址/數(shù)據(jù)復(fù)用總線時(shí),多路開關(guān)的控制信號(hào)為1,輸出與上方的地址/數(shù)據(jù)線反向器的輸出相連,由于控制信號(hào)為1,上面的場(chǎng)效應(yīng)管受地址/數(shù)據(jù)信號(hào)控制,與下面的場(chǎng)效應(yīng)管成為推挽輸出形態(tài)。外部不再需要上拉電阻,P0口為真正的雙向I/O口。 操作過程:假如要讀外部程序存儲(chǔ)器中0 x1245單元的指令,首先從P0口輸出45H,P2口輸出12H,控制器輸出ALE地址鎖存信號(hào),再發(fā)出指令輸出允許信號(hào)PSEN,外部程序存

8、儲(chǔ)器0 x1245單元的內(nèi)容出現(xiàn)在總線上,由CPU讀入程序指令寄存器,譯碼執(zhí)行。第12頁,共42頁,2022年,5月20日,3點(diǎn)7分,星期二P1口圖18 P1口的位結(jié)構(gòu)第13頁,共42頁,2022年,5月20日,3點(diǎn)7分,星期二P2口圖16 P2口的位結(jié)構(gòu)第14頁,共42頁,2022年,5月20日,3點(diǎn)7分,星期二P2口也有兩種使用方式做普通I/O口 這時(shí),控制信號(hào)將驅(qū)動(dòng)場(chǎng)效應(yīng)管的反向器的輸入與P2口輸出鎖存器的Q端相連。當(dāng)作輸出時(shí)與P0口類似,但P2口內(nèi)部有上拉電阻,不需外接。當(dāng)輸入使用時(shí),輸出鎖存器也必須寫1。所以,P2口也是一個(gè)準(zhǔn)雙向I/O口。作地址總線 當(dāng)單片機(jī)系統(tǒng)進(jìn)行存儲(chǔ)器、I/O口

9、或其它功能擴(kuò)展時(shí),P2口要用作地址總線,輸出目標(biāo)地址的高8位。這時(shí)控制信號(hào)將驅(qū)動(dòng)場(chǎng)效應(yīng)管的反向器的輸入與地址線相連。 P2口沒有復(fù)用要求,所以外部不需地址鎖存器。應(yīng)當(dāng)注意:當(dāng)P2口的幾位作地址線使用時(shí),剩下的P2口線不能作I /O口線使用。第15頁,共42頁,2022年,5月20日,3點(diǎn)7分,星期二P3口P3.X圖17 P3口的位結(jié)構(gòu)第16頁,共42頁,2022年,5月20日,3點(diǎn)7分,星期二P3口是一個(gè)雙功能I/O口若不設(shè)定自動(dòng)處于第一功能普通I/O口 作普通I/O口時(shí),選擇輸出功能端為高電平,場(chǎng)效應(yīng)管受輸出鎖存器的控制,是一個(gè)準(zhǔn)雙向I/O口。第二功能口P3口的每一位都具有第二功能。P3.7

10、P3.6P3.5P3.4P3.3P3.2P3.1P3.0RDWRT1T0INT1INT0TxDRxD第17頁,共42頁,2022年,5月20日,3點(diǎn)7分,星期二歸納四個(gè)并行口使用的注意事項(xiàng)如下:1。如果單片機(jī)內(nèi)部有程序存貯器,不需要擴(kuò)展外部存貯器和I/O接口,單片機(jī)的四個(gè)口均可作I/O口使用。2。四個(gè)口在作輸入口使用時(shí),均應(yīng)先對(duì)其寫“1”,以避免誤讀。3。P0口作I/O口使用時(shí)應(yīng)外接10K的上拉電阻,其它口則可不必。4。P2可某幾根線作地址使用時(shí),剩下的線不能作I/O口線使用。5。P3口的某些口線作第二功能時(shí),剩下的口線可以單獨(dú)作I/O口線使用。第18頁,共42頁,2022年,5月20日,3點(diǎn)

11、7分,星期二5.2 編程舉例例5.1例5.2include“reg51.h”main( ) P1=0 xff; while(1) P1=P14; P1P1|0 x0f; 第19頁,共42頁,2022年,5月20日,3點(diǎn)7分,星期二 LED正偏時(shí)才能發(fā)亮,按電路接法,當(dāng)P1.0輸出“1”,LED正偏而發(fā)亮,當(dāng)P1.0 輸出“0” ,LED 的兩端電壓為 0 而熄滅。 LED+5VVcc-EARST10uF 1KP1.089S51P1.11K30P30PXTAL1XTAL2GND89C51+5VVcc-EARST10uF 1KP1.089S51+5VP1.11K30P30PXTAL1XTAL2GN

12、D89C51K第20頁,共42頁,2022年,5月20日,3點(diǎn)7分,星期二 例5-2.在圖5.3中P1.4P1.7接四個(gè)發(fā)光二極管LED,P1.0P1.3接四個(gè)開關(guān),編程將開關(guān)的狀態(tài)反映到發(fā)光二極管上。 89C51/89S51P1.0P1.1P1.2P1.3P1.4P1.5P1.6P1.7+5V+5V1K43304EA第21頁,共42頁,2022年,5月20日,3點(diǎn)7分,星期二 例3.用P1.0輸出1KHz的音頻信號(hào)驅(qū)動(dòng)揚(yáng)聲器,作報(bào)警信號(hào),P1.7接一開關(guān)進(jìn)行控制,當(dāng)開關(guān)合上響報(bào)警信號(hào),當(dāng)開關(guān)斷開告警信號(hào)停止,編出程序。 第22頁,共42頁,2022年,5月20日,3點(diǎn)7分,星期二5.3 I/

13、O口設(shè)計(jì)LED數(shù)碼顯示器和鍵盤LED顯示器結(jié)構(gòu)與原理 LED顯示器是由發(fā)光二極管顯示字段的顯示器件。在單片機(jī)應(yīng)用系統(tǒng)中通常使用的是七段LED,這種顯示器有共陰極與共陽極兩種。第23頁,共42頁,2022年,5月20日,3點(diǎn)7分,星期二。afbegcddp1 2 3 4 510 9 8 7 6 g f a b e d c dp (a) 共陰極 (b) 共陽極 (c) 管腳配置圖 LED顯示器(a)共陰極LED顯示器的發(fā)光二極管陰極共地,當(dāng)某個(gè)發(fā)光二極 管的陽極為高電平時(shí),該發(fā)光二極管則點(diǎn)亮;(b)共陽極LED顯示器的發(fā)光二極管陽極并接。第24頁,共42頁,2022年,5月20日,3點(diǎn)7分,星期二

14、 七段顯示器與單片機(jī)接口:只要將一個(gè)8位并行輸出口與顯示器的發(fā)光二極管引腳相連即可。8位并行輸出口輸出不同的字節(jié)數(shù)據(jù)即可獲得不同的數(shù)字或字符,如下表所示。通常將控制發(fā)光二極管的8位字節(jié)數(shù)據(jù)稱為段選碼。顯示字符共陰段選碼共陽段選碼顯示字符共陰段選碼共陽段選碼03FHC0H87FH80H106HF9H96FH90H25BHA4HA77H88H34FHB0HB7CH83H466H99HC39HC6H56DH92HD5EHA1H67DH82HE79H86H707HF8HF71H8EH第25頁,共42頁,2022年,5月20日,3點(diǎn)7分,星期二LED顯示器與顯示方式 N位LED顯示器有N根位選線和8N根

15、段選線。根據(jù)顯示方式不同,位選線與段選線的連接方法不同。段選線控制字符選擇,位選線控制顯示位的亮、滅。IO 口段選控制a b c d e f g dpa b c d e f g dpa b c d e f g dpa b c d e f g dpa b c d e f g dpIO 口位選控制圖 N位LED顯示器第26頁,共42頁,2022年,5月20日,3點(diǎn)7分,星期二LED顯示器有靜態(tài)顯示與動(dòng)態(tài)顯示兩種方式。(1)LED靜態(tài)顯示方式各位LED的位選線連在一起接地或接+5V;每位LED的段選線(adp)各與一個(gè)八位并行口相連。在同一時(shí)間里每一位顯示的字符可以各不相同。GND/+5VIO (1

16、)GND/+5VIO (2)GND/+5VIO (3)GND/+5VIO (4)GND/+5V 圖 四位靜態(tài)LED顯示器電路第27頁,共42頁,2022年,5月20日,3點(diǎn)7分,星期二 (2)LED動(dòng)態(tài)顯示方式 將所有LED的段選線并聯(lián)在一起,由一個(gè)八位IO口控制,而位選線分別由相應(yīng)的IO口線控制。如:8位LED動(dòng)態(tài)顯示電路只需要兩個(gè)八位IO口。其中一個(gè)控制段選碼,另一個(gè)控制位選。動(dòng)態(tài)顯示三部曲 I/O (1)I/O (2)D7D6D5D4D3D2D1D0圖 八位LED動(dòng)態(tài)顯示器電路第28頁,共42頁,2022年,5月20日,3點(diǎn)7分,星期二 由于所有位的段選碼皆由一個(gè)IO控制,因此,在每個(gè)瞬

17、間,8位LED只可能顯示相同的字符。要想每位顯示不同的字符,必須采用動(dòng)態(tài)掃描顯示方式。即在每一瞬間只使某一位顯示相應(yīng)字符。在此瞬間,位選控制IO口在該顯示位送入選通電平(共陰極送低電平、共陽極送高電平)以保證該位顯示相應(yīng)字符,段選控制IO口輸出相應(yīng)字符段選碼。如此輪流,使每位顯示該位應(yīng)顯示字符,并保持延時(shí)一段時(shí)間,以造成視覺暫留效果。 不斷循環(huán)送出相應(yīng)的段選碼、位選碼,就可以獲得視覺穩(wěn)定的顯示狀態(tài)。由人眼的視覺特性,每一位LED在一秒鐘內(nèi)點(diǎn)亮不少于30次,其效果和一直點(diǎn)亮相差不多。第29頁,共42頁,2022年,5月20日,3點(diǎn)7分,星期二LED燈的判別第30頁,共42頁,2022年,5月20

18、日,3點(diǎn)7分,星期二第31頁,共42頁,2022年,5月20日,3點(diǎn)7分,星期二 例如圖5.5是接有五個(gè)共陰極數(shù)碼管的動(dòng)態(tài)顯示接口電路,用74LS373接成直通的方式作驅(qū)動(dòng) 電路,陰極用非門74LS04反相門驅(qū)動(dòng),字形選擇由P1口提供,位選擇由P3口控制。 當(dāng)P3.0P3.4輪流輸出1時(shí),五個(gè)數(shù)碼管輪流顯示。P1.7接開關(guān),當(dāng)開關(guān)打向位置“1”時(shí), 顯示“12345”字樣,當(dāng)開關(guān)打向“2”時(shí),顯示“HELLO”字樣,程序清單如下: 第32頁,共42頁,2022年,5月20日,3點(diǎn)7分,星期二第33頁,共42頁,2022年,5月20日,3點(diǎn)7分,星期二用C語言完成上述功能編程#include#d

19、efine uint unsigned int#define uchar unsigned charsbit P17=P17;main( ) uchar code tab15=0 x86,0 xdb,0 xcf,0 xe6,0 xed; /*“15”的字 形碼, 因P1.7接的開關(guān),最高位送“1”*/ uchar code tab25=0 xf8,0 xf9,0 xb8,0 xb8,0 xbf; /*“HELLO”的段碼, 最高位送 “1”*/ 第34頁,共42頁,2022年,5月20日,3點(diǎn)7分,星期二uchar i;uint j;while(1) P3=0 x01;for(i=0;i5;i

20、+) if(P17=1)P1=tab1i;else P1=tab2i;P3=1;for(j=0;j=25000;j+); 課本習(xí)題5.8 *關(guān)于液晶顯示第35頁,共42頁,2022年,5月20日,3點(diǎn)7分,星期二鍵盤輸入 鍵盤是單片機(jī)系統(tǒng)中通用的輸入設(shè)備,用于向系統(tǒng)輸入數(shù)據(jù)或控制信息。鍵盤中一般矩陣式(行列式)鍵盤用得較多,適用于按鍵數(shù)量較多的場(chǎng)合。 矩陣式鍵盤由行線和列線組成,按鍵位于行線、列線的交叉點(diǎn)上。當(dāng)鍵被按下,則其交點(diǎn)的行線和列線接通。行和列可分別用兩個(gè)I/O口來控制。 D7D6D5D4D3D2D1D0I/O接口+5V第36頁,共42頁,2022年,5月20日,3點(diǎn)7分,星期二1.

21、判斷是否有鍵按下 原理:行線通過上拉電阻接5V上(1)平時(shí)無按鍵動(dòng)作時(shí),行線處于高電平狀態(tài);(2)若有鍵按下,行線狀態(tài)將由與行線相連的列線電平?jīng)Q定。步驟: (1) 先使所有列線為低電平( IO 輸出0) (2) 讀行線狀態(tài)(輸入口) 當(dāng)無鍵按下時(shí),所有行線為高電平,即讀到“全1”數(shù)據(jù); 當(dāng)有某鍵按下時(shí),總會(huì)有一根行線為低電平,即讀到的數(shù) 據(jù)不全為“1” 。D7D6D5D4D3D2D1D0I/O接口+5V第37頁,共42頁,2022年,5月20日,3點(diǎn)7分,星期二2. 按鍵的識(shí)別(識(shí)別鍵的行列位置)(1)掃描法 a. 依次給每一根列(行)線送低電平; b. 讀所有行線狀態(tài) 若全為1,則所按下之鍵不在此低電平列上; 若不全為1(有一根為0),則按鍵在現(xiàn)有低電平行 與低電平列的交叉處。D7D6D5D4D3D2D1D0I/O接口+5V第38頁,共42頁,2022年,5月20日,3點(diǎn)7分,星期二(2) 反轉(zhuǎn)法a. 將行線接一并口,做輸出方式;列線接一并口,做輸入方式。使所有行線為低電平(送全“0”),讀入列線值,為“0”的那列,即按鍵所在列;b. 反過來,使行線做輸入方式,列線做輸出方式。將剛

溫馨提示

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

評(píng)論

0/150

提交評(píng)論