头像-368929

敢把皇帝拉下马

个人成就

获得 0 次赞

帮助过0人

单片机程序下载到板子上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(11"Date");                         //LCD显示                        LCD_ShowNum(16 years4);                        LCD_ShowNum(111 months2);                        LCD_ShowNum(114date2);                        LCD_ShowString(21"Time");                        LCD_ShowNum(26 hour2);                        LCD_ShowNum(29 minute2);                        LCD_ShowNum(212 second2);                        LCD_ShowString(215"WE");                        while(1)                        {                                if (second<60)                                                  //秒数增加                                 {                                        second++;                                        Delay1ms(1000);                                        LCD_ShowNum(212 second2);                                 }                                if(second==60)                                                   //分钟增加                                 {                                         second = 0;                                        minute++;                                        LCD_ShowNum(29 minute2);                                 }                                if(minute==60)                                           //小时增加                                 {                                  minute = 0;                                  hour++;                                  LCD_ShowNum(29 minute2);                              LCD_ShowNum(26 hour2);                                 }                                 if(hour==24)                                                   //天数增加                                 {                                         hour=0;                                        date++;                                        LCD_ShowNum(26 hour2);                                        LCD_ShowNum(114date2);                                        LCD_ShowString(215"WE");                                                                                                 }                                 if(date==30)                                                   //月份增加                                 {                                         date=0;                                        months++;                                        LCD_ShowNum(111 months2);                                LCD_ShowNum(114date2);                                 }                                 if(months==12)                                                          //年份增加                                 {                                         months=0;                                        years++;                                        LCD_ShowString(11"Date");                                 LCD_ShowNum(16 years4);                                 LCD_ShowNum(111 months2);                                 }                                                                                            if(P3_0==0)                                                          //长按键增加秒数                                  {                                          Delay1ms(10);                                        while(P3_0);                                        Delay1ms(10);                                        ++second;                                        LCD_ShowNum(212 second2);                                  }                                  else if(P3_1==0)                                                          //长按键减少秒数                                  {                                          Delay1ms(10);                                        while(P3_1);                                        Delay1ms(10);                                        --second;                                        LCD_ShowNum(212 second2);                                  }                                        else if(P3_2==0)                                  {                                                                                        //长按键增加天数                                          Delay1ms(10);                                        while(P3_2);                                        Delay1ms(10);                                        ++date;                                        LCD_ShowNum(114date2);                                                                  }                                  else if(P3_3==0)                                                           //长按键减少天数                                  {                                          Delay1ms(10);                                        while(P3_3);                                        Delay1ms(10);                                        date--;                                        LCD_ShowNum(114date2);                                  }                                                           }}main (){                   LCD_Init();     LCD_ShowString(11"Hello!");                                           //LCD显示Hello         Delay1ms(10000);                                                                   //延迟显示10秒         LCD_Init();         LCD_ShowString(11"WL1908104020");                           // LCD显示         Delay1ms(6000);                                                                   // 延迟6秒         LCD_Init();         LCD_ShowString(11"DUANZUNCHENG");                          //  LCD显示         Delay1ms(9000);                                                                  //  延迟9秒         dierduan () ;                                  while (1)          {          }                 }