作者 / 楊記華,浙江師范大學(xué)工學(xué)院、職業(yè)技術(shù)教育學(xué)院
?
精簡制作32×16點陣時鐘
作者 / 楊記華,浙江師范大學(xué)工學(xué)院、職業(yè)技術(shù)教育學(xué)院
本系統(tǒng)以增強型51單片機STC12C5A60S2為控制核心,選用美國達(dá)拉斯公司生產(chǎn)的DS1302實時時鐘芯片和DS18B20數(shù)字溫度傳感器制作了一個32×16點陣時鐘。該點陣時鐘通過較少的元器件實現(xiàn)了時間、溫度、年、月、日、星期和重要節(jié)日輪流滾動顯示功能,此外,用戶還可以通過背面的三個觸摸按鍵實現(xiàn)調(diào)時,同時系統(tǒng)還通過光敏電阻實現(xiàn)了感光功能。該系統(tǒng)制作完成后通過實物測試,獲得了良好的效果。
STC12C5A60S2; 32×16點陣;觸摸按鍵;光敏電阻
本系統(tǒng)選用了封裝為LQFP-48的增強型51單片機STC12C5A60S2,利用其自身的相關(guān)功能簡化了傳統(tǒng)的硬件電路設(shè)計,圖1為該點陣時鐘的系統(tǒng)框圖。在該制作中,通過軍工銅腳排母連接PCB與LED點陣屏,方便用戶取下點陣屏進(jìn)行修理,所有的元件都隱藏在PCB與LED點陣屏之間,外形美觀。制作中還增加了感光模塊,通過光敏電阻感知周圍環(huán)境的亮度,白天高亮正常顯示,夜間降低LED亮度,微亮顯示。
圖1 32×16點陣時鐘系統(tǒng)框圖
■2.1 系統(tǒng)硬件設(shè)計
(1)單片機最小應(yīng)用系統(tǒng)的構(gòu)建
由于STC12C5A60S2單片機內(nèi)部集成了MAX810專用復(fù)位電路,所以硬件設(shè)計時省去了復(fù)位電路模塊,簡化了電路。為了提高單片機反應(yīng)速度和點陣屏亮度,使在高亮度的時候不產(chǎn)生閃爍感,制作中選用了24MHz的晶振。圖2為單片機最小應(yīng)用系統(tǒng)。
(2)32×16點陣顯示屏模塊
32×16表示32列16行LED,由8塊MT15088BK 8×8紅色共陽點陣組成32×16點陣顯示屏,本點陣屏由單片機STC12C5A60S2直接驅(qū)動,省去了額外的驅(qū)動芯片,簡化了電路,直接驅(qū)動時,為了使LED亮度更高,需要把該單片機相應(yīng)的I/O口設(shè)置為強推挽輸出模式。要直接驅(qū)動32×16點陣顯示屏,至少需要48個I/O口,本系統(tǒng)巧妙設(shè)置STC12C5A60S2單片機I/O口的四種輸出模式,僅用32個I/O口就實現(xiàn)了驅(qū)動32×16點陣顯示屏,簡化了電路,點陣屏電路連接如圖3所示。
圖2 單片機最小應(yīng)用系統(tǒng)
(3)DS1302模塊
圖4為DS1302時鐘電路原理圖,該電路省去了SCLK(串行時鐘),I/O(數(shù)據(jù)線),RST(復(fù)位)三個引腳處的上拉電阻,把與單片機連接的三個I/O口設(shè)置為強推挽輸出模式,也能正確讀出DS1302內(nèi)的相關(guān)數(shù)據(jù),簡化了電路,若在讀取DS1302的相關(guān)數(shù)據(jù)時采用單片機的準(zhǔn)雙向口輸出模式,將引起DS1302的輸出不穩(wěn)定,我的實驗現(xiàn)象是:正確的數(shù)據(jù)和亂碼交替顯示。在選擇晶振兩端的電容時,我也下了一番功夫,從不接電容(斷開)到6pF、22pF、27pF,最后發(fā)現(xiàn)在27pF時時間誤差最小,我的實驗結(jié)果為每24小時慢4秒,在程序中補償了每天慢的4秒,提高了時鐘的精度。選用了CR1220紐扣電池作為備用電源,體積小,制作時把兩引腳折彎后表貼在PCB上,易于隱藏在PCB與點陣屏之間。
圖3 點陣顯示屏連接圖
圖4 DS1302時鐘電路原理圖
(4)DS18B20模塊
圖5為DS18B20溫度傳感器電路原理圖,制作中省去了DQ引腳處的上拉電阻,由于DS18B20沒有貼片元件,制作時需要把DS18B20橫著焊接在PCB與點陣屏之間,巧妙的把直插元件也隱藏了。
(5)感光模塊
圖6為感光模塊電路原理圖,G1為光敏電阻,由于STC12C5A60S2單片機有8路10位A/D轉(zhuǎn)換,所以只要光敏電阻的一端接在單片機的A/D轉(zhuǎn)換接口上,同時,將與單片機連接的I/O口設(shè)置為高阻輸出模式,單片機就可以通過A/D轉(zhuǎn)換器感知外界光線的變化引起的電平變化,從而控制LED的亮暗。
圖5 DS18B20溫度傳感器電路原理圖
(6)按鍵模塊
圖7為按鍵模塊原理圖,本系統(tǒng)的按鍵部分不再使用傳統(tǒng)的微動按鍵,而采用新型的觸摸按鍵,觸摸按鍵的實現(xiàn)原理較簡單,和感光模塊類似,主要是通過單片機的A/ D轉(zhuǎn)換器不斷讀取按鍵上電平的變化,從而判斷出有無感應(yīng)物,但要注意與單片機連接的I/O口必須設(shè)置為高阻輸出模式,否則將無法判斷出有無感應(yīng)物。三個觸摸按鍵的實質(zhì)就是三個焊盤,只是這三個焊盤的形狀和普通焊盤不一樣,需要在設(shè)計PCB的時候,根據(jù)自己需要繪制出不同外形的焊盤,我在繪制這三個異形焊盤時,參考了百度上《AltiumDesigner中創(chuàng)建異形焊盤方法》一篇教程,最終完成了設(shè)計。
圖6 感光模塊電路原理圖
(7)蜂鳴器模塊
本制作中選用了KLJ-9032 無源貼片蜂鳴器,體積小,聲音大,聲音頻率可控,但和有源蜂鳴器不同,有源蜂鳴器只要有電壓就響,無源蜂鳴器則須用一定頻率的方波才能驅(qū)動。圖8為蜂鳴器模塊原理圖。
(8)電源模塊
該系統(tǒng)采用Micro-USB接口供電,可以和手機共用5V充電器,而不需額外單獨制作系統(tǒng)的電源,簡化了硬件電路設(shè)計。制作中選用了4腳插板式Micro-USB母座,插板式具有比貼片式堅固、耐用的優(yōu)點。圖9為Micro-USB接口原理圖。
■2.2 制作
繪制原理圖和PCB時使用的軟件為Altium Design-er10.0,通過這次實踐,我對Altium Designer軟件的操作更加熟練了,特別是在繪制PCB時,我第一次嘗試了手動布線,當(dāng)然也結(jié)合了系統(tǒng)自帶的自動布線功能,以前總覺得手動布線是一件很麻煩的事情,當(dāng)最后完工,看著自己的勞動成果時,感覺很有成就感。在繪制PCB時,我設(shè)計了兩次才成功,第一次在做USB電源接口時,把電源的正極和負(fù)極設(shè)計反了,這樣做的后果是:實物上電后,單片機迅速發(fā)燙,若不及時拔掉電源線,就會燒壞單片機。
圖7 按鍵模塊原理圖
圖8 蜂鳴器模塊電路原理圖
圖9 Micro-USB接口原理圖
由于制作中選用的基本都是貼片元件,更重要的是選用了LQFP-48封裝的單片機,引腳間距特別小,需要具有一定的焊接能力。在焊接過程中,主要使用到的工具有電烙鐵、焊錫絲、松香、鑷子、吸錫帶、放大鏡。
設(shè)計時,在PCB上預(yù)留了一個下載程序用的接口,由于該系統(tǒng)省去了USB轉(zhuǎn)TTL模塊,所以在下載程序前還需要購買一條STC單片機專用下載線。
該系統(tǒng)的硬件電路已經(jīng)很簡化了,比傳統(tǒng)的點陣時鐘電路少了驅(qū)動芯片,I/O口擴(kuò)展芯片,上拉電阻等。硬件電路簡單了,要實現(xiàn)相同的功能,就意味著編寫的程序更復(fù)雜了,為了使點陣屏的每個LED亮度均勻,采用了逐點掃描的方式。
圖10為AD觸摸按鍵檢測程序,三個觸摸按鍵通過程序?qū)崿F(xiàn)了三級菜單觸摸設(shè)置,第一級菜單完成了調(diào)時功能,包括調(diào)整年、月、日、星期、時、分和秒;第二級菜單完成了調(diào)整亮度功能,實現(xiàn)了六級亮度可調(diào),實現(xiàn)原理比較簡單,由每個LED點亮的時間決定;第三級菜單完成了顯示模式功能,包括白天和夜間兩種模式,白天模式由時間、溫度、年月日和星期輪流滾動顯示,在時間和溫度輪流顯示時,加入了左移和右移動畫,使得不會產(chǎn)生“突然出來”的感覺,在滾動過程中,還增加了重要節(jié)日顯示功能,夜間模式只有時間的靜止顯示,且顯示亮度比白天較低,同時省去了溫度顯示和年月日滾動顯示功能,處于夜間模式時,只需按下S2鍵或S3鍵即可快速進(jìn)入白天顯示模式。當(dāng)用戶完成某項設(shè)置時,會有“完成”字樣在LED屏上滾動顯示,隨后進(jìn)入時間顯示的主界面,另外,同時按下S2鍵和S3鍵可以初始化ds1302,省去了每次都要下載程序才能初始化的麻煩。
在制作過程中,雖處處碰壁,感覺到處都是問題,但我沒放棄,“它山之石可以攻玉”,我?guī)е@些問題通過查閱相關(guān)書籍和利用網(wǎng)絡(luò)查漏補缺,功夫不負(fù)有心人,最后完成了制作,并實現(xiàn)了相關(guān)功能。
圖10 AD觸摸按鍵檢測程序
* [1]王淵峰.Altium Designer 10電路設(shè)計標(biāo)準(zhǔn)教程 [M].科學(xué)出版社,2012.
* [1]郭天祥.新概念51單片機C語言教程設(shè)計入門提高開發(fā)拓展全攻略[M].電子工業(yè)出版社,2009.
* [1]杜洋.愛上單片機[M]:第3版.人民郵電出版社,2014.
* [1]譚浩強.C語言程序設(shè)計[M]:第4版.清華大學(xué)出版社,2010.
* [1]柴田望洋.明解C語言[M].人民郵電出版社,2013.
* [1]BradleyL.Jones peter Aitken.21天學(xué)通C語言[M].人民郵電出版社,2012.