毕业设计(论文)-基于单片机的简易数字电压表的设计_第1页
毕业设计(论文)-基于单片机的简易数字电压表的设计_第2页
毕业设计(论文)-基于单片机的简易数字电压表的设计_第3页
毕业设计(论文)-基于单片机的简易数字电压表的设计_第4页
毕业设计(论文)-基于单片机的简易数字电压表的设计_第5页
已阅读5页,还剩25页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

毕业设计毕业设计 论论文 文 报报告告 题 目 简易数字电压表的设计简易数字电压表的设计 系 别 尚德光伏学院 专 业 微电子技术 班 级 0901 学生姓名 学 号 指导教师 2012 年 4 月 无锡科技职业学院毕业设计论文 简易数字电压表的设计 i 简易数字电压表的设计简易数字电压表的设计 摘要 摘要 本文介绍了一种基于单片机的简易数字电压表的设计 该设计主要由三 个模块组成 A D 转换模块 数据处理模块及显示模块 A D 转换主要由芯片 ADC0809 来完成 它负责把采集到的模拟量转换为相应的数字量在传送到数据 处理模块 数据处理则由芯片 AT89C52 来完成 其负责把 ADC0809 传送来的数 字量经过一定的数据处理 产生相应的显示码送到显示模块进行显示 此外 它 还控制着 ADC0809 芯片工作 该系统的数字电压表电路简单 所用的元件较少 成本低 且测量精度和 可靠性较高 此数字电压表可以测量 0 5V 的 8 路模拟直流输入电压值 并通过 一个四位一体的 7 段数码管显示出来 关键词关键词 单片机 A D 转换 AT89C52 ADC0809 无锡科技职业学院毕业设计论文 简易数字电压表的设计 ii Design of Simple Digital Voltmeter Based on Single chip Microcontroller Abstract This paper which introduces a kind of simple digital voltmeter is based on single chip microcontroller design The circuit of the voltage meter is mainly consisted of three mould pieces A D converting mould piece A D converting is mainly completed by the ADC0809 it converts the collected analog data into the digital data and transmits the outcome to the manifestation controlling mould piece Data processing is mainly completed by the AT89C52 chip it processes the data produced by the ADC0809 chip and generates the right manifestation codes also transmits the codes to the manifestation controlling mould piece Also the AT89C52 chip controls the ADC0809 chip to work The voltmeter features in simple electrical circuit lower use of elements low cost moreover its measuring precision and reliability The voltmeter is capable of measuring voltage inputs from 8 route ranging from 0 to 5 volt and displaying the measurements though a digital code tube of 7 pieces of LED Keywords Chip Processor A D converter AT89C52 ADC0809 无锡科技职业学院毕业设计论文 简易数字电压表的设计 iii 目录目录 绪论 1 第 1 章 设计总体方案 2 1 1 设计要求 2 1 2 设计思路 2 1 3 设计方案 2 第 2 章 元器件介绍 3 2 1 ADC0809 3 2 1 1 ADC0809 特点 3 2 1 2 ADC0809 引脚内部结构 4 2 1 3 ADC0809 应用说明 5 2 2 89C52 6 2 2 1 89C52 特点 6 2 2 2 89C52 引脚内部结构 7 2 2 3 主要功能特性 8 2 3 LED 显示系统 9 2 3 1 LED 基本结构 9 2 3 2 LED 显示器的选择 10 2 3 3 LED 译码方式 10 第 3 章 硬件电路设计 11 3 1 A D 转换模块 12 3 1 1 A D 转换器 12 3 1 2 逐次逼近型 A D 转换器原理 12 3 2 复位电路和时钟电路 13 3 2 1 复位电路设计 13 3 2 2 时钟电路设计 13 3 3 总体电路设计 14 第 4 章 软件电路设计 15 4 1 初始化程序 15 4 2 程序设计总方案 15 4 3 A D 转换子程序 16 4 4 显示子程序 16 总结 18 附录 19 谢辞 25 参考文献 26 无锡科技职业学院毕业设计论文 简易数字电压表的设计 1 绪论绪论 随着微电子技术的不断发展 微处理器芯片的集成程度越来越高 单片机 已可以在一块芯片上同时集成 CPU 存储器 定时器 计数电路 这就很容易 将计算机技术与测量控制技术结合 组成智能化测量控制系统 数字电压表 DigitalVoltmeter 简称 DVM 它是采用数字化测量技术 把 连续的模拟量 直流输入电压 转换成不连续 离散的数字形式并加以显示的 仪表 与此同时 由 DVM 扩展而成的各种通用及专用数字仪器仪表 也把电 量及非电量测量技术提高到崭新水平 本章重点介绍单片 A D 转换器以及由它 们构成的基于单片机的数字电压表的工作原目前 由各种单片 A D 转换器构成 的数字电压表 已被广泛用于电子及电工测量 工业自动化仪表 自动测试系 统等智能化测量领域 示出强大的生命力理 传统的指针式刻度电压表功能单一 进度低 容易引起视差和视觉疲劳 因而不能满足数字化时代的需要 采用单片机的数字电压表 将连续的模拟量 如直流电压转换成不连续的离散的数字形式并加以显示 从而精度高 抗干扰 能力强 可扩展性强 集成方便 还可与 PC 实时通信 本文是以简易数字直流电压表的设计为研究内容 本系统主要包括三大模 块 转换模块 数据处理模块及显示模块 其中 A D 转换采用 ADC0809 对输 入的模拟信号进行转换 控制核心 AT89C52 再对转换的结果进行运算处理 最 后驱动输出装置 LED 显示数字电压信号 无锡科技职业学院毕业设计论文 简易数字电压表的设计 2 第第 1 章章 设计总体方案设计总体方案 1 1 设计要求设计要求 1 简易数字电压表可以测量 0 5V 2 采用 8 路模拟量输入 能够测量 0 5V 之间的直流电压值 3 电压显示用 4 位一体的 LED 数码管显示 至少能够显示两位小数 4 尽量使用较少的元器件 1 2 设计思路设计思路 1 根据设计要求 选择 AT89C52 单片机为核心控制器件 2 A D 转换采用 ADC0809 实现 与单片机的接口为 P1 口和 P2 口的高四 位引脚 3 电压显示采用 4 位一体的 LED 数码管 4 LED 数码的段码输入 由并行端口 P0 产生 位码输入 用并行端口 P2 低四位产生 1 3 设计方案设计方案 ADC0809 是 8 位的 A D 转换器 当输入电压为 5 00V 时 输出的数据值 为 255 0FFH 因此最大分辨率为 0 0196 5 255 ADC0809 具有 8 路模拟 量输入端口 通过 3 位地址输入端能从 8 路中选择一路进行转换 如每隔一段 时间依次轮流改变 3 位地址输入端的地址 就能依次对 8 路输入电压进行测量 LED 数码管显示采用软件译码动态显示 通过按键选择可对 8 路循环显示 也 可单路显示 单路显示可通过按键选择显示的通道数 如图 1 1 无锡科技职业学院毕业设计论文 简易数字电压表的设计 3 图 1 1 数字电压表系统设计方案框图 第第 2 章章 元器件介元器件介绍绍 2 12 1 ADC0809ADC0809 2 1 12 1 1 ADC0809ADC0809 特点特点 ADC0809 是带有 8 位 A D 转换器 8 路多路开关以及微处理机兼容的控制 逻辑的 CMOS 组件 它是逐次逼近式 A D 转换器 可以和单片机直接接口 ADC0809 由一个 8 路模拟开关 一个地址锁存与译码器 一个 A D 转换器和一 个三态输出锁存器组成 外形及引脚排列如图 2 1 图 2 1 ADC0809 引脚图 无锡科技职业学院毕业设计论文 简易数字电压表的设计 4 2 1 22 1 2 ADC0809ADC0809 引脚引脚内部结构内部结构 对 ADC0809 引脚功能说明 IN7 IN0 模拟量输入通道 ALE 地址锁存允许信号 对应 ALE 上跳沿 A B C 地址状态送入地址锁存 器中 START 转换启动信号 START 上升沿时 复位 ADC0809 START 下降沿时启 动芯片 开始进行 A D 转换 在 A D 转换期间 START 应保持 低电平 本信号 有时简写为 ST A B C 地址线 通道端口选择线 A 为低地址 C 为高地址 引脚图中 为 ADDA ADDB 和 ADDC 其地址状态与通道对应关系见表 2 1 CLK 时钟信号 ADC0809 的内部没有时钟电路 所需时钟信号由外界提供 因此有时钟信号引脚 通常使用频率为 500KHz 的时钟信号 EOC 转换结束信号 EOC 0 正在进行转换 EOC 1 转换结束 使用中该状态 信号即可作为查询的状态标志 又可作为中断请求信号使用 D7 D0 数据输出线 为三态缓冲输出形式 可以和单片机的数据线直接相 连 D0为最低位 D7为最高 OE 输出允许信号 用于控制三态输出锁存器向单片机输出转换得到的数据 OE 0 输出数据线呈高阻 OE 1 输出转换得到的数据 Vref 参考电源参考电压用来与输入的模拟信号进行比较 作为逐次逼近的 基准 其典型值为 5V Vref 5V Vref 5V 表 2 1 通道选择表 无锡科技职业学院毕业设计论文 简易数字电压表的设计 5 多路开关可选通 8 个模拟通道 允许 8 路模拟量分时输入 共用一个 A D 转换 器进行转换 这是一种经济的多路数据采集方法 地址锁存与译码电路完成对 A B C 3 个地址位进行锁存和译码 其译码输出用于通道选择 其转换结果 通过三态输出锁存器存放 输出 因此可以直接与系统数据总线相连 如图 2 2 所示 如图 2 2 ADC0809 内部逻辑结构 2 1 32 1 3 ADC0809ADC0809 应用说明应用说明 1 ADC0809 内部带有输出锁存器 可以与 AT89C52 直接相连 2 送要转换的哪一通道的地址到 A B C 端口上 3 初始化时 使 ST 和 OE 信号全为低电平 4 在 ST 端给出一个至少有 100ns 宽的正脉冲信号 5 是否转换完毕 我们根据 EOC 信号来判断 6 当 EOC 变为高电平时 这时给 OE 为高电平 转换的数据就输 无锡科技职业学院毕业设计论文 简易数字电压表的设计 6 出给单片机了 2 2 89C5289C52 2 2 12 2 1 89C5289C52 特点特点 AT89C52 是一个低电压 高性能 CMOS 8 位单片机 片内含 8k bytes 的可 反复擦写的 Flash 只读程序存储器和 256 bytes 的随机存取数据存储器 RAM 器件 采用 ATMEL 公司的高密度 非易失性存储技术生产 兼容标准 MCS 51 指令系统 片内置通用 8 位中央处理器和 Flash 存储单元 AT89C52 单片机 在电子行业中有着广泛的应用 89C52 内置 8 位中央处理单元 256 字节内部数据存储器 RAM 8k 片内程 序存储器 ROM 32 个双向输入 输出 I O 口 3 个 16 位定时 计数器和 5 个 两级中断结构 一个全双工串行通信口 片内时钟振荡电路 此外 89C52 还 可工作于低功耗模式 可通过两种软件选择空闲和掉电模式 在空闲模式下冻 结 CPU 而 RAM 定时器 串行口和中断系统维持其功能 掉电模式下 保存 RAM 数据 时钟振荡停止 同时停止芯片内其它功能 AT89C52 单片机为很 多嵌入式控制系统提供了一灵活性高且价廉的方案 外形及引脚排列如图 2 3 所示 图 2 3 AT89C52 引脚图 无锡科技职业学院毕业设计论文 简易数字电压表的设计 7 2 2 2 89C52 引脚引脚内部结构内部结构 AT89C52 为 8 位通用微处理器 采用工业标准的 C51 内核其主要用于会 聚调整时的功能控制 功能包括对会聚主IC 内部寄存器 数据 RAM 及外 部接口等功能部件的初始化 会聚调整控制 会聚测试图控制 红外遥控信 号 IR 的接收解码及与主板 CPU 通信等 主要管脚有 XTAL1 19 脚 和 XTAL2 18 脚 为振荡器输入输出端口 外接12MHz 晶振 RST Vpd 9 脚 为复位输入端口 外接电阻电容组成的复位电路 VCC 40 脚 和 VSS 20 脚 为供电端口 分别接 5V 电源的正负端 P0 P3 为可编程通 用 I O 脚 其功能用途由软件定义 在本设计中 P0 端口 32 39 脚 被定义为 N1 功能控制端口 分别与 N1 的相应功能管脚相连接 13 脚定 义为 IR 输入端 10 脚和 11 脚定义为 I2C 总线控制端口 分别连接 N1 的 SDAS 18 脚 和 SCLS 19 脚 端口 12 脚 27 脚及 28 脚定义为握手信 号功能端口 连接主板 CPU 的相应功能端 用于当前制式的检测及会聚调 整状态进入的控制功能 P0 口是一组 8 位漏极开路型双向 I O 口 也即地址 数据总线复用 口 作为输出口用时 每位能吸收电流的方式驱动8 个 TTL 逻辑门电路 对端口 P0 写 1 时 可作为高阻抗输入端用 在访问外部数据存储器或 程序存储器时 这组口线分时转换地址 低8 位 和数据总线复用 在访 问期间激活内部上拉电阻 在 Flash 编程时 P0 口接收指令字节 而在 程序校验时 输出指令字节 校验时 要求外接上拉电阻 P1 是一个带内部上拉电阻的 8 位双向 I O 口 P1 的输出缓冲级可 驱动 吸收或输出电流 4 个 TTL 逻辑 门电路 对端口写 1 通过内 部的上拉电阻把端口拉到高电平 此时可作输入口 作输入口使用时 因为 内部存在上拉 电阻 某个引脚被外部信号拉低时会输出一个电流 IIL P2 是一个带有内部上拉电阻的 8 位双向 I O 口 P2 的输出缓冲级可 驱动 吸收或输出电流 4 个 TTL 逻辑 门电路 对端口 P2 写 1 通 过内部的上拉电阻把端口拉到高电平 此时可作输入口 作输入口使用时 因为内部存在上拉电阻 某个引脚被外部信号拉低时会输出一个电流 IIL 在访问外部程序存储器或 16 位地址的外部数据存储器 例如执行MOVX 无锡科技职业学院毕业设计论文 简易数字电压表的设计 8 DPTR 指令 时 P2 口送出高 8 位地址数据 在访问 8 位地址的外部数 据存储器 如执行 MOVX RI 指令 时 P2 口输出 P2 锁存器的内容 P3 口是一组带有内部上拉电阻的 8 位双向 I O 口 P3 口输出缓冲级 可驱动 吸收或输出电流 4 个 TTL 逻 辑门电路 对 P3 口写入 1 时 它们被内部上拉电阻拉高并可作为输入端口 此时 被外部拉低的P3 口 将用上拉电阻输出电流 IIL P3 口除了作为一般的 I O 口线外 更 重要的用途是它的第二功能 P3 口还接收一些用于 Flash 闪速存储器编 程和程序校验的控制信号 RST 是复位输入 当振荡器工作时 RST 引脚出现两个机器周期以上高 电平将使单片机复位 当访问外部程序存储器或数据存储器时 ALE 地址锁存允许 输出脉 冲用于锁存地址的低 8 位字 节 一般情况下 ALE 仍以时钟振荡频率的 1 6 输出固定的脉冲信号 因此它可对外输出时钟或用于定时目的 要注意 的是 每当访问外部数据存储器时将跳过一个ALE 脉冲 对 Flash 存储 器编程期间 该引脚还用于输入编程脉冲 PROG 如有必要 可通过对 特殊功能寄存器 SFR 区中的 8EH 单元的 D0 位置位 可禁止 ALE 操作 该位置位后 只有一条 MOVX 和 MOVC 指令才能将 ALE 激活 此外 该引 脚会被微弱拉高 单片机执行外部程序时 应设置ALE 禁止位无效 程序储存允许 PSEN 输出是外部程序存储器的读选通信号 当 AT89C52 由外部程序存储器取指令 或数据 时 每个机器周期两次PSEN 有效 即输出两个脉冲 在此期间 当访问外部数据存储器 将跳过两次 PSEN 信号 XTAL1 为振荡器反相放大器的及内部时钟发生器的输入端 XTAL2 为振荡器反相放大器的输出端 2 2 32 2 3 主要功能特性主要功能特性 1 兼容 MCS51 指令系统 2 8k 可反复擦写 大于 1000 次 Flash ROM 3 32 个双向 I O 口 无锡科技职业学院毕业设计论文 简易数字电压表的设计 9 4 256x8bit 内部 RAM 5 3 个 16 位可编程定时 计数器中断 6 时钟频率 0 24MHz 7 2 个串行中断 可编程 UART 串行通道 8 2 个外部中断源 共 8 个中断源 9 2 个读写中断口线 3 级加密位 10 低功耗空闲和掉电模式 软件 设置睡眠和唤醒功能 2 3 LED 显示系统显示系统 2 3 1 LED 基本结构基本结构 LED 是发光二极管显示器的缩写 LED 由于结构简单 价格便宜 与单片 机接口方便等优点而得到广泛应用 LED 显示器是由若干个发光二极管组成显 示字段的显示器件 在单片机中使用最多的是七段数码显示器 LED 七段数码 显示器由 8 个发光二极管组成显示字段 其中 7 个长条形的发光二极管排列成 日 字形 另一个圆点形的发光二极管在显示器的右下角作为显示小数点用 其通过不同的组合可用来显示各种数字 LED 引脚排列如下图 2 4 所示 图 2 4 LED 引脚排列 无锡科技职业学院毕业设计论文 简易数字电压表的设计 10 2 3 2 LED 显示器的选择显示器的选择 在应用系统中 设计要求不同 使用的 LED 显示器的位数也不同 因此就 生产了位数 尺寸 型号不同的 LED 显示器供选择 在本设计中 选择 4 位一 体的数码型 LED 显示器 简称 4 LED 本系统中前一位显示电压的整数位 即个位 后两位显示电压的小数位 4 LED 显示器引脚如图 2 5 所示 是一个共阴极接法的 4 位 LED 数码显示 管 其中 a b c e f g 为 4 位 LED 各段的公共输出端 1 2 3 4 分别 是每一位的位数选端 dp 是小数点引出端 4 位一体 LED 数码显示管的内部结 构是由 4 个单独的 LED 组成 每个 LED 的段输出引脚在内部都并联后 引出 到器件的外部 图 2 5 4 位 LED 引脚 对于这种结构的 LED 显示器 它的体积和结构都符合设计要求 由于 4 位 LED 阴极的各段已经在内部连接在一起 所以必须使用动态扫描方式 将所有 数码管的段选线并联在一起 用一个 I O 接口控制 显示 2 3 3 LED 译码方式译码方式 本设计系统中为了简化硬件线路设计 LED 译码采用软件编程来实现 由 于本设计采用的是共阴极 LED 其对应的字符和字段码如下表 2 2 所示 显示字符共阴极字段码 03FH 106H 25BH 34FH 466H 无锡科技职业学院毕业设计论文 简易数字电压表的设计 11 56DH 67DH 707H 87FH 96FH 表 2 2 共阴极字段码 第第 3 章章 硬件电路设计硬件电路设计 3 1 A D 转换模块转换模块 3 1 1 A D 转换器转换器 现实世界的物理量都是模拟量 能把模拟量转化成数字量的器件称为模 数 转换器 A D 转换器 A D 转换器是单片机数据采集系统的关键接口电路 按 照各种 A D 芯片的转化原理可分为逐次逼近型 双重积分型等等 双积分式 A D 转换器具有抗干扰能力强 转换精度高 价格便宜等优点 与双积分相比 逐次逼近式 A D 转换的转换速度更快 而且精度更高 比如 ADC0809 ADC0808 等 它们通常具有 8 路模拟选通开关及地址译码 锁存电 路等 它们可以与单片机系统连接 将数字量送到单片机进行分析和显示 一 个 n 位的逐次逼近型 A D 转换器只需要比较 n 次 转换时间只取决于位数和时 钟周期 逐次逼近型 A D 转换器转换速度快 因而在实际中广泛使用 3 1 2 逐次逼近型逐次逼近型 A D 转换器原理转换器原理 逐次逼近型 A D 转换器是由一个比较器 A D 转换器 存储器及控制电路 组成 它利用内部的寄存器从高位到低位一次开始逐位试探比较 转换过程如下 开始时 寄存器各位清零 转换时 先将最高位置 1 把数据送入 A D 转 无锡科技职业学院毕业设计论文 简易数字电压表的设计 12 换器转换 转换结果与输入的模拟量比较 如果转换的模拟量比输入的模拟量 小 则 1 保留 如果转换的模拟量比输入的模拟量大 则 1 不保留 然后从第 二位依次重复上述过程直至最低位 最后寄存器中的内容就是输入模拟量对应 的二进制数字量 其原理框图如图 6 所示 顺序脉冲发生器逐次逼近 寄存器 ADC 电压 比较器 输入电压 输入数字量 图 6 逐次逼近式 A D 转换器原理图 3 2 复位电路和时钟电路复位电路和时钟电路 3 2 1 复位电路设计复位电路设计 单片机在启动运行时都需要复位 使 CPU 和系统中的其他部件都处于一个 确定的初始状态 并从这个状态开始工作 MCS 51 单片机有一个复位引脚 RST 采用施密特触发输入 当震荡器起振后 只要该引脚上出现 2 个机器周期 以上的高电平即可确保时器件复位 复位完成后 如果 RST 端继续保持高电平 MCS 51 就一直处于复位状态 只要 RST 恢复低电平后 单片机才能进入其他 工作状态 单片机的复位方式有上电自动复位和手动复位两种 这里是 51 系 列单片机统常用的上电复位和手动复位组合电路 只要 Vcc 上升时间不超过 1ms 它们都能很好的工作 3 2 2 时钟电路设计时钟电路设计 单片机中 CPU 每执行一条指令 都必须在统一的时钟脉冲的控制下严格按 时间节拍进行 而这个时钟脉冲是单片机控制中的时序电路发出的 CPU 执行 一条指令的各个微操作所对应时间顺序称为单片机的时序 MCS 51 单片机芯 无锡科技职业学院毕业设计论文 简易数字电压表的设计 13 片内部有一个高增益反相放大器 用于构成震荡器 XTAL1 为该放大器的输入 端 XTAL2 为该放大器输出端 但形成时钟电路还需附加其他电路 本设计系统采用内部时钟方式 利用单片机内部的高增益反相放大器 外 部电路简 只需要一个晶振和 2 个电容即可 如图 7 所示 图 7 时钟电路 电路中的器件选择可以通过计算和实验确定 也可以参考一些典型电路的 参数 电路中 电容器两个电容对震荡频率有微调作用 通常的取值范围是 30 10pF 在这个系统中选择了 30pF 石英晶振选择范围最高可选 24MHz 它决定了单片机电路产生的时钟信号震荡频率 在本系统中选择的是 12MHz 因而时钟信号的震荡频率为 12MHz 3 3 总体电路设计总体电路设计 简易数字电压测量电路由 A D 转换 数据处理及显示控制等组成 电路原 理图如图 8 所示 图 8 原理图 无锡科技职业学院毕业设计论文 简易数字电压表的设计 14 简易数字直流电压表的硬件电路已经设计完成 就可以选取相应的芯片和 元器件 利用 Proteus 软件绘制出硬件的原理 并仔细地检查修改 直至形成完 善的硬件原理图 但要真正实现电路对电压的测量和显示的功能 还需要有相 应的软件配合 才能达到设计要求 A D 转换由集成电路 ADC0809 完成 ADC0809 具有 8 路模拟输入端口 地址线 第 23 25 脚 可决定哪一路模拟输入作 A D 转换 第 22 脚为地址锁 存控制 当输入为高电平时 对地址信号进行锁存 第 6 脚为测试控制 当输 入一个 2us 宽高电平脉冲时 就开始 A D 转换 第 7 脚为 A D 转换结束标志 当 A D 转换结束时 第 7 脚输出高电平 第 9 脚为 A D 转换数据输出允许控制 当 OE 脚为高电平时 A D 转换数据从端口输出 第 10 脚为 ADC0809 的时钟 输入端 利用单片机第 30 脚的 6 分频晶振频率 再通过 14024 二分频得到 1MHz 时钟 单片机的 P1 P3 0 P3 3 端口作为 4 位 LED 数码管显示控制 P3 5 端口用 作单路显示转换按钮 P3 6 端口用作单路显示是选择显示的通道 P0 端口用作 A D 转换数据读入 P2 端口用作 ADC0809 的 A D 转换控制 第第 4 章章 软件电路设计软件电路设计 4 1 初始化程序初始化程序 所谓初始化 是对将要用到的 MCS 51 系列单片机内部部件或扩展芯片进 行初始工作状态设定 初始化子程序的主要工作是设置定时器的工作模式 初 值预置 开中断和打开定时器等 系统上电时 初始化程序主要用来执行 70H 77H 内存单元清 0 和 P2 口置 0 等准备工作 4 2 程序设计总方案程序设计总方案 根据模块的划分原则 将该程序划分初始化模块 A D 转换子程序和显示 无锡科技职业学院毕业设计论文 简易数字电压表的设计 15 子程序 这三个程序模块构成了整个系统软件的主程序 如图 9 所示 图 9 数字式直流电压表主程序框图 4 3 A D 转换子程序转换子程序 A D 转换子程序用来控制对输入的模块电压信号的采集测量 并将对应的 数值存入相应的内存单元 其转换流程图如图 10 所示 图 10 A D 转换流程图 4 4 显示子程序显示子程序 显示子程序采用动态扫描实现四位数码管的数值显示 在采用动态扫描显 示方式时 要使得 LED 显示的比较均匀 又有足够的亮度 需要设置适当的扫 无锡科技职业学院毕业设计论文 简易数字电压表的设计 16 描频率 当扫描频率在 70HZ 左右时 能够产生比较好的显示效果 一般可以 采用间隔 10ms 对 LED 进行动态扫描一次 每一位 LED 的显示时间为 1ms 在本设计中 为了简化硬件设计 主要采用软件定时的方式 即用定时器 0 溢出中断功能实现 11 s 定时 通过软件延时程序来实现 5ms 的延时 无锡科技职业学院毕业设计论文 简易数字电压表的设计 17 总结总结 经过一段时间的努力 毕业论文简易数字电压表基本完成 但设计中的不 足之处仍然存在 这次设计是我第一次设计电路 在这过程中 我对电路设计 单片机的使用等都有了新的认识 通过这次设计学会了 Proteus 的使用方法 掌握了从系统的需要 方案的设计 功能模块的划分 原理图的设计和电路图 的仿真的设计流程 积累了不少经验 基于单片机的数字电压表使用性强 结构简单 成本低 外接元件少 在 实际应用工作应能好 测量电压准确 精度高 系统功能 指标达到了课题的 预期要求 系统在硬件设计上充分考虑了可扩展性 经过一定的改造 可以增 加功能 本文设计主要实现了简易数字电压表测量一路电压的功能 详细说明 了从原理图的设计 电路图的设计再到软件的调试 通过本次设计 我对单片机这门课有了进一步的了解 无论是在硬件连接 方面还是在软件编程方面 本次设计采用了 AT89C52 单片机芯片 与以往的单 片机相比增加了许多新的功能 使其功能更为完善 应用领域也更为广泛 设 计中还用到了模 数转换芯片 ADC0809 以前在学单片机课程时只是对其理论知 识有了初步的理解 通过这次设计 对它的工作原理有了更深的理解 在调试 过程中遇到很多问题 硬件上的理论知识学得不够扎实 对电路的仿真方面也 不够熟练 总之这次电路的设计 基本上达到了设计的功能要求 在以后的实践中 我将继续努力学习电路设计方面的理论知识 并理论联系实际 争取在电路设 计方面能有所提升 无锡科技职业学院毕业设计论文 简易数字电压表的设计 18 附录附录 程序程序部分 部分 简易数字电压表 测量电压最大为 5V 显示最大为 5 00V 70H 77H 存放采样值 78H 7BH 存放显示数据 依次为个位 十位 百位 通道标志位 P3 5 作单路显示 循环显示转换按键用 P3 6 作单路显示时选择通道按键用 主程序和中断程序入口 ORG 001BH RETI ORG 0023H RETI ORG 002BH RETI 初始化程序中的各变量 CLEARMEMIO CLR A MOV P2 A MOV R0 70H 显示数据初始 70H 77H MOV R2 ODH LOOPMEM MOV R0 A INC R0 DJNZ R2 LOOPMEM 无锡科技职业学院毕业设计论文 简易数字电压表的设计 19 MOV 20H 00H MOV A 0FFH MOV P0 A MOV P1 A MOV P3 A RET 主程序 START LCALL CLEARMEMIO 初始化 MAIN LCALL TEST 测量一次 LCALL DISPLAY 显示数据一次 AJMP MAIN NOP PC 值出错处理 NOP INC 7BH 通道显示数加 1 DJNZ R3 DISLOOP1 RET DISP11 MOV A 7BH 单路显示控制子程序 SUBB A 01H MOV 7BH A ADD A 70H MOV R0 A DISLOOP11 LCALL TUNBCD 显示数据为 3 位 BCD 码存入 7AH 79H 78H MOV R2 0FFH 每路显示时间控制在 4ms 25 DISLOOP22 LCALL DISP 调 4 位显示程序 LCALL KEYWORK2 按键检测 DJNZ R2 DISLOOP22 INC 7BH 通道显示数加 1 RET 无锡科技职业学院毕业设计论文 简易数字电压表的设计 20 显示数据转为 3 位 BCD 码子程序 显示数据转为 3 位 BCD 码存入 7AH 79H 78H 最大值为 5 00V TUNBCD MOV A R0 255 51 5 00 运算 MOV B 51 DIV AB MOV 7AH A 个位数放入 7AH MOV A B 余数大于 19H F0 为 1 乘法溢出 结果加 5 CLR F0 SUBB A 1AH MOV F0 C MOV A 10 MUL AB MOV B 51 DIV AB JB F0 LOOP3 ADD A 5 LOOP MOV 78H A 小数后第二位放入 78H RET 显示子程序 共阳显示子程序 显示内容在 78H 7BH DISP MOV R1 78H 共阳显示子程序 显示内容在 78H 7BH MOV R5 0FEH 数据在 P1 输出 列扫描在 P3 0 P3 3 PLAY MOV P1 0FFH MOV A R5 ANL P3 A MOV A R1 MOV DPTR TAB MOVC A A DPTR 无锡科技职业学院毕业设计论文 简易数字电压表的设计 21 MOV P1 A JB P3 2 PLAY1 小数点处理 CLR P1 7 小数点显示 显示格式为 XX XX PLAY1 LCALL DL1MS INC R1 MOV A P3 JNB ACC 3 ENDOUT RL A MOV R5 A MOV P3 0FFH AJMP PLAY ENDOUT MOV P3 0FFH MOV P1 0FFH RET TAB DB 0C0H 0F9H 0A4H 0B0H 99H 92H 82H 0F8H 80H 90H 0FFH 段码表 延时程序 DL10MS MOV R6 0D0H 10ms 延时子程序 DL1 MOV R7 19H DL2 DJNZ R7 DL2 DJNZ R6 DL1 RET DL1MS MOV R4 0FFH 513 513 ms 1ms 电压测量 A D 子程序 一次测量数据 8 个 依次放入 70H 77H 单元中 TEST CLR A A 转换子程序 MOV P2 A MOV R0 70H 转换值存放地址 MOV R7

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论