馬志強 牛奔 衛(wèi)會軍 李孟豪 劉文波

摘? 要:本設(shè)計以單片機AT89S52為切入點,通過使用AT89S52的內(nèi)部的可編程定時器/計數(shù)器,結(jié)合對外接晶振的調(diào)節(jié)來確定一個合適的振蕩周期,從而確定出內(nèi)部的機器周期。再通過對內(nèi)部中斷程序的設(shè)置來設(shè)計出時鐘程序,即設(shè)計出了電子時鐘的核心。然后在核心電路的基礎(chǔ)上設(shè)計出了相應(yīng)的擴(kuò)展電路,使本設(shè)計更加實用。
關(guān)鍵詞:單片機;數(shù)碼顯示;溫度傳感器
1.引言
基于單片機的定時和控制裝置在許多行業(yè)有著廣泛的應(yīng)用,數(shù)字鐘作為其中最基本的一個應(yīng)用實例,具有結(jié)構(gòu)簡單應(yīng)用廣泛的特點。數(shù)字鐘中使用了單片機中最為常用的輸入輸出設(shè)備按鍵開關(guān)和數(shù)碼管;數(shù)字鐘程序主要應(yīng)用單片機的定時器和中斷實現(xiàn)計時和顯示功能。當(dāng)今數(shù)字種作為一個單元電路被廣泛應(yīng)用于電子表、電子萬年歷等產(chǎn)品中,帶來廣泛的經(jīng)濟(jì)效益。
2.方案設(shè)計與論證
根據(jù)題目的要求,我設(shè)計了以下方案:
設(shè)計中加載了年、月、日的設(shè)計,剛開始時打算用18個共陽數(shù)碼管,考慮到數(shù)碼管太多是畢會給硬件電路帶來麻煩,經(jīng)過考慮后,決定把年、月、日與時間設(shè)置到一組數(shù)碼管上來,即六個數(shù)碼管即能顯示時間又能顯示年、月、日,這樣一來就方便了硬件電路。
主控芯片使用51系列AT89S52單片機,溫度模塊設(shè)計中,溫度元件采用AD590,利用AD590以及接口電路把溫度轉(zhuǎn)換成模擬電壓,經(jīng)由ADC0804轉(zhuǎn)換成數(shù)字信號,然后經(jīng)AT89S52處理顯示溫度。但由于AD590價錢比較貴,且只能轉(zhuǎn)換成模擬電壓,這樣一來硬件就要增加更多的器件且又不經(jīng)濟(jì),經(jīng)查找發(fā)現(xiàn)18B20溫度傳感器價錢便宜且可以直接把溫度轉(zhuǎn)換成數(shù)字量測溫范圍為-55—125度,最大分辨率可達(dá)0.0625度,采用3線制與單片機相連,減少了外部的硬件電路,具有低成本和易使用的特點,所以我選擇了18B20溫度傳感器。
在音樂模塊的設(shè)計中,我決定采用音樂芯片,這樣可以避免對鈴聲音樂的編程,即節(jié)省了時間,又減少了在程序中發(fā)生錯誤的可能性。
3.系統(tǒng)總體結(jié)構(gòu)框圖
在本設(shè)計中,以按鍵開關(guān)作為輸入裝置,LED七段數(shù)碼顯示管作為顯示裝置,因此,各按鍵開關(guān)的功能為:
S1鍵:P1.0口 時間調(diào)整
S2鍵:P1.1口 日期調(diào)整
S3健;p1.2口 鬧鈴設(shè)置
S4健:p1.3口 鬧鈴開關(guān)
4.系統(tǒng)的硬件設(shè)計
電路是由控制部分和顯示部分兩大部分組成。利用單片機程序進(jìn)行控制,并通過數(shù)碼管進(jìn)行顯示。
4.1 顯示部分電路的設(shè)計
4.1.1 LED數(shù)碼顯示管的基本原理
動態(tài)顯示要CPU時刻對顯示器件進(jìn)行刷新,顯示數(shù)據(jù)有閃爍感,占用CPU時間多。
動態(tài)掃描顯示接口是單片機中應(yīng)用最廣泛的一種顯示方式。其接口電路是把所有LED顯示器的8個筆劃段A~D、DP的同名端連在一起,而每一個數(shù)碼管的公共端COM是各自獨立地受I/O線控制。CPU向字段輸出口送出字形碼時,所有顯示器接受到相同的字形碼,但究竟是哪個顯示器亮,則取決于COM端,而這一端是由I/O控制的,可以自行決定何時顯示哪一位了。而所謂動態(tài)掃描就是指我們采用分時的方法,輪流控制各個顯示器的COM端,是各個顯示器輪流點亮。
4.2 控制部分電路的設(shè)計
4.2.1 時鐘模塊
利用芯片內(nèi)部的振蕩器,然后在引腳XTAL1和引腳XTAL2兩端接晶體諧振器,就構(gòu)成了穩(wěn)定的自激振蕩器,其發(fā)出的脈沖直接送入內(nèi)部的時鐘電路,如圖外接晶振時,C1和C2的值通常選擇30pF;C1、C2對頻率有微調(diào)作用,晶體諧振器的頻率12MHz。為了減少寄生電容,更好地保證振蕩器穩(wěn)定、可靠地工作,振蕩器和電容應(yīng)盡可能安裝得與單片機芯片靠近。設(shè)置了12—24兩種顯示狀態(tài),調(diào)整計時的按鍵、設(shè)置定時的按鍵且定時設(shè)置了3次定時、還另加載了星期、年、月、日的調(diào)整及閏年的自動調(diào)整。
4.2.2 溫度模塊
主要由18B20通過單片機AT89S52中的溫度程序不斷的檢測溫度來顯示溫度。
18B20溫度傳感器工作原理:DS18B20溫度傳感器是美國DALLAS半導(dǎo)體公司最新推出的一種改進(jìn)型智能溫度傳感器,與傳統(tǒng)的熱敏電阻等測溫元件相比,它能直接讀出被測溫度,并可根據(jù)實際要求通過簡單的編程實現(xiàn)9—12位的數(shù)字值讀數(shù)方式,
4.2.3 音樂模塊
通過LM386N-1給揚聲器信號來發(fā)出音樂,這個模塊主要是為時鐘定時到時發(fā)出音樂鬧鈴,而在軟件部分設(shè)置了可以一次設(shè)置3次定時,每次定時到時,音樂程序中編了6種音樂,它可以自動選擇6種音樂中的任一音樂響1分鐘,如果中間不想讓鬧鈴響可以按一按鍵,鬧鈴就立刻停止。
4.2.4 復(fù)位模塊
單片機復(fù)位電路是使CPU和系統(tǒng)中的其他功能部件都處在一個確定的初始狀態(tài),并從該狀態(tài)開始工作,例如復(fù)位后PC=0000H,使單片機從第一個單元取指令。無論是在單片機剛接上電源時,還是斷電后或者發(fā)生故障后都要復(fù)位。
5.系統(tǒng)電路的制作與調(diào)試
5.1 電路硬件焊接制作
電路硬件焊接是畢業(yè)設(shè)計的重要內(nèi)容之一,其焊接工藝的好壞直接關(guān)系到系統(tǒng)的整體性能。本設(shè)計的樣品制作采用手工焊接,在焊接制作中應(yīng)遵守手工焊接的工藝流程和技術(shù)要求。
5.2 調(diào)試的主要方法
⑴ 測試單片機軟件功能的完善性。這是針對整個單片機系統(tǒng)功能的測試,測試軟件是否寫的正確完整。單片機是否能正常工作。
⑵ 上電、掉電測試。在使用中用戶必然會遇到上電和掉電的情況,可以進(jìn)行多次開關(guān)電源,測試單片機系統(tǒng)的可靠性。
⑶ 老化測試。測試長時間工作情況下,單片機系統(tǒng)的可靠性。必要的話可以放置在高溫,高壓以及強電磁干擾的環(huán)境下測試。
⑷ D和EFT等測試。可以使用各種干擾模擬器來測試單片機系統(tǒng)的可靠性。例如使用靜電模擬器測試單片機系統(tǒng)的抗靜電ESD能力;使用突波雜訊模擬器進(jìn)行快速脈沖抗干擾EFT測試等等。
結(jié)論
經(jīng)過調(diào)試,和多次改進(jìn),本設(shè)計達(dá)到了預(yù)期的效果。數(shù)字鐘可以正常顯示時間和日期,并且對每個月份的天數(shù)進(jìn)行了處理,特別是2月這個特殊月份,本設(shè)計可以自動從2月28日直接過度到3月1日。而且,在本設(shè)計中,閏年和平年的2月,其天數(shù)可以被正常區(qū)分,從而達(dá)到了實用和人性化的效果。對溫度的顯示也比較正常,能夠正常反映出室溫情況。當(dāng)然,還可以根據(jù)需要,增加整點報時的功能,以使本設(shè)計更加完善。
總之,本設(shè)計提供了一套行之有效的數(shù)字鐘的設(shè)計方案,并且成本較低,具有較高的實用性。
參考文獻(xiàn)
[1]? 盧坤,奚大順電子設(shè)計技術(shù)[M].成都電子科技大學(xué)出版社,1997.P103-210
[2]? 唐競新.數(shù)字電子電路[M].第1版.北京:清華大學(xué)出版社,2003.P99-120
[3]? 康華光.電子技術(shù)基礎(chǔ)[M].數(shù)字部分.第4版.北京:高等教育出版社,1998.P47-79