本文介紹的LED點(diǎn)陣顯示器,可用于顯示安全天數(shù)、時(shí)間、溫度等參數(shù)。本文程序的編寫(xiě)。采用實(shí)時(shí)操作系統(tǒng)RTOS完成。現(xiàn)介紹如下。
一、硬件組成及工作原理
(1)CPU控制板:原理見(jiàn)圖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顯示板:原理見(jiàn)圖2,由16塊8x8LED點(diǎn)陣拼合而成,可同時(shí)顯示4個(gè)漢字。8片74HC595完成顯示屏的列驅(qū)動(dòng)。兩塊電路板之間用 40芯的排線連接。在CPU的內(nèi)部RAM開(kāi)辟一塊顯示緩存區(qū).CPU控制板讀取flash內(nèi)部的漢字點(diǎn)陣編碼,寫(xiě)入到顯示緩存區(qū)。然后讀取顯存中第一行數(shù) 據(jù),通過(guò)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í)間讀寫(xiě)、溫度采集、LED掃描顯示、日期天數(shù)調(diào)整和被調(diào)參數(shù)閃爍等五個(gè)任務(wù)。其次確定任務(wù)的優(yōu)先級(jí),時(shí)間 讀寫(xiě)、溫度采集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)圖
編寫(xiě)采用了RTOS定時(shí)操作系統(tǒng),該程序與一般的前后臺(tái)程序的主要不同是每個(gè)任務(wù)(即子程序)都工作在一個(gè)無(wú)限循環(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)原理圖