Download presentation
Presentation is loading. Please wait.
1
简单芯片扩展I/O接口 8155可编程接口芯片及其使用 键盘及显示器接口设计 A/D和D/A转换接口技术
主 要 内 容 简单芯片扩展I/O接口 8155可编程接口芯片及其使用 键盘及显示器接口设计 A/D和D/A转换接口技术
2
9.1 I/O接口概述——I/O接口的功能 1 I/O接口的功能 速度匹配:锁存数据、传送联络信号。输入设备数据缓冲适应CPU的快速操作。
数据格式转换:并-串转换、A/D、D/A转换。 电平转换:电平幅值或正/负逻辑转换。 隔离:通过接口三态门将总线与其它设备隔离。 2019/6/4 单片机原理及其应用
3
9.1 I/O接口概述——I/O接口的功能 2 I/O接口的编址方式 存储器统一编址方式:
CPU将I/O接口当作存储单元对待,访问I/O与访问存储器单元操作相同 I/O独立编址方式: 另外设立一个独立的I/O空间,与存储器空间互不影响,单独编址供I/O设备使用。 在指令系统中,有专用于I/O访问的指令。 2019/6/4 单片机原理及其应用
4
9.1 I/O接口概述——I/O接口的功能 3 I/O接口数据传送方式 同步传送方式(无条件传送)
外设与CPU速度相当时,采用此种方式。如:单片机 与外部RAM之间的数据传送。 查询传送方式(条件传送) 外设READY? Y N 数据传送 读接口状态 CPU与I/O接口之间的数据传送由程序控制来实现。通过查询外设是否准备就绪来决定是否传送数据。 通用性好,软硬件简单,CPU效率低。 2019/6/4 单片机原理及其应用
5
9.1 I/O接口概述——I/O接口的功能 中断控制传送方式 (1)任何外设与CPU交换信息,需向CPU发出中断申请;
(3)中断处理完毕返回被中断的程序处,继续执行原来的程序。 CPU的效率提高。 2019/6/4 单片机原理及其应用
6
9.1 I/O接口概述——I/O接口的功能 一个查询方式和中断方式比较的实例 打印机打印时序 查询方式CPU时序 查询等待 数据传送
接收 数据 打印机打印时序 查询方式CPU时序 查询等待 数据传送 中断方式CPU时序 执行程序 数据传送 2019/6/4 单片机原理及其应用
7
9.1 I/O接口概述——I/O接口的功能 直接存储器存取方式(DMA)
CPU 外设 I/O口 DMA 控制器 由硬件完成数据交换,不需要CPU的介入,由DMA控制器控制,使数据传送在存储器与外设之间直接传送。 快、成本高。 2019/6/4 单片机原理及其应用
8
9.1 I/O接口概述——I/O接口的功能 4 MCS-51单片机的I/O接口扩展
MCS-51系列单片机的外部RAM和I/O口是统一编址的,因此用户可以把单片机外部64KRAM空间的一部分作为扩展I/O的地址空间。 单片机可以像访问外部RAM存储器那样访问外部接口芯片,对其口进行读写操作,在逻辑操作和指令使用上无任何区别。 2019/6/4 单片机原理及其应用
9
9.2 简单芯片扩展I/O接口 实现方式 采用TTL、CMOS电路。 设计原则 输入口具有缓冲作用——缓冲器。
输出口具有锁存作用——锁存器。 常用TTL芯片 缓冲器:74LS244,74LS245 锁存器: 74LS273,74LS373,74LS374,74LS377等。 2019/6/4 单片机原理及其应用
10
9.2 简单芯片扩展I/O接口 芯片功能介绍 (1)74LS244三态缓冲器(24路) 1G 状态 输入/输出 1 高阻 隔离 驱动
驱动 输入=输出 74LS244三态缓冲器功能表 高阻 导通 2019/6/4 单片机原理及其应用
11
9.2 简单芯片扩展I/O接口 (2)74LS273 8D锁存器 CLR(MR) CLK(CP) L X H Dn Qn x Q0
禁止 导通 导通 锁存 2019/6/4 单片机原理及其应用
12
9.2 简单芯片扩展I/O接口 实例:用74LS273和74LS244扩展I/O口 74LS273输出Q随输入D变化,CLR必须为高电平
外设 74LS273 74LS244 8051 P0 如何连接? CLR Vcc CLK G AB CB 解决方案: CLK/G的设计应综合地址和控制信息。 2019/6/4 单片机原理及其应用
13
9.2 简单芯片扩展I/O接口 (1)用74LS273 CLK的设计
74LS273为锁存器,通常可作为输出口。对于单片机来说,数据输出控制由WR实现。 设P2.0=0时,单片机选中74LS273。 可以得到下列真值表 实现CLK真值表 P2.0 1 WR CLK X 1 WR P2.0 + = CLK 2019/6/4 单片机原理及其应用
14
9.2 简单芯片扩展I/O接口 (2)用74LS244 1G/2G 的设计
74LS244为缓冲器,通常可作为输入口。对于单片机来说,数据输出控制由RD实现。 设P2.0=0时,单片机选中74LS244。 可以得到下列真值表 实现CLK真值表 P2.0 1 RD G(1G/2G) X 1 + = G 2019/6/4 单片机原理及其应用
15
9.2 简单芯片扩展I/O接口 (3)用74LS273和74LS244扩展I/O口 2019/6/4 单片机原理及其应用
16
9.2 简单芯片扩展I/O接口 74LS273和74LS244的地址空间分析: 地址为: 0FEFFH 1 x 1 A15 A14 A13
P2.7 P2.6 P2.5 P2.4 P2.3 P2.2 P2.1 P2.0 P0.7 P0.6 P0.5 P0.4 P0.3 P0.2 P0.1 P0.0 1 x 1 地址为: 0FEFFH 2019/6/4 单片机原理及其应用
17
9.2 简单芯片扩展I/O接口 例1 根据开关K0~K7的状态改变LED0~LED7 2019/6/4 单片机原理及其应用
18
9.2 简单芯片扩展I/O接口 例1 根据开关K0~K7的状态改变LED0~LED7
程序: MOV DPTR,#0FEFFH MOVX NOP RET 2019/6/4 单片机原理及其应用
19
9.4 8155可编程接口芯片及其使用 (一)8155的结构 256×8位的静态RAM。 I/O接口部分
可编程接口芯片及其使用 (一)8155的结构 256×8位的静态RAM。 I/O接口部分 可编程8位PA7~0 可编程8位PB7~0 可编程6位PC5~0 命令寄存器——8位 状态寄存器——8位 计数器/计时器部分 一个14位的二进制减法计数器/计时器 256B 静态 RAM PA 定时器 PB PC 口A PA0~PA7 口B PB0~PB7 PC0~PC5 口C IO/ M AD0~AD7 TIMER IN TIMER OUT CE ALE RD WR RESET 2019/6/4 单片机原理及其应用
20
9.4 8155可编程接口芯片及其使用 (二)8155的引脚 AD7~0-地址数据线,三态 RESET-复位信号 ALE-允许地址锁存信号
可编程接口芯片及其使用 TIMER IN TIMER OUT PC3 PC4 PC5 IO/ M CE RD WR ALE AD0 AD1 AD2 AD3 AD4 AD5 AD6 AD7 Vss Vcc PC2 PC1 PC0 PB7 PB6 PB5 PB4 PB3 PB2 PB1 PB0 PA7 PA6 PA5 PA4 PA3 PA2 PA1 PA0 8155 RESET (二)8155的引脚 AD7~0-地址数据线,三态 RESET-复位信号 ALE-允许地址锁存信号 CE-片选信号 IO/M-接口与存储器的选择信号 WR-写信号 RD-读信号 2019/6/4 单片机原理及其应用
21
9.4 8155可编程接口芯片及其使用 PA7~0-8根通用的I/O端口线 PB7~0-8根通用的I/O端口线
可编程接口芯片及其使用 TIMER IN TIMER OUT PC3 PC4 PC5 IO/ M CE RD WR ALE AD0 AD1 AD2 AD3 AD4 AD5 AD6 AD7 Vss Vcc PC2 PC1 PC0 PB7 PB6 PB5 PB4 PB3 PB2 PB1 PB0 PA7 PA6 PA5 PA4 PA3 PA2 PA1 PA0 8155 RESET PA7~0-8根通用的I/O端口线 PB7~0-8根通用的I/O端口线 PC5~0-6根通用的I/O端口线 TIMERIN-14位二进制减法 计数器的输入端 TIMEROUT-计时器的输出引脚 电源引脚: Vcc,Vss 2019/6/4 单片机原理及其应用
22
9.4 8155可编程接口芯片及其使用 (三)8155与8031的连接 8051 8155 RD WR ALE P2.0 P2.7 P0.0
可编程接口芯片及其使用 (三)8155与8031的连接 RD WR ALE P2.0 P2.7 P0.0 P0.1 P0.2 P0.3 P0.4 P0.5 P0.6 P0.7 EA IO/M CE AD0 AD1 AD2 AD3 AD4 AD5 AD6 AD7 RESET TIMERIN TIMEROUT +5V 10F/16V 1k PA7~0 PB7~0 PC5~0 8051 8155 2019/6/4 单片机原理及其应用
23
9.4 8155可编程接口芯片及其使用 (四)8155 的256字节RAM的使用 ——作为单片机的外RAM 1 使用条件:
可编程接口芯片及其使用 (四)8155 的256字节RAM的使用 ——作为单片机的外RAM 8155 RD WR CE IO/M ALE AD0~7 PA PB PC 1 使用条件: (1) =0,8155芯片被选中。 (2) =0,8155芯片上的RAM被选中,由AD0~AD7的地址总线(A0~A7)为256个单元编址。 CE IO/M 当 =0,CPU从8155RAM中由A7~A0指定的单元中读取一个字节的数据。 当 =0,CPU将一个字节的数据写入到由A7~A0指定的8155RAM单元中。 RD WR 2019/6/4 单片机原理及其应用
24
9.4 8155可编程接口芯片及其使用 2 单片机访问8155的RAM P2.7=0,且P2.0=0,单片机使用8155上的RAM。
可编程接口芯片及其使用 8051 RD WR ALE P2.0 P2.7 P0 8155 CE IO/M AD0~7 PA PB PC 2 单片机访问8155的RAM P2.7=0,且P2.0=0,单片机使用8155上的RAM。 8155RAM的地址空间分析: A15 A14 A13 A12 A11 A10 A9 A8 A7 A6 A5 A4 A3 A2 A1 A0 P2.7 P2.6 P2.5 P2.4 P2.3 P2.2 P2.1 P2.0 P0.7 P0.6 P0.5 P0.4 P0.3 P0.2 P0.1 P0.0 x 1 x 1 1 地址范围为: 7E00~7EFFH 2019/6/4 单片机原理及其应用
25
9.4 8155可编程接口芯片及其使用 3 单片机访问8155RAM的程序设计 RAM地址范围为: 7E00~7EFFH 8051 RD
可编程接口芯片及其使用 3 单片机访问8155RAM的程序设计 8051 RD WR ALE P2.0 P2.7 P0 8155 CE IO/M AD0~7 PA PB PC RAM地址范围为: 7E00~7EFFH 2019/6/4 单片机原理及其应用
26
9.4 8155可编程接口芯片及其 例2 把单片机内部RAM中从30H单元开始存储的32个字节数据转移到8155芯片上的RAM区中程序
可编程接口芯片及其 例2 把单片机内部RAM中从30H单元开始存储的32个字节数据转移到8155芯片上的RAM区中程序 8051 RD WR ALE P2.0 P2.7 P0 8155 CE IO/M AD0~7 PA PB PC RAM地址范围为: 7E00~7E1EH 2019/6/4 单片机原理及其应用
27
可编程接口芯片及其使用 MOV DPTR, #7E00H;8155RAM区首地址 MOV R0, #30H; 单片机数据存储区首地址 MOV R7, #32; 数据长度 TRANS:MOV 取数据 A;转存到8155的RAM区 INC R0; 修改存储单元地址 INC DPTR DJNZ R7, TRANS;转移完否? RET 2019/6/4 单片机原理及其应用
28
9.4 8155可编程接口芯片及其使用 (五)8155的I/O端口使用——作为单片机的外部I/O口 1 使用条件:
可编程接口芯片及其使用 (五)8155的I/O端口使用——作为单片机的外部I/O口 8155 RD WR CE IO/M ALE AD0~7 PA PB PC 1 使用条件: (1) =0,8155芯片被选中。 (2) =1,8155芯片上的I/O口和定时/计数器被选中,由AD0~AD7的地址总线(A0~A2)为I/O口和定时/计数器编址。 CE IO/M 当 =0,CPU从A2~A0指定的对象读取(输入)一个字节的数据。 当 =0,CPU将一个字节的数据写入(输出)到A2~A0指定的对象。 RD WR 2019/6/4 单片机原理及其应用
29
9.4 8155可编程接口芯片及其使用 2 8155芯片I/O口地址分配 A7 A6 A5 A4 A3 A2 A1 A0 I/O端口
可编程接口芯片及其使用 芯片I/O口地址分配 A7 A6 A5 A4 A3 A2 A1 A0 I/O端口 ╳ ╳ ╳ ╳ ╳ 命令/状态寄存器 ╳ ╳ ╳ ╳ ╳ A口 ╳ ╳ ╳ ╳ ╳ B口 ╳ ╳ ╳ ╳ ╳ C口 ╳ ╳ ╳ ╳ ╳ 计数器低8位 ╳ ╳ ╳ ╳ ╳ 计数器高6位 2019/6/4 单片机原理及其应用
30
9.4 8155可编程接口芯片及其使用 3 单片机访问8155的I/O口
可编程接口芯片及其使用 8051 RD WR ALE P2.0 P2.7 P0 8155 CE IO/M AD0~7 PA PB PC 3 单片机访问8155的I/O口 P2.7=0,且P2.0=1,单片机使用8155上的I/O口和定时/计数器。 8155I/O口的地址空间分析: A15 A14 A13 A12 A11 A10 A9 A8 A7 A6 A5 A4 A3 A2 A1 A0 P2.7 P2.6 P2.5 P2.4 P2.3 P2.2 P2.1 P2.0 P0.7 P0.6 P0.5 P0.4 P0.3 P0.2 P0.1 P0.0 x 1 1 x 1 1 2019/6/4 单片机原理及其应用
31
9.4 8155可编程接口芯片及其使用 I/O口及定时/计数器 I/O端口 命令/状态寄存器 A口 B口 C口 计数器低8位 计数器高6位
可编程接口芯片及其使用 8051 RD WR ALE P2.0 P2.7 P0 8155 CE IO/M AD0~7 PA PB PC I/O口及定时/计数器 I/O端口 命令/状态寄存器 A口 B口 C口 计数器低8位 计数器高6位 I/O端口地址 7F00 7F01 7F02 7F03 7F04 7F05 1 2019/6/4 单片机原理及其应用
32
9.4 8155可编程接口芯片及其使用 4 命令寄存器的定义 PB,PA—A口、B口数据传送方向
可编程接口芯片及其使用 4 命令寄存器的定义 TM2 TM1 IEB IEA PC2 PC1 PB PA PB,PA—A口、B口数据传送方向 0: 输入 1: 输出 PC2、PC1—C口数据传送方向及AB口工作方式 ALT1 00—C口输入,A、B口基本I/O方式 ALT2 11—C口输出,A、B口基本I/O方式 ALT3 01—PC3-PC5输出,A口选通方式,B口基本I/O方式 ALT4 10—A、B口选通方式 IEA、IEB — A、B口中断允许控制 0: 禁止 1: 允许 TM1、TM2—计数器控制 2019/6/4 单片机原理及其应用
33
可编程接口芯片及其使用 PC口在各种工作方式下的状态 2019/6/4 单片机原理及其应用
34
只与选通方式有关 9.4 8155可编程接口芯片及其使用 5 状态寄存器的定义 × INTRA ABF INTEA INTRB BBF
可编程接口芯片及其使用 5 状态寄存器的定义 × INTRA ABF INTEA INTRB BBF INTEB TMER D0 D1 D2 D3 D4 D5 D6 D7 只与选通方式有关 A口中断请求标志 A口缓冲器满标志 A口中断允许标志 B口中断请求标志 B口缓冲器满标志 B口中断允许标志 定时器中断允许标志。计数到指定长度后置1,读状态后清0 2019/6/4 单片机原理及其应用
35
9.4 8155可编程接口芯片及其使用 6 8155 I/O口的初始化及应用程序设计 7F00 1 7F01 7F02 7F03 7F04
可编程接口芯片及其使用 I/O口的初始化及应用程序设计 8051 RD WR ALE P2.0 P2.7 P0 8155 CE IO/M AD0~7 PA PB PC I/O端口 命令/状态寄存器 A口 B口 C口 计数器低8位 计数器高6位 I/O端口地址 7F00 7F01 7F02 7F03 7F04 7F05 1 2019/6/4 单片机原理及其应用
36
可编程接口芯片及其使用 例3:系统要求如下: (1)PA口、PB口为基本输入/输出方式,PA口和PC口为输入,PB口为输出。 (2)把40H单元的内容从PB口输出,把PA口、PC口输入的数据分别存储在20H、21H单元。 2019/6/4 单片机原理及其应用
37
可编程接口芯片及其使用 (1)设定8155命令寄存器 PA口、PB口为基本输入/输出方式,PA口和PC口为输入,PB口为输出。 TM2 TM1 IEB IEA PC2 PC1 PB PA 1 2019/6/4 单片机原理及其应用
38
9.4 8155可编程接口芯片及其使用 (2)把40H单元的内容从PB口输出,把PA口、PC口输入的数据分别存储在20H、21H单元。
可编程接口芯片及其使用 MOV DPTR,#0FEF8H MOV A,#02H ;设置PA、PB、PC口 MOV DPTR,#0FEF9H ;PA口地址 MOVX ;读PA口 MOV 20H,A ; 存PA口数据 INC DPTR; PB口地址 MOV A,40H ; 取输出数据 ;PB口输出 INC DPTR ; PC口地址 MOVX ;读PC口数据 MOV 21H,A ; 存PC口数据 (2)把40H单元的内容从PB口输出,把PA口、PC口输入的数据分别存储在20H、21H单元。 2019/6/4 单片机原理及其应用
39
9.4 8155可编程接口芯片及其使用 (六)8155的定时器/计数器工作原理 8155的定时器是一个14位的减法计数器。
可编程接口芯片及其使用 (六)8155的定时器/计数器工作原理 8155的定时器是一个14位的减法计数器。 能对输入定时器的脉冲信号进行计数,在达到“最后”计数值时,有一个矩形波或脉冲输出。 由编程来控制定时器的输出波形及计数长度。 由于计数长度为14位,所以分两次装入。 计数初值的范围是:2H~3FFFH。。 2019/6/4 单片机原理及其应用
40
9.4 8155可编程接口芯片及其使用 (1)8155定时器/计数器工作方式 由8155命令寄存器的最高两位设定 方 式 0 0 0 1
可编程接口芯片及其使用 (1)8155定时器/计数器工作方式 由8155命令寄存器的最高两位设定 PA PB PC1 PC2 IEA IEB TM1 TM2 TM2 TM1 0 0 0 1 1 0 1 1 方 式 不影响定时器工作 若计数器未启动,则无操作;若计数器已运行,则停止计数 计数器减到0后,立即停止。 装入方式和计数值后,立即启动定时器,若定时器已在运行, 则达到当前计数值后,按新的方式和长度予以启动 2019/6/4 单片机原理及其应用
41
可编程接口芯片及其使用 (2) 定时/计数器的格式和输出形式 2019/6/4 单片机原理及其应用
42
9.4 8155可编程接口芯片及其使用 (2) 定时/计数器的格式和输出形式 M2 M1 T13 T12 T11 T10 T9 T8
可编程接口芯片及其使用 (2) 定时/计数器的格式和输出形式 M2 M1 T13 T12 T11 T10 T9 T8 15 14 13 12 11 10 9 8 T7 T6 T5 T4 T3 T2 T1 T0 7 6 5 4 3 2 1 定时器输出 方式 计数器高6位 计数器低8位 M2M1 00 01 10 11 单 方 波 连续方波 单 脉 冲 连续脉冲 TIMER OUT引脚输出波形 2019/6/4 单片机原理及其应用
43
9.4 8155可编程接口芯片及其使用 (3) 8155 定时/计数器口的初始化及应用程序设计 7F00 1 7F01 7F02 7F03
可编程接口芯片及其使用 (3) 定时/计数器口的初始化及应用程序设计 8051 RD WR ALE P2.0 P2.7 P0 8155 CE IO/M AD0~7 PA PB PC I/O端口 命令/状态寄存器 A口 B口 C口 计数器低8位 计数器高6位 I/O端口地址 7F00 7F01 7F02 7F03 7F04 7F05 1 Timer In Timer Out 2019/6/4 单片机原理及其应用
44
9.4 8155可编程接口芯片及其使用 例4 对Timer In引脚输入的信号24分频以实现方波发生器功能。
可编程接口芯片及其使用 例4 对Timer In引脚输入的信号24分频以实现方波发生器功能。 (1)设置计数器初值与输出方式: 要求:计数初值为24(18H),输出连续方波 M2 M1 T13 T12 T11 T10 T9 T8 15 14 13 12 11 10 9 8 T7 T6 T5 T4 T3 T2 T1 T0 7 6 5 4 3 2 1 1 1 1 40H 18H (2)设置计数器立即启动 0C0H TM2 TM1 IEB IEA PC2 PC1 PB PA 1 1 2019/6/4 单片机原理及其应用
45
可编程接口芯片及其使用 MOV DPTR,#0FEFCH; 定时器低8位寄存器地址 MOV A,#18H; 计数常数18H为24 INC DPTR; 定时器高8位寄存器地址 MOV A,#40H ; 设定时器输出连续方波 A; 高8位 M2M1=01 MOV DPTR,#0FEF8H; 命令/状态寄存器地址 MOV A,#0C0H ;启动定时器/计数器 2019/6/4 单片机原理及其应用
46
9.5 键盘及显示器接口设计 在单片机应用系统中,键盘和显示器是常用的外设,它们是人与应用系统交换信键盘息的窗口;
键盘:用于输入参数和命令; 显示器:显示系统的运行状态、计算结果以及命令提示信息等。 主要介绍单片机应用系统中常用简单键盘和显示器的接口及软件设计方法。 2019/6/4 单片机原理及其应用
47
9.5 键盘及显示器接口设计 9.5.1 键盘工作原理与接口电路 (一)键盘概述 通常有数字键(0~9),字母键(A~Z)以及一些功能键。
键盘工作原理与接口电路 (一)键盘概述 键盘是由若干个按键组成的开关矩阵,它是一种廉价的输入设备。 通常有数字键(0~9),字母键(A~Z)以及一些功能键。 操作人员可以通过键盘向计算机输入数据,地址、指令或其它控制命令,实现人机对话。 键盘按其结构形式可分为两类: (1)编码键盘:键盘键的识别由专用的硬件来实现; (2)非编码键盘:键盘键的识别由软件来识别。 2019/6/4 单片机原理及其应用
48
9.5.1 键盘工作原理与接口电路 单片机系统中普遍使用非编码键盘,键盘接口应具备以下功能: (1)键扫描功能,即检测是否有健按下;
键盘工作原理与接口电路 单片机系统中普遍使用非编码键盘,键盘接口应具备以下功能: (1)键扫描功能,即检测是否有健按下; (2) 产生相应的键代码(键值); (3) 消除按键抖动及多键按下; 计算机测控系统常见键盘: 通用键盘:84键,101键,102键,104键等。含单片机,串行输出(扫描码)。 专用键盘:根据需要自己设计键盘。 按键:即无锁开关,有机械按键,电容按键,导电橡胶按键,薄膜按键。 2019/6/4 单片机原理及其应用
49
9.5.1 键盘工作原理与接口电路 (二)键盘的特点 按键开关的集合。 键的闭合/断开是机械触点的通断。会产生抖动。
键盘工作原理与接口电路 (二)键盘的特点 按键开关的集合。 键的闭合/断开是机械触点的通断。会产生抖动。 >100ms 按键的确认需要消除抖动。 硬件消抖 RS触发器 5~10ms 5~10ms Vcc 软件消抖 软件延时10~20ms,让过抖动区。 2019/6/4 单片机原理及其应用
50
9.5.1 键盘工作原理与接口电路 (三)键盘接口 独立式键盘 各键相互独立,各接一根输入线。 键盘驱动程序步骤:
键盘工作原理与接口电路 (三)键盘接口 独立式键盘 各键相互独立,各接一根输入线。 P 1 8 5 K 2 3 4 6 键盘驱动程序步骤: (1) 查键:扫描有否键按下,若无键按下,返回 (2) 有键按下软件去抖:延时10~20ms (3) 找键:逐位右移 (4) 等键释放 (5) 软件去抖 2019/6/4 单片机原理及其应用
51
2019/6/4 单片机原理及其应用
52
;检测K1键按下 WAIT1: JB P1. 0, WAIT0 ;K1按下? ACALL DL20MS ;延时消抖 JB P1
;检测K1键按下 WAIT1: JB P1.0, WAIT0 ;K1按下? ACALL DL20MS ;延时消抖 JB P1.0, WAIT0 ;K1按下? ;SUBROUTINE WAIT0: RET 2019/6/4 单片机原理及其应用
53
;检测S0键释放 WAIT1: JNB P1. 0, WAIT1 ; S0释放? ACALL DL20MS ;延时消抖 JNB P1
;检测S0键释放 WAIT1: JNB P1.0, WAIT1 ; S0释放? ACALL DL20MS ;延时消抖 JNB P1.0, WAIT1 ; S0释放? ;SUBROUTINE 2019/6/4 单片机原理及其应用
54
SCAN_KEY:MOV P1, #0FFH ;置P1为输入口 MOV A, P1 ;读按键状态 ANL A, # B ;提取按键S0~S4状态 XRL A, # B ; JZ NO_PRESS ;有键按下?无转NO_PRESS ACALL DL20MS ;延时消抖 MOV A, P1 ;重新读入按键状态 ANL A, # B ; JZ NO_PRESS ; 有键按下?无转NO_PRESS MOV A, P1 ;读按键状态,识别按键 MOV R5, #00 ;计算键值:S0为01,依此类推 CONT: RRC A ; INC R5 ; JNC FOUND ;键按下对应位为0, CJNE R5,#06,CONT ;最多判断5次 NO_PRESS: RET ;无按键按下,返回 2019/6/4 单片机原理及其应用
55
FOUND: MOV A, P1 ;判断按键释放 ANL A, # B ; XRL A, # B ; JNZ FOUND ; ACALL DL20MS ;延时消抖 MOV A, P1 ; JNZ FOUND ;按键释放否? MOV A, R5 ;按键已释放,处理 2019/6/4 单片机原理及其应用
56
MOV A, R5 ;按键已释放,处理 CJNE A, #01,NEXT1 ; LJMP S0_PRESS ;S0按下,处理 NEXT1: CJNE A, #02, NEXT2 ; LJMP S1_PRESS ;S1按下,处理 NEXT2: CJNE A, #03, NEXT3 LJMP S2_PRESS ;S2按下,处理 NEXT3: CJNE A, #04, NEXT4 LJMP S3_PRESS ;S3按下,处理 NEXT4: CJNE A, #05, NEXT5 LJMP S4_PRESS ;S4按下,处理 NEXT5: RET 2019/6/4 单片机原理及其应用
57
9.5.1 键盘工作原理与接口电路 2 行列式键盘(矩阵键盘) 识别按键的方法有两种:行扫描法,线反转法。 (1)行扫描法
键盘工作原理与接口电路 2 行列式键盘(矩阵键盘) 识别按键的方法有两种:行扫描法,线反转法。 (1)行扫描法 判断有键按下:通过行线发出低电平信号,如果该行线所连接的键没有按下,则列线所接的端口得到的全是“1”信号,如果有键按下,则得到非全“1”信号。 确认按下的键:逐行扫描,为防止双键或多键同时按下,再从第0 行一直扫描到最一行。 给定键值:找到有效的闭合键后,读入相应的键值转到对应的处理程序。 2019/6/4 单片机原理及其应用
58
9.5.1 键盘工作原理与接口电路 当键盘上没有键闭合时,所有行线 和列线断开 当键盘上某一个键闭合时,则该键 所对应的列线与行线短路。
键盘工作原理与接口电路 当键盘上没有键闭合时,所有行线 和列线断开 当键盘上某一个键闭合时,则该键 所对应的列线与行线短路。 5.1k×3 y0 y1 y2 x0 x1 x2 6 7 8 3 4 5 1 2 +5V 键盘扫描: 逐行逐列地检查键盘状态的过程。 1 1 1 行:101, 列:101, 可以确定键“4”被按下 1 1 1 2019/6/4 单片机原理及其应用
59
9.5.1 键盘工作原理与接口电路 键盘扫描: 逐行逐列地检查键盘状态的过程。 x1 x2 x0 y1 y2 y0 行 列 1 1 1 2
键盘工作原理与接口电路 键盘扫描: 逐行逐列地检查键盘状态的过程。 x1 x2 x0 y1 y2 y0 键 行 列 5.1k×3 y0 y1 y2 x0 x1 x2 6 7 8 3 4 5 1 2 +5V 1 1 1 2 1 3 1 4 1 5 1 6 1 7 2019/6/4 单片机原理及其应用 1 8
60
9.5.1 键盘工作原理与接口电路 编码 键盘扫描的方法: 程序控制的随机方式 定时控制方式 中断方式 确定键盘上闭合键的键号(或键值)
键盘工作原理与接口电路 键盘扫描的方法: 程序控制的随机方式 定时控制方式 中断方式 5.1k×3 y0 y1 y2 x0 x1 x2 6 7 8 3 4 5 1 2 +5V 确定键盘上闭合键的键号(或键值) x1 x2 x0 y1 y2 y0 键 行 列 编码 1 5 如果 编码为 ,则键号为“5” 2019/6/4 单片机原理及其应用
61
键盘工作原理与接口电路 2019/6/4 单片机原理及其应用
62
9.5.1 键盘工作原理与接口电路 无键按下 1 1 1 1 2019/6/4 单片机原理及其应用
63
9.5.1 键盘工作原理与接口电路 5号键按下 2019/6/4 单片机原理及其应用
64
9.5.1 键盘工作原理与接口电路 5号键按下 1 1 1 1 1 1 1 逐行扫描1 2019/6/4 单片机原理及其应用
65
9.5.1 键盘工作原理与接口电路 1 5号键按下 1 1 1 1 1 1 逐行扫描2 2019/6/4 单片机原理及其应用
66
5: 1101 1011 9.5.1 键盘工作原理与接口电路 逐行扫描3 5号键按下 1 1 1 1 1 1 2019/6/4
1 1 1 1 5: 逐行扫描3 2019/6/4 单片机原理及其应用
67
9.5.1 键盘工作原理与接口电路 键 P1.7~4 P1.3~0 特征编码 1110 0111 E7 1 1011 EB 2 1101
1110 0111 E7 1 1011 EB 2 1101 ED 3 EE 4 D7 5 DB 6 DD 7 DE 8 B7 9 BB 10 BD 11 BE 12 77 13 7B 14 7D 15 7E 9.5.1 键盘工作原理与接口电路 2019/6/4 单片机原理及其应用
68
4×4矩阵式键盘扫描程序框图 子程序功能:扫描键盘,求出键值。 子程序出口:键值存储在R5中。 若无键按下,R5返回值为0FFH。
2019/6/4 单片机原理及其应用
69
;有无键按下部分 SCAN_KEYB:MOV P1, #0F0H; MOV A, P1 ;读P1.7~P1.4引脚状态
ANL A, #0F0H XRL A, #0F0H; JZ NO_KEY ;判断有无按键按下 ACALL DL20MS; 延时消抖 MOV P1, #0F0H MOV A, P1 ANL A, #0F0H XRL A, #0F0H JZ NO_KEY 2019/6/4 单片机原理及其应用
70
;扫描部分 MOV R2, #11110111B ; 列扫描初始值, SCAN: MOV A, R2 ;列扫描P1.3~0
MOV P1, A MOV A,P ; 读行状态P1.7~4 ANL A, # B MOV R3, A ; 存列状态 CJNE A, #0F0H, KEY_PRSD ; 有键按下 MOV A, R2 RR A ;产生下次的扫描线输出 MOV R2, A ;存扫描线输出 XRL A, # B JNZ SCAN ; 4行已扫描完成?未完 继续 2019/6/4 单片机原理及其应用
71
;求键值部分 NO_KEY: MOV R5, #0FFH ;无按键按下 RET KEY_PRSD: MOV A, R2 ;取扫描值
ANL A, # B ORL A, R ;计算按键的特征码 MOV R4, A ;按键特征码暂存R4 MOV R5, #00H ;设置按键键值初值 MOV DPTR, #KEY_TAB ;特征码表首址 CAL_VAL: MOV A, R5 ;计算按键键值 MOVC A, @A+DPTR XRL A, R4 JZ FIXED ;找到,键值求出存R5 INC R ;未找到,继续 SJMP CAL_VAL 2019/6/4 单片机原理及其应用
72
;键释放部分 FIXED: MOV A, P1 ;判断键是否释放 ANL A, #0F0H XRL A, #0F0H JNZ FIXED
ACALL DL20MS ;延时消抖 MOV A, P1 RET 2019/6/4 单片机原理及其应用
73
;特征码表部分 KEY_TAB: DB 77H ; 0键特征码 DB 0B7H, ; 1键特征码 DB 0D7H, ; 2键特征码 DB 0E7H, 7BH, 0BBH, 0DBH, 0EBH DB 7DH, 0BDH, 0DDH, 0EDH, 7EH DB 0BEH, 0DEH ; 13\14键特征码 DB 0EEH ; 15键特征码 程序执行后,R5存储的是十六进制的键值 2019/6/4 单片机原理及其应用
74
;另一种求取键值的方法——通过特征码直接定义键值
特征编码 键值 E7 1 EB 2 ED 3 EE 4 D7 5 DB 6 DD 7 DE 8 B7 9 BB 10 BD A 11 BE B 12 77 C 13 7B D 14 7D E 15 7E F CJNE A,#E7H,NEXT1 MOV R5,#01 SJMP FIXED 2019/6/4 单片机原理及其应用
75
键盘工作原理与接口电路 (2)线反转法 线反转法也是识别闭合键的一种常用方法,该法比行扫描法速度快,在硬件上要求行线与列线外接上拉电阻。 该法先将行线作为输出线,列线作为输入线,行线输出全“0”,读入列线的值,然后将行线和列线的输入输出关系互换,并且将刚才读到的列线值从列线所接的端口输出,再读取行线的输入值。 在闭合键所在的行线上值必为0。当一个键被按下时,必定可读到一对唯一的行列值。 2019/6/4 单片机原理及其应用
76
键盘工作原理与接口电路 5号键按下 2019/6/4 单片机原理及其应用
77
键盘工作原理与接口电路 1 1 1 P1.7~P1.4=1101 2019/6/4 单片机原理及其应用
78
键盘工作原理与接口电路 1 1 1 P1.3~P1.0=1011 2019/6/4 单片机原理及其应用
79
9.5.1 键盘工作原理与接口电路 2次输入状态构成特征编码: 第一次:P1.7~P1.4=1101 键5的编码:1101 1011
键盘工作原理与接口电路 2次输入状态构成特征编码: 第一次:P1.7~P1.4=1101 键5的编码: 第二次:P1.3~P1.0=1011 2019/6/4 单片机原理及其应用
80
9.5.1 键盘工作原理与接口电路 键 P1.7~4 P1.3~0 特征编码 1110 0111 E7 1 1011 EB 2 1101
1110 0111 E7 1 1011 EB 2 1101 ED 3 EE 4 D7 5 DB 6 DD 7 DE 8 B7 9 BB 10 BD 11 BE 12 77 13 7B 14 7D 15 7E 键盘工作原理与接口电路 2019/6/4 单片机原理及其应用
81
9.5.2 LED显示器的工作原理和接口方法 (一)显示器原理 (1)显示器件简介 模拟指针表:结构简单,缺点:精度差,不直观 数码显示器:
模拟指针表:结构简单,缺点:精度差,不直观 数码显示器: 辉光数码管:每个字型对应一个管,造价高,控制与应用复杂,被淘汰。 八段LED,LCD显示器:可显示数字和部分字母,耗电省、效率高、发光控制简单、造价低。 2019/6/4 单片机原理及其应用
82
9.5.2 LED显示器的工作原理和接口方法 点阵显示器: 点阵液晶显示器:
128× × × × × ×480 1024×768 省电、内藏控制器、使用方便。宽视角,可带背光。 CRT显示器(目前已被液晶/LED点阵显示器替代) 单显、CGA、EGA、VGA、SVGA, 有标准的硬件规范,驱动程序较多,可有触摸屏。体积大、耗电多。 2019/6/4 单片机原理及其应用
83
9.5.2 LED显示器的工作原理和接口方法 (2)LED显示器结构 a b c d g e f dp com 共阴型 共阳型 a b c
2019/6/4 单片机原理及其应用
84
9.5.2 LED显示器的工作原理和接口方法 显示字型(字模)编码表(共阳) 共阴码 a b c d g e f dp com a b c
数码 字型码 hgfedcba 十六进制 C0H 5 92H 1 F9H 6 82H 2 A4H 7 F8H 3 B0H 8 80H 4 99H 9 90H 取反 取反 共阴码 2019/6/4 单片机原理及其应用
85
9.5.2 LED显示器的工作原理和接口方法 (二)静态显示工作原理与接口电路 (1)静态显示方式原理 g dp a 输出口1 输出口2
COM 输出口1 输出口2 输出口3 输出口4 2019/6/4 单片机原理及其应用
86
9.5.2 LED显示器的工作原理和接口方法 (3)静态LED显示器编程(显示数据)
1)将字符显示代码(字模信息)以表格的形式存放在程序存储器的某个区域; 2)将显示信息转换为0X的模式,存放在显示缓冲区中;每个显示位对应一个单元; 3)从显示缓冲区中取出一个显示信息(显示一位),通过查表获取该显示信息的字符显示代码(字模信息); 4)指定显示位所对应的输出口(锁存器)地址,输出字模信息; 5)多位显示重复2~4步。 2019/6/4 单片机原理及其应用
87
9.5.2 LED显示器的工作原理和接口方法 (2)静态显示方式应用电路举例(例1) 1000H 3000H 5000H 7000H
2019/6/4 单片机原理及其应用
88
9.5.2 LED显示器的工作原理和接口方法 显示1位子程序 入口:R0存放显示信息地址 R2\R3存放口地址
DISP1:MOV MOV DPTR,#SEG_TAB MOVC MOV DPH,R2 MOV DPL,R3 A NOP RET SEG_TAB:DB 3FH, 06H, 5BH, DB 4FH, 66H, 6DH, 7DH 1000H 3000H 5000H 7000H 2019/6/4 单片机原理及其应用
89
LED显示器的工作原理和接口方法 显示4位: 设显示信息存放30H开始内RAM中(显示缓冲区)。DISP4:MOV R0, #30H MOV R2,#10H MOV R3,#00H ACALL DISP1 INC R0 MOV R2,#30H 1000H 3000H 5000H 7000H 2019/6/4 单片机原理及其应用
90
LED显示器的工作原理和接口方法 显示4位(续): INC R0 MOV R2,#50H MOV R3,#00H ACALL DISP1 MOV R2,#70H RET 1000H 3000H 5000H 7000H 2019/6/4 单片机原理及其应用
91
9.5.2 LED显示器的工作原理和接口方法 (2)静态显示方式应用电路举例(例2)
P1.0=1时,在移位脉冲的作用下,字型码从RXD逐位移出。 输出的是LED4显示的字型码,最后是LED1的。 当P1.0=0时,所有移出的位被锁存在74LS164的输出端。 2019/6/4 单片机原理及其应用
92
设要在LED1~LED4上显示的数据储在40H~43H单元。 DISP2: SETB P1
设要在LED1~LED4上显示的数据储在40H~43H单元。 DISP2: SETB P1.0 ; 允许移位 MOV R0, #43H ; LED4的显示数据 MOV R2, #04H ;显示4位 MOV DPTR, #SEG_TAB;字型码表的首地址 DPLY: MOV ;取显示数据 MOVC ;取显示数据的字型码 MOV SBUF, A ;输出 TRNSMT: JBC TI, RDY ;发送完否? SJMP TRNSMT ;未发送完,继续 RDY: DEC R0 ;下一个显示数据的单元地址 DJNZ R2, DPLY ;显示数据输出完否? CLR P1.0 ;所有显示数据输出完,禁止移位 RET SEG_TAB: DB 0C0H, 0F9H, 0A4H, 0B0H, 99H, 92H, 82H, 0F8H 2019/6/4 单片机原理及其应用
93
9.5.2 LED显示器的工作原理和接口方法 (三)动态显示工作原理与接口电路 (1) 显示原理 a b c d e f g p dp
输出a…dp 输出口1 输出a…dp a b c d e f g p dp COM 输出显示位控制 输出口2 输出显示 位控信息 2019/6/4 单片机原理及其应用
94
9.5.2 LED显示器的工作原理和接口方法 (2)动态LED显示器编程(显示数据):
1)将字符显示代码(字模信息)以表格的形式存放在程序存储器的某个区域; 2)将显示信息转换为0X的模式,存放在显示缓冲区中;每个显示位对应一个单元; 3)从显示缓冲区中取出一个显示信息(显示一位),通过查表获取该显示信息的字符显示代码(字模信息); 4)指定字模信息输出口的(锁存器)地址,输出字模信息。 5)指定显示位置输出口的(锁存器)地址,输出显示位控信息。 6)延时若干ms(显示ms) 7)多位显示重复2~6步。 2019/6/4 单片机原理及其应用
95
3.2 LED显示器的工作原理和接口电路 (3) 应用电路举例 0FEFFH 0FEFFH 2019/6/4 单片机原理及其应用
96
3.2 LED显示器的工作原理和接口电路 字型码 0FEFFH 显示位置控制 0FDFFH 2019/6/4 单片机原理及其应用
97
3.2 LED显示器的工作原理和接口电路 显示1位子程序 字型码 0FEFFH 显示位置控制 0FDFFH 2019/6/4
单片机原理及其应用
98
DISP:MOV DPTR,#LED_SEG ;字型码表首地址 MOV ;取显示数据 MOVC ;求显示数据的字型码 MOV DPTR, #SEG_OUT ;字型码输出口地址 A ;输出字型码 MOV A,R2 ;取显示位置 MOV DPTR,#BIT_OUT ;显示位置输出口地址 ;显示 ACALL DL1MS ;稳定显示1ms MOV A,#0FFH ;关闭所有LED,消隐 RET LED_SEG: DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H 入口: R0:显示信息存储单元地址 R2:显示位置 SEG_OUT:0FDFFH BIT_OUT:0FEFFH 2019/6/4 单片机原理及其应用
99
3.2 LED显示器的工作原理和接口电路 显示6位程序(自左向右) D4 D5 D6 D7 D0 D1 D2 D3 字型码 Q4 Q5 Q6
0FEFFH 1 1 1 1 1 1 1 1号 1 2 3 4 5 6 1 2号 1 1 1 1 1 1 3号 0FDFFH 显示位置控制 1 4号 1 5号 1 6号 1 显示结束 2019/6/4 单片机原理及其应用
100
3.2 LED显示器的工作原理和接口电路 显示6位程序(自左向右) 字型码 0FEFFH 显示位置控制 1 1 1 1 1 0FDFFH
1 1 1 1 1 0FDFFH D4 D5 D6 D7 D0 D1 D2 D3 Q4 Q5 Q6 Q7 Q0 Q1 Q2 Q3 2019/6/4 单片机原理及其应用
101
3.2 LED显示器的工作原理和接口电路 DSPLY1:MOV R0,#30H ;显示缓冲区地址 MOV R2,# B;显示起始位置 REDO: ACALL DISP ;显示1位 MOV A,R2 ; 下一个显示位置 RL A MOV R2, A INC R0 ;修改缓冲区地址 XRL A, # B ;6位显示完否 JNZ REDO ;未完,继续显示 RET ;返回 2019/6/4 单片机原理及其应用
102
3.2 LED显示器的工作原理和接口电路 2019/6/4 单片机原理及其应用
103
3.2 LED显示器的工作原理和接口电路 74LS164 2019/6/4 单片机原理及其应用
104
9.6 A/D和D/A转换接口技术 为什么要扩展A/D和D/A接口? 扩展A/D和D/A接口是为了进行模拟量与数字量之间的转换。 数字量
检测装置 数字 控制器 给定值 A/D D/A 执行器 被控对象 - 计算机 计算机控制系统 数字量 模拟量:电压/电流 扩展A/D和D/A接口是为了进行模拟量与数字量之间的转换。 2019/6/4 单片机原理及其应用
105
9.6 A/D和D/A转换接口技术 9.6.1 A/D转换接口技术 作用:把输入的模拟信号转换成数字形式。 内容:基本原理、性能指标
目的:能够根据需求,合理选用市场上主流的产品,根据所提供的数据手册,能够进行接口电路的设计 2019/6/4 单片机原理及其应用
106
9.6.1 A/D转换接口技术 (一) A/D 主要性能指标:
(1)分辨率:用数字量的位数来表示,位数越高, 分辨率越高,对输入量的变化越灵敏。 (2)量程:所能转换的电压范围。 (3)精度:分绝对精度和相对精度。与分辨率不同。 (4)转换时间; (5)输出逻辑电平:多数与TTL配合,另外是否有三态输出,采用何种编码形式等。 (6)工作温度范围:能够保证精度的工作温度范围。 (7)对参考电压的要求:分内部参考电压源和外部参考电压源。 2019/6/4 单片机原理及其应用
107
9.6.1 A/D转换接口技术 (2) A/D转换器ADC0809芯片及其接口设计 指标: 八通道多路开关 8位精度 逐次逼近比较型
转换时间:100s 2019/6/4 单片机原理及其应用
108
A/D转换接口技术 ADC0809芯片 1 2 3 4 5 6 7 8 9 10 11 12 13 14 28 27 26 25 24 23 22 21 20 19 18 17 16 15 ADC0809 IN3 IN4 IN5 IN6 IN7 START EOC D3 OE CLOCK VCC REF(+) GND D1 IN2 IN1 IN0 ADDA ADDB ADDC ALE D7 D6 D5 D4 D0 REF(-) D2 2019/6/4 单片机原理及其应用
109
A/D转换接口技术 转 换 结 果 模拟量(电压) 指定转换 通道 2019/6/4 单片机原理及其应用
110
9.6.1 A/D转换接口技术 ADC0809引脚说明(1) (1)C,B,A:8路通道切换控制。 通道地址码 对应模拟量 输入通道 C B
IN0 1 IN1 IN2 IN3 IN4 IN5 IN6 IN7 2019/6/4 单片机原理及其应用
111
9.6.1 A/D转换接口技术 ADC0809引脚说明(1) (2)ALE:地址锁存, 在上升沿将地址选择信号ABC锁入地址寄存器。
(3)START:启动转换输入:上升沿清除ADC内部寄存器,下降沿启动内部控制逻辑。 (4)EOC:转换结束标志,上升沿表示转换完毕。 (5)CLOCK:转换定时时钟输入,在时钟频率小于640k时,转换速度为100us. 2019/6/4 单片机原理及其应用
112
9.6.1 A/D转换接口技术 ADC0809引脚说明(1) (6)OE:输出允许。 (7)IN0~IN7:8路模拟信号的输入端。
(8)D0~D7:8位转换结果数据输出端。 (9)REF(+) , REF(-):参考电压输入端。 (10)VCC,GND:芯片电源、地 2019/6/4 单片机原理及其应用
113
A/D转换接口技术 (3) MCS-51与ADC0809的接口设计 2019/6/4 单片机原理及其应用
114
9.6.1 A/D转换接口技术 ADC0809的地址空间分析: IN0 x 1 IN1 x 1 1 IN2 x 1 1 IN3 x 1 1
P2.7 P2.6 P2.5 P2.4 P2.3 P2.2 P2.1 P2.0 P0.7 P0.6 P0.5 P0.4 P0.3 P0.2 P0.1 P0.0 IN0 x 1 IN1 x 1 1 IN2 x 1 1 IN3 x 1 1 IN4 x 1 1 IN5 x 1 1 IN6 x 1 1 IN7 x 1 1 IN0~IN7:7F00~7F07H 2019/6/4 单片机原理及其应用
115
9.6.1 A/D转换接口技术 (4) MCS-51单片机与ADC0809的接口程序设计 MCS-51单片机控制ADC0809接口的方式:
(1)查询方式:EOC是否为高电平?是,读转换结果。 (2)等待方式:等足够的时间(>100s),确保A/D转换结束,再读转换结果。 (3)中断方式: 以EOC为高电平为条件触发中断,在中断处理程序中读转换结果。 (4)定时采样方式。通过定时器定时,每隔一段时间启动一次A/D转换,读取结果。 2019/6/4 单片机原理及其应用
116
A/D转换接口技术 (1)查询方式 是否为高电平 2019/6/4 单片机原理及其应用
117
A/D转换接口技术 对IN4接入的模拟信号进行转换,并把转换结果数据存放在寄存器R6中。 SAM2: MOV DPTR,#7F04H A; 启动A/D WAITC: JNB P1.0,WAITC MOVX NOP MOV R6, A; 存转换结果 RET 2019/6/4 单片机原理及其应用
118
9.6.1 A/D转换接口技术 启动A/D: MOVX @DPTR, A MOVX @DPTR, A A/D启动与此时A的内容无关! 1
MOVX @DPTR, A 1 启动A/D 2019/6/4 单片机原理及其应用
119
A/D转换接口技术 (2)等待方式 2019/6/4 单片机原理及其应用
120
A/D转换接口技术 对IN4接入的模拟信号进行转换,把转换结果存放在R6中。 SAM1: MOV DPTR,#7F04H A; 启动A/D MOV R5, #30 WAITC: NOP NOP DJNZ R5, WAITC ; 等120s MOVX MOV R6, A; 存转换结果 RET 2019/6/4 单片机原理及其应用
121
A/D转换接口技术 (3)中断方式 是否为高电平 2019/6/4 单片机原理及其应用
122
A/D转换接口技术 对IN4接入的模拟信号进行转换,把转换结果存放在30H单元。 ORG 0000H AJMP MAIN ORG 0013H AJMP SAMP ORG 0100H MAIN: MOV SP,#60H SETB IT1 SETB EX1 SETB EA MOV DPTR,#7F04H ;启动A/D 转换, NOP LOOP: NOP ;模拟应用处理程序 AJMP LOOP 2019/6/4 单片机原理及其应用
123
A/D转换接口技术 中断处理程序(采样): SAMP: PUSH PSW ;保护现场 PUSH ACC PUSH DPL PUSH DPH MOV DPTR,#7F04H MOVX ;读转换结果 MOV 30H,A ;存转换结果 ;启动A/D 转换 POP DPH ;恢复现场 POP DPL POP ACC POP PSW RETI 2019/6/4 单片机原理及其应用
124
9.6.1 A/D转换接口技术 (4)定时方式 在给定的定时时间到时,启动一次A/D转换 1)转换结束采用查询方式检测
2)转换结束采用等待方式处理 2019/6/4 单片机原理及其应用
125
A/D转换接口技术 转换结束采用查询方式检测 2019/6/4 单片机原理及其应用
126
A/D转换接口技术 每隔50ms对IN4接入的模拟信号采样1次,采样值存放在R6中。 采样周期为50ms。 方法1:采用定时器/计数器T0的方式1、以查询定时/计数器标志位溢出的方式实现采样,调用查询方式的子程序SAM2。 方法2:采用定时器/计数器T0的方式1、以中断方式实现采样,调用查询方式的子程序SAM2。 2019/6/4 单片机原理及其应用
127
A/D转换接口技术 方法1:采用定时器/计数器T0的方式1、以查询定时/计数器标志位溢出的方式实现采样 MOV TMOD,#01H ;T0,方式1 MOV TH0,#3CH ;晶振12MHz,定时50ms MOV TL0,#0B0H SETB TR0 WAIT1: JNB TF0,WAIT1 MOV TH0,#3CH ;重装初始值 ACALL SAM2 AJMP WAIT1 2019/6/4 单片机原理及其应用
128
方法2:采用定时器/计数器T0的方式1、中断方式采样。 ;主程序 ORG 0000H LJMP MAIN ORG 000BH LJMP SAMP ;中断处理程序入口 ORG 0030H MAIN: MOV SP, #60H MOV TMOD,#01H ;T0,方式1 MOV TH0,#3CH ;晶振12MHz,定时50ms MOV TL0,#B0H MOV IE,#82H ; 开放中断 MOV IP,#00H ;优先级 SETB TR0 PROCE: …… ;在应用程序 LJMP PROCE A/D转换接口技术 2019/6/4 单片机原理及其应用
129
A/D转换接口技术 ;定时采样中断处理程序 SAMP: PUSH ACC ;保护现场 PUSH PSW PUSH DPL PUSH DPH MOV TH0,#3CH ;重装初始值 MOV TL0,#B0H ACALL SAM2 ;A/D转换,转换结果在(R6)中 POP DPH ;恢复现场 POP DPL POP PSW POP ACC RETI 2019/6/4 单片机原理及其应用
130
A/D转换接口技术 (5)巡回采样 2019/6/4 单片机原理及其应用
131
A/D转换接口技术 对8路模拟信号巡回采样,把结果存储到以30H单元开始内部数据存储区中。 (1)巡检方式:每次转换一个通道,转换结束并保存转换结果。 (2)中断方式:每中断一次,对一个模拟通道进行转换,并保存转换结果。 (3)定时方式,定时时间到,对所有通道转换一次,保存转换结果。 2019/6/4 单片机原理及其应用
132
WAITX: JB P3.3, WAITX; EOC经反相器接INT1
(1)巡检方式 SAM1: MOV R1,#30H MOV DPTR,#07F00H MOV R7, #08H ;模拟通道个数 LOOP: MOV R6, #0AH DLAY: NOP NOP DJNZ R6,DLAY ;延时等待约120µs MOVX ;读取转换结果,P2.6=0且 ;存转换结果 INC DPTR ;指向下一个通道 INC R1 ;修改数据区指针 DJNZ R7,LOOP RET WAITX: JB P3.3, WAITX; EOC经反相器接INT1 2019/6/4 单片机原理及其应用
133
(2)中断方式 ;主程序 ORG 0000H AJMP MAIN ORG 0013H ; 中断入口地址 AJMP SAMP ORG 0100H MAIN: MOV SP,#60H MOV R0,#30H ;置数据区首地址指针 MOV R6,#00H ;指向IN0,通道地址的低八位 SETB IT1; 边沿触发 SETB EX1 ;允许 中断 SETB EA ;开放CPU 中断 MOV DPH,#7FH ;P2.6=0,通道地址的高八位 MOV DPL,R6 ;模拟通道0 转换, NOP LOOP: NOP ;模拟应用处理程序 AJMP LOOP ; 2019/6/4 单片机原理及其应用
134
;中断处理程序 SAMP: PUSH PSW ;保护现场 PUSH ACC PUSH DPL PUSH DPH MOV DPH,#7FH ;P2.6=0 MOV DPL,R6 ;组装16位通道地址 MOVX ;读A/D 转换结果 ;存转换结果 INC R0 ;修改数据区指针 INC R6 ;模拟通道地址加1 CJNE R6,#08,EXIT ;8个通道全采样完了吗? MOV R6,#00H ;8路巡检结束,重新采样 MOV R0,#30H ;重设数据区首地址指针 EXIT: MOV DPL,R6 ;指向下一个通道 ;启动A/D 转换 POP DPH ;恢复现场 POP DPL POP ACC POP PSW RETI 2019/6/4 单片机原理及其应用
135
9.6.2 D/A 转换接口技术 1、D/A转换器 将一个用二进制表示的数字量转换成相应的模拟量。
实现方法:对应于二进制的每一位,产生一个相应的电压(电流),而这个电压(电流)的大小正比于相应的二进制位的权。 例如:一个8位的D/A转换器,满量程的输出电压为5V,则最低位所代表的电压值为5/256V 2019/6/4 单片机原理及其应用
136
9.6.2 D/A 转换接口技术 2 D/A转换器主要技术指标:
(1)分辨率:常用数字量的数位表示,一般为8位、12位、16位等。 分辨率10位,表示它可以对満量程的1/210=1/1024的增量作出反应。 (2)输入编码形式:如二进制码、BCD码等。 (3)转换线性:通常给出在一定温度下的最大非线性度,一般为0.01~0.03%。 (4)输出电平: 电压型输出,5~10伏; 高压输出型,24~30 伏; 电流型的输出,20毫安左右,高者可达3安培。 2019/6/4 单片机原理及其应用
137
9.6.2 D/A 转换接口技术 3 集成D/A转换器-DAC0832 1. DAC0832主要特性
(1)输出电流线性度可在満量程下调节。 (2)转换时间为1s。 (3)数据输入可采用双缓冲、单缓冲或直通方式。 (4)增益温度补偿为0.02%FS/℃。(Full Scale)。 (5)每次输入数字为8位二进制数。 (6)功耗20mW。 (7)逻辑电平输入与TTL兼容。 (8)供电电源为单一电源,可在5~15V内。 2019/6/4 单片机原理及其应用
138
9.6.2 D/A 转换接口技术 V cc :芯片电源电压, +5V~+15V VREF: 参考电压, -10V~+10V
Rfb : 反馈电阻引出端, 此端可接运算放大器输出端 AGND :模拟信号地 DGND : 数字信号地 2019/6/4 单片机原理及其应用
139
9.6.2 D/A 转换接口技术 ILE:输入锁存允许信号, 高电平有效 CS :片选信号, 低电平有效 WR1 写信号1,低电平有效 XFER 转移控制信号,低电平有效 WR2 写信号2,低电平有效 2019/6/4 单片机原理及其应用
140
9.6.2 D/A 转换接口技术 DI0~DI7:8位数据输入端。接收8位二进制转换数据。 IOUT1:模拟电流输出端1,
当输入数字量为0FFH时, 输出电流最大: 𝑉 𝑅𝐸𝐹 𝑅 𝑓𝑏 输入数字量为00H时, 输出电流为0 IOUT2:模拟电流输出端2, IOUT1 + IOUT2 = 常数 2019/6/4 单片机原理及其应用
141
9.6.2 D/A 转换接口技术 DAC0832逻辑框图 H L L 八位 输入 锁存 器 DAC 寄存 D/A 转换 DI0
ILE CS WR1 WR2 LE1 LE2 XFER AGND R fb I OUT2 OUT1 V REF H L L 2019/6/4 单片机原理及其应用
142
9.6.2 D/A 转换接口技术 4 DAC0832和MCS-51单片机的接口 实现方式:
(1)单缓冲器方式:输入寄存器的信号和和DAC寄存器的信号同时控制,数据直接写入DAC寄存器。 适用于一路模拟量输出或几路模拟量不需要同步输出的系统。 (2)双缓冲器方式:输入寄存器的信号和DAC寄存器的分别控制,分时将数据先写入输入寄存器,再写入DAC寄存器。 适用于多路模拟量输出需要同步输出的系统。 2019/6/4 单片机原理及其应用
143
9.6.2 D/A 转换接口技术 (1) 0832单极性单缓冲器方式工作 2019/6/4 单片机原理及其应用
144
9.6.2 D/A 转换接口技术 DACO832的地址分析: DAC0832接口地址为: 7FFFH x 1 1 A15 A14 A13
P2.7 P2.6 P2.5 P2.4 P2.3 P2.2 P2.1 P2.0 P0.7 P0.6 P0.5 P0.4 P0.3 P0.2 P0.1 P0.0 x 1 1 DAC0832接口地址为: 7FFFH 2019/6/4 单片机原理及其应用
145
9.6.2 D/A 转换接口技术 产生锯齿波电压的程序: D/A转换器的端口地址为7FFFH START:MOV DPTR,#7FFFH
Vout 5V D/A转换器的端口地址为7FFFH START:MOV DPTR,#7FFFH MOV A,#0H LOOP: MOVX @DPTR,A INC A AJMP LOOP 2019/6/4 单片机原理及其应用
146
t Vout 5V 0V 5V 0V Vout t 实际输出波形 2019/6/4 单片机原理及其应用
147
9.6.2 D/A 转换接口技术 (2) 0832双缓冲器方式工作 8031 0832 2019/6/4 单片机原理及其应用 P2 . 5
(2) 0832双缓冲器方式工作 P2 . 5 6 .7 P 0.0 0.1 0.2 8031 0.3 0.4 0.5 0.6 0.7 WR CS VCC I LE XFER DI0 DI1 DI2 DI3 0832 DI4 ( 1 ) DI5 DI6 DI7 WR1 WR2 DGND XFER I 2 +5V 2019/6/4 单片机原理及其应用
148
9.6.2 D/A 转换接口技术 (2) 0832双缓冲器方式工作 2019/6/4 单片机原理及其应用
149
9.6.2 D/A 转换接口技术 程序: MOV DPTR, #0DFFFH ;指向0832(1) MOV A, data1
A ;(data1)送0832(1)锁存器 MOV DPTR, #0BFFFH ;指向0832(2) MOV A, data2 A ;(data2)送0832(2)锁存器 MOV DPTR, #7FFFH ;指向0832(1)/(2) 数据传送端 A ;data1和data2同时转换 2019/6/4 单片机原理及其应用
150
9.7 应用系统举例(1) 典型的MCS51应用系统组成 打印机 显示器 多路转换器 传感器 放大器 键盘 MCS51系统 (CPU、
9.7 应用系统举例(1) 典型的MCS51应用系统组成 打印机 显示器 多路转换器 传感器 放大器 键盘 MCS51系统 (CPU、 存储器) A/D 传感器 放大器 执行 机构 D/A 2019/6/4 单片机原理及其应用
151
9.7 应用系统举例(2) 8051 6116 CE 8255 CS 8155 IO/M CE 8253 0832 P2.3 P2.4
9.7 应用系统举例(2) 8051 6116 CE 8255 CS 8155 IO/M CE 8253 0832 P2.3 P2.4 P2.0 P2.5 P2.6 P2.7 2019/6/4 单片机原理及其应用
152
9.7 应用系统举例(2) 线选法译码地址 外围器件 地址选择线(A15~A0) 片内地址单元数 地址编码 6116
9.7 应用系统举例(2) 线选法译码地址 外围器件 地址选择线(A15~A0) 片内地址单元数 地址编码 6116 XXX XXXX XXXX 2K F000~F7FFH 8255 XX 4 EFFC~EFFFH 8155 RAM XXXX XXXX 256 DE00~DEFFH 8155 I/O XXX 6 DFF8~DFFDH 0832 1 BFFFH 8253 XX 7FFC~7FFFH 2019/6/4 单片机原理及其应用
153
9.7 应用系统举例(3) 译码法译码地址 8051 6264 CE 8255 CS 8155 IO/M CE 8253 0832 +5V
9.7 应用系统举例(3) 8051 6264 CE 8255 CS 8155 IO/M CE 8253 0832 P2.5 P2.6 P2.7 译码法译码地址 P2.0 A B C G2A G2B G1 Y0 Y1 Y2 Y3 Y4 +5V 138 2019/6/4 单片机原理及其应用
154
9.7 应用系统举例(3) 译码法译码地址 外围器件 地址选择线(A15~A0) 片内地址单元数 地址编码 6264
000X XXXX XXXX XXXX 8K 0000~1FFFH 8255 XX 4 3FFC~3FFFH 8155 RAM XXXX XXXX 256 5E00~5EFFH 8155 I/O XXX 6 5FF8~5FFDH 0832 1 7FFFH 8253 XX 9FFC~9FFFH 2019/6/4 单片机原理及其应用
155
9.7 应用系统举例(4) 8051 8155 373 P0 2716 G 6116(2) 6116(1) P2.2--P2.0 PSEN
9.7 应用系统举例(4) 8051 373 G 2716 6116(2) 6116(1) 8155 P0 P2.2--P2.0 PSEN ALE WR RD A B C G2A G2B G1 P1.0 A0~A7 A8~A10 D7~D0 CE CS OE WE AD0~AD7 Y2 Y1 Y0 +5V IO/ M PA PB PC P2.3 P2.4 P2.5 P2.6 P2.7 2019/6/4 单片机原理及其应用
156
THIS LECTURE IS OVER! THANKS!
Similar presentations