多语言展示
当前在线:1810今日阅读:27今日分享:41

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

在我们的生活中那,如何操作上述标题的小问题,小编今天就在这里给大家分享一点我的小经验,来增加我们的体验,希望可以给你们带来帮助。
方法/步骤
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('-');               //显示负

注意事项

以上就是小编带给大家的如何操作的关键所在,如果觉得本经验对你们有帮助,请点击正下方的或者是右上角的“大拇指”或分享或“关注TA”给小编我进行一点小小的支持。大家也可以下面发表一下自己的看法。(未经同意,谢绝转载或复制)

推荐信息