敢把皇帝拉下马
获得 0 次赞
帮助过0人
#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) { } }