田旭*
?
點陣屏電子計時牌設(shè)計說明
田旭*
(河北省唐山市開灤第二中學(xué),河北唐山,063000)
電子計時牌是當(dāng)今很多商場、公司、企業(yè)和學(xué)校的必備顯示設(shè)備。具有廣泛的用途。本設(shè)計基于多層PCB疊加的方式來構(gòu)建電路,利用led點陣屏幕,實現(xiàn)時間日期、實時溫度、高考倒計時牌以及重大日期提醒等功能。同時,使用51單片機來驅(qū)動控制其特殊顯示效果,同時,科學(xué)設(shè)計電源使用壽命,可以固定使用,也可移動使用。
點陣屏;電子計時牌;設(shè)計
在步入高三的緊張學(xué)習(xí)生活后,我們的壓力越來越大,但不乏有些同學(xué)還沒有高三的學(xué)習(xí)節(jié)奏,有些同學(xué)甚至在一天天的浪費寶貴的時間,為此我想到用一個可以動態(tài)顯示高考倒計時的計時牌來提醒這部分同學(xué):“高考已經(jīng)臨近,別等失敗了再后悔”。
同時,前些日子天氣炎熱,看到某些同學(xué)因忘記攜帶輕薄的夏季校服而汗流浹背。干脆就添加一個功能來提醒同學(xué)們注重更新衣物,防止感冒中暑吧。
點陣屏電子計時牌要求使用點陣屏作為顯示屏幕,實現(xiàn)時間日期、實時溫度、高考倒計時牌以及重大日期提醒等功能。并使用51單片機來驅(qū)動顯示,屏幕顯示要有滾動、漸變等特效,并使用按鍵對本計時牌進(jìn)行設(shè)置。
點陣屏電子計時牌將采用多層PCB疊加的方式來構(gòu)建電路,使用專用的時鐘芯片來實現(xiàn)日期時間的計算,并且可以通過備用電源使得本計時牌可以實現(xiàn)掉電走時,根據(jù)時鐘芯片以及備用電源的有關(guān)數(shù)據(jù)計算,可以保持掉電走時長達(dá)20年之久。另外,設(shè)計光敏傳感器來對環(huán)境光進(jìn)行檢測,并使用單片機的脈寬調(diào)制(PWM)技術(shù)自動控制電子屏的亮度。
電子屏電子計時牌可能在未來加入天氣預(yù)報(通過數(shù)據(jù)網(wǎng)絡(luò)獲取信息)、音樂音譜等功能。
點陣屏電子計時牌的顯示屏將采用模塊式開發(fā),使用74HC595來驅(qū)動矩陣結(jié)構(gòu)的LED并使用單片機來產(chǎn)生串行信號。
LED采用行列掃描式的動態(tài)驅(qū)動方式。當(dāng)掃描速度超過50Hz時,人眼就會認(rèn)為LED是同時點亮的。
LED矩陣模塊是16*16像素的,需要通過74HC595的級聯(lián)設(shè)計來實現(xiàn)屏幕的拼接。
在LED矩陣模塊后有一層PCB板來實現(xiàn)模塊的拼接固定同時實現(xiàn)74HC595的級聯(lián)電路。
固定LED矩陣模塊用的PCB板后有另外一層驅(qū)動用的電路板,其上主要有單片機、時鐘芯片DS1302、備用電池、溫度傳感器、各芯片的最小系統(tǒng)以及電源電路等組成。
顯示部分采用模塊化開發(fā)方案,直接使用模塊進(jìn)行開發(fā),使用的模塊是16*16像素的,我把四塊模塊一字排開拼接。因為模塊是使用74HC595從行到列級聯(lián)下來的,所以只能是把四塊模塊依次行列交錯級聯(lián)下來。不過對整個系統(tǒng)的影響不大,只需要通過對程序的特殊處理就可以實現(xiàn)正常顯示。
圖1 電子顯示屏控制芯片
STC12C5A60S2單片機是增強型的8051單片機,比起其他的51系列單片機運行速度更快,更穩(wěn)定,并且內(nèi)部自帶上電復(fù)位功能,對于對掃描速度要求很高的點陣屏驅(qū)動來說是一個非常不錯的選擇。另外,這款單片機的功能很強大,可以直接實現(xiàn)ADC數(shù)模轉(zhuǎn)換和PWM脈寬調(diào)制而不額外添加其他外圍芯片。
單片機(MCU)的運行需要一個時鐘源來提供時鐘信號,由于設(shè)計要求時序精度很高,所以不能使用內(nèi)部RC振蕩器而采用外部無源時鐘。無源時鐘比起有源時鐘精度要差點,但是單片機只是用于對數(shù)據(jù)進(jìn)行處理以及時序的實現(xiàn),并不需要精確計時,因此使用無源時鐘來提供單片機的時鐘源綽綽有余。最終確定時鐘源為振蕩頻率12MHz的石英晶體振蕩器。
圖2 時鐘芯片示意圖
電子計時牌使用DS1302來提供精準(zhǔn)的日期時間數(shù)據(jù),為日期提醒以及天數(shù)倒計時提供計算參數(shù)。DS1302有自己的專用時鐘源,能產(chǎn)生精確的一秒鐘,以提供數(shù)據(jù)計算參數(shù)。DS1302使用串行數(shù)據(jù)協(xié)議,使用很少的幾個I/O口就可以實現(xiàn)通信,簡化了電路的連接。
圖3 溫度傳感器
溫度采集使用DS18B20單總線溫度傳感器,DS18B20可以提供9位溫度數(shù)據(jù),只需要一個I/O口就能實現(xiàn)數(shù)據(jù)通信。不過這款溫度傳感器對時序要求比較高,調(diào)試程序時可能會比較費時。
環(huán)境光檢測使用光敏電阻作為光敏原件來進(jìn)行光強信息與電信號的轉(zhuǎn)化。并且可以使用STC12C5A60S2單片機的ADC數(shù)模轉(zhuǎn)換功能將模擬信號轉(zhuǎn)化為單片機能接受的數(shù)字信號。通過以上圖示電路連接,就可以實現(xiàn)光敏電阻阻值的計算,從而轉(zhuǎn)換得到光強數(shù)據(jù)。
I = UADC0 / R2
UR1 = U總 - UADC0
R1 = UR1 × I
R1 = (U總 - UADC0)×(UADC0 / R2)
然后再根據(jù)光敏電阻的光強阻值線性關(guān)系就可以得到光強數(shù)據(jù)了。
屏幕亮度控制采用的是STC12C5A60S2單片機可編程計數(shù)陣列中的PWM脈寬調(diào)制輸出功能,將輸出接口與顯示部分的74HC595的E0輸出使能相連,可以方便的控制亮度而不必進(jìn)行移位及顯示頻率的控制。
STC12C5A60S2單片機內(nèi)部自帶EEPROM功能,可以實現(xiàn)數(shù)據(jù)的掉電存儲,而不必再外部添加AT24Cxx系列的I2C EEPROM芯片了。需要掉電存儲的數(shù)據(jù)主要有點陣屏電子計時牌的設(shè)置數(shù)據(jù)、智能提醒所用的文本數(shù)據(jù)、定時啟停以及鬧鐘的時間數(shù)據(jù)等。
點陣屏電子計時牌的計時可以實現(xiàn)鬧鐘功能,其工作單元為有源蜂鳴器,可以直接使用板上的5V電源進(jìn)行驅(qū)動。但是,由于單片機的I/O口的驅(qū)動能力有限,不足以驅(qū)動有源蜂鳴器。所以需要一個三極管放大電路來對蜂鳴器進(jìn)行控制。
電源部分采用7805穩(wěn)壓芯片將電源適配器提供的12V供電轉(zhuǎn)化為穩(wěn)定的5V電源,以提供整個點陣屏電子計時牌的電源。為防止電壓的抖動,應(yīng)在7805穩(wěn)壓芯片的輸入及輸出均使用220uf的濾波電容(電解電容)以及0.1uF的去耦電容(獨石電容)。此外,在整個點陣屏電子計時牌的功率驅(qū)動部分以及芯片的附近都應(yīng)該添加0.1uf去耦電容以增加電子電路的穩(wěn)定性。
點陣屏電子計時牌可以流動顯示實時日期時間以及當(dāng)前環(huán)境溫度,同時根據(jù)數(shù)據(jù)顯示合適的穿衣、補水等健康建議。
點陣屏電子計時牌的設(shè)計初衷是給正在拼搏的高三同學(xué)們一個精確的高考計天服務(wù),必然可以實現(xiàn)自動計算距高考的天數(shù),同時,不只是高考計天,該計時牌還可以自由實現(xiàn)某些重大日期時間的計天、計時等。
點陣屏電子計時牌可以設(shè)置實現(xiàn)在夜晚或指定的時間段(上課期間)關(guān)閉顯示以節(jié)約電能或避免因屏幕點亮引起的注意力轉(zhuǎn)移。
針對不同時間段環(huán)境亮度可能不同,導(dǎo)致屏幕顯示亮度可能不適合觀察(過亮刺眼,過暗無法看見)的問題,我設(shè)計了可以通過設(shè)置實現(xiàn)根據(jù)環(huán)境光自動調(diào)節(jié)屏幕亮度的功能,此功能與上一條不沖突。
因為要使用74HC595來驅(qū)動電子計時牌的顯示部分,所以需要對該芯片進(jìn)行串行輸入,在時鐘口高電平時更改數(shù)據(jù)口電平,而在時鐘口低電平時保持?jǐn)?shù)據(jù)口電平,等待芯片的讀取。發(fā)送的時候是先發(fā)高位再發(fā)低位。
void HC595SendData(unsigned int SendVal){
unsigned char i;
for(i = 0;i < 16;i++){
if((SendVal << i) & 0x8000) R1 = 1;
else R1 = 0;
CLK = 0;
CLK = 1;
}
}
在主程序的最內(nèi)層嵌套,是74HC595的輸入控制,先串行輸入八組行列數(shù)據(jù),再通過在三態(tài)鎖存口輸入一次低電平脈沖把數(shù)據(jù)從移位寄存器送到鎖存器中并加以顯示。
行數(shù)據(jù)是通過一個計次循環(huán)依次將0x0001(0000 0001)左移j次(j為循環(huán)次數(shù),從0開始)來實現(xiàn)的。
因為數(shù)據(jù)量對于8位的51單片機很大,只好把列數(shù)據(jù)(內(nèi)容數(shù)據(jù))存儲在單片機片外RAM存儲器中。數(shù)據(jù)是以線性表結(jié)構(gòu)存儲的,方便掃描程序以線性進(jìn)行讀取。
unsigned int xdata Output[256];
另外,為了流暢的實現(xiàn)屏幕的滾動效果,不能采用極為耗費單片機運算資源的依次移位的方法。我想到的方法是通過使用一個隨時間變化的變量k來控制所有地址的偏移,進(jìn)而使屏幕橫向滾動起來。
for(j = 0;j < 16;j++){
bite = 0x0001 << j;
HC595SendData(bite);
HC595SendData(~(Output[j+48+k])); HC595SendData(bite);
HC595SendData(~(Output[j+32+k]));
HC595SendData(bite);
HC595SendData(~(Output[j+16+k]));
HC595SendData(bite);
HC595SendData(~(Output[j+k]));
LAT = 0;
_nop_();
LAT = 1;
}
因為該單片機的片外存儲器有一定的記憶效應(yīng),數(shù)據(jù)會在掉電后有一部分不會消失,或者產(chǎn)生亂碼,或者存著上次關(guān)機時的胡亂的數(shù)據(jù)等。因此需要在主函數(shù)的 while(1)主循環(huán)之前,對存儲單元進(jìn)行全部填0處理,清除其中的亂碼等,以保證在開機時不會出現(xiàn)不可預(yù)知的錯誤。
for(h = 0;h < 16; h++){
for(i = 0;i < 16;i++){
Output[i+16*h] = 0x0000;
}
}
[1] 蔡亮. 微機控制的LED顯示屏[J]. 電子技術(shù), 1997, (03).
[2] 鄭康鋒, 王秀娟, 李康, 等. 一種實現(xiàn)異步顯示屏的新方法[J]. 山東電子, 2002, (04).
[3] 郭志友, 范廣涵, 孫慧卿. LED顯示屏亮度和顏色的調(diào)整方法[J]. 液晶與顯示, 2003, (04).
[4] 沈鴻星. 用可編程器件實現(xiàn)LED顯示屏的硬件掃描控制[J]. 襄樊學(xué)院學(xué)報, 2003, (05).
[5] 中國光協(xié)LED顯示屏分會常務(wù)理事擴大會會議紀(jì)要(節(jié)略)[J]. 現(xiàn)代顯示, 2003, (03).
[6] 嚴(yán)達(dá)林. 影響LED全彩屏顯示效果的有關(guān)參數(shù)[J]. 現(xiàn)代顯示, 2004, (02).
[7] 陸榮慶. LED顯示屏亮度測量方法及測量儀器[J]. 現(xiàn)代顯示, 2004, (02).
[8] 龔成瑩, 趙又新, 馬宏鋒. 基于FPGA的LED點陣書寫顯示屏的設(shè)計[J]. 自動化與儀器儀表, 2010, (03).
[9] LED顯示屏產(chǎn)業(yè)發(fā)展研討會會議紀(jì)要[J]. 現(xiàn)代顯示, 1998(01).
[10] 陳科, 孟文, 肖世德, 等. 基于ARM S3C44B0X的LED顯示屏設(shè)計[J]. 液晶與顯示, 2004, (06).
[11] 于金峰, 李士峰, 劉海波. LED顯示腳本模型設(shè)計[A]. 黑龍江省計算機學(xué)會2009年學(xué)術(shù)交流年會論文集[C], 2010.
[12] 王偉. 全彩LED顯示屏應(yīng)用[A]. 海峽兩岸第十屆照明科技與營銷研討會專題報告文集[C], 2003.
[13] 楊小琴. 大型LED顯示屏屏體局部散熱執(zhí)行機構(gòu)設(shè)計[A]. 先進(jìn)制造技術(shù)論壇暨第三屆制造業(yè)自動化與信息化技術(shù)交流會論文集[C], 2004.
[14] 江中鴻, 周錦. LED顯示屏系統(tǒng)及其在電視舞臺美術(shù)中的應(yīng)用[A]. 走近CIE 26th——中國照明學(xué)會(2005)學(xué)術(shù)年會論文集[C], 2005.
[15] 馮玉志, 崔玉亮. 基于Atmega8的多功能LED顯示系統(tǒng)設(shè)計[A]. 中國航空學(xué)會控制與應(yīng)用第十二屆學(xué)術(shù)年會論文集[C], 2006.
Dot Matrix Screen Electronic Timing Board Design Notes
TIAN Xu*
(Kailuan second middle school, Hebei, Tangshan City, Hebei Tangshan, 063000, China)
Electronic countdown is one of the many shopping malls, companies must display equipment. Businesses and schools have been widely used. The design of multilayer PCB stack based approach to building the circuit, the use of LED dot matrix screen, date and time, real-time temperature, countdown entrance and important date reminder functions. At the same time, the use of 51 single the driving control of a special display, at the same time, the scientific design of the service life of the power source, can be fixed, can also move.
Dot matrix screen; electronic timing board; design
田旭. 點陣屏電子計時牌設(shè)計說明[J]. 數(shù)碼設(shè)計, 2017, 6(5): 40-42.
TIAN Xu. Dot Matrix Screen Electronic Timing Board Design Notes[J]. Peak Data Science, 2017, 6(5): 40-42.
10.19551/j.cnki.issn1672-9129.2017.05.016
TG802
A
1672-9129(2017)05-0040-03
2017-02-15;
2017-03-09。
田旭(2000-),男,河北唐山,學(xué)生,高中,研究方向:電子制作,程序開發(fā)。E-mail: 1839156454@qq.com