電子時鐘的配套c程序
/*
主函數中最主要的時鍵盤調節時間函數,函數首先檢測按鍵是否按下,如果按下則端口接地,變為低電平,
判斷語句if成立,就準備調時,但是首先延時delay(10000),主要目的時去抖動。在進行調節以后,都要調用顯
示處理函數,對將要顯示的時間進行處理。
在主函數不斷循環之中,中斷源要發送中斷請求,定時器1每1.8ms發送一個中斷請求,來顯示處理函數處
理過的時間,也就是每個數碼管位1.8*4=7.2ms掃描一次(顯示一次),定時器2每10ms發送一個中斷請求,每20*10ms=0.2s進行一次顯示處理函數,也就是每20個定時器
1脈沖,處理一次,且每50個定時器1脈沖,處理一次二極管閃爍。
但是最重要的是每100個中斷請求后,進行second的加1操作。所以定時器1中的count定義為static。
*/
/*
這個程序還是存在問題的,在使用定時器觸發中斷,只需要一個中斷就足夠了,但是定時器的工作模式還是存在不明白的地方。
硬件電路存在兩個問題,P0口的驅動能力強于P1口,帶動數碼管的時候,一般接P0口,即使是這樣有時候也需要加
下拉電阻,而不是限流電阻。
延時抖動的問題,在用示波器后可以清晰的看出抖動存在,及其周期,根據周期設定延時。
定時器工作模式及中斷優先級問題,還有中斷機理,并行工作模式?
*/
評論