MCS_51單片機(jī)與8255A的接口設(shè)計(jì)
所謂可編程的接口芯片是指其功能可由微處理機(jī)的指令來(lái)加以改變的接口芯片,利用編程的方法,可以使一個(gè)接口芯片執(zhí)行不同的接口功能。目前,各生產(chǎn)廠家已提供了很多系列的可編程接口,MCS-51單片機(jī)常用的兩種接口芯片是8255以及8155。
本文引用地址:http://m.butianyuan.cn/article/170507.htm8255和MCS-51相連,可以為外設(shè)提供三個(gè)8位的I/O端口:A口、B口和C口,三個(gè)端口的功能完全由編程來(lái)決定。
1. 8255的內(nèi)部結(jié)構(gòu)和引腳排列
下圖7為8255的內(nèi)部結(jié)構(gòu)和引腳圖。
(1)A口、B口和C口。A口、B口和C口均為8位I/O數(shù)據(jù)口,但結(jié)構(gòu)上略有差別。A口由一個(gè)8位的數(shù)據(jù)輸出緩沖/鎖存器和一個(gè)8位的數(shù)據(jù)輸入緩沖/鎖存器組成。B口由一個(gè)8位的數(shù)據(jù)輸出緩沖/鎖存器和一個(gè)8位的數(shù)據(jù)輸入緩沖器組成。三個(gè)端口都可以和外設(shè)相連,分別傳送外設(shè)的輸入/輸出數(shù)據(jù)或控制信息。
(2) A、B組控制電路。這是兩組根據(jù)CPU的命令字控制8255工作方式的電路。A組控制A口及C口的高4位,B組控制B口及C口的低4位。
(3) 數(shù)據(jù)緩沖器。這是一個(gè)雙向三態(tài)8位的驅(qū)動(dòng)口,用于和單片機(jī)的數(shù)據(jù)總線(xiàn)相連,傳送數(shù)據(jù)或控制信息。
(4) 讀/寫(xiě)控制邏輯。這部分電路接收MCS-51送來(lái)的讀/寫(xiě)命令和選口地址,用于控制對(duì)8255的讀/寫(xiě)。
(5) 數(shù)據(jù)線(xiàn)(8條):D0~D7為數(shù)據(jù)總線(xiàn),用于傳送CPU和8255之間的數(shù)據(jù)、命令和狀態(tài)字。
(6) 控制線(xiàn)和尋址線(xiàn)(6條)。
RESET:復(fù)位信號(hào),輸入高電平有效。一般和單片機(jī)的復(fù)位相連,復(fù)位后,8255所有內(nèi)部寄存器清0,所有口都為輸入方式。
WR和RD: 讀/寫(xiě)信號(hào)線(xiàn),輸入,低電平有效。當(dāng)為0時(shí)(必為1),所選的8255處于讀狀態(tài),8255送出信息到CPU。反之亦然。
(6)CS:片選線(xiàn),輸入,低電平有效。
(7) A0、A1:地址輸入線(xiàn)。當(dāng)=0,芯片被選中時(shí),這兩位的4種組合00、01、10、11分別用于選擇A、B、C口和控制寄存器。
(8)I/O口線(xiàn)(24條):PA0~PA7、PB0~PB7、PC0~PC7為24條雙向三態(tài)I/O總線(xiàn),分別與A、B、C口相對(duì)應(yīng),用于8255和外設(shè)之間傳送數(shù)據(jù)。
(9) 電源線(xiàn)(2條):VCC為+5 V,GND為地線(xiàn)。
2. 8255的控制字
8255的三個(gè)端口具體工作在什么方式下,是通過(guò)CPU對(duì)控制口的寫(xiě)入控制字來(lái)決定的。8255有兩個(gè)控制字:方式選擇控制字和C口置/復(fù)位控制字。用戶(hù)通過(guò)程序把這兩個(gè)控制字送到8255的控制寄存器(A0A1=11),這兩個(gè)控制字以D7來(lái)作為標(biāo)志。
1) 方式選擇控制字
方式選擇控制字的格式和定義如下圖所示。
2) C口置/復(fù)位控制字
C口置/復(fù)位控制字的格式和定義如下圖所示。C口具有位操作功能,把一個(gè)置/復(fù)位控制字送入8255的控制寄存器,就能將C口的某一位置1或清0而不影響其它位的狀態(tài)。
3. 8255的工作方式
8255有三種工作方式:方式0、方式1、方式2。方式的選擇是通過(guò)上述寫(xiě)控制字的方法來(lái)完成的。
評(píng)論