利用89C52设计的温度控制器

发布者:科技创新实践者最新更新时间:2017-12-31 来源: eefocus关键字:89C52  温度控制器 手机看文章 扫描二维码
随时随地手机看文章

1.实验任务
  用可调电阻调节电压值作为模拟温度的输入量,当温度低于30℃时,发出长嘀报警声和光报警,当温度高于60℃时,发出短嘀报警声和光报警。测量的温度范围在0-99℃。
2.电路原理图
两点间温度控制
                图4.29.1
3.系统板上硬件连线
a)把“单片机系统”区域中的P1.0-P1.7与“动态数码显示”区域中的ABCDEFGH端口用8芯排线连接。
b)把“单片机系统”区域中的P2.0-P2.7与“动态数码显示”区域中的S1S2S3S4S5S6S7S8端口用8芯排线连接。
c)把“单片机系统”区域中的P3.0与“模数转换模块”区域中的ST端子用导线相连接。
d)把“单片机系统”区域中的P3.1与“模数转换模块”区域中的OE端子用导线相连接。
e)把“单片机系统”区域中的P3.2与“模数转换模块”区域中的EOC端子用导线相连接。
f)把“单片机系统”区域中的P3.3与“模数转换模块”区域中的CLK端子用导线相连接。
g)把“模数转换模块”区域中的A2A1A0端子用导线连接到“电源模块”区域中的GND端子上。
h)把“模数转换模块”区域中的IN0端子用导线连接到“三路可调电压模块”区域中的VR1端子上。
i)把“单片机系统”区域中的P0.0-P0.7用8芯排线连接到“模数转换模块”区域中的D0D1D2D3D4D5D6D7端子上。
j)把“单片机系统”区域中的P3.6、P3.7用导线分别连接到“八路发光二极管指示模块”区域中的L1、L2上。
k)把“单片机系统”区域中的P3.5用导线连接到“音频放大模块”区域中的SPK IN端口上。
l)把“音频放大模块“区域中的SPK OUT插入音频喇叭。
4.汇编源程序
(略)
5.C语言源程序
#include
unsigned char code dispbitcode[]={0xfe,0xfd,0xfb,0xf7,
                                  0xef,0xdf,0xbf,0x7f};
unsigned char code dispcode[]={0x3f,0x06,0x5b,0x4f,0x66,
                               0x6d,0x7d,0x07,0x7f,0x6f,0x00};
unsigned char dispbuf[8]={10,10,10,10,10,10,0,0};
unsigned char dispcount;
unsigned char getdata;
unsigned int temp;
unsigned char i;
sbit ST=P3^0;
sbit OE=P3^1;
sbit EOC=P3^2;
sbit CLK=P3^3;
sbit LED1=P3^6;
sbit LED2=P3^7;
sbit SPK=P3^5;
bit lowflag;
bit highflag;
unsigned int cnta;
unsigned int cntb;
bit alarmflag;
void main(void)
{
  ST=0;
  OE=0;
  TMOD=0x12;
  TH0=0x216;
  TL0=0x216;
  TH1=(65536-500)/256;
  TL1=(65536-500)%6;
  TR1=1;
  TR0=1;
  ET0=1;
  ET1=1;
  EA=1;
  ST=1;
  ST=0;
  while(1)
    {
      if((lowflag==1) &&(highflag==0))
        {
          LED1=0;
          LED2=1;
        }
        else if((highflag==1) && (lowflag==0))
          {
            LED1=1;
            LED2=0;
          }
          else
            {
              LED1=1;
              LED2=1;
            }
    }
}
void t0(void) interrupt 1 using 0
{
  CLK=~CLK;
}
void t1(void) interrupt 3 using 0
{
  TH1=(65536-500)/256;
  TL1=(65536-500)%6;
       if(EOC==1)
         {
           OE=1;
           getdata=P0;
           OE=0;
           temp=getdata*25;
           temp=temp/64;
           i=6;
           dispbuf[0]=10;
           dispbuf[1]=10;
           dispbuf[2]=10;
           dispbuf[3]=10;
           dispbuf[4]=10;
           dispbuf[5]=10;
           dispbuf[6]=0;
           dispbuf[7]=0;
          while(temp/10)
           {
              dispbuf[i]=temp;
              temp=temp/10;
              i++;
            }
          dispbuf[i]=temp;         
           if(getdata<77)
             {
               lowflag=1;
               highflag=0;
             }
             else if(getdata>153)
               {
                 lowflag=0;
                 highflag=1;
               }
               else
                 {
                   lowflag=0;
                   highflag=0;
                 }
           ST=1;
           ST=0;
         }
  P1=dispcode[dispbuf[dispcount]];
  P2=dispbitcode[dispcount];
  dispcount++;
  if(dispcount==8)
    {
      dispcount=0;
    }
  if((lowflag==1) && (highflag==0))
    {
      cnta++;
      if(cnta==800)
        {
          cnta=0;
          alarmflag=~alarmflag;
        }
      if(alarmflag==1)
        {
          SPK=~SPK;
        }
    }
    else if((lowflag==0) && (highflag==1))
      {
      cntb++;
      if(cntb==400)
        {
          cntb=0;
          alarmflag=~alarmflag;
        }
      if(alarmflag==1)
        {
          SPK=~SPK;
        }       
      }
      else
        {
          alarmflag=0;
          cnta=0;
          cntb=0;
        }
}

关键字:89C52  温度控制器 引用地址:利用89C52设计的温度控制器

上一篇:ADC0809A/D转换器基本应用技术与设计
下一篇:设计一款四位数字温度计

推荐阅读最新更新时间:2024-03-16 15:51

基于51单片机两路温度控制器的设计方案
  本文提出了基于51单片机两路温度控制器的设计方案,该设计方案采用两个DS18B20温度传感器,采集两个不同地方的温度,通过AT89C51处理进行,由四位LED数码管显示所测量温度,前两位为第一个温度传感器的温度,后两位为第二个温度传感器的温度。采用3个按键实现温度最高和最低的设定,采用蜂鸣器和电动机实现温度过高或过低报警。   1.引言   目前,温度控制器存在的问题是如何缩减成本,减少功耗,温度测量的准确性和多路温度的同时显示。本方案设计的实现基于C51单片机的两路温度控制器,做到成本最低化,精确度高,两路温度的显示和控制,能在温度超出设定的最高温度时启动电风扇进行降温,在温度低于设定的最低温度时启动蜂鸣器报警,能够用户
[单片机]
基于51单片机两路<font color='red'>温度控制器</font>的设计方案
LED显示接口电路
  本文介绍了一种利用89C52单片机的一个并行口实现多个LED数码管显示的简单方法,给出了利用此方法设计的多路LED显示系统的硬件电路结构原理图和软件程序流程,同时给出了采用MCS-51汇编语言编写的具体程序。   在单片机应用系统中,普遍使用成本低廉、配置灵活的数码管(LED)做显示器。常用的为4~8位八段LED数码管显示器,即需要4~8个LED数码管。实现这种显示的方法很多,但是,必须采用相应的措施才能实现多个LED的显示。本文介绍了一种设计方法,利用该方法设计的多路LED数码管显示系统具有硬件设备简单,可移植性好,成本低廉的特点,在各种仪表显示系统中应用效果良好。
[单片机]
LED显示接口电路
潜望镜保护玻璃温度控制器的设计
摘要: 采用AD590M作为温度传感器,通过控制继电器工作模式的转换来控制导电薄膜的通电加热,实现潜望镜窗口玻璃温度的远程监视与控制,达到了为潜望镜窗口保护玻璃去冰、去露或去雾的目的。 关键词: 潜望镜;温度传感器;保护玻璃;窗口比较器 概述 为了防止海水进入潜望镜内部,在潜望镜的光线人口处有一块能承受一定海水静压力的保护玻璃。当潜艇在寒冷的气候条件下使用潜望镜进行观察时,其头部窗口会很快地被凝结的冰霜所覆盖,过去唯一的解决办法就是降下潜望镜在海水中冲洗一下再升起观察。然而这种办法既不方便,效果也不理想,因为升起后不久就又被蒙上了。在极冷的气候下,如在北冰洋使用时,潜望镜会受到严重的影响而失去效用。解决以上问题的办法是
[应用]
基于单片机的双模糊温度控制器设计
现代工业控制中,温度控制十分重要且日益复杂化。由于温度控制具有的非线性、大滞后、时变性、升温单向性等特点,在实际应用中难以建立精确的数学模型,无法用经典控制理论及现代控制理论来解决实现温度控制效果。目前,现代智能控制中不依赖对象数学模型、能有效控制时变和非线性系统的模糊控制已普遍应用于工业温度控制中。通过对温度的基本模糊控制,可达到较好的控制效果,但存在一定的稳态误差,难以达到较高的控制精度。若根据系统不同的工作状态采用不同的温度模糊控制,即双模糊控制,可大幅度改善稳念误差,提高控制精度,同时利用单片机作为主控芯片,可有效完成温度模糊处理及温度实时控制且可靠性高。 1 控制器功能及硬件设计 双模糊温度控制器主要以单片机为主控
[单片机]
基于单片机的双模糊<font color='red'>温度控制器</font>设计
89C52单片机 计时器 中断的使用
1.计时器 因为51单片机的机器周期计算公式是12/晶振频率MHz,若晶振为12MHz,则机器周期就是12/(12×10^6)=1us,也就是说计数器没1us计数一次。 一般来说,12MHz晶振下,16位定时器满计数是65536次,每次1us,最大就能计时65.536ms,则65536减去多少就是定时多少,如(65536-X)/256,就是定时X微秒。 那么T=1/(X/12)就是一个机器周期 ,(65536-Z(初值))*T就是定时的时间 比如是12M的晶振那么 设置TMOD=0x01, 计时器模式 TH0=(65536-50000)/256; TL0=(65536-50000)%256;就是设置了50ms的定时
[单片机]
<font color='red'>89C52</font>单片机 计时器 中断的使用
基于89c52的简易计算器设计
#include reg52.h #include math.h #include lcd1602_8.h uint temp,num;//键盘扫描数值 uchar keynum1=0,keynum2=0,sign=0,i=0,j=0; //按键计数,符号标示 uchar num1 ={0},num2 ={0}; //按键存储数组 float ans1=0,ans2=0,ans=0,point=0; //运算数据 bit conflag=0; //继续运算标志位 bit newcalc=0; //新运算标志 bit ac=0; //清零标志,1为清零 bit beepflag=0;
[单片机]
基于<font color='red'>89c52</font>的简易计算器设计
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved