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

下載本文檔

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

文檔簡介

單片機輸入輸出接口第1頁,共42頁,2023年,2月20日,星期一

輸入輸出接口的作用數(shù)據(jù)緩沖功能信號轉(zhuǎn)換功能接受和執(zhí)行CPU命令的功能51單片機具有的輸入輸出接口:P0、P1、P2、P34個8位雙向I/O口

5.1P0-P3端口功能與內(nèi)部結(jié)構(gòu)第2頁,共42頁,2023年,2月20日,星期一P0.0~P0.7P0驅(qū)動器P2驅(qū)動器P2.0~P2.7P0鎖存器P2鎖存器暫存1RAMRAM地址寄存器EPROMROMACC暫存2寄存器BALUSP中斷、串行口及定時器模塊PSW定時及控制指令寄存器程序地址寄存器DPTRPCPC加1緩沖器P1鎖存器P3鎖存器P1驅(qū)動器P3驅(qū)動器P1.0~P1.7P3.0~P3.7振蕩器VccVssPSENALEEARSTXTAL1XTAL2圖1-1MCS-51總體結(jié)構(gòu)框圖第3頁,共42頁,2023年,2月20日,星期一8051單片機的引腳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.3P0.4P0.5P0.6P0.7EAALEPSENP2.7P2.6P2.5P2.4P2.3P2.2P2.1P2.0圖1-128031,8051,8751芯片管腳圖第4頁,共42頁,2023年,2月20日,星期一MCS-51系列單片機有四組8位并行I/O口,記作P0、P1、P2和P3。每組I/O口內(nèi)部都有8位數(shù)據(jù)輸入緩沖器、8位數(shù)據(jù)輸出鎖存器及數(shù)據(jù)輸出驅(qū)動等電路。四組并行I/O端口即可以按字節(jié)操作,又可以按位操作。當(dāng)系統(tǒng)沒有擴展外部器件時,I/O端口用作雙向輸入輸出口;當(dāng)系統(tǒng)作外部擴展時,使用P0、P2口作系統(tǒng)地址和數(shù)據(jù)總線、P3口有第二功能,與MCS-51的內(nèi)部功能器件配合使用。第5頁,共42頁,2023年,2月20日,星期一P0口:地址(低8位)/數(shù)據(jù)時分復(fù)用口

普通I/O口

P1口:普通I/O口P2口:地址(高8位)普通I/O口5.1.1端口功能第6頁,共42頁,2023年,2月20日,星期一P3口是一個雙功能I/O口普通I/O口第二功能口

P3口的每一位都具有第二功能。P3.7P3.6P3.5P3.4P3.3P3.2P3.1P3.0RDWRT1T0INT1INT0TxDRxD

P3口的第二功能大多與其內(nèi)部功能部件有關(guān),RD、WR是外部數(shù)據(jù)存儲器的寫、讀控制信號。

第7頁,共42頁,2023年,2月20日,星期一8XX51單片機擴展程序存儲器2732的電路圖見圖

第8頁,共42頁,2023年,2月20日,星期一P0口圖1-5P0口的位結(jié)構(gòu)第9頁,共42頁,2023年,2月20日,星期一P0口有兩種用途:普通I/O端口

當(dāng)單片機系統(tǒng)沒有擴展外部芯片時,P0口用作雙向輸入輸出端口。這時圖中多路開關(guān)的控制信號為低電平,輸出與鎖存器的反向輸出端相連,同時上面的場效應(yīng)管由于與門輸出為低電平而截止。①作輸出時:輸出0時,將0輸出到內(nèi)部總線上,在寫鎖存器信號控制下寫入鎖存器,鎖存器的反向輸出端輸出1,下面的場效應(yīng)管導(dǎo)通,輸出引腳成低電平。輸出1時,下面的場效應(yīng)管截止,上面的場效應(yīng)管也是截止?fàn)顟B(tài),輸出引腳成高阻態(tài),不是希望的1狀態(tài),這時,必須外加上拉電阻第10頁,共42頁,2023年,2月20日,星期一②作輸入時:P0端口引腳信號通過一個輸入三態(tài)緩沖器接入內(nèi)部總線,再讀引腳信號控制下,引腳電平出現(xiàn)在內(nèi)部總線上。為了能讀到真實的引腳信號,下面的場效應(yīng)管必須截止,即鎖存器的內(nèi)容必須是1。為了能正確讀取引腳信號,鎖存器必須先寫1,因而P0口是一個準(zhǔn)雙向口。(讀引腳)

在圖的左上方有一個三態(tài)緩沖器,是為了讀取鎖存器內(nèi)容而設(shè)。如指令:P0=P0|0XF0;將P0口的輸出狀態(tài)與0XF0按位或后再輸出到P0口,這里讀的數(shù)據(jù)是P0口鎖存器的內(nèi)容,運算結(jié)果又寫入到P0口鎖存器。(讀鎖存器)第11頁,共42頁,2023年,2月20日,星期一地址/數(shù)據(jù)復(fù)用總線 當(dāng)單片機系統(tǒng)進行存儲器、I/O口或其它功能擴展時,P0口要用作系統(tǒng)總線。在P0口上分時輸出目標(biāo)地址的低8位和要交換的字節(jié)數(shù)據(jù)。

用作地址/數(shù)據(jù)復(fù)用總線時,多路開關(guān)的控制信號為1,輸出與上方的地址/數(shù)據(jù)線反向器的輸出相連,由于控制信號為1,上面的場效應(yīng)管受地址/數(shù)據(jù)信號控制,與下面的場效應(yīng)管成為推挽輸出形態(tài)。外部不再需要上拉電阻,P0口為真正的雙向I/O口。

操作過程:假如要讀外部程序存儲器中0x1245單元的指令,首先從P0口輸出45H,P2口輸出12H,控制器輸出ALE地址鎖存信號,再發(fā)出指令輸出允許信號PSEN,外部程序存儲器0x1245單元的內(nèi)容出現(xiàn)在總線上,由CPU讀入程序指令寄存器,譯碼執(zhí)行。第12頁,共42頁,2023年,2月20日,星期一P1口圖1-8P1口的位結(jié)構(gòu)第13頁,共42頁,2023年,2月20日,星期一P2口圖1-6P2口的位結(jié)構(gòu)第14頁,共42頁,2023年,2月20日,星期一P2口也有兩種使用方式做普通I/O口

這時,控制信號將驅(qū)動場效應(yīng)管的反向器的輸入與P2口輸出鎖存器的Q端相連。當(dāng)作輸出時與P0口類似,但P2口內(nèi)部有上拉電阻,不需外接。當(dāng)輸入使用時,輸出鎖存器也必須寫1。所以,P2口也是一個準(zhǔn)雙向I/O口。作地址總線 當(dāng)單片機系統(tǒng)進行存儲器、I/O口或其它功能擴展時,P2口要用作地址總線,輸出目標(biāo)地址的高8位。這時控制信號將驅(qū)動場效應(yīng)管的反向器的輸入與地址線相連。P2口沒有復(fù)用要求,所以外部不需地址鎖存器。應(yīng)當(dāng)注意:當(dāng)P2口的幾位作地址線使用時,剩下的P2口線不能作I/O口線使用。

第15頁,共42頁,2023年,2月20日,星期一P3口P3.X圖1-7P3口的位結(jié)構(gòu)第16頁,共42頁,2023年,2月20日,星期一P3口是一個雙功能I/O口若不設(shè)定自動處于第一功能普通I/O口 作普通I/O口時,選擇輸出功能端為高電平,場效應(yīng)管受輸出鎖存器的控制,是一個準(zhǔn)雙向I/O口。第二功能口

P3口的每一位都具有第二功能。P3.7P3.6P3.5P3.4P3.3P3.2P3.1P3.0RDWRT1T0INT1INT0TxDRxD第17頁,共42頁,2023年,2月20日,星期一歸納四個并行口使用的注意事項如下:1。如果單片機內(nèi)部有程序存貯器,不需要擴展外部存貯器和I/O接口,單片機的四個口均可作I/O口使用。2。四個口在作輸入口使用時,均應(yīng)先對其寫“1”,以避免誤讀。3。P0口作I/O口使用時應(yīng)外接10K的上拉電阻,其它口則可不必。4。P2可某幾根線作地址使用時,剩下的線不能作I/O口線使用。5。P3口的某些口線作第二功能時,剩下的口線可以單獨作I/O口線使用。第18頁,共42頁,2023年,2月20日,星期一5.2編程舉例例5.1例5.2#include“reg51.h”main(){P1=0xff;

while(1){P1=P1<<4;

P1=P1|0x0f;}}第19頁,共42頁,2023年,2月20日,星期一

LED正偏時才能發(fā)亮,按電路接法,當(dāng)P1.0輸出“1”,LED正偏而發(fā)亮,當(dāng)P1.0輸出“0”,LED的兩端電壓為0而熄滅。

LED+5VVcc--EARST10uF1KP1.089S51P1.11K30P30PXTAL1XTAL2GND89C51+5VVcc--EARST10uF1KP1.089S51+5VP1.11K30P30PXTAL1XTAL2GND89C51K第20頁,共42頁,2023年,2月20日,星期一

例5-2.在圖5.3中P1.4~P1.7接四個發(fā)光二極管LED,P1.0~P1.3接四個開關(guān),編程將開關(guān)的狀態(tài)反映到發(fā)光二極管上。

89C51/89S51P1.0P1.1P1.2P1.3P1.4P1.5P1.6P1.7+5V+5V1K×4330×4EA第21頁,共42頁,2023年,2月20日,星期一

例3.用P1.0輸出1KHz的音頻信號驅(qū)動揚聲器,作報警信號,P1.7接一開關(guān)進行控制,當(dāng)開關(guān)合上響報警信號,當(dāng)開關(guān)斷開告警信號停止,編出程序。

第22頁,共42頁,2023年,2月20日,星期一5.3I/O口設(shè)計LED數(shù)碼顯示器和鍵盤LED顯示器結(jié)構(gòu)與原理LED顯示器是由發(fā)光二極管顯示字段的顯示器件。在單片機應(yīng)用系統(tǒng)中通常使用的是七段LED,這種顯示器有共陰極與共陽極兩種。第23頁,共42頁,2023年,2月20日,星期一。afbegcddp12345109876

gfab

edcdp(a)共陰極(b)共陽極(c)管腳配置圖LED顯示器(a)共陰極LED顯示器的發(fā)光二極管陰極共地,當(dāng)某個發(fā)光二極管的陽極為高電平時,該發(fā)光二極管則點亮;(b)共陽極LED顯示器的發(fā)光二極管陽極并接。第24頁,共42頁,2023年,2月20日,星期一

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

N位LED顯示器有N根位選線和8×N根段選線。根據(jù)顯示方式不同,位選線與段選線的連接方法不同。段選線控制字符選擇,位選線控制顯示位的亮、滅。I/O口段選控制abcdefgdpabcdefgdpabcdefgdpabcdefgdpabcdefgdp···I/O口位選控制圖N位LED顯示器第26頁,共42頁,2023年,2月20日,星期一LED顯示器有靜態(tài)顯示與動態(tài)顯示兩種方式。(1)

LED靜態(tài)顯示方式各位LED的位選線連在一起接地或接+5V;每位LED的段選線(a-dp)各與一個八位并行口相連。在同一時間里每一位顯示的字符可以各不相同。GND/+5VI/O(1)GND/+5VI/O(2)GND/+5VI/O(3)GND/+5VI/O(4)GND/+5V圖四位靜態(tài)LED顯示器電路第27頁,共42頁,2023年,2月20日,星期一

(2)

LED動態(tài)顯示方式將所有LED的段選線并聯(lián)在一起,由一個八位I/O口控制,而位選線分別由相應(yīng)的I/O口線控制。

如:8位LED動態(tài)顯示電路只需要兩個八位I/O口。其中一個控制段選碼,另一個控制位選。動態(tài)顯示三部曲

I/O(1)I/O(2)D7D6D5D4D3D2D1D0圖八位LED動態(tài)顯示器電路第28頁,共42頁,2023年,2月20日,星期一

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

例如圖5.5是接有五個共陰極數(shù)碼管的動態(tài)顯示接口電路,用74LS373接成直通的方式作驅(qū)動電路,陰極用非門74LS04反相門驅(qū)動,字形選擇由P1口提供,位選擇由P3口控制。當(dāng)P3.0~P3.4輪流輸出1時,五個數(shù)碼管輪流顯示。P1.7接開關(guān),當(dāng)開關(guān)打向位置“1”時,顯示“12345”字樣,當(dāng)開關(guān)打向“2”時,顯示“HELLO”字樣,程序清單如下:第32頁,共42頁,2023年,2月20日,星期一第33頁,共42頁,2023年,2月20日,星期一用C語言完成上述功能編程#include<reg51.h>#defineuintunsignedint#defineucharunsignedcharsbitP17=P1^7;main(){ucharcodetab1[5]={0x86,0xdb,0xcf,0xe6,0xed};/*“1~5”的字形碼,因P1.7接的開關(guān),最高位送“1”*/ucharcodetab2[5]={0xf8,0xf9,0xb8,0xb8,0xbf};/*“HELLO”的段碼,最高位送“1”*/第34頁,共42頁,2023年,2月20日,星期一uchari;uintj;while(1){

P3=0x01;for(i=0;i<5;i++){if(P17==1)P1=tab1[i];elseP1=tab2[i];P3<<=1;for(j=0;j<=25000;j++);}}}課本習(xí)題5.8

*關(guān)于液晶顯示第35頁,共42頁,2023年,2月20日,星期一鍵盤輸入鍵盤是單片機系統(tǒng)中通用的輸入設(shè)備,用于向系統(tǒng)輸入數(shù)據(jù)或控制信息。鍵盤中一般矩陣式(行列式)鍵盤用得較多,適用于按鍵數(shù)量較多的場合。矩陣式鍵盤由行線和列線組成,按鍵位于行線、列線的交叉點上。當(dāng)鍵被按下,則其交點的行線和列線接通。行和列可分別用兩個I/O口來控制。

D7D6D5D4D3D2D1D0I/O接口+5V第36頁,共42頁,2023年,2月20日,星期一1.判斷是否有鍵按下原理:行線通過上拉電阻接+5V上(1)平時無按鍵動作時,行線處于高電平狀態(tài);(2)若有鍵按下,行線狀態(tài)將由與行線相連的列線電平?jīng)Q定。步驟:(1)先使所有列線為低電平(I/O輸出0)(2)讀行線狀態(tài)(輸入口)當(dāng)無鍵按下時,所有行線為高電平,即讀到“全1”數(shù)據(jù);當(dāng)有某鍵按下時,總會有一根行線為低電平,即讀到的數(shù)據(jù)不全為“1”。D7D6D5D4D3D2D1D0I/O接口+5V第37頁,共42頁,2023年,2月20日,星期一2.按鍵的識別(識別鍵的行列位置)(1)掃描法

a.依次給每一根列(行)線送低電平;

b.讀所有行線狀態(tài)若全為‘1’,則所按下之鍵不在此低電平列上;若不全為‘1’(有一根為‘0’),則按鍵在現(xiàn)有低電平行與低電平列的交叉處。D7D6D5D4D3D2D1D0I/O接口+5V第38頁,共42頁,2023年,2月20日,星期一(2)反轉(zhuǎn)法a.將行線接一并口,做輸出方式;列線接一并口,做輸入方式。使所有行線為低電平(送全“0”),讀入列線值,為“0”的那列,即按鍵所在

溫馨提示

  • 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)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論