找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開(kāi)始

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

51為基礎(chǔ),LCD1602顯示,串口接收溫度

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:915425 發(fā)表于 2021-5-7 22:57 | 只看該作者 回帖獎(jiǎng)勵(lì) |倒序?yàn)g覽 |閱讀模式
#include<reg51.h>
#include"lcd.h"
#include"temp.h"

uchar CNCHAR[6] = "攝氏度";
void LcdDisplay(int);
void UsartConfiguration();

void main()
{
        UsartConfiguration();
        LcdInit();               
        LcdWriteCom(0x88);·
        LcdWriteData('C');
        while(1)
        {
                LcdDisplay(Ds18b20ReadTemp());
//                Delay1ms(1000);
        }
}

void LcdDisplay(int temp)
{

          unsigned char i, datas[] = {0, 0, 0, 0, 0}
        float tp;  
        if(temp< 0)                        
          {
                  LcdWriteCom(0x80);        
                SBUF='-'
                while(!TI);                           
                TI=0;                                       
            LcdWriteData('-');         

                temp=temp-1;
                temp=~temp;
                tp=temp;
                temp=tp*0.0625*100+0.5;        
                          }
         else
          {                        
                  LcdWriteCom(0x80);        
            LcdWriteData('+');
                SBUF='+'
                while(!TI);                          
                tp=temp;
                temp=tp*0.0625*100+0.5;        
                        }
        datas[0] = temp / 10000;
        datas[1] = temp % 10000 / 1000;
        datas[2] = temp % 1000 / 100;
        datas[3] = temp % 100 / 10;
        datas[4] = temp % 10;

        LcdWriteCom(0x82);        
        LcdWriteData('0'+datas[0])
        SBUF = '0'+datas[0];
        while (!TI);                              
        TI = 0;
        
        LcdWriteCom(0x83);        
        LcdWriteData('0'+datas[1]);
        SBUF = '0'+datas[1]
        while (!TI);                              
        TI = 0;

        LcdWriteCom(0x84);        
        LcdWriteData('0'+datas[2]);
        SBUF = '0'+datas[2]
        while (!TI);                             
        LcdWriteCom(0x85);        
        LcdWriteData('.');         
        SBUF = '.'
        while (!TI);               
        TI = 0;

LCD顯示溫度+串口接收溫度.zip

19.22 KB, 下載次數(shù): 21, 下載積分: 黑幣 -5

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

使用道具 舉報(bào)

本版積分規(guī)則

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

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

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