版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
华科控制系考研复试资料并行接口芯片82558255PA3PA2PA1PA0RDCSGNDA1A0PC7PC6PC5PC4PC3PC2PC1PC0PB0PB1PB2PA4PA5PA6PA7WRRESETD0D1D2D3D4D5D6D7VccPB7PB6PB5PB4PB3与CPU连接的引脚数据引脚:D7~D0
复位输入:RESET片选信号:端口选择的地址信号:A1和A0读信号:写信号:28255引脚与外设连接的引脚PA7~PA0:端口A输入/输出PB7~PB0:端口B输入/输出A、B口的8位同时动作PC7~PC0:端口C输入/输出C口分为两组,各4位,同时动作联络信号,固定状态信号,反映芯片内部状态按位控制,按位操作38255的内部结构4
每个端口8位,通过编程设定其为输入口或输出口可用来和外设传送信息resetD7~D0A15~A2A1A0IORIOW片选译码数据缓冲器读写控制片内译码CSRESETA1A0RDWRPC7~PC0PB7~PB0PA7~PA0控制口端口A端口C端口B+5VGNDD7~D0外设8255总线1.数据端口A、B、C5有3种工作方式(方式0、方式1、方式2)对外8根引脚PA7~PA0端口AresetD7~D0A15~A2A1A0IORIOW片选译码数据缓冲器读写控制片内译码CSRESETA1A0RDWRPC7~PC0PB7~PB0PA7~PA0控制口端口A端口C端口B+5VGNDD7~D0外设8255总线6有2种工作方式:方式0、方式1对外8根引脚PB7~PB0resetD7~D0A15~A2A1A0IORIOW片选译码数据缓冲器读写控制片内译码CSRESETA1A0RDWRPC7~PC0PB7~PB0PA7~PA0控制口端口A端口C端口B+5VGNDD7~D0外设8255总线端口B7当端口A在方式1或方式2、端口B在方式1时,端口C的某些位用于传送联络信号,如查询传送的应答信号、中断传送的中断申请信号等;C口未被用作联络信号的其它位可工作在方式0。端口CresetD7~D0A15~A2A1A0IORIOW片选译码数据缓冲器读写控制片内译码CSRESETA1A0RDWRPC7~PC0PB7~PB0PA7~PA0控制口端口A端口C端口B+5VGNDD7~D0外设8255总线88位端口,无对外引脚控制端口的内容决定A、B、C口的工作状态(输入或输出)和工作方式(方式0、1、2)resetD7~D0A15~A2A1A0IORIOW片选译码数据缓冲器读写控制片内译码CSRESETA1A0RDWRPC7~PC0PB7~PB0PA7~PA0控制口端口A端口C端口B+5VGNDD7~D0外设8255总线2.控制端口93.数据总线缓冲器(引脚D0~D7)由1个8位双向三态缓冲器构成8255内各端口通过数据缓冲器与系统总线相连。CPU与端口A、B、C间传送的数据,以及CPU写入控制端口中的控制字均通过数据缓冲器传送。resetD7~D0A15~A2A1A0IORIOW片选译码数据缓冲器读写控制片内译码CSRESETA1A0RDWRPC7~PC0PB7~PB0PA7~PA0控制口端口A端口C端口B+5VGNDD7~D0外设8255总线104.读写控制电路控制数据总线缓冲器的状态。数据总线缓冲器有3种状态:输入、输出、高阻态resetD7~D0A15~A2A1A0IORIOW片选译码数据缓冲器读写控制片内译码CSRESETA1A0RDWRPC7~PC0PB7~PB0PA7~PA0控制口端口A端口C端口B+5VGNDD7~D0外设8255总线115.片内译码电路(引脚A1、A0)选择被操作的端口resetD7~D0A15~A2A1A0IORIOW片选译码数据缓冲器读写控制片内译码CSRESETA1A0RDWRPC7~PC0PB7~PB0PA7~PA0控制口端口A端口C端口B+5VGNDD7~D0外设8255总线12当CS有效时,A1和A0的组合选择8255A的数据寄存器和控制寄存器。A1A0=00A口数据寄存器A1A0=01B口数据寄存器A1A0=10C口数据寄存器A1A0=11控制寄存器
3、端口地址与读写操作138255A占用4个I/O地址,即端口A、B、C和控制字寄存器。控制字寄存器用于控制字的写入,进而决定8255A的工作方式。控制寄存器用A、B两组控制电路表示。控制字寄存器只能写入不能读出,A、B、C端口均可读又可写。141、8255的工作方式控制字1D7D6D5D4D3D2D1D00输出1输入PC3~PC0B口0
输出1输入0方式01方式1B口工作方式PC7~PC40输出1输入A口0输出1输入特征位,D7=1表示是方式控制字A口工作方式00方式001方式11x方式215例A端口方式1输入、B端口方式1输出、
PC6,PC7作输入,给出方式控制字。
1011110X
1010011XBCHA7HA端口方式1输出、B端口方式1输入、
PC4,PC5作输出,给出方式控制字。16例:8255与系统连线如图,片选译码地址为FFF0~FFF3h1)确定各端口地址?2)编程设置8255:A口方式0输入,PC7~PC4输出B口方式0输出,PC3~PC0输入resetD7~D0A15~A2A1A0IORIOW片选译码数据缓冲器读写控制片内译码RESETA1A0PC7PC0PB7PB0控制口端口A端口C端口B+5VGNDD7~D0外设RDWRCSPA7PA0F0~F3h17最后得出结论:
A口地址为FFF0H
B口地址为FFF1H
C口地址为FFF2H
D口地址为FFF3H由8255编程结构知:结合8255与系统总线的连线:
A15~
A6
A5
A4
A3
A2
A1
A0FFF0H1~1110000
A口FFF1H1~1110001
B口FFF2H1~1110010
C口FFF3H
1~1110011
D口8255A1A0CS总线解A1A0选中端口00端口A01端口B10端口C11控制端口181特征位00A口方式01A口输入0PC7~PC4输出0B口方式00B口输出1PC3~PC0输入所以,方式控制字为10010001B,即91H
要求设置:A口方式0输入,PC7~PC4输出B口方式0输出,PC3~PC0输入2)确定方式控制字D7D6D5D4D3D2D1D019MOVDX,
0FFF3H
;控制口地址MOVAL,91H
;方式控制字OUTDX,AL初始化程序200D7D6D5D4D3D2D1D00复位1置位设置内容特征位,D7=0表示是C口按位置位/复位控制字无意义选择设置位2、C端口置/复位控制字D3D2D1C端口位000PC0001PC1010PC2011PC3100PC4101PC5110PC6111PC721通过控制口置PC2为0,置PC4为1解:MOVDX,0F3H
;置DX为控制口地址MOVAL,00000100B;置PC2为0OUTDX,ALMOVAL,00001001B;置PC4为1OUTDX,AL
例22例:设8255的A端口工作于方式1输入,B端口工作于方式0输出,置PC4=H,(8255的操作地址为60H~63H)b7b6b5b4b3b2b1b0
1011000xb7b6b5b4b3b2b1b00xxx1001C口置/复位控制字工作方式控制字23例:利用置位/复位字由PC5产生宽度可调的方波。
LOOP1:MOVAL,00001010B OUT43H,AL CALLDELAY1 MOVAL,00001011B OUT43H,AL CALLDELAY2 JMPLOOP124
3、读入状态字当8255A由程序设定在方式1和方式2时,C口根据不同的情况,产生或接受‘联络’信号,读取C口的可以检测到这些信号的状态。方式1状态字方式2状态字25三种工作方式
方式0:基本输入/输出方式方式1:选通输入/输出方式方式2:双向数据传送方式各端口能采用的工作方式A口可工作在三种方式下B口可工作在方式0和方式1下C口可工作在方式0下当A口、B口工作于方式1或A口工作于方式2时,C口为两个端口提供联络信号8255A的工作方式26工作方式08255相当于三个独立的8位简单接口。各端口既可设置为输入口,也可设置为输出口,但不能同时实现输入及输出。C端口即可以是一个8位的简单接口,也可以分为两个独立的4位端口。设置为输出口时有锁存能力,设置为输入口时无锁存能力。27无条件式传送输入接口INAL,08H三态缓冲器OE输入数据CPU数据线RD地址译码输出(08H)M/IO&
锁存器输出数据CPU数据线WR地址译码输出(08H)M/IO&无条件式传送输出接口OUT08H,ALSTB28方式0的应用:用于连接简单外设。适用于:无条件输入输出方式。查询输入输出方式:把A、B口作为8位数据的输入或输出口,C口的高/低4位分别定义为A、B口的控制位和状态位。2974LS138G1G2AG2BCBAA5A4A3A15A6M/IO…Y4A0A1A0CSPA0PA1PA2PA3PB0PB1PB2PB3PB4PB5PB6PB7+5VabcdefgDP+5VRDWRRSTRDWRRSTA2A18255ADPabcdefg123456789ABCDEF0065B4F666D7D077F6F777C395E79313F显示字符七段代码(H)A口地址:8020HB口地址:8022HC口地址:8024H控制口地址:8026H例8255A的A口和B口工作在方式0,A口为输入口,接有四个开关,B口为输出口,接有一个七段发光二极管,硬件连接电路如下图,试编写一个程序要求七段发光二极管显示开关所拨通的数字。30
APORT EQU 8020H BPORT EQU 8022H CONTR EQU 8026HDATA SEGMENTTAB1 DB 3FH,06H,5BH,4FH DB … …DATA ENDSCODE SEGMENT ASSUMECS:CODE,DS:DATASTART: MOV AX,DATA MOV DS,AX MOV AL,90H;定义工作方式 MOV DX,CONTR OUT DX,ALADDR1: MOV DX,APORT;取开关值
IN AL,DX
AND AL,0FH ;屏蔽高4位 MOV BX,OFFSETTAB1 ;取代码表首值 XLAT ;找到字符代码 MOV DX,BPORT;输出显示 OUT DX,AL MOV CX,0400HADDR2: DEC CX;显示延时 JNZ ADDR2 JMP ADDR1CODE: ENDS END START31工作方式1利用一组选通控制信号控制A端口和B端口的数据输入输出。A、B口作输入或输出口,C口的部分位固定用作A、B口的选通控制信号。A口、B口在作为输入和输出时的选通信号不同。输入输出32方式1的应用:主要用于中断控制方式下的输入输出。C口除部分位用作选通信号外,其余位可工作在方式0下,作为输入或输出线。特别是A、B均为方式1时仅使用C口的6条线,余下二条线可作为单独的输入输出线,用程序指定其数据传送方向。33方式1输入INTR:中断请求STB:选通信号,外设提供的输入信号,有效时,表示输入设备已送数据到达端口的输入缓冲器中。IBF:回答信号,STB=0时,自动IBF=1,表示输入缓冲器“满”,禁止外设将下一个数据输入;端口数据取走后,IBF自动为0。常作为查询信号。PC4=1,A口允许中断,PC2=1,B口允许中断INTRAINTRBA口PC7PC6PC5PC4PC3PC2PC1RDPC0B口
PA7-0I/OIBFASTBASTBBIBFB
PB7-034查询式输入输入设备锁存器
RDQ+5V选通信号缓冲器&RDM/IO地址译码器地址总线&RDM/IO地址译码器地址总线&RDM/IO地址译码器地址总线CPU数据总线状态信号(IBF)至D7CP数据端口状态端口STB3536方式1下C口联络信号说明3738方式1输出A口PC7PC6PC5PC4PC3PC2PC1WRPC0B口
PA7-0I/OACKAINTRAACKBINTRB
PB7-0OBFAOBFBINTR:中断请求OBF:输出缓冲器满,有效时,表示CPU已将数据送到端口的输出缓冲器等待输出,常作为查询信号;为1时,才能作输出操作。ACK:回答信号,ACK=0时,自动OBF=1,表示输出缓冲器空,输出端口可接收新的数据。PC6=1,A口允许中断,PC2=1,B口允许中断39查询式输出输出设备锁存器QDR&RDM/IO地址译码器地址总线&WRM/IO地址译码器地址总线CPU数据总线状态信号(BUSY)至数据线D0ACK+5VOBFCP数据端口状态端口40
D7
D6
D5
D4
D3
D2
D1
D0
1
0
1
0
I/O
´
´
´
控制字
0PC4、PC5输出
1PC4、PC5输入
端口A为输出
A组方式1
PA7~PA0
8位
&
1NTEA
PC6
PC7
PC3
ACKA
INTRA
WR
WR
I/O
OBFA
PC4、PC5
4142例在某一8086系统中接有一个u80微型打印机,8255A作为输出接口,工作在选通方式,试编写一程序将缓冲区BUFF内的400H个字节的ASCII码送到打印机打印,其硬件接口电路如下图Y4A0A1A0CSPA7PA6…PA0PC7PC4PC6RDWRRSTRDWRRSTA2A18255AD7D6…D0DSTBBUSYACKOBFAACKAu80打印机译码器输出(0FFF8~0FFFF)43源程序
APORT EQU 0FFF8H CPORT EQU 0FFFCH CONTR EQU 0FFFEHDATA SEGMENTBUFF DB 400HDUP(?)DATA ENDSCODE SEGMENT ASSUMECS:CODE,DS:DATASTART: MOV AX,DATA MOV DS,AX MOV CX,400H;字节长度 MOV AL,0A8H;8255A控制字 MOV DX,CONTR OUT DX,AL MOV DI,OFFSETBUFFABC1: MOV AL,[DI];ASCII码输出
MOV DX,APORT OUT DX,AL MOV DX,CPORTABC2: IN AL,DX;查/OBFA信号 AND AL,80H;/OBFA变高? JZ ABC2 ;否,再查ABC3:
IN AL,DX ;查BUSY信号 AND AL,10H ;BUSY变低 JNZ ABC3 ;否,再查 INC DI ;是,传送下一数 LOOP ABC1 HLT CODE: ENDS END START44工作方式2双向方式——既是输入口,又是输出口。利用C口的5条线提供传输联络信号。类似于A口方式1下输入和输出的组合。只有A口可工作在方式2下。INTE1为PC.bit6,INTE2为PC.bit4。45方式2的应用:可用于中断控制输入输出方式。当A口工作于方式2时,B口可工作于方式1(此时C口的剩余位都用作B口选通控制线);B口也可工作于方式0(此时C口的剩余位也只能用作方式0下的输入输出线)。46
D7
D6
D5
D4
D3
D2
D1
D0
1
1
´
´
´
1/0
1/0
1/0
控制字
PA7~PA0
IBFA
INTE2
PC6
PC5
PC3
ACKA
INTRA
0PC2~PC0输出
1PC2~PC0输入
0端口B输出
1端口B输入
0B组方式0
1B组方式1
A组方式2
PC7
PC4
RD
WR
&
INTE1
≥
&
OBFA
STBA
I/O
8位
PC2~PC0
47应用举例利用8255A组成键盘扫描接口。在微型计算机中,键盘是最常用的一种输入设备,键盘有两种类型:全编码键盘和非编码键盘。全编码键盘:能自动提供对应于被按键的ASCII码,并能同时产生一个选通脉冲通知微处理器。据有处理抖动和多键串键的保护电路非编码键盘:这种键盘只简单提供键盘的行列矩阵,而按键的识别和键值的确定、输入等工作全部由软件完成。PC机系列键盘具有编码键盘的大部分特征,内部使用的单片机能够自动识别键的按下与释放,但是只向主机提供键的行列位置(扫描码),而按键的识别和键值的确定等工作靠软件完成,所以一般认为它属于非编码键盘。48矩阵式键盘是指键开关按行列排列,形成二维矩阵的结构,如8
8,4
4等。图所示为i
j键盘矩阵。
…
…
…
…
…
…
…
…
第0行
第1行
第2行
第i-1行
第0列
第1列
第2列
第i-1列
确定键盘上是否有键按下,若有键按下,确定按键的位置;49第一步,将所有的行线置0,读列线的值,若此时列线上的值全为1,说明无键按下。第二步,若有某位为0,则说明对应这一列上有键按下,这时改变行扫描码,使行线逐行为0,依次扫描。当读到某一列线的值为0时,就可根据此时的行扫描码和列线的值唯一地确定按键的位置,同时也就确定了该键的扫描码。行扫描法
…
…
…
…
…
…
…
…
第0行
第1行
第2行
第i-1行
…
…
PBj-1
PA0
PB1
PB0
PA1
PA2
…
PAi-1
B口
A口
8255A
+5V第0列
第1列
第2列
第i-1列
键码识别方法:行扫描法、行反转法及行列扫描法等
50
PORTA EQU 0FFF8H PORTB EQU 0FFFAH PORTC EQU 0FFFCH CONTR EQU 0FFFEH … MOV DX,CONTR MOV AL,10000011B;控制字 OUT DX,ALWAIT: MOV DX,PORTA MOV AL,0FFH;选通各行 OUT DX,AL MOV DX,PORTB IN AL,DX;检查各行 CMP AL,0FFH;有键压下码 JE WAIT;否,等待 MOV BL,0;置键号初值 MOV BH,1 ;逐行扫描 MOV CX,8 ;设置行计数FNDROW:MOV AL,BH MOV DX,PORTA OUT DX,AL
ROL BH,1 ;选通下一行 MOV DX,PORTB IN AL,DX;取列值 CMP AL,0FFH;有键压下码? JNZ FNDCOL;有,找键值 ADD BL,8;无,选下行增加行号 LOOP FNDROW;循环扫描8行 JMP DONE;转无键压下处理FNDCOL:ROR AL,1;处理被按键列值 JNC RIGHT;找到该列的键号 INC BL;BL中键号加1 JMP FNDCOLRIGHT: MOV AL,BL;键号送AL …DONE: 转显示程序等待按键51
…
…
…
…
…
…
…
…
第0行
第1行
第2行
第i-1行
…
…
PBj-1
PA0
PB1
PB0
PA1
PA2
…
PAi-1
B口
A口
8255A
+5V
第0列
第1列
第2列
第i-1列
第一步,设置A口输出,B口输入。向A口写入全0,然后读B口,若B口读入全1,说明没有键按下,B口某一位读入为0,则说明该列有键按下。第二步,设置A口输入,B口输出。将上一步由B口读入的数据再由B口输出,这时读A口,若某一位为0,其余全为1,则说明按下的键在该行,于是就确定了行号和列号,达到了键码识别的目的。行反转法52键码识别中必须考虑的问题:
(1)抖动消除在按键闭合、断开过程中,由于机械触点的弹性作用,在闭合及断开瞬间均有抖动过程,其电压信号波形如图所示。抖动时间的长短与开关的机械特性有关,一般为5~10ms。通常消除抖动的措施有硬、软两种:硬件方法可用硬件电路来实现,如用RC滤波电路去抖动。软件方法可用延时的方法,即检测到有键按下时,执行一个延时程序(一般为12ms)后再确认该键电平是否仍保持闭合状态电平,如保持则确认为真正键按下状态,从而消除了抖动影响。53(2)重键处理重键是指两个或两个以上的按键同时按下,或者一个按键按下后还未弹开,另一个按键已按下的情况。处理的办法有两种:第一种是不停地扫描键盘,当有多个闭合键时不予识别,仅以最后检查到的一个闭合键为确认键。第二种方法是确认一个闭合键之后处于保持状态,只有当该键释放后再去处理,并开始识别其它键。548255A与微处理器的连接8255A的四个端口地址分别,60H,61H,62H,63H8PA7~PA0PC7~PC4PC3~PC0PB7~PB08255AACB8DB7~DB0RDIORWRA1IOWA0CSA1A0RDM/IO地址译码A15~A2448WR=60H8
8
8
74
F245
8
74
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 新疆师范高等专科学校《体育与健康-形体礼仪训练(中)》2026-2027学年第一学期期末试卷含解析
- 云南大学《硬笔书法》2026-2027学年第一学期期末试卷含解析
- 中国医科大学《高级英语视听》2026-2027学年第一学期期末试卷含解析
- 石家庄铁道大学《Pthon数据分析实践》2026-2027学年第一学期期末试卷含解析
- 中国石油大学(华东)《混凝土结构设计》2026-2027学年第一学期期末试卷含解析
- 西安电子科技大学《矿物与岩石》2026-2027学年第一学期期末试卷含解析
- 上海政法学院《工业机器人安装调试与维护》2026-2027学年第一学期期末试卷含解析
- 深圳技术大学《普通生物化学》2026-2027学年第一学期期末试卷含解析
- 绿色科技守护蓝球-科技与环境保护的协同发展
- 航向海洋成就卓越-提升效率赢得市场迎接挑战
- 体检感染管理制度
- 浙江省绍兴市暨阳2025届英语八下期末综合测试模拟试题含答案
- 2023年辽宁省中考生物试卷(含答案)
- 新疆剥肋滚轧直螺纹钢筋连接工艺标准
- DL∕T 1616-2016 火力发电机组性能试验导则
- 【无锡重点小学】五年级下册英语期末提优预测卷(一)译林三起+含答案
- NB-T31056-2014风力发电机组接地技术规范
- 2024年医院重症监护带教计划
- 印刷设计方案
- 小学英语自然拼读课件11- -at -ab
- 海阳市国有企业招聘考试真题2022
评论
0/150
提交评论