完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
扫一扫,分享给好友
|
void display(uchar shi2,uchar shi1,uchar fen2,uchar fen1,uchar miao2,uchar miao1)
{ dula=0; P0=table[shi2]; dula=1; dula=0; wela=0; P0=0xfe; wela=1; wela=0; delay(5); P0=table[shi1]|0x80; dula=1; dula=0; P0=0xfd; wela=1; wela=0; delay(5); P0=table[fen2]; dula=1; dula=0; P0=0xfb; wela=1; wela=0; delay(5); P0=table[fen1]|0x80; dula=1; dula=0; P0=0xf7; wela=1; wela=0; delay(5); P0=table[miao2]; dula=1; dula=0; P0=0xef; wela=1; wela=0; delay(5); P0=table[miao1]; dula=1; dula=0; P0=0xdf; wela=1; wela=0; delay(5); } void main() { TMOD=0x01; TH0=(65536-46080)/256;// 由于晶振为11.0592,故所记次数应为46080,计时器每隔50000微秒发起一次中断。 TL0=(65536-46080)%256;//46080的来历,为50000*11.0592/12 ET0=1; EA=1; while(1) { keyscan0(); if(ok==1) { TR0=1; wei=0; if(pp==20) { pp=0; m++; if(m==60) { m=0; f++; if(f==60) { f=0; s++; if(s==24) //为24h一个循环,若要12h,只需在此改为12即可。 { s=0; } } } } a0=s%10; a1=s/10; b0=f%10; b1=f/10; c0=m%10; c1=m/10; display(a1,a0,b1,b0,c1,c0); } else { if(change==1) { TR0=0; keyscan(); if(key!=10) { switch(wei) { case 1: if(key<3) //小时最高位为2 a1=key; else wei--; break; case 2: if(a1==1|a1==0) a0=key; else if(key<5) a0=key; //当小时最高位为2时,低位最高为4 break; case 3: if(key<6) //分钟最高位为5 b1=key; else wei--; break; case 4: b0=key; break; case 5: if(key<6) //秒最高位为5 c1=key; else wei--; break; case 6: c0=key; break; } key=10; } m=c1*10+c0; f=b1*10+b0; s=a1*10+a0; display(a1,a0,b1,b0,c1,c0); } if(dingshi==1) { TR0=0; display(shi20,shi10,fen20,fen10,miao20,miao10); keyscan(); if(key!=10) { switch(wei) { case 1: if(key<3) //小时最高位为2 shi20=key; else wei--; break; case 2: if(a1==1|a1==0) shi10=key; else if(key<5) a0=key; //当小时最高位为2时,低位最高为4 break; case 3: if(key<6) //分钟最高位为5 fen20=key; else wei--; break; case 4: fen10=key; break; case 5: if(key<6) //秒最高位为5 miao20=key; else wei--; break; case 6: miao10=key; break; } key=10; } yidingshi=1; display(shi20,shi10,fen20,fen10,miao20,miao10); } } if(yidingshi==1) { if((a1==shi20)&&(a0==shi10)&&(b1==fen20)&&(b0==fen10)&&(c1==miao20)&&(c0==miao10)) beep=0; } if(((a1==shi20)&&(a0==shi10)&&(b1==fen20)&&(b0==fen10+1)&&(c1==miao20)&&(c0==miao10))||(yidingshi==0))//一分钟报时提示 beep=1; } } |
|
相关推荐
3个回答
|
|
|
显示小数点的,也就数码管那个H
|
|
|
|
|
|
|
|
|
|
|
|
额,这样啊,懂了
|
|
|
|
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
470 浏览 0 评论
532 浏览 0 评论
660 浏览 0 评论
822 浏览 0 评论
RT-Thread与英飞凌(infineon)合作得板子PSOC 6 板子学习
758 浏览 0 评论
【youyeetoo X1 windows 开发板体验】少儿AI智能STEAM积木平台
17034 浏览 31 评论
/9
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2025-12-13 18:23 , Processed in 0.982051 second(s), Total 74, Slave 57 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191

淘帖
1948