




已阅读5页,还剩92页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第六章I O接口技术概述 6 1MCS 51对非编码键盘的接口 6 2LED数码管接口 6 3MCS 51与液晶接口 6 4MCS 51与AD DA接口 6 5MCS 51与8155并行扩展接口 第六章I O接口技术概述 数字计算机系统CPU对外部设备的控制 处理 或者CPU与各种外部设备之间交换数据信息 往往是和连接在系统总线上的接口电路实现的 在单片机诞生前就有接口电路的概念 早期专指外部设备与CPU总线相连的电路 接口技术指的是这部分电路相应的硬件和软件技术 6 1MCS 51对非编码键盘的接口 键盘是若干按键的集合 是单片机的常用输入设备 操作人员可以通过键盘输入数据或命令 实现人机通信 按键可以分为触点式和无触点式 SSR固态继电器 可以分为独立连接式和行列式两类 每一类又可以根据对按键的译码方式分为编码键盘和非编码两种类型 在非编码键盘中 每个按键的作用只是使相应触点接通或断开 每个按键的键码并非由硬件电路产生 而是由相应扫描处理程序对他扫描形成的 因此 本节主要讲解MCS 51对非编码键盘的接口编程 6 1 1键盘接口需要解决的问题 按键的抖动会造成按一次键产生的开关状态被CPU误读几次 为了使CPU能正确地读取按键状态 必须在按键闭合或断开时 消除产生的前沿或后沿抖动 去抖动的方法有硬件方法和软件方法两种 硬件方案 双稳态去抖电路 开关和继电器触点等在闭合和断开时常存在抖动问题 解决这一问题的方法很多 如图6 1所示就是一个双稳态去抖电路 该电路主要由两个R S触发器构成 当开关K处于常闭位置时 a端为低电平 输出端Q则为高电平 此时b端均为高电平 输出端R则为低电平 2端被锁定 这样 开关触头即使在常闭端产生振颤 但只要不和常开端连接 B端 2端 电位不变 则输出端Q始终处于高电平 同理 开关处于常开位置时也是如此 因此 该电路在开关闭合或断开时只产生一个脉冲 触点抖动现象被消除 但是由于电路相对复杂 这种方法基本上不用 6 1 1键盘接口需要解决的问题 6 1 1键盘接口需要解决的问题 图6 1硬件去抖电路 软件方案则是采取延时10ms 20ms后再次判断的方法 软件方法是指编制一段延时时间为10ms的延时程序 在第一次检测到有键按下时 执行这段延时子程序 使键的前沿抖动消失后再检测该键状态 如果该键仍保持闭合状态电平 则确认为该键已稳定按下 否则无键按下 从而消除了抖动的影响 同理 在检测到按键释放后 也同样要延迟一段时间 以消除后沿抖动 然后转入对该按键的处理 这种方案成本低而且较为容易实现 所以在实际应用中常采用该方案 6 1 1键盘接口需要解决的问题 6 1 2独立式按键 在独立连接式非编码键盘中 每个按键都是彼此独立的 均需占用CPU的一条I O输入数据线 图6 2为MCS 51对独立式非编码键盘的接口电路 如图6 2图中的每个按键均和MCS 51的P1口中一条相连 若没有按键按下 MCS 51从P1口读得引脚电均为 1 若某一按键按下 则该健所对应的端口线变为低电平 单片机定时对P1口进行程序查询 即可发现键盘是否键按下以及哪个按键按下 6 1 2独立式按键 图6 2独立式非编码键盘接口电路 解 资源分配用P1口的低3位 P1 2 P1 0 检测3个按键的输入 0 表示相应按键被按下1 表示按键没有按下 如右边流程图 ORG0000HKB MOVP1 0FFH P1口作为输入状态MOVA P1 读P1口状态按键按下 0 按键没有按下 1CPLA 取反ANLA 07H 取低4位00000111 6 1 2独立式按键 例1 用P1口检测三个按键的状态并完成相应的功能 JZKB A 0 上一句A 00000000 CPL前11111111没有键按下LCALLD10MS 延时10msMOVA P1CPLAANLA 07HJZKB 再判断一次CJNEA 01H KB01 00000001进入的条件是A不等于0LCALLPGM1 A 01H 调用键1的功能子程序SJMPKB 6 1 2独立式按键 KB01 CJNEA 02H KB02 00000010LCALLPGM2 调用键2的功能子程序SJMPKBKB02 CJNEA 04H KB 00000100LCALLPGM3 调用键3的功能子程序SJMPKBEND独立式非编码键盘的特点 一线一键 按键识别 编程 简单 但占用较多口线 适合8键以下使用 6 1 2独立式按键 6 1 3矩阵式按键 矩阵式按键是一种把所有按键排列成行列矩阵的键盘 在这种键盘中 每根行线和列线的交叉处都接有一个按键 每当某个按键被按下时 与这个按键相连的行线和列线就会接通 否则是断开状态 因此 一个MXN的行列式矩阵键盘只需M条行线和N条列线 共占用M N条单片机的I O端口线 MCS 51对矩阵式键盘的接口电路图6 3所示 6 1 3矩阵式按键 图6 3矩阵式键盘的接口电路 1 判别有无按键按下 2 扫描获取闭合键的行 列值 3 用计算法或查表法得到键值 4 判断闭合键释放否 如没释放则继续等待 5 保存闭合键号 6 1 3矩阵式按键 键盘扫描子程序一般包括以下内容 SERCH MOVR2 0EFHMOVR3 00HLINE0 MOVA R2MOVP1 AMOVA P1JBACC 3 LINE1MOVA 00HAJMPTRYKLINE1 JBACC 2 LINE2MOVA 04HAJMPTRYK 6 1 3矩阵式按键 LINE2 JBACC 1 LINE3MOVA 08HAJMPTRYKLINE3 JBACC 3 LINE4MOVA 0CHAJMPTRYKLINE4 INCR3MOVA R2RLAJNBACC 3 BACKMOVR2 AAJMPLINE0TRYK ADDA R3BACK RET 6 1 3矩阵式按键 6 2LED数码管接口 LED发光二极管 LightEmittingDiode 显示器有多种结构形式 单段的圆形或方形LED常用来显示设备的运行状态 8段LED可以显示各种数字和字符 所以也称为LED数码管 LED的伏安特性类似于普通二极管 正常工作电流Ig为5 20mA 压降Vg为1 5 2 0V左右 8段LED在控制系统中应用最为广泛 其接口电路也具有普遍借鉴性 利用PN结把电能转换成光能的固体发光器件 根据制造材料的不同可以发出红 黄 绿 白等不同色彩的可见光来 分为单联 双联 四联LED管 图6 4LED数码管接口电路 a b 6 2LED数码管接口 单片机系统扩展LED数码管时多用共阳LED 记忆 共阳数码管每个段笔画是用低电平 0 点亮的 要求驱动功率很小 共阴数码管段笔画是用高电平 0 点亮的 要求驱动功率较大 通常每个段码要串一个数百欧姆 390 的限流电阻 6 2LED数码管接口 6 2 1LED数码管译码 硬件译码特点 1 采用专用的译码 驱动器件 驱动功率较大 2 增加了硬件的开销 3 软件编程简单 4 字型固定 比如 只有七段 只可译数字 字型不好 一 硬件译码 图6 5硬件译码接口 二 软件译码 软件译码特点 1 不用专用的译码 驱动器件 驱动功率较小 2 不增加硬件的开销 3 软件编程较复杂 4 字型灵活 比如 有八段 只可译多种字符 字型好看 图6 6软件译码接口 6 2 1LED数码管译码 6 2 2LED数码管显示方式 静态显示 各数码管在显示过程中持续得到送显信号 与各数码管接口的I O口线是专用的 无闪烁 使用的元器件较多 占I O线多 无须扫描 节省CPU时间 编程简单 连接 所有LED的位选均共同连接到 Vcc或GND 每个LED的8根段选线分别连接一个8位并行I O口 从该I O口送出相应的字型码显示字型 特点 原理简单 显示亮度强 无闪烁 占用I O资源较多 控制系统中的LED显示电路 除了要完成把字符转换成对应的段选码的译码功能以外 还要具有数据锁存与驱动的功能 其中 译码功能可以通过硬件译码器完成 也可通过软件编程实现 而数据锁存与驱动只有依赖硬件电路来实现 静态显示方式的关键是多个LED需与多个I O并行口相连 一般的并行I O口如8255A或锁存器只具备锁存功能 还要有硬件驱动电路 再配以软件译码程序 6 2 2LED数码管显示方式 图6 7LED组合的静态显示电路 6 2 2LED数码管显示方式 例2 4个LED组合的静态显示电路如图6 7所示 首先由I O口 1 送出数字3的段选码4FH 即数据01001111到左边第一个LED的段选线上 阳极接受到高电平 1 的发光管g d c b a段因为有电流流过则被点亮 则结果为左边第一个LED显示3 接着由I O口 2 送出数字4的段选码66H 即数据01100110到左边第二个LED的段选线上 阳极接受到高电平 1 的共阴极发光管g f c b段则被点亮 则结果为左边第二个LED显示4 同理 由I O口 3 送出数字5的段选码6DH 即01101101到左边第三个LED的段选线上 由I O口 4 送出数字6的段选码7DH 即01111101到左边第四个LED的段选线上 则第三 四个LED分别显示5 6 6 2 2LED数码管显示方式 图6 874LS164驱动LED数码管电路 有几个LED就要几个74LS164串入并出的芯片 但只要数据不变 送一次就保持住了 且不闪烁 编程十分简单 6 2 2LED数码管显示方式 例3 LED数码管静态显示举例 要求 根据图6 8编写通过串行口和74LS164驱动共阳LED数码管查表显示的子程序 条件 系统有6个LED数码管 待显数据 00H 09H 已放在内部RAM35H 30H单元中 分别对应十万位 个位 DSPLY MOVDPTR TABLE 共阳LED数码管译码表首址MOVR0 30H 待显数据缓冲区的个位地址REDO MOVA R0 通过R0实现寄存器间接寻址MOVCA A DPTR 查表MOVSBUF A 经串行口发送到74LS164JNBTI 查询送完一个字节的第8位 6 2 2LED数码管显示方式 CLRTI 为下一字节发送作准备 分析 看懂 INCR0 R0指向下一个数据缓冲单元CJNER0 36H REDO 判断是否发完6个数 RET 发完6个数就返回TABLE DB0C0H 0F9H 0A4H 0B0H 99H 0 9共阳LED译码表DB92H 82H 0F8H 80H 90H 6 2 2LED数码管显示方式 动态显示 各数码管在显示过程中轮流得到送显信号 与各数码管接口的I O口线是共用的 有闪烁 使用的元器件较少 占I O线少 必须扫描 花费CPU时间 编程复杂 有多个LED时尤为突出 LED动态显示电路如下图6 9所示 图6 9LED动态显示电路 6 2 2LED数码管显示方式 要求 根据图6 9编写通过串行口和74LS164驱动共阳LED数码管查表显示的子程序 条件 系统有6个LED数码管 待显数据 00H 09H 已放在内部RAM35H 30H单元中 分别对应十万位 个位 DSPLY MOVDPTR TABLE 共阳LED数码管译码表首址MOVR0 30H 待显数据缓冲区的个位地址REDO MOVA R0 通过R0实现寄存器间接寻址MOVCA A DPTR 查表MOVSBUF A 经串行口发送到74LS164JNBTI 查询送完一个字节的第8位 6 2 2LED数码管显示方式 CLRTI 为下一字节发送作准备 分析 看懂 INCR0 R0指向下一个数据缓冲单元CJNER0 36H REDO 判断是否发完6个数 RET 发完6个数就返回TABLE DB0C0H 0F9H 0A4H 0B0H 99H 0 9共阳LED译码表DB92H 82H 0F8H 80H 90H 6 2 2LED数码管显示方式 电路的接法决定了必须采用逐位扫描显示方式 即从段选口 段控 送出某位LED的字型码 然后选通该位LED 位控 并保持一段延时时间 1ms记忆 最后选通下一位 直到所有位扫描完 要注意的两个问题 1 字型码通常通过查表指令MOVC来求得 2 换位显示时通常要加一些软件代码使所有的LED全灭 硬件连接 所有LED的段控线共同连接在一起共用一个8位I O口 而每个LED的位控线分别由一根相应的I O口线控制 因此必须采用动态扫描显示方式 每一个时刻只选通其中一个数码管 同时在段选口送出该位LED的字型码 6 2 2LED数码管显示方式 图6 10C51与LED显示电路 6 2 2LED数码管显示方式 例4 动态显示举例 工作原理 从P0口送段代码 P1口送位选信号 段码虽同时到达6个LED 但一次仅一个LED被选中 利用 视觉暂留 每送一个字符并选中相应位线 延时一会儿 再送 选下一个循环扫描即可 视觉的暂留效应原理 什麽场面被人看了一眼 这场面都会在人的眼里停留0 1秒 电影在1秒中拍摄24张照片 所以在播放时 里面的事物总是移动的 要求 此处为共阴数码管 P0口送段码 P1口送位选信号 通过查表实现动态显示 条件 待显数据00H 09H已放在7AH 7FH 数据缓冲区 显示缓冲区 单元中 分别对应十万位 个位 说明 由于用了反相驱动器7406 要用共阳译码表 6 2 2LED数码管显示方式 6 3MCS 51与液晶接口 液晶显示器简称LCD显示器 它是利用液晶经过处理后能改变光线的传输方向的特性实现显示信息 液晶显示器按其功能可分为三类 笔段式液晶显示器 字符点阵式液晶显示器和图形点阵式液晶显示器 前两种可显示数字 字符和符号等 而图形点阵式液晶显示器还可以显示汉字和任意图形 达到图文并茂的效果 目前市面上常用的有16字1行 16字2行 20字2行和40字2行等的字符液晶显示模块 这些LCD虽然显示字数各不相同 但是都具有相同的输入输出界面 本节将以162字符型液晶显示模块RT 1602C为例 详细介绍字符型液晶显示模块的应用 如图6 11为液晶RT 1602C外形 图6 11字符型液晶RT 1602C外形 6 3MCS 51与液晶接口 RT 1602C采用标准的16脚接口 各引脚情况如下 第1脚 VSS 电源地第2脚 VDD 5V电源第3脚 VL 液晶显示偏压信号第4脚 RS 数据 命令选择端 高电平时选择数据寄存器 低电平时选择指令寄存器 第5脚 R W 读 写选择端 高电平时进行读操作 低电平时进行写操作 当RS和R W共同为低电平时可以写入指令或者显示地址 当RS为低电平R W为高电平时可以读忙信号 当RS为高电平R W为低电平时可以写入数据 第6脚 E 端为使能端 当E端由高电平跳变成低电平时 液晶模块执行命令 第7 14脚 D0 D7 为8位双向数据线 第15脚 BLA 背光源正极第16脚 BLK 背光源负极 6 3MCS 51与液晶接口 6 3 1指令格式与指令功能 LCD控制器HD44780内有多个寄存器 通过RS和R W引脚共同决定选择哪一个寄存器 选择情况如表6 1 表6 1寄存器标志位 清屏命令格式 功能 清除屏幕 将显示缓冲区DDRAM的内容全部写入空格 ASCII20H 光标复位 回到显示器的左上角 地址计数器AC清零 6 3 1指令格式与指令功能 总共有11条指令 它们的格式和功能如下 2 光标复位命令 格式 功能 设定当写入一个字节后 光标的移动方向以及后面的内容是否移动 当I D 1时 光标从左向右移动 I D 0时 光标从右向左移动 当S 1时 内容移动 S 0时 内容不移动 6 3 1指令格式与指令功能 3 输入方式设置命令 格式 功能 设定当写入一个字节后 光标的移动方向以及后面的内容是否移动 当I D 1时 光标从左向右移动 I D 0时 光标从右向左移动 当S 1时 内容移动 S 0时 内容不移动 6 3 1指令格式与指令功能 4 显示开关控制命令 格式 功能 控制显示的开关 当D 1时显示 D 0时不显示 控制光标开关 当C 1时光标显示 C 0时光标不显示 控制字符是否闪烁 当B 1时字符闪烁 B 0时字符不闪烁 6 3 1指令格式与指令功能 5 光标移位置命令 格式 功能 移动光标或整个显示字幕移位 当S C 1时整个显示字幕移位 当S C 0时只光标移位 当R L 1时光标右移 R L 0时光标左移 6 3 1指令格式与指令功能 6 功能设置命令 格式 功能 设置数据位数 当DL 1时数据位为8位 DL 0时数据位为4位 设置显示行数 当N 1时双行显示 N 0时单行显示 设置字形大小 当F 1时5 10点阵 F 0时为5 7点阵 6 3 1指令格式与指令功能 7 设置字库CGRAM地址命令 格式 功能 设置用户自定义CGRAM的地址 对用户自定义CGRAM访问时 要先设定CGRAM的地址 地址范畴0 63 6 3 1指令格式与指令功能 8 显示缓冲区DDRAM地址设置命令 格式 功能 设置当前显示缓冲区DDRAM的地址 对DDRAM访问时 要先设定DDRAM的地址 地址范畴0 127 6 3 1指令格式与指令功能 9 读忙标志及地址计数器AC命令 格式 功能 读忙标志及地址计数器AC 当BF 1时则表示忙 这时不能接收命令和数据 BF 0时表示不忙 低7位为读出的AC的地址 值为0 127 6 3 1指令格式与指令功能 10 写DDRAM或CGRAM命令 格式 功能 向DDRAM或CGRAM当前位置中写入数据 对DDRAM或CGRAM写入数据之前须设定DDRAM或CGRAM的地址 6 3 1指令格式与指令功能 11 读DDRAM或CGRAM命令 格式 功能 从DDRAM或CGRAM当前位置中读邮数据 当DDRAM或CGRAM读出数据时 先须设定DDRAM或CGRAM的地址 6 3 1指令格式与指令功能 6 3 2LCD显示器与单片机的接口与应用 如图6 12是LCD显示器与MCS 51单片机的接口图 图中RT 1602C的数据线与MCS 51的P1口相连 RS与8051的P2 0相连 R W与8051的P2 1相连 E端与MCS 51的P2 7相连 编程在LCD显示器的第1行第1列开始显示 GOOD 第2行第6列开始显示 BYE 图6 12MCS 51与LCD显示电路 6 3 2LCD显示器与单片机的接口与应用 汇编语言程序 RSBITP2 0RWBITP2 1EBITP2 7ORG00HAJMPSTARTORG50H 主程序 START MOVSP 50HACALLINITMOVA 10000000B 写入显示缓冲区起始地址为第1行第1列 ACALLWC51R 6 3 2LCD显示器与单片机的接口与应用 MOVA G 第1行第1列显示字母 G ACALLWC51DDRMOVA O 第1行第2列显示字母 O ACALLWC51DDRMOVA O 第1行第3列显示字母 O ACALLWC51DDRMOVA D 第1行第4列显示字母 D ACALLWC51DDRMOVA 11000101B 写入显示缓冲区起始地址为第2行第6列 ACALLWC51R 6 3 2LCD显示器与单片机的接口与应用 MOVA B 第2行第6列显示字母 B ACALLWC51DDRMOVA Y 第2行第7列显示字母 Y ACALLWC51DDRMOVA E 第2行第8列显示字母 E ACALLWC51DDRLOOP AJMPLOOP 初始化子程序INIT MOVA 00000001H 清屏ACALLWC51RMOVA 00111000B 使用8位数据 显示两行 使用5 7的字型 LCALLWC51RMOVA 00001110B 显示器开 光标开 字符不闪烁 6 3 2LCD显示器与单片机的接口与应用 LCALLWC51RMOVA 00000110B 字符不动 光标自动右移一格 LCALLWC51RRET 检查忙子程序F BUSY PUSHACC 保护现场PUSHDPHPUSHDPLPUSHPSWWAIT CLRRSSETBRWCLRESETBEMOVA P1 6 3 2LCD显示器与单片机的接口与应用 CLREJBACC 7 WAIT 忙 等待POPPSW 不忙 恢复现场POPDPLPOPDPHPOPACCACALLDELAYRET 写入命令子程序 WC51R ACALLF BUSYCLRECLRRSCLRRWSETBEMOVP1 ACCCLRE 6 3 2LCD显示器与单片机的接口与应用 ACALLDELAYRET 写入数据子程序 WC51DDR ACALLF BUSYCLRESETBRSCLRRWSETBEMOVP1 ACCCLREACALLDELAYRET 6 3 2LCD显示器与单片机的接口与应用 延时子程序 DELAY MOVR6 5D1 MOVR7 248DJNZR7 DJNZR6 D1RETEND 6 3 2LCD显示器与单片机的接口与应用 在工作控制和智能化仪表中 通常由微型计算机进行实时控制及实时数据处理 计算机所加工的信包总是数字量 而被控制或测量对象的有关参量往往是连续变化的模拟量 如温度 速度 压力等等 与此对应的电信号是模拟电信号 计算机要处理这种信号 首先必须将模拟量转换成数字量 这转换过程就是 模 数转换 A D 由计算机运算处理的结果 数字量 往往也需要转换为模拟量 以便控制对象 这一过程即为 数模转换 D A 6 4MCS 51与AD DA接口 6 4 1D A电路原理 D A转换是将数字量信号转换成模拟量信号的过程 D A转换的方法比较多 这里仅举一种权电阻D A转换法的方法 说明D A转换的过程 权电阻D填转换电路实质上是一只反相求和放人器 图6 13是4位二进制D A转换的示意图 电路由权电阻 位切换开关 反馈电阻和运算放大器组成 图6 134位二进制D A转换的示意图 6 4 1D A电路原理 权电阻的阻值按8 4 2 l的比例配置 按照运放的 虚地 原理 当开关D3 D0合上时 流经各权电阻的电流分别是vR 8R vR 4R vR 2R和vR lR 其中vR为基准电压 而这些电流是否存在则取决于开关的闭合状态 输出电压则是 其中D3 D0是输入一进制的相应位 其取值根据通断分别为0或1 显然 当D3 D0在0000 1111范围内变化时 输出电压值随返回值发生变化 这样 数字量的变化就转化成了电压 模拟量 的变化了 这里 由于仅有4位开关 所以这种变化是很粗糙的 从输出电压为0到输出电压为最高值仅有16档 显然 增加开关的个数和权电阻的个数 可以将电压的变化分得更细 一般 至少要有8个升关才比较实用 8个开关 就意味着输出量从最小到最大一共被分成256档了 6 4 1D A电路原理 6 4 2DAC0832芯片外部与内部特性 D A转换器有各种现成的集成电路 对使用者而言 关键是选择好合用的芯片以及掌握芯片与计算机的正确的连接方法 下面以常用的DAC0832为例作一说明 DAC0832是CMOS工艺制造的8位单片机D A转换器 图6 14为其引脚图和内部框架图如图6 15所示 DAC0832主要由两个8位寄存器和一个8位D A转换器组成 使用两个寄存器的好处是能简化某些应用中的硬件接口电路设计 图6 14DAC0832的引脚示意图架示意图 图6 15DAC0832的内部框 6 4 2DAC0832芯片外部与内部特性 该D A转换器为二十引脚双列直插封装 各引脚含义如下 D10 D7 数字量输入端 ILE 数据锁存允许信号 高电平有效 CS 输入寄存器选择信号 低电平有效 WR1 输入寄存器的写选通信号1 低电平有WR和CS ILE配合构成第一级输入锁存 WR2 输入寄存器的写选通信号2 低电平有效 XFER 数据转移控制信号 输入低有效 和丽配合构成第二级锁存 VR 基准电压输入线 Rfb 反馈信号输入线 在芯片内部已有反馈电阻 6 4 2DAC0832芯片外部与内部特性 Iout1和Iout2电流输出线 IOUT1和IOUT2的和为常数 IOUT随DAC寄存器的内容线性变化 VCC 工作电源DGND 数字地 AGND 模拟信号地 DA转换芯片输入的是数字量 模拟信号容易受到干扰 所以采用高精度的v 和独立的模拟地 以获得最好的效果 当然 这两种地最终还是要接在一起的 在布置印制板时 将这两路地线在电源处进行一点接地的处理 DAC0832是电流型输出 应用时要外接运算放大器使之成为电压型输出 6 4 2DAC0832芯片外部与内部特性 6 4 3DAC0832的应用 1 单缓冲方式应用图6 16是DAC0832的典型应用系统 系统只有一路输出 采用单缓冲方式 在这种方式F 将二级寄存器的控制信号并接即可 输入数据在控制信号的作用下 直接进入ADC0832的控制寄存器 START MOVDPTR 0EFFFH MOVA 00H LOOP MOVX DPTR A INCAAJMPLOOP上面的程序中 A的值从一开始的0开始加 由O变到FFH 输出电压也随之由0v变到最大输出 然后A中的值 FFH 加1之后变成0 输出电压又加到0 这样就形成了一个锯齿波 图6 16DAC0832的典型应用图 6 4 3DAC0832的应用 2 双缓冲方式应用DAC0832也可以方便地工作于双缓冲模式 也适用于同时输出两路或多路模拟信号 并且这些信号必须同步的情形 6 4 3DAC0832的应用 6 4 4模数转换接口 模 数转换电路的种类很多 选择A D转换器件主要从速度 精度和价格等方面进行考虑 根据A D转换器的工作原理 可分为下面的三种类型 1 并行A D变换器 速度高 价格也很昂贵 用于高速 如视频处理 场合 2 次逼近型A D转换器 精度 速度 价恪方面比较折衷 是最常用的一种A D转换器件 3 积分型A D转换器 精度高 抗十扰能力强 价格低 但是是速度幔 常用于测量仪表等场合 6 4 5ADC0809的内部结构与外特性 ADC0809是CMOS工艺次逼近型A D转换器 其字长为8位 可8路输入模拟量分时转换的组成芯片 图6 17是ADC0809的外部引脚配置图 图6 18是AD0809内部框架图 图6 17ADC0809的外部引脚配置图图6 18AD0809内部框架 1 主要特性 1 8路8位A D转换器 即分辨率8位 2 具有转换起停控制端 3 转换时间为100 s4 单个 5V电源供电5 模拟输入电压范围0 5V 不需零点和满刻度校准 6 工作温度范围为 40 85摄氏度7 低功耗 约15mw 6 4 5ADC0809的内部结构与外特性 2 内部结构 单片型逐ADC0809是CMOS次逼近式A D转换器 内部结构如图6 18所示 它由8路模拟开关 地址锁存与译码器 比较器 8位开关树型D A转换器 逐次逼近组成 3 外部特性 引脚功能 ADC0809芯片有28条引脚 采用双列直插式封装 如图6 17所示 下面说明各引脚功能 IN0 IN7 8路模拟量输入端 D1 D8 8位数字量输出端 ADDA ADDB ADDC 3位地址输入线 用于选通8路模拟输入中的一路 ALE 地址锁存允许信号 输入 高电平有效 START A D转换启动信号 输入 高电平有效 6 4 5ADC0809的内部结构与外特性 EOC A D转换结束信号 输出 当A D转换结束时 此端输出一个高电平 转换期间一直为低电平 OE 数据输出允许信号 输入 高电平有效 当A D转换结束时 此端输入一个高电平 才能打开输出三态门 输出数字量 CLK 时钟脉冲输入端 要求时钟频率不高于640KHZ REF REF 基准电压 Vcc 电源 单一 5V GND 地 6 4 5ADC0809的内部结构与外特性 ADC0809的工作过程是 首先输入3位地址 并使ALE 1 将地址存入地址锁存器中 此地址经译码选通8路模拟输入之一到比较器 START上升沿将逐次逼近寄存器复位 下降沿启动A D转换 之后EOC输出信号变低 指示转换正在进行 直到A D转换完成 EOC变为高电平 指示A D转换结束 结果数据已存入锁存器 这个信号可用作中断申请 当OE输入高电平时 输出三态门打开 转换结果的数字量输出到数据总线上 6 4 5ADC0809的内部结构与外特性 6 4 6MCS 51单片机配置ADC0809的硬件接口 图6 19是ADC0809与MCS 51单片机的接口电路图 图6 19ADC0809与MCS 51单片机的接口电路图 地址线与数据线的连接ADC0809的输出部份有三态缓冲器 可以直接和数据总线相连 ADC0809的地址选择信号线ADDA ADDB ADDC可以与地址线中的任意三根相连 图中与ADO ADl AD2相连 时钟线的连接 ADC0809工作时必须外接时钟 如果单片机的主振频率为6M 就可以直接借用ALE信号来作为ADC0809的时钟信号 当不使用MOVX类指令叫 ALE是时钟频率的6分频 在6M晶振的频率下 ALE的频率是lM 如果用了更高频率 如12M 的晶振 用ALE作为ADC0809的时钟就不恰当了 可以把ALE二分频之后再提供给ADC0809 也可以用555之类的震荡电路做个时钟发生器 控制信号的连接ADC0809所要求的或者所提供的都是高电平有效信号 而MCS 5l能够提供或者需要的却是低电下有效信号 所以必须用一门电路进行转换 6 4 6MCS 51单片机配置ADC0809的硬件接口 例5 利用中断方式编写程序 将8个模拟量信号轮流采集一遍 并依次将转换后的结果放在MCS 5l单片机的30H升始的单元中 ORG0000HJMPMAINORG13H 外中断1入口地址JMPADINT 转到中断服务程序ORG30HMAIN MOVR0 30H 存储区首地址SETBIT1 下降沿中断SETBEA 开总中断SETBEX1 开外部中断1 6 4 6MCS 51单片机配置ADC0809的硬件接口 MOVR3 08H 共有8个通道MOVDPTR 0FF0H 指向通道0MOVX DPTR A 启动转换LOOP SJMPLOOP 等待转换的结果ADINT PUSHPSWPUSHACC 入堆栈保护MOVXA DPTR 读转换结果MOV R0 A 存转换结果INCDPTR 指向下一通道INCR0 存储数据区指针加1DECR3 减去1次CJNER3 0 AD1 和0比较 如果没到则转 6 4 6MCS 51单片机配置ADC0809的硬件接口 MOVR0 30H 指向数据区首地址MOVR3 8 转换次数恢复JMPADRET 不再启动转换 直接返回AD1 MOVX DPTA A 启动转换ADRET POPACCPOPPSW 出栈RET1 返回 6 4 6MCS 51单片机配置ADC0809的硬件接口 中断式数据采集比较节约主程序的时间 每一个通道的数据采集完成之后 启动下一次的转换 然后返回主程序 不用等8个通道全部完成 当8通道的采集工作完成 把所有的指针指向他们原来的位置 不再启动下一次转换 一般主程序是一个循环 会由主程序再次启动下一轮8个通道的数据采集工作 除了可以采用中断的方式之外 还可以用查询的方式进行转换 例6 条件同上 但用查询方式编程 下面子程序的形式给出 6 4 6MCS 51单片机配置ADC0809的硬件接口 MOVDPTR 0FF0H 指向通道0MOVR0 30H 数据区首地址MOVR3 08H 通道数LOOP MOVX DPTR A 启动转换HERE JBP3 3 HERE 查询一次转换是否结束MOVXA DOTR 读转换结果MOV R0 A 存转换结果INCR0 指向下一次存储单元INCDPTR 指向下一个通道DJNZR3 LOOP 8路数据未采集完 继续RET 6 4 6MCS 51单片机配置ADC0809的硬件接口 6 5MCS 51与8155并行扩展接口 8155芯片内包含有256字节RAM 2个8位 1个6位的可编程并行I O口 和1个14位定时器 计数器 由于8155既具有RAM又具有I O口 因而是单片机系统中最常用的外围接口芯片之一 8155共40个引脚 采用了双列直插的封装 主要引脚功能如下 AD7 AD0 地址数据总线 单片机和8155之间的地址 数据 命令 状态信息都是通过它来传送的 CE 片选信号线 低电平有效 RD 存储器读信号线 低电平有效 WR 存储器写信号线 低电平有效 ALE 地址及片选信号锁存信号线 高电平有效 在下降沿时将地址及片选信号锁存到器件中 IO M IO接口与存储器选择信号线 高电平选择I O 低电平选择存储器 PA7 PA0 A口输出 输入线 PB7 PB0 B口输出 输入线 6 5 1引脚说明 PC5 PC0 C口输出 输入或控制信号线 用作控制信号时其功能如下 1 PC0 AINTR A口中断信号线 2 PC1 ABF A口缓冲器满信号线 3 PC2 ASTB A口选通线 4 PC3 BINTR B口中断信号线 TIMERIN 定时器 计数器输入端 TIMEROUT 定时器 计数器输出端 RESET 复位信号线 8155引脚与逻辑如图6 20所示 当IO M 0 低电平时 表示AD7 AD0输入的
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 二零二五年度跨境贸易代理服务合同范本
- 2025版印刷设备维修保密协议
- 二零二五年度新型环保灰砂砖批量采购合同规范版
- 二零二五年度租赁房屋租赁押金及违约责任合同
- 2025版化工原材料采购与供应链管理合同
- 2025版环保企业安全生产管理与应急处理合同
- 2025版城市更新改造项目施工合同规范文本
- 二零二五年新型储能电站维护与保养服务协议
- 2025电梯维保安全协议书-高层住宅电梯全面保障合同
- 2025版钢结构厂房施工期道路通行与临时设施建设合同
- 2025届上海市(春秋考)高考英语考纲词汇对照表清单
- 合同延期协议模板
- 2025年广州市城市更新计划
- 医院创建平安医院领导小组职责
- 光源与照明工程师月工作总结
- 《腰椎病的推拿疗法》课件
- 呼吸衰竭完整课件
- 《T-ZGYSYJH 004-2022 产褥期妇女食养药膳技术指南》
- 齐河经济开发区马寨小区安置楼工程临时用电组织设计(5月10日改)
- 220kV变电站土建工程项目管理实施规划(第二版)
- 《计算机网络技术》(第三版)教学指南
评论
0/150
提交评论