基于某单片机的温度控制器附程序代码.doc
《基于某单片机的温度控制器附程序代码.doc》由会员分享,可在线阅读,更多相关《基于某单片机的温度控制器附程序代码.doc(25页珍藏版)》请在课桌文档上搜索。
1、word目录1.引言12.设计要求13.设计思路14.方案论证2方案一2方案二25.工作原理26.硬件设计2单片机模块26.2 数字温度传感器模块46.2.1 DS18B20性能46.2.2 DS18B20外形与引脚说明56.2.3 DS18B20接线原理图5按键模块6声光报警模块6数码管显示模块77.程序设计8主程序模块87.2 读温度值模块8读温度值模块流程图:97.2.2 DS18B20写字节和读字节子程序流程图:107.3 中断模块107.4 温度设定、报警模块108.实物效果图129.实习总结14附录1523 / 25基于单片机的温度控制系统设计1.引言随着人们生活水平的不断提高,单
2、片机控制无疑是人们追求的目标之一,它所给人带来的方便是不可否认的,各种数字系统的应用也使人们的生活更加舒适。数字化控制、智能控制为现代人的工作、生活、科研等方面带来方便。其中数字温控器就是一个典型的例子。数字温控器具有读数方便、测温围广、测温准确、功能多样话等优点。其主要用于对测温要求准确度比拟高的场所,或科研实验室使用,该设计使用STC12C5A60S2单片机作控制器,数字温度传感器DS18B20测量温度,单片机承受传感器输出,经处理用LED数码管实现温度值显示,并能任意设定报警温度的温度围,实现声光报警。在我们的实习过程中,我们首先要根据原理图焊接一个STC12C5A60S2单片机的开发板
3、,经测试准确无误后,编写程序实现上面所说的数字温度控制器。2.设计要求1. 控制温箱温度2. 加热:电炉丝,这里改成发光二极管3. 冷却:自然or风冷4. 温度目标区间:-50-1005. 运行环境:常温6. 供电:+5v7. 控制精度:2 8. 温度可设定,如果下限超过上限,显示错误。9. 温度可显示10. 超温报警3.设计思路设计一个单片机测控系统,一般可分为四个步骤:1需求分析,方案论证和总体设计需求分析:被测控参数的形式电量、非电量、模拟量、数字量等、被测控参数的围、性能指标、系统功能、工作环境、显示、报警、打印要求等。方案论证:根据要求,设计出符合现场条件的软硬件方案,又要使系统简单
4、、经济、可靠,这是进展方案论证与总体设计一贯坚持的原如此。2器件选择,电路设计制作,数据处理算法,软件的编制阶段。3系统调试与性能测定。4文件编制。文件包括:任务描述、设计的指导思想与设计方案论证、性能测定与现场试用报告与说明、使用指南、软件资料流程图、子程序使用说明、地址分配、程序清单、硬件资料电原理图、元件布置图与接线图、接插件引脚图、线路板图、须知事项。文件不仅是设计工作的结果,而且是以后使用、维修以与进一步再设计的依据。因此,一定要精心编写,描述清楚,使数据与资料齐全。 由于本设计是测温电路,可以使用热敏电阻之类的器件,将随被测温度变化的电压或电流采样,进展A/D转换后就可以用单片机进
5、展数据处理,实现温度显示。这种设计需要用到A/D转换电路,增大了电路的复杂性,而且要做到高精度也比拟困难。4.2方案二考虑到在单片机属于数字系统,容易想到数字温度传感器,可选用DS18B20数字温度传感器,此传感器为单总线数字温度传感器,起体积小、构成的系统结构简单,它可直接将温度转化成串行数字信号给单片机处理,即可实现温度显示。另外DS18B20具有3引脚的小体积封装,测温围为-55+125摄氏度,测温分辨率可达0.0625摄氏度,其测量围与精度都能符合设计要求。以上两种方案相比拟,第二种方案的电路、软件设计更简单,此方案设计的系统在功耗、测量精度、围等方面都能很好地达到要求,故本设计采用方
6、案二。5.工作原理温度传感器 DS18B20 从设备环境的不同位置采集温度,单片机 AT89S51 获取采集的温度值,经处理后得到当前环境中一个比拟稳定的温度值,再根据当前设定的温度上下限值,通过加热和降温对当前温度进展调整。当采集的温度经处理后超过设定温度的上限时,单片机通过三极管驱动继电器开启降温设备 (压缩制冷器) ,并通过三极管驱动扬声器发出警笛声。当采集的温度经处理后低于设定温度的下时 , 单片机通过三极管驱动继电器开启升温设备 (加热器) ,并通过三极管驱动扬声器发出警笛声。 6.硬件设计6.1单片机模块STC12C5A60S2/AD/PWM系列单片机是宏晶科技生产的单时钟/机器周
7、期(1T)的单片机,是高速/低功耗/超强抗干扰的新一代8051单片机,指令代码完全兼容传统8051,但速度快8-12倍。部集成MAX810专用复位电路,2路PWM,8路高速10位A/D转换(250K/S),针对电机控制,强干扰场合。1.增强型8051 CPU,1T,单时钟/机器周期,指令代码完全兼容传统8051;2.工作电压:STC12C5A60S2系列工作电压:5.5V-3.3V5V单片机STC12LE5A60S2系列工作电压:3.6V-2.2V3V单片机;3.工作频率围:0 - 35MHz,相当于普通8051的 0420MHz;4.用户应用程序空间8K /16K / 20K / 32K /
8、 40K / 48K / 52K / 60K / 62K字节;5.片上集成1280字节RAM;6.通用I/O口36/40/44个,复位后为:准双向口/弱上拉普通8051传统I/O口,可设置成四种模式:准双向口/弱上拉,推挽/强上拉,仅为输入/高阻,开漏,每个I/O口驱动能力均可达到20mA,但整个芯片最大不要超过55Ma;7. ISP在系统可编程/IAP在应用可编程,无需专用编程器,无需专用仿真器 可通过串口P3.0/P3.1直接下载用户程序,数秒即可完成一片;8.有EEPROM功能(STC12C5A62S2/AD/PWM无部EEPROM);9. 看门狗;10.部集成MAX810专用复位电路外
9、部晶体12M以下时,复位脚可直接1K电阻到地;11.外部掉电检测电路:在P4.6口有一个低压门槛比拟器,5V单片机为1.32V,误差为+/-5%,3.3V单片机为1.30V,误差为+/-3%;12.时钟源:外部高精度晶体/时钟,部R/C振荡器(温漂为+/-5%到+/-10%以) 1用户在下载用户程序时,可选择是使用部R/C振荡器还是外部晶体/时钟,常温下部R/C振荡器频率为:5.0V单片机为:11MHz15.5MHz,3.3V单片机为:8MHz12MHz,精度要求不高时,可选择使用部时钟,但因为有制造误差和温漂,以实际测试为准;13.共4个16位定时器 两个与传统8051兼容的定时器/计数器,
10、16位定时器T0和T1,没有定时器2,但有独立波特率发生器 做串行通讯的波特率发生器 再加上2路PCA模块可再实现2个16位定时器;14. 2个时钟输出口,可由T0的溢出在P3.4/T0输出时钟,可由T1的溢出在P3.5/T1输出时钟;15.外部中断I/O口7路,传统的下降沿中断或低电平触发中断,并新增支持上升沿中断的PCA模块, Power Down模式可由外部中断唤醒,INT0/P3.2,INT1/P3.3,T0/P3.4, T1/P3.5, RxD/P3.0,CCP0/P1.3(也可通过存放器设置到P4.2 ), CCP1/P1.4 (也可通过存放器设置到P4.3);16. PWM(2路
11、/PCA可编程计数器阵列,2路:也可用来当2路D/A使用也可用来再实现2个定时器也可用来再实现2个外部中断(上升沿中断/下降沿中断均可分别或同时支持);17.A/D转换, 10位精度ADC,共8路,转换速度可达250K/S(每秒钟25万次)18.通用全双工异步串行口(UART),由于STC12系列是高速的8051,可再用定时器或PCA软件实现多串口;19. STC12C5A60S2系列有双串口,后缀有S2标志的才有双串口,RxD2/P1.2(可通过存放器设置到P4.2),TxD2/P1.3(可通过存放器设置到P4.3);20.工作温度围:-40 - +85(工业级) / 0 - 75(商业级)
12、21.封装:PDIP-40,LQFP-44,LQFP-48 I/O口不够时,可用2到3根普通I/O口线外接 74HC164/165/595均可级联来扩展I/O口, 还可用A/D做按键扫描来节省I/O口,或用双CPU,三线通信,还多了串口。图6-1 STC12C5A60S2管脚图6.2 数字温度传感器模块DS18B20性能l 独特的单线接口仅需一个端口引脚进展通信l 简单的多点分布应用l 无需外部器件l 可通过数据线供电l 零待机功耗l 测温围-55+125,以递增l l 温度数字量转换时间200ms,12位分辨率时最多在750ms把温度转换为数字l 应用包括温度控制、工业系统、消费品、温度计和
13、任何热感测系统l 负压特性:电源极性接反时,传感器不会因发热而烧毁,但不能正常工作6.2.2 DS18B20外形与引脚说明图 DS18B20外形与引脚l GND:地l DQ:单线运用的数据输入/输出引脚l VD:可选的电源引脚6.2.3 DS18B20接线原理图单总线通常要求接一个约4.7K左右的上拉电阻,这样,当总线空闲时,其状态为高电平。图 DS18B20接线原理图按键模块单片机应用系统中按键或键盘都是以开关状态来设置控制功能或输入数据。 键开关状态的可靠输入 :为了去抖动采用软件方法,它是在检测到有键按下时,执行一个10ms的延时程序后,再确认该键电平是否仍保持闭合状态电平,如保持闭合状
14、态电平如此确认为真正键按下状态,从而消除了抖动影响键盘共有3个按键,用于方便设定温度。图6.3 DS18B20接线原理图INT1 , 转换,用于转换设置最高或最低温度限度值;INT2增加,用于增加最高或最低温度限度值;TI 减少,用于减少最高或最低温度限度值当采集的温度经处理后超过规定温度围时,蜂鸣器报警。当超过温度下限时,二极管报警。具体电路连接如下列图。图6.4左图低温,二极管报警。右图超出围,蜂鸣器报警。本局部电路主要使用七段数码管,单片机通过P0口将要显示的数据信号传送到数码管显示,另外通过P1口的某几位,通过741LS38译码器,将要显示的位送到片选信号。具体见实际连线图如图6-5。
15、图6-5数码管连接图7.程序设计主程序调用了4个子程序,分别是数码管显示程序、键盘扫描与按键处理程、温度值获取程序、延时程序。程序开始的时候先设置定时器0初始化,然后进展键盘扫描接着就判断按键是否被按下,按下就进展按键处理。然后获取温度值并经行处理判断是否为负温度,以与进展分位,得到温度的十位、个位和十分位。并判断但前温度与所设置上下限温度关系,大于上限温度或小于下限温度如此报警,否如此继续向下执行,并开始循环。其中显示程序在中断中进展。7.2 读温度值模块对温度传感器送过来的数据进展读取,读温度值模块需要调用4个子程序,分别为:a) DS18B20初始化子程序:让单片机知道DS18B20在总
16、线上且已准备好操作b) DS18B20写字节子程序:对DS18B20发出命令c) DS18B20读字节子程序:读取DS18B20存储器的数据d) 延时子程序:对DS18B20操作时的时序控制7读温度值模块流程图:7.2.2 DS18B20写字节和读字节子程序流程图:7.3 中断模块中断采用T0方式1,初始值定时为2ms。中断入口定时器重置初值计数值加1数码管显示程序中断返回7.4 温度设定、报警模块进入模块界面后,按选择上下限键,选择改变上限还是下限,按加减键分别上调和下调设定报警温度值,当实时温度值超过设定值时驱动蜂鸣器发声,8.实物效果图温度处于设定围,不做任何反响。设定温度下限度值为28
17、.5,当前温度为28.1,蜂鸣器报警,二极管报警。温度最高上限值为32,当前温度为,蜂鸣器报警,二极管不报警。当设定温度下限超过上限时,显示ERRO,并声光报警。9.实习总结温度控制系统广泛应用于社会生活的各个领域 ,如家电、汽车、材料、电力电子等 ,常用的控制电路根据应用场合和所要求的性能指标有所不同 , 在工业企业中,如何提高温度控制对象的运行性能一直以来都是控制人员和现场技术人员努力解决的问题。本次实习是基于STC12C5A60S2单片机,采用数字温度传感器DS18B20,直接进展温度采集显示,报警的数字温度计设计。包括传感器数据采集电路,温度显示电路,上下限报警调整电路,单片机主板电路
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 单片机 温度 控制器 程序代码
链接地址:https://www.desk33.com/p-18255.html