完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
扫一扫,分享给好友
下面是DS1302读数据的子程序,数据手册上不是说在下降沿读取数据吗??可这儿的程序怎么看上去上上升沿读数据呀?? for(i=0;i<8;i++)
{ SCLK=0; if(IO==1) { temp=temp|0x80; } temp=temp>>1; SCLK=1; _nop_(); 敢问一下,是哪错了??? |
|
相关推荐
10个回答
|
|
本帖最后由 yatoo 于 2012-12-13 12:33 编辑
具体的 是, ds1302 在sclk上升沿读取 mosi数据,下降沿发布数据到miso上,对于cpu则正好相反........... 这个程序确实是 在下降沿后 读取数据.....没有问题啊 https://bbs.elecfans.com/jishu_295866_1_1.html 参考下....... |
|
|
|
哥,能具体和我讲讲,你上面说的对单片机正好相反是啥意思吗?
|
|
|
|
我们写程序肯定是 在单片机中运行啊, 正好相反的意思 ,就是 mcu在sclk的上升沿(之前)发布数据到mosi(以便DS1302能在SCLK上升沿读走mosi数据); 在 下降沿(之后)读取miso数据(因为miso数据是 DS1302在sclk下降沿发布到miso上的)....... |
|
|
|
哥,这是我写的全部程序,就是不知是哪错了,望指教#include
#include #define uchar unsigned char #define uint unsigned int ***it IO=P1^0; ***it SCLK=P1^1; ***it RST=P1^2; uchar code duan[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90}; uchar buf[6]={0x12,0x00,0x00,0x00,0x00,0x00}; uchar code wei[]={0x7f,0xbf,0xdf,0xef,0xf7,0xfb,0xfd,0xfe}; void delay1ms(uint z) { uint x; uchar y; for(x=z;x>0;x--) for(y=110;y>0;y--); } uchar read(uchar add) { uchar temp=0,i=0; RST=0; SCLK=0; RST=1; for(i=0;i<8;i++) { SCLK=0; IO=add&0x01; _nop_(); add=add>>1; SCLK=1; } for(i=0;i<8;i++) { SCLK=0; if(IO==1) { temp=temp|0x80; } temp=temp>>1; SCLK=1; _nop_(); } RST=0; SCLK=1; return temp; } void write(uchar add,uchar temp) { uchar i=0; RST=0; SCLK=0; RST=1; for(i=0;i<8;i++) { SCLK=0; IO=add&0x01; _nop_(); add=add>>1; SCLK=1; } for(i=0;i<8;i++) { SCLK=0; IO=temp&0x01; _nop_(); temp=temp>>1; SCLK=1; } SCLK=1; RST=0; } void init() { RST=0; SCLK=0; RST=1; write(0x8E,0x00); //写保护 write(0x80,buf[2]); //秒 write(0x82,buf[1]); //分 write(0x84,buf[0]); //时 } void disp() { uchar j=0,i=0,hex=0; for(i=0;i<7;i++) { buf=read(0x85-2*j)/16; buf[++i]=read(0x85-2*j)%16; j++; } for(i=0;i<7;i++) { P2=wei; P0=duan[buf]; delay1ms(3); P0=0x00; P2=0xff; } } void main() { init(); while(1) { disp(); } }
QQ截图20121213170011.png (7 KB, 下载次数: 0) |
|
|
|
路过学习下,
|
|
|
|
|
|
|
|
|
|
|
|
对,移位在后会导致最高位丢失
|
|
|
|
来学习下哈,谢谢了,单片机菜鸟一个
|
|
|
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
7 浏览 0 评论
26 浏览 1 评论
基于瑞萨FPB-RA4E2智能床头灯项目——1编译环境搭建与点亮驱动ws2812全彩LED
13 浏览 0 评论
嵌入式学习-飞凌嵌入式ElfBoard ELF 1板卡-LCD显示图片编程示例之介绍mmap
644 浏览 0 评论
《DNESP32S3使用指南-IDF版_V1.6》第二章 常用的C语言知识点
1000 浏览 0 评论
【youyeetoo X1 windows 开发板体验】少儿AI智能STEAM积木平台
11771 浏览 31 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-24 18:17 , Processed in 0.818231 second(s), Total 90, Slave 73 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号