找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 2118|回復(fù): 1
打印 上一主題 下一主題
收起左側(cè)

要在LCD1602上顯示溫度,這段程序需要再補充什么?

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:909552 發(fā)表于 2021-4-23 20:16 來自手機(jī) | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
unsigned int ReadTemperature(void)//讀取溫度
{
        unsigned char a=0;
        unsigned char b=0;
        unsigned int t=0;
        float tt=0;
        Init_DS18B20();
        WriteOneChar(0xCC); // 跳過讀序號列號的操作
        WriteOneChar(0x44); // 啟動溫度轉(zhuǎn)換
        Init_DS18B20();
        WriteOneChar(0xCC); //跳過讀序號列號的操作
        WriteOneChar(0xBE); //讀取溫度寄存器
        a=ReadOneChar();  //讀低8位
        b=ReadOneChar(); //讀高8位
        t=b;
        t<<=8;
        t=t|a;
        tt=t*0.0625;
        t= tt*10+0.5; //放大10倍輸出并四舍五入
        return(t);
}


          //溫度顯示子函數(shù)
void write_temp(uchar add,uint dat)//向LCD寫溫度數(shù)據(jù),并指定顯示位置
{
        uint gw,sw,bw;
        bw=dat/100;//取得百位
        sw=dat%100/10;//取得十位數(shù)字
        gw=dat%10;//取得個位數(shù)字
        write_1602com(er+add);//er是頭文件規(guī)定的值0x80+0x40
        write_1602dat(0x30+bw);
        write_1602dat(0x30+sw);//數(shù)字+30得到該數(shù)字的LCD1602顯示碼
        write_1602dat('.');
        write_1602dat(0x30+gw);//數(shù)字+30得到該數(shù)字的LCD1602顯示碼
    write_1602dat(0xdf);//顯示溫度的小圓圈符號,0xdf是液晶屏字符庫的該符號地址碼
          write_1602dat(0x43);        //顯示"C"符號,0x43是液晶屏字符庫里大寫C的地址碼
        write_1602dat(0x)               
}

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復(fù)

使用道具 舉報

沙發(fā)
ID:921535 發(fā)表于 2021-5-27 07:22 | 只看該作者
取值溫度需要判斷正負(fù),1602的程序沒看到不知道那邊有沒有問題
回復(fù)

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

手機(jī)版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表