⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 xuanze.h

📁 单总线多点测温系统
💻 H
字号:
#ifndef __XUANZE_H__
#define __XUANZE_H__
unsigned char k,f=0;
sbit RS=P2^0;
sbit RW=P2^1;
sbit E=P2^2;
sbit DS=P1^1;
void del( int count )  //延时程序
{while(count--)
  ;
}
void delay(unsigned int count)//延时程序
{int p;
 while(count--)
 for(p=0;p<125;p++);
}
void write(unsigned char date)//向DS18B20中写入数据
{ int i;
  for(i=0;i<8;i++)  //由于是单总线每次只能写一位,一个字节需循环8次
  {DS=0;              //主机在某一时刻将总线从高电平拉到低电平,产生写时间隙
   DS=date&0x01; // 写入数据。
   del(15);             //写如数据要15us,ds18b20对数据采样需要15us~60us,共需35us~70us.
   DS=1;
   date>>=1;
   }
 }

   void init(unsigned int n)//	 RW=0,RS=0;向指令寄存器中写入命令,即对1602初始化。
{ delay(10);
  E=0;
  RS=0;
  RW=0;
  E=1;
  P0=n;
  E=0;
 }

void write_data(unsigned char n)//RS=1,RW=0;向数据寄存器中写入数据,即显示的数符。
 {delay(10);
  	E=0;
	RS=1;
	RW=0;
	E=1;
	P0=n;
    E=0;
  }
void matchrom()	//匹配ROM
{ 

  k=P3;
  switch(k)	
 { case 0: {  f=1;
            init(0x80);write_data(0x57);//which 
           init(0x81);write_data(0x68);
		  init(0x82);write_data(0x69);
		  init(0x83);write_data(0x63);
		  init(0x84);write_data(0x68);
          init(0x85);write_data(0x80);
          init(0x86);write_data(0x4e);//NO  
          init(0x87);write_data(0x4f);  
          init(0x88);write_data(0x79);//you  
          init(0x89);write_data(0x6f);
          init(0x8a);write_data(0x75);  
          init(0x8b);write_data(0x80);
          init(0x8c);write_data(0x57);//want  
          init(0x8d);write_data(0x61);
		  init(0x8e);write_data(0x6e);
		  init(0x8f);write_data(0x74);
		    
		 init(0xc0);write_data(0x70); //press
          init(0xc1);write_data(0x72);
		  init(0xc2);write_data(0x65);
		  init(0xc3);write_data(0x73);
		  init(0xc4);write_data(0x73);
          init(0xc5);write_data(0x80);
          init(0xc6);write_data(0x57);//which
          init(0xc7);write_data(0x68);  
          init(0xc8);write_data(0x69); 
          init(0xc9);write_data(0x63);
          init(0xca);write_data(0x68);  
          init(0xcb);write_data(0x80);
          init(0xcc);write_data(0x6b);//key  
          init(0xcd);write_data(0x65);
		  init(0xce);write_data(0x79);
		  init(0xcf);write_data(0x80);   }break;
		 
   case 1:	{  init(0x83);write_data(0x31);	//NO 1
            	write(0x55);       
                write(0x28); 
                write(0x30);
                write(0xc5);
                write(0xb8);
                write(0x00);
                write(0x00);
                write(0x00);
                write(0x8e);  }break;
	 case 2:	{  init(0x83);write_data(0x32);//NO 2
	        	write(0x55);       
                write(0x28); 
                write(0x31);
                write(0xc5);
                write(0xb8);
                write(0x00);
                write(0x00);
                write(0x00);
                write(0xb9); }break;
    case 4:	{   init(0x83);write_data(0x33); //NO 3
	        	write(0x55);       
                write(0x28); 
                write(0x32);
                write(0xc5);
                write(0xb8);
                write(0x00);
                write(0x00);
                write(0x00);
                write(0xe0);   }break;
     case 8:	{  init(0x83);write_data(0x34);	 //NO 4
	        	write(0x55);       
                write(0x28); 
                write(0x33);
                write(0xc5);
                write(0xb8);
                write(0x00);
                write(0x00);
                write(0x00);
                write(0xd7);   }	break;
     case 16:	{   init(0x83);write_data(0x35); //NO 5
	        	write(0x55);       
                write(0x28); 
                write(0x34);
                write(0xc5);
                write(0xb8);
                write(0x00);
                write(0x00);
                write(0x00);
                write(0x52);   }	break;
      case 32:	{  init(0x83);write_data(0x36);	// NO 6
	         	write(0x55);       
                write(0x28); 
                write(0x35);
                write(0xc5);
                write(0xb8);
                write(0x00);
                write(0x00);
                write(0x00);
                write(0x65);  }break;
      case 64:	{   init(0x83);write_data(0x37); //NO 7
	        	write(0x55);       
                write(0x28); 
                write(0x36);
                write(0xc5);
                write(0xb8);
                write(0x00);
                write(0x00);
                write(0x00);
                write(0x3c); } break;
     
   	  case 128:	{   init(0x83); write_data(0x38);//NO 8
	         	write(0x55);       
                write(0x28); 
                write(0x37);
                write(0xc5);
                write(0xb8);
                write(0x00);
                write(0x00);
                write(0x00);
                write(0x0b);  } break;
	  default:{ 
	  			 f=1;
	      init(0x80);write_data(0x50); //please
          init(0x81);write_data(0x6c);
		  init(0x82);write_data(0x65);
		  init(0x83);write_data(0x61);
		  init(0x84);write_data(0x73);
          init(0x85);write_data(0x65);
          init(0x86);write_data(0x80);
          init(0x87);write_data(0x70); //press 
          init(0x88);write_data(0x72);  
          init(0x89);write_data(0x65);
          init(0x8a);write_data(0x73);  
          init(0x8b);write_data(0x73);
          init(0x8c);write_data(0x80); 
          init(0x8d);write_data(0x6f); //one
		  init(0x8e);write_data(0x6e);
		  init(0x8f);write_data(0x65);  
		 init(0xc0);write_data(0x80);
          init(0xc1);write_data(0x80);
		  init(0xc2);write_data(0x80);
		  init(0xc3);write_data(0x6b);//key
		  init(0xc4);write_data(0x65);
          init(0xc5);write_data(0x79);
          init(0xc6);write_data(0x80); 
          init(0xc7);write_data(0x6f);//only  
          init(0xc8);write_data(0x6e);
          init(0xc9);write_data(0x6c);
          init(0xca);write_data(0x79);  
          init(0xcb);write_data(0x80);
          init(0xcc);write_data(0x21);//! 
          init(0xcd);write_data(0x80);
		  init(0xce);write_data(0x80);
		  init(0xcf);write_data(0x80);  }break;
	            
	}

}
 #endif

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -