文件名称:DS18b20 温度检测液晶显示-温度可调上下限1602显示.zip
文件大小:58KB
文件格式:ZIP
更新时间:2023-03-15 12:21:57
DS18b20 温度检测液晶显示
DS18b20 温度检测液晶显示-温度可调上下限1602显示
/*------------------------------------------------
主函数
------------------------------------------------*/
void main (void)
{
int temp,tempH=50,tempL=1;
float temperature;
unsigned char TempFlag=0;
char displaytemp[16],num;//定义显示区域临时存储数组
LCD_Init(); //初始化液晶
DelayMs(20); //延时有助于稳定
LCD_Clear(); //清屏
Init_Timer0();
UART_Init();
Lcd_User_Chr(); //写入自定义字符
while (1) //主循环
{
num=KeyScan();
switch(num)
{
case 1:if(tempH<127)tempH++;break;
case 2:if(tempH>-55)tempH--;break;
case 3:if(tempL<127)tempL++;break;
case 4:if(tempL>-55)tempL--;break;
default:break;
}
switch(TempFlag)
{
case 0: //输出温度上限下限
sprintf(displaytemp,"H.%3d L.%3d ",tempH,tempL);
LCD_Write_String(0,1,displaytemp);//显示第二行
break;
case 1:LCD_Write_String(0,1,"over tempH ");break;
case 2:LCD_Write_String(0,1,"under tempL ");break;
default:break;
}
if(ReadTempFlag==1)
{
ReadTempFlag=0;
temp=ReadTemperature();
temperature=temp*0.0625;
temp>>=4;
if(temp>tempH)
TempFlag=1; //高于高温标志
else if(temp
【文件预览】:
DS18b20 温度检测液晶显示-温度可调上下限1602显示
----1602.c(5KB)
----温度可调上下限1602液晶显示测试.opt.bak(985B)
----温度可调上下限1602液晶显示测试.uvproj(13KB)
----18b20.h(658B)
----温度可调上下限1602液晶显示测试.plg(215B)
----温度可调上下限1602液晶显示测试.uv2.bak(2KB)
----温度可调上下限1602液晶显示测试.uvopt(57KB)
----delay.c(738B)
----温度可调上下限1602液晶显示测试_uvopt.bak(58KB)
----obj()
--------main.lst(8KB)
--------1602.obj(9KB)
--------温度可调上下限1602液晶显示测试.m51(26KB)
--------温度可调上下限1602液晶显示测试(23KB)
--------delay.lst(2KB)
--------18b20.lst(4KB)
--------温度可调上下限1602液晶显示测试.plg(211B)
--------1602.lst(9KB)
--------18b20.obj(5KB)
--------delay.obj(1KB)
--------main.obj(9KB)
--------温度可调上下限1602液晶显示测试.hex(10KB)
--------温度可调上下限1602液晶显示测试.lnp(187B)
----1602.h(798B)
----18b20.c(2KB)
----delay.h(654B)
----温度可调上下限1602液晶显示测试_Opt.Bak(977B)
----main.c(4KB)