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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 2223|回復: 0
上一主題 下一主題
收起左側

stc89C52單片機驅動lcd1602結果顯示四道杠的問題

[復制鏈接]
跳轉到指定樓層
樓主
ID:514028 發表于 2019-4-21 13:45 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
自己搞了半天,也沒出來,求大佬幫我看看顯示三個數字,lcd只能顯示三個方塊,其他的顯示都沒問題,哪里出現問題了嗎??

        if(set==3)
        {
                write_com(0x38);
                write_com(0x01);
                Display_data();
                write_com(0x80+0x40+4);
                write_data(bj1);
                write_data(bj2);
                write_data(bj3);
                FENG=1;
        }//按鍵三次時lcd顯示的內容


uchar bj1=0,bj2=0,bj3=0;
void  time0_int(void) interrupt 1   //bj1-3在中斷里賦值了
{
        uchar count;
        TL0=0xb0;
         TH0=0x3c;
          count++;
        if(count==10)
        {                                                                           
                count=0;
                if(flag2==0)
                        LED_Y=1;
                else
                        LED_Y=0;
                if(flag7==0)
                        LED_R=1;
                else
                        LED_R=0;
               

                if(flag2==1&&flag7==0)
                {
                        FENG=!FENG;        
                        jdq1=1;
                        jdq2=0;
                        bj1=1;

                }
                if(flag2==0&&flag7==1)
                {
                        FENG=!FENG;        
                        jdq1=1;
                        jdq2=0;
                        bj2=1;
                }
                if(flag2==1&&flag7==1)
                {
                        FENG=!FENG;        
                        jdq1=1;
                        jdq2=0;
                        bj3=1                        ;
                }
                if(flag2==0&&flag7==0)
                {
                        FENG=1;
                        jdq1=0;
                        jdq2=1;
                }
        }
}
****************display.h頭文件*****************




  1. //宏定義
  2. #define uint unsigned int
  3. #define uchar unsigned char

  4. //LCD管腳聲明
  5. sbit LCDRS = P1^0;
  6. sbit LCDEN = P1^1;

  7. //初始畫時顯示的內容
  8. uchar code Init1[]="HY :    YW:     ";
  9. uchar code Init2[]="HH :    HY:     ";
  10. uchar code Init3[]=" ALARM RECORDS  ";


  11. //LCD延時
  12. void LCDdelay(uint z)
  13. {
  14.   uint x,y;
  15.   for(x=z;x>0;x--)
  16.     for(y=10;y>0;y--);
  17. }
  18. //寫命令
  19. void write_com(uchar com)
  20. {
  21.   LCDRS=0;
  22.   P0=com;
  23.   LCDdelay(5);
  24.   LCDEN=1;
  25.   LCDdelay(5);
  26.   LCDEN=0;
  27. }
  28. //寫數據
  29. void write_data(uchar date)
  30. {
  31.   LCDRS=1;
  32.   P0=date;
  33.   LCDdelay(5);
  34.   LCDEN=1;
  35.   LCDdelay(5);
  36.   LCDEN=0;
  37. }
  38. //1602初始化
  39. void Init1602()
  40. {

  41.   write_com(0x38);//屏幕初始化
  42.   write_com(0x0c);//打開顯示 無光標 無光標閃爍
  43.   write_com(0x06);//當讀或寫一個字符是指針后一一位
  44.   write_com(0x01);//清屏

  45. }

  46. void Display_1602(uchar NOW_GAS,uchar NOW_CO,uchar SET_GAS,uchar SET_CO)
  47. {
  48.     uchar i=0;
  49.         write_com(0x80);//設置位置
  50.            for(i=0;i<16;i++)
  51.        {
  52.                 write_data(Init1[i]);
  53.        }                                                                  
  54.     write_com(0x80+0x40);//設置位置         
  55.        for(i=0;i<16;i++)
  56.        {
  57.                 write_data(Init2[i]);
  58.        }

  59.         write_com(0x80+4);
  60.         write_data('0'+NOW_GAS/100);
  61.         write_data('0'+NOW_GAS/10%10);
  62.         write_data('0'+NOW_GAS%10);

  63.         write_com(0x80+0x40+4);
  64.         write_data('0'+SET_GAS/100);
  65.         write_data('0'+SET_GAS/10%10);
  66.         write_data('0'+SET_GAS%10);

  67.         write_com(0x80+13);
  68.         write_data('0'+NOW_CO/100);
  69.         write_data('0'+NOW_CO/10%10);
  70.         write_data('0'+NOW_CO%10);

  71.         write_com(0x80+0x40+13);
  72.         write_data('0'+SET_CO/100);
  73.         write_data('0'+SET_CO/10%10);
  74.         write_data('0'+SET_CO%10);
  75. }
  76. void Display_data()
  77. {
  78.     uchar j=0;
  79.         write_com(0x80);//設置位置
  80.            for(j=0;j<16;j++)
  81.        {
  82.                 write_data(Init3[j]);
  83.        }                                                                  


  84. }
復制代碼

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

使用道具 舉報

沙發
ID:514028 發表于 2019-4-21 13:46
本帖最后由 清新無敵 于 2019-4-21 13:53 編輯

求助求助,就像這種情況,數字就是顯示四道杠

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 欧美激情精品久久久久久变态 | a视频在线观看 | 日本a∨精品中文字幕在线 亚洲91视频 | 少妇无套高潮一二三区 | 操久久| 欧美午夜精品 | 在线观看免费av网 | 美女视频黄的免费 | 五月婷婷导航 | 久久精品视频一区二区 | 亚洲精选久久 | 一区二区国产精品 | 日韩精品中文字幕一区二区三区 | 一区二区久久 | 羞羞在线视频 | 日韩成人免费视频 | 色网站在线免费观看 | 欧美成人免费电影 | 日韩成人精品视频 | 国产一区久久 | 天堂av在线影院 | 美女福利网站 | 国产精品www | 日韩精品一区中文字幕 | 色婷婷综合久久久久中文一区二区 | 欧美视频xxx| 黄色网址在线免费观看 | 亚洲经典一区 | 成人免费大片黄在线播放 | 91精品一区 | 亚洲男人天堂 | 日本亚洲精品成人欧美一区 | 成人不卡视频 | 欧美xxxx网站 | 久久99精品久久久久久琪琪 | 成人国产综合 | 欧美精品福利视频 | 欧美三级三级三级爽爽爽 | 碰碰视频 | 精品国产精品三级精品av网址 | 在线免费观看成人 |