数字温度警报器的设计_毕业设计(编辑修改稿)内容摘要:

片机。 U2 温度传感器。 U3 集成芯片。 U4 4位 7段数码管 共阳。 串口头 母头。 USB头。 洞洞板 其中(一些元器件需要注意): 4位 数码管 共阳 焊接的时候顺序一定要对,千万不能跟共阴的数码管搞混合。 DS18B20温度传感器 — 注意接地和 VCC接口不要接反 和最小系统电路连接时要接对引脚不能搞混。 串口头 母头 RS232端口引脚定义: (因为计算机后面的串口多为公头,所以此母头可以直接插入计算 机的 COM口进行连接 ) 引脚序号: 2 3 5 信号定义: TXD RXD 地 (只要接 2号、 3号和 5号口接可以了 )。 PNP三极管:左边第一脚是 b,中间是 c,右边是 e这样的话 c接高电平,e接低电平, b接低电平三极管就会导通。 b接高电平就会截止。 还有些情况,中间是 b左边是 e右边是 c。 可用万用表测一下就好了 ( 得接的时候要在后面加个小电阻 不然三极管会烧坏 ) 各个部分电路与分析 最小系统 本次课程设计中选用 AT89C52式单片机,其最小系统主要由电复位、振荡电路组成。 单片机的最小系统如图所示。 单片机的复位电路原理是在单片机的复位引脚 RST上电阻和电容,实现上电复位。 当复位电平持续两个时钟周期以上时复位有效。 复位电路由按键复位和上电复位两部分组成,上电复位是在复位引脚上连接一个电容到 VCC,再连接一个电阻到 GND;按键复位是在复位电容上并联一个开关,当开关按下时电容被放电、 RST也被拉到高电平,而且由于电容的充电,会 毕业设计用纸 第 9 页 共 23 页 保持一段时间的高电平来使单片机复位。 AT89C51单片机使用 12MHZ的晶振最为振荡源,由于单片机内部有振荡电路,所以外部只要连接一个晶振和两个电容即可,电容一般在 15pF至 50pF之间。 外部晶振结合单片机内部电路产生单片机所需的时钟频率。 温度采集电路 温度采集电路部分,采用数字温度传感器 DS18B20进行温度采集。 DS18B20是 DALLAS公司生产的一线式数字温度传感器,具有 3个引脚;温度侧量范围为 55℃ — +125℃,测量精度为 ℃;被测温度用符号扩展的 16位数字量方式串行输出; CPU只需用一个端口线就可以与 DS18B20通信。 温度采集电路如图所示 毕业设计用纸 第 10 页 共 23 页 LED显示报警电路 LED数码管与单片机的 P0口相连,单片机将采集到的温度值转化为与数码管对应的数据,通过 P0 口输出显 示。 即信号通过译码管的端口 a、 b、 c、 d、 e、 f、 g 、 dp 端来控制每段译码管的亮灭与否,同时通过端口 4 四个端口来控制四个译码管。 在本次设计中,用三极管驱动数码管。 同时当采集到的温度值超过所设置的范围时,单片机会输出一信号,通过三极管放大后驱动蜂鸣器发出报警信号。 LED数码管报警电路如图所示 毕业设计用纸 第 11 页 共 23 页 第四章 系统软件设计 主程序流程图 主程序中对单片机做了初始化的设计,包含温度的读取、数码管显示、报警三个子系统,运行时由主程序先调用 DS18B20读取温度的子函数进行温 度采集,再将数据送入数码管显示。 同时判断所采集的数据是否超出所设置的温度范围。 如果超出,调用报警子系统;未超出,程序自动返回。 主程序流程图如图所示 DS18B20 读取温度流程图 根据 DS18B200的通讯协议, 单片机控制 DS18B20完成温度转换必须经过三个步骤:每一次读写之前都要对 DS18B20进行复位操作,复位成功后发送一条 ROM指令,最后发送 RAM指令,这样才能对 DS18B20进行预定的操作(复位要求主 CPU将数据线下拉 500微秒然后释放,当DS18B20收到信号后等待 16~ 60微秒左右,后发出 60~ 240微秒的存在低脉冲,主 CPU收 毕业设计用纸 第 12 页 共 23 页 到此信号表示复位成功)。 DS18B20读取温度时先读取温度低字节,在读取温度高字节。 程序中命令 0xCC:跳过读序号列号的操作;命令 0x44:启动温度转换;命令 0xBE:读取温度寄存器等,前两个字节就是温度。 后面的寄存器省略不读。 DS18B20读取温度流程图如图所示 报警程序流程图 程序中首先判断所读取的温度是否超出所设定的下限,如果超出下限,报警器报警;如果没超出下限,再跟上限值比较判断是否超出上限。 如果超出,则报警;若无,程序返回。 报警程序流程图如图所示 毕业设计用纸 第 13 页 共 23 页 实物图及测试结果 毕业设计用纸 第 14 页 共 23 页 经本人测试结果显示,当我用手握住传感器,温度超过 30176。 C时候,蜂鸣器会发出警报;松开传感器,在特殊处理情况下当温度降低到 0176。 C以下的时候蜂鸣器也会 发出警报。 测试结果是正确的。 毕业设计用纸 第 15 页 共 23 页 总结 程序在编译过程中,出现了一些语法错误,经过细心修改得以纠正。 但是,将程序下载到单片机之后发现数码管上显示的温度十位数数值变化太大各位数基本不变由此可以判定此程序在温度输出时数值的十位和个位搞混了,经过重新编译修改解决问题,本次试验我最大的问题就是不知道如何焊接数码管,通过查找资料和指导老师的支持才攻克了这一难题。 经过四周时间的设计,我的设计完成了所有设计要求,系统能够完成上、下限温度发声。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。