完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
本帖最后由 hegspring 于 2013-2-25 11:04 编辑
用Keil单步运行程序时,往DS1302里写数据正常,但是读数据时IO口一直保持高电平不变,主要代码如下: 求助!!! 在线等……QQ:137223811 #include "reg51.h" #include "intrins.h" ***it rst=P2^5; ***it sck=P2^6; ***it io=P2^7; ***it acc7=ACC^7; typedef unsigned char uchar; typedef unsigned int uint; void write_ds1302_byte(uchar dat) { uchar i; for(i=8;i>0;i--) { sck=0; io=dat&0x01; dat=dat>>1; sck=1; } } /*写多字节到DS1302*/ void write_ds1302(uchar add,uchar dat) { rst=0; _nop_(); sck=0;_nop_(); rst=1;_nop_(); write_ds1302_byte(add); write_ds1302_byte(dat); rst=0;_nop_(); io=1; sck=1; } /*读DS1302的1Byte*/ uchar read_ds1302(uchar add) { uchar i; rst=0; _nop_(); sck=0; _nop_(); rst=1; _nop_(); write_ds1302_byte(add); for(i=0;i<8;i++) { sck=1; sck=0; acc7=io; ACC>>=1; } rst=0; _nop_(); sck=0; _nop_(); sck=1; io=1; ACC=(ACC/16*10)+ACC%16; return ACC; } |
|
相关推荐
2个回答
|
|
|
|
|
|
|
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
电赛:mspm0l1306的开发板可以烧录程序,但是程序运行不了,怎么解决这个问题?
409 浏览 1 评论
【xG24 Matter开发套件试用体验】Silicon Labs 基于 EFR32MG24 Explorer Kit 开发板 开箱试用体验
641 浏览 0 评论
嵌入式设备在远端运行,会有偶发性代码跑飞的情况,无法到现场调试的情况下如何检查出问题?
1565 浏览 3 评论
写一个程序控制像图上这样控制电磁阀 但是没什么头绪 请各位大神帮帮忙
1560 浏览 1 评论
819 浏览 0 评论
【youyeetoo X1 windows 开发板体验】少儿AI智能STEAM积木平台
10475 浏览 31 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-8-2 13:22 , Processed in 0.638630 second(s), Total 72, Slave 55 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191