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]