




已阅读5页,还剩225页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1 单片机原理及应用 主讲 李念强 济南大学电子信息教研中心 Tel mail ise linq E mailLinianqiang 2 简单回顾 3 8 1AT89系列单片机系统扩展概述 8 1 1最小应用系统 片内带程序存储器的AT89S51本身即可构成一片最小系统 只要将单片机接上时钟电路和复位电路即可 同时接高电平 ALE 信号不用 系统就可以工作 如图8 1 a 所示 1 片内有程序存储器的最小应用系统 4 2 片内无程序存储器的最小应用系统片内无程序存储器的芯片构成最小应用系统时 必须在片外扩展程序存储器 由于一般用作程序存储器的E2PROM芯片不能锁存地址 故扩展时还应加1个锁存器 构成一个3片最小系统 如图8 1 b 所示 5 8 1 2系统扩展的内容与方法最小系统不能满足系统功能的要求时 就需要进行扩展 为了使单片机能方便地与各种扩展芯片连接 常将单片机的外部连线变为一般的微型计算机3总线结构形式 1 扩展总线地址总线 由P2口提供高8位地址线 此口具有输出锁存的功能 能保留地址信息 由P0口提供低8位地址线 数据总线 由P0口提供 此口是双向 输入三态控制的8位通道口 控制总线 扩展系统时常用的控制信号为 ALE 地址锁存信号 用以实现对低8位地址的锁存 片外程序存储器取指信号 片外数据存储器读信号 片外数据存储器写信号 6 图8 2为单片机扩展成3总线结构的示意图 图8 2单片机3总线扩展结构 7 2 系统扩展的内容与方法 1 系统的扩展一般有以下几方面的内容 外部程序存储器的扩展 外部数据存储器的扩展 输入 输出接口的扩展 管理功能器件的扩展 如定时 计数器 键盘 显示器 中断优先编码器等 2 系统扩展的基本方法 使用TTL中小规模集成电路进行扩展 采用微处理器外围芯片来扩展 选用功能更强的单片机进行扩展 在同一个系统中扩展多个单片机 8 8 1 3常用的扩展器件简介1 8D锁存器74LS373和74LS57374LS373是一种带输出三态门的8D锁存器 其结构示意图如图8 3 a 所示 图8 3 a 锁存器74LS373 9 74LS573和74LS373功能完全相同 只是引脚排列不一样 74LS573适于PCB布线 图8 3 b 锁存器74LS573 10 2 总线驱动器74LS244 74LS245总线驱动器74LS244和74LS245经常用作三态数据缓冲器 74LS244为单向三态数据缓冲器 而74LS245为双向三态数据缓冲器 单向的内部有8个三态驱动器 分成两组 分别由控制端和控制 双向的有16个三态驱动器 每个方向8个 在控制端有效时 为低电平 由DIR端控制驱动方向 DIR为 1 时方向从左到右 输出允许 DIR为 0 时方向从右到左 输入允许 74LS244和74LS245的引脚图如图8 4所示 图8 4 a 74LS244 b 74LS245 11 3 3 8译码器74LS1383 8译码器74LS138为一种常用的地址译码器芯片 其管脚图如图8 5所示 其中 G1 控制端 只有当G1为 且 均为 0 时 译码器才能进行译码输出 否则译码器的8个输出端全为高阻状态 译码输入端与输出端之间的译码关系如表8 1示 图8 574LS138 表8 1译码输出关系 12 8 2存储器的扩展8 2 1存储器扩展概述存储器扩展的核心问题是存储器的编址问题 所谓编址就是给存储单元分配地址 由于存储器通常由多片芯片组成 为此存储器的编址分为两个层次 即存储器芯片的选择和存储器芯片内部存储单元的选择 存储器芯片的选择有两种方法 线选法和译码法 1 线选法所谓线选法 就是直接以系统的地址线作为存储器芯片的片选信号 为此只需把用到的地址线与存储器芯片的片选端直接相连即可 13 2 译码法所谓译码法就是使用地址译码器对系统的片外地址进行译码 以其译码输出作为存储器芯片的片选信号 译码法又分为完全译码和部分译码两种 1 完全译码 地址译码器使用了全部地址线 地址与存储单元一一对应 也就是1个存储单元只占用1个唯一的地址 2 部分译码 地址译码器仅使用了部分地址线 地址与存储单元不是一一对应 而是1个存储单元占用了几个地址 14 所谓地址译码关系图 就是一种用简单的符号来表示全部地址译码关系的示意图 A15A14A13A12A11A10A9A8A7A6A5A4A3A2A1A0注 X 表示取值可为 0 也可为 1 表示此地址线没有接 从地址译码关系图上可以看出以下几点 属完全译码还是部分译码 片内译码线和片外译码线各有多少根 所占用的全部地址范围为多少 借助于地址译码关系图 如果A15不接 一个存储单元占用几个地址呢 一条地址线不接 一个存储单元占用2个地址 同理 2条地址线不接 一个存储单元占用22个地址 n条不接 占用2n 15 8 2 2程序存储器的扩展只读存储器根据编程方式的不同 ROM可分为以下4种 1 掩膜ROM2 可编程ROM PROM 3 可擦除ROM EPROM或E2PROM 4 闪速存储器Flash是一种新型的存储器 是EPROM和E2PROM技术结合的产物 Flash存储器既具有EPROM一样的可编程能力 又带有像E2PROM一样的电可擦除性能 对它的重新编程不需要从电路板上取下来即可实现 16 2 E2PROMAT28C128该芯片为双列直插式28引脚的标准芯片 容量为16K 8位 其管脚如图8 6所示 其中 A13 A0 14位地址线 D7 D0 8位数据线 片选信号 低电平有效 输出允许信号 当为低电平时 输出缓冲器打开 被寻址单元的内容才能被读出 写器件使能 低电平有效 NC为不用的管脚 图8 6AT28C128管脚 17 2 AT28C128的工作时序AT28C128在使用时 只能将其所存储的内容读出 其过程与RAM的读出十分类似 即首先送出要读出的单元地址 然后使和均有效 低电平 则在芯片的D0 D7数据线上就可以输出要读出的内容 其过程的时序关系如图8 10 a 所示 与AT89S51单片机的连线见图8 10 b 图8 10 a AT28C128的工作时序 b AT28C128与51单片机的连线 18 3 程序存储器扩展举例 1 不用片外译码的单片程序存储器的扩展 例8 1 试用E2PROMAT28C128构成AT89S51的最小系统 见图8 10 程序存储器的端口地址为 0000H 3FFFH 4000H 7FFFH8000H BFFFH C000H FFFFH A15A14A13A12A11A10A9A8A7A6A5A4A3A2A1A0 19 2 采用线选法的多片程序存储器的扩展 A15A14A13A12A11A10A9A8A7A6A5A4A3A2A1A0 1存储器的端口地址为 0000H 3FFFH 4000H 7FFFH 2存储器的端口地址为 8000H BFFFH C000H FFFFH 20 3 采用地址译码器的多片程序存储器的扩展 例8 3图8 12中 1存储器和 2存储器的地址分别是多少 芯片选择 P2 7 P2 6 0 0 选中 1存储器 P2 7 P2 6 0 1 选中 2存储器 1存储器的端口地址为 0000H 3FFFH 2存储器的端口地址为 4000H 7FFFH 21 8 2 3数据存储器的扩展1 数据存储器概述数据存储器即随机存取存储器 RandomAccessMemory 简称RAM 用于存放可随时修改的数据信息 按其工作方式 RAM又分为静态 SRAM 和动态 DRAM 两种 2 静态RAM62C64简介 22 3 数据存储器扩展举例例8 4图8 14为外扩1片62C64的连接图 采用线选法 将片选信号CE2与P2 7相连 片选信号与P2 6相连 其地址译码关系为 A15A14A13A12A11A10A9A8A7A6A5A4A3A2A1A0 所占用的地址为 第1组8000H 9FFFH A13 0 第2组A000H BFFFH A13 1 23 例8 4全地址范围的存储器最大扩展系统 试写出各个存储器的端口地址范围 24 课后作业 P212 1 2 4 25 8 3单片机I O口的扩展8 3 1并行I O口的扩展1 可编程并行输入 输出接口芯片82C55 1 82C55的组成结构82C55可编程并行输入 输出接口芯片是Intel公司生产的标准外围接口电路 单一 5V电源供电 具有40条引脚 采用双列直插式封装 它有A B C3个端口共24条I O线 可以通过编程的方法来设定端口的各种I O功能 被广泛用作可编程外部I O口扩展接口 其管脚图如图8 14所示 26 27 2 82C55与系统的连接由于82C55是Intel公司专为其主机配套设计制造的标准化外围接口芯片 因此它与AT89S51单片机的连接是比较简单方便的 图8 19就是一种较常用的连接实例 28 3 82C55应用举例例8 5 要求通过82C55的PC5端向外输出1个正脉冲信号 已知82C55的C口和控制口的地址分别为0002H和0003H 解 若要从PC5端输出1个正脉冲信号 可通过对PC5位的置位和复位控制来实现 由于每送1个控制字 只能对1位作1次置位或复位操作 故产生1个正脉冲要对PC5位先送置位控制字 经过一定的延时后 延时时间视脉宽而定 再送复位控制字即能实现 程序编制如下 MOVDPTR 0003H 指向82C55的控制口MOVA 0BH 对PC5置1MOVX DPTR ALCALLDELAY 延时 调用延时子程序 DECA 对PC5置0MOVX DPTR A 29 2 可编程RAM IO CTC接口81C55 1 81C55的内部结构及引脚81C55的内部结构如图8 20 b 所示 它含有1个256字节的RAM 1个14位定时 计数器以及3个并行I O口 其中A口 B口均为8位 C口为6位 A口 B口既可作为基本I O口 也可作为选通I O口 C口除可作为基本I O口外 还可用作A口 B口的应答控制联络信号线 此外 81C55内部还有一个控制寄存器组 用来存放控制命令字 30 31 2 81C55和AT89S51单片机的接口电路81C55可以和AT89S51单片机直接相连 而不需外加逻辑电路 图8 24所示为81C55和AT89S51相连的一种基本连接方法 按图8 24所示接法 81C55的RAM和各端口地址如下 RAM的地址 0000H 00FFH命令口 0200HA口 0201HB口 0202HC口 0203H定时器低位 0204H定时器高位 0205H 32 3 81C55的初始化编程及应用举例81C55初始化编程的主要内容为写入81C55的命令字和定时 计数器的初值以及输出方式 现举例说明如下 例8 6 采用如图8 24所示的接口电路 设A口与C口为输入口 B口为输出口 均为基本I O 定时器为连续方波工作方式 对输入脉冲进行24分频 试编写81C55的初始化程序 解 命令字可选取为PA 0 A口输入PB 1 B口输出PC2 PC1 00 A口 B口基本I O C口输入IEA 0 IEB 0 A口 B口均禁止中断TM2 TM1 11 立即启动计数器 33 所以命令字为11000010B C2H 计数初值的选取方法为 由于计数值为24 所以定时器的低8位为18H 高6位为000000B 定时器的输出方式要求为连续方波 选M2M1 01 那么定时器的高8位为01000000B 40H RAM及端口地址与前面的相同 初始化程序 MOVDPTR 0204H 指向定时器的低8位MOVA 18H 取定时器低8位的值MOVX DPTR A 写入定时器低8位INCDPTR 指向定时器高8位MOVA 40H 取定时器高8位的值MOVX DPTR A 写入定时器高8位MOVDPTR 0200H 指向命令口MOVA C2H 取81C55的命令字MOVX DPTR A 写入命令字 34 8 3 2串行I O口的扩展技术单片机应用系统中使用串行扩展方式主要有PHILIPS公司的I2C总线 InterIntegrateCircuitBUS DALLAS公司的单总线 1 Wire MOTOROLA公司的SPI串行外设接口 NS公司的串行扩展接口Microwire Plus 以及80C51的UART方式0下的串行扩展接口 串行总线和串行传输接口的主要区别在于扩展器件的选通方式 串行总线上所有扩展器件都有自己的地址编号 单片机通过软件来选通 串行传输接口上的扩展器件要求单片机有相应的I O口线来选通 下面分别介绍各种串行扩展方式的工作原理和主要性能特性 35 1 I2C总线接口I2C总线全称为芯片间总线 它以两根连线实现全双工同步数据传送 可以极方便地构成外围器件扩展系统 I2C总线可以直接连接具有I2C总线接口的单片机 如8XC552和8XC652等 也可以挂接各种类型的外围器件 如存储器 日历 时钟 A D D A I O口 键盘 显示器等 是很有发展前途的芯片间串行扩展总线 1 I2C总线工作原理I2C总线采用两线制 由数据线SDA和时钟线SCL构成 I2C总线为同步传输总线 数据线上信号完全与时钟同步 数据传送采用主从方式 即主器件 主控器 寻址从器件 被控器 启动总线 产生时钟 传送数据及结束数据的传送 SDA SCL总线上挂接的单片机 主器件 或外围器件 从器件 其接口电路都应具有I2C总线接口 所有器件都是通过总线寻址 而且所有SDA SCI 同名端相连 如图8 25所示 36 作为主控器的单片机 可以具有I2C总线接口 也可以不带I2C总线接口 但被控器必须带有I2C总线接口 37 2 总线器件的寻址方式在一般的并行接口扩展系统中 器件地址都是由地址线的连接形式决定的 而在I2C总线系统中 地址是由器件类型及其地址引脚电平决定的 对器件的寻址采用软件方法 I2C总线上所有外围器件都有规范的器件地址 器件地址由7位组成 它与一位方向位共同构成了I2C总线器件的寻址字节 寻址字节的格式如表8 6所示 器件地址引脚地址方向位 38 3 总线的电气结构与驱动能力如图8 26所示 I2C总线接口内部为双向传输电路 总线端口输出端为漏极开路 故总线上必须有上拉电阻RP 上拉电阻与电源电压VDD 总线串接电阻有关 可参考有关数据手册 通常取5 10k 39 3 编程应用24系列E2PROM为串行的用电擦除的可编程CMOS只读存储器 自定时写周期包括自动擦除时间不超过10ms 典型时间为5ms 擦除 写入周期寿命一般都可达到10万次以上 下面以AT24C01A为例进行编程设计 WP为写保护 高电平有效 40 2 单总线接口单总线 1 wirebus 是DALLAS公司推出的外围串行扩展总线 单总线只有一根数据输入 输出线DQ 总线上所有器件都挂在DQ上 电源也经过这根信号线供给 这种使用根信号线的串行扩展技术 称为单总线技术 单总线系统中配置的各种测控器件 是由DALLAS公司提供的专用芯片实现的 每个芯片均有64位ROM 厂家对每一个芯片用激光烧写编码 其中存有16位十进制编码序列号 是器件的地址编号 确保挂在总线上后 可以惟一被确定 除了器件地址编码外 芯片内还含有收发控制和电源存储电路 如图8 34所示 这些芯片的耗电量都很小 从总线上馈送电量 空闲时几微瓦 工作时几毫瓦 到大电容中就可以正常工作 故一般不另附加电源 41 图8 35表示了一个由单总线构成的分布式温度监测系统 许多带有单总线接口的数字温度计集成电路DS1820都挂在DQ总线上 单片机对每个DS1820通过总线DQ寻址 DQ为漏极开路 须加上拉电阻RP 42 3 SPI串行外设接口SPI SerialPeripheralInterface 是MOTOROLA公司推出的一种同步串行外设接口 允许MCU与各个厂家生产的标准外围设备直接接口 以串行方式交换信息 SPI使用4条线 串行时钟SCK 主机输入 从机输出数据线MISO 简称SO 主机输出 从机输入数据线MOSI 简称SI 和低电平有效的从机选择线CS SPI的典型应用是单主系统 该系统只有一台主机 从机通常是外围接口器件 如E2PROM A D 日历时钟及显示驱动等 图8 36是SPI外围串行扩展结构图 43 44 4 Microwire串行扩展接口Microwire Plus接口为4线数据传输 SI为串行数据输入 S0为串行数据输出 SK为串行移位时钟和从机选择线CS 图8 38为MicrOWire P1us的串行外围扩展示意图 串行外围扩展中的所有接口上的时钟线SK均作总线连接在一起 而SO和SI则依照主器件的数据传送方向而定 主器件的s0与所有外围器件的输入端DI或SI相连 主器件的SI与外围器件的输出端DO或SO相连 与SPI相似 在扩展多个外围器件时 必须通过I O口线来选通外围器件 45 以单片机为主器件的Microwire Plus串行扩展系统中 单片机可以带有Microwire Plus接口 也可以不具有该接口 而外围芯片必须具备Microwire Plus形式接口 46 5 AT89S5lUART方式0串行扩展接口AT89S51系列单片机的串行通信有4种工作方式 其中方式O为移位寄存器工作方式 采用移位寄存器 可以方便地扩展串行数据传送接口 图8 39为串行扩展示意图 外围器件必须具备移位寄存器串行接口 AT89S51系列单片机的移位寄存器方式为串行同步数据传送 TXD P3 1端为同步脉冲输出 RXD P3 0端为串行数据输出 输入端 扩展外围器件时 TXD端与外围器件串行口时钟端相连 RXD与数据端相连 47 48 8 4串行标准接口的扩展8 4 1AT89S51配置RS 232C标准串行接口1 RS 232的电气特性RS 232C采用负逻辑 即逻辑 1 5 12V 逻辑 0 5 15V RS 232C的主要电气特性为 3 7K 负载时驱动器的输出电平 逻辑 1 5 12V 逻辑 0 5 12V 带负载时驱动器的输出电平 25 25V 动器通断时输出阻抗 300 出短路电流 0 5A 动器转换速率 30V s 收器输入阻抗 3 7K 之间 收器输入电压的允许范围 25 25V 入开路时接收器的输出 逻辑 1 入经300 接地时接收器的输出 逻辑 1 3V输入时接收器的输出 逻辑 0 3V输入时接收器的输出 逻辑 1 大负载电容 2500pF 49 2 RS 232C的电平转换RS 232C采用负逻辑 和TTL电平不兼容 这里可以采用专用电平转换芯片MAX 232进行电平转换 图8 40是MAX232的管脚和内部结构图 50 3 RS 232C总线规定及接口方法RS 232C接口 它是目前最常用的1种串行通信接口 这是1种有25个管脚的连接器 不但它的每一个管脚的规定是标准的 而且对各种信号的电平规定也是标准的 因而便于互相连接 其最基本的最常用的信号规定如图8 41所示 51 用RS 232C总线连接系统时 有近程通讯和远程通讯之分 近程通讯是指传输距离小于15m的通讯 这时可以用RS 232C电缆直接连接 15m以上的长距离通讯 需采用调制 解调器 MODEM 实现远程通讯 在发送端用调制器 Modulator 把数字信号转换为模拟信号 在接收端用解调器 Demodulator 检测此模拟信号 再把它转换成数字信号 如图8 42所示 FSK FrequencyShiftKeying 是1种常用的调制方法 它把数字信号的 1 与 0 调制成不同频率的模拟信号 其工作原理如图8 43所示 52 53 图8 44为最常用的采用调制 解调器的远程连接 图8 45为最常用的采用直接连接的近程连接 54 4 AT89S51与RS 232C串行通讯的硬件接口 55 5 终端驱动程序举例假设功能为接收终端键盘上的输入符 并输出到终端 在CRT屏幕上显示 设AT89S51的fosc 11 0592MHz波特率选为1200波特 串行方式1进行通讯 由定时器T1作波特率发生器 工作方式2 经计算或查表得计数初值为E8H 则实现上述功能的驱动程序如下 STRAT MOVTMOD 20H 定义T1工作于方式2MOVTH1 0E8H MOVTL1 0E8H 初始化计数器值 设定波特率1200波特MOVTCON 40H 启动T1MOVSCON 50H 串行方式1MOVPCON 00H 定义SMOD 0LOOP0 JBCRI LOOP1 判终端上输入字符AIMPLOOP0LOOP1 MOVA SBUF 接收字符MOVSBUF A 发送给CRT显示JNBTI AJMPLOOP0这里的终端要求外部信号以RS 232C方式进行串行传输 如果是AT89S51 AT89S51 采用RS 232C后的通讯软件不变 56 8 4 2RS 422A标准接口RS 422A与RS 232C的主要差别是信号在导线上传输的方式不同 RS 232C是利用传输信号线与公共地之间的电压差 而RS 422A系列则利用信号导线之间的信号电压差 其标准是双端线传送信号 具体通过传输线驱动器 把逻辑电平转换成电位差 完成始端的信息传输 通过传输线接收器 把电位差转换成逻辑电位差 完成始端的信号传输 通过传输线接收器 把电位差转换成逻辑电平 实现终端的信息接收 RS 422A比RS 232C的传输信号距离长 速度快 最大传输速度可达10Mbit s 最大传送距离为300m 如果采用较低的传输速率 例如90000波特率时 最大距离可达1200m RS 422A每个通道要用二条信号传输线 如果其中一条为逻辑 1 状态 则另一条就为逻辑 0 RS 422A的电路由发送器 平衡连接电缆 电缆终端负载 接收器几部分组成 在电路中规定只许有一个发送器 可有多个接收器 因此 通常采用点对点的通讯方式 该标准允许驱动器输出为 2 6V 接收器可以检测到的输入信号电平可低至200mv 57 RS 422A标准接口把电位差转换成逻辑电位差 完成始端的信号传输 和TTL CMOS电平不兼容 采用专用芯片MAX489 其管脚图和应用连线图见图8 48 58 图8 49基于RS 422的总线扩展连线图 59 8 4 3RS 485标准接口RS 485是一种多发送器的电路标准 它扩展了RS 422A的性能 允许双导线上一个发送驱动器驱动32个负载设备 负载可以是被动发送器 接收器或收发器 即接收 发送器的组合 RS 485电路允许公用电话线通讯 电路结构是在平衡连接电缆两端有终端电阻 在平衡电缆上挂发送器 接收器或组合收发器等 RS 485标准没有规定时控制发送器发送或接收机接收数据的规则 电缆选择比RS 422A更严格 60 61 图8 51基于RS 485的总线扩展连线图 62 8 5A D和D A转换器的扩展8 5 1A D转换器扩展1 A D转换器概述A D转换器用以实现模拟量向数字量的转换 按转换原理可分为4种 计数式 双积分式 逐次逼近式及并行式A D转换器 目前最常用的是双积分式和逐次逼近式 双积分式A D转换器的主要优点为转换精度高 抗干扰性能好 价格便宜 缺点为转换速度较慢 因此这种转换器主要用于速度要求不高的场合 常用的产品有ICL7106 ICL7107 ICL7126系列 MC14433以及ICL7135等 另一种常用的A D转换器是逐次逼近式 逐次逼近式A D转换器是一种速度较快 精度较高的转换器 其转换时间大约在几微秒到几百微秒之间 常用的这类芯片有 1 ADC0801 ADC0805型8位MOS型A D转换器 2 ADC0808 0809型8位MOS型A D转换器 3 ADC0816 0817型8位MOS型A D转换器 63 量化间隔和量化误差是A D转换器的主要技术指标之一 量化间隔可由下式求得 绝对量化误差相对量化误差例如 当满量程电压为5V 采用10位A D转换器的量化间隔 绝对量化误差 相对量化误差分别为 量化间隔 绝对量化误差相对量化误差 64 2 典型A D转换器芯片ADC0809简介ADC0809是典型的8位8通道逐次逼近式A D转换器 采用CMOS工艺制造 1 ADC0809的内部逻辑结构ADC0809的内部逻辑结构如图8 52所示 65 2 ADC0809的引脚ADC0809芯片为28引脚双列直插式封装 其引脚排列见图8 53 1 IN7 IN0 模拟量输入通道 2 ADDA ADDB ADDC 模拟通道地址线 3 ALE 地址锁存信号 4 START 转换启动信号 5 D7 D0 数据输出线 6 OE 输出允许信号 7 CLK 时钟信号 66 3 AT89S51单片机与ADC0809的接口ADC0809与AT89S51单片机的一种常用连接方法如图8 54所示 电路连接主要涉及两个问题 一个是8路模拟信号的通道选择 另一个是A D转换完成后转换数据的传送 67 8路模拟通道选择ADDA ADDB ADDC分别接系统地址锁存器提供的末3位地址 只要把3位地址写入0809中的地址锁存器 就实现了模拟通道选择 启动A D转换只需使用1条MOVX指令 在此之前 要将P2 0清0并将末3位与所选择的通道号相对应的口地址送入数据指针DPTR中 例如要选择IN0通道时 可采用如下两条指令 即可启动A D转换 MOVDPTR 0FE00H 送入0809的口地址MOVX DPTR A 启动A D转换 IN0 注意 此处的A与A D转换无关 可为任意值 68 转换数据的传送A D转换后得到的数据为数字量 这些数据应传送给单片机进行处理 数据传送的关键问题是如何确认A D转换的完成 因为只有确认数据转换完成后 才能进行传送 通常可采用下述3种方式 1 定时传送方式对于一种A D转换器来说 转换时间作为一项技术指标是已知的和固定的 2 查询方式A D转换芯片有表示转换结束的状态信号 例如ADC0809的EOC端 3 中断方式如果把表示转换结束的状态信号 EOC 作为中断请求信号 那么 便可以中断方式进行数据传送 69 不管使用上述哪种方式 只要一旦确认转换结束 便可通过指令进行数据传送 所用的指令为MOVX读指令 仍以图8 54所示为例 则有MOVDPTR 0FE00HMOVXA DPTR例如与D0 D2相连 这时启动A D转换的指令与上述类似 只不过A的内容不能为任意数 而必须和所选输入通道号IN0 IN7相一致 例如当ADDA ADDB ADDC分别与D0 D1 D2相连时 启动IN7的A D转换指令如下 MOVDPTR 0FE00H 送入0809的端口地址MOVA 07H D2D1D0 111 选择IN7通道MOVX DPRT A 启动A D转换 70 4 A D转换应用举例设有一个8路模拟量输入的巡回检测系统 使用中断方式采样数据 并依次存放在外部RAM的A0H A7H单元中 采集完一遍以后即停止采集 其数据采样的初始化程序和中断服务程序如下 初始化程序 MOVR0 0A0H 设立数据存储区指针MOVR2 08H 8路计数值SETBIT1 边沿触发方式SETBEA CPU开中断SETBEX1 允许外部中断1中断MOVDPTR 0FEF0H 送入口地址并指向IN0LOOP MOVX DPTR A 启动A D转换HERE SJMPHERE 等待中断 71 中断服务程序 MOVXA DPTR 采样数据MOVX R0 A 存数INCDPTR 指向下一个模拟通道INCR0 指向数据存储区下一个单元DJNZR2 INT1 8路未转换完 则继续CLREA 已转换完 则关中断CLREX1 禁止外部中断1中断RETI 从中断返回INT1 MOVX DPTR A 再次启动A D转换RETI 从中断返回 72 3 8位串行A D转换器ADC0832ADC0832是NS NationalSemiconductor 公司生产的具有Microwire Plus串行接口的8位A D转换器 通过三线接口与单片机连接 功耗低 性能价格比较高 适宜在袖珍式智能仪器中使用 其主要特点如下 8位分辨率 逐次逼近型 基准点压为5V 5V单电源供电 输入模拟信号电压范围为0 5V 输入和输出电平与TTL和CMOS兼容 在250KHz时钟频率时 转换时间为32us 具有两个可供选择的模拟输入通道 功耗低 15mW 73 1 引脚排列ADC0832有DlP和SOIc两种封装 DIP封装的ADC0832引脚排列如图8 56所示 各引脚说明如下 片选端 低电平有效 CH0 CHl 两路模拟信号输入端 DI 两路模拟输入选择输入端 图8 56ADC0832引脚图 DO 模数转换结果串行输出端 CLK 串行时钟输入端 VCC REF 正电源端和基准电压输入端 GND一电源地 74 2 配置位说明ADC0832工作时 模拟通道的选择及单端输入和差分输入的选择 都取决于输人时序中的配置位 当差分输入时 要分配输入通道的极性 两个输入通道的任何一个通道都可作为正极或负极 ADC0832的配置位逻辑表如表8 8所示 表中 表示输入通道的端点为正极性 一 表示输入端点为负极性 H或L表示高 低电平 输入配置位时 高位 CH0 在前 低位 CHl 在后 75 ADC0832的配置位逻辑表 差分 单端 配置位 选择通道号 76 单片机考试题型 1 填空题 20 2 简答题 10 3 编程题 30 4 计算题 12 5 改错题 10 6 程序阅读题 8 7 硬件电路扩展 10 单片机综合实习 1 交通灯控制系统 时间可以设置2 数字时钟 按键设置初值 报警功能 3 频率计 测频范围 1Hz 1MHz 测量精度 0 1 77 78 79 80 4 ADC0832典型应用1 单片机串行方式0与ADC0832的接口如图8 59所示 AT89S51的P1 7为片选信号端 TXD是时钟信号输出端 RXD为启动信号 模拟通道选择信号发送端以及A D转换后输出数据的接手端 81 2 SPI串行外围接口方式图8 60为AT89C51与ADC0832的SPI串行接口的方式 将DO和DI分别接于P1 0和P1 1引脚 对于CH0通道的模拟信号实行A D转换 转换结果存于A中 程序如下 82 3 Microwire串行外围接口方式图8 61为AT89S51与ADC0832的Microwire接口方式 将DO和DI接在一起 83 8 5 2D A转换器扩展1 D A转换器接口的技术性能指标D A转换器的输入为数字量 经转换后输出为模拟量 有关D A转换器的技术性能指标很多 例如绝对精度 相对精度 线性度 输出电压范围 温度系数 输入数字代码种类 二进制或BCD码 等等 对这些技术性能指标 这里不作全面详细说明 仅对几个与接口有关的技术性能指标作一介绍 84 1 分辨率 分辨率是D A转换器对输入量变化敏感程度的描述 与输入数字量的位数有关 如果数字量的位数为n 则D A转换器的分辨率为2 n 这就意味着D A转换器能对满刻度的2 n输入量作出反应 2 建立时间 建立时间是描述D A转换速度快慢的一个参数 指从输入数字量变化到输出达到终值误差 1 2LSB 最低有效位 时所需的时间 通常以建立时间来表明转换速度 3 接口形式 D A转换器与单片机的接口方便与否 主要决定于转换器本身是否带数据锁存器 85 2 典型D A转换器芯片DAC0832简介DAC0832为一个8位D A转换器 单电源供电 在 5 15V范围内均可正常工作 基准电压的范围为 10V 电流建立时间为1 s CMOS工艺 低功耗20mW 86 各引脚的功能如下 1 D7 D0 转换数据输入端 2 片选信号 输入 低电平有效 3 ILE 数据锁存允许信号 输入 高电平有效 4 写信号1 输入 低电平有效 5 写信号2 输入 低电平有效 6 数据传送控制信号 输入 低电平有效 7 IOUT1 电流输出1 当DAC寄存器中各位为全 1 时 电流最大 为全 0 时 电流为0 8 IOUT2 电流输出2 电路中保证IOUT1 IOUT2 常数 9 Rfb 反馈电阻端 片内集成的电阻为15k 10 Vref 参考电压 可正可负 范围为 10 10V 11 DGND 数字量地 12 AGND 模拟量地 87 3 AT89S51单片机与DAC0832的接口AT89S51单片机与DAC0832的接口有3种连接方式 即直通方式 单缓冲方式及双缓冲方式 直通方式不能直接与系统的数据总线相连 需另加锁存器 故较少应用 下面介绍单缓冲与双缓冲两种连接方式 单缓冲方式所谓单缓冲方式就是使DAC0832的两个输入寄存器中有一个处于直通方式 而另一个处于受控的锁存方式 当然也可使两个寄存器同时选通及锁存 88 2 双缓冲方式所谓双缓冲方式 就是把DAC0832的两个锁存器都接成受控锁存方式 由于两个锁存器分别占据两个地址 因此在程序中需要使用两条传送指令 才能完成一个数字量的模拟转换 假设输入寄存器地址为FEFFH DAC寄存器地址为FDFFH 则完成一次D A转换的程序段应为 MOVA DATA 转换数据送入AMOVDPTR 0FEFFH 指向输入寄存器MOVX DPTR A 转换数据送输入寄存器MOVDPTR 0FDFFH 指向DAC寄存器MOVX DPTR A 数据进入DAC寄存器并进行D A转换 89 a DAC寄存器直通方式 b 输入寄存器直通方式 c 两个寄存器同时选通及锁存方式 90 4 D A转换应用举例D A转换器是计算机控制系统中常用的接口器件 它可以直接控制被控对象 例如控制伺服电动机或其它执行机构 它也可以很方便地产生各种输出波形 如矩形波 三角波 阶梯波 锯齿波 梯形波 正弦波及余弦波等 在图8 65中 运算放大器A2的作用是把运算放大器A1的单极性输出变为双极性输出 例如 当Vref 5V时 A1的电压输出范围为0 5V 当VOUT1 0V时 VOUT2 5V 当VOUT1 2 5V时 VOUT2 0V 当VOUT1 5V时 VOUT2 5V VOUT2的输出范围为 5V 5V VOUT2与参考电压Vref的关系为 91 92 几点说明 1 以上程序产生的是矩形波 其低电平的宽度由延时子程序DMS1所延时的时间来决定 高电平的宽度则由子程序DMS2所延时的时间来决定 2 改变延时子程序DMS1和DMS2的延时时间 就可改变矩形波上下沿的宽度 若DMS1 DMS2 两者延时一样 则输出的是方波 3 改变上限值或下限值便可改变矩形波的幅值 单极性输出时为0 5V或0 5V 双极性输出时为 5 5V 93 1 产生锯齿波利用DAC0832产生锯齿波的参考程序如下 MOVA 00H 取下限值MOVDPTR 0FEFFH 指向0832口地址MM MOVX DPTR A 输出INCA 转换值增量NOP 延时NOPNOPSJMPMM 反复 94 几点说明 1 程序每循环1次 A加1 可见锯齿波的上升沿是由256个小阶梯构成的 2 可通过循环程序段的机器周期数 计算出锯齿波的周期 并可根据需要通过延时的办法来改变波形周期 3 通过A加1 可得到正向的锯齿波 如要得到负向的锯齿波 只要将A加1改为A减1指令即可实现 4 程序中A的变化范围为0 255 所得到的锯齿波为满幅度 95 2 产生三角波利用DAC0832产生三角波的参考程序如下 MOVA 00H 取下限值MOVDPTR 0FEFFH 指向0832口地址SS1 MOVX DPTR A 输出NOP 延时NOPNOPSS2 INCA 转换值增量JNZSS1 未到峰值 则继续SS3 DECA 已到峰值 则取后沿MOVX DPTR A 输出NOP 延时NOP 96 NOPJNZSS3 未到谷值 则继续SJMPSS2 已到谷值 则反复几点说明 1 本程序所产生的三角波谷值为0 峰值为 5V 或 5V 若改变下限值和上限值 那么三角波的谷值和峰值也随之改变 2 改变延时时间可改变三角波的斜率 3 若在谷值和峰值处延时较长时间的话 则输出梯形波 延时时间的长短取决于梯形波上下边的宽度 97 5 10位串行D A转换器TLC5615及应用程序 1 硬件描述TLC5615是带有缓冲基准输入 高阻抗 的10位电压输出数字 模拟转换器 DAC DAC具有基准电压两倍的输出电压范围 且DAC是单调变化的 器件可在单5V电源下工作 且具有上电复位功能以确保可重复启动 TLC5615的数字控制通过三线串行总线进行 它与CMOS兼容且易于和工业标准的微处理器及单片机接口 器件接收16位数据字以产生模拟输出 数字输入端的特点包括带有斯密特触发器 具有高噪声抑制能力 数字通信协议包括SPI QSP以及Microwire标准 低功耗 在5V供电时功耗仅1 75mw 数据更新速率为1 2MHz 典型的建立时间为12 5us TLC5615可广泛应用于电池供电测试仪表 数字增益调整 电池远程工业控制和移动电话等领域 该器件外形为八脚小型D或DIP封装 C档的工作温度范围为0 70 I档的工作温度范围为 40 85 其引脚与Maxim公司的MAX515完全兼容 98 2 引脚排列TLC5615的引脚排列见图8 66 图8 66TLC5615的引脚图在图8 67中 引脚DOUT 用于菊花链的串行数据输出 DIN是串行数据输入 SCLK是串行时钟输入 CS是选片端 低电平有效 OUT是D A电压输出 REFIN是基准输入端 一般接2V到Vcc 2V 典型值是2 048V Vcc是电源端 一般接 5V AGND是模拟地 99 3 使用说明TIC5615通过固定增益为2的运放缓冲电阻串网络 把10位数字数据转换为模拟电压电平 上电时 内部电路把DAC寄存器复位为0 其输出具有与基准输入相同的极性 表达式为 Vo 2 REF CODE 1024数据输入由于DAC是12位寄存器 所以在10位数据字中必须写入数值为O的两个低于ISB DO 的位 次最低有效位 D A输出输出缓冲器具有满电源电压幅度输出 带有短路保护并能驱动100pF负载电容的2k 负载 100 外部基准基准电压输入经过缓冲 这使得DAC输入电阻与代码无关 因此 REFIN输入电阻为10M REFIN输入电容的典型值为5pF 它们与输入代码无关 基准电压决定DAC的满度输出 逻辑接口逻辑输入端可使用TTL或CMOS逻辑电平 但使用满电源电压幅度 CMOS逻辑可得到最小的功耗 当使用TTL逻辑电平时 功率需求增加约两倍 串行时钟和更新速率图8 67示出了TLC5615的工作时序 最大串行时钟速率近似为14MHz 通常 数字更新速率受片选周期限制 对于满度输入阶跃跳变 10位DAC建立时间为12 5us 这把更新速率限制至80kHz 101 菊花链接器件假如时序关系合适 可以通过在一个链路 Chain 中把一个器件的DOUT端连接到下一个器件的DIN端实现DAC的菊花链接 级联 DIN处的数据延迟16个时钟周期加一个时钟宽度后出现在DOI TT端 DOUT是低功率的推拉输出电路 当CS为低电平时 DOIJT在SCI K下降沿变化 当CS为高电平时 DOUT保持在最近数据位的值并不进入高阻状态 102 4 典型接口当片选CS为低电平时 输入数据读入16位移位寄存器 由时钟同步 最高有效位在前 SLCK输入的上升沿把数据移入输入寄存器 接着 CS的上升沿把数据传送至DAC寄存器 当CS为高电平时 输入数据不能由时钟同步送入输入寄存器 所有CS的跳变应当发生在SCLK输入为低电平时 如果不使用菊花链 级联 功能 那么可以使用MSB在前的12位输入数据序列 如果使用菊花链 级联 功能 那么可以传送四个高虚拟位在前的16位输入数据序列 103 来自DOUT的数据需要输入时钟16个下降沿 因此 需要额外的时钟宽度 当菊花链接 级联 多个TLC5615器件时 因为数据传送需要16个输入时钟周期加上一个额外的输入时钟下降沿使数据在DOUT端输出 所以 数据需要四个高虚拟位 UpperDummyBits 为了提供与12位数据转换器传送的硬件与软件兼容性 两个额外位总是需要的 TLC5615三线接口与SPI QSPI以及串行标准相兼容 硬件连接如图8 68所示 104 SPI和AT89S51的接口传送8位字节形式的数据 因此 要把数据输入到DAC需要两个写周期 QSPI接口具有从8位至16位的可变输入数据长度 可以在一个写周期之内装载DAC输入寄存器 为了更好地使用TLC5615 建议使用分离的模拟和数据地平面来提高系统性能 设计两个地平面时 应当在低阻抗处将模拟地与数字地连接在一起 通过把器件的AGND端连接到系统模拟地平面 该平面能确保模拟地电流流动良好且地平面上的电压降可以忽略 可以实现最佳的接地连接 Vcc和AGND之间应连接一个0 1 F的陶瓷旁路电容且应当用短引线安装在尽可能靠近器件的地方 当系统不使用D A转换器时 把DAC寄存器设置为全0 可以使基准电阻阵列和输出负载的功耗降为最小 105 5 应用程序ORG0500HDINBITP1 4 定义I O口SCLKBITP1 7D A CSBITP1 5DOUTBITP1 6DA DATAHEQU30H 定义D A的数据区DA DATALEQU31HTLC5615 CLRD A CS 设置CS为低电平ACALLA DELAY2 延时MOVR6 08H 106 C DA LOOH LCALLA DELAY2MOVA DA DATAH 装入高八位RLCA 从最高位向D A寄存器中移MOVDIN CSETBSCLK 设置SCLK为高电平MOVDA DATAH ALCALLA DELAY2CLRSCLKDJNZR6 C DA LOOHMOVR6 08H 107 C DA LOOL MOVA DA DATAL 装入低八位RLCA 从最高位向D A寄存器中移MOVDIN CSETBSCLKMOVDA DATAL ALCALLA DELAY2CLRSCLKDJNZR6 C DA LOOLSETBD A CS 设置CS为高电平RET 108 8 6键盘扩展电路8 6 1单片机应用系统中的键输入单片机应用系统中除了复位按键有专门的复位电路 以及专一的复位功能 其它的按键或键盘都是以开关状态来设置控制功能或输入数据 因此 这些开关不只是简单的电平输入 1 键输入过程与软件结构当所设置的功能键或数字键按下时 计算机应用系统应完成该按键所设定的功能 因此 键信息输入是与软件结构密切相应的过程 对某些应用系统 例如智能仪表来说 键输入程序是整个应用程序的核心部分 图8 69是单片机应用系统的键输入软件框图 109 110 2 键开关状态的可靠输入无论是按键或键盘都是利用机械触点的合 断作用 一个电压信号通过机械触点的闭合 断开过程 其波形如图8 70所示 由于机械触点的弹性作用 在闭合及断开瞬间均有抖动过程 会出现一系列负脉冲 抖动时间 与开关的机械特性有关 一般为5 10ms 按键的稳定闭合期 一般为十分之几秒至几秒时间 为了保证CPU对键的一次闭合 仅作一次键输入处理 必须去除抖动影响 111 通常去抖动影响的措施有硬 软件两种 图8 71是用R S触发器或单稳态电路构成的硬件去抖动电路 采用软件除去抖动影响的办法是在检测到有
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 《创伤急救止血技巧》课件
- 《探索生态平衡之美:市级公开课自然生态的奥秘课件》
- 农产品软件设计
- 小蜗牛的儿童诗课件
- 三基医师题库与参考答案解析
- 班主任沟通技能培训课件
- 2024年生物化学习题库与答案(附解析)
- 2023年6月验光技术考试题及答案(附解析)
- 《抑郁与失眠》课件
- 船舶力学分析考核试卷
- 中国邮政集团有限公司国企招聘笔试真题2024
- 社会福利 课件汇 高和荣 第6-11章 社会福利客体-社会福利的挑战
- 2025年安徽合肥东部新中心建设管理办公室招聘2人历年高频重点模拟试卷提升(共500题附带答案详解)
- 热电材料与器件-深度研究
- 2024-2025学年统编版道德与法治八年级下册第四单元检测卷(含答案)
- GB/T 2812-2024头部防护通用测试方法
- 呼吸机湿化的护理
- 总公司与分公司隶属关系证明-企业管理
- 大学英语(阅读与思政)(青岛理工大学(临沂))知到智慧树章节答案
- (高清版)DB41∕T 2453-2023 煤矿带式输送机保护装置安装及试验技术规范
- 应激性心肌病治疗指南解读
评论
0/150
提交评论