关于DS1302驱动的问题 5

DS1302芯片硬件连接没有问题单片机使用STC89C52RC的时候能正常工作但是换上STC12C5A60S2就没法读取数据了LCD上显示“??”我有试着在每一个语句之后... DS1302芯片 硬件连接没有问题 单片机使用STC89C52RC的时候能正常工作
但是换上STC12C5A60S2就没法读取数据了 LCD上显示“??”
我有试着在每一个语句之后加11个机器周期的延时 但是依然没有改变 请高手指点一下
附上驱动代码
/********************************底层协议*************************************/

//1302驱动程序
void clock_out(uchar dd)
{
ACC=dd;
clock_dat=a0;clock_clk=1; clock_clk=0;
clock_dat=a1;clock_clk=1; clock_clk=0;
clock_dat=a2;clock_clk=1; clock_clk=0;
clock_dat=a3;clock_clk=1; clock_clk=0;
clock_dat=a4;clock_clk=1; clock_clk=0;
clock_dat=a5;clock_clk=1; clock_clk=0;
clock_dat=a6;clock_clk=1; clock_clk=0;
clock_dat=a7;clock_clk=1; clock_clk=0;
}

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

//DS1302写入字节
uchar clock_in()
{
clock_dat=1;
a0=clock_dat;
clock_clk=1; clock_clk=0;a1=clock_dat;
clock_clk=1; clock_clk=0;a2=clock_dat;
clock_clk=1; clock_clk=0;a3=clock_dat;
clock_clk=1; clock_clk=0;a4=clock_dat;
clock_clk=1; clock_clk=0;a5=clock_dat;
clock_clk=1; clock_clk=0;a6=clock_dat;
clock_clk=1; clock_clk=0;a7=clock_dat;
return(ACC);
}

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

//DS1302读数据
uchar read_clock(uchar ord)
{
uchar dd=0;
clock_clk=0;
clock_Rst=0;
clock_Rst=1;
Delay1(1);
clock_out(ord);
dd=clock_in();
clock_Rst=0;
clock_clk=1;
return(dd);
}

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

//DS1302写数据
void write_clock(uchar ord, uchar dd)
{
clock_clk=0;
clock_Rst=0;
clock_Rst=1;
Delay1(1);
clock_out(ord);
clock_out(dd);
clock_Rst=0;
clock_clk=1;
}

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

//同时读取所有时间相关数据
void read_clockS()
{
ss = read_clock(0x81);//读取秒数据
mm = read_clock(0x83);//读取分钟数据
hh = read_clock(0x85);//小时
dd = read_clock(0x87);//日
mo = read_clock(0x89);//月
xq = read_clock(0x8b);//星期
yy = read_clock(0x8d);//年
}
还有个问题就是我用12C5A60S2插在开发板上就能正常工作....插在我焊的板子上就出问题
但是我焊的板子上插89C52就正常工作 很搞笑
展开
 我来答
百度网友5f349d309
2010-08-15 · 超过33用户采纳过TA的回答
知道答主
回答量:217
采纳率:0%
帮助的人:125万
展开全部
多加点nop吧。。5a速度太快了,输出未必跟得上计算速度
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
意法半导体(中国)投资有限公司
2023-06-12 广告
STM32F103C8T6是一款基于ARM Cortex-M3内核的微控制器,具有以下基本参数:1. 工作频率:72MHz2. 外部时钟:最高可达120MHz3. 存储器容量:64K bytes4. 数据总线宽度:32位5. 输入/输出端口... 点击进入详情页
本回答由意法半导体(中国)投资有限公司提供
niexinqq
2010-08-20 · TA获得超过112个赞
知道答主
回答量:85
采纳率:0%
帮助的人:27.1万
展开全部
ads
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
星のあ
2010-08-17
知道答主
回答量:4
采纳率:0%
帮助的人:0
展开全部
fdf
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
人生如梦06
2010-08-19
知道答主
回答量:1
采纳率:0%
帮助的人:0
展开全部
fds
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式