趙海雁,閆 強
(1.中北大學計算機控制工程學院,山西 太原 030051;2.國網(wǎng)平遙縣供電公司,山西 晉中 031100)
基于單片機多功能的電子鐘系統(tǒng)設(shè)計
趙海雁1,閆 強2
(1.中北大學計算機控制工程學院,山西 太原 030051;2.國網(wǎng)平遙縣供電公司,山西 晉中 031100)
本文設(shè)計基于單片機多功能的電子鐘,具有外形美觀、顯示全面的LCD1.44寸彩屏。彩屏顯示年、月、日、秒、分鐘、小時、星期、溫度、濕度。同時還可對數(shù)字鐘進行近地按鍵和遠程遙控設(shè)置及鬧鐘設(shè)置。通過GPS信號,計時準確,還可以用紅外遙控器進行GPS校時。此設(shè)計還增加了語音整點報時功能。
單片機;多功能;電子鐘;GPS校時;彩屏顯示
電子鐘表與人們?nèi)粘I睢⒐ぷ髋c學習密不可分。但大多數(shù)時鐘只能近距離按鍵調(diào)試,不容易遠距離調(diào)時,且功能單一,不能顯示室內(nèi)濕度信息,沒有鬧鐘功能。即便市場上有自動校正的時鐘,但多為電波鐘,電波信號比較薄弱,白天難以接收到電波信號。為了使鐘表調(diào)試簡單方便,功能多,價格低、人性化、適用更多領(lǐng)域,本文設(shè)計一款帶有無線遙控多功能的基于單片機的數(shù)字電子鐘系統(tǒng)。
本文設(shè)計的多功能電子鐘表功能是:1) 具有LCD1.44寸彩屏顯示,外形美觀、顯示全面、直觀;可顯示年、月、日、秒、分鐘、小時、星期、溫度、濕度。2) 通過GPS信號,計時準確,每年的時間誤差小于三分鐘。3) 可對數(shù)字鐘進行近地按鍵和遠程遙控設(shè)置及鬧鐘設(shè)置,也可以用紅外遙控器進行一鍵GPS校時,與一鍵對秒功能設(shè)置。內(nèi)置可充電3 V電池,短時斷電后能繼續(xù)保持時間的正常運行,來電后恢復顯示。
本次設(shè)計總框圖如圖1所示,包括單片機控制模塊、近地按鍵控制模塊、遠地紅外控制模塊、DS1302計時芯片模塊、DHT11溫濕度采集模塊、GPS接收精準時間模塊、語音播放模塊及彩屏TFT1.44顯示模塊。
圖1 硬件系統(tǒng)原理圖
各模塊功能如下:
1) 主控模塊采用STC12C5A60S2增強型8051系列單片機[1],它具有存儲容量大、速度快等特性,并具有處理解決多功能系統(tǒng)的運行控制的多個串口;在同樣晶振的情況下,STC12C5A60S2增強型51單片機的速度是普通51系列單片機的8~12倍,對于用1.44寸彩屏顯示,則需要高速傳達128*128像素信息。由于本系統(tǒng)具有多功能特點,需要大容量程序存儲空間來運行紅外傳輸協(xié)議、DHT11傳輸協(xié)議、GPS 的NMEA定位信息傳輸協(xié)議、彩屏大量像素信息以及產(chǎn)生大量的變量信息,而STC12C5A60S2增強型51單片機的RAM是1280字節(jié)遠比普通51系列單片機512字節(jié)的RAM高的多。同時為了減小空間占用,采用LQFP-44封裝[2]。
2) LCD1.44寸彩屏[3]顯示模塊采用驅(qū)動為ST7735S顯示芯片的Z144SN005產(chǎn)品型號,模塊通過通訊接口為SPI與單片機相聯(lián)。它具有128*128像素點高、體積小、播放動態(tài)畫面的清晰度強,具有較高的對比度、較高的色彩飽和度。同時它不會因電流消失而畫面消失,具有一定的畫面記憶功能。用LCD1.44寸彩屏顯示難點是無字庫,本設(shè)計通過像素點繪制文字數(shù)字以及圖片符號來創(chuàng)造字庫。
3) GPS模塊采用的是瑞士U-BLOX芯片NEO-6M型號。模塊體積小巧(16×12.2×2.4 mm)、信號定位精準、低功耗和低成本、易于修改波特率,以適應單片機晶振要求。它是通過GPS衛(wèi)星獲取標準的時間信號[4],即為UTC+8(經(jīng)線為0的UTC時間,比北京時間要晚8個小時),將這些標準時間信息通過串口直接傳輸給STC12C5A60S2單片機,從而通過LCD1.44寸彩屏顯示,這樣就可以達到時間同步。
4) 紅外模塊采用自帶的遙控器的μPD6122 芯片,通過紅外發(fā)射管依據(jù)NEC傳輸格式發(fā)射紅外編碼ICs信號,通過μPD6122電路解碼,以及單片機采集捕獲解碼外部溢出中斷信息后便進行遠程時間設(shè)定及鬧鐘設(shè)定[5]。
5) DHT11是數(shù)字溫濕度傳感器[6],通過I/O口及串行數(shù)據(jù)單總線接口與單片機輸入/輸出引腳相聯(lián),按照高位先出低位后出共40位完整數(shù)據(jù)的數(shù)據(jù)格式規(guī)則:8位濕度整數(shù)數(shù)據(jù)、8位濕度小數(shù)數(shù)據(jù)、8位溫度整數(shù)數(shù)據(jù)、8位溫度小數(shù)數(shù)據(jù)和8位校驗和數(shù)據(jù)(校驗和為前4字節(jié)數(shù)據(jù)相加的低八位),把這些采集的數(shù)字量信號,傳輸?shù)絾纹瑱C進行控制以便在彩屏顯示。
6) DS1302計時芯片采用雙電源供電的SPI三線接口通信(SCLK串行時鐘,I/O雙向數(shù)據(jù)線,RST輸入信號輸入)。具有年、月、日、時、分、秒和星期寄存器,月份天數(shù)可以自動識別校準,并具有閏年補償功能[7]。
7) 語音IC模塊采用SC080的語音芯片,其原理是把要報的萬年歷IC語音,分成32段,把每段編號(即地址),通過3個I/O(地址,內(nèi)容,判斷是否busy)單片機接口,根據(jù)需要進行任意組合輸出語音,通過功放驅(qū)動,驅(qū)動揚聲器發(fā)出聲音[8]。
8) 鬧鈴語音模塊通過單片機控制驅(qū)動產(chǎn)生鬧鈴語音模塊鬧鈴,鬧鈴聲可自定義歌曲燒錄進去。
9) 近地按鍵控制模塊是用于近地設(shè)置,當紅外沒電時可容易調(diào)時。
2.1 主程序的設(shè)計(如圖2)
圖2 主程序流程框圖
首先進行初始化:串口、外部中斷、定時器0、時鐘芯片、并清屏。然后對當前內(nèi)容進行判斷是否一鍵校時,判斷是否為整點(一個正點報時一次),再判斷是否開啟鬧鐘,如看是否有紅外中斷(外部中斷0),如有則接收,然后對應按鍵進行紅外工作處理。如沒有開啟鬧鐘,則顯示當前的時間,如沒有檢測到紅外信號則返回到當前狀態(tài)。
2.2 1.44液晶彩屏控制實現(xiàn)[9]
此模塊難點是屏幕為無字庫,需要用字模軟件進行繪制。繪制的方法是:首先通過字模軟件用1位選定像素點(橫縱坐標),再在這個區(qū)域內(nèi)依次在像素點上填充顏色。每一個像素點用2字節(jié)16位填充顏色,格式是(GGGGGRRRRRRBBBBB),G綠色十六進制代碼為0x07e0,R紅色十六進制為0xf800,B藍色十六進制為0x001f。根據(jù)字庫的要求用8*16像素點繪制每個數(shù)字、字母,用16*16像素繪制每個文字點。每個字在屏幕傳輸?shù)念伾珵?28*128*16位,即32 k數(shù)據(jù)[10]。
2.3 紅外遙控器實現(xiàn)
當紅外遙控器發(fā)射出的信號,通過紅外接收頭,將接收信號解碼后通過單片機讀取,通過識別不同的按鍵,單片機隨即控制相應的程序。
具體流程如下,當紅外發(fā)射器按鍵發(fā)送命令,紅外接收頭接收到信息,并向外部中斷0發(fā)送下降沿低電平,然后由定時器0進行的計時,每個脈沖長度是根據(jù)NEC協(xié)議規(guī)定時間長度,當計時到超出脈沖長度規(guī)定時間就溢出中斷,單片機從而采集數(shù)據(jù)。根據(jù)NEC協(xié)議,每次發(fā)送4個字節(jié)數(shù)據(jù),當檢測到按鍵碼為第三個字節(jié)的數(shù)據(jù)時,通過判斷脈沖長度,來邏輯判斷按鍵碼是0(560 us低電平,560 us高電平)還是邏輯1(560 us低電平,1 690 us高電平)從而執(zhí)行相應程序[11]。
2.4 GPS控制程序[12]
GPS校時模塊[13]是通過串口通信讀取信息,波特率為9600是由計數(shù)器T1方式2生成的。當SBUF接收到的字符為’$’時,開始將數(shù)據(jù)寫到SBUF中,當SBUF接收到的字符為’*’時,開始數(shù)據(jù)處理。定位信息$GPRMC規(guī)定了標準的時間信息,通過此信息整理得到標準UTC時間(經(jīng)線為0的時間),并將UTC時間+8小時為北京時間。如果UTC時間大于16時,需要將日期也加1天,所以此程序還需判斷年份是否閏年,以確定二月份有多少天。GPS校時程序框圖如圖3所示。
圖3 GPS處理程序框圖
2.5 其他模塊程序
DHT11溫濕度采集難點在于時序控制,可通過單片機1T工作方式下進行軟件延時,不能用軟件仿真,只能通過硬件去調(diào)試(使用匯編語言可以方便地解決此問題)。
DS1302采用SPI通信,在設(shè)置時間時,先發(fā)送命令讓時鐘停止,再發(fā)送設(shè)置的時間到相應的寄存器中,發(fā)送完畢再讓時鐘繼續(xù)。
本多功能的電子鐘的設(shè)計,因功能多樣,在調(diào)試時有一定的難度。使用GPS時間信息校正時,可自動校時,同時還設(shè)置一鍵對秒功能,可方便簡單校時。采用DHT11溫濕度傳感器可方便讀取室內(nèi)溫濕度。采用彩屏可顯示多種信息。通過采用萬年歷IC語音可更人性化整點報時。鬧鈴采用自定義歌曲,根據(jù)用戶喜好可自由定制。硬件焊接時均為貼片式封裝,引腳間隙為0.26 mm,需用烙鐵精細焊接。
[1] STC12C5A60S2系列1T單片機簡介[DB/OL].[2016-12-09].http://www.21ic.com/jichuzhishi/datasheet/STC12C5A60S2/
[2] 韓彩霞.51單片機中并行I/O口的使用[J].電腦與電信,2013(4):32-34.
[3] 李鋼,王飛.STM32直接驅(qū)動RGB接口的TFT數(shù)字彩屏設(shè)計[J].單片機與嵌入式系統(tǒng)應用,2011(8):27-29.
[4] 趙燕,李煒.基于STC單片機的GPS定位顯示系統(tǒng)設(shè)計[J].南京工業(yè)職業(yè)技術(shù)學院學報,2014(4):65-68.
[5] 武漫漫.紅外遙控多通道開關(guān)系統(tǒng)的設(shè)計與實現(xiàn)[D].鄭州:鄭州大學,2013.
[6] 倪天龍.單總線傳感器DHT11在溫濕度測控中的應用[J].單片機與嵌入式系統(tǒng)應用,2010(6):32-36.
[7] DS1302中文資料[DB/OL].[2016-12-09].http://www.21ic.com/jichuzhishi/datasheet/DS1302/data/185858.html.
[8] 深圳速佑科技有限公司.供應用于元件的ic單片機語音播報模塊[N].科技報,2009-12-7(2).
[9] 杜德銀.七段譯碼電路工作原理分析[J].科技信息,2011(16):32-38.
[10] 黃志剛,趙之赫.通用型1602LCD自定義字符的顯示[J].電子世界,2013(22):22-26.
[11] 劉舒.電波鐘表專用接收系統(tǒng)的設(shè)計[D].哈爾濱:哈爾濱工業(yè)大學,2011.
[12] 彭嘯虎.GPS授時共視算法的研究及實現(xiàn)[D].重慶:重慶郵電大學,2013.
[13] 吳歡.便攜式GPS校時系統(tǒng)的分析與設(shè)計[D].南昌:南昌大學,2012.
System Design of Electronic Clock Based on Multi-functional Single Chip Microcomputer
Zhao Haiyan, Yan Qiang
(1.ComputerScienceandControlEngineering,NorthUniversityofChina,TaiyuanShanxi030051,China; 2.StateGridPingyaoPowerSupplyCompany,JingzhongShanxi031100,China)
The paper makes a design of electronic clock with multi functions, which has a 1.44 inches colorful LCD screen of good looking and full display. The screen can display the year, month, date, second, minute, hour, week, temperature and humidity. At the same time, it also can make setting of near ground key and remote control for digital clock and the setting of alarm clock. The clock makes an accurate time with GPS signal and can make a GPS adjusting with infrared remote controller. Otherwise, the design increases the function of chiming every hour with voice.
single chip microcomputer; multifunction; electronic clock; GPS adjusting time; color screen display
2017-01-18
趙海雁(1962- ),女,浙江嵊縣人,副教授,碩士研究生,研究方向:計算機應用技術(shù)的網(wǎng)絡(luò)安全。
1674- 4578(2017)01- 0058- 04
TP 273
A