No.106350 作者:筱黎 邮件:ZNJG@21CN.COM ID:20710 登陆:2次 文章数:1篇 最后登陆IP:222.33.12.166 最后登陆:2005/9/10 11:09:00 注册:2004/4/27 15:38:35 财富:6 发帖时间:2007/6/13 11:10:38 发贴者IP:218.25.81.242 标题:筱黎:DS1302,参考了网站的程序写的,可是不管从哪个寄存器里读数,读出的都是相同的数 摘要:No.106350DS1302,参考了网站的程序写的,可是不管从哪个寄存器里读数,读出的都是相同的数 unsigned char read_byte_1302(void) { unsigned char date1; unsigned char i; for(i=8;i> 0;i--) { ACC=ACC> > 1; SCLK_1302=1; _nop_(); SCLK_1302=0; //weizhi 接收到0xab ACC7=IO_1302; //SCLK_1302=0; //接收到0x00 _nop_(); } date1 = ACC; return date1; } void write_byte_1302(unsigned char com) { unsigned char idata i; ACC=com; for(i=8;i> 0;i--) { SCLK_1302 = 0; _nop_(); IO_1302 = ACC0; SCLK_1302 = 1; _nop_(); ACC=ACC> > 1; } } void init_1302() { RST_1302 = 0; _nop_(); SCLK_1302 = 0; _nop_(); RST_1302 = 1; _nop_(); write_byte_1302(0x8e); _nop_(); write_byte_1302(0x00); SCLK_1302 = 1; _nop_(); RST_1302 = 0; } unsigned char read_by_1302(unsigned char addr_rd) { unsigned char addr; unsigned char date_rd; addr = addr_rd; RST_1302 = 0; _nop_(); SCLK_1302 = 0; _nop_(); RST_1302 = 1; _nop_(); write_byte_1302(addr); _nop_(); date_rd = read_byte_1302(); SCLK_1302 = 1; _nop_(); // RST_1302 = 0; return date_rd ; } void write_by_1302(unsigned char addr_wr,unsigned char date_wr) { unsigned char addr; unsigned char date; addr = addr_wr; date = date_wr; RST_1302 = 0; _nop_(); SCLK_1302 = 0; _nop_(); RST_1302 = 1; write_byte_1302(addr); _nop_(); write_byte_1302(date); SCLK_1302 = 1; _nop_(); RST_1302 = 0; } void renew_1302() { ......
>>返回讨论的主题
|