ds1302用lcd12864并口显示失电保存
单片机源程序如下:
- #include "sys.h"
- #include "LCD12864.H"
- #include "ds1302.h"
- #include <intrins.h>
- sbit key=P3^2;
- u8 sec,min,hour;
- void pors(void)
- {
- u8 dat1,dat2;
- Ds1302ReadTime();
- dat1=TIME[0]/16; //对秒做进制处理
- dat2=TIME[0]%16;
- sec=dat1*10+dat2;
-
-
- dat1=TIME[1]/16; //对分做进制处理
- dat2=TIME[1]%16;
- min=dat1*10+dat2;
-
-
- dat1=TIME[2]/16; //对小时做进制处理
- dat2=TIME[2]%16;
- hour=dat1*10+dat2;
-
- }
- void delay(u16 z)
- {
- u8 x,y;
- for(x=z;x>0;x--)
- for(y=255;y>0;y--);
- }
- void main() //主函数
- {
-
- lcd_init_text();
- // Ds1302Init();
-
- // IE=0x85;//IE=10000111,EA=1开启总中断;EX0=1,EX1=1,;允许外部中断0和1;ET0=1,允许定时器0
- // IT0=1;//选择下降沿触发外部中断0
- // IT1=1;//选择下降沿触发外部中断1;
- //
-
- while(1) //while循环
- {
-
-
- pors();
- dis_hanzi(0,0," ");
- dis_hanzi(1,0,"时间: ");
- LCD_set_xy(1,3);
- dis_shuzi(hour/10);
- dis_shuzi(hour%10);
- dis_shuzi(2);
- dis_shuzi(min/10);
- dis_shuzi(min%10);
- dis_shuzi(2);
- dis_shuzi(sec/10);
- dis_shuzi(sec%10);
-
-
- ……………………
- …………限于本文篇幅 余下代码请从51黑下载附件…………
复制代码
所有资料51hei提供下载:
ds1302 2.zip
(72.55 KB, 下载次数: 15)
|