張立萍
(赤峰學(xué)院 物理與電子信息工程系,內(nèi)蒙古 赤峰 024000)
★赤峰學(xué)院學(xué)人推介——張立萍
張立萍,女,1972年生人,碩士研究生學(xué)歷.赤峰學(xué)院物理與電子信息工程學(xué)院副教授.從事理論教學(xué)與實(shí)驗(yàn)教學(xué)工作,主講課程:數(shù)字電子技術(shù)及實(shí)驗(yàn)、模擬電子技術(shù)及實(shí)驗(yàn)、數(shù)字信號(hào)處理及實(shí)驗(yàn)、家電原理及實(shí)驗(yàn)、電工學(xué)及實(shí)驗(yàn)等.
近年來,發(fā)表學(xué)術(shù)論文二十余篇,其中SCI收錄2篇,發(fā)明實(shí)用新型專利2項(xiàng).現(xiàn)主持內(nèi)蒙古自治區(qū)高等學(xué)??茖W(xué)研究項(xiàng)目《智能型LED植物生長(zhǎng)燈關(guān)鍵技術(shù)研究》;參與內(nèi)蒙古自治區(qū)自然科學(xué)基金項(xiàng)目《無線傳感器網(wǎng)絡(luò)中防惡意節(jié)點(diǎn)的相關(guān)技術(shù)研究》.2015年在中國(guó)原子能出版社出版專著《模擬與數(shù)字電子電路原理及應(yīng)用研究》;2018年是校級(jí)創(chuàng)新教學(xué)團(tuán)隊(duì)《智能硬件教學(xué)團(tuán)隊(duì)》的主要成員.
為滿足大眾的審美需求,本文設(shè)計(jì)了一款既實(shí)用又美觀的LED花樣流水燈時(shí)鐘.這一款帶有心形花樣流水燈的時(shí)鐘在設(shè)計(jì)上充分考慮到需求者的心理,在設(shè)計(jì)時(shí)集成了多種功能,設(shè)計(jì)成品不死板,可以滿足大眾在選擇工藝品時(shí)的需求.
利用STC89C52RC單片機(jī)的P1.0~P1.2三個(gè)引腳控制74HC595實(shí)現(xiàn)LED花樣照明功能、用P2.0~P2.2三個(gè)引腳控制實(shí)時(shí)時(shí)鐘芯片DS1302實(shí)現(xiàn)電子時(shí)鐘的功能、用P0口、P2.3~P2.5十一個(gè)引腳控制點(diǎn)陣圖形液晶顯示模塊LCD12864實(shí)現(xiàn)在LCD12864 上顯示年、月、日、星期、時(shí)、分、秒、節(jié)日及附加功能.P1.3~P1.6四個(gè)引腳接四個(gè)按鍵K1~K4.其中K1控制LED花樣照明的閃爍模式,K2~K4調(diào)節(jié)時(shí)間、日期.總體方案的框圖如圖1所示.
圖1 總體方案框圖
圖2 單片機(jī)最小系統(tǒng)
能讓單片機(jī)在上電后正常工作所需要的最少器件組合而成的系統(tǒng)稱之為單片機(jī)最小系統(tǒng).單片機(jī)最小系統(tǒng)中最關(guān)鍵的部分是單片機(jī)、時(shí)鐘電路和復(fù)位電路.單片機(jī)最小系統(tǒng)如圖2所示.
(1)單片機(jī):本文采用了宏晶公司生產(chǎn)的STC89C52RC單片機(jī),因其價(jià)格低廉,功耗較低,可靠性高,無法解密等優(yōu)點(diǎn),已經(jīng)在電子設(shè)計(jì)行業(yè)被廣泛采用.STC89C52RC的工作電壓為直流5V,其內(nèi)部集成了 8位的 CPU、512B的 RAM、8KB的ROM、4個(gè)并行8線I/O端口、3類6個(gè)中斷源.單片機(jī)內(nèi)部基本組成如圖3所示.
圖3 單片機(jī)的內(nèi)部基本組成
(2)時(shí)鐘電路:?jiǎn)纹瑱C(jī)的第18和第19引腳間跨接一個(gè)晶體振蕩器(簡(jiǎn)稱晶振)來形成自激振蕩器,從而產(chǎn)生脈沖并送入單片機(jī)內(nèi)部時(shí)鐘電路.這樣就可以在單片機(jī)運(yùn)行過程中產(chǎn)生唯一的單片機(jī)時(shí)序.
(3)復(fù)位電路:?jiǎn)纹瑱C(jī)在上電運(yùn)行后單片機(jī)會(huì)處在一個(gè)不確定的初始狀態(tài),這時(shí)就需要一個(gè)外部電路來讓單片機(jī)回到一個(gè)確定的初始狀態(tài),并且從這個(gè)初始狀態(tài)開始工作.讓單片機(jī)從不確定的狀態(tài)回到初始狀態(tài)的過程稱為復(fù)位.
由于單片機(jī)的輸出端口有限,想要驅(qū)動(dòng)32個(gè)LED燈流水工作就會(huì)占用單片機(jī)全部的輸出端口,不切實(shí)際.因此就必須用外部電路進(jìn)行端口擴(kuò)展,以減少單片機(jī)端口的占用.用74HC595就可以只占用單片機(jī)的3個(gè)端口并實(shí)現(xiàn)8位輸出功能.本設(shè)計(jì)使用4個(gè)74HC595的級(jí)聯(lián)實(shí)現(xiàn)32位輸出.74HC595共有16個(gè)引腳,引腳連線圖如圖4所示,其中Q1~Q7為并行輸出端,Q7'為串行數(shù)據(jù)輸出端為復(fù)位端,SHcp為8位存儲(chǔ)寄存器的時(shí)鐘信號(hào),STcp為8位移位寄存器的時(shí)鐘信號(hào),CE為使能端,Ds為串行輸入端,Q0為并行輸出端.其功能表如表1所示.
圖4 74HC595引腳連線圖
表1 74HC595功能表
LCD12864是一塊圖形點(diǎn)陣液晶顯示模塊,有128個(gè)列點(diǎn)×64個(gè)行點(diǎn).顯示時(shí)每個(gè)英文字母占16個(gè)行點(diǎn)8個(gè)列點(diǎn),每個(gè)漢字占16個(gè)行點(diǎn)16個(gè)列點(diǎn).LCD12864在本設(shè)計(jì)中用來顯示輸出.其中第一行顯示重要節(jié)日,第二行顯示年、月、日,第三行顯示時(shí)、分、秒、星期,第四行顯示一句名言.LCD12864共有20個(gè)引腳,引腳連線圖如圖5所示,其中V0為L(zhǎng)CD驅(qū)動(dòng)電壓輸入端,RS為并行的指令/數(shù)據(jù)選擇信號(hào)(低電平寫指令,高電平寫數(shù)據(jù)),R/W是并行的讀寫選擇信號(hào)(低電平是寫,高電平是讀),E為并行的使能信號(hào),DB0~DB7為并行數(shù)據(jù)輸入端,PSB為并/串行接口(高電平是并行,低電平是串行),RST為復(fù)位端,VOUT為負(fù)壓輸出端.
圖5 LCD12864引腳連線圖
DS1302是DALLAS公司生產(chǎn)的一款帶涓流充電的計(jì)時(shí)芯片.可以計(jì)算年、月、日、時(shí)、分、秒、星期,直到2100年,并有閏年調(diào)節(jié)功能.DS1302的VCC2和GND引腳接電源正極和負(fù)極,當(dāng)外部電源停止工作后DS1302的8引腳VCC1的備用電源會(huì)繼續(xù)給DS1302供電,這就解決了掉電后數(shù)據(jù)會(huì)丟失的困擾,這也是DS1302的優(yōu)點(diǎn)之一.DS1302使用的是簡(jiǎn)單的3線串行接口,接口容易,并且與單片機(jī)連線通信時(shí)占用單片機(jī)的端口少,可節(jié)省單片機(jī)有限的輸入輸出端口.DS1302共有8個(gè)引腳,引腳連線圖如圖6所示,其中RST為使能信號(hào),SCLK為串行時(shí)鐘信號(hào).
圖6 DS1302引腳連線圖
按鍵是單獨(dú)的一個(gè)按鈕,按鈕的一端接電源或地,按下按鈕后實(shí)現(xiàn)按鈕兩端電位相同的功能.本設(shè)計(jì)采用的是一端接地的獨(dú)立式鍵盤,共4個(gè)按鍵分別接在P1.3~P1.6引腳,每個(gè)按鍵實(shí)現(xiàn)不同的功能.其中按鍵1實(shí)現(xiàn)每按一下按鍵LED照明變化一個(gè)模式的功能,按鍵2,3,4實(shí)現(xiàn)調(diào)節(jié)時(shí)間、日期的功能.
圖7 按鍵抖動(dòng)波形
本設(shè)計(jì)所用的按鍵開關(guān)為機(jī)械彈性開關(guān).機(jī)械彈性按鍵開關(guān)在按下或松開時(shí)會(huì)有抖動(dòng),如圖7所示,抖動(dòng)持續(xù)的時(shí)間非常短,一般只有5~10ms的時(shí)間,雖然這個(gè)時(shí)間非常短,卻不可忽視.這就要求用有效的方法來消除這個(gè)電位忽高忽低的抖動(dòng)過程.我們可以通過編程時(shí)延時(shí)一段時(shí)間的方法來消除抖動(dòng).具體做法就是在按鍵按下后不是立即檢測(cè)按鍵的電位,而是讓單片機(jī)延時(shí)5~10ms的時(shí)間后再去檢測(cè)按鍵的電位,如果5~10ms后按鍵的電位仍為0(按鍵另一端接地)則證明按鍵已經(jīng)確實(shí)按下,反之則沒有按下.
在單片機(jī)上電工作后,LED花樣流水燈一開始不工作,在按下K1鍵后LED花樣流水燈開始工作,此時(shí)LED花樣流水燈按模式一閃爍.如果不繼續(xù)按K1,LED花樣流水燈會(huì)一直按模式一閃爍.當(dāng)再一次按下K1后,LED花樣流水燈按模式二閃爍.如果不繼續(xù)按K1,LED花樣流水燈會(huì)一直按模式二閃爍.再按下K1后會(huì)按模式三閃爍……一共有六種閃爍方式.其中第六種模式為全亮模式,在全亮模式后再按一次按鍵后進(jìn)入全滅模式(即關(guān)閉模式).進(jìn)入關(guān)閉模式后再次按下K1又會(huì)按模式一閃爍,以此循環(huán).
其中六種模式分別為:
模式一:LED燈從下往上依次點(diǎn)亮.
圖8 LED流水燈工作流程圖
圖9 按鍵調(diào)時(shí)工作流程圖
模式二:LED燈從上往下依次點(diǎn)亮.
模式三:LED燈從第一個(gè)開始依次點(diǎn)亮.
模式四:LED燈從最后一個(gè)開始依次熄滅.
模式五:LED燈從下往上依次交替點(diǎn)亮.
模式六:LED燈全亮.
K2~K4實(shí)現(xiàn)調(diào)節(jié)時(shí)間的功能.K2按下后實(shí)現(xiàn)調(diào)節(jié)時(shí)間、日期的功能,按第一下實(shí)現(xiàn)調(diào)小時(shí)功能,按第二下實(shí)現(xiàn)調(diào)分鐘功能,按第三下實(shí)現(xiàn)調(diào)秒功能,按第四下實(shí)現(xiàn)調(diào)年功能,按第五下實(shí)現(xiàn)調(diào)月功能,按第六下實(shí)現(xiàn)調(diào)日功能,按第七下實(shí)現(xiàn)調(diào)星期功能,按第八下時(shí)鐘恢復(fù)工作,再按一下又實(shí)現(xiàn)調(diào)小時(shí)功能……如此反復(fù).K3實(shí)現(xiàn)調(diào)節(jié)時(shí)間/日期時(shí)的加1功能,即每按一次對(duì)應(yīng)調(diào)節(jié)的時(shí)間/日期加1.K4實(shí)現(xiàn)調(diào)節(jié)時(shí)間/日期時(shí)的減1功能,即每按一次對(duì)應(yīng)調(diào)節(jié)的時(shí)間/日期減1.
電路焊接完成后,在調(diào)試的過程中遇到了以下兩個(gè)問題:
問題一:流水燈工作時(shí),本不該亮的LED燈在其他LED燈亮滅變化的瞬間會(huì)有短暫的閃爍,而且是所有的不該亮的LED燈都閃爍.
問題二:當(dāng)只有一個(gè)LED燈亮?xí)r,LCD12864的屏幕亮度正常;當(dāng)LED燈亮的個(gè)數(shù)越來越多時(shí)LCD12864的亮度會(huì)越來越暗;當(dāng)LED燈全亮?xí)r,LCD12864的亮度最暗;當(dāng)LED燈都滅時(shí)或只有少數(shù)幾個(gè)LED亮?xí)r,LCD12864的亮度恢復(fù)正常.
導(dǎo)致LED燈瞬間閃爍的原因是有浪涌電流,在LED燈和限流電阻串聯(lián)后的兩端并聯(lián)一個(gè)電容起到濾波和增加抗干擾的功能.在并聯(lián)電容后完美解決了LED燈的瞬間閃爍問題.LED燈全亮?xí)rLCD12864屏幕變暗的原因是電流不夠,因?yàn)檎{(diào)試時(shí)用的是電腦上的USB口提供的電源,而電腦的USB口輸出電流有限導(dǎo)致LED燈全亮?xí)r,沒有足夠大的電流來驅(qū)動(dòng)LCD12864.
首先經(jīng)過構(gòu)思選定方案,把一個(gè)整體的設(shè)計(jì)進(jìn)行模塊化拆分,各個(gè)模塊都設(shè)計(jì)好之后再進(jìn)行整合得到最終的設(shè)計(jì)成果最終設(shè)計(jì)的原理圖見附圖1.