完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
接触51单片机有一个月左右时间了,准备做一个电子钟,用了ds1302芯片,程序写好了,在proteus上模拟没有问题,但用实物搭建在面包板上就没法正常读取时间。找了很长时间没找到原因。 这是在proteus上模拟时的画面 在面包板上调试时却是这个样子 1302的局部接线图 这是1302部分的程序 void DS1302Write(uchar addr,dat) //地址、数据发送子程序 { uchar i,temp; CE=0; //CE引脚为低,数据传送中止 SCLK=0; //清零时钟总线 CE=1; //CE引脚为高,逻辑控制有效 for(i=8;i>0;i--) //发送地址 { SCLK=0; temp=addr; DIO=(bit)(temp&0x01); addr>>=1; SCLK=1; } for (i=8;i>0;i--) //发送数据 { SCLK=0; temp=dat; DIO=(bit)(temp&0x01); dat>>=1; SCLK=1; } CE=0; } uchar DS1302Read(uchar addr) //数据读取子程序 { uchar i,temp; CE=0; SCLK=0; CE=1; for(i=8;i>0;i--) //发送地址 { SCLK=0; temp=addr; DIO=(bit)(temp&0x01); addr>>=1; SCLK=1; } for(i=8;i>0;i--) //读取数据 { ACC_7=DIO; SCLK=1; ACC>>=1; SCLK=0; } CE=0; return(ACC); } 就这些了,还要什么我可以给你发过去。。。求学长学姐帮帮忙。先去上课了,回来看。 |
|
相关推荐
8个回答
|
|
怎么连看的人都这么少啊。。
|
|
|
|
求助求助啊
|
|
|
|
bbbbbbbbb
|
|
|
|
|
|
我做的实时时钟DS18B20,电源断电为什么不能保持呢
|
|
|
|
问题找到了,原来是我用的1302坏掉了,真是的。。。。。。。。
|
|
|
|
可能是重新上电的时候单片机又给1302重新初始化了一次,你得想办法让单片机只能给1302初始化一次。 |
|
|
|
还有就是单片机与1302的第6个脚相连的io口要加上拉电阻。
|
|
|
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
求助一下关于51系列单片机的Timer0的计时问题,TH0、TL0+1的时间是怎么算的?
852 浏览 1 评论
【RA-Eco-RA4E2-64PIN-V1.0开发板试用】开箱+Keil环境搭建+点灯+点亮OLED
592 浏览 0 评论
【敏矽微ME32G070开发板免费体验】使用coremark测试敏矽微ME32G070 跑分
705 浏览 0 评论
【敏矽微ME32G070开发板免费体验】开箱+点灯+点亮OLED
926 浏览 2 评论
657 浏览 0 评论
【youyeetoo X1 windows 开发板体验】少儿AI智能STEAM积木平台
11991 浏览 31 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-21 19:31 , Processed in 0.840114 second(s), Total 83, Slave 66 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号