单片机数字温度计设计(编辑修改稿)内容摘要:

起的,共两个中断源,称为外部中断 0 和外部中断 1。 外部中断 0( INT0)的中断信号引入到 CPU 得 INT0(),外部中断 1( INT1)的中断信号引入到 CPU得 INT1()。 而本设计采用外部中断 1。 当电路工作时, DS18B20 温度传感器会检测当前的环境的温度,然后将检测到的信号送往单片机电路,这时由单片机进行判断,观察是否符合内设的温度范围的值, 这时 假如 不 符合则 单片机会发以一个中断信号提示用户做出相应的反应。 键盘电路 如图 31所示,电路中采用 4 个按键开关 来 控制 电路实现所要的功能。 4 个按键开关直接就接到 AT89S51 芯片的 P14~P17 上,芯片 P1 口一个 内接 上拉电阻的 8 位双向 I/O 端 口, 当作输出口时,每个引脚可驱动 4LSTTL 负载;当作输入口时,须首先将引脚内的输出锁存器置 1。 电路中 K1 为设置温度上下限设置状态进入按键, K2 为设置温度上下限的 +键, K3 为设置温度上下限的 键, K4为温度上下限设置状态的退出或确定按键。 这些按键相互配合使用将可以实现特定的功能,其功能操作请参考第五章的操作说明。 显示电路 如图 34所示,电路采用的是 1602 液晶作为显示,该液晶总共有 16 个脚,1脚 16 脚为接地, 2 脚和 15 脚为电源输入端 ,电源为 5V。 其他的引脚分别接了AT89S51 的 P0、 P2 部分端口。 P0 口 ( 39~32 脚)是 一组 8位漏极开路型双向 I/O 端 口。 也即地址 /数据总线复用口。 作为输出口用时,每位能驱动 8 个 TTL 逻辑门电路,对端口写“ 1”可作为高阻抗输入端用。 在访问外部数据存储器或程序存储器时,这组口线分时转换地址(低 8位)和数据总线复用,在访问期间激活内部上拉电阻。 在 Flash编程时, P0 口接收指令字节,而在程序校验时,输出指令字节,校验时,要求外接上拉电阻。 P2 口( 21~28 脚)一个带内部上拉电阻的 8 位双向 I/O 口。 它可作 为通用I/O口,作输出口时,每个引脚可驱动 4个 LSTTL 负载,用作输入口时,须首先将引脚内的输出锁存 1。 P2口在系统外扩展时,可以用作访问外部程序存储器和数据存储器的高 8为地址总线。 液晶的各个引脚的功能 请参考前面所述。 图 3— 4 液晶电路 报警电路 如图 35所示,电路中采用蜂鸣器作为报警,发光二极管作为提示。 电路中F0接的是 AT89S51芯片的 17脚( ) , 17脚 为外部数据存储器的读选通。 图中两 个 8550PNP三极管起到信号放大的作用,当信号到来的时候,经过三极 管的放大,则被驱动的蜂鸣器会发出“嘟嘟„”声报警提示,而且绿色发光二极管会不停的闪烁。 则说明当前的温度不在设置的范围内,这时用户可以修改温度的范围值。 图 3— 5 报警电路 系统程序主要包括主程序,读出温度子程序,温度转换命令子程序,计算温度子程序,显示数据刷新子程序等。 主程序 主程序的主要功能是负责温度的实时显示、读出并处理 DS18B20 的测量的当前温度值,温度测量每 1s 进行一次。 这样可以在一秒之内测量一次被测温度,其程序流程见图 36所示。 温度 转换命令子程序 温度转换命令 子程序 主要是发温度转换开始命令,当采用 12 位分辨率时转换时间约为 750ms,在本程序设计中采用 1s 显示程序延时法等待转换的完成。 温度转换命令子程序流程图,如图 3— 7所示 图 3— 6 主程序流程 开始 16 个字符清 0 1602 夜晶初始化 18B20 初始化 发出跳过匹配 发出温度转换信号 等待转换完成 发出读温度信号 等待读完成 温度进行 BCD 处理 LCD 夜晶显示 实际温度与设计温度比较 键扫描 键处理 报警扫描 脉冲响应 〈 =TL 或〉 =TH 读出温度子程序 读出温度子程序的主要功能是读出 RAM 中的 9 字节,在读出时需进行 CRC校验,校验有错时不进行温度数据的改写。 其程序流程图如图 38所示。 图 3— 7 温度转换流程图 图 3— 8 读出温度子程序流程 计算温度子程序 计算温度子程序将 RAM 中读取值进行 BCD 码的转换运算,并进行温度值正负的判定,其程序流程图如图 3— 9所示。 发 DS18B20 复位命令 发跳过 ROM 命令 发温度转换开始命令 结束 发 DS18B20复位命令 发跳过 ROM命令 发读取温度命令 读取操作, CRC校验 9字节完。 CRC 校验正。 确。 移入温度暂存器 结束 N N Y Y 图 3— 9 计算温度流程图 第四章 样品制作与调试 首先用 PROTRL99SE 画好原理图,在根据 元件 的 形状 和 大小 制作好其封装,然后 就是画 PCB,紧接着就是摆好元件的位置,选择合适的走线,让其更适用,看起来更加的美观。 打印好 PCB 后,在实验室里准备好铜板, 根据 PCB 的大小锯好铜板,并用砂纸把铜板的表面打磨干净,然后在 压扳机上把 PCB 图压到铜板上。 腐蚀电路,把不需要的铜 腐蚀 掉。 就是 将板放入三氯化铁溶液中进行腐蚀,在这里要注意的是要使三氯化铁溶液的浓度和温度适中,这样能加快铜板的腐蚀也能提高制板的成功率。 腐蚀好板后,检测铜板上的走线是否有断裂的。 再根据焊盘,选用合适的针,用钻孔机进行钻孔。 钻好孔后,逐一检测元件的好坏,接着就是用电烙铁把元件一一焊到铜板上。 对照 PCB 图,检查是否有元件焊错的。 用程序烧录器把程序写进 AT89S51 单片机中。 软件调试 第一 步是在具有汇编软件的主机上和用户系统连接起来,进行调试准备。 第二步是单步运行。 第三 步是系统连调,即进行软件和硬件联合调试。 经调试,软件运行良好。 完全焊好板后, 检查电路没什么问题了,于是我们 接入电源。 但是, 我们 发现电路 存在 问题, 发光二极管一直在闪烁,蜂鸣器一直在报警,而且液晶没有亮,没有任何的字符。 但我们很快就冷静下来, 于是我们就根据原理来调试, 我们用万用表检测电源输入两端的电压,发现正常。 但是, 我们发现单片机 40 脚的电压才 伏左右,远不足达到驱动其工作的电压。 于是我们检测 7805 稳压出来的电压正常, 液晶的驱动电压也未达到 5V,再检测其他 元件 的 电压 发现 已经很小很小 了。 于是我们用万用表检测了 9V 电池的电压,发现已经变成了 左右。 我们马上换上一个稳定的电源让其不断的输出稳定的电压,这时发现液晶亮 了,但是还是一直在报警。 于是我们断掉电源,再一次认真的分析电路。 可能是电路板上那些线路的问题,我们在焊接元件时有可能不小心把线连在一起了。 于是我们用万用表逐一检测线路,还检测元件是否有须焊、漏焊,但这些都没有问题。 有可能是电路原理图有误。 于是我们再次认真的分析电路,弄清各模块的作用,逐一检测后,发现都没有问题。 分立元器件是否断路或短路了呢。 经检查,也没 有问题。 是 否元件坏了呢。 我们一一 的把元件 拔掉 下来进行检测 , 结果发现 12M 的晶振坏了,于是我们立刻换上了一个好的,这时 电路能正常工作了,于是我们再认真的检测了电路的其他功能,发现都能完好的实现了。 第五章 使用说明 本电路 工作直流电压为 +5V,有极性判别保护功能,采用 7805 集成稳压芯片以保证电路的供电稳定,用户输入电源在 725V 均可正常工作。 电路中有五个按键,从左到右依次为 K5(RESET)、 K K K K4,介绍如下: K1 为设置温度上下限设置状态进入按键,第一次按下进入低限设置, 按下S4后,再次按下 S1 进入高限设置。 K2 为设置温度上下限的 +键,每按下一次上下限值加一 K3 为设置温度上下限的 键,每按下一次上下限值减一 K4 为温度上下限设置状态的退出或确定按键 K5(RESET) 为复位按键 ,每次按下该键就能恢复到初始状态。 使用方法及报警电路说明: 接通电源,此时 液晶显示器上面会清晰地 显示 一个初始温度 ,由于显示时间稍短,一闪即过。 接下来显示当前 环境的 温度, 而且会发现液晶上 的温度时不时的改变。 若不显示则说明硬件有问题,此时蜂鸣器将报警,绿色指示灯也会点亮。 硬件正常, 但当前显示的温度假如不在设置的温度范围之内,那么蜂鸣器还是会报警的。 此时 就应该明白到当前环境温度不在原来设定的上下限范围之内。 直到采取措施改变环境温度在上下限范围内或调整温度上下限 ,使电路不在报警。 第六章 小结 本毕业设计作品,就是单片机在智能化仪表 方面的具体应用,充分体现了单片机的优越之处。 而 温度是表征物体冷热程度的物理量,它与人们的生活密切相关。 传统的温度是表征物体冷热程度的物理量,它与人们的生活密切相关。 传统的温度计有着太多的自身局限性,从而制约了它在众多领域中的应用。 数字式温度计的出现,使得这 些问题迎刃而解,它不仅拓宽了温度计的应用范围,而且具有实时性、准确性、高效性等特点。 因此,通过对比其他的设计方案,我们选择制作数字温度计。 在整个电路的设计制作过程中, 我更加意识到了实践的重要性。 看似一个简单的温度计,电路也 相对 比较简单。 但在实际制作过程中, 我发现 集成芯片 的电路较难焊接 ,各个电子元件的布置 也相当有讲究 ,对故障的分析和排除,都需要 付出努力,要求较强的动手能力。 在调试过程中遇到很多问题, 察觉 硬件上的理论知识学得不够扎实,对电路板的检测方法掌握得不够 熟练 ,因此给硬件排除故障带来了一定的难度。 软件上 ,逻辑思维较为混乱, 编程及修改能力相当的差。 通过这次的制作 ,它 进一步 培养了 我遇到问题及 解决问题的能力。 总之,这次电路的设计与制作,更深刻的让我明白做每件事都时刻要持有认真、 仔细 、耐心的 态度 去完成。 虽然制作过程中电路出现了很多的问题,但是经过同组员们的共同努力及 在 他人 的帮助下,多次修改后 最终电路 才能 完全的 实现功能。 本论文是在 指导老师 悉心 的 指导和热情 的 帮助 下完成的。 老师渊博的学识、严峻的治学态度及随和的为人之道给我留下了难以 深刻 的印象,这将使我终身受益。 同时,老师在生活上也给了我极大的鼓励和帮助。 为此,我要 对她 致以最衷心的感谢。 在 大学学习 中,我与同学建立了深厚的友谊,他们在我遇到困难时无私地伸出援助之手,对 于 他们 给予我 的帮助 ,在这 我 要 特别 表示 感谢。 最后,对 于 关心、支持我的亲人 及老师致以最衷心的感谢。 参考文献 [1] 何立民178。 单片机中级教程 —— 原理与应用178。 北京航空航天大学出版社, 2020年 [2] 何立民178。 MCS51单片机应用系统设计178。 北京航空航天大学出版社, 2020年 [3] 王嘉陵178。 毕业论文写作与答辩178。 四川大学出版社, 2020年 [4] 赵润林 张迎辉178。 单片机原理与应用教程178。 北京大 学出版社, 2020年 [5]何立民 178。 单片机应用技术选编 [M]178。 北京 :北京航空航天大学出版社 , 2020年 [6]杨刚 周群 178。 电子系统设计与实践 [M]178。 北京 :电子工业出版社 , 2020年 附录 一 原程序 TEMP_ZH DATA 24H。 实时温度值存放单元 TEMPL DATA 25H TEMPH DATA 26H TEMP_TH DATA 27H。 高温报警值存放单元 TEMP_TL DATA 28H。 低温报警值存放单元 TEMPHC DATA 29H TEMPLC DATA 2AH K1 EQU。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。