




已阅读5页,还剩109页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
单片机原理及应用 C语言版 第9章单片机系统配置及接口 主编 周国运本章制作 鲁庆宾中国水利水电出版社 第9章单片机系统配置及接口 目录9 1键盘接口9 2LED显示接口9 3A D转换接口9 4D A转换接口9 5开关器件接口 本章要点单片机主要应用于测控系统中 应用系统通常需要人的干预 本章主要讲述键盘 显示器 A D转换器 D A转换器 开关器件等的工作原理及接口电路 第9章单片机系统配置及接口 图9 1单片机应用系统配置框图 9 1键盘接口 主要内容9 1 1键盘基本问题9 1 2键盘结构及处理程序9 1 3中断扫描方式 1 键的识别当按键K未被按下时 P1 0输入为高电平 当K闭合时 P1 0输入为低电平 9 1 1键盘基本问题 图9 2按键电路 2 键的抖动由于机械触点的弹性作用 按键在闭合时不会马上稳定地接通 在断开时也不会一下子断开 在闭合及断开的瞬间均伴随有一连串的抖动 如图9 3所示 抖动时间一般为5 10ms 抖动会引起一次按键被误读多次 为确保CPU对键的一次闭合仅做一次处理 必须去除键抖动 9 1 1键盘基本问题 9 1 1键盘基本问题 图9 3按键时的抖动 9 1 1键盘基本问题 一 独立式键盘独立式按键是指各按键相互独立地接通一条输入数据线 当任何一个键按下时 与之相连的输入数据线即可读入数据0 而没有按下时读入1 9 1 2键盘结构及处理程序 Kkkk用较多的I O线 图9 4独立式键盘 例9 1设计一个独立式按键的键盘接口 并编写键扫描程序 电路原理图如图9 4所示 键号从上到下分别为0 7 C语言程序清单 includevoidkey unsignedchark P1 0 xff 输入时P1口置全1k P1 读取按键状态if k 0 xff 无键按下 返回return delay20ms 有键按下 延时去抖 9 1 2键盘结构及处理程序 k P1 if k 0 xff 确认键按下return 抖动引起 返回while P1 0 xff 等待键释放switch k case 0 xfe 0号键按下时执行程序段break case 0 xfd 1号键按下时执行程序段break 9 1 2键盘结构及处理程序 2 6号键程序省略case 0 x7f 7号键按下时执行程序段break 汇编语言程序清单 KEY MOVP1 0FFH P1口为输入口MOVA P1 读取按键状态CPLA 取正逻辑JZEKEY 无键按下 返回 9 1 2键盘结构及处理程序 LCALLDELAY20MS 有键按下 去抖MOVA P1CPLAJZEKEY 抖动引起 返回MOVB A 存键值KEY1 MOVA P1 以下等待键释放CPLAJNZKEY1 未释放 等待MOVA B 取键值送AJBACC 0 PKEY0 K0按下转PKEY0JBACC 1 PKEY1 K1按下转PKEY1 9 1 2键盘结构及处理程序 JBACC 7 PKEY7 K7按下转PKEY7EKEY RETPKEY1 LCALLK0 K0命令处理程序RETPKEY2 LCALLK1 K1命令处理程序RET PKEY4 LCALLK7 K7命令处理程序RET 9 1 2键盘结构及处理程序 二 行列式键盘为了减少键盘与单片机接口时所占用I O线的数目 在键数较多时 通常都将键盘排列成行列矩阵形式 每一水平线 行线 与垂直线 列线 的交叉处通过一个按键来连通 图9 54 4矩阵键盘接口 利用这种结构只需N条行线和M条列线 即可组成具有N M个按键的键盘 9 1 2键盘结构及处理程序 图9 54 4矩阵键盘接口 9 1 2键盘结构及处理程序 1 行扫描法工作原理 查询法 判别键盘中有无键按下 向行线输出全0 读入列线状态 如果有键按下 总有一列线被拉至低电平 从而使列输入不全为1 查找按下键所在位置 依次给行线送低电平 查列线状态 全为1 则所按下的键不在此行 否则所按下的键必在此行且是在与零电平列线相交的交点上的那个键 对按键位置进行编码 找到所按下按键的行列位置后 对按键进行编码 即求得按键键值 9 1 2键盘结构及处理程序 2 键盘扫描识别子程序C语言程序清单 includecharkey charrow col k 1 定义行 列 返回值P1 0 xf0 if P1 抖动引起 返回 9 1 2键盘结构及处理程序 for row 0 row 4 row 行扫描 P1 1 row 扫描值送P1k P1 返回键值 9 1 2键盘结构及处理程序 3 行列反转法工作原理判别键盘中有无键按下 方法同行扫描法 输入变输出 再读 将上一步读取到的列线输入值从列线输出 读取行线值 定位求键值 根据上一步输出的列线值和读取到的行线值就可以确定所按下键所在的位置 从而查表确定键值 9 1 2键盘结构及处理程序 4 行列反转法识别子程序 优点 消抖 C语言程序代码 includecharkey charcodekeycode 0 xee 0 xde 0 xbe 0 x7e 0 xed 0 xdd 0 xbd 0 x7d 0 xeb 0 xdb 0 xbb 0 x7b 0 xe7 0 xd7 0 xb7 0 x77 键盘表 定义16个按键的行列组合值 9 1 2键盘结构及处理程序 charrow col k 1 i 定义行 列 返回值 循环控制变量P1 0 xf0 if P1 列值输出 读取行值 9 1 2键盘结构及处理程序 查找行列组合值在键盘表中位置for i 0 i 16 i if row col keycode i 找到 i即为键值 否则 返回 1key i 对重复键 该方法break 处理为无键按下 P1 0 xf0 while P1 返回键值 9 1 2键盘结构及处理程序 9 1 3中断扫描方式 为了提高CPU的效率 可以采用中断扫描工作方式 即只有在键盘有键按下时才产生中断申请 CPU响应中断 进入中断服务程序进行键盘扫描 并做相应处理 也可以采用定时扫描方式 即系统每隔一定时间进行键盘扫描 并做相应处理 9 1 3中断扫描方式 图9 6中断方式键盘接口 9 2LED显示接口 主要内容9 2 1LED显示器结构原理9 2 2LED显示器接口及显示方式9 2 3LED显示器与89C52接口及显示子程序 9 2 1LED显示器结构原理 单片机中通常使用7段LED构成字型为 8 且加一个小数点的数码管 以显示数字 符号及小数 常见数码管如下图 显示器有共阴极和共阳极两种 发光二极管的阳极连在一起的称为共阳极显示器 阴极连在一起的称为共阴极显示器 一位显示器由8个发光二极管组成 其中 7个发光二极管构成字型 8 的各个笔划 另一个为小数点 当在某段发光二极管上施加一定的正向电压时 该段笔划即亮 不加电压则暗 9 2 1LED显示器结构原理 以共阴极显示器为例 当a b c三段送1时 数码管显示数字7 c 引脚配置外形图 b 共阳极 a 共阴极 9 2 1LED显示器结构原理 P0 0 xff用于测试 表9 1共阴极和共阳极7段LED显示字型编码表 以上为8段 8段最高位为小数点段 表中为小数点不点亮段码 9 2 1LED显示器结构原理 9 2 2LED显示器接口及显示方式 LED有静态显示 占用端口多 编程简单 和动态显示两种方式 1 LED静态显示方式静态显示就是当显示器显示某个字符时 相应的段 发光二极管 恒定地导通或截止 直到显示另一个字符为止 共阴极 公共端K0 接地 共阳极 公共端K0 接 5V电源 每位的段选线 a dp 分别与一个8位锁存器的输出口相连 显示器中的各位相互独立 优点 亮度较高 编程容易 管理简单 缺点 但占用I O口线资源较多 2 LED动态显示方式 视觉暂留 在多位LED显示时 为了简化电路 降低成本 将所有位的段选线并联在一起 由一个8位I O口控制 而共阴 或共阳 极公共端K分别由相应的I O线控制 实现各位的分时选通 图9 8为6位共阴极LED动态显示接口电路 9 2 2LED显示器接口及显示方式 图9 86位LED动态显示接口电路 9 2 2LED显示器接口及显示方式 各位扫描显示 由于6位LED所有段选线皆由P1口控制 要想每位显示不同的字符 就必须采用扫描方法轮流点亮各位LED 在每一瞬间只使某一位显示字符 段选码 位选码控制 P1口输出相应字符段选码 P2口在该显示位送入选通电平 保证该位显示相应字符 如此轮流 扫描延时 段选码 位选码每送入一次后延时1ms 保证每位有一定亮度 因人眼的视觉暂留效果 看上去每个数码管总在亮 9 2 2LED显示器接口及显示方式 配合锁存器 避免亮度不均 刷新 硬件复杂移位寄存器2串口通讯 9 2 3显示器与89C52接口及显示子程序 下页图为89C52P1口和P2口控制的6位共阴极LED动态显示接口电路 P1口输出段选码 P2口输出位选码 位选码占用输出口的线数决定于显示器位数 74LS245是双向8位缓冲器 在此分别作为段选和位选驱动器 逐位轮流点亮各个LED 每一位保持1ms 在10 20ms之内再一次点亮 重复不止 这样 利用人的视觉暂留 好像6位LED同时点亮一样 图9 9数码管动态显示接口 9 2 3显示器与89C52接口及显示子程序 C语言程序清单 includeunsignedcharcodeLED 0 x3f 0 x06 0 x5b 0 x4f 0 x66 0 x6d 0 x7d 0 x07 0 x7f 0 x6f unsignedcharbuf 6 定义字型码和显示缓冲区voiddisp unsignedchari for i 0 i i 位码送P2口delay1ms 延时1ms 9 2 3显示器与89C52接口及显示子程序 汇编语言程序清单 DISP MOVR0 DISPBUF R0指向显示缓冲区MOVR2 0DFH 位码送R2MOVR3 6 6位显示MOVDPTR TAB DPTR指向段码表LOOP MOVP2 R2 位码送P2口MOVA R0 取显示数据MOVCA A DPTR 取出字型码MOVP1 A 送出显示LCALLDELAY1MS 延时1msINCR0 数据缓冲区地址加1MOVA R2RRA 位码右移一位MOVR2 A 9 2 3显示器与89C52接口及显示子程序 DJNZR3 LOOP 扫描到最左边显示位 RETTAB DB3FH 06H 5BH 4FH 66HDB6DH 7DH 07H 7FH 6FH 9 2 3显示器与89C52接口及显示子程序 9 3A D转换接口 主要内容9 3 1多通道串行输出A D芯片TLC2543及接口9 3 2逐次逼近型并行输出A D转换器及接口9 3 3单片机内部集成的A D转换器 模 数 A D 转换的方式 有很多种 例如 计数比较型 逐次逼近型 双积分型等 选择A D转换器件主要是从速度 精度和价格上考虑 A D转换器的输出方式 有串行 并行方式 并且有些增强型的单片机在片内也集成有A D转换器 9 3A D转换接口 9 3 1多通道串行输出A D芯片TLC2543及接口 TLC2543是TI公司生产的串行A D转换器 它具有输入通道多 精度高 速度高 使用灵活和体积小的优点 TLC2543为CMOS型12位开关电容逐次逼近A D转换器 片内含有一个14通道多路器 可从11个模拟输入或3个内部自测电压中选择一个 TLC2543与微处理器的接线用SPI接口只有4根连线 其外围电路也大大减少 TLC2543的特性如下 12位A D转换器 可8位 12位和16位输出 在工作温度范围内转换时间为l0 s 11通道输入 3种内建的自检模式 片内采样 保持电路 最大 1 4096的线性误差 9 3 1多通道串行输出A D芯片TLC2543及接口 内置系统时钟 转换结束标志位 单 双极性输出 输入 输出的顺序可编程 高位或低位在前 可支持软件关机 输出数据长度可编程 9 3 1多通道串行输出A D芯片TLC2543及接口 1 TLC2543的片内结构及引脚功能TLC2543片内由通道选择器 数据 地址和命令字 输入寄存器 采样 保持电路 12位的模 数转换器 输出寄存器 并行到串行转换器以及控制逻辑电路7个部分组成 TLC2543片内结构如图9 11所示 9 3 1多通道串行输出A D芯片TLC2543及接口 图9 11TLC2543片内结构框图 9 3 1多通道串行输出A D芯片TLC2543及接口 TLC2543的引脚意义如下 AIN0 AIN10模拟输入通道 CS片选端 DIN串行数据输入 DOUT转换结束数据输出 EOC转换结束信号 GND地 SCLK I OCLOCK 输入 输出同步时钟 REF REF 转换参考电压 VCC设备的电源 9 3 1多通道串行输出A D芯片TLC2543及接口 2 TLC2543的命令字TLC2543的每次转换都必须给其写入命令字 以便确定下一次转换用哪个通道 下次转换结果用多少位输出 转换结果输出是低位在前还是高位在前 命令字的输入采用高位在前 命令字如下 输入到输入寄存器中的8位编程数据选择器件输入通道和输出数据的长度及格式 其选择格式如下表 9 3 1多通道串行输出A D芯片TLC2543及接口 表9 2输入寄存器命令字格式 9 3 1多通道串行输出A D芯片TLC2543及接口 注 X表示无关项 9 3 1多通道串行输出A D芯片TLC2543及接口 3 TLC2543与89C52的SPI接口及程序 图9 12TLC2543和89C52的接口电路 9 3 1多通道串行输出A D芯片TLC2543及接口 TLC2543提供SPI接口 对于89C52 须用软件合成SPI操作来和TLC2543接口 TLC2543的I OCLOCK DIN和两端由单片机的P1 0 P1 1和P1 3提供 TLC2543转换结果的输出 DOUT 数据由P1 2接收 89C52将用户的命令字通过P1 1输入到TLC2543的输入寄存器中 等待20 s开始读数据 同时写入下一次的命令字 9 3 1多通道串行输出A D芯片TLC2543及接口 TLC2543与89C52的8位数据传送程序TLC2543与89C52进行1次8位数据传送 选用AIN0 即采集1次 高位在前 C语言程序清单 include includesbitCS P1 3 sbitCLK P1 0 sbitDIN P1 1 sbitDOUT P1 2 定义函数 输入参数为命令字 输出转换结果 9 3 1多通道串行输出A D芯片TLC2543及接口 unsignedcharTLC2543 unsignedcharcommand unsignedchari result 0 CS 0 片选有效for i 0 i i 命令字按位送出result 1 result DOUT 按位接收转换结果CLK 1 产生一个时钟 nop 高电平有一定宽度CLK 0 returnresult 返回转换结果 9 3 1多通道串行输出A D芯片TLC2543及接口 汇编语言程序清单 TLC2543 MOVR4 04H 控制字 AIN0 8位MOVA R4CLRP1 3 片选有效 选中2543MSB MOVR5 08H 传送8位LOOP MOVP1 04H P1 2为输入MOVC P1 2 读结果到C中RLCA 带进位循环左移MOVP1 1 C 将控制字 ACC中 的一位经DIN送入 9 3 1多通道串行输出A D芯片TLC2543及接口 SETBP1 0 产生一个时钟NOPCLRP1 0DJNZR5 LOOPMOVR2 A 将转换的数据存入R2RET执行上述子程序 经8次循环 执行 RLCA 指令8次 最后命令字00000100经P1 1 DIN进入TLC2543的输入寄存器 8位A D转换数据 读入累加器 9 3 1多通道串行输出A D芯片TLC2543及接口 9 3 2逐次逼近型并行输出A D转换器及接口 1 ADC0809的片内结构及引脚功能ADC0809是CMOS工艺 采用逐次逼近法的8位A D转换芯片 多路开关有8路模拟量输入端 最多允许8路模拟量分时输入 共用一个A D转换器进行转换 图9 13为ADC0809的内部逻辑结构图 它由8路模拟开关 8位A D转换器 三态输出锁存器以及地址锁存译码器等组成 图9 13ADC0809内部逻辑结构结构 9 3 2逐次逼近型并行输出A D转换器及接口 引脚功能说明如下 IN0 IN7 8个通道的模拟输入端 D0 D7 8位数字量输出端 START 启动信号 ALE 地址锁存信号 EOC 转换结束信号 OE 输出允许控制端 CLOCK 时钟信号 VREF 和VREF A D转换器的参考电压 VCC电源电压 9 3 2逐次逼近型并行输出A D转换器及接口 8位模拟开关地址输入通道的关系见表9 3 模拟开关的作用和8选1的CD4051作用相同 表9 38位模拟开关功能表 9 3 2逐次逼近型并行输出A D转换器及接口 2 ADC0809与89C52接口ADC0809芯片的转换速度在最高时钟频率下为100 s左右 ADC0809与89C52连接可采用查询方式 也可采用中断方式 图9 14为中断方式连接电路图 由于ADC0809片内有三态输出锁存器 因此可直接与89C52接口 9 3 2逐次逼近型并行输出A D转换器及接口 图9 14ADC0809与89C52的连接 9 3 2逐次逼近型并行输出A D转换器及接口 这里将ADC0809作为外部扩展并行I O口 采用线选法寻址 ADC0809的ADDA ADDB和ADDC端由P0 0 P0 1 P0 2送出 ADC0809的地址由P2 7控制 其他地址位与此无关 设为1 于是ADC0809地址为为7FFFH 在图9 14所示的接口电路中 ADC0809与片外RAM统一编址 9 3 2逐次逼近型并行输出A D转换器及接口 启动ADC0809的工作过程是 先送数据 通道地址 到ADC0809 由ALE信号锁存 同时START有效 启动A D转换 A D转换完毕 EOC端发出一正脉冲 申请中断 在中断服务程序中 使OE端有效 8位数据便读入到CPU中 9 3 2逐次逼近型并行输出A D转换器及接口 3 8路巡回检测系统例9 2某粮库或某冷冻厂需对8点 8个冷冻室或8个粮仓 进行温度巡回检测 要求设计一个单片机巡回检测系统 使其能对各冷冻室或各粮仓的温度巡回检测并加以处理 设被测温度范围为 30 50 温度检测精度要求不大于 l 温度传感器可选用热电阻 热敏电阻 PN结或集成温度传感器AD590和SL134等芯片 9 3 2逐次逼近型并行输出A D转换器及接口 C语言程序清单 include include 绝对地址定位 defineDAC0809XBYTE 0 x7fff 定义C0809地址unsignedcharxdatabuffer 8 数据存放定义unsignedchari 0 voidmain IT1 1 边沿触发EA 1 EX1 1 DAC0809 i 启动0通道转换while 1 9 3 2逐次逼近型并行输出A D转换器及接口 voidint1 srv interrupt2 buffer i DAC0809 读数存放if i 8 最后一个通道没结束DAC0809 i 启动下一个通道转换 9 3 2逐次逼近型并行输出A D转换器及接口 汇编语言主程序 MAIN MOVR0 0A0H 数据暂存区首地址MOVR2 8 8路计数初值MOVR3 0 R3存放通道号SETBIT1 边沿触发SETBEA 开中断SETBEX1MOVDPTR 7FFFH 指向0809MOVA R3MOVX DPTR A 送通道号 启动转换SJMP 9 3 2逐次逼近型并行输出A D转换器及接口 中断服务程序 MOVXA DPTR 读数MOVX R0 A 存数INCR0 更新存放单元INCR3 更新通道DJNZR2 DONERETIDONE MOVA R3MOVX DPTR ARETI 9 3 2逐次逼近型并行输出A D转换器及接口 9 3 3单片机内部集成的A D转换器 目前 很多单片机片内集成有A D转换器 下面以STC89LE516AD X2为例 说明A D转换的使用方法 1 STC89LE516AD X2片内A D转换器特点STC89LE516AD X2的模拟量输入在P1口 有8位精度的高速A D转换器 P1 0 P1 7共8路 为电压输入型 可做按键扫描 电池电压检测 频谱检测等 2 特殊功能寄存器 1 P1 ADC EN特殊功能寄存器 P1 x作为A D转换输入通道允许特殊功能寄存器 地址为97H 复位值为00000000B 格式如图9 15所示 图9 15P1 ADC EN特殊功能寄存器 9 3 3单片机内部集成的A D转换器 2 ADC DATA特殊功能寄存器 A D转换结果特殊功能寄存器 地址为0C6H 复位值为00000000B 模拟 数字转换结果计算公式如下 结果 256 Vin VCC 3 ADC CONTR特殊功能寄存器 A D转换控制特殊功能寄存器 地址为0C5H 复位值为xxx00000B 格式如图9 16所示 图9 16ADC CONTR特殊功能寄存器 9 3 3单片机内部集成的A D转换器 相关位说明如下 1 ADC FLAG 模拟 数字转换结束标志位 当A D转换完成后 ADC FLAG 1 2 ADC START 模拟 数字转换 ADC 启动控制位 设置为 1 时 开始转换 3 CHS2 CHS1 CHS0 模拟输入通道选择 如表9 4所示 9 3 3单片机内部集成的A D转换器 表9 4模拟输入通道选择 9 3 3单片机内部集成的A D转换器 3 A D转换程序用P1 0为模拟量输入端进行A D转换 程序如下 includesfrP1 ADC EN 0 x97 A D转换功能允许寄存器sfrADC CONTR 0 xC5 A D转换控制寄存器sfrADC DATA 0 xC6 A D转换结果寄存器 9 3 3单片机内部集成的A D转换器 延时函数voiddelay unsignedchardelay time unsignedinti while delay time for i 0 i 10000 i 9 3 3单片机内部集成的A D转换器 unsignedcharADC AD转换函数 delay 1 使输入电压达到稳定ADC CONTR 0 x08 P1 0为模拟量输入端 启动A D转换while ADC CONTR 返回转换结果 9 3 3单片机内部集成的A D转换器 9 4D A转换接口 主要内容9 4 1 位并行D A转换器DAC0832接口技术9 4 2串行输入D A转换器TLC5615接口技术 9 4 1并行D A转换器DAC0832接口技术 1 DAC0832的结构原理 1 DAC0832的特性 具有两级输入数据寄存器的8位单片D A转换器 它能直接与单片机89C52相连接 采用二次缓冲方式 可以在输出的同时 采集下一个数据 从而提高转换速度 能够在多个转换器同时工作时 实现多通道D A的同步转换输出 主要的特性参数如下 分辨率为8位 只需在满量程下调整其线性度 可与所有的单片机或微处理器直接接口 电流稳定时间为1 s 可双缓冲 单缓冲或直通数据输入 功耗低 约为200mW 逻辑电平输入与TTL兼容 单电源供电 5V 15V 9 4 18位并行D A转换器DAC0832接口技术 2 DAC0832的引脚及逻辑结构 DAC0832的逻辑结构如下图所示 由8位锁存器 8位DAC寄存器和8位D A转换器构成 图9 17DAC0832结构 9 4 18位并行D A转换器DAC0832接口技术 DAC0832各引脚的功能说明如下 D0 D7 数字量数据输入线 ILE 数据锁存允许信号 高电平有效 CS 输入寄存器选择信号 低电平有效 WR1 输入寄存器的 写 选通信号 低电平有效 WR2 DAC寄存器的 写 选通信号 低电平有效 XFER 数据传送信号 低电平有效 VREF 基准电压输入线 9 4 18位并行D A转换器DAC0832接口技术 RFB 反馈信号输入线 片内已有反馈电阻 IOUT1和IOUT2 电流输出线 IOUT1与IOUT2的和为常数 DAC寄存器的内容线性变化 一般在单极性输出时 IOUT2接地 VCC 工作电源 DGND 数字地 AGND 模拟信号地 9 4 18位并行D A转换器DAC0832接口技术 2 DAC0832与单片机的接口 1 单缓冲器方式接口 图9 18DAC0832单缓冲方式接口 9 4 18位并行D A转换器DAC0832接口技术 将ILE接 5V 寄存器选择信号及数据传送信号都与地址选择线相连 图中为P2 7 两级寄存器的写信号都由89C52的WR端控制 当地址线选通DAC0832后 只要输出控制信号 DAC0832就能一步完成数字量的输入锁存和D A转换输出 9 4 18位并行D A转换器DAC0832接口技术 C语言程序清单 头文件声明及端口地址定义 include defineDAC0832XBYTE 0 x7FFF 在需要输出时 data1为输出模拟量的数字值 DAC0832 data1 汇编语言程序清单 MOVDPTR 7FFFHMOVA DATA1MOVX DPTR A 9 4 18位并行D A转换器DAC0832接口技术 2 双缓冲器同步方式接口 图9 19是一个二路同步输出的D A转换接口电路 89C52的P2 5和P2 6分别选择两路D A转换器的输入寄存器 控制输入锁存 P2 7连到两路D A转换器的XFER端控制同步转换输出 WR与所有的WR1 WR2端相连 在执行MOVX指令时 89C52自动输出WR信号 9 4 18位并行D A转换器DAC0832接口技术 图9 19DAC0832双缓冲方式接口 9 4 18位并行D A转换器DAC0832接口技术 C语言程序清单 include 定义两片0832输入寄存器端口地址和 同步输出地址 defineDAC0832 1XBYTE 0 xDFFF defineDAC0832 2XBYTE 0 xBFFF defineDAC ALLXBYTE 0 x7FFF 在需要模拟量同步输出时 DAC0832 1 data1 第一片0832输出数字值DAC0832 2 data2 第二片0832输出数字值DAC ALL 0 0无意义 使XFER同时有效 9 4 18位并行D A转换器DAC0832接口技术 3 DAC0832应用 阶梯波的产生 阶梯波是在一定的时间内每隔一段时间输出的幅值递增一个恒定值 如图9 20所示 每隔1ms输出增长一个定值 经10ms后循环 用DAC0832的单缓冲方式就可以实现这样的波形 图9 20阶梯波波形 9 4 18位并行D A转换器DAC0832接口技术 C语言程序清单 为了使输出波形有一定高度 设n 取值1 25 include defineDAC0832XBYTE 0 x7FFF voidmain unsignedchari n 20 while 1 for i 0 i 10 i DAC0832 i n delay 1 延时1ms 9 4 18位并行D A转换器DAC0832接口技术 9 4 2串行D A转换器TLC5615接口技术 数 模转换器从接口上可分为两大类 并行接口和串行接口 并行接口 引脚多 体积大 占用I O线多 串行接口 体积小 占用单片机的I O线少 1 TLC5615的结构原理TLC5615是具有3线串行接口的数 模转换器 其输出为电压型 最大输出电压是基准电压值的两倍 带有上电复位功能 TLC5615的性价比较高 1 TLC5615的特点 10位CMOS电压输出 5V单电源工作 与微处理器3线串行接口 SPI 最大输出电压是基准电压的2倍 建立时间12 5 s 内部上电复位 低功耗 最高为l 75mW 引脚与MAX515兼容 9 4 2串行输入D A转换器TLC5615接口技术 2 功能方框图 图9 21TLC5615功能方框图 9 4 2串行输入D A转换器TLC5615接口技术 3 引脚功能说明 DIN 串行数据输入 SCLK 串行时钟输入 CS 芯片选择 低电平有效 DOUT 用于菊花链 daisychaining 的串行数据输出 AGND 模拟地 REFIN 基准电压输入 OUT DAC模拟电压输出 VDD 正电源 4 5 5 5V 9 4 2串行输入D A转换器TLC5615接口技术 4 TLC5615的输入 输出关系 图9 23所示的D A输入 输出关系如表9 5所列 表9 5D A转换关系表 9 4 2串行输入D A转换器TLC5615接口技术 因为TLC5615芯片内的输入锁存器为12位宽 所以要在10位数字的低位后面再填以数字XX XX为不关心状态 串行传送的方向是先送出高位MSB 后送出低位LSB 如果有级联电路 则应使用16位的传送格式 即在最高位MSB的前面再加上4个虚位 被转换的10位数字在中间 9 4 2串行输入D A转换器TLC5615接口技术 2 TLC5615与89C52的串行接口电路及程序在下图电路中 89C52单片机自P3 0 P3 2口分别控制TLC5615的片选CS 串行时钟输入SCLK和串行数据输入DIN 图9 23TLC5615与89C51接口电路 9 4 2串行输入D A转换器TLC5615接口技术 D A转换程序如下 sbitCS P3 0 sbitSCLK P3 1 sbitDIN P3 2 voidDAC unsigne
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 下传统节日作文清明节(8篇)
- 赤壁怀古:古诗文意象解读教案
- 科技之光与时代力量:初中八年级科普说明文阅读指导教案
- 时间和位移的课件
- 一年级日记看电影100字15篇
- 贵金属交易风险披露书及合同书
- 吉林省松原市前郭县2024-2025学年八年级下学期期末考试物理试题(含答案)
- 早期阅读犟龟课件
- 观少年派有感1500字(10篇)
- 纪检业务培训课件模板
- 采购应急计划管理办法
- 2025年学校食堂从业人员食品安全知识培训考试试题及答案
- 头皮健康与头发生长关系的研究
- 财务结账相关管理制度
- 叉车维修方案(3篇)
- 口腔科护士正确吸唾操作规范
- 中学升旗管理制度
- Odoo面试题及答案
- 2025年全国I卷英语 高考真题
- 专业公路工程知识考察试题及答案
- 陕西西安铁一中学2025届英语八下期末检测试题含答案
评论
0/150
提交评论