c语言写的单片机时钟日历,有闹钟、秒表功能。我想让秒表以10ms:附件是我的工程文件和电路图的下载地址。
从左到右,从上到下依次命名为
key1,key2,key3,key4
key5…………………
1、key1键: 菜单功能选择按键
第一次按下:进入计时器界面
第二次按下:返回时钟界面
2、key2键: 时钟调整选择按键
第一次按下:调整秒
第二次按下:调整分钟
第三次按下:调整小时
第四次按下:调整日
第五次按下:调整月份
第六次按下:调整年
第七次按下:返回时钟界面
3、key3键: 第一次按下开启闹钟,第二次按下确定闹钟时间,第三次按下关闭闹钟
4、key4键:
5、key5键: 按一下加1
6、key6键: 按一下减1
7. key7键:设置闹钟按键,第一、二次按下分别调节分、时
8. key8键:
9. key9键:计时器开始/暂停计时
10. key10键:按住该键显示时间,松开继续显示计时
11. key11键:按下后清零
12. key12键:按下后清零并重新计时
13. key13键:
14. key14键
15. key15键
16. key16键:
时钟
1、初始化时钟时间为2010-05-26 Wed
12:00:00
2、时间变量:seconds,minute,hour, week, day, month, year;
3、时间的设置:根据按下key2键的次数将光标移到相应的位置进行闪烁,
,然后根据key5 key6键的按下对相应的时间变量进行增或减1、
闹钟
功能:设置闹钟,时间到了后响铃,三分钟后若无取消闹钟,则自动关闭闹钟。
实现方法:
当第一次按下key3键时,alarmOn = 1.,进行闹钟时间设置, 在屏幕右下角显示字符串“Set”。第二次按下时开启闹钟定时,在屏幕右下角显示字符串“On” ,第三次按下时关闭闹钟。根据按下key7键的次数将光标移到相应的位置进行闪烁,,然后根据key5 key6键的按下进行增或减1,每增减一次调用相对应的屏幕刷新函数.。设置好后,将该时间值存在变量alarmMinute, alarmHour里,。此后不断检测系统时间与所设闹钟时间是否相等,当相等时让蜂鸣器发声。此时如果再次按下key8键则,alarmOn = 0,关闭蜂鸣器,消除字符串“On”,恢复时钟界面。如果没有按下key8键,则3分钟后蜂鸣器自动关闭,消除字符串“On”。
功能:精确到10ms,计时范围:0~60:00:00,即1小时。
按下key9键:计时器开始/暂停计时
key10键:按住该键显示时间,松开继续显示计时
key11键:按下后清零
key12键:按下后清零并重新计时
[pre]我写到计时器这里就卡住了。我想以10ms进行计时,但运行结果确不是我想要的,秒表走得很慢,不知道怎么回事。不是以10ms为单位。不是以10ms进行计时,,是不是程序太大了,写太多了,到反应中断时10ms已经过去了,来不及显示
[/pre]