在程序中,采用個位COUNT1和十位COUNT10兩個計數(shù)器變量。另外在每個LED點亮5次后,個位自動加1,然后判斷個位是否是10,如果不是,則點亮個位和十位LED,如果是,則在查看十位是不是9,如果是,則全部清0,如果不是,則十位加1,個位清0,然后繼續(xù)判斷,依次循環(huán)下去。本實例程序的流程如圖所示。
程序清單如下。
(1)C語言程序.
?、侔匾念^文件及定義程序屮需要的全局變量。
⑤顯示子程序。
⑥中斷服務子程序,通過定時器1的中斷對端口C進行操作。
⑦開中斷子程序。
⑧讀第1幀子程序。
⑨主程序。
(2)匯編程序如下。
①主程序。
完成變量與端口定義,程序初始化,查表與循環(huán)顯示。在顯示時一定要注意個位和十位不能同時點亮,在點亮個位或十位顯示后一定要有一個延時的過程,否則將看不到顯示的數(shù)據(jù)。
②查表程序TABLE1。
個位數(shù)的顯示用的是共陽極的LED。
③查表程序TABLE10開始。
典型應用及經(jīng)驗分享
LED的應用領域非常廣,包括通信、消費電子、汽車、照明、信號燈等,可大體分為背光源、照明、電子設備、顯丙、屏 汽車等5大領域。
LED己經(jīng)被廣泛應用于各種照明設備中,如電池供電的閃光燈、微型聲控燈、安全照明燈、室內(nèi)/室外道路和樓梯照明燈以及建筑物與標記連續(xù)照明燈,其封裝和器件適合儀表板、空調(diào)、收音機和電子開關和汽車內(nèi)部照明設備使用,還可以用于普通商業(yè)零售系統(tǒng)告知顧客收錢/找錢金額,以及紡織機械控制器。
下面是應用中的一些經(jīng)驗;
· 顯示時間,每行小于15ms;
· 在顯示的字比較多時,一定要注意發(fā)送子程序的代碼效率,因為發(fā)送是一個循環(huán),所以循環(huán)體內(nèi)的處理越怏越好。