📄 xuanze.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 + -