版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、单片机恒温箱温度控制系统的结构设计一、本课程设计系统概述1、系统原理选用AT89C2051单片机为中央处理器,通过温度传感器DS18B20寸恒温箱进 行温度采集,将采集到的信号传送给单片机,在由单片机对数据进行处理控制显 示器,并比较采集温度与设定温度是否一致,然后驱动恒温箱的加热或制冷。2、系统总结构图总体设计应该是全面考虑系统的总体目标, 进行硬件初步选型,然后确定一 个系统的草案,同时考虑软硬件实现的可行性。总体方案经过反复推敲,确定了 以美国Atmel公司推出的51系列单片机为温度智能控制系统的核心,并选择低 功耗和低成本的存储器、数码显示器等元件,总体方案如下图:图1系统总体框图二、
2、硬件各单元设计1、单片机最小系统电路单片机选用Atmel公司的单片机芯片AT89C2051,完全可以满足本系统中要 求的采集、控制和数据处理的需要。单片机的选择在整个系统设计中至关重要, 该单片机与MCS-51系列单片机高度兼容、低功耗、可以在接近零频率下工作等 诸多优点,而广泛应用于各类计算机系统、工业控制、消费类产品中。AT89C2051是 AT89系列单片机中的一种精简产品。它是将AT89C51的 P0 口、P2 口、EA/Vpp ALE/PROG PSENH线省去后,形成的一种仅 20引脚的单片机,相当于早期Intel8031的最小应用系统。这对于一些不太复杂的控制场合,仅有 一片AT
3、89C2051就足够了,是真正意义上的“单片机” 。AT89C2051为很多规模 不太大的嵌入式控制系统提供了一种极佳的选择方案,使传统的 51系列单片机 的体积、功耗大、可选模式少等诸多弱点不复存在。该型号单片机包括 :(1)一个8位的微处理器(CPU)。(2)片有2K字节的程序存储器(ROM和128/256字节RAM(3)15条可编程双向I/O 口线。(4)两个16位定时器/计数器都可以设置成计数方式,用以对外部事件进行计数,也可设置成定时方式,并可以根据计数或定时的结果实现计算机控制。(5)五个中断源的中断控制系统。(6)个全双工UATR通用异步接收发送器)的串行I/0 口,用于实现单片
4、机之 间或单片机与微机之间的串行通信。(7)片含模拟比较器。(8)低功耗的闲置和掉电模式。+5VAT89C205是一个20脚的双列直插封装(DIP)芯片。最小系统电路包括晶体振 荡电路和手动复位电路,如图2。本设计使用一片AT89C205就代替了原来的8031、EPROM2732地址锁存器 74LS373,因为AT89C205部的2KBEPRO和128B的RAM对智能化温度传感器测试 系统已能满足设计要求,而且降低了成本,结构设计也较精巧。2、温度传感器采用数字温度传感器DS18B20与传统的热敏电阻相比,他能够直接读出被 测温度并且可根据实际要求通过简单的编程实现 912位的数字值读数方式。
5、可 以分别在93.75ms和750m完成9位和12位的数字量,并且从DS18B2读出的信息 或写入DS18B2的信息仅需要一根口线(单线接口)读写,温度变换功率来源于 数据总线,总线本身也可以向所挂接的DS18B2供电,而无需额外电源。因而使 用DS18B2可使系统结构更趋简单,可靠性更高,成本更低。测量温度围为 55C +125C。C,在一 10C +85C。C围,精度为土 0.5 C。DS182的精度较差 为土 2C。现场温度直接以“一线总线”的数字方式传输,大大提高了系统的抗 干扰性。其引脚分布如图3所示! MNC几 MDSI8B20图3 DS18B20引脚图(1)引脚功能如下:NC(1
6、、2、6、7、8脚):空引脚,悬空不使用。VDDG脚):可选电源脚,电源电压围35.5V。DQ(4脚):数据输入/输出脚,漏极开路,常态下高电平。DS18B20测温原理DS18B2的测温原理如图4所示,图中低温度系数晶振的振荡频率受温度影响很小,用于产生固定频率的脉冲信号送给计数器1。高温度系数晶振随温度变化其振荡率明显改变,所产生的信号作为计数器2的脉冲输入。计数器1和温度寄存 器被预置在-55 C所对应的一个基数值。计数器1对低温度系数晶振产生的脉冲信号进行减法计数,当计数器1的预置值减到0时,温度寄存器的值将加1,计数器1 的预置将重新被装入,计数器1重新开始对低温度系数晶振产生的脉冲信
7、号进行 计数,如此循环直到计数器2计数到0时,停止温度寄存器值的累加,此时温度 寄存器中的数值即为所测温度。斜率累加器用于补偿和修正测温过程中的非线 性,其输出用于修正计数器1的预置值。DS18B2在正常使用时的测温分辨率为 0.5 C,如果要更高的精度,则在对DS18B2测温原理进行详细分析的基础上,采取直接读取DS18B2部暂存寄存器的方法,将DS18B2的测温分辨率提高到0.1 0.01 C。图4测温原理图DS18B20与单片机接口电路P1.3 口和DSI8B20的引脚DQS接,作为单一数据线。U2即为温度传感芯片 DS18B20,本设计虽然只使用了一片DSI8B20,但由于不存在远程温
8、度测量的考虑 所以为了简单起见,采用外部供电的方式,如图2.6所示。测温电缆采用屏蔽4芯双 绞线,其中一对线接地线与信号线,另一对接VC(和地线,屏蔽层在电源源端单点 接地。图5 DS18B20与单片机接口电路3、键盘显示电路LED控制器的连接有并行和串行方式。由于串行方式占用较少接口,因此 得到广泛应用。显示电路中选用MAX721作为LEQg动芯片。MAX721是一个高集 成化的串行输入/输出的共阴极LE耶动显示器。每片可驱动8位7段加小数点的共 阴极数码管。片包括BCD?码器、多路扫描控制器、字和位驱动器和8X 8静态RAM 外部只需要一个电阻设置所有LEE显示器字段电流。MAX721和控
9、制器只需要三根 导线连接,每位显示数字有一个地址由控制器写入。允许使用者选择每位是BCD译码或不译码。使用者还可以选择停机模式、 数字亮度控制、从18位选择扫描 位数和对所有LEE显示器的测试模式。引脚功能MAX7219是24引脚芯片,它的引脚排列如图2.7所示。各引脚功能如下:1)DIN(1脚):串行数据输入端,当CLI为上升沿时数据被载入16位部移位寄存器。2)CLK (13脚):串行时钟脉冲输入端,最大工作频率可达 10MHz3)LOAD (12脚):片选端,当LOA为低电平时,芯片接收来自DIN的数据,接收 完毕,LOA回到高电平,接收的数据将被锁定。4)DIG0DIG7 (2、3、5
10、、6、7、8、10、11脚):吸收显示器共阴极电流的位驱动线,最大值可达500mARINp 齢、rrfelNET digcTLX:3 TDIG 7 | RFjrV y叵DKi 177 liadQFMLT厨 SEGDP zT| 5EGE F| rn r: 7 v*TF| 5WG 刃 SECJ.R 固心F 7T| se77 gi n图6 MAX7219引脚图5)SEGASEGG SEGDR14、15、16、17、20、21、22、23脚):驱动显示器 7段及小数点的输出电流,一般为40mA可编程调整。6)ISET (18脚):硬件亮度调节端。7) DOUT (24脚):串行数据输出端;V+,正电源
11、。8) GND( 9脚):接地。(2) MAX7219与单片机和LED及键盘的接口电路1) MAX721啲3个输入端DIN、CLK和LOA与单片机的三个I/O 口连接,DIG0DIG7 分别与八个共阴极LED勺公共端连接,SEGSEGG SEGD分别与每个LEDt段 动和小数点驱动端相连。电路图如图 7所示。2) 键盘功能介绍采用独立式按键设计,如图上图所示。 由于只有四个按键,因此按键接口 电路的设计比较简单,单片机P1.4P1.7端口设定为输入状态,平时通过电阻上 拉到Vcc,按键按下时,对应的端口的电平被拉到低电平。这样就可以通过查询 P1的高4位来判断有门有按键按下按键各接一根输入线,
12、一根输入线的按键工作 状态不会影响其他输入线上的工作状态。通过读I/O 口,判断各I/O 口的电平状态, 即可识别出按下的按键。 4个按键定如下:A、P1.4:S1 功能键,按此键则开始键盘控制。B、P1.5:S2加,按此键则温度设定加1度。C、P1.6:S3减,按此键则温度设定减1度。D P1.7:S4发送,按此键将传感器的温度传送到上位机。DS7DSOa10a bc 85e 4g 3Dp7DPY aA89e f g dpfdpecdOGDDpy Amber-CARSTVCC(RXD)P3.0P1.7(TXD)P3.1P1.6XTAL2P1.5XTAL1P1.4(INT0)P3.2P1.3(
13、TNTT)P3.3P1.2(T0)P3.4P1.1(AIN1 ) (T1 )P3.5P1.0(AIN0 )-GNDP3.7U123456710AT89 C2 051+5V201 9R55.1 KR55.1 KR55.1 KR55.113g dpDPY A a A bAdpDpy Amber-CAGDS2+5V1 T213DIG0 G1 1 DIG2 DIG3 DIG4 DIG5 DIG6 DIG7U22匚67305824sbit TSOR=P1A7; / 温度测试端sbit DIN=P1A2; /MAX7219 串行数据输入sbit LOAD=P1A1; /MAX7219 装载数据输入sbit
14、 LCK=P1A0; /MAX7219 时钟输入sbit SCL=P3A2; /AT24C32 信号线sbit SDA=P3A3; / AT24C32 数据线sbit OUT0=P3A4; / 控制制冷光耦sbit OUT1=P3A5; / 控制加热光耦sbit weidog=P3A7; / 看门狗/*A*#define uchar unsigned chau;#define uint unsigned uint;uchar temp1,temp2; / 温度的整数和小数uchar setb,sets,setg,setx;/预设定温度的百、十、个位和小数位uchar xianb,xians,x
15、iang,xianx;/显示温度的百、十、个位和小数位uchar add_1,add_10;/uchar count; /T0中断计数uchar pid; /PID数值bit outflag;/升温降温标志位bit alert;/*函数声明*/ void Init Interupt ();/*键盘扫描*/ uchar key ();/* MAX7219子程序*/void send(uchar add, dat) /* 温度传感器子程序void Delay15(); / void Delay60(); / void Delay100ms(); / void Write0TS(); / void
16、Write1TS(); / void ReadTS(); / void ResetTS(); / void WriteBTS(); / void ReadBTS(); /延时 15us延时 60us延时 100ms写DS18B2数据位0写DS18B2数据位1读DS18B2数据位 复位 DS18B20写1字节读1字节void InitTS(); /初始化 DS18B20void GetTempTS(); /读取测得的温度程序Void compare();void main()uchar i,j;uchar aa;/ PID 值sp=0x50;TSOR=1;/ 1 wire 总线释放Delay(5
17、00);/ 延时 500msInitInterupt();/ 初始化中断设置 setb=Ox00;sets=Ox02;setg=Ox03setx=Ox05; / 预设值 23.5 Ccount=0;P1=0xff;InitTS();/ 初始化 DS18B20send(Ox0c;Ox01);/ send(Ox0b;Ox07);/ send(Ox0a;Oxf5);/ send(Ox09;Oxff);/ while(1) GetTempTS();/i=temp1;if(i=0xianb=i/100;设定停机方式扫描7位亮度等级译码方式读取测得的温度i=100)j=i%100;xians=j/10;x
18、iang=j%10 | 0x80;xinx=temp2;send(0x01;xianb);/ send(0x02;xians);/ send(0x03;xiang);/send(0x04;xianx);/显示测得的温度send(0x05;setb);/send(0x06;sets);/Send(0x07;setg);/send(0x08;setx);/显示预设定的温度else alert=1;警告void key(); /调按键扫描void compare(); /调比较程序if(outflag=1) pid=_a_func(); /调PID算法for(i=0;i1;i+;else if(ou
19、tflag=-1) pid=_a_func();for(i=0;i1;i+;else OUT0=0;/停止压缩机OUT1=;0 / 停止电加热 初始化中断设置Void Init Interupt() TOMD=0x21; / TL1=0xFD; /设置波特率TH1=0xFD; /PX0=1; / 设置中断优先级EA=1; / 中断允许ES=1;/串行通讯中断允许PCON=0;/SCON=0x50;/TL0=0x00;TH0=0x4C;/ 定时 50msET0=1;/TR0=1;/ 启动定时器 0 *定 时 器 0中断*/Timer0_process () interrupt 0 using 0
20、 EA=0;/ 关中断TRO=0;/ 关定时器 0TL0=0x00;TH0=0x4C;/ 重置定时常数定时累计达 1.5dcount+; if(count=30) /weidog=0;weidog=1; / 输出看门狗信号 四、设计小结经过这两周的课程设计,使我受益匪浅,不仅可以巩固了以前所学过的知识, 比如一些画电路图的软件: protelse99 、visio 等等。更复习到了单片机的知识以 及 C 语言而且学到了很多在书本上所没有学到过的知识。在设计的过程中遇到的 问题,也通过各种方式的查资料以及老师、同学的帮助下一一解决。在这次设计 中老师十分关心我们的设计论文,多次提出宝贵的修改意见
21、,给予了我莫大的精 神鼓励和技术支持,使我能顺利的完成这次论文的设计。但是也正是通过这次设计我发现我还有许多不足之处 , 所学到的知识还远远 不够 , 以至于还没能做到最好。对以前所学过的知识理解得不够深刻,掌握得不 够牢固,比如说不懂C语言的编程等。总的来说,这次的课程设计不仅巩固了自己平时学的知识,而且也让自己学 到了许多的上课学不到的知识,对自己的专业知识有相当大的帮助! 五、参考文献1 长德.单片机原理与应用 M. :机械工业 ,19962 毅刚等 . 单片机应用设计 M. :工业大学 ,19973 丁元杰.单片微型计算机及其应用 M.: 机械工业 ,1994.4 何立民.MCS-51
22、系列单片机应用系统设计系统配置与接口技术M.:航空航天大学, 1990.石曙光,石雄武.基于数字PID和数字电位器的恒温控制系统.汉工业学院报, 2005, 第24卷第1期附录:总原理图J2 1 2V3 RXDTXDPC DB921837 80 515948C80.1 u FC310UFVCCR11K1TXD34C40.0 1C5 + 1 0u F5C6 +TXD 1 4U6VCCPF1MRWDIWDoPF0GNDRESETMAX8 13 LV+ VC1 +VC1 -V-C2 +GNDC2 -T1OUTT1INT2OUTT2INR1 INR1 OU TR2 INR2 0UTMAX2 32RXD11 TXD 10uF1Y112MHHZ3 3p FDSOa10d 5 1e 4ea bcdU1RST6n7 ipC183 3pF91 05
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年集成电路封装测试分析报告
- 信息安全师三级考试题库及答案解析
- 泉州从业资格证考试题型及答案解析
- 2025-2030绿色建筑技术产业发展现状与未来投资方向报告
- 网络安全员培训试题及答案解析
- 2025-2030纳米材料市场供需分析与投资价值评估报告
- 2025-2030经颅磁刺激技术在儿童认知增强中的应用前景
- 安全工程师题库化工及答案解析
- 2025-2030纳米级显微镜在精准医疗中的价值创造分析
- 2025-2030纳米材料在药用饲料载体中的应用潜力与技术瓶颈报告
- 《新能源汽车动力电池及管理系统检修》 课件 7-2 了解废旧动力电池的回收、拆解与相关政策(制作中)
- 健身器材采购项目投标方案(技术方案)
- 青海省海南藏族自治州高级中学、共和县高级中学2023-2024学年高一上学期期中联考历史试题(解析版)
- 烯湾科城(广州)新材料有限公司扩产增效技术改造项目环境影响报告表
- 《学前心理学》课件-任务四 掌握学前儿童的感觉和知觉的发展
- 关于推动党建引领经济高质量发展的调研报告
- 间歇性跛行的鉴别诊疗培训课件
- 盟史简介12.10.18课件
- 中医外科学课件章第十三章泌尿男性疾病
- GB/T 8491-2009高硅耐蚀铸铁件
- GB/T 5334-2021乘用车车轮弯曲和径向疲劳性能要求及试验方法
评论
0/150
提交评论