完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
#include
#define uchar unsigned char ***it rs=P2^6; ***it rw=P2^5; ***it lcde=P2^7; ***it sclk=P3^6; ***it dsio=P3^4; ***it ce=P3^5; ***it ACC_7=ACC^7; uchar zhou,shi,fen,miao,ri,yue,nian; uchar code table[]=" 20 - - 01"; uchar code table1[]=" : : "; void delay(uchar z) { uchar x,y; for(x=z;x>0;x--) for(y=110;y>0;y--); } void write_com(uchar com) //写控制指令 { rs=0; rw=0; lcde=0; P0=com; delay(5); lcde=1; delay(5); lcde=0; } void write_data(uchar date) //写数据指令 { rs=1; rw=0; lcde=0; P0=date; delay(5); lcde=1; delay(5); lcde=0; } void init() //初始化程序 { uchar i; write_com(0x38); write_com(0x0c); write_com(0x06); write_com(0x01); write_com(0x80); for(i=0;i<14;i++) { write_data(table); } write_com(0x80+0x40); for(i=0;i<10;i++) { write_data(table1); } } void write_ds1302(uchar addr,uchar date) { uchar i,temp; ce=0; sclk=0; ce=1; for(i=8;i>0;i--) { sclk=0; temp=addr; dsio=temp&0x01; addr>>=1; sclk=1; } for(i=8;i>0;i--) { sclk=0; temp=date; dsio=temp&0x01; date>>=1; sclk=1; } ce=0; } uchar read_ds1302(uchar addr) { uchar i,temp,dat1,dat2; ce=0; sclk=0; ce=1; for(i=8;i>0;i--) { sclk=0; temp=addr; dsio=temp&0x01; addr>>=1; sclk=1; } for(i=8;i>0;i--) { ACC_7=dsio; sclk=1; ACC>>=1; sclk=0; } ce=0; dat1=ACC; dat2=dat1/16; dat1=dat1%16; dat1=dat2*10+dat1; return (dat1); } void init_ds1302() { write_ds1302(0x8e,0x00); write_ds1302(0x80,0x55); write_ds1302(0x82,0x29); write_ds1302(0x84,0x15); write_ds1302(0x86,0x24); write_ds1302(0x88,0x06); write_ds1302(0x8a,0x01); write_ds1302(0x8c,0x13); write_ds1302(0x8e,0x80); } void write_sfm(uchar add,uchar date) //哪个地址显示数据 { uchar ge,shi; shi=date/10; ge=date%10; write_com(0x80+0x40+add); write_data(0x30+shi); write_data(0x30+ge); } void write_nyr(uchar add,uchar date) //哪个地址显示数据 { uchar ge,shi; shi=date/10; ge=date%10; write_com(0x80+add); write_data(0x30+shi); write_data(0x30+ge); } void display() { write_ds1302(0x8e,0x00); miao=read_ds1302(0x81); write_sfm(8,miao); fen=read_ds1302(0x83); write_sfm(5,fen); shi=read_ds1302(0x85); write_sfm(2,shi); ri=read_ds1302(0x87); write_nyr(10,ri); yue=read_ds1302(0x89); write_nyr(7,yue); zhou=read_ds1302(0x8b); write_nyr(14,zhou); nian=read_ds1302(0x81); write_nyr(4,nian); write_ds1302(0x8e,0x80); } void main() { init(); init_ds1302(); while(1) { display(); } } 如题,时分秒年月日都显示85?求大神指教 |
|
相关推荐
1个回答
|
|
试一下显示刷新间隔调大一点试一下。
|
|
|
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
嵌入式学习-飞凌嵌入式ElfBoard ELF 1板卡-初识设备树之设备组织架构
964 浏览 0 评论
619 浏览 0 评论
嵌入式学习-飞凌嵌入式ElfBoard ELF 1板卡-初识设备树之设备树组成和结构
867 浏览 0 评论
【敏矽微ME32G070开发板免费体验】点亮WS2812B灯板
1166 浏览 0 评论
嵌入式学习-飞凌嵌入式ElfBoard ELF 1板卡-Linux内核移植之内核启动流程
974 浏览 0 评论
【youyeetoo X1 windows 开发板体验】少儿AI智能STEAM积木平台
12168 浏览 31 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2025-1-13 02:00 , Processed in 0.559795 second(s), Total 71, Slave 55 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号