第06章MCS-51單片機存儲器擴展與并行IO接口擴展_第1頁
第06章MCS-51單片機存儲器擴展與并行IO接口擴展_第2頁
第06章MCS-51單片機存儲器擴展與并行IO接口擴展_第3頁
第06章MCS-51單片機存儲器擴展與并行IO接口擴展_第4頁
第06章MCS-51單片機存儲器擴展與并行IO接口擴展_第5頁
已閱讀5頁,還剩55頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、并行并行I/O口的應用與擴展口的應用與擴展 I/O接口技術概述接口技術概述存儲器的擴展存儲器的擴展第6章 存儲器擴展與并行I/O接口擴展第6章 存儲器擴展與并行I/O接口擴展第一節(jié) 51單片機存儲器擴展只讀存儲器只讀存儲器ROMROM,正常工,正常工作時只能讀出作時只能讀出不能寫入,斷不能寫入,斷電后信息可長電后信息可長期保存期保存半導體存儲器半導體存儲器隨機讀寫隨機讀寫RAMRAM,工作中既可,工作中既可讀出數(shù)據(jù)也可讀出數(shù)據(jù)也可寫入數(shù)據(jù),但寫入數(shù)據(jù),但斷電后其中的斷電后其中的信息將會丟失信息將會丟失第6章 存儲器擴展與并行I/O接口擴展PROM:用戶自行寫入:用戶自行寫入程序,但只能寫一次程

2、序,但只能寫一次EPROM:用戶可多次編程,:用戶可多次編程,用紫外燈照射可擦除信息用紫外燈照射可擦除信息EEPROM:通過加電信號:通過加電信號可直接擦除其中的信息可直接擦除其中的信息掩膜掩膜ROM:其中的信息在制:其中的信息在制造時由掩膜工藝固化進去造時由掩膜工藝固化進去第一節(jié) 51單片機存儲器擴展第6章 存儲器擴展與并行I/O接口擴展動態(tài)動態(tài)RAM:用電容上的電量:用電容上的電量來表示信息,電路簡單,集來表示信息,電路簡單,集成度高。但要定時刷新成度高。但要定時刷新靜態(tài)靜態(tài)RAM:用觸發(fā)器存儲:用觸發(fā)器存儲信息,集成度低,容量小,信息,集成度低,容量小,但無需刷新但無需刷新第一節(jié) 51單

3、片機存儲器擴展1 1)存儲容量)存儲容量存儲器容量存儲器容量= =單元數(shù)單元數(shù)數(shù)據(jù)線位數(shù)數(shù)據(jù)線位數(shù). .1 1個字節(jié)(個字節(jié)(1B1B)=8=8位二進制數(shù)。位二進制數(shù)。1K=10241K=1024例如:(例如:(102410248 8)位)位=1K=1K個字節(jié)個字節(jié)=1KB=1KB半導體存儲器的指標第一節(jié) 51單片機存儲器擴展2 2)存取速度)存取速度 指從指從CPUCPU給出有效的存儲器地址到存儲器給出有效給出有效的存儲器地址到存儲器給出有效數(shù)據(jù)所花費的時間。存取時間越小,存儲器的存取速度數(shù)據(jù)所花費的時間。存取時間越小,存儲器的存取速度就越快。通常,半導體存儲器的最大存取時間從幾十到就越快。

4、通常,半導體存儲器的最大存取時間從幾十到幾百毫微秒幾百毫微秒對于對于80C51系列,內部存儲器都達到系列,內部存儲器都達到64KB,用戶沒有,用戶沒有必要再擴展外部程序存儲器。必要再擴展外部程序存儲器。8031內部無程序存儲器,內部無程序存儲器,需要在外部進行擴展。需要在外部進行擴展。典型的程序存儲器常用典型的程序存儲器常用Intel27系列系列EPROM6.1.2 程序存儲器及其擴展程序存儲器及其擴展第一節(jié) 51單片機存儲器擴展型號型號容量容量地址線數(shù)地址線數(shù)27162 KB1127324 KB1227648 KB132712816 KB142725632 KB152751264 KB162

5、7128引腳功能A0A13:地址輸入線,可尋址:地址輸入線,可尋址214=16KD7D0:數(shù)據(jù)線引腳,用于傳送數(shù)據(jù),讀存儲器時為數(shù)據(jù):數(shù)據(jù)線引腳,用于傳送數(shù)據(jù),讀存儲器時為數(shù)據(jù)輸出編程時為數(shù)據(jù)輸入輸出編程時為數(shù)據(jù)輸入CE:片選輸入端,低電平允許本芯片工作:片選輸入端,低電平允許本芯片工作OE:輸出允許,低電平時,被選中的單元中數(shù)據(jù)才輸出:輸出允許,低電平時,被選中的單元中數(shù)據(jù)才輸出PGM:編程控制端:編程控制端VCC:工作電源:工作電源VPP:編程電源:編程電源GND:直流地:直流地工作方式工作方式引引 腳腳CEOEPGMVPPVCCD7D0讀出讀出低低低低高高VCCVCC輸出輸出維持維持高高

6、VCCVCC高阻高阻編程編程低低高高編程負脈沖編程負脈沖VPPVCC輸入輸入編程校驗編程校驗低低低低高高VPPVCC輸出輸出禁止編程禁止編程高高VPPVCC高阻高阻P0口在地址口在地址ALE下降沿后傳送數(shù)據(jù),為了將它們分離出來,下降沿后傳送數(shù)據(jù),為了將它們分離出來,需要外加地址鎖存器需要外加地址鎖存器74LS37374LS373內含內含8個個D觸發(fā)器,輸入為觸發(fā)器,輸入為D0D7,依次接依次接P0口,輸出為口,輸出為Q0Q7,依次依次27128的的地址線地址線A0A7,OE接地,接地,Q端有效,端有效,G端端接接51機的機的ALE,高電平時,高電平時,Q端隨端隨D端變化,端變化,低電平時,低電

7、平時,Q端保持。端保持。27128的的CE接地接地單片機的單片機的PSEN接接27128的的OE,當執(zhí)行當執(zhí)行MOVC指令,指令,PSEN低電低電平時,就將選中地址的數(shù)據(jù)讀入。平時,就將選中地址的數(shù)據(jù)讀入。單片機的單片機的EA可接地??山拥亍?. 單片程序存儲器的擴展單片程序存儲器的擴展第一節(jié) 51單片機存儲器擴展第一節(jié) 51單片機存儲器擴展根據(jù)硬件連接,該27128的地址范圍 P2.7P2.6P2.5P2.1P2.0P0.7P0.6P0.3P0.2P0.1P0.0 0 0 0 0 1 1 1 1 1 1 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1= 0000H=3FFFH

8、 0 1 0 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1= 4000H=7FFFH 1 0 1 0 1 1 1 1 1 1 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1= 8000H=BFFFH 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1= F000H=FFFFH也就是說地址0000H,4000H,80000H,F(xiàn)0000H均指向27128同一個單元。 多片存儲器擴展的關鍵問題是要區(qū)分多片存儲器擴展的關鍵問題是要區(qū)分CPU是訪問哪一片是訪問哪一片EPROMEPROM。利

9、用譯碼器進行片選,這種片選方法稱為利用譯碼器進行片選,這種片選方法稱為譯碼法。譯碼法。線選法通常是將單片機的高8位地址線A8A15中的某幾根與外部接口芯片的片選端一一相連,當該地址線為0時(對0選通有效的外部芯片而言),與該地址線相連接的外部芯片被選通。必須注意一個時刻,選通線只能1條為0,否則就造成總線競爭了。只讀存儲器ROM的密度普遍提高,目前ROM芯片單片容量已達到或超過64KB,外部擴展程序存儲器時,單片即可滿足需要,一般都采用線選法或用直接選中。3. 多片程序存儲器的擴展第6章 存儲器擴展與并行I/O接口擴展第一節(jié) 51單片機存儲器擴展8031單片機譯碼法擴展四片27128第6章 存

10、儲器擴展與并行I/O接口擴展第一節(jié) 51單片機存儲器擴展各片27128的地址范圍27128編號編號A15A14A13A12 A11A10 A9 A8 A7 A6 A5 A4 A3 A2 A1 A0 地址范圍地址范圍(Y0=0)0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 10000H3FFFH(Y1=0)0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 14000H7FFFH(Y2=0)1 0 0 0 0 0 0 0 0 0 0 0 0 0 0

11、 0 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 18000HBFFFH(Y3=0)1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1C000HFFFFH第一節(jié) 51單片機存儲器擴展6.1.3 6.1.3 數(shù)據(jù)存儲器及其擴展數(shù)據(jù)存儲器及其擴展1. Intel 62系列SRAM型號型號容量容量地址線數(shù)地址線數(shù)61162 KB1162648 KB136212816 KB146225632 KB15擴展片外數(shù)據(jù)存儲器的地址線也是由P0口和P2口提供的,所以與外部程序存儲器并聯(lián)使用地址和數(shù)據(jù)線,但數(shù)據(jù)存儲器的讀

12、和寫由WR和RD控制,而程序存儲器的讀由PSEN控制。6264引腳功能A0A12:地址線引腳,可尋址:地址線引腳,可尋址213=8192=8KD7D0:數(shù)據(jù)線引腳,用于傳送讀寫數(shù)據(jù):數(shù)據(jù)線引腳,用于傳送讀寫數(shù)據(jù)CS和和CS1:CS=0且且CS1=1時允許本芯片工作時允許本芯片工作OE:輸出允許:輸出允許WE :寫允許信號寫允許信號,低電平寫入,高電平讀出,低電平寫入,高電平讀出VCC:工作電源:工作電源GND:直流地:直流地工作方式工作方式CSCS1WEOE功功 能能讀出讀出0110從從6264讀出數(shù)據(jù)到讀出數(shù)據(jù)到D7D0寫入寫入0101將將D7D0數(shù)據(jù)寫入數(shù)據(jù)寫入6264未選通未選通11輸出

13、高阻輸出高阻 數(shù)據(jù)存儲器擴展與程序存儲器擴展的連數(shù)據(jù)存儲器擴展與程序存儲器擴展的連接方法基本相同。不同的只是控制信號不接方法基本相同。不同的只是控制信號不一樣。在程序存儲器擴展中,單片機使用一樣。在程序存儲器擴展中,單片機使用PSEN作為讀選通信號,而在數(shù)據(jù)存儲器擴作為讀選通信號,而在數(shù)據(jù)存儲器擴展中,單片機則使用展中,單片機則使用RD和和WR分別作為讀分別作為讀和寫的選通信號和寫的選通信號第6章 存儲器擴展與并行I/O接口擴展2. 數(shù)據(jù)存儲器的擴展第一節(jié) 51單片機存儲器擴展第6章 存儲器擴展與并行I/O接口擴展第一節(jié) 51單片機存儲器擴展采用線選法擴展三片6264(注意P2.5,P2.6,

14、P2.7同一時刻只能有一個為0)第6章 存儲器擴展與并行I/O接口擴展第一節(jié) 51單片機存儲器擴展各片6264的地址范圍6264編編號號A15A14A13A12 A11A10 A9 A8 A7 A6 A5 A4 A3 A2 A1 A0地址范圍地址范圍IC16264(P2.5=0)1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1C000HDFFFHIC26264(P2.6=0)1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1A000HBFFF

15、HIC36264(P2.7=0)0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 16000H7FFFH 8031單片機內部沒有程序存儲器,必單片機內部沒有程序存儲器,必須外接。而內部須外接。而內部RAM很少,很少,經常經常也需要也需要外接數(shù)據(jù)存儲器。外接數(shù)據(jù)存儲器。下面下面給出利用給出利用74LS138譯碼器同時擴展二片譯碼器同時擴展二片2764和二片和二片6264的的電路電路第6章 存儲器擴展與并行I/O接口擴展3. 同時擴展程序存儲器和數(shù)據(jù)存儲器第一節(jié) 51單片機存儲器擴展第6章 存儲器擴展與并行I/O接口擴展第一

16、節(jié) 51單片機存儲器擴展采用譯碼法同時擴展ROM和RAM第6章 存儲器擴展與并行I/O接口擴展第一節(jié) 51單片機存儲器擴展各片ROM和RAM的地址范圍存儲芯片存儲芯片A15A14A13A12 A11A10 A9 A8 A7 A6 A5 A4 A3 A2 A1 A0地址范圍地址范圍IC12764(Y0=0)0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 10000H1FFFHIC22764(Y1=0)0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1

17、 12000H3FFFHIC36264(Y2=0)0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 1 1 1 1 1 1 1 1 1 1 1 14000H5FFFHIC46264(Y3=0)0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 16000H7FFFH第二節(jié) I/O接口技術概述6.2.1 I/O6.2.1 I/O接口的作用接口的作用1. 速度匹配速度匹配2. 輸出數(shù)據(jù)鎖存輸出數(shù)據(jù)鎖存3. 輸入數(shù)據(jù)緩沖輸入數(shù)據(jù)緩沖4. 數(shù)據(jù)轉換數(shù)據(jù)轉換6.2.2 I/O6.2.2 I/O接口的編址

18、接口的編址外設端口單獨編址外設端口單獨編址: I/O寄存器地址空間和存儲器地址空寄存器地址空間和存儲器地址空間分開編址間分開編址外設端口與存儲器統(tǒng)一編址外設端口與存儲器統(tǒng)一編址:直接使用訪問數(shù)據(jù)存儲直接使用訪問數(shù)據(jù)存儲器的指令進行器的指令進行I/O操作(操作(51單片機采用單片機采用)第二節(jié) I/O接口技術概述6.2.3 I/O6.2.3 I/O數(shù)據(jù)的傳送方式數(shù)據(jù)的傳送方式2. 查詢查詢傳送方式傳送方式 3. 中斷中斷傳送方式傳送方式 4. DMA傳送方式傳送方式(51單片機沒有)單片機沒有)1. 無條件傳送方式無條件傳送方式6.2.4 I/O6.2.4 I/O接口的類型接口的類型并行并行I/

19、O接口接口:用于并行傳送用于并行傳送I/O數(shù)據(jù),速度快、效率高,數(shù)據(jù),速度快、效率高,適用于近距離傳送適用于近距離傳送串行串行I/O接口接口:用于串行傳送用于串行傳送I/O數(shù)據(jù),成本低但速度數(shù)據(jù),成本低但速度慢,適用于遠距離傳送慢,適用于遠距離傳送第6章 存儲器擴展與并行I/O接口擴展第三節(jié) 并行I/O口的應用與擴展6.3.1 MCS-516.3.1 MCS-51單片機單片機I/OI/O口的直接應用口的直接應用P0口口在擴展片外存儲器時作地址數(shù)據(jù)分時在擴展片外存儲器時作地址數(shù)據(jù)分時復用總線,在不進行擴展時作一般準雙向輸復用總線,在不進行擴展時作一般準雙向輸入入/輸出口使用。輸出口使用。P1口口

20、為通用準雙向輸入為通用準雙向輸入/輸輸出接口。出接口。P2口口在擴展片外存儲器時作高在擴展片外存儲器時作高8位位地址總線,在無擴展時可用作通用準雙向地址總線,在無擴展時可用作通用準雙向I/O接口。接口。P3口口除了作為通用準雙向除了作為通用準雙向I/O使用使用外,還具有第外,還具有第2功能功能第6章 存儲器擴展與并行I/O接口擴展第三節(jié) 并行I/O口的應用與擴展1. MCS-51單片機I/O端口的操作方式 1)輸出數(shù)據(jù)方式)輸出數(shù)據(jù)方式 CPU通過以端口為目的操作數(shù)的指令通過以端口為目的操作數(shù)的指令就可以把數(shù)據(jù)寫到就可以把數(shù)據(jù)寫到P0P3的端口鎖存器,的端口鎖存器,然后通過輸出驅動電路送到端口

21、的引腳線然后通過輸出驅動電路送到端口的引腳線。因此,凡是以端口為目的操作數(shù)的指令。因此,凡是以端口為目的操作數(shù)的指令都能達到從端口引腳上輸出數(shù)據(jù)的目的都能達到從端口引腳上輸出數(shù)據(jù)的目的MOVP0,R2ORLP1,AANLP2,#dataXRLP3,A第6章 存儲器擴展與并行I/O接口擴展第三節(jié) 并行I/O口的應用與擴展 2)讀端口鎖存器方式)讀端口鎖存器方式 讀端口鎖存器方式實際上并不從外部讀端口鎖存器方式實際上并不從外部引腳讀入數(shù)據(jù),而只是把端口鎖存器中的引腳讀入數(shù)據(jù),而只是把端口鎖存器中的內容讀到內部總線,按指令要求進行運算內容讀到內部總線,按指令要求進行運算和變換后,再寫回到鎖存器和變換

22、后,再寫回到鎖存器屬于這類操作的指令通常是ANL、ORL、XRL等“讀修改寫”指令,例如:ORLP0,#0FH第6章 存儲器擴展與并行I/O接口擴展第三節(jié) 并行I/O口的應用與擴展 3)讀引腳方式)讀引腳方式 當端口做輸入使用時,若要讀取端口當端口做輸入使用時,若要讀取端口引腳上的信號,要先向其鎖存器寫入引腳上的信號,要先向其鎖存器寫入“1”,使得該輸出驅動電路的場效應管截止,使得該輸出驅動電路的場效應管截止,然后再執(zhí)行輸入指令,才能真正把外部引然后再執(zhí)行輸入指令,才能真正把外部引腳的狀態(tài)讀入腳的狀態(tài)讀入例如要讀取P1口低4位引腳上信號的指令如下:MOVP1, #0FH ;使P1口低4位鎖存器

23、置“1”MOVA, P1 ;讀P1口低4位引腳信號送A第6章 存儲器擴展與并行I/O接口擴展第三節(jié) 并行I/O口的應用與擴展2. I/O口用作輸出 當當I/O口用作輸出時,每個口用作輸出時,每個I/O引腳輸出引腳輸出高電平時的高電平時的拉電流拉電流應控制在應控制在1mA之內。之內。P1、P2和和P3口每個口每個I/O引腳輸出低電平時的引腳輸出低電平時的灌電流灌電流一般應控制在一般應控制在3mA之內,而之內,而P0口每口每個個I/O引腳的灌電流允許到引腳的灌電流允許到5mA第三節(jié) 并行I/O口的應用與擴展灌電流:灌電流:單片機輸出低電平時,將允許外部器件,向單片機單片機輸出低電平時,將允許外部器

24、件,向單片機引腳內灌入電流,這個電流,稱為引腳內灌入電流,這個電流,稱為“灌電流灌電流”,外部電路稱,外部電路稱為為“灌電流負載灌電流負載”;拉電流:拉電流:單片機輸出高電平時,則允許外部器件,從單片機單片機輸出高電平時,則允許外部器件,從單片機的引腳,拉出電流,這個電流,稱為的引腳,拉出電流,這個電流,稱為“拉電流拉電流”,外部電路,外部電路稱為稱為“拉電流負載拉電流負載”。單片機輸出低電平的時候,驅動能力尚可,而輸出高電平的單片機輸出低電平的時候,驅動能力尚可,而輸出高電平的時候,就沒有輸出電流的能力。如果是時候,就沒有輸出電流的能力。如果是“拉電流負載拉電流負載”,要,要求單片機輸出高電

25、平時發(fā)揮作用,那就必須用求單片機輸出高電平時發(fā)揮作用,那就必須用“上拉電阻上拉電阻”來協(xié)助,產生負載所需的電流。設計單片機的負載電路,應來協(xié)助,產生負載所需的電流。設計單片機的負載電路,應該采用該采用“灌電流負載灌電流負載”的電路形式,以避免無謂的電流消耗的電路形式,以避免無謂的電流消耗。 第6章 存儲器擴展與并行I/O接口擴展第三節(jié) 并行I/O口的應用與擴展【例【例6-1】 如圖所示,如圖所示,P1口的口的P1.0P1.7分別分別通過反相器接通過反相器接8個發(fā)光二極管。要求編寫程個發(fā)光二極管。要求編寫程序,每隔序,每隔1s循環(huán)點亮循環(huán)點亮1只發(fā)光二極管,一直循只發(fā)光二極管,一直循環(huán)下去,已知

26、系統(tǒng)的晶振頻率為環(huán)下去,已知系統(tǒng)的晶振頻率為6MHzP1.0P1.7+5VVL0VL78031解:用軟件延時實現(xiàn)每隔1s循環(huán)點亮1只發(fā)光管 設計設計0.1s延時子程序延時子程序 因為因為fosc6MHz,所以機器周期,所以機器周期m12/fosc2s 0.1s的延時子程序宜采用雙重循環(huán)結構的延時子程序宜采用雙重循環(huán)結構,如下所示,如下所示:DEL1:MOV R2, #200;1mDEL2:MOV R3, #X;1m NOP;1mDEL3:DJNZ R3, DEL3;2m DJNZ R2, DEL2;2m RET 則延時時間則延時時間(X2m4)2002s100000s解得:解得:X123 主程

27、序連續(xù)主程序連續(xù)10次調用次調用0.1s延時子程序,則總延時時延時子程序,則總延時時 間就達到了間就達到了1s 主程序如下:主程序如下:ORG 0000HSTART: MOV A,#01H LOOP: MOV P1, AMOV R1, #10 DELAY: LCALL DEL1;10次調用延時子程序次調用延時子程序DJNZ R1, DELAYRLALJMP LOOPP1.0P1.7+5VVL0VL78031第6章 存儲器擴展與并行I/O接口擴展第三節(jié) 并行I/O口的應用與擴展3. I/O口用作輸入 當當I/O口用作輸入時,每個口用作輸入時,每個I/O腳的拉電腳的拉電流、灌電流一般應控制在流、灌

28、電流一般應控制在1mA之內。如果之內。如果I/O腳的電流太大腳的電流太大時,在單片機與輸入設時,在單片機與輸入設備之間應該用限流電阻予以隔離。需要特備之間應該用限流電阻予以隔離。需要特別注意的是,當別注意的是,當I/O口作為輸入使用時,口作為輸入使用時,必須先向必須先向I/O口鎖存器的相應位寫口鎖存器的相應位寫“1”,然后再讀,才能正確讀入引腳上的輸入信然后再讀,才能正確讀入引腳上的輸入信號號第6章 存儲器擴展與并行I/O接口擴展第三節(jié) 并行I/O口的應用與擴展【例【例6-2】 如圖所示,如圖所示,P1口外接口外接8個開關,要個開關,要求將開關的狀態(tài)輸入到片內求將開關的狀態(tài)輸入到片內RAM 3

29、0H單元單元第6章 存儲器擴展與并行I/O接口擴展第三節(jié) 并行I/O口的應用與擴展ORG0100HRDP1: MOVP1,#0FFH ;先向P1口送1MOVA,P1;讀入開關狀態(tài)MOV30H, A;送指定單元NOPSJMPRDP1;反復再讀ENDch6ch6-1.DSN ch6ch6-1.Uv2為了能正確讀入為了能正確讀入P1口引腳的輸入信號,口引腳的輸入信號,必須要先向必須要先向P1口送口送“1”,然后再讀,然后再讀 第6章 存儲器擴展與并行I/O接口擴展第三節(jié) 并行I/O口的應用與擴展6.3.2 6.3.2 采用采用8255A8255A擴展并行擴展并行I/OI/O口口8255A是是Inte

30、l公司生產的可編程并行公司生產的可編程并行I/O接口接口芯片,具有芯片,具有3個個8位并行位并行I/O口,口,3種工作方式,種工作方式,可通過編程改變其功能,因而使用靈活方便,可通過編程改變其功能,因而使用靈活方便,通用性強,可作為單片機與多種外圍設備連通用性強,可作為單片機與多種外圍設備連接時的接口電路接時的接口電路8255A內部結構和引腳與與CPU連的:連的:D7D0:三態(tài)雙向數(shù)據(jù)線,:三態(tài)雙向數(shù)據(jù)線, 傳送數(shù)據(jù)以及控制字傳送數(shù)據(jù)以及控制字 CS:片選信號線,低電平有效,:片選信號線,低電平有效, 表示本芯片被選中表示本芯片被選中RD:讀出信號線,低電平有效,:讀出信號線,低電平有效, 控

31、制控制從從8255A讀讀WR:寫入信號線,低電平有效,:寫入信號線,低電平有效, 控制向控制向8255A寫入寫入A1、A0:地址線,用來選擇:地址線,用來選擇8255A 內部的內部的4個端口個端口RESET:復位線,高電平有效:復位線,高電平有效與外設連的:與外設連的:PA7PA0:A口輸入口輸入/輸出線。輸出線。PB7PB0:B口輸入口輸入/輸出線。輸出線。PC7PC0:C口輸入口輸入/輸出線。輸出線。Vcc:+5V電源電源和和GND兩組控制器兩組控制器8255A各端口地址各端口地址A1 A0 0 0 A口地址口地址 0 1 B口地址口地址 1 0 C口地址口地址 1 1 控制口地址控制口地

32、址2. 8255芯片引腳與芯片引腳與CPU的連接的連接P0口與口與D0D7直接連接直接連接P0.0,P0.1經鎖存器經鎖存器373與與 A0和和A1連連P2.5P2.7經經138譯碼器譯碼器Y7與與CS連。因此僅當這三個連。因此僅當這三個口輸出全口輸出全1時,時,8255選中。選中。這種接法三個口的地址:這種接法三個口的地址:A口口:111xxxxxxxxxxx00B口口:111xxxxxxxxxxx01C口口:111xxxxxxxxxxx10控制口控制口:111xxxxxxxxxxx11X有不同的組合,各口地址有不同的組合,各口地址并不唯一。如并不唯一。如E000H和和EFF0H均指向均指向

33、A口。不同硬件接法,各口地址也不同。還可以用線選法。大家看看口。不同硬件接法,各口地址也不同。還可以用線選法。大家看看怎么連。怎么連。訪問8255A各端口指令對于單片機而言,擴展的對于單片機而言,擴展的8255端口相當于片外數(shù)據(jù)存儲器。因此對端口相當于片外數(shù)據(jù)存儲器。因此對A口,口,B口,口,C口和控制口的讀寫指令有口和控制口的讀寫指令有4條:條:MOVX A,DPTRMOVX A,Ri (i=0,1)MOVX DPTR, AMOVX Ri,A如按上圖接法,對如按上圖接法,對A口讀:口讀:MOV DPTR,#0E000HMOVX A,DPTR或或MOV P2,#0E0HMOV R0,#00HM

34、OVX A,R03. 8255A的工作方式 工作方式的選擇由工作方式的選擇由方式控制字決定方式控制字決定。用戶通過程序把控制字寫到。用戶通過程序把控制字寫到8255A的控制字寄存器,以設定的控制字寄存器,以設定8255A的工作方式和各口是輸入還是輸出。的工作方式和各口是輸入還是輸出。所謂8255初始化,就是要根據(jù)工作要求確定8255工作方式選擇字,并輸入8255控制寄存器。【例【例6-3】要求要求8255A各端口工作于方式各端口工作于方式0,A口作輸出,口作輸出,B口作輸入,口作輸入,C口高口高4位作輸出,位作輸出,C口低口低4位作輸入,寫出位作輸入,寫出8255A的方式控制字的方式控制字1

35、A口方式A口I/OC高B口方式B口I/OC低0:輸出1:輸入方式0方式010000011 83HC口置復位控制字8255的C口可進行位操作,即可對8255C口的每一位進行置位或清0操作,該操作是通過設置C口置/復位字實現(xiàn)的。C口置/復位字共8位,各位含義如圖所示。 由于由于8255的工作方式選擇字與的工作方式選擇字與C口置口置/復位字共用一個控制寄存復位字共用一個控制寄存器,故特別設置器,故特別設置D7為標志位,為標志位,D7=0表示控制字為表示控制字為C口置口置/復位復位字,字,D7 = 1表示控制字為表示控制字為8255工作方式選擇字。工作方式選擇字。 第6章 存儲器擴展與并行I/O接口擴

36、展第三節(jié) 并行I/O口的應用與擴展4. 8255A應用舉例【例【例6-4】8255A與與MCS-51單片機接口電路單片機接口電路如圖所示,如圖所示,8255A的的B口外接口外接8個開關,個開關,A口口通過反相器接通過反相器接8個發(fā)光二極管,各端口均工個發(fā)光二極管,各端口均工作在方式作在方式0,要求編寫程序從,要求編寫程序從B口讀入開關的口讀入開關的狀態(tài),再從狀態(tài),再從A口輸出點亮發(fā)光二極管口輸出點亮發(fā)光二極管第6章 存儲器擴展與并行I/O接口擴展第三節(jié) 并行I/O口的應用與擴展+5V11+5VL0L7S0S7PB0PB7PA0PA78255ARREA8031P0RDWRRSTALEG74LS3

37、73P2.7D7D0A0A1CSRDWRRSTD7D0Q0Q1Q7第6章 存儲器擴展與并行I/O接口擴展第三節(jié) 并行I/O口的應用與擴展依題意,依題意,8255A各端口工作在方式各端口工作在方式0,且,且A口作輸出,口作輸出,B口作輸入,根據(jù)口作輸入,根據(jù)8255A方方式控制字各個位的定義,應作如下設置式控制字各個位的定義,應作如下設置1 A口方式A口I/OC高B口方式B口I/OC低0:輸出1:輸入方式0方式010000010 82H第6章 存儲器擴展與并行I/O接口擴展第三節(jié) 并行I/O口的應用與擴展根據(jù)硬件連接,可得根據(jù)硬件連接,可得8255A各端口地址如下各端口地址如下端口端口A15A1

38、4A13A12 A11A10 A9 A8 A7 A6 A5 A4 A3 A2 A1 A0 端口地址端口地址A口口0 1 1 1 1 1 1 1 0 0 0 0 0 0 0 07F00HB口口0 1 1 1 1 1 1 1 0 0 0 0 0 0 0 17F01HC口口0 1 1 1 1 1 1 1 0 0 0 0 0 0 1 07F02H控制口控制口0 1 1 1 1 1 1 1 0 0 0 0 0 0 1 17F03H第三節(jié) 并行I/O口的應用與擴展源 程 序ORG1000HMAIN:MOV DPTR, #7F03H ;DPTR控制口地址MOV A, #82H ;方式控制字MOVX DPTR

39、, A ;8255A控制字INPB:MOVDPTR, #7F01H ;指向8255的B口MOVX A, DPTR; A 8255的B口MOV DPTR, #7F00H ;指向8255的A口MOVX DPTR, A;8255的A口 AD100MS:MOV R2, #200;延時DEL2:MOV R3, #123NOP DEL3:DJNZ R3, DEL3DJNZ R2, DEL2SJMP INPB ENDch6ch6-2.Uv2 ch6ch6-2.DSN第6章 存儲器擴展與并行I/O接口擴展第三節(jié) 并行I/O口的應用與擴展6.3.3 6.3.3 采用采用81558155擴展并行擴展并行I/OI/

40、O口口8155也是也是Intel公司生產的可編程并行公司生產的可編程并行I/O接接口芯片,具有口芯片,具有3個并行個并行I/O口(其中兩個為口(其中兩個為8位口,一個為位口,一個為6位口),還提供了位口),還提供了256字節(jié)的字節(jié)的SRAM以及一個以及一個14位定時位定時/計數(shù)器。計數(shù)器。8155內置內置有地址鎖存器,其地址線可直接與有地址鎖存器,其地址線可直接與MCS-51單片機的單片機的P0口相連,無須外接地址鎖存器口相連,無須外接地址鎖存器第6章 存儲器擴展與并行I/O接口擴展第三節(jié) 并行I/O口的應用與擴展1. 8155內部結構和引腳第6章 存儲器擴展與并行I/O接口擴展第三節(jié) 并行I

41、/O口的應用與擴展 AD7AD0:地址/數(shù)據(jù)總線ALE:地址鎖存信號PA7PA0:A口I/O引腳PB7PB0:B口I/O引腳PC5PC0,C口I/O引腳TIMERIN:定時/計數(shù)器輸入端。TIMEROUT:定時/計數(shù)器輸出引腳RESET:復位引腳,高電平有效CE:片選輸入信號,低電平有效。 RD:從I/O口或內部RAM讀選通信號,低電平有效WR:向I/O口、命令寄存器或內部RAM寫選通信號IO/M:I/O口與存儲器選擇8155引腳功能第6章 存儲器擴展與并行I/O接口擴展第三節(jié) 并行I/O口的應用與擴展8155各端口地址分配CEIO/MA7A6A5A4A3A2A1A0所選的端口所選的端口01000命令命令/狀態(tài)寄存器狀態(tài)寄存器01001A口口01010B口口01011C口口01100計數(shù)器低計數(shù)器低8位位01101計數(shù)器高計數(shù)器高6位位00RAM單元單元第6章 存儲器擴展與并行I/O接口擴展第三節(jié) 并行I/O口的應用與擴展2. 8155的命令字和狀態(tài)字 命令字命令字存放在存放在8155的命令寄存器中,的命令寄存器中,它只能寫入,不能讀出,用于選擇它只能寫入,不能讀出,用于選擇8155的的I/O口的工作方式以及

溫馨提示

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

評論

0/150

提交評論