完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
#include
#include "xs.h" #include "dsq.h" #include "ys.h" #include "aj.h" ***it dula=P2^6; ***it wela=P2^7; ***it fm=P2^3; code table[]={ //数字 0x3f,0x06,0x5b,0x4f, 0x66,0x6d,0x7d,0x07, 0x7f,0x6f,0x77,0x7c, 0x39,0x5e,0x79,0x71}; char num2,fm1,fmgai,gai,num; //变量 char miao,fen,shi,fmmiao,fmfen,fmshi; //时间变量 void display(char fmmiao,char fmfen,char fmshi,char miao,char fen,char shi) //显示子函数 { if(fm1==1) { dula=1; if(num==1&&fmgai==3) //判断num是否为1,且闹钟显示时按键1是否按了3下。 { P0=0x00; } else //否则输出这个。 { P0=table[fmmiao%10]; } dula=0; P0=0xff; wela=1; P0=0xdf; wela=0; delayms(1); dula=1; if(num==1&&fmgai==3) { P0=0x00; } else { P0=table[fmmiao/10]; } dula=0; P0=0xff; wela=1; P0=0xef; wela=0; delayms(1); dula=1; if(num==1&&fmgai==2) { P0=0x00; } else { P0=table[fmfen%10]|0x80; } dula=0; P0=0xff; wela=1; P0=0xf7; wela=0; delayms(1); dula=1; if(num==1&&fmgai==2) { P0=0x00; } else { P0=table[fmfen/10]; } dula=0; P0=0xff; wela=1; P0=0xfb; wela=0; delayms(1); dula=1; if(num==1&&fmgai==1) { P0=0x00; } else { P0=table[fmshi%10]|0x80; } dula=0; P0=0xff; wela=1; P0=0xfd; wela=0; delayms(1); dula=1; if(num==1&&fmgai==1) { P0=0x00; } else { P0=table[fmshi/10]; } dula=0; P0=0xff; wela=1; P0=0xfe; wela=0; delayms(1); } else { dula=1; if(num==1&&gai==3) //判断num是否为1,且正常显示时按键1是否按了3下。 { P0=0x00; } else { P0=table[miao%10]; //否则输出这个。 } dula=0; P0=0xff; wela=1; P0=0xdf; wela=0; delayms(1); dula=1; if(num==1&&gai==3) { P0=0x00; } else { P0=table[miao/10]; } dula=0; P0=0xff; wela=1; P0=0xef; wela=0; delayms(1); dula=1; if(num==1&&gai==2) { P0=0x00; } else { P0=table[fen%10]|0x80; } dula=0; P0=0xff; wela=1; P0=0xf7; wela=0; delayms(1); dula=1; if(num==1&&gai==2) { P0=0x00; } else { P0=table[fen/10]; } dula=0; P0=0xff; wela=1; P0=0xfb; wela=0; delayms(1); dula=1; if(num==1&&gai==1) { P0=0x00; } else { P0=table[shi%10]|0x80; } dula=0; P0=0xff; wela=1; P0=0xfd; wela=0; delayms(1); dula=1; if(num==1&&gai==1) { P0=0x00; } else { P0=table[shi/10]; } dula=0; P0=0xff; wela=1; P0=0xfe; wela=0; delayms(1); } } void T1_time()interrupt 3 { getkey(); //按键调用 TH1=(65536-45872)/256; //重装初值 TL1=(65536-45872)%256; num2++; num++; if(num==5) { num=0; num=~num; //num取反 } if(num2==20) //num2到20为1秒 ,num2归0重新计数 { num2=0; miao++; if(miao==60) { miao=0; //秒到60归0,分加1 fen++; } if(fen==60) { //分到60归0,时加1 fen=0; shi++; } if(shi==24) { shi=0; //时到24归0 } } if(shi==fmshi&&fen==fmfen&&miao==fmmiao) //判断闹钟时间是否与现在时间相等 { fm = ~fm; } } |
|
相关推荐
5 个讨论
|
|
最好在刷新下一位数码管时把本位数码管的引脚设置成相同的电平,也就是关掉本位显示,然后在设置下一位显示,就可以避免鬼影
|
|
|
|
|
|
嵌入式学习-飞凌嵌入式ElfBoard ELF 1板卡-shell编程入门之提取字符并设置rtc时间
221 浏览 0 评论
使用LIS2DW12TR加速度传感器可以计算物体重力方向运动的距离吗
318 浏览 1 评论
【敏矽微ME32G070开发板免费体验】介绍、环境搭建、工程测试
300 浏览 0 评论
敏矽微ME32G070开发板开发资料(规格书、库和例程、原理图)
1319 浏览 0 评论
《DNESP32S3使用指南-IDF版_V1.6》第十一章 KEY实验
472 浏览 0 评论
【youyeetoo X1 windows 开发板体验】少儿AI智能STEAM积木平台
11935 浏览 31 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-13 11:21 , Processed in 0.723566 second(s), Total 48, Slave 40 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号