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