导航: 老古网老古论坛XMOS公共讨论区XMOS开源项目区单片机程序设计嵌入式系统广告区域
→发表看法:[taoganabc]用过DS1302实时时钟的朋友请帮忙,我



No.51664
作者:taoganabc
邮件:taoganabc@tom.com
ID:14746
登陆:8次
文章数:20篇
最后登陆IP:220.173.131.69
最后登陆:2006/1/4 21:29:43
注册:2003/9/2 22:36:30
财富:194
发帖时间:2004/3/30 23:55:50
发贴者IP:220.173.123.95
标题:taoganabc:用过DS1302实时时钟的朋友请帮忙,我的DS1302 就是不起振
摘要:No.51664用过DS1302实时时钟的朋友请帮忙,我的DS1302 就是不起振 用过DS1302实时时钟的朋友请帮忙,我的DS1302 就是不起振,读出秒寄存器的数值为
0X80,用的是广州老赵的驱动,自己写几句主程序调试,就是不行,现在贴出程序,希望各
位指点,非常感谢!
 

帖子编号: 259339 发表用户:taogan    发表时间:2004-3-28 22:01:28     访问次
数:17 
文章内容: 

#include    <reg51.h>  
#define  uint unsigned  int
#define  uchar  unsigned  char
uchar    settime[7]={9,30,20,27,03,6,04};
uchar idata   rtime[7];         
sbit     T_CLK      = P2^5;   /*实时时钟时钟线引脚 */
sbit     T_IO       = P2^6;   /*实时时钟数据线引脚 */
sbit     T_RST      = P2^7;   /*实时时钟复位线引脚 */

sbit  ACC0 = ACC^0;
sbit  ACC7 = ACC^7;

/******************************************************************** 

 函 数 名:RTInputByte()
 功    能:实时时钟写入一字节
 说    明:往DS1302写入1Byte数据 (内部函数)
 入口参数:d 写入的数据 
 返 回 值:无  
 设    计:zhaojunjie           日    期:2002-03-19
 修    改:                     日    期: 
***********************************************************************/
void RTInputByte(uchar d) 

    uchar i;
    ACC = d;
    for(i=8; i>  0; i--)
    {
        T_IO = ACC0;           /*相当于汇编中的 RRC */
        T_CLK = 1;
        T_CLK = 0;
        ACC = ACC >  >   1; 
    } 
}
/******************************************************************** 

 函 数 名:RTOutputByte()
 功    能:实时时钟读取一字节
 说    明:从DS1302读取1Byte数据 (内部函数)
 入口参数:无  
 返 回 值:ACC
 设    计:zhaojunjie           日    期:2002-03-19
 修    改:                     日    期: 
***********************************************************************/
uchar RTOutputByte(void) 

    uchar i;
    for(i=8; i>  0; i--)
    {
        ACC = ACC >  >  1;         /*相当于汇编中的 RRC */
        ACC7 = T_IO;
        T_CLK = 1;
        T_CLK = 0;
    } 
    return(ACC); 
}
/******************************************************************** 

 函 数 名:W1302()
 功    能:往DS1302写入数据
 说    明:先写地址,后写命令/数据 (内部函数)
 调    用:RTInputByte() , RTOutputByte()
 入口参数:ucAddr: DS1302地址, ucData: 要写的数据
 返 回 值:无
 设    计:zhaojunjie           日    期:2002-03-19
 修    改:                     日    期: 
***********************************************************************/
void W1302(uchar ucAddr,uchar ucDa)
{
    T_RST = 0;
    T_CLK = 0;
    T_RST = 1;
    RTInputByte(ucAddr);       /* 地址,命令 */
    RTInputByte(ucDa);       /* 写1Byte数据*/
    T_CLK = 1;
    T_RST = 0;

/****************************** ......

>>返回讨论的主题



  发表回复
用户名   *您没有注册?
密码   *
验证码   * .
标题   *
心情
随便说说    我回答你    最新发现    得意的笑   
气死我了    真是没劲    坚决同意    表示反对   
大家过来    好奇怪哟    懒得理它    大家小心   
文件上传
内容


字体:      字体大小:    颜色:
粗体 斜体 下划线 居中 超级连接 Email连接 图片 Flash图片 Shockwave文件 realplay视频文件 Media Player视频文件 QuickTime视频文件 引用 飞行字 移动字 发光字 阴影字 查看更多的心情图标 背景音乐
点击加入表情
                         
选项
有回复时用短消息通知您?

   




老古网执行:31毫秒 最大:78531毫秒 查询6次