PIC單片機(jī)C語言程序設(shè)計(6)
4.可預(yù)置起始時刻的倒計時程序
在2010 年第2 期《PIC 單片機(jī)C 語言程序(5)》一文中,我們介紹了可預(yù)置起始時刻的時鐘的硬件電路并給出了C 語言程序。下面要介紹的可預(yù)置起始時刻的倒計時程序,是作為日常生活中對某事件的定時之用:只要某事件由人工設(shè)置的計時時間到,倒計時電路便會發(fā)出報警聲。倒計時的特點是,計時一旦達(dá)到預(yù)定值,其值就歸零。利用歸零條件,即可實現(xiàn)任意倒計時達(dá)到時的報警功能,提示人們定時已到。
本倒計時器可在0~99 分鐘內(nèi)任意設(shè)置計時值。
例如在廚房中,蒸大米飯(8 兩米),定時33 分鐘,燒開水(一壺)為20 分鐘,煮胡羅卜(紅色)為30 分鐘等,只要設(shè)定時間一到,倒計時器即報警,使用十分方便。當(dāng)然,上述倒計時值,均是事先用普通時鐘確定每個事件所要花費的時間,列出相應(yīng)定時標(biāo)準(zhǔn),才能用倒記時器進(jìn)行定時。
?。?)硬件電路。
圖6 是0~99 分鐘可預(yù)置的倒計時電路。
PIC16F84A 單片機(jī)④腳為手動復(fù)位端,外接R1、D0、C6、K0(微動開關(guān))組成復(fù)位電路;③腳RA4 外接上電阻R2 和倒計時人工預(yù)置開關(guān)K1 ;⒄腳RAO 外接R0、V3 和蜂鳴器,組成倒計時值達(dá)到(歸零)時的自動報警信號。電路中的兩位LED 數(shù)碼管和V1、V2 組成0~99 分鐘可預(yù)置LED 數(shù)碼顯示電路,其電路原理與2009 年第12 期《PIC 單片機(jī)C 語言程序(3)》一文中圖3 的起始兩位計數(shù)電路相似。
?。?2) 程序流程圖。
圖7、圖8、圖9 分別為0~99 分鐘可預(yù)置的倒計時程序的主程序、顯示函數(shù)和鍵值掃描程序流程圖。通過流程圖,讀者可以加深對于倒計時程序設(shè)計原理和對2010 年第2 期《PIC 單片機(jī)C 語言程序(5)》一文中可預(yù)置時鐘電路程序的理解。
圖7 倒計定時主程序流程圖
圖8 倒計時顯示函數(shù)流程圖
圖9 倒計時鍵值掃描流程圖
評論