《[信息与通信]第7章__MCS-51单片机IO扩展及应用-end.ppt》由会员分享,可在线阅读,更多相关《[信息与通信]第7章__MCS-51单片机IO扩展及应用-end.ppt(47页珍藏版)》请在三一文库上搜索。
1、第7章 单片机 I/0 扩展及应用,7.1 I/O 接口概述 7.2 简单 I/O 扩展 7.3 8255A 可编程I/O 扩展 7.4 MCS-51单片机键盘接口技术 7.5 MCS-51单片机显示器接口技术,7.1 I/O接口概述,一I/O 接口地位 二 I/O 接口作用 三 I/O 编址技术 四 I/O 数据的四种传送方式 五 I/O 接口的类型,7.1 I/O接口概述,一I/O 接口地位 I/O 接口处于外设与CPU之间, 是CPU与外设间的桥梁与通道。 二 I/O 接口作用 CPU与外设速度匹配 (输入缓冲,输出锁存) 数据转换;如:串/并,A/D,D/A 电平转换; 实现地址译码,
2、总线隔离;,7.1 I/O接口概述,三I/O 编址技术 1、接口与端口 接口:指CPU与外设间的I/O接 口芯片。 端口: I/O芯片内可寻址的数据 寄存器或缓冲器。 2、I/O编址 I/O与RAM独立编址(地址重叠,两套访问指令) I/O与RAM统一编址(存储器直接映像),8255内部结构,7.1 I/O接口概述,四 I/O 数据的四种传送方式 1、无条件传送方式 无条件传送也称为同步程序传送。 无条件传送适用于以下两类外部设备的数据输入输出 具有常驻的或变化缓慢的数据信号的外部设备。例如:机械开关、数码管等。 工作速度非常快,足以和CPU同步工作的外部设备。例如数/模转换器DAC,由于DA
3、C是并行工和的,速度很快,因此CPU可以随时向其传送数据,进行数/模转换,7.1 I/O接口概述,四 I/O 数据的四种传送方式 2、程序查询方式 查询方式又称之为有条件传送方式。 适用于各种外部的设备的数据输入输出传送 但查询过程占用CPU,查询方式只能适用于单项作业、规 模比较小的计算机系统,7.1 I/O接口概述,四 I/O 数据的四种传送方式 3、程序中断方式 程序中断方式与查询方式的主要区别 程序中断方式,大大提高了系统的效率 中断处理常需现场保护和现场恢复 4、DMA方式(Direct Memory Access) 适合批量传送 数据传送速度极快,7.1 I/O接口概述,五 I/O
4、 接口的类型 并行I/O接口 串行 I/O接口 简单I/O接口 可编程I/O接口,7.2 单片机简单I/O扩展,一 简单输入口扩展 操作指令:MOVX A, DPTR (控制信号:RD) 适用:控制简单外设,如开关量输入。 常用芯片:74LS244/245, 8286/8287 特点:三态输出,片选信号无效时,输出高阻 应用电路:注意建立有效地址以及使能端。,74LS244真值表,应用程序设计举例: MOV DPTR, #0BFFFH; P2.6=0 MOVX A, DPTR ;RD=0,7.2 单片机简单I/O扩展,二 简单输出口扩展 操作指令:MOVX DPTR, A (控制信号:WR)
5、适用:控制简单外设,如驱动发光二极管, 数码管等。 常用芯片:74LS373/377, 8282/8283 特点:输出锁存,以使速度匹配 应用电路:注意建立有效地址以及锁存信号。,74LS377真值表,应用程序设计举例: MOV DPTR, #7FFFH ; P2.7=0 MOVX DPTR, A ;WR =0,7.2 单片机简单I/O扩展,三 简单输入/输出口应用举例 将74LS244的输入端接8个开关用来设置数据,将74LS377的输出端接8个LED用来显示数据, 应用电路: 程序设计:,应用程序设计举例: LOOP: MOV DPTR, #0BFFFH ; P2.6=0 MOVX A ,
6、 DPTR ;从244输入数据 MOV DPTR, #7FFFH ; P2.7=0 MOVX DPTR, A ;从377输出数据 LCALL DELAY ; 延时 LJMP LOOP DELAY: RET END,7.3 8255A可编程通用并行接口芯片,一 可编程I/O接口芯片的特点 二、 8255A的逻辑结构和信号引脚 三、 8255A的控制字 四、 8255A的工作方式 五、 8255A应用举例,7.3 8255A可编程通用并行接口芯片,一 可编程I/O接口芯片的特点 芯片端口包含 数据口 状态口 命令口(控制字) 工作方式可编程 工作方式可通过命令口设定。,7.3 8255A可编程通用
7、并行接口芯片,二、 8255A的逻辑结构和 信号引脚 数据端口A、B和C 8位输入/输出端口 总线接口电路 8位双向数据总线缓冲器(DB) 读/写控制逻辑 CS片选信号 RD读信号 WR写信号 A0、A1端口选择信号 (00/01/10/11-A/B/C/CON) 复位信号 控制逻辑电路 A组控制+B组控制- 8位控制字(命令端口),A组,B组,7.3 8255A可编程通用并行接口芯片,三、 8255A控制字 1、工作方式控制字 用于确定各个数据口的工作方式及数据传送方向 A口有三种工作方式,B口只有两种工作方式; 最高位标志位,1表示工作方式控制字; 0C口复位/置位控制字,A 组,B 组,
8、C低4位I/O方向-1为输入,0为输出,B口I/O方向-1为输入,0为输出,B口工作方式: 0 1,C高4位I/O方向-1为输入,0为输出,A口I/O方向-1为输入,0为输出,A口工作方式: 00 01 1-,1,操作: 要求:端口A输入口, 工作方式=0, 端口B输出口, 工作方式=0, C口高4位输出,低4位输入 控制字=10010001B=91H 设:控制口地址=FFF3H MOV A, #91H MOV DPTR, #0FFF3H MOV DPTR, A,7.3 8255A可编程通用并行接口芯片,三、 8255A控制字 2、C口复位/置位控制字 用于对C口进行位操作,任意值,C口位选择
9、,1 置位 0 复位,要求:端口A输入口, 工作方式=0, 端口B输出口, 工作方式=0, C口高4位输出,低4位输出 操作: C口最高位置1 C口最低位置0 控制字=10010000B=90H 设:控制口地址=FFF3H MOV A, #90H MOV DPTR, #0FFF3H MOVX DPTR, A ;设置控制字 MOV A, #0FH ; 0000 1111 MOVX DPTR, A ; PC.7=1 MOV A, #00H ; 0000 0000 MOVX DPTR, A ; PC.0=0,0,7.3 8255A可编程通用并行接口芯片,四、 8255A的工作方式 1、方式0基本输入
10、/输出方式 2、方式1选通输入/输出方式 3、方式2双向数据传送方式,7.3 8255A可编程通用并行接口芯片,四、 8255A的工作方式 1、方式0基本输入/输出方式 适用于无应答I/O 数据传送方式为无条件传送方式 应用举例,7.3 8255A可编程通用并行接口芯片,四、 8255A的工作方式 2、方式1选通输入/输出方式 适用于查询或中断方式 (1)选通输入方式 C口握手信号有: STB(strobe):输入选通 IBF(Input buffer full):输入缓冲器满 INTR(Interrupt request):中断请求 时序流程图:,外设送数 发选通信号STB,8255输入锁存
11、 向CPU发IBF,STB&IBF=1 向CPU中断请求,CPU读取数据,清空 buffer,7.3 8255A可编程通用并行接口芯片,四、 8255A的工作方式 2、方式1选通输入/输出方式 适用于查询或中断方式 (2)选通输出方式 C口握手信号有: ACK(acknowledge): 外设应答信号 IBF(Input buffer full):输出缓冲器满 INTR(Interrupt request):中断请求 时序流程图:,中断请求有效 CPU发送数指令,清除 中断请求,8255锁存数据 向外设发OBF,外设取走数据 发应答ACK,清空buffer 发中断请求,7.3 8255A可编程
12、通用并行接口芯片,四、 8255A的工作方式 2、方式2双向数据传送方式 仅适用于A口 适用于查询或中断方式 适用于双向数据传送方式,7.3 8255A可编程通用并行接口芯片,四、 8255A的应用举例 用8255A控制键盘及6位LED,实现动态显示 1、应用电路设计 2、确定端口地址 3、程序设计 8255初始化 控制字:10000010 主程序: ORG 0000H LJMP MAIN ORG 0030H MAIN: MOV SP, #60H MOV DPTR, #0003H MOV A, #82H MOV DPTR, A LOOP: LCALL KEYSCAN LCALL DISPLAY
13、 LJMP LOOP,7.3 8255A可编程通用并行接口芯片,四、 8255A的应用举例 用8255A控制键盘及6位LED,实现动态显示,显示程序: DISPLAY: MOV R0, #79H ; 显示区首址 MOV R1, #06H ; 显示位数 MOV R2, #01H ;位控码 LOOP: MOV A, R0 ;取显示数据 ADD A, #19 MOVC A, A+PC;查表求字型码 MOV DPTR, #0000H;A口 MOVX DPTR, A ; A口送字型码 MOV DPTR, #0002H ;C口 MOV A, R2 ;取位控码 MOVX DPTR, A ; C口送位控码 C
14、LR C RLC A ;位控码左移一位 MOV R2, A INC R0 LCALL DELAY1MS;延时 DJNZ R1, LOOP ;显示6位 RET LEDTAB: DB 3FH, 06H, 5BH, 4FH, 66H DB 6DH, 7DH, 07H, 7FH, 6FH,7.4 MCS-51 单片机键盘接口技术,按键类型 机械式按键输入按键消抖 独立式按键接口设计 行列式键盘键接口设计,返回本章首页,7.5 MCS-51单片机LED显示器接口技术,LED显示器 LED显示控制及显示方式 LED静态显示 LED动态显示 典型键盘/显示器接口实例,返回本章首页,7.5 MCS-51单片机
15、LED显示器接口技术,(a)共阴极 (b)共阳极 (c)管脚配置,一、LED显示器 分类 按形状分七段LED、米字段LED 按连接方法分共阴极LED 、共阳极LED 七段LED及字型码 七段LED 引脚定义 七段LED 字型码 显示驱动 电流:5mA20mA 压降:1.5V2.0V,七段LED的字型码(段选码),7.5 MCS-51单片机LED显示器接口技术,二、LED显示控制及显示方式 显示控制 段控线(段选线):控制显示的字型(可由硬件BCD译码器/或软件控制) 位控线(位选线):公共端,控制显示位的亮或灭。 显示方式 静态显示:所有显示位可同时显示。故各段选线须独立控制,硬件成本高。 动
16、态显示:每一时刻只有一位显示。故段选线可统一控制,但需动态扫描。 位避免闪烁,一般扫描频率50Hz,四位静态LED显示器电路,八位LED动态显示器电路,7.5 MCS-51单片机LED显示器接口技术,三、LED静态显示方式 接口电路 段控线(段选线):每位LED段控线由独立的I/O控制。 位控线(位选线):公共端,常接GND(共阴)或Vcc(共阳)。 显示驱动 位驱动:静态,全显,接GND(共阴)或Vcc(共阳) 。 段驱动:驱动电路的驱动能力与LED显示器的工作电流匹配。 例用74LS373驱动:Iol=8mA, Ioh=-0.4mA, 应选共阳极LED.,7.5 MCS-51单片机LED显
17、示器接口技术,三、LED静态显示方式 程序设计 DPLAY: MOV R0, #79H ;显存首址 MOV R1, #00H ;段控端口地址 MOV R2, #04H ;显示位数 LOOP: MOV A, R0 ;取显示数据 MOV DPTR, #TAB MOVC A, A+DPTR ;查表求字型码 MOVX R1, A ;送字型码到端控口 INC R0 INC R1 DJNZ R2, LOOP RET TAB: DB 0C0H, 0F9H, 0A4H DB . DB 0F8H, 80H, 90H,373,373,373,373,DB,0000H,0001H,0002H,0003H,图8-21
18、 串行口扩展的键盘/显示器接口,7.5 MCS-51单片机LED显示器接口技术,四、LED动态显示方式 接口电路 段控线(段选线):段控线由统一的驱动控制。 位控线(位选线):公共端,动态扫描。 显示驱动 段驱动器:驱动电路的驱动能力与LED显示器的工作电流匹配。 例74LS373驱动:Iol=8mA, Ioh=-0.4mA, 取R=1K, 则I=5mA 位驱动:提供的位驱动电流应约等于段控电流之和 。 Ioh = 40mA,7.5 MCS-51单片机LED显示器接口技术,四、LED动态显示方式 用8255A控制键盘及6位LED,实现动态显示,显示程序: DISPLAY: MOV R0, #7
19、9H ; 显示区首址 MOV R1, #06H ; 显示位数 MOV R2, #01H ;位控码 LOOP: MOV A, R0 ;取显示数据 ADD A, #19 MOVC A, A+PC;查表求字型码 MOV DPTR, #0000H;A口 MOVX DPTR, A ; A口送字型码 MOV DPTR, #0002H ;C口 MOV A, R2 ;取位控码 MOVX DPTR, A ; C口送位控码 CLR C RLC A ;位控码左移一位 MOV R2, A INC R0 LCALL DELAY1MS;延时 DJNZ R1, LOOP ;显示6位 RET LEDTAB: DB 3FH,
20、06H, 5BH, 4FH, 66H DB 6DH, 7DH, 07H, 7FH, 6FH,图8-14 利用硬件译码器的七段LED接口电路,图8-15 通过8155扩展I/O口控制的8位LED动态显示接口,典型键盘/显示器接口实例,18155扩展I/O口的键盘/显示器接口 接口电路:LED显示器采用共阴极如图8-20所示 ;LED采用动态显示软件译码,键盘采用逐行扫描查询方式;LED的驱动采用北京集成电路设计中心生产的集电极开路输出八位驱动器8718。 软件设计:由于键盘与显示做成一个接口电路,因此在软件设计中合并考虑键盘查询与动态显示,键盘消颤的延时子程序用显示程序代替。,图8-20 815
21、5扩展I/O口的键盘/显示器接口电路,38279键盘/显示器接口 8279是专用键盘/显示器控制芯片,能对显示器自动扫描,能识别键盘上按下键的键号;可充分提高CPU的工作效率。 8279与MCS-51接口方便,由它构成的标准键盘/显示器接口在微机应用系统中使用越来越广泛。,48279接口和编程的一般方法 接口电路的一般连接方法 8279的键盘/显示器电路与8031接口的一般连接方法如图8-22所示。 ALE可直接与8279CLK相连,由8279设置适当的分频数,分频至100KHz。,图8-22 8279的键盘/显示器电路及与8031接口,8279键盘、显示接口应用特性: (1)8279操作命令(表8-2所示) (2)8279的FIFO状态查询 (3)8279的数据输入/输出 (4)显示器的填入/移位方式 (5)8279的内部译码与外部译码 (6)键盘键值的给定,表8-2 8279命令功能键一览表,(续表),8031和8279键盘/显示器接口的编程方法 对于图8-22所示的一般接口电路,键盘的读出既可用中断方式,也可用查询方式。 设若16位LED显示,16个按键,键盘采用查询方式读出。16位显示数据的段选码存放在8031片内RAM的30H3FH单元;16个键的键值读出后存放在 40H4FH中。8031晶振为8MHz。,图8-23 88键盘的键值与键号,返回本节,
链接地址:https://www.31doc.com/p-2001118.html