找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 7894|回复: 8
收起左侧

单片机水温调节控制器课程设计论文+Proteus仿真与代码

  [复制链接]
ID:268529 发表于 2017-12-28 20:14 | 显示全部楼层 |阅读模式
使用18b20采集温度,输入预设温度,低于预设温度,加热。

水温调节控制器

    单片机是20世纪中期发展起来的一种面向控制的大规模集成电路模块,具有功能强、体积小、可靠性高、价格低廉等特点,在工业控制、数据采集、智能仪表、机电一体化、家用电器等领域得到了广泛的应用,极大的提高了这些领域的技术水平和自动化程度。

  51系列单片机是国内目前应用最广泛的一种8位单片机之一,随着嵌入式系统、片上系统等概念的提出和普遍接受及应用。51系列及其衍生单片机还会在继后很长一段时间占据嵌入式系统产品的低端市场,因此,作为新世纪的大学生,在信息产业高速发展的今天,掌握单片机的基本结构、原理和使用是非常重要的。

本次课程设计的内容是使用AT89C51单片机最小系统设计温度控制系统,系统以单片机为主控单元,主要用于对温度信号的采集。

  通过对水温值得设定进行检测和报警系统。

  

一、设计任务
二、要求
三、实验内容
3.1 基本设计思路
3.2温度控制系统工作原理
3.3温度采集原理
3.4 各模块基本功能与设计方案选择和论述
3.4.1 温度采集方案的概述
3.4.2温度显示方案的概述
四、系统软件设计
4.1 系统软件设计思想
4.2实验原理
4.2.1AT89C51的运用及介绍
4.2.2温度采集模块电路的设计
4.2.3基于74HC245的缓冲模块
五、 原理电路图
5.1  51单片机
5.2温度采集部分
5.3 温度显示部分
5.4 加热显示装置
六、仿真结果
课程设计总结
参考文献
一、设计任务

利用单片机AT89C51控制DS18B20温度传感器对水温的控制,当水温低于预设的温度值时系统开始加热(点亮红色发光二极管表示加热状态),当温度达到预设温度值时自动停止加热。预设温度值和实测温度值分别由3位数码管显示,范围为0-99摄氏度。

二、要求

(1)控制密闭容器内空气温度

(2)测温和控温范围:0℃~99℃

(3)控温精度±1℃

(4)掌握DS18B20的工作原理及使用方法。

三、实验内容 3.1 基本设计思路

根据系统的要求,本次设计可分为温度温度采集模块、温度显示 和温度信号控制3个模块。具体框架图如图1所示:

3.2温度控制系统工作原理

温度传感器 DS18B20 从设备环境的不同位置采集温度,51单片机获取采集的温度值,经处理后得到当前环境中一个比较稳定的温度值,再根据当前设定的温度上下限值,通过加热和降温对当前温度进行调整。通过按钮来控制,使电路中的温度控制在预设值范围内。当LED灯亮时表示该硬件系统正在进行加热,当达到预设值则停止加热。

3.3温度采集原理

a温度传感器热电偶测温基本原理

将两种不同材料的导体或半导体A和B焊接起来,构成一个闭合回路,如图2所示。当导体A和B的两个执着点1和2之间存在温差时,两者之间便产生电动势,因而在回路中形成一个大小的电流,这种现象称为热电效应。温度传感器热电偶就是利用这一效应来工作的。

b温度传感器热电阻测温原理

温度传感器热电阻测温是基于金属导体的电阻值随温度的增加而增加这一特性来进行温度测量的。

c数字化温度传感器的工作原理

将温度信号转化为串行数字信号供微处理机处理

3.4 各模块基本功能与设计方案选择和论述
3.4.1 温度采集方案的概述

温度传感器从使用的角度大致可分为接触式和非接触式两大类,前者是让温度传感器直接与待测物体接触,而后者是使温度传感器与待测物体离开一定的距离,检测从待测物体放射出的红外线,达到测温的目的。在接触式和非接触式两大类温度传感器中,相比运用多的是接触式传感器,非接触式传感器一般在比较特殊的场合才使用,早期得到广泛使用的接触式温度传感器主要有热电式传感器,其中将温度变化转换为电阻变化的称为热电阻传感器,将温度变化转换为热电势变化的称为热电偶传感器。现在的温度传感器已经走向数字化,集成化,外形小,接口简单,广泛用于生活中的各个领域。

方案一:采用热敏电阻

可以用热敏电阻对温度感应程度来实现对输入信号的改变,价格比较便宜,但是其灵敏度不高。

方案二:采用热电偶

热电偶是目前接触式测温中应用也十分广泛的热电式传感器,它具有结构简单、制造方便、测温范围宽、热惯性小、准确度高、输出信号便于远传等优点。但是,由于热电偶来采集温度的话会用到运放的比较器电路,信号放大电路,译码器电路来将模拟信号转化为数字信号继而在数码管上显示出来,电路结构过于复杂。

方案三:采用二极管

二极管在正向导通时由于少子的存在和导电性,所以导通电压会受温度影响,优点是价格便宜,对电路要求低,但缺点是精度不高。

方案四:采用数字化温度传感器DS18B20

DS18B20是美国半导体公司推出的第一片支持一线总线的温度传感器,它具有微型化、低功耗、高性能、抗干扰能力强、易配微处理器的优点,可以直接将温度转化成串行数字供微处理器处理。用此前器件后续电路只需要用单片机控制,电路简单而且精确度高。  

综上所述:由于本次课设的要求是对一个较范围内的温度进行采集,所以对精度的要求较高,考虑到成本问题,并且保证电路结构简明,本次试验采用方案三进行温度采集。

3.4.2温度显示方案的概述

本次设计要求对所检测的温度信号进行测量显示,并且精确度至少为1摄氏度。

方案一:用数码管显示

通过51单片机这个微处理器得到转化后的温度数值后,通过程序设定,是可以精确到小数点后两位的,所以本次实验中用4位数码管就可以了,接口较少。并且数码管消耗的电力比液晶显示更加清晰,适合在白天等强光下显示。缺点是只能够显示数字,不能够显示出其他有用信息。

方案二:用1602液晶屏显示

也可以利用1602来对转换后的温度进行显示进行控制,但是由于液晶是反光式的,在外界光线很明亮时容易看不清楚。它的优点是可以显示出文字信息,很明了。另外,其价格比数码管要贵得多。

综上所述:本次设计中主要是显示出已经测到的温度值,并不需要显示其他文字信息,考虑到价格及可见清晰度问题,决定采用方案一。

四、系统软件设计
   4.1 系统软件设计思想

   整个温度系统是硬件电路配合软件电路的设计来完成的。当硬件的功能确定以后,软件的功能也就确定了。

主程序分为4大模块,分别为:

(1)DS18B20内的温度转换部分

(2)读出转换后的温度数值

(3)在七段数码管上的显示模块

(4)温度处理即控制模块

  4.2实验原理
  4.2.1AT89C51的运用及介绍

AT89C51是一种带4K字节FLASH存储器(FPEROM—Flash Programmable and Erasable Read Only Memory)的低电压、高性能CMOS 8位微处理器,俗称单片机。AT89C2051是一种带2K字节闪存可编程可擦除只读存储器的单片机。单片机的可擦除只读存储器可以反复擦除1000次。该器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。由于将多功能8位CPU和闪速存储器组合在单个芯片中,ATMEL的AT89C51是一种高效微控制器,AT89C051是它的一种精简版本。AT89C51单片机为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。

    4.2.2温度采集模块电路的设计
     DS18B20引脚图如图所示:

           
DS18B20内部结构介绍:
DS18B20内部结构图

特性:

• 独特的单线接口仅需一个端口引脚进行通讯
    • 简单的多点分布应用
    • 无需外部器件
    • 可通过数据线供电
    • 零待机功耗
    • 测温范围-55~+125℃,以0.5℃递增。华氏器件-67~+2570F,以0.90F 递增
    • 温度以9 位数字量读出
    • 温度数字量转换时间200ms(典型值)
    • 用户可定义的非易失性温度报警设置
    • 报警搜索命令识别并标志超过程序限定温度(温度报警条件)的器件
    • 应用包括温度控制、工业系统、消费品、温度计或任何热感测系统。

DS18B20的工作原理:

DS18B20的读写时序和测温原理与DS1820相同,只是得到的温度值的位数因分辨率不同而不同,且温度转换时的延时时间由2s 减为750ms。高温度系数晶振 随温度变化其振荡率明显改变,所产生的信号作为计数器2的脉冲输入。计数器1和温度寄存器被预置在-55℃所对应的一个基数值。计数器1对 低温度系数晶振产生的脉冲信号进行减法计数,当计数器1的预置值减到0时,温度寄存器的值将加1,计数器1的预置将重新被装入,计数器1重 新开始对低温度系数晶振产生的脉冲信号进行计数,如此循环直到计数器2计数到0时,停止温度寄存器值的累加,此时温度寄存器中的数值即 为所测温度。图3中的斜率累加器用于补偿和修正测温过程中的非线性,其输出用于修正计数器1的预置值。

4.2.3基于74HC245的缓冲模块

总线收发器(bus transceiver),典型的CMOS型三态缓冲门电路。由于单片机或CPU的数据/地址/控制总线端口都有一定的负载能力,如果负载超过其负载能力,一般应加驱动器。

  245是方向可控的八路缓冲器,主要用于实现数据总线的双向异步通信。为了保护脆弱的主控芯片,通常在主控芯片的并行接口与外部受控设备的并行接口间添加缓冲器。当主控芯片与受控设备之间需要实现双向异步通信时,自然就得选用双向的八路缓冲器了,245就是面向这种需求的。常见于同并口液晶屏、并口打印机、并口传感器或通讯模块等设备的接口上。

五、 原理电路图

  运用电容、51单片机、七段数码管、LED、电解电容 、DS18B20、电阻、74HC245构成实验整体原理图。

5.1  51单片机

   运用单片机处理温度转化成的串行数字信号,实现信号处理。将获得的结果通过输出装置输出显示在七段数码管上,并且在最后的处理部分也借用了P2口的三个引脚,来点亮所需要点亮的LED灯。

   89C52单片机组成结构中包含运算器、控制器、片内存储器、并行I/O口、串行I/O口、定时/计数器、中断系统、振荡器等功能部件。


5.2温度采集部分

   运用一个DS18B20温度传感器作为外部温度的检测部分,并将采集好的串行数字信号供单片机处理。如图。

              
5.3 温度显示部分

7seg-mpx4-ca是4位共阳极7段式数码显示管7seg-mpx4-blue是蓝色的4位7段式数码显示管

该7段数码管分别接于AT89C51单片机和74HC245上,显示初始的预设值和后期温度传感器的返回值。


5.4 加热显示装置
               

运用单击DS18B20上的+或-号来实现温度的调节:

1、当温度高于预设值时,单片机控制系统进行加热。LED灯亮。

  2、当温度低于预设值时,LED灯不亮。

OVEN:

  用于该水温控制的加热,当红灯亮时,表示在加热。

六、仿真结果

      温度信号模拟,加载目标代码程序文件,进入调试环境,执行程序,在Proteus ISIS界面中,分别调试十位设置按键和个位设置按键来预设水温,当DS18B20的温度低于预设值时,红色发光二极管点亮表示进入热状态,反之,发光二极管灭,则表示停止加热。仿真结果如图所示:



课程设计总结
  本次模拟电路课程设计有较强的综合性,不仅要求设计者能熟练使用单片机来实现温度的采集与读数,熟练编写程序,还要求对单片机的电路连接结构,对数码管芯片有明确清晰的了解与认识,否则在设计的第一步就会遇到障碍。
经过一个多星期的资料收集与查询,又经过几天的总体构思,在脑中对温度控制系统的设计有了一个总体的框架,对程序的流程图也有一个基本的结构,最后结合参考资料,又经过两天对程序的编写以及程序的改进,最后终于完成了本次课程设计各项内容。通过运用所学知识、网上查阅资料和努力设计,我从这次课程设计不仅仅只是获得自己亲手做的电子产品,还学到了很多,例如面对问题要保持冷静,特别是在程序的编写这一块,要找出程序的错误一定要有一个冷静的头脑,否则很难发现错误甚至是越改越错。另外我还认识到与他人合作的重要性,虚心向别人学习,充分利用网上资源,都是一些不错的方法。模拟电子技术是一门很有用也是专业基础的学科,一定要学好理论知识,打好基础,而且要学会动手,增强动手能力,通过实践加深对理论知识的理解。
本次课程设计中不断翻阅资料,提高了我的分析能力,也让我体会到了动手实践的快乐,受益匪浅!

参考文献
[1] 吴友宇.模拟电子技术基础.北京.高教出版社,2001年
[2] 康华光.电子技术基础(模拟部分)(第四版).北京:高等教育出版社,1999  
[3] 李万臣.模拟电子技术基础与课程设计.哈尔滨:哈尔滨工程大学出版社,2001.3  
[4] 胡宴如.模拟电子技术..北京: 高等教育出版社,2000     
[5] 沈尚贤.电子技术导论(下册).北京:高等教育出版社,1986年  
[6] 李建兵 周长林. Multisim与Protel的应用.北京. 国防工业出版社. 2009年
  [7]51单片机原理与实践/高卫东,辛友顺,韩彦征编著.北京航空航天大学出版社,2008.1
[8]刘红玲、邵晓根,《微机原理与接口技术》,中国电力出版社,2006年第一版
[9]冯博琴,《微型计算机原理及接口技术》,清华大学出版社
[10]白延敏,《51单片机典型系统开发实例精讲》电子工业出版社,2009
[11]万福君、潘松峰、刘芳 等,《MCS-51单片机原理,系统设计与应用》,清华大学出版社,2008

附录:


单片机源程序如下:
  1. TMPL EQU 29H
  2. TMPH EQU 28H
  3. FLAG1 EQU 38H
  4. DATAIN BIT P3.7
  5. ORG 00H
  6. LJMP MAIN1
  7. ORG 03H
  8. LJMP ZINT0
  9. ORG 13H
  10. LJMP ZINT1
  11. ORG 30H
  12. MAIN1:
  13. SETB IT0
  14. SETB EA
  15. SETB EX0
  16. SETB IT1
  17. SETB EX1
  18. SETB P3.6
  19. SETB P3.2
  20. MOV 74H,#0
  21. MOV 75H,#0
  22. MOV 76H,#9
  23. MOV 77H,#0
  24. MAIN:
  25. LCALL GET_TEMPER
  26. LCALL CVTTMP
  27. LCALL DISP1
  28. AJMP MAIN
  29. INIT_1820:
  30. SETB DATAIN
  31. NOP
  32. CLR DATAIN
  33. MOV R1,#3
  34. TSR1:
  35. MOV R0,#107
  36. DJNZ R0,$
  37. DJNZ R1,TSR1
  38. SETB DATAIN
  39. NOP
  40. NOP
  41. NOP
  42. MOV R0,#25H
  43. TSR2:
  44. JNB DATAIN,TSR3
  45. DJNZ R0,TSR2
  46. CLR FLAG1
  47. SJMP TSR7
  48. TSR3:
  49. SETB FLAG1
  50. CLR P1.7
  51. MOV R0,#117
  52. TSR6:
  53. DJNZ R0,$
  54. TSR7:
  55. SETB DATAIN
  56. RET
  57. GET_TEMPER:
  58. SETB DATAIN
  59. LCALL INIT_1820
  60. JB FLAG1,TSS2
  61. NOP
  62. RET
  63. TSS2:
  64. MOV A,#0CCH
  65. LCALL WRITE_1820
  66. MOV A,#44H
  67. LCALL WRITE_1820
  68. ACALL DISP1
  69. LCALL INIT_1820
  70. MOV A,#0CCH
  71. LCALL WRITE_1820
  72. MOV A,#0BEH
  73. LCALL WRITE_1820
  74. LCALL READ_1820
  75. RET
  76. WRITE_1820:
  77. MOV R2,#8
  78. CLR C
  79. WR1:
  80. CLR DATAIN
  81. MOV R3,#6
  82. DJNZ R3,$
  83. RRC A
  84. MOV DATAIN,C
  85. MOV R3,#23
  86. DJNZ R3,$
  87. SETB DATAIN
  88. NOP
  89. DJNZ R2,WR1
  90. SETB DATAIN
  91. RET
  92. READ_1820:
  93. MOV R4,#2
  94. MOV R1,#29H
  95. RE00:
  96. MOV R2,#8
  97. RE01:
  98. CLR C
  99. SETB DATAIN
  100. NOP
  101. NOP
  102. CLR DATAIN
  103. NOP
  104. NOP
  105. NOP
  106. SETB DATAIN
  107. MOV R3,#9
  108. RE10:
  109. DJNZ R3,RE10
  110. MOV C,DATAIN
  111. MOV R3,#23
  112. RE20:
  113. DJNZ R3,RE20
  114. RRC A
  115. DJNZ R2,RE01
  116. MOV @R1,A
  117. DEC R1
  118. DJNZ R4,RE00
  119. RET
  120. CVTTMP:
  121. MOV A,TMPH
  122. ANL A,#80H
  123. JZ TMPC1
  124. CLR C
  125. MOV A,TMPL
  126. CPL A
  127. ADD A,#1
  128. MOV TMPL,A
  129. MOV A,TMPH
  130. CPL A
  131. ADDC A,#0
  132. MOV TMPH,A
  133. MOV 73H,#0BH
  134. SJMP TMPC11
  135. TMPC1:
  136. MOV 73H,#0AH
  137. TMPC11:
  138. MOV A,TMPL
  139. ANL A,#0FH
  140. MOV DPTR,#TMPTAB
  141. MOVC A,@A+DPTR
  142. MOV 70H,A
  143. MOV A,TMPL
  144. ANL A,#0F0H
  145. SWAP A
  146. MOV TMPL,A
  147. MOV A,TMPH
  148. ANL A,#0FH
  149. SWAP A
  150. ORL A,TMPL
  151. H2BCD:
  152. MOV B,#100
  153. DIV AB
  154. JZ B2BCD1
  155. MOV 73H,A
  156. B2BCD1:
  157. MOV A,#10
  158. XCH A,B
  159. DIV AB
  160. MOV 72H,A
  161. MOV 71H,B
  162. TMPC12:
  163. NOP
  164. DISBCD:
  165. MOV A,73H
  166. ANL A,#0FH
  167. CJNE A,#1,DISBCD0
  168. SJMP DISBCD1
  169. DISBCD0:
  170. MOV A,72H
  171. ANL A,#0FH
  172. JNZ DISBCD1
  173. MOV A,73H
  174. MOV 72H,A
  175. MOV 73H,#0AH
  176. DISBCD1:
  177. RET
  178. TMPTAB:
  179. DB 0,1,1,2,3,3,4,4,5,6,6,7,8,8,9,9
  180. DISP1:
  181. MOV R1,#70H
  182. MOV R0,#74H
  183. MOV R5,#0FEH
  184. PLAY:
  185. MOV P1,#0FFH
  186. MOV A,R5
  187. MOV P2,A
  188. MOV A,@R1
  189. MOV DPTR,#TAB
  190. MOVC A,@A+DPTR
  191. MOV P1,A
  192. MOV A,@R0
  193. MOVC A,@A+DPTR
  194. MOV P0,A
  195. MOV A,R5
  196. JB ACC.1,LOOP1
  197. CLR P1.7
  198. CLR P0.7
  199. LOOP1:
  200.   LCALL DL1MS
  201.   INC R1
  202.   INC R0
  203.   MOV A,R5
  204.   JNB ACC.3,ENDOUT
  205.   RL A
  206.   MOV R5,A
  207.   MOV A,73H
  208.   CJNE A,#1,DD2
  209.   SJMP LEDH
  210. DD2:
  211.   MOV A,72H
  212.   CJNE A,#0AH,DD3
  213.   MOV 72H,#0
  214. DD3:
  215.   MOV A,76H
  216.   CJNE A,72H,DDH
  217.   SJMP DDL
  218. DDH:
  219.   JNC PLAY1
  220.   SJMP LEDH
  221. DDL:
  222.   MOV A,75H
  223.   CJNE A,71H,DDL1
  224.   SJMP LEDH
  225. DDL1:
  226.   JNC PLAY1
  227. LEDH:
  228.   CLR P3.6
  229.   SJMP PLAY
  230. PLAY1:
  231.   SETB P3.6
  232.   SJMP PLAY
  233. ENDOUT:
  234.   MOV P1,#0FFH
  235.   MOV P2,#0FFH
  236.   RET
  237. TAB:
  238.   DB 0C0H,0F9H,0A4H,0B0H,99H
  239.   DB 92H,82H,0F8H,80H,90H,0FFH,0BFH
  240. DL1MS:
  241. ……………………
  242. …………限于本文篇幅 余下代码请从51黑下载附件…………
复制代码
0.png

全部资料51hei下载地址(含proteus仿真与代码+word格式的课设论文):

水温控制.rar (312.48 KB, 下载次数: 175)

评分

参与人数 2黑币 +55 收起 理由
ZYXZZZ + 5 赞一个!
admin + 50 共享资料的黑币奖励!

查看全部评分

回复

使用道具 举报

ID:268529 发表于 2017-12-28 23:11 | 显示全部楼层
好资料,51黑有你更精彩!!!
回复

使用道具 举报

ID:269916 发表于 2018-1-1 22:28 来自手机 | 显示全部楼层
luo1429181965 发表于 2017-12-28 23:11
好资料,51黑有你更精彩!!!

做的很仔细,让我很受益,谢谢
回复

使用道具 举报

ID:297646 发表于 2018-4-11 11:38 | 显示全部楼层
.c 文件可以发一下吗 谢谢 我qq 602227015
回复

使用道具 举报

ID:339804 发表于 2018-5-28 18:07 | 显示全部楼层
在为论文发愁,可以给我发一个嘛
回复

使用道具 举报

ID:339804 发表于 2018-5-28 18:43 | 显示全部楼层
怎么附件里面没有DNS的仿真啊
回复

使用道具 举报

ID:340155 发表于 2018-5-28 21:48 | 显示全部楼层
好资料!顶一下!
回复

使用道具 举报

ID:234560 发表于 2019-1-18 07:21 | 显示全部楼层
这么水还这么多人叫好
回复

使用道具 举报

ID:904058 发表于 2021-4-11 18:54 | 显示全部楼层
这个真够详细的,不错不错
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表