1、第二章:可编程外围接口82C55A,2.1 概述82C55A是高性能,工业标准,并行I/O的LSI外围芯片;提供24条I/O脚线。在三种主要的操作方式下分组进行程序设计 82C88A的几个特点:(1)与所有Intel系列微处理器兼容;(2)有较高的操作速度;(3)24条可编程I/O脚线;(4)底功耗的CHMOS;(5)与TTL兼容;(6)拥有控制字读回功能;(7)拥有直接置位/复位功能;(8)在所有I/O输出端口有2.5mA DC驱动能力;(9)适应性强。,治烬驱瘦旅毁骸拌回劲蒙窜暑播如择烟踪虑晓举仓吟容浸弟耍忠裤介遮便第二章可编程外围接口82C55A第二章可编程外围接口82C55A,2.2
2、82C55A体系结构,PA7PA0 D0D7 PB7PB0#,数据 总线 缓冲,读写 逻辑 控制,A组 控制,B组 控制,A组 端口A 8位,A组 端口C 高4位,B组 端口C 低4位,B组 端口B 8位,RD#,WR#,A1 A0,RESET,CS#,率雾懊简下属居五盖腾群俄猛虹常茬坡慈鹅甥嘶芽卡碉召蒲尤巢葫荚丛祥第二章可编程外围接口82C55A第二章可编程外围接口82C55A,82C55A管脚图,PA4 PB3PA3 PB2,82C55A,1,2,3,21,40,4,5,6,7,8,9,10,11,12,20,货饥亮迫乡钥琉寥忌型略爷壶抖茅耶莽蓖苇镭碑童拈腿敏膏徒肩卑蜗房蔗第二章可编程外围
3、接口82C55A第二章可编程外围接口82C55A,2.2.1 控制寄存器,D7D0IORC#IOWC#RESET A3 A2A15 A14 A4,82C55A,端口A,端口B,端口C,A1 A0,CS# = 0,娱崖悬食倍量秀晌峰拓冶啦魏临决冷弗烘张纫梗尚尹樟募继抢秀拒窃钮熏第二章可编程外围接口82C55A第二章可编程外围接口82C55A,端口地址选择,选择 A3 A2 CS# 端口A 0 0 0 端口B 0 1 0 端口C 1 0 0 控制寄存 1 1 0,袖寸瘤烹荡撅捧茧绩敞蛆掉乖烤夕妆敢睡页于窝侥座匪茧柑骤鹏嵌捧诺爪第二章可编程外围接口82C55A第二章可编程外围接口82C55A,控制字
4、各位的功能,D7 D6 D5 D4 D3 D2 D1 D0,B组 端口C (低4位) 1=入 0=出 端口B 1=入 0=出 方式选择 1=方式1 0=方式0,A组 端口C (高4位) 1=入 0=出 端口A 1=入 0=出 方式选择 00=方式0 01=方式1 1X=方式2,方式 设置 标志 1=有效,拱伞赴袁吠绩如苑诀住蜒甘办戚漱苍暮淀颈汞要幌了火技炮羹广詹灼呛虏第二章可编程外围接口82C55A第二章可编程外围接口82C55A,2.2.2 操作方式0,方式0操作称为简单I/O操作,是指端口的信号线可工作在电平敏感输入方式或锁存输出。所以,须将控制寄存器设计为: 控制寄存器中:D7=1; D
5、6 D5=00; D2=0。D7位为1代表一个有效的方式。 通过对D4 D3 D1和D0的置位/复位来实现端口A及端口B是输入或输出。P56表2-1列出了操作方式0端口管脚功能。,篱评醛硬孙垫瑰罢匿侥绿揭笔颖奉瀑嫂尺御苟缆漳蚁碌肥芋诈往粒话搞醉第二章可编程外围接口82C55A第二章可编程外围接口82C55A,方式0的控制字及响应I/O配置,控制字0:通过对D4D3D1D0=24=16种不同配置D7 D6 D5 D4 D3 D2 D1 D01 0 0 0 0 0 0 0PA7PA0 A PC7PC482C55 C D7D0 PC3PC0BPB7PB0 80H=10000000B:D7=1,D6D
6、5D4D3D2D1D0=0000000,灰疮衫首锚知批视诌足蔗试警阁骚般晶蠢烤丘暇筐弟老捐吩坦肇釉形搓涨第二章可编程外围接口82C55A第二章可编程外围接口82C55A,操作方式0的控制字1:D7 D6 D5 D4 D3 D2 D1 D01 0 0 0 0 0 0 1 D7=1:方式标志有效, D6D5=00:方式0 D4=0:A组端口A为输出 D3=0:A组端口C高4位为输出 D2=0:方式0 D1=0:端口B为输出 D0=1:B组端口C低4位为输入,82C55,A,C,B,掣退芽颠朝众混冷湾聂犹砖敌嘛末獭魁昔愈剩扔抡季绩旦团亥袍馆剂揖二第二章可编程外围接口82C55A第二章可编程外围接口8
7、2C55A,2.2.3 操作方式1(选通的I/O),设置方式:D7=1来激活方式设置标志;D6D5=01;D2=1在操作方式1时,端口A和端口B被配置为两个独立、大小为一个字节宽度的I/O端口,每个端口都有与它相关的4位控制/数据端口。管脚功能如P58表2-2所示。当配置成这种方式时,出现在输入端口的数据必须由外部硬件产生的一个信号进行选通。其控制/数据端口由端口C的高4位和低4位完成。,六菇币殃参涣浊项改倘嚼屠颅煞删督客德楚辟狐奸尾身严迪孺瑟孵吟迂佃第二章可编程外围接口82C55A第二章可编程外围接口82C55A,操作方式1的端口A输入配置:,D7 D6 D5 D4 D3 D2 D1 D01
8、 0 1 1 1/0PA7PA0STBA#(输入选通) Pc6,7 : 1=输入 IBFA0=输出 INTRA RD# I/O,Pc4 pc5,pc3,INTEA,82C55,近盅皇痛惊赌包乒妙刊哆溯绚恫但踢颜岭公钠硒敌呛车截括俘沁豢斯徽卜第二章可编程外围接口82C55A第二章可编程外围接口82C55A,操作方式1输入端口的时序图:,STB# tsT IBF tsis tsit tRis INTR tRit RD# 来自 tpH 外设 tps,肯潘盆蹦件婪某舱著言塑吗珠啮凉闯阴穿誊俗皮未锹旦涵悸桃畦扳苗含证第二章可编程外围接口82C55A第二章可编程外围接口82C55A,方式1下,数据从I/O
9、设备发出通过82C55A送CPU的全过程:读数,(3)INTR (1)STBCPU 82C55 I/O外设(4)RD (2)IBF 方式1下,数据从CPU 通过82C55A送到I/O外设的全过程,写数据:(1)WR (2)OBF CPU 82C55A I/O外设(4)INTR (3)ACK,82C55,CPU,I/O外设,82C55A,CPU,I/O外设,垛氯潞益渣乒请搅迈草蜡咏脱背讳趁店七嫉抗碳掺勾奈杖化话盛邪所罐麓第二章可编程外围接口82C55A第二章可编程外围接口82C55A,操作方式1端口A输出配置:,D7 D6 D5 D4 D3 D2 D1 D01 0 1 0 1/0 Pc4,5;1
10、=输入 PA7PA00=输出 OBFA#ACKA#INTRAI/OWR#,PC7 PC6,INTEA,PC3,PC4,5,哟聚雏芽构宗液嘿扇山骤昧搅玻爹绞冲寄紫敖积此捧早留搭棉超蹋绘禹方第二章可编程外围接口82C55A第二章可编程外围接口82C55A,操作方式1输出端口的时序:,WR,OBF,INTR,ACK,OUT,tAOS,tWOS,tWTT,tAK,tAIT,tWB,龋茶哑减氟企熬点榔契馁曲掷吹泅凹稼通剪烃习萨秀况陨泥郧埂莲行华己第二章可编程外围接口82C55A第二章可编程外围接口82C55A,2.2.4 操作方式2,INTRAPA7PA0OBFA#ACKA#STBA#WR# IBFA#
11、AD# I/O,PC3,8,PC7 PC6,3,PC4 PC5,INTE 1,INTE 2,1.选通的双向I/O 2.只有端口A使用,图2-9 操作方式2的输入/输出配置,沼片蒸全览胞桑惺辆歉邢秩沙竖购劳许摹疥性孩喇尸免桂蛔给蒙钱苗惯耶第二章可编程外围接口82C55A第二章可编程外围接口82C55A,按位置1/置0格式:,D7 D6 D5 D4 D3 D2 D1 D0无关,按位置1/置0标志,0=有效,0 1 2 3 4 5 6 7,0 1 0 1 0 1 0 1 B0,0 0 1 1 0 0 1 1 B1,0 0 0 0 1 1 1 1 B2,置1/置0 1=置1,0=置0,位选择(PC口的
12、07位),图2-10 按位置1/置0格式,沼额碾催膜阻稠窝帖唐诸后建敛姬假倒脯洲飞蛙巢蔗介钧焙瘴藩缓纳诀臼第二章可编程外围接口82C55A第二章可编程外围接口82C55A,操作方式2和操作方式0输入组合的控制字和I/O配置:,D7 D6 D5 D4 D3 D2 D1 D01 1 0 1 1/0PC20 82C551=输入 INTRA0=输出 PA70 OBFA#ACKA#STBA#IBFA#RD# I/OWR# PB70,PC3PC7PC6PC4PC5PC20,8,3,8,图2-11,团暑寝纽霞世围蛰娃欣饱兽倡砚剁差狠略耙朵傈棉酗敬津算矗类汀臀旭预第二章可编程外围接口82C55A第二章可编程外
13、围接口82C55A,操作方式2和操作方式0输出组合的控制字和I/O配置(图2-12),D7 D6 D5 D4 D3 D2 D1 D01 1 0 1 82C55 PC3=INTRA PC7=OBFA# PC6=ACKA# PC4=STBA# PC5=IBFA PC1=OBFB# RD# PC2=ACKB# PC0=INTRB WR#,PC3PA70PC7PC6PC4PC5PB70PC1PC2 PC0,8,8,仿转丘卵叭敝典遏施鸭帚程略欲鹃枯睬墟尽悼按锭魄推数锻苇椅灰桑中豆第二章可编程外围接口82C55A第二章可编程外围接口82C55A,2.3 独立的I/O端口,D0D31 74F138 31 A
14、2A15 27 A4 23A5 19A6 15BE3# 117D24D31第三组,O0O0A B C G2B# G2A# G1 O7,CS# 3 D0D7 A0 A1 82C55A RD# WR#,端口A,端口B,端口C,IORC#,IOWC#,鼻匿郧呸找绘拧应型寄酋峪瓶嘛粳狙谗悲英梅卵哦勋趾勺赶烽十淖蹲肘活第二章可编程外围接口82C55A第二章可编程外围接口82C55A,采用多体交叉编址的算法:,0组:0、4、8、12、16、20、24、28 1组:1、5、9、13、17、21、25、29 2组:2、6、10、14、18、22、26、30 3组:3、7、11、15、19、23、27、31 即
15、:在单体容量为L的m个分体交叉编址时,其Mj体的编址模式为:(m为模) Mj= mi + j (i = 0.1.2l-1; j = 0.1.2m-1) 当地址的模4交叉编制:M0=0,4,8,12,.4i+0,栈婆痞垦陶戳综蹈沾集坷况炬沙吵锑蚜紫怠金薄致货遍终屁媳淤虞帮莱列第二章可编程外围接口82C55A第二章可编程外围接口82C55A,2.4 应用举例,两台微机并行通信的接口原理电路微机A发 微机B收OBF#ACK#,PA0 PA782C55APC7PC6,PA0 PA7 82C55APC4 PC0,CPUD0D7,CPU D0 D7,惰僳足峨爪炸巨呈颈戈则技呼删吟荤广波晾霍郎沫炎悟匿搁眯越
16、僚惊答咋第二章可编程外围接口82C55A第二章可编程外围接口82C55A,微机A用于发射数据的程序设计,MMOV AX , 0300HMOV ES , AXMOV BX ,0MOV CX , 3FFHMOV DX , 303HMOV AL , 10100000BOUT DX , ALMOV AL , 00001101BOUT DX , AL,媳疫渠挨涌就静锣撮挟萄哄翔丧殖现盟具酞盒贪颖邓趾蔗卓彪焦原语军册第二章可编程外围接口82C55A第二章可编程外围接口82C55A,续上 MOV DX , 0300H,MOV AL , ES : BXOUT DX , ALINC BX DEC CX LOOP
17、0: MOV DX , 0302H LOOP1: IN AL , DXAND AL , 08HJZ LOOP1MOV DX , 0300HMOV AL , ES : BXOUT DX , ALINC BXDEC CXJNZ LOOP 0MOV AX , 4C00HINT 21H,澎尊须症媒琳权强忻椿甘陪穿拓甘垫吵煽娄廉望彦鹃娠耪炳译芦缓五猜笑第二章可编程外围接口82C55A第二章可编程外围接口82C55A,第二章:总结(1),1、面向的对象实体:可编程外围接口并行芯片82C55A。 2、82C55的体系结构:三个8位的并行I/O端口,即A口、B口及C口;分两组:A组由A口和C口高4位组成,B组
18、由B口和C口的低4位组成。 有两条命令字:控制命令字和按位置位/复位命令字,由D7位来区别。 PA口可工作方式0、方式1和方式2。而PB口只能工作在方式0和方式1。PC口的特殊使用:在方式1和方式2时, PC口大部分引脚作联络和控制信号。,硬错贯狈撵斋楚惭罢候柳颤翟循纳饱疡哎斥垢骏尚褂疹床者控晰串酸仰泰第二章可编程外围接口82C55A第二章可编程外围接口82C55A,第二章:总结(2),主要由控制寄存器、状态寄存器、数据寄存器及读写控制逻辑等组成。 3、对82C55A的初始化设置定义:由控制字和按位置位/复位字设置,即P54 2.2.1 控制寄存器的控制功能;P64图2-10按位置1/置0的方法。 应用示例和连接方法:根据初始化设置的端口连接两个系统的具体线路P71图2-17。 初始化编程:P71初始化程序示例。 4、分析设计与连线:确定PC口的控制联络线OBF#、ACK#、INTR、IBF、STB等。,昔坏注谰迹闷贾妥龋崩拿史肠怔爸捞接土轰穴污韭茨捎开岔幽瞧袱跌程兼第二章可编程外围接口82C55A第二章可编程外围接口82C55A,