毕业论文

打赏
当前位置: 毕业论文 > 自动化 >

51单片机的多通道温度采集处理系统设计+仿真图+源码(7)

时间:2016-12-20 16:52来源:毕业论文
图16 系统主程序流程图 5.3 传感器程序设计 DS18b20的读时序,DS18b20的读时序图如图17所示。 图17 DS18b20的读时序 从DS18B20读取一个字节的程序片段,读出温度


 
图16 系统主程序流程图
5.3 传感器程序设计
DS18b20的读时序,DS18b20的读时序图如图17所示。
 
图17 DS18b20的读时序
从DS18B20读取一个字节的程序片段,读出温度子程序的主要功能是读出RAM的9字节,在读出时需要进行CRC校验。其程序如下。
sbit DQ=P3^3;

void Delay(uint x)
{
    while(--x);
}
uchar Read_One_Byte( )
{
    uchar i,dat=0;
    DQ=1;_nop_( );
    for(i=0;i<8;i++)
    {
        DQ=0;    dat>>=1;
        DQ=1;
        _nop_( );_nop_( );
        if(DQ)
                dat|=0x80;
        Delay(30);
        DQ=1;
    }
    return dat;
}
5.4 显示程序设计
根据系统的要求,单片机不仅要能接收到温度信号,还要将温度信号显示出来,使系统一目了然。对于输入的温度信号的显示是利用8个数码管进行显示的。先取缓冲区的首地址,然后去各位对应的字位码,完了送到74HC573锁存器中,再重复刚才的过程,最后显示字码。LED显示流程图如图18所示。
 
图18 LED显示流程图
5.5 报警程序设计  
本设计采用高温或者低温报警,如果某个传感器的温度超过或者低于了设定温度,将发出报警。其程序如下。
warning()                             
  {int i,j;  for(j=0;j<400;j++)
  {   
{sound=1;  
  for(i=0;i<100;i++)   
 sound=0;  
 }  
}
 }
5.6 通信模块程序设计
通过串行口与计算机和通信系统,可以发送到上位机温度。通过RS232总线与计算机连接。当运行Proteus软件,你可以从数码管上看到4个通道的温度循环显示。其程序如下。
void SendStr(char *str)
{   TI = 0;
  while(*str != 0x00)
 {  SBUF = *str++;
  while(TI == 0);  
 TI   = 0;
 }
   }
6. 结束语
本设计选用DS18b20这种单种线数字温度传感器的通信方式。用其构建的系统有很多优点:硬件连线简单,省去了使用模拟传感器要进行放大、A/D转换等工作。由于它的级联功能,一条总线可以挂接多个传感器测量不同位置的温度,根据DS18b20唯一的序列号识别不同传感器在各自位置的温度。
该设计以C51单片机为核心,以DS18b20温度传感器为温度采集装置。着重介绍了温度采集模块、键盘模块、显示模块、报警模块还有串口通信模块等各模块电路的设计,以及个电路与单片机的接口技术。最后还给出系统的软件设计过程,使用C语言进行程序设计。在论文的最后给出了仿真结果图,包括正常情况下的仿真图和报警状态下的仿真图。该设计适用于环境温度监控,对温度小变化较敏感。缺点是不适合应用于温度跨度大的温度采集处理方式。
该设计能对多通道的温度进行采集处理,具有的功能是:(1) 温度测量范围是0℃——99℃;(2) 能循环显示温度值;(3) 通过键盘可以设置温度报警的上下限,具有报警功能;(4) 采用LED显示。 51单片机的多通道温度采集处理系统设计+仿真图+源码(7):http://www.youerw.com/zidonghua/lunwen_1336.html
------分隔线----------------------------
推荐内容