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

標題: 單片機程序下載到板子上1602液晶板不顯示,偶爾顯示一下,只看到一排黑塊是咋回事? [打印本頁]

作者: duangushan    時間: 2020-7-17 21:44
標題: 單片機程序下載到板子上1602液晶板不顯示,偶爾顯示一下,只看到一排黑塊是咋回事?
#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)
          {
          }
                 
}


作者: xxpp2011    時間: 2020-7-17 22:59
引腳定義是否符合,對比度電位器是否需要調,1602有沒有插反
作者: man1234567    時間: 2020-7-18 11:20
一般是接線 錯誤
網上找個1602程序試試確定是否硬件接錯
作者: 模電混子    時間: 2020-7-18 11:30
man1234567 發表于 2020-7-18 11:20
一般是接線 錯誤
網上找個1602程序試試確定是否硬件接錯

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

作者: 物業tuan    時間: 2020-7-18 18:07
程序編寫有錯誤,首先定義引腳哦
作者: 2538076292    時間: 2020-7-18 20:40
把驅動文件貼出來啊,只看主程序不知道你驅動部分咋寫的沒法診斷啊。
作者: TTQ001    時間: 2020-7-18 20:52
可能不一定是由于軟件引起的,也可能是由于接線錯誤引起的。 請貼原理圖。
作者: 556cv    時間: 2020-7-18 22:19
大概率是程序問題,當然要先排除接線錯誤




歡迎光臨 (http://www.raoushi.com/bbs/) Powered by Discuz! X3.1