完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
扫一扫,分享给好友
#include
#define uchar unsigned char #define uint unsigned int ***it rs=P3^5; ***it lcden=P3^4; ***it dula=P2^6; ***it wela=P2^7; ***it s1=P3^0; ***it s2=P3^1; ***it s3=P3^2; ***it rd=P3^7; uchar code table[]=" 2013-03-05 SUN"; uchar code table1[]=" 00:59:53 "; uchar count,shi,fen,s1num; uchar miao; void delay(uint i) { uchar j; while(i--) { for(j=0;j<125;j++) { ; } } } void write_com(uchar com) { rs=0; lcden=0; P0=com; delay(10); lcden=1; delay(10); lcden=0; } void write_date(uchar date) { rs=1; lcden=0; P0=date; delay(10); lcden=1; delay(10); lcden=0; } void init() { uchar num; dula=0; wela=0; lcden=0; write_com(0x38); write_com(0x0c); write_com(0x01); write_com(0x80); write_com(0x06); for(num=0;num<15;num++) { write_date(table[num]); delay(5); } write_com(0x80+40); for(num=0;num<12;num++) { write_date(table1[num]); delay(5); } TMOD=0x01; TH0=(65536-50000)/256; TL0=(65536-50000)%256; EA=1; ET0=1; TR0=1; } void timer0() interrupt 1 { TH0=(65536-50000)/256; TL0=(65536-50000)%256; count++; } void write_sfm(uchar add,uchar date) { uchar shi,ge; shi=date/10; ge=date%10; write_com(0x80+0x40+add); write_date(0x30+shi); write_date(0x30+ge); } void keyscan() { rd=0; if(s1==0) { delay(5); if(s1==0) { s1num++; while(!s1); if(s1num==1) { TR0=0; write_com(0x80+0x40+10); write_com(0x0f); } } } if(s1num==2) { write_com(0x80+0x40+7); } if(s1num==3) { write_com(0x80+0x40+4); } if(s1num==4) { s1num=0; write_com(0x0c); TR0=1; } if(s1num!=0) { if(s2==0) { delay(5); if(s2==0) { while(!s2); if(s1num==1) { miao++; if(miao==60) { miao=0; } write_sfm(10,miao); write_com(0x80+0x40+10); } if(s1num==2) { fen++; if(fen==60) { fen=0; } write_sfm(7,fen); write_com(0x80+0x40+7); } if(s1num==3) { shi++; if(shi==24) { shi=0; } write_sfm(4,shi); write_com(0x80+0x40+4); } } } } } void main() { init(); while(1) { keyscan(); if(count==20) { count=0; miao++; if(miao==60) { miao=0; fen++; if(fen==60) { fen=0; shi++; if(shi==24) { shi=0; } write_sfm(4,shi); } write_sfm(7,fen); } write_sfm(10,miao); } } } 这是程序 每次时间走到59,接着就是01,没有00,而且分走到59 小时也不自加1,依然保持不动 这是怎么回事啊~ |
|
相关推荐
4个回答
|
|
解决了吗
|
|
|
|
|
|
|
|
|
|
注意一下显示的位置和++的位置关系,试一试
|
|
|
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
199 浏览 0 评论
使用Keil建立完整的工程,并使用外部中断0触发数码管显示903
748 浏览 0 评论
嵌入式学习-飞凌嵌入式ElfBoard ELF 1板卡-使用AHT20进行环境监测之AHT20传感器介绍
1122 浏览 0 评论
874 浏览 0 评论
910 浏览 1 评论
【youyeetoo X1 windows 开发板体验】少儿AI智能STEAM积木平台
11835 浏览 31 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-1 10:07 , Processed in 0.681777 second(s), Total 76, Slave 60 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号