单片机温度控制系统_第1页
单片机温度控制系统_第2页
单片机温度控制系统_第3页
单片机温度控制系统_第4页
免费预览已结束,剩余1页可下载查看

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、  单片机温度控制系统   摘要:单片机具有体积小、功能强、成本低、 应用 面广等优点,可以说,智能控制与自动控制的核心就是单片机。 目前 ,一个 学习 与应用单片机的高潮在全 社会 大规模地兴起。学习单片机的最有效 方法 就是 理论 与实践并重,本文用80c51单片机自制了一个温度控制系统,重点介绍了该系统的硬件结构及编程方法。关键词:单片机、温度传感器、模/数转换器    一、单片机温度控制系统的组成及工作原理    在 工业 生产和日常生活中,对温度控制系统的要求,主要

2、是保证温度在一定温度范围内变化,稳定性好,不振荡,对系统的快速性要求不高。以下简单 分析 了单片机温度控制系统设计过程及实现方法。现场温度经温度传感器采样后变换为模拟电压信号,经低通滤波滤掉干扰信号后送放大器,信号放大后送模/数转换器转换为数字信号送单片机,单片机根据输入的温度控制范围通过继电器控制加热设备完成温度的控制。本系统的测温范围为099,启动单片机温度控制系统后首先按下第一个按键开始最低温度的设置,这时数码管显示温度数值,每隔一秒温度数值增加一度,当满足用户温度设置最低值时再按一下第一个按键完成最低温度的设置,依次类推通过第二个按键完成最高温度的设置。然后温度检测系统根据用户设定的温

3、度范围完成一定范围的温度控制。    二、温度检测的设计    系统测温采用ad590温度传感器,ad590是美国模拟器件公司生产的单片集成两端感温电流源。它的主要特性如下:    1、流过器件的电流(ma)等于器件所处环境的热力学温度(开尔文)度数;即: ,式中:ir流过器件(ad590)的电流,单位为ma;t热力学温度,单位为k。    2、ad590的测温范围为-55+150;   

4、0;3、ad590的电源电压范围为4v30v;    4、输出电阻为710mw;    5、精度高。    ad590温度传感器输出信号经放大电路放大10倍,再送入模/数转换器adc0804,转换后送单片机。根据ad590温度传感器特性以及放大10倍后的电压值与现场温度的比较发现,实际温度转换后送入单片机的值与按键输入数值之间有一定的差值,模/数转换器送入单片机的数值是按键输入值得2.5倍。由于单片机不能进行小数乘法运算,所以先对按键输入进行乘5,然后根据运算结果及程序状态字

5、的状态再进行循环右移一位,如果溢出标志位为低电平时直接对累加器进行一次带进位循环右移,如果溢出标志位为高电平时,先对进位标准位cy位置为高电平,然后再进行一次带进位循环右移,通过上述操作使按键输入的温度值与模/数转换器送入单片机的温度值相统一。    三、具体电路连接如图所示     四、软件编程    单片机温度控制系统由硬件和软件组成,上述硬件原理图搭建完成上电之后,我们还不能实现对温度的控制,需要给单片机编写程序,下面给出了温度控制系统的编程方法。 

6、    org  00h    start:anl  p1,#00h;显示00    jb    p3.4 ,$ ;t0=0?有键按下?    call  delay1 ;消除抖动    jnb   p3.4 ,$;t0=1?放下

7、?    mov   r0   ,#00;计温指针初值    l1: mov  a  , r0 ;计温指针载入acc    mov  p1   , a ;输出至p1显示    mov  r5 , #1

8、0 ;延时1秒    a1:mov  r6 , #200    d1:mov  r7 , #248  ;0.5毫秒    jnb  p3.4  ,l2  ;第2次按下t0?    djnz  r7,$    d

9、jnz  r6,d1    djnz  r5,a1    inc   a    da    a    mov   r0 , a    jmp   l1    l2:cal

10、l  delay1  ;第2次按消除抖动    jb    p3.4 ,l3 ;放开了没?是则;跳至l3停止    jmp   l2    l3: mov   a   ,r0    call  change &

11、#160;  mov   31h , a  ;下限温度存入31h    jb   p3.5  ,$   ;t1=0?有键按下?    call  delay1    ;消除抖动    jnb  p3.5  ,$

12、   ;t1=1?放开?    mov  r0  ,#00  ;计温指针初值    l4:mov  a   ,ro   ;计温指针载入acc    mov  p1  , a   ;显示00   

13、60;mov  r5  ,#10 ;延时1秒    a2:mov  r6  ,#200    d2:mov  r7  ,#248 ;0.5毫秒    jnb  p3.5  ,l5  ;第二次按下t1?    djnz  

14、r7 ,$    djnz  r6 ,d2    djnz  r5 , a2    add   a  , #01h    da    a    mov   r0 , a&

15、#160;   jmp   l4    l5:call  delay1  ;第2次按消除抖动    jb    p3.5 ,l6 ;放开了?是则跳至l6    jmp   l5    l6:mov   a, r

16、o ;    call  change    mov   30h ,a ;上限温度存入30h    delay1:mov  r6 ,#60 ;30毫秒    d3:mov   r7 , #248    djnz 

17、0;r7 , $    djnz  r6 , d3    ret    change:mov b ,#5    mul   ab    jno    d4    setb  c &

18、#160;  d4:rrc   a    ret    mov   32h ,#0ffh ;32h旧温度寄存;器初值    aaa:movx r0 , a;使bus为高阻抗;并令adc0804开始转换    wait:jb  p2.0  ,adc ;检测转换完

19、成否    jmp  wait    adc:movx  a ,ro ;将转换好的值送入;累加器    mov  33h ,a  ;将现在温度值存入33h    clr  c      ;c=0    subb

20、  a ,32h    jc   tdown  ;c=0取入值较大,表示;温度上升,c=1表示下降    tup:mov  a, 33h ;将现在温度值存入a    clr   c    subb  a  ,30h ;与上限温度作比较

21、60;   jc   loop  ;c=1时表示比上限小须;加热,c=0表示比上限大,停止加热    setb  p2.1    jmp  loop    tdown:mov a ,33h ;将现在温度值存入a    clr  c    subb  a ,31h  ;与下限温度作比较 

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论