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