本文介紹的LED點陣顯示器,可用于顯示安全天數(shù)、時間、溫度等參數(shù)。本文程序的編寫。采用實時操作系統(tǒng)RTOS完成。現(xiàn)介紹如下。
一、硬件組成及工作原理
(1)CPU控制板:原理見圖1。以ATmega16為核心。擴展一片4-16譯碼器CD4514,驅(qū)動ULN2003完成LED的行掃描。實時時鐘由DS1302及3.6V充電電池組成。掉電時時鐘仍能工作。J3是ISP程序下載接口,J4是程序調(diào)試接口,J8是外接調(diào)整按鈕,不用遙控器也能手動調(diào)整參數(shù)。J5是一體化紅外線接收頭。ATmega16具有硬件的ISP接口,可直接驅(qū)動串行移位芯片74HC595。
(2)LED顯示板:原理見圖2,由16塊8x8LED點陣拼合而成,可同時顯示4個漢字。8片74HC595完成顯示屏的列驅(qū)動。兩塊電路板之間用40芯的排線連接。在CPU的內(nèi)部RAM開辟一塊顯示緩存區(qū).CPU控制板讀取flash內(nèi)部的漢字點陣編碼,寫入到顯示緩存區(qū)。然后讀取顯存中第一行數(shù)據(jù),通過ISP接口驅(qū)動74HC595,將串行數(shù)據(jù)轉(zhuǎn)為并行,然后將接通對應的行,顯示1ms后,取下一行的數(shù)據(jù),同樣顯示1ms,直到第16行,完成一次掃描。再把顯存中的數(shù)據(jù)整體左移一位,再掃描一遍。如此把全部的漢字依次移人顯存并顯示,便實現(xiàn)了漢字從右向左移,全部漢字移完后對時間、溫度和安全天數(shù)的寄存器刷新一次。
二、程序的基本結(jié)構(gòu)
首先.根據(jù)功能上的獨立性劃分任務.分為:時間讀寫、溫度采集、LED掃描顯示、日期天數(shù)調(diào)整和被調(diào)參數(shù)閃爍等五個任務。其次確定任務的優(yōu)先級,時間讀寫、溫度采集8級,日期天數(shù)調(diào)整和被調(diào)參數(shù)閃爍5級,LED掃描顯示3級.任務的優(yōu)先級還可以在程序運行中動態(tài)的改變。主程序如下:
編寫采用了RTOS定時操作系統(tǒng),該程序與一般的前后臺程序的主要不同是每個任務(即子程序)都工作在一個無限循環(huán)中,用戶只要做好任務的一些初始化工作。至于什么時候運行什么任務這個煩瑣事情交給系統(tǒng)去做就可以了,使CPU的利用率最高。
三、使用方法
遙控器用的是成品電視機遙控器,按電源鍵,顯示“調(diào)年××××”同時被調(diào)整的位閃爍,按音量“+”相應的位向上加,加到9后,回到0。按頻道“+”,則改變被調(diào)整的位。
同時對應的位閃爍。
再次按電源鍵,依次顯示“調(diào)月××”.“調(diào)日××”,“星期××”,“調(diào)時××”,“調(diào)分××”.“調(diào)天××××”,結(jié)束。
評論