我的程序::/**************************************/
/* DS12C887时钟芯片写指令*/
/**************************************/
void write_ds(uchar add,uchar date)
{
dscs=0;
dsas=1;
dsds=1;
dsrw=1;
P0=add;
dsas=0;
dsrw=0;
P0=date;
dsrw=1;
dsas=1;
dscs=1;
}
/************************************/
/* DS12C887读指令*/
/************************************/
uchar read_ds(uchar add)
{
uchar ds_date;
dsas=1;
dsds=1;
dsrw=1;
dscs=0;
P0=add;
dsas=0;
dsds=0;
P0=0xff;
ds_date=P0;
dsds=1;
dsas=1;
dscs=1;
return ds_date;
}
void set_time()
{
write_ds(4,10);
write_ds(2,32);
}
/*********************************************************/
/* */
/* 主程序*/
/* */
/*********************************************************/
void main(void)
{
uint i,j;
lcd_init();
//timer_init();
miao=read_ds(0);
fen=read_ds(2);
shi=read_ds(4);
while(1)
{
//设置显示位置为第一行
for(i=0;i<16;i++)
{
lcd_wdat(dis1[i]);
delay(30);
}
lcd_pos(1,0); //设置显示位置为第二行
for(i=0;i<16;i++)
{
lcd_wdat(dis2[i]);
delay(30);
}
lcd_pos(2,0); //设置显示位置为第三行
for(i=0;i<16;i++)
{
lcd_wcmd(0x89);
lcd_wdat(shi+48);
lcd_wcmd(0x8a);
lcd_wdat(0x3a);
lcd_wcmd(0x8b);
lcd_wdat(fen+48);
lcd_wcmd(0x8c);
lcd_wdat(0x3a);
lcd_wcmd(0x8d);
lcd_wdat(miao+48);
}
}
}
|