实时温度显示系统的设计与仿真毕业设计(编辑修改稿)内容摘要:
系数晶振的振荡频率受温度的影响很小,用于产生固定频率的脉冲信号送给减法计数器 1;高温度系数晶振随温度变化其震荡频率明显改变,所产生的信号作为减法计数器 2 的脉冲输入。 图中还隐含着计数门,当计数门打开时 DS18B20 就对低温度系数晶振产生的脉冲信号进行计数,进而完成温度测量。 计数门的开启时间由高温度系数晶振来决定,每次测量前,首先将 55176。 C 所对应的一个基数分别置入减法计数器 温度寄存器中。 减法计数器 1 对低温度系数晶振产生的脉冲信号进行减法 计数,当减法计数器 1 的预置值减到 0 时,温度寄存器的值将加 1,减法计数器 1 的预置值将重新开始 对低温度系数晶振产生的脉冲信号进行减法计数,如此循环,直到减法计数器 2 计数到 0 时,停止温度寄存其中的数值就是所测温度值。 增加 停止 图 DS18B20 测温原理图 AT89C2051 芯片 减到 0 温度寄存器 减到 0 高温度系数振荡器 减法计数器 2 预置 低温度系数振荡器 减法计数器 1 斜率累加器 计数比较器 预置 6 在本设计中,采用了单片机 AT89C2051 作为核心电路的设计。 AT89C2051 是一个带有 2K 字节闪速可编程可擦除只读存储器( EEPROM)的低电压,高性能 8位 CMOS 微处理器。 它采用 ATMEL 的高密非易失存储技术制造并和工业标准MCS51 指令集和引脚结构兼容。 通过在单块芯片上组合通用的 CPLI 和闪速存储器, ATMEL 的 AT89C2051 是一强劲的微型处理器,它对许多嵌入式控制应用提供一定高度灵活和成本低的解决办法。 AT89C2051 提供以下标准功能: 2K 字节闪速存储器, 128 字节 RAM, 15 根 I/O口,两个 16 位定时器,一个五向量两级中断结构,一个全双工串行口,一个精密模拟比较 器以及两种可选 的软件节电工作方式。 空闲方停止 CPU 工作但允许RAM、定时器 /计数器、串行工作口和中断系统继续工作。 掉电方式保存 RAM 内容但振荡器停止工作并禁止有其它部件的工作到下一个硬件复位。 单片机 AT89C2051 具有低电压供电和小体积等特点,两个端口刚好满足电路系统的设计需要,很适合便携手持式产品的设计使用,系统可以用两节电池供电。 复位电路 单片机在启动时都需要复位,以使 CPU 及系统各部件处于确定的初始状态,并从初态开始工作。 89 系列单片机的复位信号是从 RST 引脚输入到芯片内的施密特触 发器中的。 当系统处于正常工作状态时,且振荡器稳定后,如果 RST 引脚上有一个高电平并维持 2 个机器周期 (24 个振荡周期 )以上,则 CPU 就可以响应并将系统复位。 单片机系统的复位方式有:手动按钮复位和上电复位。 本设计中 AT89C2051 是采用上电自动复位。 如图 所示。 RC 构成微分电路,在上电瞬间,产生一个微分脉冲,其宽度若大于 2 个机器周期,将复位。 为保证微分脉冲宽度足够大, RC 时间常数应大于两个机器周期。 图 复位电路 图 晶振电路 晶振电路 7 AT89C2051 单片机内部的振荡电路是一个高增益反向放大器,引线 XTAL1 和XTAL2 分别是放大器的输入端和输出端。 单片机内部虽然有振荡电路,但要形成时钟,外部还需附加电路。 AT89C2051 的时钟产生方式有两种:内部时钟电方式和外部时钟方式。 由于外部时钟方式用于多片单片机组成的系统中,所以此处选用内部时钟方式。 即利用其内部的振荡电路在 XTAL1 和 XTAL2 引线上外接定时元件,内部振荡电路产生自激振荡。 最常用的是在 XTAL1 和 XTAL2 之间接晶体振荡器与 电路构成稳定的自激振荡器,如图 25 电路所示为单片机最常用的时钟振荡电路的接法,其中晶振可选用振荡频率为 6MHz 的石英晶体,电容器一般选择30PF 左右。 显示电路 显示电路采用 4 位共阳极 LED 数码管,如图 所示。 图 LED 显示器 LED 显示器工作在静态显示时,其公共阳极(或阴极)接 VCC(或 GND),一直处于显示有效状态,所以每一位的显示内容必须由锁存器加以锁存,显示各位相互独立。 静态显示时, LED 的亮度高,控制容易,但功耗大,所需口线多。 若显示位数增多,则静态显示方式很难适应。 一般需要采用动态显示方式。 软件设计 系统程序设计 系统程序主要包括主程序、读出温度子程序、温度转换命令子程序、计算温度子程序和显示数据刷新子程序。 1) 主程序的主要功能是负责温度的实时显示、读出并处理 DS18B20 的测量温度值,温度测量每一秒进行一次。 其程序流程图如图 所示 2) 读出温度子程序的主要功能是读出 RAM 中的 9 字节,在读出时需进行CRC 校验,校验有错时不进行温度数据的改写。 流程图如图 所示。 8 3) 温度转换命令子程序主要是发温度转换开始命令。 当采用 12 位分辨率时,转换时间约为 750ms。 在本程序设计中采用 1s 显示程序延时法等待转换完成。 N Y Y Y Y N Y 图 主程序流程图 图 读出温度子程序流程图 4) 计算温度子程序将 RAM 中读取值进行 BCD 码的转换运算,并进行温度值正负的判定,其程序流程图如图 所示。 5) 显示数据刷新子程序主要是对显示缓冲器中的显示数据进行刷新操作,当最高显示位为 0 时,将符号显示位移入下一位。 程序流程图如图 所示。 初始化 调用显示子程序 1s 到。 初次上电 读出温度值 温度计算处理 显示数据刷新 发温度转换开始命令 发 DS18B20 复位命令 发跳过 ROM 命令 发读取温度命令 读取操作, CRC 校验 9 字节完。 CRC 校验正确。 移入温度暂存器 结束 9 N Y 图 计算温度子程序流程图 N Y N Y 图 显示数据刷新子程序流程图 开始 温度 0? 温度值取补码 置“ ”标志 计算小数位温度 BCD 值 计算整数位温度 BCD 值 结束 置“ +”标志 温度数据移入显示寄存器 十位数 0。 百位数 0。 结束 十位数显示符号 百位数不显示 百位数显示数据 (不显示符号) 10 源程序 (见附录 B) 3 系统仿真 仿真软件简介 本 设 计 采 用 Proteus 软 件 进 行 仿 真。 proteus 软 件 是 英 国Labcenterelectronics 公司出版的 EDA 工具软件,它不仅有其他 EDA 工具软件的仿真功能,还能仿真单片机及外围器件。 它是目前最好的仿真单片机及外围器件的软件。 Proteus 从原理图布图、代码调试到单片机与外围电路协同仿真,一键切换到 PCB 设计,真正实现了从概念到产品的完整设计。 是目前世界上唯一将电路仿真软件、 PCB 设计软件和虚拟模型仿真软件三合一的设计平台,其处理器模型支持 805 HC1 PIC10/12/16/18/24/30/DsPIC3 AVR、 ARM、 8086 和 MSP430等, 20xx 年又增加了 Cortex 和 DSP 系列处理器,并持续增加其他系列处理器模型。 在编译方面,它也支持 IAR、 Keil 和 MPLAB 等多种编译器。 PROTEUS 不仅可将许多单片机实例功能形象化,也可将许多单片机实例运行过程形象化。 前者可在相当程度上得到实物演示实验的效果,后者则是实物演示实验难以达到的效果。 它的元器件、连接线路等却和传统的单片机实验硬件高度对应。 这在相当程度上替代了传统的单片机实验教学的功能,由于 PROTEUS 提供了实验室无法相比的大量的元器件库,提供了修改电路设计的灵活性、提供了实验室在数量、质量上难以相比的虚拟仪器、仪表。 它具有设计灵活,结果、过程的统一的特点。 可使设计时间大为缩短、耗资大为减少,也可降低工程制造的风险。 相信在单片机开发应用中 PROTEUS 也能茯得愈来愈广泛的应用。 在使用 Proteus 进行系统仿。实时温度显示系统的设计与仿真毕业设计(编辑修改稿)
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。
用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。