📄 lcd1602.c
字号:
#include "lcd1602.h"
#include "ds18b20.h"
#include <stdio.h>
unsigned char temp[5];
extern char xiaoshu_temp[5],zhen_temp[4];
extern bit flag;
extern bit dot_dis;
uchar ds18b20_num1[8]={0xfd,0x00,0x00,0x00,0xb8,0xc5,0x45,0x28};
uchar ds18b20_num2[8]={0x8e,0x00,0x00,0x00,0xb8,0xc5,0x30,0x28};
uchar ds18b20_num3[8]={0xb9,0x00,0x00,0x00,0xb8,0xc5,0x31,0x28};
uchar ds18b20_num4[8]={0xe0,0x00,0x00,0x00,0xb8,0xc5,0x32,0x28};
void delay(unsigned int time)
{
unsigned int i,j;
for(i=0;i<time;i++)
for(j=0;j<200;j++);
}
void main(void)
{
uchar i;
uchar *ds18b20_rom;
char *str1="1:";
char *str2="2:";
char *str3="3:";
char *str4="4:";
serial_set();
Lcd_Init();
ClrScreen();
GotoXY(0,0);
dot_dis=1;
/*ds18b20_rom=read_rom(); //读序列号
for(i=0;i<8;i++)
{
ds18b20_num2[i]=*ds18b20_rom;
ds18b20_rom++;
}
GotoXY(0,1);
for(i=0;i<8;i++) //显示序列号
{
print_char(ds18b20_num2[i]/16);
print_char(ds18b20_num2[i]%16);
}
while(1);*/
while(1)
{
ds18b20_init();
ds18b20_writecommand(0xcc);
ds18b20_writecommand(0x44); //转换
delay(500);
match_rom(ds18b20_num1); //匹配第一路
ds18b20_writecommand(0xbe); //读
for(i=0;i<2;i++)
{
temp[i]=ds18b20_readdata();
}
temperature_process(temp[0],temp[1]);
Screen_home();
Print(str1);
if(!flag) //正
{
Print(zhen_temp);
if(dot_dis)
Print(".");
Print(xiaoshu_temp);
}
else //负
{
Print("-");
Print(zhen_temp);
if(dot_dis)
Print(".");
Print(xiaoshu_temp);
}
Print(" ");
ds18b20_init();
ds18b20_writecommand(0xcc);
ds18b20_writecommand(0x44); //转换
delay(500);
match_rom(ds18b20_num2); //匹配第二路
ds18b20_writecommand(0xbe); //读
for(i=0;i<2;i++)
{
temp[i]=ds18b20_readdata();
}
temperature_process(temp[0],temp[1]);
GotoXY(9,0);
Print(str2);
if(!flag) //正
{
Print(zhen_temp);
if(dot_dis)
Print(".");
Print(xiaoshu_temp);
}
else //负
{
Print("-");
Print(zhen_temp);
if(dot_dis)
Print(".");
Print(xiaoshu_temp);
}
Print(" ");
ds18b20_init();
ds18b20_writecommand(0xcc);
ds18b20_writecommand(0x44); //转换
delay(500);
match_rom(ds18b20_num3); //匹配第三路
ds18b20_writecommand(0xbe); //读
for(i=0;i<2;i++)
{
temp[i]=ds18b20_readdata();
}
temperature_process(temp[0],temp[1]);
GotoXY(0,1);
Print(str3);
if(!flag) //正
{
Print(zhen_temp);
if(dot_dis)
Print(".");
Print(xiaoshu_temp);
}
else //负
{
Print("-");
Print(zhen_temp);
if(dot_dis)
Print(".");
Print(xiaoshu_temp);
}
Print(" ");
ds18b20_init();
ds18b20_writecommand(0xcc);
ds18b20_writecommand(0x44); //转换
delay(500);
match_rom(ds18b20_num4); //匹配第二路
ds18b20_writecommand(0xbe); //读
for(i=0;i<2;i++)
{
temp[i]=ds18b20_readdata();
}
temperature_process(temp[0],temp[1]);
GotoXY(9,1);
Print(str4);
if(!flag) //正
{
Print(zhen_temp);
if(dot_dis)
Print(".");
Print(xiaoshu_temp);
}
else //负
{
Print("-");
Print(zhen_temp);
if(dot_dis)
Print(".");
Print(xiaoshu_temp);
}
Print(" ");
//delay(100);
}
while(1);
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -