数码管显示系统时间.c

数码管显示系统时间.c

ID:14875565

大小:42.00 KB

页数:13页

时间:2018-07-30

数码管显示系统时间.c_第1页
数码管显示系统时间.c_第2页
数码管显示系统时间.c_第3页
数码管显示系统时间.c_第4页
数码管显示系统时间.c_第5页
资源描述:

《数码管显示系统时间.c》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、数码管显示系统时间.c#defineucharunsignedchar#defineuintunsignedint#defineulongunsignedlong#include//"f==22.1184MHz"ucharcodeshu[10]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};//"用于数码管显示0~9"ucharcodewei[4][4]={0x10,0x20,0x40,0x80,0x00,0x00,0x40,0x80,0x10,0x20,0

2、x00,0x00,0,0,0,0};//"数码管位变量,用于控制哪个数码管显示数字,在任意时刻做多显示一位数,0x00就表示每个数码管都不亮,用于在调整时间时制造闪烁视觉效果"ucharsfm[7]={0,0,12,1,10,9,20},haomiao=0;//"复位时,默认时间为2009年10月1日12时0分0秒0毫秒,这里的毫秒是1/100s的意思"ucharyu,zi,tiao=0,kuai,anzhu=0,ttime=0,jitimes=0,twotimes=8;//"yu:m/4的余数即yu=m%4(临时变量,1/100s

3、之内会取到0~3四个值,作为制数码管位变量的指针"//"zi:数组shu的指针,用于控制数码管显示哪个数字,(P1=shu[zi];)"//"tiao=0表示没有调时间,tiao=1,2,3,4,5,6分别表示正在调年、月、日、时、分、秒"//"kuai:用于在调整时间时,控制被调变量的增/减的快慢"//"anzhu=0表示没有长按任何一个键,anzhu=1,2,3,4,5,6,7,8分别表示正在长按第一、二、三、四、五、六、七、八个键,anzhu=9表示按住的键不止一个"//"ttime:正在调时间时,放弃按键的时间,单位为妙,放

4、弃时间过长,系统就应该认为时间已经调整完毕"//"jitimes:在0.5妙内点击按键的次数,是为了实现双击功能而设定的变量"//"twotimes=0~7分别表示双击了第一~八个键,=8表示没有双击任何键,=9表示连按的两个键不是同一个键"uintm=0,n,i=1,k,l=199,o,ktime=0,daijitime=0,jitime=0;//"m:每1/400s就m++(1/400s为定时器周期)"//"n,i,j,k:公用变量,用于很多地方,不同的地方有不同的意义"//"l:用于控制被调变量的增减速度"//"o:用于控制花

5、样跑马灯的亮法,每20s变化一次"//"ktime:长按某键的时间,单位为1/100s"//"daijitime:没有调时间且没有按任何键这种待机状态的持续时间,单位为1/100s"//"jitime:连某键的总时间,包括在非待机状态下按下、弹起、再按下、再弹起四个阶段的时间,单位为1/100s,是专为实现双击功能而设定的变量"bitdaiji=1,paomiao=0,lunliu=0;//"daiji:系统是否处在待机状态即没有调时间没有按任何键的一般状态"//"paomiao:显示跑秒的状态"//"lunliu:轮流显示年、月日

6、、时分、分秒的状态"ucharzuo[6]={0,1,0,1,0,0},run=0,days=31,lunci;//"zuo=1表示控制闪烁数码管显示器左两位,zuo=0表示右两位"//"run:是否是闰年"//"days:每个月的天数(它是变量),复位时,2009年10月的天数是31"//"lunci:控制花样跑马灯的显示类型"ucharjilu[2]={8,8},ji[2]={8,8};//"jilu[0],jilu[1]:相邻两1/100s的按键扫描纪录"//"在0.5s内按下的两个键的键值记录,用于实现双击功能"uchard

7、eng[2];//"用于实现花样跑马灯"ucharcodesudu[20]={100,90,81,73,66,59,53,48,43,39,35,31,28,25,23,21,19,17,15,14};//"用于实现花样跑马灯的变速"voidshuaxin()//"每一秒刷新一次数据,用于实现数据的归零和进位"{if(haomiao==100)//"如果毫秒溢出"{haomiao=0;sfm[0]++;if(lunliu)lunci=sfm[0]%10/2;//"毫秒归零,秒进1,如果处在轮流显示状态,就让秒的个位决定轮流显示的轮次

8、"if(sfm[0]==60)//"秒溢出"{sfm[1]++;//"分进位"if(sfm[1]==60)//"分溢出"{sfm[2]++;//"时进位"if(sfm[2]==24)//"时溢出"{sfm[3]++;//"日进位"if

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。