#include
#include
#define uchar unsigned char
#define uint unsigned int
sbit lcd_reset=P1^0; //RST
sbit lcd_wr=P1^1; //WR
sbit lcd_en=P1^2; //RD
sbit lcd_rs=P1^3; // AO
sbit lcd_cs1=P1^4; //CS
#define DataPort P0 //DataBUS
#include "8x16.h"
#define ulong unsigned long
/*****************************************************************************************************
*******************************************DS3231变量定义*********************************************
*****************************************************************************************************/
sbit DS3231_IIC_SDA=P3^6;
sbit DS3231_IIC_SCL=P3^7;
uchar RTC_Data[8];
uchar RTC_Data1[8];
uchar RTC_Set_ID;
code uchar rtc_address[8]={0x00,0x01,0x02,0x04,0x05,0x03,0x06,0x11};//秒分时日月周年 最低位读写位
uchar display_buff[16]; //时间显示数组
/*****************************************************************************************************
*********************************************变量定义*************************************************
*****************************************************************************************************/
bit T0_Flag; //定时器T01ms标志位
bit laba_flag; //蜂鸣器标志位
bit Open_Flag; //蜂鸣器标志位
bit RTC_Save_Flag; //设置时间标志位
bit shezhi_display_flag;
void delayms(uint x); //延时函数
void Time_Fun(); //时基、走时函数
void DS3231_Read_time(); //读取时间
void DS3231_write_time(); //写入时间
void DS3231_Init(); //时间模块初始化
/********************************************初始化时间************************************************/
void Ram_init()
{
DS3231_Read_time(); //读取 秒分时日月周年
if((!RTC_Data[6])&&(!RTC_Data[5])&&(!RTC_Data[4])&&(!RTC_Data[3])&&(!RTC_Data[2])&&(!RTC_Data[1])&&(!RTC_Data[0]))
{
RTC_Data[0]=0; //秒 //秒分时日月周年 最低位读写位
RTC_Data[1]=0; //分
RTC_Data[2]=12; //时
RTC_Data[3]=3; //日
RTC_Data[4]=11; //月
RTC_Data[5]=2; //周
RTC_Data[6]=15; //年
DS3231_write_time(); //写入 秒分时日月周年
}
RTC_Set_ID=0;
}
vo