第八章常用可编程通用接口芯片.docx
《第八章常用可编程通用接口芯片.docx》由会员分享,可在线阅读,更多相关《第八章常用可编程通用接口芯片.docx(20页珍藏版)》请在冰豆网上搜索。
第八章常用可编程通用接口芯片
第八章常用可编程通用接口芯片
-第六章介绍了一些皋本的输入输出接II,是不可编用的.随着大规模集成技术的发展,接U电路常被集成在一块硅芯片上■可用编程方式设定其丄作方式,以适用于多种功能的耍求■…叮编程接II芯片.
-PC微机除CPU控制核心外,还有一些大规模口J编程接U芯片(外閘芯片)的支持:
-8级屮断优先权控制器8259T以控制8个外部中断源(如时间基准X253的Ch()・键盘,彳更磁盘,软磁盘,打印机).
-三端II的并行接U8255T以控制外部简单接1」及DIP配置开关(如磁带机,扬声器).
•16位三通道定时/计数器8253今以控制时间基准、动态刷新、扬声器发声.
-四通道DMA控制器8237T以控制动态RAM刷新、<1^^盘数据交换.
•可編程界步通信接口825OT以控制串行通信,完成发送时的并•串转换和接收时的屮•并转换及和应的控制功能.
§8.1可编程并行接D8255A
-8255是最通用的并行I/O接门芯片•可用程序改变功能,通用件强,使用灵活,通过它町直接将CPU总线接向外设•广泛用作各种井行外设的接口・
—8255的结构与接口信号
8255的结构框图P261、图8-1。
因作为外设接口9既耍与CPU打交道,乂要和外设打交道,内部亦需控制,所以山三部分组成:
S8-18235的
1•外设接口部分…■端口■端LU即三个输入
输出通道川]來和外设相连•都是8位及向端所以右LI线:
PA?
〜PA()fB7—PB(fPC7〜PC().
-A、B、C三个口都可以作为输入/输出口.
•在A.B口作为选通方式操作时,CU作为状态控制倍号.
•C口可分成两个4位II.
2.内部控制逻轿电路…-A组卩组控制电路.
根据CPU的命令控制X255的工作方式.
•A组控制端UA和端UC的上半部分(PC?
〜Pqn
•B组控制端口B和端口(的卜'半部分(Pq〜FCQ.
3.CPU接口部分
(1)•数据总线缓冲器--它绘8位双向三态缓冲器,是mcPU数拥总线的接U.8位数据线D7〜Do•所有数据的输入/输HVCPU发出的命令控制字及输入的外设状态,都是通过该缓冲器传送.
⑵•读写控制逻辑一控制8255内部的各种操作.管理数痛控制字,状态的传送•接收CPU的地址,控制信号以控制各端U的工作状态•所以有6根控制线
•A;A()9端口选择:
OOTAnOlTBH.lO^C」11T控制U.
-亟~>片选信号■…以启动CPU与8255Z间的通信.
•莎^读信号--从8255中读数据或状态信号.
-阪9写信号--向8255中写数据或状态信号.
-RESETS复位信号一高Hi平有效,淸除控制寄存器J覺A、B、C三个口为输入方式.
二.8255的工作方式与控制字
1、8255有三种工作方式,方式由方式选择控制字來
(1)、方式()9慕木输入/输出方式(呈木1/0)0A、B、C三口均可匸作于方式()。
(2)、方式选通输入/输出方式(选通I/O)OA、B二口可丁作于方式1;此吋C口作控制。
(3)、方式2今双向数抑:
传送方式。
仅有AU可工作丁•方式2。
CH作控制。
-AU可工作于力式0、1、2三种方式.
-BIJiiJ*工作于方式0、1二种方式。
-CL」只能工作于方式0。
2、方式选择控制字
•8255的I:
作方式,是山CPU用一条输出指令把控制字送到8255的控制寄存器来实现的。
•方式选择控制字的格式P262、图8-2。
D?
M
D3
D2
DI
DO
SB
1=0
All方站报
OX方式001二就11X=W
«riAi/oan:
l=^A0=體出
jfidc
(上)
1諭入
0立出
B口方A斛:
4方成0匸方成1
腳&j1/朋职1斗入
0二純LJ
SBC(T)•/O耕:
吕入
1
—-
(控制ACbcai>
.—・-
■—一-一_
B纠(控制BtbCUT)
•由控制字可知:
•AL」可工作丁方式0、1、2三种方式;
•B口只育方式0、1二种方式;
-CH只能工作r方式0,但C口町分成两部分:
上半部分随A口,下半部分随B口;A.BU要作为一个整体确定工作方式,C口可分成悶个4位口分别确定其匸作方式(输入或输岀)。
Mh控制字9()HT
I001
标志AUA口
方式0输入
•即控制字90H,设定了8255的A口为方式0输入,B口为方式0输出,C口为方式0输出。
-用卜-曲程序段设定:
MOVDX,PORT3&控制口
MOVAL>90H
OUTDX,AL
3、按位置位/复位控制字今指定C口的某一位为高电平或低电平,仅有C口可按位置位/复位。
-'勺通道A、B工作在方式1、2时,常用通道C的采些位作为同外役的联络控制线,通道C的8位中的任一位都町用输出指令使其进位/曩位,从而人为控制联络线。
•屋位/父位控制字格式P261、图8—3;
.一般视无关位06比屯=00(),则通道C的何•位的胃位复位控制?
如b■:
•PCi位
駅位控制字
女位控制字
PC。
()1H
OOH
PC,
03H
()2H
PG
()5H
(MH
PC,
07H
()6H
pq
09H
OSH
pq
OBH
OAH
pq
ODH
OCH
PG
OFH
OEH
•如吆3置位:
MOVDX,PORT3;控制端「I
MOVAL,7
OUTDX,AL
如PC?
复位;MOVDX,P()RT3
MOVAL,6
OUTDX,AL
c端口的按位置位复位7须跟在方式选择控制7Z后,所以,仅使用CH的按位置位复位字时.也应先送一方式控制字。
8255的两个控制字是以卩位作为区别标志:
6=1为方式控制字,6=0为員位复位字;所以方犬字圭80H,S位复字V80H。
•P263俛:
8255的01接8只LED,用置位复位字,使8只LED轮流亮灭。
设端口地址为38OH--383H。
硬件如2
8255
PUSPAX
则灯亮;送复位字,则灯灭。
•稈序中,送曹位字,
山前一位的复位字到后一位的置位字之差为3,加3则抬向下一位。
•思考:
若将LED反接,程序如何修改:
FCi£6OI5V送复位字,则灯亮送置位字,则灯火。
山前一位的置位字到后一位的复位字之差为I,加I则指向卜•一位6383H;方式字ADDAL,OlH;折向Tp80H
AL
0;PCO复位字
MOVDX・MOVAL,OUTDX,
MOVAL,
AGN:
OUTDX,AL:
灯亮
LOOP$
XORAL,1:
懂位字
ANDAL,0FH;D7位为0
PUSHAX
MOVAH,II
INT21H
INCAL
POPAX
JNZAGN
OUTDX.AL:
灯灭
二、三种方式的功能及应用
1、方式0
基本功能刁从木单向I/O力式.
•A,B,C三个端U都町作8位输入/输出端口。
•C端口可作为两个4位端口(C口上,C口下)O•输出仃锁仏使用时町理解为273;输入仃一
态缓冲,使用时可理解为244。
•此方式下,只要用IN/OUT指令即可读/写;一般用于无条件传送方式.
-此方式下,也可用于杳询方式,A,B口为数据U,C口的某些位作控制和M态信息。
但值得注童的是无固定联络线。
3NZf
沖酚Lia:
IV*xamo
XaDNInvIONY鸚IIV:
xa^IVNI
ovzr*nvdvijHl乙INI*HVAON
[TOWF
«ria
Y啣()F
•7【IV
富X
Host*xaAow-aN
IV*xaino
IVION
nv
*x(jino
H()6
nvAow
xarvNI
H£3t
xaA5\
H08t‘xaAOIAI-DV
II
山乙x・
如胡£仅-忡N
曲wwQfl如
n
Joo
a
CJ
GJ
L二H他
卜Si
&-五
遍玉涮尬&變剳珂’翎胖i耳沢事0[•环詔科
•注:
凡是2449町用8255的A,B,C三个口的方式0输入代替;273T可用8255的A,B.C三个口的方式0输出代替。
•8个开关可表示8个不同的数7或8个不同的t-fO:
LED也可以是7段LED显/jf器°
•例:
用一片X255实现X个7段LED显示器与64个按键的®盘/显示器接口设计。
•参见P212显示器设计,段码输出用273「位码输出川273;参见P-214键盘设计,行打描码输出用273,列读入值用244。
因为都采用动态扌:
!
描方式显示和扫描键盘,所以显示器的位显和键的行扫描端U可以合并。
即用2片273和1片244即町实现。
町川8255的3个端II代替或如选用A,B【】为方式0输出(代替273),CU方式0输入(代替244>即可》
MOVDX,3831
MOVAL,89H
OUTDX,AL
•由]:
键盘和显示器做成一个接口电路,所以软件应合并考虑键盘查询和动态显示。
.J.,
初始化
费衙显示DISUP
傩分桁译码
作业:
P311.4.A5.
-第四题参见实验教材P149.只画出流程
图。
2•方式1
•圧本功能T是选通I/O方式,也是单向I/O。
-端HA,B作为数据口输入或输出,但同时规定CII的某些位作为控制或状态信息,用于联络和中断,提供屮断逻辑,其CU各位的功能是同定你不能山秤序设定,
(1)、方式1输入9将三个端口分为A、B两组;端UA和端UC的Pq——PC5为一组,端UB和端UC的PC。
一一PCjj—组,端IIC剩余旳PC6——PC7仍町作为一般1/0。
P265、图8—5
TBFft
•控制信号:
•丽9送迪信T;,低电平冇效;这是外设发來的输入借号,前沿(卞降沿)把输入装冒送来的数据送入输入缓冲器:
而后沿(上升沿)使INTR有效。
•IBF今输入缓冲器満信巧,髙电平有效;这是£255输出给外设的凹答信号;外设将数据送入缓冲器后,该信号有效;RD信乃的上升沿将数折送数据总线帀乂使11:
父位。
•INTR》n断谙求伫出,高电平有效;这是8255的输出伯号,可用作向CPU申诸屮断的请求伯号,以耍求CPU服务:
当堕为高和INTE中断允许为高时,STB为高时〈即気的后沿〉使1NTR为启i:
市茹信号淸除。
•INTE今中断允许Ih:
•端口A的INTEa可由用户对PC4的按位置位/复位控制字来控制,pqn.允许A口中断;
•端口B的INTEb可山川户对PCM按位置位/S位控制字来控制,PG=I・允许B口屮断;
■
(1)
(2)
⑶
(4)
(5)
外设把数据送给8255后,发STB倍号,使]BF仃效;贡后沿引发1NTR;
CPU响应中断:
CPU发莎信号,使INTR火效;
CPU取走数据,使IBF失效,可输入新的数据。
•P266例:
用选通方式(中断方式)从All输入100个8位二进制数TIBF。
端口A选通輸人•左M和CPU总钱4H连・右《和外设艄连•悄口地址为30CH30FI1.
8255的使用步骤:
•殺件连接今将8255和CPU的有关信号连接,又要和
外设连接,此处的外设输入装S为8个开关,用发光二极管标总输入缓冲器满的状态,以作为外设冋答信号,川去抖动开关作为外设的选通信号0
-软件中对8253进行初始化,以设定H工作方武。
-在程序控制卜•实现数据的输入/输出操作.
PUSHAX
IRET
作业:
P31L3.
(2)方式1输出9将三端口分为A组・B组;端口A和C口的
PCaPC6~PC7为一组,端口B和C口的PC()~PC2为一组,CII剩余PC4〜PC5Hj作一般I/O.
BU方式控制字
l)OBH(OutputBufferFull)…输出缓冲器满信号崗电平冇效•这是8255给外设的一个联络信号・、”|CPU把数醪入端口后•该信号仃效•衷示外设可以把数据収走。
WR信号就成有效,由的冇效(卜降沿)使其恢复为高.
2)-\CK(Acknowledge)---外设响应刖答信号,低电平有效:
该信号的询沿取走数据,使6丽无效•表示数据已III外设取走;后沿使INTR有效.
3)1NTR-…中断请求信号崗电平冇效;当输出装置Li经接受rcpu输给的数据庇用來向CPU提出新的中断诸求.要求再输出数处5aCK为高(即后沿)JNTE为丽BF为高,使其趕高,WR的前沿(卜•降沿)使其复位.
4)
INTEa…••山PC6的置位/父位控制:
INTER—lijPC2的賢位/复位控制.
TNTR
1CPU响应中断发1KWR,使OBF有效.
2外设取走数据,粽使閘无效・
3疋R的上升沿使INTR有效,再次中断.
4CPU响应屮断,再次阪,便INTR失效,输出一个新数.
P268例.设计接口电路,输入AU8个开关的状态,送BU发光二极管显示対应状态•要求AU为基木输入,BU为选通输出。
•8个开关接A【丨,作为输入装S;8个发光二极管接Bin作为输岀装3;
丽接一发光二极背,以标不输出缓冲器W.ACk接一去抖动开关,板动开关表示外设发出响应信号-
iOR—cj莎lOW—4TO克TE
A.—A,
&"JlbDB■/■D;**Dq
f1RESET
P為〜PA;
QBF
IRQjINTR(PC;,>
P片
—o十5V
If
+5V
I
>1
F27O.8-fiA•口人.B熾口jSeiSWai
DAIDB^WailInicrnipt;OAH.ODHV
MOV
ES.AX
MOV
MOV
OUT
MOV
DX.383HAL,94HDX.AL
AC5
ourDX.AL
MOV
MOV
MOV
MOV
AX,SEG
ES:
()1C6H,AX
AX,OFFSET10X25*
ES:
()1C4H.AX一
:
控制IJ地址
;方式字一1001XIOX
;A口方式0输入・Bri方式1输出
:
许B一屮中■
将中断服务程庁入口地址108255打9向就表
1RQ9屮断一中断矢昼是71H
108255
MOVDX.381H
OUTDX,AL
INAL,OAIHANDAL.OFDHOUTOA1H.ALROTT:
LEADX,MOVAH,
INT21H
MOVDX,
DAIr
9
38OH
INAL,DXJMP$
MOVAH,OBH
INT2IH
CMPAL,0
JEROTT
ORAL.02H
OUTOAIH,AL
RET
INAL,OAIH
假输Hn使OBF=()
修改8259从片的屏蔽字,允许TR09'|>断
'显示等待中断提示*^WaitInternipr
读A口,准备好数据
;等待屮断,即等待疋艮板动开关即可
te键入侧再次等待屮断I改变开关状态•观察输出
有键入•侧还原8259
屏蔽齐禁止IRQ9中断
IO8255:
MOVDX,381H[
OUTDX,ALJ45AnJF关状态TBri応示
MOVAL,61Hr
OUTOAOH,AL
MOVAU
OUT2()H・
POPAX
INCAX
INCAX
PUSHAX
IRET
设方式拎♦疗■QUM口方曲入,B口方丈1备岀
时如往痘傥神制宇(KH:
PCIWfe.处齋R□中斷
设fl中新向8札复切:
邓读人U堆务麴冬
困胃屏融字,樂上RQ9中折.结弟
3•方式2
•基木功能——该方式便外设在单一8位总线上既能发送乂能接收数抑(双向1/0);工作时可用程序査询方式^也可用屮断方式,必须使用联络线。
⑴方式2只能川于端口A:
因为AL1内部有两个锁存器,iftlBWrC【」仅右一个锁存器.
(2)占用一个8位的双向A端II作数据TI和一个五位的控制IJ(CII的PC3~PC7).
⑶输入和输出都是锁存器的。
(4)端UC的其他三位PCzPC2可作"O或作BU的状态控制信号。
(5)BU可工作方式(诚方式I。
(6)
A□方七
•控制俏号的作川与盘义同方式1JNTE1足输出的屮断允许佶号由PC6的置位股位控制(A门方式I输出)JNTE2是输入的中断允许信号MPC4的的置位丿夂位控制(AU方式1输入)。
•方式2实际是方式1的输入与方式I的输出的组合,输入/输出请求都是PC3的INTR'Pq根联络信号都耍连接,常用丁•需相互通信的地方。
四.8255在IBM—PC机中的应用
•8255在PC机中工作在方式0,控制字99H,即A口,CU为方式()输入,BU为方式()输出。
AU两个作川T读取键盘扌1描码和系统配置状态DIPSW1:
BU用于输出控制信号:
CU用于输入系统配置状态DIPSW2和其他数据。
-PC配说可变:
如骡动器的个数,W:
示器的种类,RAM犬小等[tlDIP配置决定。