




已阅读5页,还剩22页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
电子技术课程设计报告电子技术课程设计报告 题题 目目 多路数据采集系统设计 学学 年年 2009 2010 学学 期期 下学期 专专 业业 测控技术与仪器 班班 级级 072 班 学学 号 号 20074600209 姓姓 名名 李凤萍 学学 号 号 20074600212 姓姓 名名 郭越 指导教师 指导教师 王玉林 袁峰伟 蒋彦 谢静 时时 间 间 2010 年 6 月 28 日 2010 年 7 月 9 日 1 多路数据采集系统 摘要摘要 数据采集系统用于将模拟信号转换为计算机可以识别的数字信号 该系统的目的是便 于对一些物理量进行监视 控制 即将现场采集到的数据进行处理 传输 显示 存储等 操作 换言之 其主要功能就是把模拟信号变成数字信号 并进行分析 处理 存储和显 示 数据采集系统一般由数据输入通道 数据存储与管理 数据处理 数据输出及显示这 五个部分组成 输入通道要实现对被测对象的检测 采样和信号转换等工作 数据存储与 管理要用存储器把采集到的数据存储起来 建立相应的数据库 并进行管理和调用 数据 处理就是从采集到的原始数据中 删除有关干扰噪声 无关信息和必要的信息 提取出反 映被测对象特征的重要信息 数据输出及显示就是把数据以适当的形式进行输出和显示 本次毕业设计课题为多路数据采集器系统 是利用 ATMEL 公司的 AT89S51 单片机 和 ADC0809 芯片设计采集模拟电压信号 转换为数字信号 经处理后由 4 位数码管动态 扫描显示 关键字关键字 ADC0809 芯片 数据采集 AT89S51 单片机 数据处理 动态扫描显示 Abstract Data acquisition system used for computer analog signal conversion can identify the digital signal the purpose of the system is easy to monitor and control of some parameters The data collected to spot for processing and transmission display and storage etc In other words the main function of the analog signals into digital is analyzed and the signal processing storage and show Data acquisition system of data input channel general data storage and management data processing data output and showed that five parts To realize the input channel of the tested object detection and signal sampling etc Data storage and management to use memory to store the data collected the establishment of the database and the corresponding management and call Data processing was collected from the original data delete the noise interference irrelevant information and the necessary information extract tested objects reflect the characteristics of important information Data output and display the data is with the appropriate forms of output and display The graduation design topic which way is to use data terminal system ATMEL company AT89S51 and ADC0809 chip design collection simulation signal and convert digital signal the processed by four digital tube dynamic scanning display keywords ADC0809 microarray data acquisition AT89S51 The data processing Dynamic scanning display 2 目 录 1 系统方案设计 4 1 1 设计任务要求 4 1 2 设计方案比较 4 1 3 系统框图 4 2 硬件系统设计 5 2 1 硬件系统设计原理 5 2 2 硬件系统各个电路的设计 5 2 2 1 A D 转换电路设计 5 2 2 2 51 单片机模块 8 2 2 3 ADC0809 与 AT89S51 的接口设计 12 2 2 4 输出电路设计 13 3 软件系统设计 14 3 1 主程序流程图 14 3 2 A D 转换流程图 15 3 3 单片机数据处理程序 16 3 4 显示子程序及流程图 16 3 5 多路数据采集系统主程序 18 4 系统调试 21 4 1 硬件调试 21 4 2 软件调试 21 3 5 总结语 22 5 1 总结 22 5 2 心得体会 22 附录 23 附录一 23 附录二 24 附录三 25 参考文献 26 4 1 系统方案设计 1 1 设计任务要求 1 采用 AT89S51 及 ADC0809 设计多路数据采集系统 2 多通道输入信号由 5V 电压经分压后至 IN0 至 IN7 3 采集结果由 4 位数码管动态扫描显示 4 必须具有上电自检功能及外接电源 公共地线接口 程序在线下载接口 1 2 系统方案比较 系统设计方案一 系统硬件电路如图 1 ADC0809 将 0 5V 模拟信号转换为 00 FF 数字信号并传送 51 单片机 然后由 51 单片机进行数据存储及数据处理 最终由 LED 显示器显示 完成 对模拟信号的采集 图 1 系统设计方案二 系统硬件电路如图 2 电路中采取信号发生器进行采集 不如方案一简洁 虽然器件 选择上差的不多 但是还需要制作信号发生器 多了操作步骤 并且增加了成本 图 2 因此我们选择方案一 直接采取模拟信号进行采集因此我们选择方案一 直接采取模拟信号进行采集 1 3 系统框图 如图 3 所示 图 3 系统框图 A D ADC0809 IN0 IN7 单片机 AT89S51 数码管 显示 5 设计要点设计要点 1 分压电阻的选择 功耗 10K 2 通道选择信号 A B C 依次与单片机的地址信号连接 便于编程 3 资料表示 ADC0809 的转换时钟频率最高为 640KHz 设计时单片机时钟电路晶振采 用 6MHz 则 ALE 信号为 1MHz 直接接在 ADC0809 的 CLOCK 上 实践证明是可 行的 这样省去了分频电路设计的麻烦 4 8 通道电压转换结果用 4 位共阳数码管依次显示 4 位数码管段选信号是一样的 采 用动态扫描的方式点亮 利用了人眼的惰性 位选用 PNP 三极管 9012 驱动以增大 亮度 2 硬件系统设计 2 1 硬件系统设计原理 A D 转换器 ADC0809 将 0 5V 模拟信号转换为数字信号 并传给 AT89S51 单片机 然 后由 51 单片机进行数据存储及数据处理 最终由数码管显示 从而完成对模拟信号的采集 其硬件系统原理框图如下图 4 所示 8 路 模拟信号 ADC0809 A D 转换 单片机 AT89S51 数码管 显示 图 4 硬件系统原理框图 本系统中 以 AT89S51 单片机为运算和控制的核心 它具有 4 个 8 位并行的 I O 端 P0 P3 其中由 P0 口控制数码管显示 P1 口控制信号输入 8 路模拟量采集由 A D 转换器 ADC0809 完成 2 2 硬件系统各个电路的设计 2 2 1 A D 转换电路设计 1 A D 转换器的选取 选择 A D 转换器件主要是从速度 精度和价格上考虑 逐次逼近型 A D 转换器在精 度 速度和价格上都适中 是最常用的 A D 转换器件 ADC0809 是 TI 公司生产的 8 位逐次 逼近型模数转换器 包括一个 8 位的逼近型的 ADC 部分 并带有 8 通道的模拟多路开关以 及微处理机兼容的控制逻辑的 CMOS 组件 可以和单片机直接接口 为模拟通道的设计提供 了很大的方便 所以本设计中选用该芯片作为 A D 转换电路的核心 2 ADC0809 主要性能 a 逐次比较型 b CMOS 工艺制造 c 单一电源供电 d 无需零点和满刻度调整 e 具有三态锁存输出缓冲器 输出与 TTL 兼容 f 易与各种微控制器接口 6 g 具有锁存控制的 8 路模拟开关 h 分辨率 8 位 i 功耗 15mW j 最大不可调误差小于 1LSB 最低有效位 k 转换时间 500 CLK fKHz 128us l 转换精度 0 4 m ADC0809 没有内部时钟 必须由外部提供 其范围为 10 1280kHz 典型时钟频率为 640kHz 3 ADC0809 的内部结构及其特性 ADC0809 是 CMOS 工艺 采用逐次逼近法的 8 位 A D 转换芯片 28 引脚双列直插封装 片内除 8 位 A D 转换部分外 还有 8 路模拟开关 三态输出锁存器以及地址锁存译码器等 它可以分别对 8 路 0 5V 模拟量输入信号进行转换 输出量由三态锁存缓冲 可直接连到 单片机的数据总线上 其内部逻辑结构图如下图 5 所示 图 5 ADC0809 内部逻辑结构图 4 ADC0809 的引脚功能 ADC0809 的引脚图如下图 6 所示 7 图 6 ADC0809 的引脚图 引脚功能如下 1 IN0 IN7 8 个通道的模拟量输入端 2 2 1 D0 2 8 D7 8 位转换结果输出端 2 1为最高有效位 2 8为最低有效位 3 START 启动控制输入端 加上正脉冲后 立即启动 A D 转换 4 ALE 地址锁存信号输入端 高电平时把 ADDA ADDB ADDC 的三位地址信号送入地 址锁存器 经译码后选通 IN0 IN7 中的一个通道 5 EOC 转换结束信号输出端 A D 转换开始后 EOC 信号由高变低 转换结束后 EOC 返回高电平 此信号可以作为查询的状态信号 也可以作为中断申请信号 6 OE 输出允许控制端 当此输入端的电平由低变高时 打开三态输出锁存器 将转 换结果送到数据总线上 7 CLK 时钟输入端 8 REF REF 参考电压输入端 一般 REF 接 VCC REF 接 GND 9 ADDA ADDB ADDC 8 位模拟开关的 3 位地址选通输入端 用来选择对应的输入通 道 其对应关系如表 1 所示 10 VCC 和 GND 电源端和接地端 ADC0809 使用 5V 单一电源供电 注 注 当 ALE 为高电平时 通道地址输入到地址锁存器中 下降沿将地址锁存 并译码 在 START 上升沿时 所有的内部寄存器清零 在下降沿时 开始进行 A D 转换 此期间 START 应保持低电平 在 START 下降沿后 10us 左右 转换结束信号变为低电平 EOC 为低 电平时 表示正在转换 为高电平时 表示转换结束 OE 为低电平时 D0 D7 为高阻状态 OE 为高电平时 允许转换结果输出 ADDCADDBADDA输入通道号 000IN0 001IN1 010IN2 011IN3 8 100IN4 101IN5 110IN6 111IN7 表 1 ADC0809 的 8 路模拟开关功能表 2 2 2 51 单片机模块 1 AT89S51 单片机的简介 AT89S51 是一个低功耗 高性能 CMOS 8 位单片机 片内含 8k Bytes ISP In system programmable 的可反复擦写 1000 次的 Flash 只读程序存储器 器件采用 ATMEL 公司的高密度 非易失性存储技术制造 兼容标准 MCS 51 指令系统及 80C51 引脚结构 芯片内集成了通用 8 位中央处理器和 ISP Flash 存储单元 功能强大的微型计算机的 AT89S51 可为许多嵌入式控制应用系统供给高性价比的解决方案 AT89S51 具有如下特点 40 个引脚 8k Bytes Flash 片内程序存储器 128 bytes 的 随机存取数据存储器 RAM 32 个外部双向输入 输出 I O 口 5 个中断优先级 2 层 中断嵌套中断 2 个 16 位可编程定时计数器 2 个全双工串行通信口 看门狗 WDT 电 路 片内时钟振荡器 此外 AT89S52 设计和配置了振荡频率可为 0Hz 并可通过软件设置省电模式 空闲 模式下 CPU 暂停工作 而 RAM 定时计数器 串行口 外中断系统可继续工作 掉电模 式冻结振荡器而保存 RAM 的数据 停止芯片其它功能直至外中断激活或硬件复位 同时 该芯片还具有 PDIP TQFP 和 PLCC 等三种封装形式 以适应不一样产品的需求 AT89S51 与 AT89C51 相比 外型管脚完全相同 AT89C51 的 HEX 程序无须任何转换 可直接在 AT89S51 运行 结果一样 AT89S 比 AT89C51 新增了一些功能 支持在线编程 和看们狗是其中主要特点 它们之间主要区别在于以下几点 1 引脚功能 管脚几乎相同 变化的有 在 AT89S51 中 P1 5 P1 6 P1 7 具有第二功能 即这 3 个引脚的第二功能组成了串行 ISP 编程的接口 2 编程功能 AT89C51 仅支持并行编程 而 AT89S51 不但支持并行编程还支持 ISP 再线编程 在编程电压方面 AT89C51 的编程电压除正常工作的 5V 外 另 Vpp 需要 12V 而 AT89S51 仅仅需要 4 5V 即可 3 烧写次数更高 AT89S51 标称烧写次数是 1000 次 实为 1000 10000 次 这样更有 利开始学习者反复烧写 降低学习成本 4 工作频率更高 AT89C51 极限工作频率是 24MHZ 而 AT89S51 最高工作频率是 33MHZ AT89S51 芯片有两中型号 支持最高工作频率分别为 24MHZ 和 33MHZ 从而具有 更快的计算速度 5 电源范围更宽 AT89S51 工作电压范围 达 4 5 5V 而 AT89C51 在底于 4 8V 和高 于 5 3V 的时侯则无法正常工作 6 6 抗干扰性更强 AT89S51 内部集成看门狗计时器 Watchdog Timer 而 AT89C51 需 外接看门狗计时器电路 或者用单片机内部定时器构成软件看门狗来实现软件抗干扰 9 2 AT89S51 引脚及功能介绍 AT89S51 引脚图如下图 7 所示 图 7 AT89S51 引脚配置 AT89S51 芯片的 40 个引脚功能为 VCCVCC 电源电压 GNDGND 接地 RSTRST 复位输入 当 RST 变为高电平并保持 2 个机器周期时 将使单片机复位 WDT 溢出将使该引脚输出高电平 设置 SFR AUXR 的 DISRTO 位 地址 8EH 可打开或关闭该功 能 DISKRTO 位缺省为 RESET 输出高电平打开状态 XTAL1XTAL1 反向振荡放大器的输入及内部时钟工作电路的输入 XTAL2XTAL2 来自反向振荡放大器的输出 P0P0 口 一组 8 位漏极开路型双向 I O 口 也即地址 数据总线复用口 作为输出口 用时 每位能驱动 8 个 TTL 逻辑门电路 对端口写 1 可作为高阻抗输入端用 在访问外 部数据存储器或程序存储器时 这组口线分时转换地址 低 8 位 和数据总线复用 在访 问期间激活内部上拉电阻 在 Flash 编程时 P0 口接收指令字节 而在程序校验时 输出 指令字节 校验时 要求外接上拉电阻 P1P1 口 一个带内部上拉电阻的 8 位双向 I O 口 P1 的输出缓冲级可驱动 吸收或输 出电流 4 个 TTL 逻辑门电路 对端口写 1 通过内部的上拉电阻把端口拉到高电平 此时可作输入口 作输入口使用时 因为内部存在上拉电阻 某个引脚被外部信号拉低时 10 会输出一个电流 IIL Flash 编程和程序校验期间 P1 接收低 8 位地址 P1 口部分端口 引脚及功能如表 2 所示 P1 口引脚特殊功能 P1 5 MOSI 用于 ISP 编程 P1 6 MOSI 用于 ISP 编程 P1 7 SCK 用于 ISP 编程 表 2 P1 口特殊功能 P2P2 口 一个带内部上拉电阻的 8 位双向 I O 口 P1 的输出缓冲级可驱动 吸收或输 出电流 4 个 TTL 逻辑门电路 对端口写 1 通过内部的上拉电阻把端口拉到高电平 此时可作输入口 作输入口使用时 因为内部存在上拉电阻 某个引脚被外部信号拉低时 会输出一个电流 IIL 在访问外部程序存储器或 16 位地址的外部数据存储器时 P2 口 送出高 8 位地址数据 在访问 8 位地址的外部数据存储器时 P2 口线上的内容在整个访问 期间不改变 Flash 编程和程序校验期间 P2 亦接收低 8 位地址 P3P3 口 一个带内部上拉电阻的 8 位双向 I O 口 P3 的输出缓冲级可驱动 吸收或输 出电流 4 个 TTL 逻辑门电路 对 P3 口写 1 时 它们被内部的上拉电阻把拉到高电并 可作输入端口 作输入端口使用时 被外部拉低的 P3 口将用上拉电阻输出电流 IIL P3 口除了作为一般的 I O 口线外 更重要的用途是它的第二功能 如表 3 所示 P3 口还接收 一些用于 Flash 闪速存储器编程和程序校验期间的控制信号 表 3 P3 口特殊功能 PSEN PSEN 程序储存允许输出是外部程序存储器的读先通信号 当 AT89S51 由外部程序存储 器取指令 或数据 时 每个机器周期两次 PSEN 有效 即输出两个脉冲 当访问外部数 据存储器 没有两次有效的 PSEN 信号 EA VPPEA VPP 外部访问允许 欲使 CPU 仅访问外部程序存储器 EA 端必须保持低电平 需注意 的是 如果加密位 LB1 被编程 复位时内部会锁存 EA 端状态 Flash 存储器编程时 该引 P3 口引脚特殊功能 P3 0 RXD 串行输入口 P3 1 TXD 串行输出口 P3 2 外部中断 0 P3 3 外部中断 1 P3 4 T0 定时器 0 外部输入 P3 5 T1 定时器 1 外部输入 P3 6 外部数据存储器写选通 P3 7 外部数据存储器读选通 11 脚加上 12V 的编程电压 VPP 注 注 I O 口的读写 P0 P3 口都可以作为普通的 I O 口来使用 当作为输入口使用时 必须先向该口的锁 存器中写入 1 然后再从引脚缓冲器中读入引脚状态 这样的读入结果才正确 当作为 输出口使用时 可能要经常修改输出口各引脚的状态 为此在 AT89S51 单片机的指令系统 中 设置有 读 修改 写 指令 例如 逻辑与指令 ANL P1 A 就属于这类指令 该指 令的执行过程是 CPU 先读入 P1 上的数据 然后与累加器 A 中的数据按位进行逻辑与操作 最后将与的结果送回 P1 口 完成对 P1 口各位状态的修改 这类指令中 读入 P1 口的数据 是前一次写入 P1 口输出锁存器的数据 而不是 P1 口的实际状态 两者不一定相同 例如 用 P1 的一根线去驱动一个晶体管的基极 当向此口线写入 1 时 晶体管导通 并把引 脚上的电平拉成低电平 0 这时若从引脚上读取数据 引脚缓冲器 会读错成 0 而 不是先前输出的 1 为此 在 P0 P3 口每一根线的结构上都设有一个读锁存器缓冲器 当执行这类指令时 读入的数据时锁存器的输出状态 3 复位电路设计 RES 引脚是复位信号的输入端 复位信号是高电平有效 其有效时间应持续 24 个振荡 周期 即两个机器周期 以上 若使用频率为 6MHz 的晶振 则复位信号持续时间应超过 4us 才能完成复位 复位操作有上电自动复位和按键手动复位两种方式 本设计采用上电复位 如图 8 所 示 图 8 复位电路 上电自动复位电路是在加电瞬间电容通过充电来实现的 在通电瞬间 电容 C3通过电阻充 电 RST 端出现正脉冲 用以复位 上电瞬间 RST 端的的电位与 Vcc 相同 随着电容的逐步充电 充电电流减小 RST 电 位逐渐下降 上电复位所需的最短时间是振荡器建立时间加上二个机器周期 在这段时间 里 振荡建立时间不超过 10ms 4 晶振电路设计 AT89S51 芯片内部有一个高增益反相放大器 用于构成振荡器 反相放大器的输入端 为 XTAL1 输出端为 XTAL2 两端跨接石英晶体及两个电容就可以构成稳定的自激振荡器 如 图 9 所示 电容器 C1和 C2通常取 30pF 左右 可稳定频率并对振荡频率有微调作用 本设 12 计中采用 6MHz 的晶振构成单片机的时钟电路 晶振频率也就是振荡电路的脉冲频率 也称 振荡频率 振荡脉冲频率范围为 0 24MHz 图 9 晶振电路 此振荡器由 XTAL1 端向内部时钟电路提供一定的频率时钟源信号 另外 振荡器的工 作还可由软件控制 当对单片机内电源控制寄存器 PCON 中的 PD 位置 1 时 可停止振荡器 的工作 使单片机进入省电工作状态 此振荡器称为内部振荡器 晶振频率是单片机的一项重要性能指标 因为单片机的时钟信号是通过振荡信号分频 得到的 所以竞争频率直接影响时钟信号的频率 晶振频率高 系统的时钟频率就高 单 片机运行速度也就快 然而晶振频率高对存储器等的速度和印刷电路板的工艺要求也高 晶振频率不但影响速度 而且对单片机的工作电流也有一定影响 所以在选择晶振频率是 要兼顾速度 功耗和线路工艺 片内振荡器对构成并联谐振电路的外接电容 C1 和 C2 要求并不严格 外接晶体时 C1 和 C2 的典型值为 30pF 左右 而且 在设计印刷电路板时 晶体 或陶瓷谐振器 和电容 应尽可能安装得靠近单片机 以减少寄生电容 保证振荡器的稳定和可靠性 2 2 3 ADC0809 与 AT89S51 的接口设计 ADC0809 与 AT89S51 单片机的硬件接口方式一般有 3 种 查询方式 中断方式和等待 延时方式 本设计采用查询方式 通道基本地址为 0000H 0007H 模拟量直接由 ADC0809 的 IN0 IN7 口输入 数字量 由 ADC0809 的 2 1 D0 2 8 D7 输出 并直接接到 AT89S51 单片机的 I O 口的 P1 口 其 他引脚连接如下图 10 所示 13 图 10 ADC0809 与 AT89S51 单片机的硬件接口方式 8 路数据采集由 A D 转换器 ADC0809 完成 它具有 8 路模拟输入端 0 5V 的直流信 号送给 ADC0809 后 地址线 A B C 端 决定对哪一路模拟输入作 A D 转换 转换数据 由 AT89S51 单片机的 P0 口读入 2 2 4 输出电路设计 输出电路采用数码管显示 显示方法为动态扫描显示 输出电路采用数码管显示 显示方法为动态扫描显示 动态显示驱动 数码管动态显示接口是单片机中应用最为广泛的一种显示方式之一 动态驱动是将所有数码管的 8 个显示笔划 a b c d e f g dp 的同名端连在一起 另外为 每个数码管的公共极 COM 增加位选通控制电路 位选通由各自独立的 I O 线控制 当单片 机输出字形码时 所有数码管都接收到相同的字形码 但究竟是那个数码管会显示出字形 取决于单片机对位选通 COM 端电路的控制 所以我们只要将需要显示的数码管的选通控制 打开 该位就显示出字形 没有选通的数码管就不会亮 通过分时轮流控制各个数码管的 的 COM 端 就使各个数码管轮流受控显示 这就是动态驱动 在轮流显示过程中 每位数 码管的点亮时间为 1 2ms 由于人的视觉暂留现象及发光二极管的余辉效应 尽管实际上 各位数码管并非同时点亮 但只要扫描的速度足够快 给人的印象就是一组稳定的显示数 据 不会有闪烁感 动态显示的效果和静态显示是一样的 能够节省大量的 I O 端口 而 且功耗更低 显示部分的原理图如下图 11 所示 显示部分为 4 个共阳极的 7 段 LED 显示器 4 个七段 LED 的 a dp 字段的引脚分别由 4 个 OC 门同相驱动器驱动 OC 门驱动器用三极管 PNP 显示的位数由 P0 0 P0 3 口控制 P2 口输出位选码 三极管是反向驱动器 当 P2 口位控制线输出低电平时 点亮一位 LED 14 图 11 显示部分的原理图 3 软件系统设计 3 1 主程序流程图 图 12 系统主程序流程图 3 2 A D 转换流程图 15 N Y 图 13 A D 转换子程序流程图 本设计中 以查询方式实现本设计中 以查询方式实现 A DA D 转换转换 8 路数据采集 由于 A B C 端决定对哪一路模拟输入作 A D 转换 故每次只能采集 一路数据然后单片机进行数据处理 由数码管输出显示后再进行下一次数据采集 3 3 单片机数据处理程序 开始 置数据区指针初值 指向通道 0 置通道数 启动 A D 转换 等待转换完成 读以 A D 转换结果 储存于数据区 指向下一个通道 修改数据区指针 结束 8 个通道转换完否 16 具体程序如下 MOVMOVMOV B 100B 100B 100 DIVDIVDIV ABABAB MOVMOVMOV 50H A50H A50H A MOVMOVMOV A BA BA B MOVMOVMOV B 10B 10B 10 DIVDIVDIV ABABAB MOVMOVMOV 51H A51H A51H A MOVMOVMOV 52H B52H B52H B MOVMOVMOV A 52HA 52HA 52H MOVMOVMOV B 2B 2B 2 MULMULMUL ABABAB MOVMOVMOV B 10B 10B 10 DIVDIVDIV ABABAB MOVMOVMOV 52H B52H B52H B MOVMOVMOV 53H A53H A53H A MOVMOVMOV A 51HA 51HA 51H MOVMOVMOV B 2B 2B 2 MULMULMUL ABABAB ADDADDADD A 53HA 53HA 53H MOVMOVMOV B 10B 10B 10 DIVDIVDIV ABABAB MOVMOVMOV 51H B51H B51H B MOVMOVMOV 54H A54H A54H A MOVMOVMOV A 50HA 50HA 50H MOVMOVMOV B 2B 2B 2 MULMULMUL ABABAB ADDADDADD A 54HA 54HA 54H MOVMOVMOV 50H A50H A50H A RETRETRET 3 4 显示子程序及流程图 LED 显示程序流程图如图 14 所示 根据 LED 显示器的结构原理 显示不同的字符需要不同的字形码 本设计选用共阳数码管 由 P0 口控制 LED 信号灯的显示 数码管显示的真值表如下表所示 显示 字符 012345678 共阳极 段选码 C0F9A4B0999282F880 显示 字符 9ABCDEF 熄灭 开始 返回 指向 P0 口 取位选码 指定显示位 指向 P2 口 取显示字符 查七段码 段选码 P2 口送出 调用 1ms 延时子程 准备显示下一位 位选 N 8 位显示完毕 图 14 LED 显示程序流程图 17 共阳极 选段码 908883C6A1868EBFFF 表 4 数码管显示真值表 LED 显示程序为 DISPLAY DISPLAY DISPLAY MOVMOVMOV DPTR NUMTABDPTR NUMTABDPTR NUMTAB MOVMOVMOV R0 2R0 2R0 2 DP1 DP1 DP1 MOVMOVMOV R2 150R2 150R2 150 设置动态显示次数设置动态显示次数设置动态显示次数 LOOP3 LOOP3 LOOP3 MOVMOVMOV A 0EHA 0EHA 0EH 选通点亮第选通点亮第选通点亮第 1 1 1 位数码管位数码管位数码管 MOVMOVMOV P0 AP0 AP0 A MOVMOVMOV A R1A R1A R1 MOVCMOVCMOVC A A DPTRA A DPTRA A DPTR MOVMOVMOV P2 AP2 AP2 A ACALLACALLACALL DIMSDIMSDIMS SETBSETBSETB P0 0P0 0P0 0 选通点亮第选通点亮第选通点亮第 2 2 2 位数码管位数码管位数码管 CLRCLRCLR P0 1P0 1P0 1 MOVMOVMOV A 50HA 50HA 50H MOVCMOVCMOVC A A DPTRA A DPTRA A DPTR MOVMOVMOV P2 AP2 AP2 A CLRCLRCLR P2 7P2 7P2 7 ACALLACALLACALL DIMSDIMSDIMS SETBSETBSETB P0 1P0 1P0 1 选通点亮第选通点亮第选通点亮第 3 3 3 位数码管位数码管位数码管 CLRCLRCLR P0 2P0 2P0 2 MOVMOVMOV A 51HA 51HA 51H MOVCMOVCMOVC A A DPTRA A DPTRA A DPTR MOVMOVMOV P2 AP2 AP2 A ACALLACALLACALL DIMSDIMSDIMS SETBSETBSETB P0 2P0 2P0 2 选通点亮第选通点亮第选通点亮第 4 4 4 位数码管位数码管位数码管 CLRCLRCLR P0 3P0 3P0 3 MOVMOVMOV A 52HA 52HA 52H MOVCMOVCMOVC A A DPTRA A DPTRA A DPTR MOVMOVMOV P2 AP2 AP2 A ACALLACALLACALL DIMSDIMSDIMS SETBSETBSETB P0 3P0 3P0 3 DJNZDJNZDJNZ R2 LOOP3R2 LOOP3R2 LOOP3 DJNZDJNZDJNZ R0 DP1R0 DP1R0 DP1 RETRETRET DIMS DIMS DIMS MOVMOVMOV R7 00R7 00R7 00 18 DJNZDJNZDJNZ R7 R7 R7 RETRETRET 3 5 多路数据采集系统主程序 具体程序如下 STSTST BITBITBIT P3 5P3 5P3 5 OEOEOE BITBITBIT P3 4P3 4P3 4 EOCEOCEOC BITBITBIT P3 3P3 3P3 3 ORGORGORG 0000H0000H0000H AJMPAJMPAJMP STARTSTARTSTART ORGORGORG 0030H0030H0030H START START START MOVMOVMOV R5 0R5 0R5 0 SETT SETT SETT MOVMOVMOV A R5A R5A R5 MOVMOV MOV R1 AR1 AR1 A MOVMOVMOV 50H A 50H A50H A MOVMOVMOV 51H A 51H A51H A MOVMOVMOV 52H A 52H A52H A LCALLLCALLLCALL DISPLAY DISPLAYDISPLAY INCINC INC R5R5R5 CJNECJNECJNE R5 10 SETT R5 10 SETT R5 10 SETT 自检完毕自检完毕自检完毕 开始检测开始检测开始检测 8 8 8 路数据路数据路数据 LOP LOP LOP MOVMOVMOV R1 0R1 0R1 0 CLRCLRCLR P3 0P3 0P3 0 CLRCLRCLR P3 2P3 2P3 2 CLRCLRCLR P3 1P3 1P3 1 CLRCLRCLR P3 5P3 5P3 5 LCALLLCALLLCALL WAITWAITWAIT 检测并显示第检测并显示第检测并显示第 1 1 1 路数据路数据路数据 SETBSETBSETB P3 0P3 0P3 0 LCALLLCALLLCALL WAITWAITWAIT 检测并显示第检测并显示第检测并显示第 2 2 2 路数据路数据路数据 SETBSETBSETB P3 1P3 1P3 1 CLRCLRCLR P3 0P3 0P3 0 LCALLLCALLLCALL WAITWAITWAIT 检测并显示第检测并显示第检测并显示第 3 3 3 路数据路数据路数据 19 SETBSETBSETB P3 0P3 0P3 0 LCALLLCALLLCALL WAITWAITWAIT 检测并显示第检测并显示第检测并显示第 4 4 4 路数据路数据路数据 CLRCLRCLR P3 0P3 0P3 0 SETBSETBSETB P3 2P3 2P3 2 CLRCLRCLR P3 1P3 1P3 1 LCALLLCALLLCALL WAITWAITWAIT 检测并显示第检测并显示第检测并显示第 5 5 5 路数据路数据路数据 SETBSETBSETB P3 0P3 0P3 0 LCALLLCALLLCALL WAITWAITWAIT 检测并显示第检测并显示第检测并显示第 6 6 6 路数据路数据路数据 SETBSETBSETB P3 1P3 1P3 1 CLRCLRCLR P3 0P3 0P3 0 LCALLLCALLLCALL WAITWAITWAIT 检测并显示第检测并显示第检测并显示第 7 7 7 路数据路数据路数据 SETBSETBSETB P3 0P3 0P3 0 LCALLLCALLLCALL WAITWAITWAIT 检测并显示第检测并显示第检测并显示第 8 8 8 路数据路数据路数据 LJMPLJMPLJMP LOPLOPLOP 返回并继续循环检测返回并继续循环检测返回并继续循环检测 WAIT WAIT WAIT INCINCINC R1R1R1 启动启动启动 adadad 检测数据 数据处理 数据显示调用子程序 检测数据 数据处理 数据显示调用子程序 检测数据 数据处理 数据显示调用子程序 SETBSETBSETB TR0TR0TR0 LCALLLCALLLCALL DIMSDIMSDIMS CLRCLRCLR P3 5P3 5P3 5 SETBSETBSETB P3 5P3 5P3 5 CLRCLRCLR P3 5P3 5P3 5 JNBJNBJNB EOC EOC EOC SETBSETBSETB OEOEOE MOVMOVMOV A P1A P1A P1 CLRCLRCLR OEOEOE LCALLLCALLLCALL LOOP2LOOP2LOOP2 CLRCLRCLR TR0TR0TR0 LCALLLCALLLCALL DISPLAYDISPLAYDISPLAY RETRETRET 数据处理程序数据处理程序数据处理程序 LOOP2 LOOP2 LOOP2 MOVMOVMOV B 100B 100B 100 DIVDIVDIV ABABAB MOVMOVMOV 50H A50H A50H A MOVMOVMOV A BA BA B MOVMOVMOV B 10B 10B 10 DIVDIVDIV ABABAB 20 MOVMOVMOV 51H A51H A51H A MOVMOVMOV 52H B52H B52H B MOVMOVMOV A 52HA 52HA 52H MOVMOVMOV B 2B 2B 2 MULMULMUL ABABAB MOVMOVMOV B 10B 10B 10 DIVDIVDIV ABABAB MOVMOVMOV 52H B52H B52H B MOVMOVMOV 53H A53H A53H A MOVMOVMOV A 51HA 51HA 51H MOVMOVMOV B 2B 2B 2 MULMULMUL ABABAB ADDADDADD A 53HA 53HA 53H MOVMOVMOV B 10B 10B 10 DIVDIVDIV ABABAB MOVMOVMOV 51H B51H B51H B MOVMOVMOV 54H A54H A54H A MOVMOVMOV A 50HA 50HA 50H MOVMOVMOV B 2B 2B 2 MULMULMUL ABABAB ADDADDADD A 54HA 54HA 54H MOVMOVMOV 50H A50H A50H A RETRETRET 显示子程序显示子程序显示子程序 DISPLAY DISPLAY DISPLAY MOVMOVMOV DPTR NUMTABDPTR NUMTABDPTR NUMTAB MOVMOVMOV R0 2R0 2R0 2 DP1 DP1 DP1 MOVMOVMOV R2 150R2 150R2 150 设置动态显示次数设置动态显示次数设置动态显示次数 LOOP3 LOOP3 LOOP3 MOVMOVMOV A 0EHA 0EHA 0EH 选通点亮第选通点亮第选通点亮第 1 1 1 位数码管位数码管位数码管 MOVMOVMOV P0 AP0 AP0 A MOVMOVMOV A R1A R1A R1 MOVCMOVCMOVC A A DPTRA A DPTRA A DPTR MOVMOVMOV P2 AP2 AP2 A ACALLACALLACALL DIMSDIMSDIMS SETBSETBSETB P0 0P0 0P0 0 选通点亮第选通点亮第选通点亮第 2 2 2 位数码管位数码管位数码管 CLRCLRCLR P0 1P0 1P0 1 MOVMOVMOV A 50HA 50HA 50H MOVCMOVCMOVC A A DPTRA A DPTRA A DPTR MOVMOVMOV P2 AP2 AP2 A CLRCLRCLR P2 7P2 7P2 7 ACALLACALLACALL DIMSDIMSDIMS 21 SETBSETBSETB P0 1P0 1P0 1 选通点亮第选通点亮第选通点亮第 3 3 3 位数码管位数码管位数码管 CLRCLRCLR P0 2P0 2P0 2 MOVMOVMOV A 51HA 51HA 51H MOVCMOVCMOVC A A DPTRA A DPTRA A DPTR MOVMOVMOV P2 AP2 AP2 A ACALLACALLACALL DIMSDIMSDIMS SETBSETBSETB P0 2P0 2P0 2 选通点亮第选通点亮第选通点亮第 4 4 4
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年城市照明电力安装与改造合同
- 2025版汽车租赁合同范本(含环保)
- 2025版生猪养殖环境监测与保护合同
- 2025年文化旅游区招商引资合作协议范本
- 2025版水渠工程劳务派遣合同示范文本
- 2025年绿色装修贷款服务合同样本
- 2025年度能源行业财务顾问合同-成本分析与优化
- 2025年度高端全屋定制家具设计施工合同范本
- 2025茶楼承包合同范本:含茶楼环保设施建设协议
- 2025版禽类产品电商平台合作合同
- 复变函数与积分变换教案
- 职工医疗互助保障计划、女职工安康互助保障计划互助金申请表
- 宾馆饭店消防安全排查整治标准
- GB 16869-2005鲜、冻禽产品
- 整机部整机出货检验重点标准
- 混凝土实验室标准规范测试试题1
- 淹溺急救与护理ppt
- 美丽中国中英文字幕
- 城管执法公开课培训材料最新ppt课件
- 年度采购框架合同协议书范本
- 《日汉翻译2》教学大纲
评论
0/150
提交评论