|
课程设计做的万年历,具备掉电存储功能以及调节时间功能,显示年月日星期时分秒。
主程序:
- #include<reg51.h>
- #include<lcd1602.h>
- #include<ds1302.h>
- #include<keyscan.h>
- #include<fengmingqi.h>
- void main()
- {
- LCD_INITIAL();//液晶初始化
- INITIAL_1302();//DS1302初始化
- INITIAL_TEMER0();//定时器初始化
- while(1)
- {
- keyscan();//按键扫描
- if(flag==0)//当标志位为0,允许读取DS1302数据,将数据送入液晶显示
- {
- second=READ_1302(0x81);
- LCD_WRITE_SFM(10,second);//从DS1302读取秒送入液晶显示
- minute=READ_1302(0x83);
- LCD_WRITE_SFM(7,minute);//从DS1302读取分送入液晶显示
- hour=READ_1302(0x85);
- LCD_WRITE_SFM(4,hour);//从DS1302读取时送入液晶显示
- week=READ_1302(0x8b);
- LCD_WRITE_WEEK(week);//从DS1302读取星期送入液晶显示
- day=READ_1302(0x87);
- LCD_WRITE_NYR(9,day);//从DS1302读取日送入液晶显示
- month=READ_1302(0x89);
- LCD_WRITE_NYR(6,month);//从DS1302读取月送入液晶显示
- year=READ_1302(0x8d);
- LCD_WRITE_NYR(3,year);//从DS1302读取年送入液晶显示
-
- }
-
- }
- }
复制代码
|
|