欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

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

單片機程序下載到板子上1602液晶板不顯示,偶爾顯示一下,只看到一排黑塊是咋回事?

[復制鏈接]
跳轉到指定樓層
樓主
ID:803895 發表于 2020-7-17 21:44 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
#include <REGX51.H>
#include"LCD1602.h"
void Delay1ms(unsigned int xms)                //@12.000MHz
{
        while(xms)
        {
                unsigned char i, j;                  //定義毫秒的延時
        
                i = 2;
                j = 239;
                do
                {
                        while (--j);
                } while (--i);
                xms--;
        }
}
void dierduan ()
{
                int years  = 2020;                        //萬年歷   //定義初始值
                int months = 7;
                int date  = 15;  

                int hour = 0;                                //從零開始
                int minute = 0;
                int second = 0;
        
               
                  
                        LCD_Init();
                        LCD_ShowString(1,1,"Date");                         //LCD顯示
                        LCD_ShowNum(1,6, years,4);
                        LCD_ShowNum(1,11, months,2);
                        LCD_ShowNum(1,14,date,2);
                        LCD_ShowString(2,1,"Time");
                        LCD_ShowNum(2,6, hour,2);
                        LCD_ShowNum(2,9, minute,2);
                        LCD_ShowNum(2,12, second,2);
                        LCD_ShowString(2,15,"WE");
                        while(1)
                        {

                                if (second<60)                                                  //秒數增加
                                 {
                                        second++;
                                        Delay1ms(1000);
                                        LCD_ShowNum(2,12, second,2);
                                 }
                                if(second==60)                                                   //分鐘增加
                                 {
                                         second = 0;
                                        minute++;
                                        LCD_ShowNum(2,9, minute,2);
                                 }
                                if(minute==60)                                           //小時增加
                                 {
                                  minute = 0;
                                  hour++;
                                  LCD_ShowNum(2,9, minute,2);
                              LCD_ShowNum(2,6, hour,2);
                                 }
                                 if(hour==24)                                                   //天數增加
                                 {
                                         hour=0;
                                        date++;
                                        LCD_ShowNum(2,6, hour,2);
                                        LCD_ShowNum(1,14,date,2);
                                        LCD_ShowString(2,15,"WE");
                                                               
                                 }
                                 if(date==30)                                                   //月份增加
                                 {
                                         date=0;
                                        months++;
                                        LCD_ShowNum(1,11, months,2);
                                LCD_ShowNum(1,14,date,2);
                                 }
                                 if(months==12)                                                          //年份增加
                                 {
                                         months=0;
                                        years++;
                                        LCD_ShowString(1,1,"Date");
                                 LCD_ShowNum(1,6, years,4);
                                 LCD_ShowNum(1,11, months,2);
                                 }

                        
                                 
                                  if(P3_0==0)                                                          //長按鍵增加秒數
                                  {
                                          Delay1ms(10);
                                        while(P3_0);
                                        Delay1ms(10);
                                        ++second;
                                        LCD_ShowNum(2,12, second,2);
                                  }
                                  else if(P3_1==0)                                                          //長按鍵減少秒數
                                  {
                                          Delay1ms(10);
                                        while(P3_1);
                                        Delay1ms(10);
                                        --second;
                                        LCD_ShowNum(2,12, second,2);
                                  }
                                        else if(P3_2==0)
                                  {                                                                                        //長按鍵增加天數
                                          Delay1ms(10);
                                        while(P3_2);
                                        Delay1ms(10);
                                        ++date;
                                        LCD_ShowNum(1,14,date,2);
                                
                                  }
                                  else if(P3_3==0)                                                           //長按鍵減少天數
                                  {
                                          Delay1ms(10);
                                        while(P3_3);
                                        Delay1ms(10);
                                        date--;
                                        LCD_ShowNum(1,14,date,2);
                                  }
                                 
                         }
}
main ()
{
         
         LCD_Init();
     LCD_ShowString(1,1,"Hello!");                                           //LCD顯示Hello
         Delay1ms(10000);                                                                   //延遲顯示10秒
         LCD_Init();
         LCD_ShowString(1,1,"WL1908104020");                           // LCD顯示
         Delay1ms(6000);                                                                   // 延遲6秒
         LCD_Init();
         LCD_ShowString(1,1,"DUANZUNCHENG");                          //  LCD顯示
         Delay1ms(9000);                                                                  //  延遲9秒

         dierduan () ;
        

               
          while (1)
          {
          }
                 
}

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

使用道具 舉報

沙發
ID:452950 發表于 2020-7-17 22:59 | 只看該作者
引腳定義是否符合,對比度電位器是否需要調,1602有沒有插反
回復

使用道具 舉報

板凳
ID:584814 發表于 2020-7-18 11:20 | 只看該作者
一般是接線 錯誤
網上找個1602程序試試確定是否硬件接錯
回復

使用道具 舉報

地板
ID:791700 發表于 2020-7-18 11:30 | 只看該作者
man1234567 發表于 2020-7-18 11:20
一般是接線 錯誤
網上找個1602程序試試確定是否硬件接錯

你這個好像是引腳的定義有錯誤吧,然后看看接線的問題,
回復

使用道具 舉報

5#
ID:656668 發表于 2020-7-18 18:07 | 只看該作者
程序編寫有錯誤,首先定義引腳哦
回復

使用道具 舉報

6#
ID:687146 發表于 2020-7-18 20:40 | 只看該作者
把驅動文件貼出來啊,只看主程序不知道你驅動部分咋寫的沒法診斷啊。
回復

使用道具 舉報

7#
ID:420836 發表于 2020-7-18 20:52 | 只看該作者
可能不一定是由于軟件引起的,也可能是由于接線錯誤引起的。 請貼原理圖。
回復

使用道具 舉報

8#
ID:801957 發表于 2020-7-18 22:19 | 只看該作者
大概率是程序問題,當然要先排除接線錯誤
回復

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表