《单片机设计-电压传感器》由会员分享,可在线阅读,更多相关《单片机设计-电压传感器(23页珍藏版)》请在金锄头文库上搜索。
1、目录目录 第第 1 1 章章 课题的设计要求 目的 意义课题的设计要求 目的 意义1 1 1 课题的设计要求 1 1 2 课题的设计目的与意义 1 第第 2 2 章章 系统总体方案选择与说明系统总体方案选择与说明 2 2 1 通道转换方案设计 2 2 2 显示部分方案设计 2 第第 3 3 章章 系统结构框图与工作原理系统结构框图与工作原理 3 3 1 系统结构框图 3 3 2 工作原理 4 第第 4 4 章章 各单元硬件设计说明及计算方法各单元硬件设计说明及计算方法 5 4 1 单片机的选择 5 4 2 时钟电路与复位电路的设计 6 4 3LED 显示电路设计与器件选择 7 4 4 A D
2、转换电路和测量电路的设计 9 第第 5 5 章章 软件设计与说明软件设计与说明11 5 1 系统软件设计 流程图 11 5 2 程序设计 12 第第 6 6 章章 使用说明与调试结果使用说明与调试结果13 总结总结14 参考资料参考资料 15 附录附录 1 1 系统原理图系统原理图 16 1 附录附录 2 2 程程序序清单清单 17 第第 1 1 章章 课题的设计要求 目的 意义课题的设计要求 目的 意义 1 11 1 课题的设计要求 课题的设计要求 设计并制作用单片机控制一个数字式电压表 本电压表为多 路模拟量输入 范围为 0 5V 将采集的数据转换成工程量在 LED 数码显示器上显示 测量
3、最小分辨率为 0 0196V 测量误差为 0 02V 1 21 2 课题的设计目的与意义 课题的设计目的与意义 课程设计是让我熟练掌握了课本上的一些理论知识 课程设 计也是一个学习新知识 巩固加深所学课本理论知识的过程 它 培养了我们综合运用知识的能力 独立思考和解决问题的能力 加深我们对单片机原理与应用课程的理解 2 第第 2 2 章章 系统总体方案选择与说明系统总体方案选择与说明 实现数字电压表的方案很多 目前广泛采用的时基于 74 系列 逻辑器件 本设计将介绍基于单片机实现的方案 2 12 1 通道转换方案设计通道转换方案设计 方案一 考虑到 ADC0808 的 8 路模拟量输入本质上也
4、是模拟 开关 因此可以利用其 8 个模拟通道中的 3 个作为通道转换器 即根据通道对应的电压测量范围确定对应的电压方法倍数设计对 应的放大电路 方案二 利用手动开关实现通道转换 该方案可简化控制程 序 消减系统开销 缩短反应时间 不足之处在于操作麻烦 综上所述 方案二所需元件少 成本低且易于实现 则选此 方案 2 22 2 显示部分方案设计显示部分方案设计 方案一 单片机的 P0 P2 口分别接 74LS248 和 ULN2003A 芯 片来驱动四位数码管 方案二 直接用单片机的 P1 P2 口驱动数码管 此处把 ADC0808 的输出端接 P1 口 因为 P1 口能够驱动数码管 综上所述 两
5、个方案都可行 但方案二所需元件少 成本低 则选择此方案 3 第第 3 3 章章 系统结构框图与工作原理系统结构框图与工作原理 3 13 1 系统结构框图系统结构框图 根据项目要求 确定该系统的设计方案 图 3 1 为该方案的 硬件电路设计框图 由 6 个部分组成 即单片机 时钟电路 复 位电路 LED 显示电路 A D 转换器和测量电压输入电路 时钟电路 复位电路 单 片 机 LED 显示电路 A D 转换测量电压输入电路 图 3 1 系统结构框图 4 3 23 2 工作原理工作原理 系统采用 12M 晶振产生脉冲做 AT89C51 的内部时钟信号 通 过软件设置单片机的内部定时器 T0 产生
6、中断信号 利用中断设 置单片机的 P2 4 口取反产生脉冲做 AT89C51 的时钟信号 通过 按键选择八路通道中的一路 将该路电压送入 ADC0808 相应通道 单片机软件设置 ADC0808 开始 A D 转换 转换结束 ADC0808 的 EOC 端口产生高电平 同时将 ADC0808 的 EO 端口置为高电平 单 片机将转换后结果存到片内 RAM 系统调出显示子程序 将保存 结果转化为 0 00 5 00V 分别保存在片内 RAM 系统调出显示子程 序 将转化后数据查表 输出到 LED 显示电路 将相应电压显示 出来 程序进入下一个循环 5 第第 4 4 章章 各单元硬件设计说明及计算
7、方法各单元硬件设计说明及计算方法 根据设计要求与思路 确定该系统的设计方案 硬件电路由 5 个部分组成 即单片机时钟电路 复位电路 4 位显示器电路 A D 转换电路和键盘及测量电路 4 14 1 单片机的选择单片机的选择 系统设计使用 MCS 51 单片机 8051 芯片 8051 芯片由以下 部分组成 中央处理器 256 单元的内部数据存储器 4KB 的程 序存储器 定时器 计数器 四个八位的 I O 口 中断控制系统 及时钟电路 图 4 1 所示为采用双列直插式封装的 8051AH 芯片 管脚图 XTAL2 18 XTAL1 19 ALE 30 EA 31 PSEN 29 RST 9 P
8、0 0 AD0 39 P0 1 AD1 38 P0 2 AD2 37 P0 3 AD3 36 P0 4 AD4 35 P0 5 AD5 34 P0 6 AD6 33 P0 7 AD7 32 P1 0 1 P1 1 2 P1 2 3 P1 3 4 P1 4 5 P1 5 6 P1 6 7 P1 7 8 P3 0 RXD 10 P3 1 TXD 11 P3 2 INT0 12 P3 3 INT1 13 P3 4 T0 14 P3 7 RD 17 P3 6 WR 16 P3 5 T1 15 P2 7 A15 28 P2 0 A8 21 P2 1 A9 22 P2 2 A10 23 P2 3 A11
9、24 P2 4 A12 25 P2 5 A13 26 P2 6 A14 27 U1 AT89C51 6 图 4 1 80C51 芯片管脚图 4 24 2 时钟电路与复位电路的设计时钟电路与复位电路的设计 时钟电路是计算机最核心的部分 它控制着计算机的工作 MCS 51 单片机允许的时钟频率典型值为 12MHZ 80C51 单片机内 部有一个高增益反相放大器 用于构成振荡器 反相放大器的输 入端为 XTAL1 输出端为 XTAL2 分别是 80C51 的 19 脚和 18 脚 在 XTAL1 和 XTAL2 两端跨接石英晶体及两个电容就可以构成稳定 的自激振荡器 石英晶振起振后要能在 XTAL2
10、 线上输出一个 3V 左右的正弦波 使 MCS 51 片内的 OCS 电路按石英晶振相同频率 自激震荡 通常 OCS 的输出时钟频率 fosc 为 0 5MHZ 16MHZ 典型值为 12MHZ 电容器 C1 和 C2 通常取 30pF 左右 对震荡频率 有微调作用 调节它们可以达到微调震荡周期 fosc 的目的 单片机的 RST 管脚为主机提供一个外部复位信号输入端口 复位信号是高电平有效 高电平有效的持续时间应为 2 个机器周 期以上 单片机的复位方式有上电自动复位和手工复位两种 图 4 2 所示是 51 系列单片机常用的上电复位电路 只要 Vcc 上升时 间不超过 1ms 它们都能很好地
11、工作 复位以后 单片机内各部 件恢复到初始状态 电阻电容器件的参考值 R1 200 R2 1K C3 22 F RET 按 键可以选择专门的复位按键 也可以选择轻触开关 电路图如图 4 2 所示 7 图 4 2 时钟电路与复位电路 4 3LED4 3LED 显示电路设计与器件选择显示电路设计与器件选择 单片机应用系统中 通常都需要进行人机对话 这包括人对 应用系统的状态干预与数据输入 以及应用系统向人们显示运行 状态与运行结果 显示器 键盘电路就是用来完成人机对话活动 的人机通道 LED 显示器的驱动是一个非常重要的问题 此设计不采用段驱 动芯片和位驱动芯片 直接由单片机的 P1 P2 口驱动
12、 实验证 明可行 8 在应用系统中 设计要求不同 使用的 LED 显示器的位数也 不同 因此生产厂家就生产了多种位数 尺寸 型号不同的 LED 显示器 在我们的设计中 选择 4 位一体的共阴极时钟型 LED 显 示器 采用动态显示方式 图 4 2 为本系统 LED 显示电路 采用 P1 口作为 LED 的段码输出信号 P2 口的低四位作为 LED 位码的 输出控制信号 图 4 3 LED 显示原理图 说明 1 位显示转换通道 2 3 和 4 位显示电压表数值 9 4 44 4 A DA D 转换电路和测量电路的设计转换电路和测量电路的设计 A D 转换器的功能是将模拟量转换为与其大小成正比的数
13、字量 信号 能实现这种转换的原理和方法很多 此设计采用 ADC0808 转换器 ADC0808 是一种逐次逼近型的 8 位 A D 转换器件 片内 有 8 路模拟开关 可输入 8 个模拟量 单极性 量程为 0 5V 74LS373 是带有清除端的 8D 触发器 只有在清除端保持 高电平时 才具有锁存功能 锁存控制端为 11 脚 CLK 采用上升 沿锁存 1D 8D 为数据输入端 1Q 8Q 为数据输出端 正脉冲 触发 低电平清除 常用做 8 位地址锁存器 用单片机的 P2 4 对应 ADC0808 的 ALE 端 P2 5 对应 EOC 端 P2 6 对应 OE 端 P3 3 对应 CLK 端
14、 用软件设定给定的值 ADDA ADDB 和 ADDC 连接 74LS373 的输出端 由 74LS373 输出值 选择通道 IN0 IN7 分别 8 个被测电位器 根据选择的通道 ADC0808 选择测量相应通道的电位 电路图如图 4 4 所示 10 图 4 4 A D 转换测量电路 说明 0808 芯片的 IN0 IN7 分别接 8 个电位器 OUT1 OUT8 接单片机 P0 口并与 74373 的 D0 D7 连接 74373 的 OE 接地 LE 接单片机 P3 2 管脚 用程序控制其锁存地址 0808 芯片的 CLK 接 P3 3 用程序给其初始化脉冲 ST 和 ALE 接 P2
15、4 OE EOC 分别 接 P2 6 P2 5 编程控制以控制 0808 芯片 11 第第 5 5 章章 软件设计与说明软件设计与说明 5 15 1 系统软件设计 流程图 系统软件设计 流程图 图 5 1 为程序软件设计流程图 其中 a 为主程序流程图 b 为 A D 转换子程序流程图 开始 初始化 调用 A D 转 换子程序 调用显示子 程序 开始 开始模数转换 转换是否 完成 取得模数转换结果 并转化为工程量 显示转化结果 结束 a 主程序流程 图 b A D 转换子程序流程 图 调用延时程序 其中 A D 转换子程序是将 0808 转化后的数字量 需通过转化 子程序转化成工程量并通过查表
16、送到 P1 口送给 LED 显示 12 5 25 2 程序设计程序设计 1 初始化程序 给 ADC0808 时钟脉冲信号 并指向 0808 的 0 通道启动 A D 转换 通过延时等待 8 路采集完毕 2 数据读入 控制 0808 芯片的 ALE START EOC 和 OE STRT 为正脉冲时转换开始 EOC 为低电平时 A D 转化结 束 OE 为高电平时转换结果送到数据线并被单片机读入 ALE 为上升沿信号地址锁存允许 CLR P2 4 SETB P2 4 CLR P2 4 JNB P2 5 SETB P2 6 MOVX A DPTR MOV ADC A CLR P2 6 3 消抖 防抖动的时间是 10ms 4 通道转换 当判断有按键按下后 P3 2 口置位即允许 74373 地址锁存 DPTR 加 1 指向下一通道 13 第 6 章 使用说明与调试结果 该数字电压表可以同时测量 8 路直流数据 电压表测量范围 为 0 00 5 00V 测量最小分辨率为 19 5mv 整个系统由一个按钮控制 最左边个 LED 显示器是指向当前 通道 即电位器编号 用 Proteus 仿真中点