版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
并行I/O口的應(yīng)用與擴(kuò)展I/O接口技術(shù)概述存儲(chǔ)器的擴(kuò)展第6章存儲(chǔ)器擴(kuò)展與并行I/O接口擴(kuò)展第6章存儲(chǔ)器擴(kuò)展與并行I/O接口擴(kuò)展第一節(jié)51單片機(jī)存儲(chǔ)器擴(kuò)展只讀存儲(chǔ)器ROM,正常工作時(shí)只能讀出不能寫入,斷電后信息可長(zhǎng)期保存半導(dǎo)體存儲(chǔ)器隨機(jī)讀寫RAM,工作中既可讀出數(shù)據(jù)也可寫入數(shù)據(jù),但斷電后其中的信息將會(huì)丟失只讀存儲(chǔ)器ROM第6章存儲(chǔ)器擴(kuò)展與并行I/O接口擴(kuò)展PROM:用戶自行寫入程序,但只能寫一次EPROM:用戶可多次編程,用紫外燈照射可擦除信息EEPROM:通過加電信號(hào)可直接擦除其中的信息掩膜ROM:其中的信息在制造時(shí)由掩膜工藝固化進(jìn)去第一節(jié)51單片機(jī)存儲(chǔ)器擴(kuò)展隨機(jī)讀寫RAM第6章存儲(chǔ)器擴(kuò)展與并行I/O接口擴(kuò)展動(dòng)態(tài)RAM:用電容上的電量來表示信息,電路簡(jiǎn)單,集成度高。但要定時(shí)刷新靜態(tài)RAM:用觸發(fā)器存儲(chǔ)信息,集成度低,容量小,但無(wú)需刷新第一節(jié)51單片機(jī)存儲(chǔ)器擴(kuò)展1)存儲(chǔ)容量存儲(chǔ)器容量=單元數(shù)×數(shù)據(jù)線位數(shù).1個(gè)字節(jié)(1B)=8位二進(jìn)制數(shù)。1K=1024例如:(1024×8)位=1K個(gè)字節(jié)=1KB半導(dǎo)體存儲(chǔ)器的指標(biāo)第一節(jié)51單片機(jī)存儲(chǔ)器擴(kuò)展2)存取速度指從CPU給出有效的存儲(chǔ)器地址到存儲(chǔ)器給出有效數(shù)據(jù)所花費(fèi)的時(shí)間。存取時(shí)間越小,存儲(chǔ)器的存取速度就越快。通常,半導(dǎo)體存儲(chǔ)器的最大存取時(shí)間從幾十到幾百毫微秒對(duì)于80C51系列,內(nèi)部存儲(chǔ)器都達(dá)到64KB,用戶沒有必要再擴(kuò)展外部程序存儲(chǔ)器。8031內(nèi)部無(wú)程序存儲(chǔ)器,需要在外部進(jìn)行擴(kuò)展。典型的程序存儲(chǔ)器常用Intel27系列EPROM6.1.2程序存儲(chǔ)器及其擴(kuò)展第一節(jié)51單片機(jī)存儲(chǔ)器擴(kuò)展型號(hào)容量地址線數(shù)27162KB1127324KB1227648KB132712816KB142725632KB152751264KB1627128引腳功能A0~A13:地址輸入線,可尋址214=16KD7~D0:數(shù)據(jù)線引腳,用于傳送數(shù)據(jù),讀存儲(chǔ)器時(shí)為數(shù)據(jù)輸出編程時(shí)為數(shù)據(jù)輸入CE:片選輸入端,低電平允許本芯片工作OE:輸出允許,低電平時(shí),被選中的單元中數(shù)據(jù)才輸出PGM:編程控制端VCC:工作電源VPP:編程電源GND:直流地工作方式引
腳CEOEPGMVPPVCCD7~D0讀出低低高VCCVCC輸出維持高××VCCVCC高阻編程低高編程負(fù)脈沖VPPVCC輸入編程校驗(yàn)低低高VPPVCC輸出禁止編程高××VPPVCC高阻P0口在地址ALE下降沿后傳送數(shù)據(jù),為了將它們分離出來,需要外加地址鎖存器74LS37374LS373內(nèi)含8個(gè)D觸發(fā)器,輸入為D0~D7,依次接P0口,輸出為Q0~Q7,依次27128的地址線A0~A7,OE接地,Q端有效,G端接51機(jī)的ALE,高電平時(shí),Q端隨D端變化,低電平時(shí),Q端保持。27128的CE接地單片機(jī)的PSEN接27128的OE,當(dāng)執(zhí)行MOVC指令,PSEN低電平時(shí),就將27128選中地址的數(shù)據(jù)讀入。單片機(jī)的EA可接地。2.單片程序存儲(chǔ)器的擴(kuò)展單片程序存儲(chǔ)器的擴(kuò)展第一節(jié)51單片機(jī)存儲(chǔ)器擴(kuò)展第一節(jié)51單片機(jī)存儲(chǔ)器擴(kuò)展根據(jù)硬件連接,該27128的地址范圍
P2.7P2.6P2.5···········P2.1P2.0P0.7P0.6·····P0.3P0.2P0.1P0.0
00
0
0
0
0
0
0
00
1
1
1
1
1
1
0000000011111111=0000H=3FFFH
01
0
0
0
0
0
0
01
1
1
1
1
1
1
0000000011111111=4000H=7FFFH
10
0
0
0
0
0
0
10
1
1
1
1
1
1
0000000011111111=8000H=BFFFH
11
0
0
0
0
0
0
11
1
1
1
1
1
1
0000000011111111=F000H=FFFFH也就是說地址0000H,4000H,80000H,F(xiàn)0000H均指向27128同一個(gè)單元。多片存儲(chǔ)器擴(kuò)展的關(guān)鍵問題是要區(qū)分CPU是訪問哪一片EPROM。利用譯碼器進(jìn)行片選,這種片選方法稱為譯碼法。線選法通常是將單片機(jī)的高8位地址線A8~A15中的某幾根與外部接口芯片的片選端一一相連,當(dāng)該地址線為0時(shí)(對(duì)0選通有效的外部芯片而言),與該地址線相連接的外部芯片被選通。必須注意一個(gè)時(shí)刻,選通線只能1條為0,否則就造成總線競(jìng)爭(zhēng)了。只讀存儲(chǔ)器ROM的密度普遍提高,目前ROM芯片單片容量已達(dá)到或超過64KB,外部擴(kuò)展程序存儲(chǔ)器時(shí),單片即可滿足需要,一般都采用線選法或用直接選中。3.多片程序存儲(chǔ)器的擴(kuò)展第6章存儲(chǔ)器擴(kuò)展與并行I/O接口擴(kuò)展第一節(jié)51單片機(jī)存儲(chǔ)器擴(kuò)展8031單片機(jī)譯碼法擴(kuò)展四片27128第6章存儲(chǔ)器擴(kuò)展與并行I/O接口擴(kuò)展第一節(jié)51單片機(jī)存儲(chǔ)器擴(kuò)展各片27128的地址范圍27128編號(hào)A15A14A13A12A11A10A9A8A7A6A5A4A3A2A1A0地址范圍(Y0=0)0000000000000000…
…
…
…
…
…
…
…
…
…
…
…
…
…
…00111111111111110000H……3FFFH(Y1=0)0100000000000000…
…
…
…
…
…
…
…
…
…
…
…
…
…
…01111111111111114000H……7FFFH(Y2=0)1000000000000000…
…
…
…
…
…
…
…
…
…
…
…
…
…
…10111111111111118000H……BFFFH(Y3=0)1100000000000000…
…
…
…
…
…
…
…
…
…
…
…
…
…
…1111111111111111C000H……FFFFH第一節(jié)51單片機(jī)存儲(chǔ)器擴(kuò)展6.1.3數(shù)據(jù)存儲(chǔ)器及其擴(kuò)展1.Intel62系列SRAM型號(hào)容量地址線數(shù)61162KB1162648KB136212816KB146225632KB15擴(kuò)展片外數(shù)據(jù)存儲(chǔ)器的地址線也是由P0口和P2口提供的,所以與外部程序存儲(chǔ)器并聯(lián)使用地址和數(shù)據(jù)線,但數(shù)據(jù)存儲(chǔ)器的讀和寫由WR和RD控制,而程序存儲(chǔ)器的讀由PSEN控制。6264引腳功能A0~A12:地址線引腳,可尋址213=8192=8KD7~D0:數(shù)據(jù)線引腳,用于傳送讀寫數(shù)據(jù)CS和CS1:CS=0且CS1=1時(shí)允許本芯片工作OE:輸出允許WE:寫允許信號(hào),低電平寫入,高電平讀出VCC:工作電源GND:直流地工作方式CSCS1WEOE功
能讀出0110從6264讀出數(shù)據(jù)到D7~D0寫入0101將D7~D0數(shù)據(jù)寫入6264未選通11××輸出高阻數(shù)據(jù)存儲(chǔ)器擴(kuò)展與程序存儲(chǔ)器擴(kuò)展的連接方法基本相同。不同的只是控制信號(hào)不一樣。在程序存儲(chǔ)器擴(kuò)展中,單片機(jī)使用PSEN作為讀選通信號(hào),而在數(shù)據(jù)存儲(chǔ)器擴(kuò)展中,單片機(jī)則使用RD和WR分別作為讀和寫的選通信號(hào)第6章存儲(chǔ)器擴(kuò)展與并行I/O接口擴(kuò)展2.數(shù)據(jù)存儲(chǔ)器的擴(kuò)展第一節(jié)51單片機(jī)存儲(chǔ)器擴(kuò)展第6章存儲(chǔ)器擴(kuò)展與并行I/O接口擴(kuò)展第一節(jié)51單片機(jī)存儲(chǔ)器擴(kuò)展采用線選法擴(kuò)展三片6264(注意P2.5,P2.6,P2.7同一時(shí)刻只能有一個(gè)為0)第6章存儲(chǔ)器擴(kuò)展與并行I/O接口擴(kuò)展第一節(jié)51單片機(jī)存儲(chǔ)器擴(kuò)展各片6264的地址范圍6264編號(hào)A15A14A13A12A11A10A9A8A7A6A5A4A3A2A1A0地址范圍IC16264(P2.5=0)1100000000000000…
…
…
…
…
…
…
…
…
…
…
…
…
…
…1101111111111111C000H……DFFFHIC26264(P2.6=0)1010000000000000…
…
…
…
…
…
…
…
…
…
…
…
…
…
…1011111111111111A000H……BFFFHIC36264(P2.7=0)0110000000000000…
…
…
…
…
…
…
…
…
…
…
…
…
…
…01111111111111116000H……7FFFH
8031單片機(jī)內(nèi)部沒有程序存儲(chǔ)器,必須外接。而內(nèi)部RAM很少,經(jīng)常也需要外接數(shù)據(jù)存儲(chǔ)器。下面給出利用74LS138譯碼器同時(shí)擴(kuò)展二片2764和二片6264的電路第6章存儲(chǔ)器擴(kuò)展與并行I/O接口擴(kuò)展3.同時(shí)擴(kuò)展程序存儲(chǔ)器和數(shù)據(jù)存儲(chǔ)器第一節(jié)51單片機(jī)存儲(chǔ)器擴(kuò)展第6章存儲(chǔ)器擴(kuò)展與并行I/O接口擴(kuò)展第一節(jié)51單片機(jī)存儲(chǔ)器擴(kuò)展采用譯碼法同時(shí)擴(kuò)展ROM和RAM第6章存儲(chǔ)器擴(kuò)展與并行I/O接口擴(kuò)展第一節(jié)51單片機(jī)存儲(chǔ)器擴(kuò)展各片ROM和RAM的地址范圍存儲(chǔ)芯片A15A14A13A12A11A10A9A8A7A6A5A4A3A2A1A0地址范圍IC12764(Y0=0)0000000000000000…
…
…
…
…
…
…
…
…
…
…
…
…
…
…00011111111111110000H……1FFFHIC22764(Y1=0)0010000000000000…
…
…
…
…
…
…
…
…
…
…
…
…
…
…00111111111111112000H……3FFFHIC36264(Y2=0)0100000000000000…
…
…
…
…
…
…
…
…
…
…
…
…
…
…01011111111111114000H……5FFFHIC46264(Y3=0)0110000000000000…
…
…
…
…
…
…
…
…
…
…
…
…
…
…01111111111111116000H……7FFFH第二節(jié)I/O接口技術(shù)概述6.2.1I/O接口的作用速度匹配輸出數(shù)據(jù)鎖存輸入數(shù)據(jù)緩沖數(shù)據(jù)轉(zhuǎn)換6.2.2I/O接口的編址外設(shè)端口單獨(dú)編址:I/O寄存器地址空間和存儲(chǔ)器地址空間分開編址外設(shè)端口與存儲(chǔ)器統(tǒng)一編址:直接使用訪問數(shù)據(jù)存儲(chǔ)器的指令進(jìn)行I/O操作(51單片機(jī)采用)第二節(jié)I/O接口技術(shù)概述6.2.3I/O數(shù)據(jù)的傳送方式查詢傳送方式中斷傳送方式DMA傳送方式(51單片機(jī)沒有)無(wú)條件傳送方式6.2.4I/O接口的類型并行I/O接口:用于并行傳送I/O數(shù)據(jù),速度快、效率高,適用于近距離傳送串行I/O接口:用于串行傳送I/O數(shù)據(jù),成本低但速度慢,適用于遠(yuǎn)距離傳送第6章存儲(chǔ)器擴(kuò)展與并行I/O接口擴(kuò)展第三節(jié)并行I/O口的應(yīng)用與擴(kuò)展6.3.1MCS-51單片機(jī)I/O口的直接應(yīng)用P0口在擴(kuò)展片外存儲(chǔ)器時(shí)作地址/數(shù)據(jù)分時(shí)復(fù)用總線,在不進(jìn)行擴(kuò)展時(shí)作一般準(zhǔn)雙向輸入/輸出口使用。P1口為通用準(zhǔn)雙向輸入/輸出接口。P2口在擴(kuò)展片外存儲(chǔ)器時(shí)作高8位地址總線,在無(wú)擴(kuò)展時(shí)可用作通用準(zhǔn)雙向I/O接口。P3口除了作為通用準(zhǔn)雙向I/O使用外,還具有第2功能第6章存儲(chǔ)器擴(kuò)展與并行I/O接口擴(kuò)展第三節(jié)并行I/O口的應(yīng)用與擴(kuò)展1.MCS-51單片機(jī)I/O端口的操作方式
1)輸出數(shù)據(jù)方式
CPU通過以端口為目的操作數(shù)的指令就可以把數(shù)據(jù)寫到P0~P3的端口鎖存器,然后通過輸出驅(qū)動(dòng)電路送到端口的引腳線。因此,凡是以端口為目的操作數(shù)的指令都能達(dá)到從端口引腳上輸出數(shù)據(jù)的目的 MOV P0, R2 ORL P1, A ANL P2, #data XRL P3, A第6章存儲(chǔ)器擴(kuò)展與并行I/O接口擴(kuò)展第三節(jié)并行I/O口的應(yīng)用與擴(kuò)展
2)讀端口鎖存器方式
讀端口鎖存器方式實(shí)際上并不從外部引腳讀入數(shù)據(jù),而只是把端口鎖存器中的內(nèi)容讀到內(nèi)部總線,按指令要求進(jìn)行運(yùn)算和變換后,再寫回到鎖存器屬于這類操作的指令通常是ANL、ORL、XRL等“讀—修改—寫”指令,例如: ORL P0, #0FH第6章存儲(chǔ)器擴(kuò)展與并行I/O接口擴(kuò)展第三節(jié)并行I/O口的應(yīng)用與擴(kuò)展
3)讀引腳方式當(dāng)端口做輸入使用時(shí),若要讀取端口引腳上的信號(hào),要先向其鎖存器寫入“1”,使得該輸出驅(qū)動(dòng)電路的場(chǎng)效應(yīng)管截止,然后再執(zhí)行輸入指令,才能真正把外部引腳的狀態(tài)讀入例如要讀取P1口低4位引腳上信號(hào)的指令如下:MOV P1,#0FH;使P1口低4位鎖存器置“1”MOV A,P1 ;讀P1口低4位引腳信號(hào)送A第6章存儲(chǔ)器擴(kuò)展與并行I/O接口擴(kuò)展第三節(jié)并行I/O口的應(yīng)用與擴(kuò)展2.I/O口用作輸出
當(dāng)I/O口用作輸出時(shí),每個(gè)I/O引腳輸出高電平時(shí)的拉電流應(yīng)控制在1mA之內(nèi)。P1、P2和P3口每個(gè)I/O引腳輸出低電平時(shí)的灌電流一般應(yīng)控制在3mA之內(nèi),而P0口每個(gè)I/O引腳的灌電流允許到5mA第三節(jié)并行I/O口的應(yīng)用與擴(kuò)展灌電流:?jiǎn)纹瑱C(jī)輸出低電平時(shí),將允許外部器件,向單片機(jī)引腳內(nèi)灌入電流,這個(gè)電流,稱為“灌電流”,外部電路稱為“灌電流負(fù)載”;
拉電流:?jiǎn)纹瑱C(jī)輸出高電平時(shí),則允許外部器件,從單片機(jī)的引腳,拉出電流,這個(gè)電流,稱為“拉電流”,外部電路稱為“拉電流負(fù)載”。單片機(jī)輸出低電平的時(shí)候,驅(qū)動(dòng)能力尚可,而輸出高電平的時(shí)候,就沒有輸出電流的能力。如果是“拉電流負(fù)載”,要求單片機(jī)輸出高電平時(shí)發(fā)揮作用,那就必須用“上拉電阻”來協(xié)助,產(chǎn)生負(fù)載所需的電流。設(shè)計(jì)單片機(jī)的負(fù)載電路,應(yīng)該采用“灌電流負(fù)載”的電路形式,以避免無(wú)謂的電流消耗。
第6章存儲(chǔ)器擴(kuò)展與并行I/O接口擴(kuò)展第三節(jié)并行I/O口的應(yīng)用與擴(kuò)展【例6-1】如圖所示,P1口的P1.0~P1.7分別通過反相器接8個(gè)發(fā)光二極管。要求編寫程序,每隔1s循環(huán)點(diǎn)亮1只發(fā)光二極管,一直循環(huán)下去,已知系統(tǒng)的晶振頻率為6MHz解:用軟件延時(shí)實(shí)現(xiàn)每隔1s循環(huán)點(diǎn)亮1只發(fā)光管⑴設(shè)計(jì)0.1s延時(shí)子程序因?yàn)閒osc=6MHz,所以機(jī)器周期m=12/fosc=2μs
0.1s的延時(shí)子程序宜采用雙重循環(huán)結(jié)構(gòu),如下所示: DEL1:MOVR2, #200 ;1m DEL2:MOVR3, #X ;1m NOP ;1m DEL3:DJNZR3, DEL3 ;2m DJNZR2, DEL2 ;2m RET則延時(shí)時(shí)間=[(X×2m+4)×200]×2μs=100000μs
解得:X=123⑵主程序連續(xù)10次調(diào)用0.1s延時(shí)子程序,則總延時(shí)時(shí)間就達(dá)到了1s主程序如下:
ORG 0000H START: MOV A, #01H LOOP: MOV P1, A MOV R1, #10DELAY: LCALLDEL1 ;10次調(diào)用延時(shí)子程序
DJNZR1, DELAY RL A LJMPLOOP第6章存儲(chǔ)器擴(kuò)展與并行I/O接口擴(kuò)展第三節(jié)并行I/O口的應(yīng)用與擴(kuò)展3.I/O口用作輸入
當(dāng)I/O口用作輸入時(shí),每個(gè)I/O腳的拉電流、灌電流一般應(yīng)控制在1mA之內(nèi)。如果I/O腳的電流太大時(shí),在單片機(jī)與輸入設(shè)備之間應(yīng)該用限流電阻予以隔離。需要特別注意的是,當(dāng)I/O口作為輸入使用時(shí),必須先向I/O口鎖存器的相應(yīng)位寫“1”,然后再讀,才能正確讀入引腳上的輸入信號(hào)第6章存儲(chǔ)器擴(kuò)展與并行I/O接口擴(kuò)展第三節(jié)并行I/O口的應(yīng)用與擴(kuò)展【例6-2】如圖所示,P1口外接8個(gè)開關(guān),要求將開關(guān)的狀態(tài)輸入到片內(nèi)RAM30H單元第6章存儲(chǔ)器擴(kuò)展與并行I/O接口擴(kuò)展第三節(jié)并行I/O口的應(yīng)用與擴(kuò)展
ORG 0100HRDP1: MOV P1, #0FFH ;先向P1口送1 MOV A, P1 ;讀入開關(guān)狀態(tài)
MOV 30H, A ;送指定單元
NOP SJMP RDP1 ;反復(fù)再讀
ENDch6\ch6-1.DSN
ch6\ch6-1.Uv2為了能正確讀入P1口引腳的輸入信號(hào),必須要先向P1口送“1”,然后再讀第6章存儲(chǔ)器擴(kuò)展與并行I/O接口擴(kuò)展第三節(jié)并行I/O口的應(yīng)用與擴(kuò)展6.3.2采用8255A擴(kuò)展并行I/O口8255A是Intel公司生產(chǎn)的可編程并行I/O接口芯片,具有3個(gè)8位并行I/O口,3種工作方式,可通過編程改變其功能,因而使用靈活方便,通用性強(qiáng),可作為單片機(jī)與多種外圍設(shè)備連接時(shí)的接口電路8255A內(nèi)部結(jié)構(gòu)和引腳與CPU連的:D7~D0:三態(tài)雙向數(shù)據(jù)線,
傳送數(shù)據(jù)以及控制字 CS:片選信號(hào)線,低電平有效,
表示本芯片被選中RD:讀出信號(hào)線,低電平有效,
控制從8255A讀WR:寫入信號(hào)線,低電平有效,
控制向8255A寫入A1、A0:地址線,用來選擇8255A
內(nèi)部的4個(gè)端口RESET:復(fù)位線,高電平有效與外設(shè)連的:PA7~PA0:A口輸入/輸出線。PB7~PB0:B口輸入/輸出線。PC7~PC0:C口輸入/輸出線。Vcc:+5V電源和GND兩組控制器8255A各端口地址A1A000─A口地址
01─B口地址
10─C口地址
11─控制口地址2.8255芯片引腳與CPU的連接P0口與D0~D7直接連接P0.0,P0.1經(jīng)鎖存器373與
A0和A1連P2.5~P2.7經(jīng)138譯碼器Y7與CS連。因此僅當(dāng)這三個(gè)口輸出全1時(shí),8255選中。這種接法三個(gè)口的地址:A口:111xxxxxxxxxxx00B口:111xxxxxxxxxxx01C口:111xxxxxxxxxxx10控制口:111xxxxxxxxxxx11X有不同的組合,各口地址并不唯一。如E000H和EFF0H均指向A口。不同硬件接法,各口地址也不同。還可以用線選法。大家看看怎么連。訪問8255A各端口指令對(duì)于單片機(jī)而言,擴(kuò)展的8255端口相當(dāng)于片外數(shù)據(jù)存儲(chǔ)器。因此對(duì)A口,B口,C口和控制口的讀寫指令有4條:MOVXA,@DPTRMOVXA,@Ri(i=0,1)MOVX@DPTR,AMOVX@Ri,A如按上圖接法,對(duì)A口讀:MOVDPTR,#0E000HMOVXA,@DPTR或MOVP2,#0E0HMOVR0,#00HMOVXA,@R03.8255A的工作方式
工作方式的選擇由方式控制字決定。用戶通過程序把控制字寫到8255A的控制字寄存器,以設(shè)定8255A的工作方式和各口是輸入還是輸出。所謂8255初始化,就是要根據(jù)工作要求確定8255工作方式選擇字,并輸入8255控制寄存器。
【例6-3】要求8255A各端口工作于方式0,A口作輸出,B口作輸入,C口高4位作輸出,C口低4位作輸入,寫出8255A的方式控制字C口置復(fù)位控制字8255的C口可進(jìn)行位操作,即可對(duì)8255C口的每一位進(jìn)行置位或清0操作,該操作是通過設(shè)置C口置/復(fù)位字實(shí)現(xiàn)的。C口置/復(fù)位字共8位,各位含義如圖所示。由于8255的工作方式選擇字與C口置/復(fù)位字共用一個(gè)控制寄存器,故特別設(shè)置D7為標(biāo)志位,D7=0表示控制字為C口置/復(fù)位字,D7=1表示控制字為8255工作方式選擇字。
第6章存儲(chǔ)器擴(kuò)展與并行I/O接口擴(kuò)展第三節(jié)并行I/O口的應(yīng)用與擴(kuò)展4.8255A應(yīng)用舉例【例6-4】8255A與MCS-51單片機(jī)接口電路如圖所示,8255A的B口外接8個(gè)開關(guān),A口通過反相器接8個(gè)發(fā)光二極管,各端口均工作在方式0,要求編寫程序從B口讀入開關(guān)的狀態(tài),再?gòu)腁口輸出點(diǎn)亮發(fā)光二極管第6章存儲(chǔ)器擴(kuò)展與并行I/O接口擴(kuò)展第三節(jié)并行I/O口的應(yīng)用與擴(kuò)展第6章存儲(chǔ)器擴(kuò)展與并行I/O接口擴(kuò)展第三節(jié)并行I/O口的應(yīng)用與擴(kuò)展依題意,8255A各端口工作在方式0,且A口作輸出,B口作輸入,根據(jù)8255A方式控制字各個(gè)位的定義,應(yīng)作如下設(shè)置第6章存儲(chǔ)器擴(kuò)展與并行I/O接口擴(kuò)展第三節(jié)并行I/O口的應(yīng)用與擴(kuò)展根據(jù)硬件連接,可得8255A各端口地址如下端口A15A14A13A12A11A10A9A8A7A6A5A4A3A2A1A0端口地址A口01111111000000007F00HB口01111111000000017F01HC口01111111000000107F02H控制口01111111000000117F03H第三節(jié)并行I/O口的應(yīng)用與擴(kuò)展源程序 ORG 1000HMAIN: MOVDPTR,#7F03H;DPTR←控制口地址
MOVA, #82H ;方式控制字
MOVX@DPTR,A ;8255A←控制字INPB: MOV DPTR,#7F01H;指向8255的B口
MOVXA,@DPTR ;A←8255的B口
MOVDPTR,#7F00H ;指向8255的A口
MOVX@DPTR,A ;8255的A口←AD100MS:MOV R2, #200 ;延時(shí)DEL2: MOV R3, #123 NOP DEL3: DJNZ R3, DEL3 DJNZ R2, DEL2
SJMPINPB ENDch6\ch6-2.Uv2
ch6\ch6-2.DSN第6章存儲(chǔ)器擴(kuò)展與并行I/O接口擴(kuò)展第三節(jié)并行I/O口的應(yīng)用與擴(kuò)展6.3.3采用8155擴(kuò)展并行I/O口8155也是Intel公司生產(chǎn)的可編程并行I/O接口芯片,具有3個(gè)并行I/O口(其中兩個(gè)為8位口,一個(gè)為6位口),還提供了256字節(jié)的SRAM以及一個(gè)14位定時(shí)/計(jì)數(shù)器。8155內(nèi)置有地址鎖存器,其地址線可直接與MCS-51單片機(jī)的P0口相連,無(wú)須外接地址鎖存器第6章存儲(chǔ)器擴(kuò)展與并行I/O接口擴(kuò)展第三節(jié)并行I/O口的應(yīng)用與擴(kuò)展1.8155內(nèi)部結(jié)構(gòu)和引腳第6章存儲(chǔ)器擴(kuò)展與并行I/O接口擴(kuò)展第三節(jié)并行I/O口的應(yīng)用與擴(kuò)展AD7~AD0:地址/數(shù)據(jù)總線ALE:地址鎖存信號(hào)PA7~PA0:A口I/O引腳PB7~PB0:B口I/O引腳PC5~PC0,C口I/O引腳TIMERIN:定時(shí)/計(jì)數(shù)器輸入端。TIMEROUT:定時(shí)/計(jì)數(shù)器輸出引腳RESET:復(fù)位引腳,高電平有效CE:片選輸入信號(hào),低電平有效。RD:從I/O口或內(nèi)部RAM讀選通信號(hào),低電平有效WR:向I/O口、命令寄存器或內(nèi)部RAM寫選通信號(hào)IO/M:I/O口與存儲(chǔ)器選擇8155引腳功能第6章存儲(chǔ)器擴(kuò)展與并行I/O接口擴(kuò)展第三節(jié)并行I/O口的應(yīng)用與擴(kuò)展8155各端口地址分配CEIO/MA7A6A5A4A3A2A1A0所選的端口01×××××000命令/狀態(tài)寄存器01×××××001A口01×××××010B口01×××××011C口01×××××100計(jì)數(shù)器低8位01×××××101計(jì)數(shù)器高6位00××××××××RAM單元第6章存儲(chǔ)器擴(kuò)展與并行I/O接口擴(kuò)展第三節(jié)并行I/O口的應(yīng)用與擴(kuò)展2.8155的命令字和狀態(tài)字
命令字存放在8155的命令寄存器中,它只能寫入,不能讀出,用
溫馨提示
- 1. 本站所有資源如無(wú)特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024年緊急貸款合同3篇
- 2024年鋼板租賃合同權(quán)益保障詳解
- 2024年版權(quán)許可合同監(jiān)測(cè)與維權(quán)
- 2024年設(shè)計(jì)項(xiàng)目合同終止補(bǔ)充合同版B版
- 2024年鋼琴購(gòu)置協(xié)議
- 2024廢舊鋼材采購(gòu)銷售協(xié)議書版
- 2024年直播電商與供應(yīng)鏈金融合作框架協(xié)議3篇
- 2024年環(huán)境治理項(xiàng)目合作合同
- 2024年財(cái)務(wù)會(huì)計(jì)技術(shù)咨詢合同
- 2024年高標(biāo)準(zhǔn)大理石采購(gòu)及專業(yè)安裝服務(wù)協(xié)議版B版
- 2024-2020年上海高考英語(yǔ)作文試題匯編 (解讀及范文)
- 依法執(zhí)業(yè)與醫(yī)療安全培訓(xùn)課件
- C語(yǔ)言程序設(shè)計(jì)(蘭州石化職業(yè)技術(shù)大學(xué))知到智慧樹期末考試答案題庫(kù)2024年秋蘭州石化職業(yè)技術(shù)大學(xué)
- 《GMP基礎(chǔ)知識(shí)培訓(xùn)》課件
- fsQCA方法與案例分析
- 中國(guó)火鍋文化課件
- 礦產(chǎn)貿(mào)易風(fēng)險(xiǎn)管控
- 期末 (試題) -2024-2025學(xué)年川教版(三起)英語(yǔ)五年級(jí)上冊(cè)
- 2025屆四川省新高考八省適應(yīng)性聯(lián)考模擬演練 生物試卷(含答案)
- 安全生產(chǎn)方案及保證措施
- 非物質(zhì)文化遺產(chǎn)主題班會(huì)之英歌舞課件
評(píng)論
0/150
提交評(píng)論