Cc__RuoNinG 2017-06-25 01:25 采纳率: 0%
浏览 1421
已结题

温度报警器如何让LCD实时读取温度数值??求教

本人小白一只 ,近日学校留了个课设,题目是温度报警器,报警部分写完后发现LCD部分一点都不会啊 我还作死的往上加了个GSM模块 有没有大神救救我。。
#include
#include
unsigned char code seg7code[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0xff} ;
sbit DQ=P3^2;
bit fg=1;
sbit fmq=P1^5;
unsigned int sdata;
void delay(unsigned char t)
{
do{
nop();
nop();
nop();
nop();
nop();
nop();
nop();
nop();
}while(--t);

}
void delay50ms()
{
unsigned char i,j;
for(i=0;i<10;i++)
for(j=0;j<200;j++);
}
void Init_DS18B20()
{
unsigned char x=0;
EA=0;
DQ=0;
delay(50);
DQ=1;
delay(6);
while(!DQ);
EA=1;

}
ReadOneChar(void)
{
unsigned char i=0;
unsigned char dat=0;
for(i=0;i {
DQ=1;
delay(1);
DQ=0;
dat>>=1;

DQ=1;
if(DQ)
dat|=0x80;
delay(4);

}
return dat;

}
void WriteOneChar(unsigned char dat)
{
unsigned char i=0;
for(i=0;i {
DQ=0;
DQ=dat&0x01;
delay(5);
DQ=1;
dat>>=1;
}
delay(4);
}
void ReadTemperature(void)
{
unsigned char tempL=0;
unsigned char tempH=0;
float f_sdata;
Init_DS18B20();
WriteOneChar(0xcc);
WriteOneChar(0x44);
delay(125) ;
Init_DS18B20();
WriteOneChar(0xcc);
WriteOneChar(0xbe);
tempL=ReadOneChar();
tempH=ReadOneChar();
sdata=tempH;
sdata=sdata *256|tempL;
if(tempH>>7==0x01);
{
f_sdata=((~sdata)+1)*0.0625;
fg=0;

}
if(tempH>>7==0x00)
{
    f_sdata=sdata*0.0625;
    fg=1;


}
sdata=f_sdata*10+0.5;

}
void Led(unsigned int temp)
{
P1=0xfd;
P0=seg7code[temp/100] ;
delay50ms();
P0=0xff;

P1=0xfb;
P0=seg7code[(temp-temp/100*100)/10]&0x7f ;
delay50ms();
P0=0xff;

P1=0xf7;
P0=seg7code[temp%10] ;
delay50ms();
P0=0xff;

if(fg==0)
{
    P1=0xfe;
    P0=0xbf;
    delay50ms();
    P0=0xff;
}
if((temp/100)>=3){
fmq=0;
}

}
main()
{
while (1)
{
ReadTemperature();
Led(sdata);
}
}

  • 写回答

2条回答 默认 最新

  • Cc__RuoNinG 2017-06-25 01:27
    关注

    如果可以有代码的话 真是谢谢了 过两天就交了。。。。。
    要是没有告诉我咋做也行啊,,,,,
    大佬们缺大腿挂件么。

    评论

报告相同问题?

悬赏问题

  • ¥15 file converter 转换格式失败 报错 Error marking filters as finished,如何解决?
  • ¥15 ubuntu系统下挂载磁盘上执行./提示权限不够
  • ¥15 Arcgis相交分析无法绘制一个或多个图形
  • ¥15 关于#r语言#的问题:差异分析前数据准备,报错Error in data[, sampleName1] : subscript out of bounds请问怎么解决呀以下是全部代码:
  • ¥15 seatunnel-web使用SQL组件时候后台报错,无法找到表格
  • ¥15 fpga自动售货机数码管(相关搜索:数字时钟)
  • ¥15 用前端向数据库插入数据,通过debug发现数据能走到后端,但是放行之后就会提示错误
  • ¥30 3天&7天&&15天&销量如何统计同一行
  • ¥30 帮我写一段可以读取LD2450数据并计算距离的Arduino代码
  • ¥15 飞机曲面部件如机翼,壁板等具体的孔位模型