第七章可编程外围接口芯片8255A及其应用ppt课件_第1页
第七章可编程外围接口芯片8255A及其应用ppt课件_第2页
第七章可编程外围接口芯片8255A及其应用ppt课件_第3页
第七章可编程外围接口芯片8255A及其应用ppt课件_第4页
第七章可编程外围接口芯片8255A及其应用ppt课件_第5页
已阅读5页,还剩57页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、NoImage1第七章 第七章 可编程外围接口芯片8255A及其应用7.1 8255A的工作原理 一、8255A的结构和功能 二、8255A的控制字及初始化编程 三、8255A工作方式和C口状态字 7.2 8255A的应用举例教材第九章内容NoImage2第七章7.1 8255A的工作原理u8255A是一种通用的可编程并行I/O接口芯片,一般不需附加外部逻辑电路就可直接为CPU与外设之间提供数据通道; 通过对它进行编程,可为CPU与外设之间的通信提供无条件、有条件和中断方式的接口电路,因此应用较广泛。 8255A综述 NoImage3第七章1、外形 40引脚的芯片; 双列直插式封装;一、825

2、5A的结构和功能 8255A的引脚图NoImage4第七章u管脚小结: u(1与外设连接的管脚8255A有三个数据端口,每个端口是8位的,由此与外设相连接的管脚共有24位。 uA口有八个I/O引脚 PA7-PA0 uB口有八个I/O引脚 PB7-PB0 uC口有八个I/O引脚 PC7-PC0 NoImage5第七章(2与CPU连接的管脚 数据线D7-D0; 读写控制线RD#、WR#; 片选信号CS#; 端口地址控制线A0和A1; 复位线RESET。(3电源线和地线 电源线VCC ,一般取5V ; 电源地线GND。NoImage6第七章2、内部结构 数据端口A、B、C其中C口被分成C口上半部分和

3、C口下半部分两个部分) A组和B组控制逻辑; 数据总线缓冲器; 读/写控制逻辑。NoImage7第七章NoImage8第七章8255A与系统的连接示意图NoImage9第七章3、各部分功能简介 数据端口 A、B、C:可用来和外设传送信息;每个端口8位,通过编程设定其为输入口或输出口; 8255数据端口功能表工作方式A口B口C口012基本输入输出 输出锁存 输入三态应答式输入输出输入输出均锁存 应答双向输入输出输入输出均锁存 基本输入输出 输出锁存 输入三态基本输入输出 输出锁存 输入三态应答式输入输出输入输出均锁存 作为A口、B口的控制位及状态位作为A口、B口的控制位及状态位NoImage10

4、第七章u控制端口D (A组和B组控制电路): u 8位端口,无对外引脚;接收CPU送的控制字,决定A组和B组的工作方式,或对C口的每位执行置位/复位等操作。 u数据总线缓冲器(D0-D7): u 由1个8位双向三态缓冲器构成;8255A内各端口通过数据缓冲器与系统总线相连。 u NoImage11第七章u地址译码与读写控制逻辑 u 根据系统送来的地址信号和控制信号,对数据信息、控制信息和状态信息的传送进行管理。 u CS# :片选信号,低有效,有效时允许8255A与CPU交换信息 u RD# :读信号,低有效,有效时允许CPU从8255A端口中读数据/状态。 u WR# :写信号,低有效,有效

5、时允许CPU将控制字/数据写入8255A。 u RESET :复位信号,高有效。复位后,控制寄存器内容被清零。A口、B口和C口被置成输入方式。 u A1、A0 :端口的选择信号。 u 00端口A 01端口B 10端口C 11端口D(控制口)NoImage12第七章8255A的基本操作 NoImage13第七章u8255A的初始化编程,通过输出指令让CPU对8255A控制字寄存器写数据,来设置8255A的初始状态 u8255A有两类控制字 u 1、方式选择控制字: u 选择各端口的工作方式及操作类型输入输出) u 2、置位复位控制字: u 对C端口的任一位进行置位或复位操作二、8255A的控制字

6、及初始化编程NoImage14第七章 1、方式选择控制字 NoImage15第七章u通过对8255A的控制口写入置位/复位控制字,可使端口C的任意一个引脚的输出单独置1或清0。 2、置位复位控制字NoImage16第七章例1:设8255A的各端口地址为90H93H,若要求各端 口的工作状态如下:应怎样对8255A进行初始化编程? A口:方式0输出; B口:方式0输入; 上C口:方式0输入;下C口:方式0输出; 分析:控制口地址:93H 工作方式控制字为:1000 1010B 即8AH 初始化程序片断: MOV AL,8AH OUT 93H,ALNoImage17第七章例2:设一片8255A的口

7、地址为60H63H,要求从PC5的引脚输出一个正脉冲。 分析:先将PC5清零,再将其置1,最后再清零MOVAL, 00001010B OUT 63H, AL MOVAL, 00001011B OUT 63H, AL MOVAL, 00001010B OUT 63H, ALNoImage18第七章考虑:例2中若要求输出方波信号,则程序片段为: AGAIN:MOV AL,00001011B OUT 63H,AL CALL DELAY ;调用延时子程序 MOV AL,00001010B OUT 63H,AL CALL DELAY ;调用延时子程序 JMP AGAIN NoImage19第七章u825

8、5A有3种工作方式: u 方式0:基本的输入输出方式 u 方式1:选通输入输出方式 u 方式2:双向总线I/O方式 u各端口的工作方式,是通过编程向控制口写入方式选择控制字设置的。 uA口可工作在方式0、方式1、方式2下; u B口:方式0和方式1; u C口:方式0或作为A口、B口的状态或控制信号。三、8255A工作方式和C口状态字NoImage20第七章1、方式 0称为基本输入/输出工作方式) 适用场合:不需要用应答信号的无条件数据传送。 如:读一组开关状态,控制一组指示灯 方式0的基本功能: 具有两个8位口A口和B口),两个4位口上口C和下C口) 任意端口都可作为输入或输出,但不能同时实

9、现输入及输出 设置为输出口时有锁存能力,设置为输入口时无锁存能力。 方式0举例 NoImage21第七章2、方式 1称为选通输入输出工作方式) 适用场合:查询方式或中断方式的数据传送。 如:与打印机的接口 方式1的主要功能: 两个选通的8位数据端口,可输入或输出 ; 每个端口有三条控制线C口提供,固定指定的,不能用程序改变) 若只有一个口工作在方式1,余下的13位可工作在方式0; 方式1的两个8位数据口的输入、输出数据都能锁存。NoImage22第七章(1选通输入方式 A口、B口都工作在选通输入方式 其端口控制字、状态、联络信号如下图所示。 选通输入/输出方式可以分为3种情况PA7PA0 IB

10、FARD STBAD0D1D2D3D4D5D6D71/01101控制字控制字INTRAI/OINTE APC4PC5PC3PC6,7PC6,7 1=输入输入 0=输出输出方式方式1 A口口中断允许信号中断允许信号选通信号选通信号缓冲器满信号缓冲器满信号中断请求信号中断请求信号标志位标志位A口方式口方式1A口输入口输入NoImage23第七章PB7PB0 IBFBRD STBBD0D1D2D3D4D5D6D7111控制字控制字INTRBINTE BPC2PC1PC0方式方式1 B口口中断允许信号中断允许信号选通信号选通信号缓冲器满信号缓冲器满信号中断请求信号中断请求信号B口方式口方式1B口输入口

11、输入【注意】 由于INTE A、INTE B无外部引出脚,因此当PC4或PC2脚上出现 高电平或低电平信号时,不会改变中断允许触发器的状态。NoImage24第七章NoImage25第七章(2选通输出方式 A口、B口都工作在选通输出方式 其端口控制字、状态、联络信号如下图所示。 选通输入/输出方式可以分为3种情况D0D1D2D3D4D5D6D71/00101控制字控制字PC5,4 1=输入输入 0=输出输出PA7PA0 WR INTRAI/OINTE APC7PC6PC3PC4,5方式方式1 A口口OBFA ACKA 输出缓冲器满输出缓冲器满外设回答信号外设回答信号NoImage26第七章D0

12、D1D2D3D4D5D6D7011控制字控制字PB7PB0 WR INTRBINTE BPC1PC2PC0方式方式1 B口口OBFB ACKB (2选通输出方式续)NoImage27第七章NoImage28第七章(3选通输入/输出方式 8255A工作于方式1时,允许对A口和B口分别定义,一个端口作输入,另一个端口作输出。选通输入/输出方式可以分为3种情况D0D1D2D3D4D5D6D7011/01101控制字控制字PC6,7 1=输入输入 0=输出输出PA7PA0 WR INTRAI/OPC4PC5PC6,7OBFBACKB RD PC3STBAIBFAPB7PB0 PC1PC2PC0INTR

13、BNoImage29第七章(3选通输入/输出方式续) D0D1D2D3D4D5D6D7111/00101控制字控制字PC5,4 1=输入输入 0=输出输出PA7PA0 RD INTRAI/OPC7PC6PC4,5STBBACKA WR PC3OBFAIBFBPB7PB0 PC2PC1PC0INTRBNoImage30第七章3、方式 2称为双向总线方式) 适用场合:查询方式或中断方式的数据传送。 如:在主机和软盘驱动器交换数据时 方式2的主要功能: 只有A口可以工作于这种方式。 在这种方式下,CPU与外设交换数据时,可在单一的8位端口数据线PA7PA0上进行,既可以通过A口把数据传送到外设,又可

14、以从A口接收从外设送过来的数据,而且输入和输出数据均能锁存。 输入和输出过程不能同时进行。NoImage31第七章注意:输入输出共用一个INTR,有效时,CPU需通过查询C口状态:PC7( )和PC5( )判断是输入还是输出引起的中断。NoImageNoImageB组方式组方式:1=方式方式1 0=方式方式0D0D1D2D3D4D5D6D7控制字控制字111/01/01/0B口口:1=输入输入, 0=输出输出PC20:1=输入输入, 0=输出输出IBFAI/OOBFA ACKA PA7PA0 WR INTE 1PC20RD PC3PC7PC6PC4PC5INTE 2STBAINTRANoIma

15、ge32第七章4、C口状态字 当8255A工作于方式0时,C口各位作输入输出用。 当8255A工作于方式1和方式2时,C口产生或接收与外设间的联络信号。 读取C口的内容可使编程人员测试或检查外设的状态,用输入指令对C口进行读操作就可读取C口的状态,即:IN AL,PC口NoImage33第七章 C口的状态字有以下几种格式: (1方式1状态字 输入状态字: 输出状态字:NoImage34第七章(2方式2状态字NoImage35第七章例1:在某一系统中,有8个开关K7K0,要求每隔1S检测它们的通断状态,并随时在发光二极管LED7LED0上显示出来。要求:开关断开,相应的LED点亮;开关合上,LE

16、D熄灭硬件电路设计图7.2 8255A的应用举例NoImage36第七章分析: 确定各端口地址 A口:F0H B口:F2H C口:F4H 控制口:F6H 控制字: A口工作于方式0输入,B口为方式0输出,C口未用,控制字中与C口对应的位可以被置为0,写入控制端口F6H的控制字为:10010000B 要求功能的实现: 从A口读入的数据直接输出至B口即可满足要求NoImage37第七章参考程序片断: MOV AL, 10010000B ; 控制字 OUT 0F6H, AL ; 写入控制字 INAL, 0F0H ; 从A口读入开关状态 OUT 0F2H, AL ; B口控制LED,指示开关状态 考虑

17、: 若地址大于FFH,则程序应该怎么改? 若要“开关断开,相应的LED熄灭”,程序怎么改?NoImage38第七章【注意】 (1CPU与8255A之间数据传输以BYTE为单位; (28255A的方式0使用步骤: 确定地址; 写控制字初始化); 输入输出操作NoImage39第七章1、七段LED的工作原理和接口电路 dpgfedcbaNoImage01101101例2:数码管与8255A接口举例NoImage40第七章 十六进制数字七段显示码 十六进制数字七段显示码03FH87FH106H96FH25BHA77H34FHb7CH466HC39H十六制数共阴极的七段显示码表56DHd5EH67DH

18、E79H707HF71HNoImage41第七章(1静态显示方式 I/O(1) I/O(2) I/O(3) I/O(4) 2、数码管的显示方式 NoImage42第七章 这种方式的共阴极或共阳极点连在一起,接地 或接+5V,每一个数码管与一个并行口相连。所以 在同一时间内,每个数码管可以显示不同的内容。 但每个数码管都需要一个8位的I/O口,占用I/O太 多,成本高。 NoImage43第七章(2动态显示方式 NoImage44第七章 这种方式数码管的数据端与一个I/O口并连,而每个数码管的控制端公共端分别与另一个I/O口的某一位相连,可通过程序控制,使得在某一时间段内只让某个数码管显示,下一

19、时间段内让另一个数码管显示,这样让4个数码管轮流显示,只要轮流的速度快,人眼不会感到闪烁,好像在同时显示。NoImage45第七章 设计一接口电路,要求从8255A的A口输入由8个开关组成的数据信息,用2位16进制数表示,并通过B口输出至数码管显示。 要求编写完整的源程序实现数据的输入和输出显示。这里,8255的端口地址为:60H、62H、64H、66H ,数码管采用共阴极接法。3、接口电路设计NoImage46第七章A2A1NoImage47第七章编程思路: (1建立一个0F的数码显示表; (2读A口数据8位),分成低4位和高4位,然 后分别到表中查找出对应的数码,通过B口送出; (3由于2

20、个数码管数据端连接的都是B口,所以 当想让低位数码管亮时,必须先让高位数码管灭; 同样,当想让高位数码管亮时,必须先让低位数码 管灭。4、程序设计NoImage48第七章DATA SEGMENT TAB DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H DB 7FH,6FH,77H,7CH,39H,5EH,79H,71H PORTA EQU 60H PORTB EQU 62H PORTC EQU 64H CWR EQU 66H FSZ EQU 90H ;8255A为方式0,A口输入,B口输出 参考程序NoImage49第七章 ;C口位控方式输出 PC7L EQU 0000

21、1110 B ;PC7 输出低电平 PC7H EQU 0000 1111 B ;PC7 输出高电平 PC6L EQU 0000 1100 B ;PC6 输出低电平 PC6H EQU 0000 1101 B ;PC6 输出高电平 DATA ENDS CODE SEGMENT ASSUME DS:DATA,CS:CODE 参考程序NoImage50第七章START: MOV AX,DATA MOV DS, AX MOV AL ,FSZ ;设8255的工作方式 OUT CWR,AL MOV BX, OFFSET TAB ;设段选码表首地址 S1: IN AL,PORTA ;从8255 A口输入数据

22、MOV CL, AL ;暂存数据 AND AL,0FH ;取数据的低4位 XLAT ;查表,得段选码 MOV AH, AL ;暂存低位显示 MOV AL,PC6H OUT CWR,AL ;灭高位数码管参考程序NoImage51第七章 MOV AL, AH OUT PORTB ,AL ;送至8255 B口 MOV AL,PC7L OUT CWR,AL ;点亮低位数码管 MOV AL,CL AND AL,0F0H ;取数据高4位 MOV CL,4 SHR AL,CL ;高4位移至低4位 XLAT ;查表得高位数的段选码 MOV AH,AL ;暂存数据 MOV AL,PC7H OUT CWR,AL

23、;灭低位数码管 参考程序NoImage52第七章 MOV AL,AH OUT PORTB,AL ;送至8255B口 MOV AL, PC6L OUT CWR ,AL ;点亮高位数码管 JMP S1 ;继续扫描 MOV AH,4CH INT 21H CODE ENDS END START 参考程序NoImage53第七章 设计CPU8086与打印机的接口电路。 要求: 使用8255A作为接口芯片,并用A口作为输出口,这里,8255A的基地址为:340H。 编写完整的源程序,实现将内存某一段单元中的内容送到打印机进行打印。例3:打印机与8255接口举例NoImage54第七章(1打印机接口信号 并

24、行打印机接口中除8位数据线外,还应有选通、繁忙、应答、出错、缺纸等信号。这些信号有打印机输出的状态信息,也有计算机发出的信息。 常用的有: DATA1DATA8:8位并行数据,输入。 STROB#:选通信号,低有效,输入;有效时将8位并行数据送到打印机的输入缓冲器中。NoImage55第七章 ACK#:应答信号,低有效,输出。有效时,表示数据已被接受,打印机准备接受下一个数据。 BUSY:忙信号,高有效,输出。有效时表示打印机不能接受数据 下列情况BUSY为高: 数据输入期间 打印机操作期间 脱机状态 打印机出错状态NoImage56第七章(28255与打印机的连接电路NoImage57第七章DATA SEGMENT PORTA EQU 340H PORTB EQU 342H PORTC EQU

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论