江西财经大学职业技术学院 单片机课程设计报告 _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 页
相关推荐: