MCS_51單片機(jī)與8155H的接口設(shè)計(jì)
掃描二維碼
隨時(shí)隨地手機(jī)看文章
另一種可編程的接口芯片8155,Intel公司研制的8155不僅具有兩個(gè)8位的I/O端口(A口、B口)和一個(gè)6位的I/O端口(C口),而且還可以提供256 B的靜態(tài)RAM存儲(chǔ)器和一個(gè)14位的定時(shí)/計(jì)數(shù)器。8155和單片機(jī)的接口非常簡(jiǎn)單,目前被廣泛應(yīng)用。
1. 8155的結(jié)構(gòu)和引腳
8155有40個(gè)引腳,采用雙列直插封裝,其引腳圖和組成框圖如下圖所示。
我們對(duì)8155的引腳分類說(shuō)明如下:
(1) 地址/數(shù)據(jù)線AD0~AD7(8條):是低8位地址線和數(shù)據(jù)線的共用輸入總線,常和51單片機(jī)的P0口相連,用于分時(shí)傳送地址數(shù)據(jù)信息,當(dāng)ALE=1時(shí),傳送的是地址。
(2) I/O口總線(22條):PA0~PA7、PB0~PB7分別為A、B口線,用于和外設(shè)之間傳遞數(shù)據(jù);PC0~PC5為C端口線,既可與外設(shè)傳送數(shù)據(jù),也可以作為A、B口的控制聯(lián)絡(luò)線。
(3) 控制總線(8條):
RESET:復(fù)位線,通常與單片機(jī)的復(fù)位端相連,復(fù)位后,8155的3個(gè)端口都為輸入方式。
WR, RD:讀/寫線,控制8155的讀、寫操作。
ALE:地址鎖存線,高電平有效。它常和單片機(jī)的ALE端相連,在ALE的下降沿將單片機(jī)P0口輸出的低8位地址信息鎖存到8155內(nèi)部的地址鎖存器中。因此,單片機(jī)的P0口和8155連接時(shí),無(wú)需外接鎖存器。
CS:片選線,低電平有效。
IO/M:RAM或I/O口的選擇線。當(dāng)=0時(shí),選中8155的256 B RAM;當(dāng)=1時(shí),選中8155片內(nèi)3個(gè)I/O端口以及命令/狀態(tài)寄存器和定時(shí)/計(jì)數(shù)器。
TIMERIN、TIMEROUT:定時(shí)/計(jì)數(shù)器的脈沖輸入、輸出線。TIMERIN是脈沖輸入線,其輸入脈沖對(duì)8155內(nèi)部的14位定時(shí)/計(jì)數(shù)器減1;為輸出線,當(dāng)計(jì)數(shù)器計(jì)滿回0時(shí),8155從該線輸出脈沖或方波,波形形狀由計(jì)數(shù)器的工作方式?jīng)Q定。
2. 作片外RAM使用
當(dāng)CE=0,IO/M=0時(shí),8155只能做片外RAM使用,共256 B。其尋址范圍由以及AD0~AD7的接法決定,這和前面講到的片外RAM擴(kuò)展時(shí)討論的完全相同。當(dāng)系統(tǒng)同時(shí)擴(kuò)展片外RAM芯片時(shí),要注意二者的統(tǒng)一編址。對(duì)這256 B RAM的操作使用片外RAM的讀/寫指令“MOVX”。
3. 作擴(kuò)展I/O口使用
當(dāng) CE=0,IO/M=1時(shí),此時(shí)可以對(duì)8155片內(nèi)3個(gè)I/O端口以及命令/狀態(tài)寄存器和定時(shí)/計(jì)數(shù)器進(jìn)行操作。與I/O端口和計(jì)數(shù)器使用有關(guān)的內(nèi)部寄存器共有6個(gè),需要三位地址來(lái)區(qū)分。
1) 命令/狀態(tài)寄存器
和接口芯片8255一樣,芯片8155 I/O口的工作方式的確定也是通過(guò)對(duì)8155的命令寄存器寫入控制字來(lái)實(shí)現(xiàn)的。8155控制字的格式如下圖所示。
命令寄存器只能寫入不能讀出,也就是說(shuō),控制字只能通過(guò)指令MOVX @DPTR, A或MOVX @Ri, A寫入命令寄存器。
狀態(tài)寄存器中存放有狀態(tài)字,狀態(tài)字反映了8155的工作情況,狀態(tài)字的各位定義如下圖所示。
狀態(tài)寄存器和命令寄存器是同一地址,狀態(tài)寄存器只能讀出不能寫入,也就是說(shuō),狀態(tài)字只能通過(guò)指令MOVX A ,@DPTR或MOVX A,@Ri來(lái)讀出,以此來(lái)了解8155的工作狀態(tài)。
2) 計(jì)數(shù)器高、低8位寄存器
關(guān)于計(jì)數(shù)器高、低8位寄存器的使用,我們將在后面講到定時(shí)器使用時(shí)再作介紹。
4. I/O口的工作方式
當(dāng)使用8155的三個(gè)I/O端口時(shí),它們可以工作于不同的方式,工作方式的選擇取決于寫入的控制字,如圖6.21所示。其中,A、B口可以工作于基本I/O方式或選通I/O方式,C口可工作于基本I/O方式,也可以作為A、B選通方式時(shí)的控制聯(lián)絡(luò)線。
5. 定時(shí)/計(jì)數(shù)器使用
8155的可編程定時(shí)/計(jì)數(shù)器是一個(gè)14位的減法計(jì)數(shù)器,在TIMERIN端輸入計(jì)數(shù)脈沖,計(jì)滿時(shí)由TIMEROUT輸出脈沖或方波,輸出方式由定時(shí)器高8位寄存器中的M2、M1兩位來(lái)決定。當(dāng)TIMERIN接外脈沖時(shí)為計(jì)數(shù)方式,接系統(tǒng)時(shí)鐘時(shí)為定時(shí)方式,實(shí)際使用時(shí)一定要注意芯片允許的最高計(jì)數(shù)頻率!
定時(shí)/計(jì)數(shù)器的初始值和輸出方式由高、低8位寄存器的內(nèi)容決定,初始值14位,其余兩位定義輸出方式。
6. MCS-51單片機(jī)和8155的接口
MCS-51和8155的接口非常簡(jiǎn)單,因?yàn)?155內(nèi)部有一個(gè)8位地址鎖存器,故無(wú)需外接鎖存器。在二者的連接中,8155的地址譯碼即片選端可以采用線選法、全譯碼等方法,這和8255類似。在整個(gè)單片機(jī)應(yīng)用系統(tǒng)中要考慮與片外RAM及其它接口芯片的統(tǒng)一編址。
此時(shí),8155內(nèi)部RAM的地址范圍為:0000H~00FFH,8155各端口的地址(設(shè)無(wú)關(guān)位為0,這些地址都不是惟一的)為:
命令/狀態(tài)口 0400H
A口 0401H
B口 0402H
C口 0403H
定時(shí)器低字節(jié) 0404H
定時(shí)器高字節(jié) 0405H