簡訊
(武漢貝斯特通信集團股份有限公司,湖北 武漢 430024)
黃金平
(長江大學電子信息學院,湖北 荊州 434023)
?
基于STC12C5A60S2的電子鐘硬件設計
簡訊
(武漢貝斯特通信集團股份有限公司,湖北 武漢 430024)
黃金平
(長江大學電子信息學院,湖北 荊州 434023)
[摘要]提出了一種基于單片機的電子鐘硬件設計方法。硬件電路以STC12C5A60S2單片機為主控電路,輔之以DS1302時鐘電路、DS18b20溫度采集電路、LCD12864顯示電路、按鍵設置電路。該電子鐘能實時顯示星期、時間、日期、溫度以及周數、學期、季節、通知和鬧鈴等信息,且具有時間和日期的校準功能,通過按鍵設置的鬧鈴會在指定的時間響起。系統采用LCD12864顯示數據,使得操作人性化、顯示效果直觀化。
[關鍵詞]STC12C5A60S2單片機; LCD12864;Proteus;電子鐘;硬件設計
數字集成技術的發展和石英晶體振蕩器的應用,使得數字電子鐘的精度遠遠超過普通鐘表, 且大大地擴展了普通鐘表功能。諸如定時自動報警、準時自動打鈴、時間程序自動控制、定時廣播、自動起閉路燈、定時開關烘箱、通斷動力設備、甚至各種定時電氣的自動啟用等,都是以鐘表數字化為基礎的。因此,數字電子鐘設計及功能擴展實踐研究有著極高的實際應用前景[1]。下面,筆者提出了一種能實時顯示星期、時間、日期、溫度以及周數、學期、季節、通知和鬧鈴等信息,且具有時間和日期的校準功能的電子鐘的硬件設計方法。
1電子鐘硬件設計框圖
電子鐘硬件設計以單片機STC12C5A60S2為控制核心,以DS1302作為時鐘芯片,通過串口通信進行時間信息的校準,以DS18b20作為溫度采集芯片,通過P2口中的一些端口控制LCD12864進行時間和溫度等相關信息的顯示。通過按鍵設置鬧鈴信息,到時蜂鳴器響起,同時通過按鍵還可進行不同顯示界面的相互轉換。其重點在于時間顯示、溫度采集電路、控制電路以及鬧鈴模塊的設計。
時間顯示與控制電路主要實現年、月、日、時、分、秒、星期、周數、學期和季節的顯示與控制,并具有校準功能。
控制電路部分須考慮具體設計實際,采用多個(至少5個)獨立按鍵。其中一個專用按鍵來進行不同顯示界面的相互轉換;一個專用按鍵來進行不同鬧鈴信息的選擇;一個按鍵來進行移位選擇,并在設計程序時使其移位到需要調節的數據時數據進行閃爍;其余的按鍵用以實現數據的加減功能等。
溫度采集電路可用DS18b20來進行溫度采集,單片機讀取溫度數據,由LCD12864進行顯示。
鬧鈴模塊設置時間或日期,到點后蜂鳴器會響起來進行提醒,直至復位。
這4個部分電路須相互配合,構成一個整體,以實現年、月、日、時、分、秒、星期、周數等的顯示以及按鍵調節和報時功能等合為一體的電子鐘。其硬件設計基本框圖見圖1。
2各單元電路設計
2.1STC12C5A60S2單片機最小系統

圖1 基于單片機STC12C5A60S2的電子鐘硬件設計基本框圖

圖2 最小系統電路圖

圖3 LED顯示器
圖2為STC12C5A60S2單片機的最小系統電路圖,包括晶振電路、復位開關和電源部分,單片機腳說明如下:VCC 40電源端,GND 20接地端,工作電壓為5V,外接晶體引腳XTAL1 19、 XTAL2 18,復位RST 9。輸入輸出引腳:①P0口(P0.0~P0.7)為8位雙向I/O端口,置1時作高阻輸入端;置0時作低阻輸出端,驅動8個TTL。此外, 當P0口對內部Flash程序存儲器編程時收指令字節,而當校驗程序時發指令字節,故外接上拉電阻;當P0口訪問外部程序和外部數據存儲器時,作分時數據總線,轉換低8位地址。②P1口(P1.0~P1.7)為帶內部上拉電阻的8位雙向I/0端口。輸出驅動4個TTL。置1時,內部上拉電阻將端口拉到高電平,作輸入用。對內部Flash程序存儲器編程時,接收低8位地址。③P2口(P2.0~P2.7)為帶內部上拉電阻的8位雙向I/0端口。輸出驅動4個TTL。置1時,內部上拉電阻將端口拉到高電平,作輸入用。對內部Flash程序存儲器編程時,接收高8位地址和控制信息。在訪問外部程序和16位外部數據存儲器時,P2口送出高8位地址。而在訪問8位地址的外部數據存儲器時其引腳上的內容在此期間不會改變。④P3口(P3.0~P3.7)為帶有內部上拉電阻的8位雙向I/0端口。輸出驅動4個TTL。置1時,內部上拉電阻將端口拉到高電平,作輸入用。對內部Flash程序存儲器編程時接控制信息。
2.2LCD顯示電路

圖4 串口通訊硬件連接電路圖
顯示器常用于直觀地顯示數字系統的運行狀態和工作數據。單片機應用系統中常用的顯示器有發光二極管LED顯示器、液晶LCD顯示器、CRT顯示器等,其中LCD顯示器因特別適于使用環境相對固定的場合而成為最常用的顯示器。LCD顯示電路連接如圖3所示。
2.3串口通訊校時電路
串口通信(Serial Communication), 指外設和計算機間通過數據線與控制線按位進行傳輸數據的通訊方式。該通信方式需用的數據線少、傳輸質量高、通信成本低,但傳輸速度比并行傳輸低。設計是將單片機與計算機之間進行連接,將計算機的時鐘信息通過數據線傳送到單片機,特別適合選用該方式。圖4和圖5分別為串口通信硬件連接電路圖和串口調試軟件的界面圖。
2.4按鍵設置電路
圖6是按鍵硬件連接電路圖。共用到了5個按鍵,其中S1用于不同顯示界面的切換,S2用于不同鬧鐘信息的轉換,另外3個S3、S4、S5分別用于鬧鈴時間、日期及其他設定。

圖5 串口調試軟件界面
按鍵電路使用時,通常會出現“抖動”,即當按下某個鍵或釋放該按鍵時,會出現按鍵在閉合和斷開狀態之間的來回跳變[3]。用軟件方法可有效地解決抖動問題,解決抖動問題的C語言程序如下:
if(key==0) /*key鍵按下*/
{delay(); /*按鍵消抖,延遲一下 */
if(key==0) /* key鍵確實按下*/
{
while(!key);/*key鍵釋放*/
…
}
}
2.5蜂鳴器響鈴電路
開始給蜂鳴器端口給初值為低電平,當到達響鈴時刻時,給蜂鳴器端口以高電平,調節其頻率,蜂鳴器開始正常工作,其模塊電路圖見圖7。

圖6 按鍵連接電路圖

圖7 蜂鳴器連接電路圖
3仿真測試
完整的電子鐘的硬件原理圖如圖8所示。

圖8 電子鐘的硬件原理圖

圖9 程序運行顯示結果
根據電子鐘的硬件原理圖, 用PROTEUS軟件,得到仿真連接圖如圖9所示,KEIL軟件調試程序如圖10所示。
用PROTEUS進行單片機仿真,不僅能仿真單片機CPU 的工作情況,也能仿真單片機外圍電路或沒有單片機參與的其他電路的工作情況[5]。測試結果表明,由該方案設計的系統很好的完成了顯示功能、校時功能、響鈴功能。通過控制P1.0、P1.1、P1.2來調節當前時間的顯示,很好的完成了校時功能。設置鬧鈴時間后,蜂鳴器也能到時提醒,很好的體現了響鈴功能。
4結語
用STC12C5A60S2作為系統的主控模塊,將DS1302讀來的時鐘數據和DS18b20采集的溫度數據等進行處理,再把數據傳輸到LCD12846顯示模塊,實現溫度、日歷等的實時顯示。通過按鍵進行不同界面的轉換和各種顯示要求的選擇與切換以及鬧鈴時間的設置等。
測試的過程中,筆者發現了幾個需要思考與改進的問題:一是按鍵調節的部分,雖然能夠實現調節功能,但所須的程序相對繁瑣;二是盡管5個獨立按鍵比較簡潔,但在調節相應功能時,仍顯麻煩;三是對于所選擇LCD12864的顯示模塊,在較強的光線下使用可能會出現亮度不夠。這些問題都有待進一步研究。

圖10 KEIL軟件調試程序
[1]譚浩強.微型計算機原理及應用[M].第3版.北京:清華大學出版社,2008.
[2] 童詩白,華成英.模擬電子技術基礎[M].北京:高等教育出版社,2001.
[3] 閻石.數字電路技術基礎[M].北京:高等教育出版社,1998.
[4] 王東鋒,王會良,董冠強.單片機C語言應用100例[M].北京:電子工業出版社,2009.
[5] 張欣,孫宏昌,尹霞.單片機原理與C51程序設計基礎[M].北京:清華大學出版社,2010.
[編輯]張濤
[收稿日期]2016-02-12
[作者簡介]簡訊(1987-),男,現主要從事通信工程管理方面的研究工作;通信作者:黃金平,1103934907@qq.com。
[中圖分類號]TN873;TH714
[文獻標志碼]A
[文章編號]1673-1409(2016)16-0051-06
[引著格式]基于STC12C5A60S2的電子鐘硬件設計[J].長江大學學報(自科版),2016,13(16):51~56.