基于DS1302电子时钟的设计 - 图文(5)

2019-08-29 23:27

物理与电子工程学院

ACC7 = T_IO; T_CLK = 1; T_CLK = 0; }

return(ACC); }

void v_W1302(uchar ucAddr, uchar ucDa) {

T_RST = 0; T_CLK = 0; T_RST = 1;

v_RTInputByte(ucAddr); _nop_(); _nop_();

v_RTInputByte(ucDa); T_CLK = 1; T_RST = 0; }

uchar uc_R1302(uchar ucAddr) {

uchar ucDa; T_RST = 0; T_CLK = 0; T_RST = 1;

v_RTInputByte(ucAddr); _nop_(); _nop_();

ucDa = uc_RTOutputByte(); T_CLK = 1; T_RST = 0; return(ucDa); }

uchar bcdtodec(uchar bcd) {

uchar data1;

data1=((bcd&0x70)>>4)*10+(bcd&0x0f); return data1; }

21

物理与电子工程学院

uchar dectobcd(uchar dec) {

uchar dat;

dat=((dec/10)<<4|(dec)); return dat; }

void Write_DS1302Init(void) {

v_W1302(0x8e,0); v_W1302(0x80,0x00); v_W1302(0x8e,0); v_W1302(0x82,0x00); v_W1302(0x8e,0);

v_W1302(0x84,0x00); }

void Run_DS1302(void) {

uchar sec, min, hour; v_W1302(0x8f, 0);

sec = bcdtodec(uc_R1302(0x81)); v_W1302(0x8f, 0); min = bcdtodec(uc_R1302(0x83)); v_W1302(0x8f, 0);

hour = bcdtodec(uc_R1302(0x85));

L1602_char(2, 6, hour / 10 /*% 10 */+ 48); L1602_char(2, 7, hour % 10 + 48); L1602_char(2, 8, ':');

L1602_char(2, 9, min / 10/* % 10 */+ 48); L1602_char(2, 10, min % 10 + 48); L1602_char(2, 11, ':');

L1602_char(2, 12, sec / 10 /*% 10*/ + 48); L1602_char(2, 13, sec % 10 + 48); }

void int0() interrupt 0 {

timechange(); }

void Main(void)

22

物理与电子工程学院

{ L1602_init(); EA=1; EX0=1; IT0=1; while(1) { if((t==0)&&(m==0)) {

}

}

Write_DS1302Init(); } Run_DS1302();

23


基于DS1302电子时钟的设计 - 图文(5).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:中国古代诗歌散文鉴赏

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: