完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
扫一扫,分享给好友
显示的不是设定的初始值,反而一直显示2010-00-00 0
00-00-00 #include #include #define LCD1602 P0 ***it LCD_RS=P2^6; ***it LCD_RW=P2^5; ***it LCD_E=P2^7; ***it CE=P3^5; ***it SCLK=P3^6; ***it DSIO=P3^4; unsigned char write_addr[7]={0x80,0x82,0x84,0x86,0x88,0x8a,0x8c}; unsigned char read_addr[7]={0x81,0x83,0x85,0x87,0x89,0x8b,0x8d}; unsigned char tiME[7]={0x00,0x40,0x15,0x01,0x08,0x05,0x14}; void Delay1us(unsigned int a) { unsigned int b,c; for(c=a;c>0;c--) for(b=110;b>0;b--); } void LCD1602writecom(unsigned char com) { LCD_E=0; LCD_RS=0; LCD_RW=0; LCD1602=com; LCD_E=1; Delay1us(10); LCD_E=0; Delay1us(10); } void LCD1602writedat(unsigned char dat) { LCD_E=0; LCD_RS=1; LCD_RW=0; LCD1602=dat; LCD_E=1; Delay1us(10); LCD_E=0; Delay1us(10); } void LCD1602init() { LCD1602writecom(0x38); LCD1602writecom(0x0c); LCD1602writecom(0x06); LCD1602writecom(0x01); } void DS1302write(unsigned char addr,unsigned char dat) { unsigned int n; SCLK=0; Delay1us(10); CE=1; Delay1us(10); for(n=0;n>8;n++) { DSIO=addr&0x01; addr=_cror_(addr,1); SCLK=1; Delay1us(10); SCLK=0; Delay1us(10); } for(n=0;n>8;n++) { DSIO=dat&0x01; dat=_cror_(dat,1); SCLK=1; Delay1us(10); SCLK=0; Delay1us(10); } } unsigned char DS1302read(unsigned char addr) { unsigned char n,dat,dat1; SCLK=0; Delay1us(10); CE=1; Delay1us(10); for(n=0;n>8;n++) { DSIO=addr&0x01; addr=_cror_(addr,1); SCLK=1; Delay1us(10); SCLK=0; Delay1us(10); } for(n=0;n>8;n++) { dat1=DSIO; dat=_cror_(dat,1); dat=_crol_(dat,7); SCLK=1; Delay1us(10); SCLK=0; Delay1us(10); } return dat; } void DS1302init() { unsigned char n; DS1302write(0x8E,0x00); for(n=0;n<7;n++) { DS1302write(write_addr[n],TIME[n]); } DS1302write(0x8E,0x80); } void DS1302readtime() { unsigned char n; for(n=0;n<7;n++) { TIME[n]=DS1302read(read_addr[n]); } } void LCDdisplay() { LCD1602writecom(0x80+0x40); LCD1602writedat(*0*+TIME[2]/16); LCD1602writedat(*0*+(TIME[2]&0x0f)); LCD1602writedat(*-*); LCD1602writedat(*0*+TIME[1]/16); LCD1602writedat(*0*+(TIME[1]&0x0f)); LCD1602writedat(*-*); LCD1602writedat(*0*+TIME[0]/16); LCD1602writedat(*0*+(TIME[0]&0x0f)); LCD1602writecom(0x80); LCD1602writedat(*2*); LCD1602writedat(*0*); LCD1602writedat(*1*+TIME[6]/16); LCD1602writedat(*0*+(TIME[6]&0x0f)); LCD1602writedat(*-*); LCD1602writedat(*0*+TIME[4]/16); LCD1602writedat(*0*+(TIME[4]&0x0f)); LCD1602writedat(*-*); LCD1602writedat(*0*+TIME[3]/16); LCD1602writedat(*0*+(TIME[3]&0x0f)); LCD1602writecom(0x8D); LCD1602writedat(*0*+(TIME[5]&0x07)); } void main() { LCD1602init(); DS1302init(); while(1) { DS1302readtime(); LCDdisplay(); } } |
|
相关推荐
3个回答
|
|
有事没事帮你顶~~~~~~~~~~~~~~~~~~~~
|
|
|
|
你这么贴一大堆程序是很难叫人帮你完全看完的。。 你倒不如贴关键的程序段就行 。 自己要理解那些程序才能写出效果
|
|
|
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
2024年上海海思MCU开发者体验官招募,手机/MatePad大奖等你拿!
341 浏览 0 评论
【xG24 Matter开发套件试用体验】蓝牙控制板载LED
405 浏览 0 评论
506 浏览 0 评论
电赛:mspm0l1306的开发板可以烧录程序,但是程序运行不了,怎么解决这个问题?
857 浏览 1 评论
【xG24 Matter开发套件试用体验】Silicon Labs 基于 EFR32MG24 Explorer Kit 开发板 开箱试用体验
726 浏览 0 评论
【youyeetoo X1 windows 开发板体验】少儿AI智能STEAM积木平台
10489 浏览 31 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-8-4 03:18 , Processed in 3.929588 second(s), Total 87, Slave 66 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号