1 / 38

《 单片机原理与应用 》

《 单片机原理与应用 》. 第七章 I/O 扩展. I/O 口的直接应用. 例:如图所示电路中请编程实现将开关的开闭状态显示在四个 LED 上,即 K0 闭合, LED0 亮; K1 闭合, LED1 亮 … 分析: K0 闭合,则读到: P1.0=0 ; LED0 亮,则需使 P1.4=0 P1.0 P1.4 P1.0~P1.3 P1.4~P1.7. I/O 口的直接应用. 例:如图所示电路中请编程实现将开关的开闭状态显示在四个 LED 上, 即 K0 闭合, LED0 亮; K1 闭合, LED1 亮 ….

Download Presentation

《 单片机原理与应用 》

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 《单片机原理与应用》 第七章 I/O扩展

  2. I/O口的直接应用 • 例:如图所示电路中请编程实现将开关的开闭状态显示在四个LED上,即K0闭合,LED0亮; K1闭合,LED1亮… 分析:K0闭合,则读到:P1.0=0;LED0亮,则需使P1.4=0 • P1.0 P1.4 • P1.0~P1.3 P1.4~P1.7 yjia@zjip.com

  3. I/O口的直接应用 • 例:如图所示电路中请编程实现将开关的开闭状态显示在四个LED上, 即K0闭合,LED0亮; K1闭合,LED1亮… • MOV A,P1 • SWAP A • MOV P1,A yjia@zjip.com

  4. I/O口的直接应用 • 单片机I/O口的直接应用,可以使用下面指令: • MOV A,P1 或 MOV P1 ,A • MOV C,P1.0 或 MOV P1.0 ,C • MOV P1,#data • MOV P1,direct 或 MOV direct ,P1 • MOV R0,P1 或 MOV P1 ,R0 yjia@zjip.com

  5. §7.1 I/O扩展概述 • 一、为什么要扩展I/O口 1、单片机本身I/O口有限(回忆四并行口分工) • 2、外部设备的不同 • 速度差异大 • 外设种类多 机械式、机电式、电子式 • 数据形式多样 串行、并行数据 模拟量、数字量数据 电压信号、电流信号 yjia@zjip.com

  6. §7.1 I/O扩展概述 • 一、为什么要扩展I/O口 1、单片机本身I/O口有限 2、外部设备的不同 • 3、扩展I/O口的功能 • 速度协调 • 输出数据的锁存 • 输入数据的三态缓冲 • 数据转换 P169 yjia@zjip.com

  7. §7.1 I/O扩展概述 • 二、I/O扩展相关技术 1、接口与端口的概念 • 接口:inteface,有“界面,相互联系”含义, 如接口板,接口电路等 • (端)口:port,接口电路中可读写的寄存器,常见的有数据口,命令口、状态口,一个接口电路含有多个可读写的端口,即有多个口地址。 yjia@zjip.com

  8. §7.1 I/O扩展概述 • 二、I/O扩展相关技术 2、总线隔离技术: • 目的:任何时刻只有一个源和一个负载之间的数据传输。 • 对于输出设备的接口电路,要提供锁存器 • 对于输入设备的接口电路,要提供三态门 yjia@zjip.com

  9. §7.1 I/O扩展概述 • 二、I/O扩展相关技术 3、I/O编址技术:在计算机系统中,有两类需编址的子系统:I/O、存储器 • 独立编址:I/O与存储器分开编址,用不同的指令分别访问I/O和存储器的地址空间,如X86 • 统一编址: I/O与存储器合在一起编址, I/O地址空间+存储器地址空间=总空间 优点:不需要设专门的I/O指令。 • MCS-51单片机采用统一编址方式 I/O地址空间+存储器地址空间=总空间64KB 访问I/O和存储器都使用 MOVX 指令 yjia@zjip.com

  10. §7.1 I/O扩展概述 四、I/O口的控制方式 1、无条件传送方式 • 适用于随时处于准备好、工作速度非常快的外部设备, • 如:开关、LED发光管、数码管、存储器、ADC、DAC等 • 使用指令:MOV P1,#DATA MOV A,P1 yjia@zjip.com

  11. §7.1 I/O扩展概述 二、I/O口的控制方式 1、无条件传送方式 2、有条件传送方式 也称为查询方式 即外设准备好时数据传送 yjia@zjip.com

  12. §7.1 I/O扩展概述 二、I/O口的控制方式 3、中断方式 yjia@zjip.com

  13. §7.1 I/O扩展概述 二、I/O口的控制方式 1、无条件传送方式 2、有条件传送方式(查询方式) 3、中断方式 • 4、DMA方式(单片机无该方式) yjia@zjip.com

  14. §7.2 简单I/O扩展 一、简单输入接口的扩展 1、74LS244介绍 74LS244是2个四位的三态缓冲器 当/1G=/2G=0时,Y=A 即:1Y1=1A1,1Y2=1A2 1Y3=1A3,1Y4=1A4 … 2Y1=2A1 …2Y4=2A4 yjia@zjip.com

  15. 一、简单输入接口的扩展2、使用74LS244进行输入接口的扩展硬件连接图一、简单输入接口的扩展2、使用74LS244进行输入接口的扩展硬件连接图 地址: P2:0XXX,XXXX;P0:XXXX,XXXX 即7FFFH yjia@zjip.com

  16. 一、简单输入接口的扩展2、使用74LS244进行输入接口的扩展一、简单输入接口的扩展2、使用74LS244进行输入接口的扩展 • 读输入设备的程序控制方法: MOV DPTR,#7FFFH MOVX A,@DPTR yjia@zjip.com

  17. §7.2 简单I/O扩展 一、简单输入接口的扩展 3、使用两片74LS244进行多输入接口的扩展 硬件连接图: • 地址: 1#:7FFFH 2#:BFFFH • 读入A、B和C、D输入设备的状态,分别放入R4、R5中。 yjia@zjip.com

  18. §7.2 简单I/O扩展 一、简单输入接口的扩展 二、简单输出接口的扩展 1、74LS377介绍 当G=0,CLK↑时,Q=D 即:Q0=D0,Q1=D1… Q7=D7 P78表7-2 yjia@zjip.com

  19. §7.2 简单I/O扩展 • 一、简单输出接口的扩展 2、使用74LS377进行输出接口的扩展 下图中,若地址译码信号为P2.6,则 地址:P2:X0XX,XXXX;P0:XXXX,XXXX 即BFFFH yjia@zjip.com

  20. §7.2 简单I/O扩展 • 一、简单输出接口的扩展 • 将数据#DATA传向输出设备的程序控制方法: MOV DPTR,#0BFFFH MOV A,#DATA MOVX @DPTR,A yjia@zjip.com

  21. §7. 3 8155可编程并行I/O扩展 • 一、8155介绍 1、功能 • 内有静态RAM256字节 • 3个可编程的I/O口 PA口(8位) PB口(8位) PC口(6位)共22位口线 • 14位减法计数结构计数器 • 内有地址锁存器 另外:8155和81C55 8155和8156 yjia@zjip.com

  22. §7. 3 8155可编程并行I/O扩展 • 一、8155介绍 2、引脚(P143~144) Vss、Vcc:电源、地 I/O口线: PA0~7、PB0~7、PC0~5 AD0~7、ALE 片选/CE /RD、/WR Time In、Time Out IO/M RESET yjia@zjip.com

  23. AD7~AD0 A7 A6 A5 A4 A3 A2 A1 A0 选中的寄存器 ×× × × × 0 0 0 × × × × × 0 0 1 × × × × × 0 1 0 × × × × × 0 1 1 × × × × × 1 0 0 × × × × × 1 0 1 命令/状态寄存器 A口(PA0~PA7) B口(PB0~PB7) C口(PC0~PC5) 定时器/计数器低8位寄存器 定时器/计数器高6位寄存器及输出波形方式 §7. 3 8155可编程并行I/O扩展 一、8155介绍 3、RAM和I/O的编址 • 256字节的RAM由AD0~AD7编址,00H~FFH • I/O由AD0~AD2编址 yjia@zjip.com

  24. §7. 3 8155可编程并行I/O扩展 • 二、8155与8051单片机的连接 8051 8155 • 数据总线:P0 AD0~AD7 • 地址总线:P0 AD0~AD7 • 控制总线:ALE ALE /RD /RD /WR /WR 高位不用的地址线IO/M yjia@zjip.com

  25. §7. 3 8155可编程并行I/O扩展 • 二、8155与8051单片机的连接 如图连接后8155的 RAM、I/O的地址 • RAM:0000H~00FFH • 命令/状态口:0100H • A口:0101H • B口:0102H • C口:0103H • T/C低8位:0104H • T/C高6位:0105H yjia@zjip.com

  26. §7. 3 8155可编程并行I/O扩展 • 三、8155RAM的使用 如图连接后:如何对RAM的读写操作 例:编程实现将8155的256个RAM清0 yjia@zjip.com

  27. §7. 3 8155可编程并行I/O扩展 • 四、8155I/O口的使用 1、 8155 I/O口初始化:命令字写入命令寄存器 命令字格式: • C口方式 • ALT1:输入 • ALT4:输出 • ALT2: A口控制方式 • ALT3: A、B口控制方式 P185 yjia@zjip.com

  28. §7. 3 8155可编程并行I/O扩展 • 四、 8155I/O口的使用 • 2、应用举例:如图连接后,编程实现初始化8155的PA、PB口为输出口,PC口为输入口 命令字: XXXX,0011,即03H 初始化程序: MOV A,#03H MOV DPTR,#0100H MOVX @DPTR,A yjia@zjip.com

  29. §7. 3 8155可编程并行I/O扩展 • 四、8155I/O口的使用 3、 8155的状态口:读状态寄存器得状态字 状态字格式格式: yjia@zjip.com

  30. §7. 3 8155可编程并行I/O扩展 • 五、8155定时器/计数器的使用 1、 8155的定时器/计数器特点: • 14位的减法计数结构, 计数长度:1~16384 • 8155计数器与8051计数器的区别 yjia@zjip.com

  31. §7. 3 8155可编程并行I/O扩展 • 五、8155定时器/计数器的使用 2、 8155的定时器/计数器的计数结构: 输出方式 14位计数器 3、定时器输出方式:(Time Out 引脚的输出,P190) M2M1=00:单个方波 M2M1=01:连续方波 M2M1=10:单个脉冲 M2M1=11:连续脉冲 yjia@zjip.com

  32. §7. 3 8155可编程并行I/O扩展 • 五、8155定时器/计数器的使用 • 5、应用举例:使用8155T/C对计数脉冲进行千分频,并使Time Out 引脚产生连续方波信号,若设定PA、PC为输入口,PB口输出口,并禁止中断,编写初始化程序。命令口、计数器低8位和高6位的地址分别为FD00H、 FD04H、 FD05H yjia@zjip.com

  33. 五、8155定时器/计数器的使用 • 5、应用举例:使用8155T/C对计数脉冲进行千分频,并使Time Out 引脚产生连续方波信号,若设定PA、PC为输入口,PB口输出口,并禁止中断,编写初始化程序。(8155的命令口、计数器低8位和高6位的地址分别为FD00H、 FD04H、 FD05H)。 8155命令字: 1 1 0 0 0 0 1 0 即C2H yjia@zjip.com

  34. 五、8155定时器/计数器的使用 • 5、应用举例:使用8155T/C对计数脉冲进行千分频,并使Time Out 引脚产生连续方波信号,若设定PA、PC为输入口,PB口输出口,并禁止中断,编写初始化程序。(8155的命令口、计数器低8位和高6位的地址分别为FD00H、 FD04H、 FD05H)。 M2M1=00:单个方波 M2M1=01:连续方波 M2M1=10:单个脉冲 M2M1=11:连续脉冲 计数器低8位寄存器:43H 计数器高6位寄存器:E8H yjia@zjip.com

  35. 初始化程序: MOV DPTR,# 0FD00H MOV A,#0C2H MOVX @DPTR,A MOV DPTR,# 0FD04H MOV A,#0E8H MOVX @DPTR,A MOV DPTR,# 0FD05H MOV A,#43H MOVX @DPTR,A 五、8155定时器/计数器的使用 • 5、应用举例:使用8155T/C对计数脉冲进行千分频,并使Time Out 引脚产生连续方波信号,若设定PA、PC为输入口,PB口输出口,并禁止中断,编写初始化程序。命令口、计数器低8位和高6位的地址分别为FD00H、 FD04H、 FD05H yjia@zjip.com

  36. 8155应用1——键盘接口 • 如图所示以8155作4×8键盘接口,A口为输出口,接键盘列线;C口为输入口,接键盘行线。8155说明各端口地址,编写初始化程序 • 8155各口地址 命令口:0100H A口:0101H C口:0103H • 命令字: 03H 初始化程序: MOV DPTR,#0100H MOV A,#01H MOVX @DPTR,A yjia@zjip.com

  37. 8155应用2——显示器接口 • 使用8155构成的共阳极LED 接口电路,A口为输出口,C口为输出口。8155说明各端口地址,编写初始化程序 • 地址:命令口—0100H;A口—0101H;C口—0102H • 命令字:0DH yjia@zjip.com

  38. yjia@zjip.com

More Related