劉宇超
(鐵嶺市人力資源和社會(huì)保障局,遼寧 鐵嶺 112000)
方案一:DS1302+數(shù)碼管
DS1302的使用非常方便,價(jià)格便宜且數(shù)碼管顯示也很清楚,特別是顯示時(shí)間很直觀。但DS1302是不自帶電池,雖然可以通過(guò)外接紐扣電池來(lái)達(dá)到斷電走時(shí)繼續(xù)的目的,但會(huì)帶來(lái)復(fù)雜。使用數(shù)碼管顯示,雖然價(jià)格也便宜,顯示效果好,但多位的數(shù)碼管在動(dòng)態(tài)掃描的時(shí)候會(huì)出現(xiàn)閃爍。如果少用幾位,用切換的方法查看日期,時(shí)間等信息又顯得麻煩。
方案二:DS12C887+1602LCD液晶屏
DS12C887時(shí)鐘芯片功能豐富價(jià)格適中,能夠自動(dòng)產(chǎn)生世紀(jì)、年、月、日、時(shí)、分、秒以及時(shí)間模式轉(zhuǎn)換等時(shí)間信息,芯片內(nèi)部增加了世紀(jì)存儲(chǔ)器,從而利用硬件電路解決了“千年”的問(wèn)題。DS12C887時(shí)鐘芯片中還自帶有鋰電池,單片機(jī)掉電后時(shí)鐘芯片內(nèi)部的時(shí)間信息可以保持十年之久。1602LCD液晶屏可以輸出2行,每行顯示16個(gè)字符。雖然 1602LCD液晶屏較昂貴,但是該液晶屏顯示清晰且不會(huì)閃爍,由于液晶屏是數(shù)字式的,因此和單片機(jī)系統(tǒng)的接口簡(jiǎn)單,操作方便。1602LCD液晶屏的功耗主要消耗在其內(nèi)部的電極和驅(qū)動(dòng)IC上,因而耗電量比其它顯示器要少得多,功耗較低。以上兩種元件的程序編寫簡(jiǎn)單,適用于多方面的應(yīng)用。
因此由以上方案進(jìn)行比較,文章選擇方案二來(lái)設(shè)計(jì)電子時(shí)鐘。以STC89C51為主控芯片,DS12C887為時(shí)鐘芯片,1602LCD液晶屏作為顯示器。程序控制DS12C887時(shí)鐘芯片實(shí)現(xiàn)小時(shí)、分、秒和年、月、日的計(jì)時(shí),并在1602LCD液晶屏上顯示出來(lái)。通過(guò)按鍵對(duì)12h/24h顯示模式切換。當(dāng)時(shí)間走到程序所設(shè)定的時(shí)間時(shí),蜂鳴器響起,起到鬧鈴功能。當(dāng)要顯示秒表計(jì)時(shí)時(shí),可以通過(guò)按鍵切換來(lái)實(shí)現(xiàn)。
(1)單片機(jī)最小系統(tǒng)設(shè)計(jì)。以STC89C51單片機(jī)為核心,選用12MHZ的晶振,由于晶振的頻率越高,單片機(jī)的運(yùn)行速度就越快,但考慮到單片機(jī)的運(yùn)行速度快會(huì)對(duì)存儲(chǔ)器的要求就會(huì)變高,因此12MHZ晶振為最佳選擇。外接電容的值雖然沒(méi)有嚴(yán)格的要求,但是外接電容的大小會(huì)影響振蕩器的頻率高低、振蕩器的穩(wěn)定性和起振的快速性,因此筆者選用 30pF的電容作為起振電容。復(fù)位電路為按鍵高電平復(fù)位,當(dāng)按鍵按下,RES端為高電平,當(dāng)高電平持續(xù)4us的時(shí)間就可以使單片機(jī)復(fù)位。
(2)電源供電電路設(shè)計(jì)。如圖1所示,采用外接USB端口的方式為單片機(jī)供電,LPOW1為電源顯示燈,當(dāng)按鍵S5按下,顯示燈亮,表示給單片機(jī)供+5V電壓。
圖1 電源供電
(3)串口通信電路設(shè)計(jì)。通過(guò)MAX232進(jìn)行TTL電平和232電平轉(zhuǎn)換,從而單片機(jī)和上位機(jī)之間通信提供通道。通信電路的目的就是讓通信雙發(fā)的電平匹配,單片機(jī)用的是 TTL電平,上位機(jī)的串口用的是232電平。TTL電平的邏輯1的電壓范圍是+3.3V~+5V,邏輯0的電壓范圍是0~+3.3V;232電平的邏輯1的電壓范圍是-15V~-5V,邏輯0的電壓范 圍是+5V~+15V。因此設(shè)計(jì)串口通信電路就是讓這兩種電平統(tǒng)一。
圖2 1602LCD液晶屏顯示電路
(4)LCD顯示電路設(shè)計(jì)。1602LCD液晶屏顯示電路如圖2所示:1602LCD液晶屏為5V電壓驅(qū)動(dòng),帶背光,可顯示兩行,每行16個(gè)字符,不能顯示漢字。液晶1,2端為電源;15,16為背光電源;為防止直接加5V而燒壞背光燈,在15腳串聯(lián)一個(gè)1k電阻用于限流。液晶3端為液晶對(duì)比度調(diào)節(jié)端,通過(guò)一個(gè)10k的變位器來(lái)調(diào)節(jié)液晶顯示對(duì)比度。液晶4端為向液晶控制器寫數(shù)據(jù)/寫命令選擇端,接單片機(jī)的P3.5口。液晶5端為讀/寫選擇端,因?yàn)椴粡囊壕е凶x取數(shù)據(jù),只向其寫入命令和顯示數(shù)據(jù),因此此端始終選擇為寫狀態(tài),即低電平接地。液晶6端為使能信號(hào),是操作時(shí)必須的信號(hào),接單片機(jī)的P3.4口。
(5)報(bào)警電路設(shè)計(jì)。蜂鳴器鬧鈴電路如圖3所示,蜂鳴器電路接在單片機(jī)的P2.3引腳上,當(dāng)給該引腳一個(gè)低電平,三極管導(dǎo)通,蜂鳴器發(fā)出聲音作為鬧鈴。
圖3 蜂鳴器鬧鈴電路圖
圖4 按鍵調(diào)整電路如圖
(6)鍵控電路設(shè)計(jì)。按鍵調(diào)整電路如圖4所示:四個(gè)獨(dú)立鍵盤均采用查詢方式,將按鍵的一端接地,另一端各接一根輸入線直接與STC89C51的I/O口相連,當(dāng)按鍵閉合時(shí),相當(dāng)于該I/O口通過(guò)按鍵與地相連,變成低電平,單片機(jī)通過(guò)檢測(cè)I/O口的電平狀態(tài),即可以識(shí)別出按下的鍵。通過(guò)四個(gè)按鍵實(shí)現(xiàn)各方式的切換,S2用于12h/24h的模式切換,S3用于秒表功能與時(shí)鐘功能間的切換,S4用于實(shí)現(xiàn)參數(shù)設(shè)置和調(diào)節(jié)功能。