检测,通过键盘模块对预定温度进行设置,显示电路采用LCD模块,使用继电器 三极管为中心组成的控制电路。
图1-1温度控制系统方案框图
DS18B20 温度传感器 C51 数码管/液晶 显示电路 继电器 键盘电路 单片机 加热电路 串口通信 系统开始工作时,通过DS18B20获取当前环境内的温度并且在屏幕上显
示,当温度设定定好后,单片机便开始执行温度控制程序命令将当前温度信息和设定好的温度进行比较和处理,单片机根据处理的结果通过I/O输出来控制继电器的动作来达到对外部加热电路的控制,主要根据温度差控来制电路工作时间的占空比从而来调节环境内内部的温度。当温度达到预设值时I/O口便输出低电平,使得外部电路停止工作。 这就是本系统的主要设计方案和工作原理。
1.4方案论证
如果采用模拟温度传感器,转换得到的温度结果需要经过运算放大器和A/D转换器传送给单片机。模拟原件的控制原理虽然简单,但电路复杂,不容
3
易实现对多点温度进行测量和监控。由于采用了多个分立元件和模数转换器,容易出现误差,测量的准确性难达标,所以用数字温度传感器DS18B20进行替换,它直接输出的是数字信号,高精度,电路结构非常简单,只需要模拟DS18B20的读写时序,编写程序匹配DS18B20的协议读取转换的温度。
这次我使用的方案硬件电路非常简单,但是程序设计的复杂度高了点,同时课外对DS18B20、数码管或液晶显示、键盘控制的程序有所了解,之前在网上和书上看到过此类程序程序设计,并且我曾经使用过开发工具Keil 4 ,在keil中用C语言进行过单片机的程序设计,并且用仿真软件对系统进行了仿真,达到了预期的结果。由此可见,该方案完成具有可行性,体现了技术的先进性,经济上也没有任何问题。综上所述,本课题的系统进行设计是可行的。
在实际研究过程中,我做一点点的修改,主要以单点测温为主研究,因为其测温原理基本一样,我们只有研究通单点测温即可。其次是液晶显示我们也做了进一步修给,为了达到减少成本的要求,我们选择用LED数码显示管代替液晶显示器。
4
2硬件电路
2.1单片机及最小系统
本次设计题目是基于C51的温度控制系统,我在这里使用的是与C51同一系列的STC89C52。
STC89C52是STC公司生产的一种低功耗、高性能CMOS8位微控制器,具有 8K 在系统可编程Flash存储器。 STC89C52使用经典的MCS-51内核,但做了很多的改进使得芯片具有传统51单片机不具备的功能。在单芯片上,拥有灵巧的8 位CPU 和在系统可编程Flash,使得STC89C52为众多嵌入式控制应用系统提供高灵活、超有效的解决方案。 具有以下标准功能: 8k字节Flash,512字节RAM, 32 位I/O 口线,看门狗定时器,内置4KB EEPROM,MAX810复位电路,3个16 位定时器/计数器,4个外部中断,一个7向量4级中断结构(兼容传统51的5向量2级中断结构),全双工串行口。其基本功能与C51差不相同。
图 2-1 C52单片机
5
STC89C52有8KB片上可编程速闪存储器,根据设计要求基本能够满足,因此不在外扩EPROM作为程序存储器,同样STC89C52内部已集成了256B的RAM,而系统运行中需要存放的中间变量只有给定的温度、实测温度等中间变量,因而STC89C52的片内RAM已经满足存放要求,可以不必再扩充外部RAM。单片机最小系统包括最小系统包括一片STC89C52RC , 晶振电路与复位电路,其原理图如下
图 2-2 最小系统
2.2显示电路设计
显示电路的显示信号由P0口输出。由六个数码管轮流点亮来显示当前系统所获得的数据。
6
显示电路包括六个八段共阴极数码,用于显示温度 及占空比 因为数码管进行动态扫描显示,需要通过位选与段选来进行时分控制 ,所以还有两片74HC573八位锁存器,用来锁存段选与位选信号
要使显示电路能正常工作还需要给P0口加上10K的上拉电阻。 图中U1为段选锁存,U2为位选锁存。 显示电路:
图2-3 八段显示数码管
图2-4 74HC573锁存器
7