完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
扫一扫,分享给好友
小白真诚求助 想问下 DS1302这个驱动程序配上这个原理图哪个地方有错误 12864能显示 就是时钟不走 是什么原因 万分感谢 知道的大神指点一下 感谢。。。下边是 驱动程序//DS1302时钟芯片驱动程序
/*****************************************************************************/ //常用时钟数据读取 void Read1302S(void){ ss = Read1302(0x81);//读取秒数据 mm = Read1302(0x83);//读取分钟数据 hh = Read1302(0x85);//小时 dd = Read1302(0x87);//日 mo = Read1302(0x89);//月 xq = Read1302(0x8b);//星期 yy = Read1302(0x8d);//年 } /*****************************************************************************/ //调时用加1程序 void Set_time(unsigned char sel){ //根据选择调整的相应项目加1并写入DS1302 signed char address,item; signed char max,mini; LCM_WriteDatOrCom(0,0x9a); LCM_WriteString("调整"); //if(sel==6) {LCM_WriteString("秒钟");address=0x80; max=0;mini=0;} //秒7 if(sel==5) {LCM_WriteString("分钟");address=0x82; max=59;mini=0;} //分钟6 if(sel==4) {LCM_WriteString("小时");address=0x84; max=23;mini=0;} //小时5 if(sel==3) {LCM_WriteString("星期");address=0x8a; max=7;mini=1;} //星期4 if(sel==2) {LCM_WriteString("日期");address=0x86; max=31;mini=1;} //日3 if(sel==1) {LCM_WriteString("月份");address=0x88; max=12;mini=1;} //月2 if(sel==0) {LCM_WriteString("年份");address=0x8c; max=99; mini=0;} //年1 //读取1302某地址上的数值转换成10进制赋给item item=((Read1302(address+1))/16)*10 + (Read1302(address+1))%16; if(KEY_2 == 0){ item++;//数加 1 } if(KEY_4 == 0){ item--;//数减 1 } if(item>max) item=mini;//查看数值有效范围 if(item Write1302(address,(item/10)*16+item%10);//转换成16进制写入1302 Write1302(0x8e,0x80);//写保护,禁止写操作 updata (); //刷新数据 lcm_w_mm();//刷新 分 } /*****************************************************************************/ //设置1302的初始时间(自动初始化) void Init_1302(void){//-设置1302的初始时间(2007年1月1日00时00分00秒星期一) unsigned char f; if(Read1302(0xc1) != 0xaa){ Write1302(0x8e,0x00);//允许写操作 Write1302(0x8c,0x10);//年 Write1302(0x8a,0x01);//星期 Write1302(0x88,0x01);//月 Write1302(0x86,0x01);//日 Write1302(0x84,0x00);//小时 Write1302(0x82,0x00);//分钟 Write1302(0x80,0x00);//秒 Write1302(0x90,0xa5);//充电 Write1302(0xc0,0xaa);//写入初始化标志RAM(第00个RAM位置) for(f=0;f<60;f=f+2){//清除闹钟RAM位为0 Write1302(0xc2+f,0x00); } Write1302(0x8e,0x80);//禁止写操作 } } /*****************************************************************************/ //DS1302写数据(底层协议) void Write1302(unsigned char ord, unsigned char dd){ clock_clk=0; clock_Rst=0; clock_Rst=1; DS1302OutputByte(ord); DS1302OutputByte(dd); clock_Rst=0; clock_clk=1; } /*****************************************************************************/ //1302驱动程序(底层协议) void DS1302OutputByte(unsigned char 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写入字节(底层协议) unsigned char DS1302InputByte(void){ 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读数据(底层协议) unsigned char Read1302(unsigned char ord){ unsigned char dd=0; clock_clk=0; clock_Rst=0; clock_Rst=1; DS1302OutputByte(ord); dd=DS1302InputByte(); clock_Rst=0; clock_clk=1; return(dd); } 附件是原理图
|
|
相关推荐
3个回答
|
|
{:12:}{:12:}{:12:}
|
|
|
|
|
|
|
|
有没有知道的 说一下 万分感激
|
|
|
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
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:07 , Processed in 0.569965 second(s), Total 78, Slave 60 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号