#include
#define uchar unsigned char
#define uint unsigned int
#define nop() asm("nop")
#define ds1302_sec_add 0x80 //秒数据地址
#define ds1302_min_add 0x82 //分数据地址
#define ds1302_hr_add 0x84 //时数据地址
#define ds1302_date_add 0x86 //日数据地址
#define ds1302_month_add 0x88 //月数据地址
#define ds1302_day_add 0x8a //星期数据地址
#define ds1302_year_add 0x8c //年数据地址
#define ds1302_control_add 0x8e //控制数据地址 写保护
#define ds1302_charger_add 0x90 //充电
#define ds1302_clkburst_add 0xbe //突发
#define cs1 RB7
#define cs2 RB6
#define rs RB5
#define rw RB4
#define e RB3
#define lcd RC
//sbit sck=P3^6;
//sbit sda=P3^4;
//sbit rest=P3^5;
#define rest RB2
#define sda RB0
#define sck RB1
//#define RST_DIR TRISE2
#define DATA_DIR TRISB0
//#define SCLK_DIR TRISE1
void busy_wait();
void setpos(uchar row , uchar col);
void write_com(uchar i);
void write_data(uchar i);
void disp1(uchar *hz);
void disp2(uchar *hz);
void init();
void delay(uchar i);
void select(uchar x);
void Display_font(uchar Choose,uchar Row,uchar Col,uchar *num);
void Display_num(uchar Choose,uchar Row,uchar Col,uchar *num);
void delay(uchar i)
{
uchar x,y;
for(x=i;x--;x>0)
for(y=110;y--;y>0);
}
uchar t[]={0,0,0,0,0,0,1,1};
uchar a[8],b[7];
//显示字体
void Display_font(uchar Choose,uchar Row,uchar Col,uchar *num)
{
select(Choose);
Col=Col*8;
setpos(Row,Col);
disp1(num);
setpos(Row+1,Col); //下一页
disp2(num);
}
//显示数字或字母
void Display_num(uchar Choose,uchar Row,uchar Col,uchar *num)
{
uchar i,j;
select(Choose);
Col=Col*8;
setpos(Row,Col);
for(i=0;i