久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 1442|回復: 3
打印 上一主題 下一主題
收起左側

那位大佬幫忙看看,這1602讀數為啥不行啊

[復制鏈接]
跳轉到指定樓層
樓主
#include<reg52.h>
#include<intrins.h>       
#define uchar unsigned char
#define uint unsigned int
sbit RS=P2^6;
sbit RW=P2^5;
sbit EN=P2^7;
uchar t, i;
void delay(uint z)
{
        uint x,y;
        for(x = z; x > 0; x--)
                for(y = 114; y > 0 ; y--);
}

//判斷液晶忙不忙,忙則等待 、
void read_busy()
{
        uchar busy;
        P0=0xff;        //給與高電位
        RS=0;                //1 數據 0命令
        RW=1;           //1 讀 0寫
        do
        {
                 EN=1;        //使能
                busy=P0;
                EN=0;
        }while(busy &0x80);
}
//1602命令
void write_cmd(uint cmd)
{
        read_busy();
        RS=0;
        RW=0;
        P0=cmd;
        EN=1;
        EN=0;
}
//1602 數據
void write_dat(uint dat)
{
        read_busy();
        RS=1;
        RW=0;
        P0=dat;
        EN=1;
        EN=0;
}
void timer_init()
{

        TMOD|=0X01;//選擇為定時器0模式,工作方式1,僅用TR0打開啟動。
        TH0=0XFC;        //給定時器賦初值,定時1ms
        TL0=0X68;       
        ET0=1;//打開定時器0中斷允許
        EA=1;//打開總中斷
        TR0=1;//打開定時器                       
}

void main()
{

        timer_init();
        write_cmd(0x38);//設置16*2顯示
        write_cmd(0x0f); //開顯示
        write_cmd(0x06); //指針地址右加一  0x04左
//        write_cmd(0x01); //清屏
        write_cmd(0x80|0x06 ); //顯示地址
        write_cmd(0x01); //清屏         
        while(1);
        {
           if(t<1000)
           {
                        write_cmd(0x80 | 0x06);
                        write_dat(t/10+'0');
                                        //顯示十位數字
                        write_cmd(0x80 | 0x07);
                                //顯示個位數字
                        write_dat(t%10+'0');
                }
        }               
                  
}
void Timer0() interrupt 1
{

        TH0=0XFC;        //給定時器賦初值,定時1ms
        TL0=0X68;
        i++;
        if(i==1000)
        {
                i=0;
                t++;
        }
       
       
}

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

使用道具 舉報

沙發
ID:213173 發表于 2021-1-24 21:05 | 只看該作者
樓主注意變量的數據類型選擇要恰當,while(1);多了分號。給你略改了一點,顯示1位小數。

  1. #include<reg52.h>
  2. #include<intrins.h>        
  3. #define uchar unsigned char
  4. #define uint unsigned int
  5. sbit RS=P2^6;
  6. sbit RW=P2^5;
  7. sbit EN=P2^7;
  8. uint i;
  9. uchar t;
  10. /*
  11. void delay(uint z)
  12. {
  13.         uint x,y;
  14.         for(x = z; x > 0; x--)
  15.                 for(y = 114; y > 0 ; y--);
  16. }*/
  17. //判斷液晶忙不忙,忙則等待 、
  18. void read_busy()
  19. {
  20.         uchar busy;
  21.         P0=0xff;        //給與高電位
  22.         RS=0;                //1 數據 0命令
  23.         RW=1;           //1 讀 0寫
  24.         do
  25.         {
  26.                 EN=1;        //使能
  27.                 busy=P0;
  28.                 EN=0;
  29.         }while(busy &0x80);
  30. }
  31. //1602命令
  32. void write_cmd(uint cmd)
  33. {
  34.         read_busy();
  35.         RS=0;
  36.         RW=0;
  37.         P0=cmd;
  38.         EN=1;
  39.         EN=0;
  40. }
  41. //1602 數據
  42. void write_dat(uint dat)
  43. {
  44.         read_busy();
  45.         RS=1;
  46.         RW=0;
  47.         P0=dat;
  48.         EN=1;
  49.         EN=0;
  50. }
  51. void timer_init()
  52. {
  53.         TMOD|=0X01;//選擇為定時器0模式,工作方式1,僅用TR0打開啟動。
  54.         TH0=0XFC;        //給定時器賦初值,定時1ms
  55.         TL0=0X68;        
  56.         ET0=1;//打開定時器0中斷允許
  57.         EA=1;//打開總中斷
  58.         TR0=1;//打開定時器                        
  59. }

  60. void main()
  61. {
  62.         timer_init();
  63.         write_cmd(0x38);//設置16*2顯示
  64.         write_cmd(0x01); //清屏
  65.         write_cmd(0x0c); //開顯示不顯示光標
  66.         write_cmd(0x06); //指針地址右加一  0x04左
  67. //        write_cmd(0x01); //清屏
  68. //        write_cmd(0x80|0x06 ); //顯示地址

  69.         while(1)//;
  70.         {
  71.                 if(t>999)
  72.                         t=0;
  73.                 write_cmd(0x80+6);
  74.                 write_dat(t/100%10+'0');//顯示十位數字
  75.                 write_dat(t/10%10+'0');//顯示個位數字
  76.                 write_dat('.');                //顯示小數點
  77.                 write_dat(t%10+'0');//顯示小數
  78.         }
  79. }
  80. void Timer0() interrupt 1
  81. {
  82.         TH0=0XFC;        //給定時器賦初值,定時1ms
  83.         TL0=0X68;
  84.         i++;
  85.         if(i==100)
  86.         {
  87.                 i=0;
  88.                 t++;
  89.         }
  90. }
復制代碼




回復

使用道具 舉報

板凳
ID:390416 發表于 2021-1-24 21:18 | 只看該作者
單片機+LCD1602顯示℃  http://www.zg4o1577.cn/bbs/dpj-200685-1.html
回復

使用道具 舉報

地板
ID:847443 發表于 2021-1-25 16:40 | 只看該作者
變量的數據類型選擇要實型,還要注意語法。
回復

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 午夜免费视频观看 | av一级毛片| 成人欧美一区二区三区黑人孕妇 | 青青久久av北条麻妃海外网 | h视频免费在线观看 | av国产精品 | 精品欧美一区二区三区久久久 | 二区av| 九九久久久 | 日韩精品在线看 | 亚洲精品在线看 | 亚洲国产精品久久久 | 精品一区二区三区在线视频 | 亚洲精品电影在线 | 男女视频在线免费观看 | 日韩久久成人 | 亚洲综合色自拍一区 | 欧美成人综合 | 国产欧美在线视频 | 亚洲一二三区av | 91毛片在线观看 | 亚洲在线免费观看 | 成人在线a | 国产成人精品视频在线观看 | www.888www看片 | 亚洲一级淫片 | 久久一视频 | 热久久久 | 欧美精品久久久 | 精品国产aⅴ | 国产欧美久久一区二区三区 | 一区二区三区国产 | 日韩免费一区二区 | 欧美专区在线 | 日韩欧美视频网站 | 精品在线播放 | 日韩午夜一区二区三区 | 男人天堂久久久 | 91在线免费视频 | 91精品国产乱码久久久久久久久 | 一区二区精品电影 |