单片机课程设计报告(万年历) 联系客服

发布时间 : 星期四 文章单片机课程设计报告(万年历)更新完毕开始阅读9f121058ccbff121dc368334

江西财经大学职业技术学院 单片机课程设计报告 _nop_(); E=0;

}

/*写地址*/

void Write_Address(unsigned char address) { Write_com(address|0x80); delay1ms(1); }

/*写数据*/

void Write_Date(unsigned char date) { RS=1; RW=0; E=0; _nop_(); _nop_(); _nop_(); P0=date; _nop_(); _nop_(); _nop_(); E=1; _nop_(); _nop_(); _nop_(); E=0;

delay1ms(1);

}

/*初始化*/

void Lcd_Int(void) { Write_com(0x38); delay1ms(1); Write_com(0x38); delay1ms(1); Write_com(0x06); delay1ms(1); Write_com(0x0c); delay1ms(1); Write_com(0x01);

}

void displaymainpart(void)//显示液晶主要部分(不变化部分) {

第 37 页 共 63 页

江西财经大学职业技术学院 单片机课程设计报告 Write_Address(0x01); delay1ms(1); Write_Date('D'); Write_Date('A'); Write_Date('T'); Write_Date('E'); Write_Date(':'); delay1ms(1);

Write_Address(0x0A); delay1ms(1); Write_Date('-'); Write_Address(0x0D); Write_Date('-'); Write_Address(0x42); Write_Date('T'); Write_Date('I'); Write_Date('M'); Write_Date('E'); Write_Date(':'); Write_Address(0x4A); Write_Date('-'); Write_Address(0x4D); Write_Date('-'); Write_Address(0x06); Write_Date('2'); Write_Date('0');

}

void display_Second(unsigned char second) //在液晶上显示秒 {

unsigned char i,j; i=second/10; j=second;

Write_Address(0x4E); Write_Date(digit[i]); Write_Date(digit[j]); delay1ms(1);

}

void display_Minute(unsigned char minute) //在液晶上显示分 { unsigned char i,j; i=minute/10; j=minute;

Write_Address(0x4B);

Write_Date(digit[i]); 第 38 页 共 63 页

江西财经大学职业技术学院 单片机课程设计报告 Write_Date(digit[j]); delay1ms(1);

}

void display_Hour(unsigned char hour) //在液晶上显示时 { unsigned char i,j; i=hour/10; j=hour;

Write_Address(0x48); Write_Date(digit[i]); Write_Date(digit[j]); delay1ms(1);

}

void display_Day(unsigned char day) //在液晶上显示日 { unsigned char i,j; i=day/10; j=day;

Write_Address(0x0E); Write_Date(digit[i]); Write_Date(digit[j]); delay1ms(1); }

void display_Month(unsigned char month) //在液晶上显示月 { unsigned char i,j; i=month/10; j=month;

Write_Address(0x0B); Write_Date(digit[i]); Write_Date(digit[j]); delay1ms(1); }

void display_Year(unsigned char year) //在液晶上显示年 { unsigned char i,j; i=year/10; j=year;

Write_Address(0x08); Write_Date(digit[i]); Write_Date(digit[j]); delay1ms(1); }

void display_houra(unsigned char x) //闹钟小时部分显示

第 39 页 共 63 页

江西财经大学职业技术学院 单片机课程设计报告 { unsigned char i,j; i=x/10; j=x;

Write_Address(0x44); Write_Date(digit[i]); Write_Date(digit[j]);

}

void display_minutea(unsigned char x)//闹钟分钟部分显示 { unsigned char i,j; i=x/10; j=x;

Write_Address(0x47); Write_Date(digit[i]); Write_Date(digit[j]); }

void display_Time(void) //显示实时时间 { unsigned char value,day,month,year; Write_com(0x0c);

value=ReadSet1302(0x81);

seconds=(((value&0x70)>>4)*10+(value&0x0f)); display_Second(seconds); value=ReadSet1302(0x83);

minutes=(((value&0x70)>>4)*10+(value&0x0f)); display_Minute(minutes); value=ReadSet1302(0x85);

hours=(((value&0x70)>>4)*10+(value&0x0f)); display_Hour(hours); value=ReadSet1302(0x87);

day=(((value&0x70)>>4)*10+(value&0x0f)); display_Day(day); value=ReadSet1302(0x89);

month=(((value&0x70)>>4)*10+(value&0x0f)); display_Month(month); value=ReadSet1302(0x8D);

year=(((value&0xf0)>>4)*10+(value&0x0f)); display_Year(year); }

void displaystar(void) //显示欢迎界面 { unsigned char i,j;

Write_Address(0x0f);

第 40 页 共 63 页