发布时间 : 星期一 文章基于单片机的电子万年历的设计与制作 - 图文更新完毕开始阅读46fa9556af45b307e971970f
郑州航空工业管理学院毕业设计(论文)
LCD_E=1; delay(1); P0=dat; delay(2); LCD_E=0; delay(2); LCD_RS=1; LCD_RW=1; delay(2); LCD_E= 1; }
void WriteCommandLCD(uchar udat)//向12864写指令 {
LCD_RS=0; LCD_RW=0; delay(2); LCD_E=1; delay(1); P0=udat; delay(2); LCD_E=0; delay(2); LCD_RS=1; LCD_RW=1; delay(2); LCD_E= 1; }
void LCDInit(void) //12864初始化设置 {
WriteCommandLCD(0x30);//基本指令操作 WriteCommandLCD(0x01);//清除显示
WriteCommandLCD(0x06); //进入点设定,地址指针加1
WriteCommandLCD(0x0c);//显示设定,整体显示、游标关、不反白 }
void LCDlear(void) {
WriteCommandLCD(0x01); WriteCommandLCD(0x34); WriteCommandLCD(0x30); }
void LCDSendWord(uchar *p)//显示汉字,直接输入汉字 {
while(*p>0) { WriteDataLCD(*p); p++; } }
void LCDTestWord(bit i,uchar word)
36
郑州航空工业管理学院毕业设计(论文)
{
if(i==0) //写指令 { WriteCommandLCD(word); }
else //写数据 { WriteDataLCD(word); } }
节假日提示
#include \
/************节假日提示************/ void Holidays(void) {
uint p=GetTemp();
LCDTestWord(0,0x98);
if(next==0) //没有键按下时 {
if(LunarMonth==0x01&&LunarDay==0x01) {LCDSendWord(\春节快乐!\
if(LunarMonth==0x01&&LunarDay==0x15) {LCDSendWord(\元宵节快乐!\ if(LunarMonth==0x01&&LunarDay==0x26) {LCDSendWord(\妈妈的生日!\ if(LunarMonth==0x01&&LunarDay==0x28) {LCDSendWord(\爱人的生日!\ if(LunarMonth==0x05&&LunarDay==0x05) {LCDSendWord(\端午节快乐!\ if(LunarMonth==0x06&&LunarDay==0x28) {LCDSendWord(\嘿嘿,我又老了!\ if(LunarMonth==0x07&&LunarDay==0x07) {LCDSendWord(\中国情人节快乐!\ if(LunarMonth==0x08&&LunarDay==0x15) {LCDSendWord(\中秋节快乐!\ if(LunarMonth==0x09&&LunarDay==0x09) {LCDSendWord(\重阳节快乐!\
if(LunarMonth==0x08&&LunarDay==0x15) {LCDSendWord(\爸爸的生日!\ if(LunarMonth==0x12&&LunarDay==0x08) {LCDSendWord(\腊八节!\
if(LunarMonth==0x12&&LunarDay==0x23) {LCDSendWord(\过小年啦!\
if(LunarMonth==0x12&&LunarDay==0x29) {LCDSendWord(\还有一天新年啦!\ if(LunarMonth==0x12&&LunarDay==0x30) {LCDSendWord(\今天就到新年夜了!\
37
郑州航空工业管理学院毕业设计(论文)
//以上是农历节日,以下是公历节日 if(month==0x01&&day==0x01) {LCDSendWord(\元旦快乐!\ if(month==0x02&&day==0x10) {LCDSendWord(\世界气象日!\ if(month==0x02&&day==0x14) {LCDSendWord(\情人节快乐!\ if(month==0x03&&day==0x12) {LCDSendWord(\中国植树节!\ if(month==0x04&&day==0x01) {LCDSendWord(\愚人节快乐!\ if(month==0x04&&day==0x05) {LCDSendWord(\中国清明节!\ if(month==0x04&&day==0x22) {LCDSendWord(\世界地球日!\ if(month==0x05&&day==0x01) {LCDSendWord(\国际劳动节! \ if(month==0x05&&day==0x12) {LCDSendWord(\世界护士节!\ if(month==0x06&&day==0x01) {LCDSendWord(\国际儿童节!\ if(month==0x06&&day==0x05) {LCDSendWord(\世界环境日!\ if(month==0x06&&day==0x26) {LCDSendWord(\国际禁毒日!\ if(month==0x08&&day==0x01) {LCDSendWord(\中国建军节!\ if(month==0x09&&day==0x10) {LCDSendWord(\中国教师节!\ if(month==0x10&&day==0x01) {LCDSendWord(\中国国庆节!\ if(month==0x10&&day==0x09) {LCDSendWord(\世界邮政日!\ if(month==0x12&&day==0x24) {LCDSendWord(\平安夜快乐!\ if(month==0x12&&day==0x25) {LCDSendWord(\圣诞节快乐!\ } else {
if((((p-0.5)/10)>2)&&(((p-0.5)/10)<34)) { if(SetKey==1&&SureKey==1&&PlusKey==1&&ReduceKey==1) { hour=read_ds(4); if(((hour/16*10+hour)>=6)&&((hour/16*10+hour)<22)) {
38
郑州航空工业管理学院毕业设计(论文)
if((hour/16*10+hour)>=12&&(hour/16*10+hour)<14) {LCDSendWord(\午休时间( ^@^ )~~ \ else {LCDSendWord(\快乐每一天^_^ \
if((hour/16*10+hour)>22||(hour/16*10+hour<=5)) {LCDSendWord(\夜深了注意休息喔\ } } if(((p-0.5)/10)<=2) {LCDSendWord(\天气寒冷注意保暖\ else {LCDSendWord(\天气炎热注意防暑\ } } }
按键模块
#include \bit w=0;
uchar aa,bb,cc,dd,mm; uchar next;
/********************按键设置函数*************************/ void UpDate(void) //年,月,日,周,时分秒显示 {
DisplayYear(); DisplayMonth(); DisplayDay(); DisplayWeek(); DisplayHour(); DisplayMin(); DisplaySec();
DisplayShengXiao(); }
void SetTime(uchar count) //时间设置函数 {
char address,item; uchar max=0,mini=0; if(count<8) { LCDTestWord(0,0x98); LCDSendWord(\调整\ if(count==7) { LCDSendWord(\秒钟请按+ - \ address=0x00; max=59; mini=0; }
39