• 大小: 4.47MB
    文件类型: .rar
    金币: 1
    下载: 0 次
    发布日期: 2023-09-17
  • 语言: C#
  • 标签: C#上位机  温度采集  

资源简介

proteus仿真+Keil源工程文件+C#上位机 本系统主要利用串口通信,实现温度的实时采集和处理分析等简要功能。下位机(主控芯片8051)接收上位机(C#开发windows应用程序)的指令实现温度采集、温度报警功能,上位机通过发送指令控制采集时间间隔,报警上下限、报警温度点的控制,具有实时温度曲线显示功能;并能够调用数据库来查看、删除历史数据,以图表的形式作进一步统计分析。

资源截图

代码片段和文件信息

#include“18b20.h“

sbit DQ=P2^3; //数据通信串口

/************************************************
函数功能:延时子函数
入口参数:time
出口参数:无
**************************************************/
void delay18b20(uint time)
{
  uchar n;
for( n=0;n}

/**************************************************
函数功能:DS18B20初始化子程序
入口参数:无
出口参数:无
**************************************************/
uchar Init_DS18B20(void)
{
uchar x;
DQ=0;              //电平拉低,发送复位脉冲
delay18b20(29);         //延时480-960us
DQ=1;
delay18b20(3);          //电平拉高后,需等待15-60us
x=DQ;
delay18b20(25);         //发送存在脉冲需要60-240us
return (x);        //返回值x位0,则DS18B20准备好
}
/***************************************************
函数功能:从DS18B20读出一个字节
入口参数:无
出口参数:dat
*****************************************************/
uint Read(void)                    
{
 uchar idat;
 for (i=8;i>0;i--) //每条数据位一字节,8位
 {
  dat>>=1;//从低位读起
  DQ = 0;                
  _nop_();_nop_();_nop_();_nop_();//延时后拉高
  DQ = 1;               
  if(DQ)//次判断读取‘1’
  {
   dat|=0x80;
  }
  delay18b20(4);//次延时必须有,采样需要45us           
  }
  return(dat);
}

/***************************************************
函数功能:向DS18B20写一字节数据
入口参数:dat
出口参数:无
****************************************************/
void Write(char dat)           
{
 uchar i;
 for (i=8; i>0; i--)  
 {
  DQ = 0;         
  _nop_();            
  DQ = dat&0x01;
  delay18b20(8);       
  DQ = 1;
  _nop_();
  dat>>=1;
  }
}
/**************************************************
函数功能:从DS18B20读取温度值
入口参数:无
出口参数:temperature
**************************************************/
float CatchTemper(void)
{
 uchar tempLtempH;
uint temperature;
float tem;

Init_DS18B20(); //初始化
Write(0xcc);    //跳过读序列号的操作
Write(0x44);    //启动温度转换
Write(0x4e);
Init_DS18B20(); //初始化
Write(0xcc);
Write(0xbe);    //读温度寄存器命令
tempL=Read();   //读出温度的低位
tempH=Read();   //读出温度的高位
temperature=tempH;       //将高位放在i的低位
temperature<<=8;        //将低位移至高位
temperature|=tempL;      //将低位放在i的低位
if((tempH&0x08))//判断符号位,温度为负值,则执行
{
temperature=0xffff-temperature+1;//二进制负数求原码
tem=temperature*0.0625;
tem+=0x8000;
}
else tem=temperature*0.0625;
return tem;
}

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件       1054  2012-06-13 19:16  TemCatch\TemCatch.PWI

     文件     141018  2012-06-13 19:06  TemCatch\Last Loaded TemCatch.DBK

     文件     141018  2012-06-13 19:06  TemCatch\TemCatch.DSN

     文件     708096  2012-06-24 09:38  TemCatch\徐龙秋 信息09级1班 27.doc

     文件         50  2012-06-23 12:35  TemCatch\PCB\TemCatch.PrjPCBStructure

     文件      37500  2012-06-23 12:37  TemCatch\PCB\TemCatch.PrjPCB

     文件     460800  2012-06-23 14:42  TemCatch\PCB\TemCatch.PcbDoc

     文件     233984  2012-06-23 14:42  TemCatch\PCB\TemCatch.SchDoc

     文件       2595  2012-06-22 17:20  TemCatch\PCB\Project Logs for TemCatch\TemCatch SCH ECO 2012-6-22 17-20-24.LOG

     文件         68  2012-06-22 17:21  TemCatch\PCB\Project Logs for TemCatch\TemCatch SCH ECO 2012-6-22 17-21-07.LOG

     文件         67  2012-06-22 17:23  TemCatch\PCB\Project Logs for TemCatch\TemCatch SCH ECO 2012-6-22 17-23-31.LOG

     文件       8362  2012-06-22 17:23  TemCatch\PCB\Project Logs for TemCatch\TemCatch PCB ECO 2012-6-22 17-23-47.LOG

     文件        330  2012-06-22 17:36  TemCatch\PCB\Project Logs for TemCatch\TemCatch SCH ECO 2012-6-22 17-36-21.LOG

     文件       1382  2012-06-22 17:36  TemCatch\PCB\Project Logs for TemCatch\TemCatch PCB ECO 2012-6-22 17-36-31.LOG

     文件         66  2012-06-22 17:48  TemCatch\PCB\Project Logs for TemCatch\TemCatch SCH ECO 2012-6-22 17-48-21.LOG

     文件        271  2012-06-22 17:48  TemCatch\PCB\Project Logs for TemCatch\TemCatch PCB ECO 2012-6-22 17-48-31.LOG

     文件         27  2012-06-22 18:03  TemCatch\PCB\Project Logs for TemCatch\TemCatch PCB ECO 2012-6-22 18-03-12.LOG

     文件         27  2012-06-22 18:04  TemCatch\PCB\Project Logs for TemCatch\TemCatch PCB ECO 2012-6-22 18-04-33.LOG

     文件        505  2012-06-22 18:05  TemCatch\PCB\Project Logs for TemCatch\TemCatch PCB ECO 2012-6-22 18-05-07.LOG

     文件      10399  2012-06-22 18:05  TemCatch\PCB\Project Logs for TemCatch\TemCatch PCB ECO 2012-6-22 18-05-44.LOG

     文件       1373  2012-06-23 12:20  TemCatch\PCB\Project Logs for TemCatch\TemCatch PCB ECO 2012-6-23 12-20-43.LOG

     文件        121  2012-06-23 12:21  TemCatch\PCB\Project Logs for TemCatch\TemCatch PCB ECO 2012-6-23 12-21-35.LOG

     文件       1046  2012-06-23 12:35  TemCatch\PCB\Project Logs for TemCatch\TemCatch PCB ECO 2012-6-23 12-35-40.LOG

     文件       4053  2012-06-22 11:05  TemCatch\PCB\History\TemCatch.~(1).PrjPCB.Zip

     文件       4202  2012-06-22 11:09  TemCatch\PCB\History\TemCatch.~(2).PrjPCB.Zip

     文件       1465  2012-06-22 11:40  TemCatch\PCB\History\TemCatch.~(1).SchDoc.Zip

     文件      25949  2012-06-22 11:40  TemCatch\PCB\History\TemCatch.~(2).SchDoc.Zip

     文件      25949  2012-06-22 11:40  TemCatch\PCB\History\TemCatch.~(3).SchDoc.Zip

     文件      25949  2012-06-22 11:40  TemCatch\PCB\History\TemCatch.~(4).SchDoc.Zip

     文件      25949  2012-06-22 11:40  TemCatch\PCB\History\TemCatch.~(5).SchDoc.Zip

............此处省略169个文件信息

评论

共有 条评论