• 大小: 129KB
    文件类型: .zip
    金币: 1
    下载: 0 次
    发布日期: 2021-05-14
  • 语言: 其他
  • 标签: DS180B20  +序列号  

资源简介

多路DS1820测温+DS18B20序列号读取

资源截图

代码片段和文件信息

#include
#include
#include 
#include 
#define uchar unsigned char
#define uint  unsigned int

sbit RS=  P2^0  ; //液晶显示引脚定义
sbit RW=  P2^1  ;
sbit EN=  P2^2  ;
uint  t=0dian=0;
uchar LCD_LINE[16]={“tp1:           “}; //定义显示屏幕

int Tm;
int  fushu=0 ;
sbit DQ= P3^3;    
code unsigned char get_serial[]={   //获取的八个DS18B20内部RAM64位序列号
  2270061804310740
   117006180136340
   14900617918922340
   810061809413240
   178006180215640
   89006180020140
   14600617917521240
   135006180402940  
 };
void delay(uint ms )   //用于液晶显示的延时函数
{
  int i ;
  while(ms--)
  {
       for(i=0 ;i<5 ;i++ )  
   ;
  }
}

uchar Read_LCD_State()   //读取液晶显示的状态
{
  uchar state;
RS=0;RW=1;EN=1;delay(1);
state=P0;
EN = 0;delay(1);
return state;
}
void LCD_Busy_Wait()  //如果忙则等待函数
{
  while((Read_LCD_State()&0x80)==0x80);
delay(5);
}

void Write_LCD_Zhilin(uchar zl)   //液晶显示写指令函数
{
LCD_Busy_Wait();
RS=0;RW=0;
EN=0;
P0=zl;
EN=1;
delay(1);
EN=0;
}
void Write_LCD_shuju(uchar date)      //液晶显示写数据函数
{
  LCD_Busy_Wait();
RS=1;RW=0;
EN=0;
P0=date;
EN=1;
delay(1);
EN=0;
}
 void LCD_INIT() //液晶显示初始化
{
    Write_LCD_Zhilin(0x38);   // 显示模式设置
delay(1);   
Write_LCD_Zhilin(0x01);   // 显示清屏
delay(1);  
Write_LCD_Zhilin(0x06);   // 光标移动设置
delay(1);
Write_LCD_Zhilin(0x0c);   // 开及光标设置
delay(1);
}
 void Display_LCD_String(uchar puchar *s)   //液晶显示写入函数
{
  uchar i;
Write_LCD_Zhilin(p) ;  
//Write_LCD_Zhilin(0x40|0x80) ;
for(i=0;i<6;i++)
{
Write_LCD_shuju(s[i]);
delay(1); 
}
}
 void Display_LCD_String_init(uchar puchar *s)   //液晶显示写入函数
{
  uchar i;
Write_LCD_Zhilin(p) ;   
//Write_LCD_Zhilin(0x40|0x80) ;
for(i=0;i<2;i++)
{
Write_LCD_shuju(s[i]);
delay(1); 
}
}
/***************************************************************************************/
void delays(int us)    //用于DS18B20的延时函数
{ int s;
for ( s=0; s}
void rst(void) //DS18B20初始化
{
DQ = 1;
delays(2);
DQ = 0;
delays(30); //精确延时 480~960us
DQ = 1;
delays(8);
}
void write(unsigned char ku) //DS18B20写函数
{
int i=0;
     for (i=0;i<8;i++)
    {
DQ=0;
DQ =ku&0x01;
delays(3);
DQ=1;
ku>>=1;
    }
}
void match_rom(unsigned char *rom)   //DS18B20匹配ROM函数
{
 unsigned char i;
 rst();   //初始化
 write(0x55);   //匹配ROM
 for(i=8;i>0;i--)
 {
          write(*(rom+i-1));
 }

}
unsigned int read(void)   //DS18B20读函数,每次读16位
{
int i=0;
unsigned int u=0;
    for (i=0;i<16;i++)
    {
DQ=0;
u>>=1;
DQ=1;
if(DQ) u|=0x8000;
delays(4);
     }
    return (u);
}
int  read0(unsigned char *seria) //读取对应温度值并转换函数
{
     int temperature ;
    unsigned int tp;
    unsigned int lsb;
    rst();   //初始化
    write(0xCC);   //跳过RAM
write(0x44);   //温度转换
rst();   //再次初始

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     目录           0  2015-06-22 09:54  多路DS18B20测量\
     文件       13566  2015-06-09 13:10  多路DS18B20测量\ds18du.hex
     文件          29  2015-06-09 13:10  多路DS18B20测量\ds18du.lnp
     文件       23297  2015-06-09 13:10  多路DS18B20测量\ds18du.M51
     文件        1180  2015-06-12 14:01  多路DS18B20测量\ds18du.Opt
     文件        1760  2015-06-12 14:01  多路DS18B20测量\ds18du.plg
     文件        2112  2015-06-12 14:01  多路DS18B20测量\ds18du.Uv2
     文件       95577  2015-06-09 20:44  多路DS18B20测量\ds18duolu.DSN
     文件        3938  2015-06-12 14:02  多路DS18B20测量\ds18duolu.PWI
     文件        1188  2015-06-12 13:48  多路DS18B20测量\ds18du_Opt.Bak
     文件        2112  2015-05-19 19:16  多路DS18B20测量\ds18du_Uv2.Bak
     文件        7216  2015-06-12 14:01  多路DS18B20测量\dsduid.c
     文件       17529  2015-06-12 14:01  多路DS18B20测量\dsduid.LST
     文件       95577  2015-06-04 09:47  多路DS18B20测量\Last Loaded ds18duolu.DBK
     文件        6376  2011-11-06 12:20  多路DS18B20测量\STARTUP.A51
     文件       10725  2011-11-06 12:20  多路DS18B20测量\STARTUP.LST
     文件         759  2011-11-06 12:20  多路DS18B20测量\STARTUP.OBJ
     文件           0  2015-06-03 18:27  多路DS18B20测量\Text1.c
     目录           0  2015-06-04 21:53  读取序列号\
     文件        8872  2015-06-04 21:14  读取序列号\aaaaaa
     文件        1550  2015-06-04 21:14  读取序列号\aaaaaa.hex
     文件          28  2015-06-04 21:14  读取序列号\aaaaaa.lnp
     文件       12827  2015-06-04 21:14  读取序列号\aaaaaa.M51
     文件         968  2015-06-04 19:08  读取序列号\aaaaaa.Opt
     文件         165  2015-06-04 21:53  读取序列号\aaaaaa.plg
     文件        2110  2015-06-04 21:53  读取序列号\aaaaaa.Uv2
     文件         834  2015-06-03 19:00  读取序列号\aaaaaa_Opt.Bak
     文件        2106  2015-06-04 19:08  读取序列号\aaaaaa_Uv2.Bak
     文件      134176  2015-06-03 18:32  读取序列号\Last Loaded kongqilengqueqi1.DBK
     文件        6376  2005-03-22 15:22  读取序列号\STARTUP.A51
     文件        7273  2015-06-04 11:01  读取序列号\Text1.c
............此处省略4个文件信息

评论

共有 条评论