怎么把读到的温度显示到液晶屏上

2025-10-22 00:45:39

1、typedef unsigned int u16;          //对数据类型进行声明定义

typedef unsigned char u8;

sbit LSA=P2^2;

sbit LSB=P2^3;

sbit LSC=P2^4;

怎么把读到的温度显示到液晶屏上

2、char num=0;

u8 DisplayData[8];

u8 code smgduan[10]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};

u8 CNCHAR[]=" 摄氏度 ";

void delay(u16 i)

{

        while(i--);        

}

void datapros(int temp)      匠槐    

{

       

怎么把读到的温度显示到液晶屏上

3、    float tp;  

     侨辞   if(temp< 0)                                //当温度值为负数

          {

                DisplayData[0] = 0x40;           

                

                temp=temp-1;

                temp=~temp;

                tp=temp;

                temp=tp*0.0625*100+0.5;        

        往耕叮

          }

        else

          {                        

                DisplayData[0] = 0x00;

                tp=temp;

                temp=tp*0.0625*100+0.5;        

                

        }

       

怎么把读到的温度显示到液晶屏上

4、 DisplayData[1] = smgduan[temp / 10000];

        DisplayData[2] = smgduan[temp % 10000 / 1000];

        DisplayData[3] = smgduan[temp % 1000 / 100] | 0x80;

        DisplayData[4] = smgduan[temp % 100 / 10];

        DisplayData[5] = smgduan[temp % 10];

}

void DigDisplay()

{

        u8 i;

        for(i=0;i<6;i++)

        {

                switch(i)         //位选,选择点亮的数码管,

                {

                        case(0):

                                LSA=0;LSB=0;LSC=0; break;//显示第0位

                        case(1):

                                LSA=1;LSB=0;LSC=0; break;//显示第1位

                        case(2):

                                LSA=0;LSB=1;LSC=0; break;//显示第2位

                        case(3):

                                LSA=1;LSB=1;LSC=0; break;//显示第3位

                        case(4):

                                LSA=0;LSB=0;LSC=1; break;//显示第4位

                        case(5):

                                LSA=1;LSB=0;LSC=1; break;//显示第5位        

                }

                P0=DisplayData[5-i];//发送数据

                delay(100); //间隔一段时间扫描        

                P0=0x00;//消隐

        }                

}

// LCD显示读取到的温度

void LcdDisplay(int temp)          //lcd显示

{

        

怎么把读到的温度显示到液晶屏上

5、  unsigned char i, datas[] = {0, 0, 0, 0, 0}; //定义数组

        float tp;  

        if(temp< 0)                                    //当温度值为负数

          {

                LcdWriteCom(0x80);                //写地址 80表示初始地址

                SBUF='-';               //将接收到的数据放入到发送寄存器

                while(!TI);                                 //等待发送数据完成

                TI=0;                                                 //清除发送完成标志位

            LcdWriteData('-');               //显示负

             

怎么把读到的温度显示到液晶屏上

6、   //因为读取的温度是实际温度的补码,所以减1,再取反求出原码

                temp=temp-1;

                temp=~temp;

                tp=temp;

                temp=tp*0.0625*100+0.5;        

                //留两个小数点就*100,+0.5是四舍五入,因为C语言浮点数转换为整型的时候把小数点

                //后面的数自动去掉,不管是否大于0.5,而+0.5之后大于0.5的就是进1了,小于0.5的就

                //算由?.5,还是在小数点后面。

怎么把读到的温度显示到液晶屏上

声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
猜你喜欢