| 我的程序::/**************************************/ /* 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);
 
 }
 }
 }
 |