朱燕叢 徐志超
摘要:基于目前“綠色環(huán)?!鄙瞽h(huán)境的要求,文章設(shè)計(jì)了一種以AT89S52單片機(jī)為核心的新型自動音樂電鈴,音樂為悅耳的鈴聲并可按設(shè)定好的時(shí)間自動打鈴。該系統(tǒng)可以通過鍵盤電路對當(dāng)前的時(shí)間值進(jìn)行校正,通過液晶屏進(jìn)行數(shù)據(jù)的顯示還可實(shí)現(xiàn)強(qiáng)制打鈴的功能。
關(guān)鍵詞:51單片機(jī);AT89S52;校園鈴聲;控制系統(tǒng);自動打鈴;時(shí)間校正 文獻(xiàn)標(biāo)識碼:A
中圖分類號:TM421 文章編號:1009-2374(2015)24-0020-02 DOI:10.13535/j.cnki.11-4406/n.2015.24.010
1 設(shè)計(jì)目的及實(shí)現(xiàn)功能
1.1 設(shè)計(jì)目的
目前廣泛應(yīng)用的傳統(tǒng)電鈴噪音大,聲音刺耳,不符合人們追求?;诖耍撜n題采用51單片機(jī)技術(shù)設(shè)計(jì)了一種新型自動音樂電鈴,可按設(shè)定好的時(shí)間自動打鈴,而且改變了以往那種單調(diào)的“鈴鈴鈴”的鈴聲,而是以音樂的形式代替。該設(shè)計(jì)的核心控制器件為AT89S52單片機(jī),通過專用的時(shí)鐘芯片DS1302進(jìn)行計(jì)時(shí),采用1602液晶屏進(jìn)行數(shù)據(jù)的顯示。在聲音播放上使用了LM386功放芯片驅(qū)動小喇叭實(shí)現(xiàn)。同時(shí)設(shè)計(jì)了按鍵電路,可以通過鍵盤電路對當(dāng)前的時(shí)間值進(jìn)行校正,還可實(shí)現(xiàn)強(qiáng)制打鈴的功能。
1.2 本課題實(shí)現(xiàn)功能
(1)時(shí)鐘功能:能顯示年、月、日、時(shí)、分、秒;(2)鍵盤功能:能校正年份、日期、時(shí)間;(3)打鈴功能:按指定時(shí)間打鈴即播放音樂,上課播放一首音樂,下課播放另外一首;(4)設(shè)置手動打鈴按鍵和強(qiáng)制停止打鈴按鍵。
2 硬件設(shè)計(jì)
2.1 硬件設(shè)計(jì)原理
本系統(tǒng)的硬件主要由單片機(jī)控制部分、鍵盤電路、LCD液晶屏顯示電路、時(shí)鐘電路、喇叭驅(qū)動電路組成。
2.2 單片機(jī)最小系統(tǒng)
單片機(jī)選用AT89S52,它是一種低功耗、高性能CMOS8位微控制器,片內(nèi)具有8k的可反復(fù)擦寫可系統(tǒng)編程Flash只讀存儲器和256 bytes的隨機(jī)存取數(shù)據(jù)存儲器即RAM,采用的是高密度非易失性存儲技術(shù)制造,并且與標(biāo)準(zhǔn)80C51指令系統(tǒng)及引腳完全兼容。片上Flash允許程序存儲器在系統(tǒng)可編程,所以適用于常規(guī)編程器。它的Flash程序存儲器既可以在線編程,也可用傳統(tǒng)方法進(jìn)行編程及通過8位微處理器于單片機(jī)中,使得AT89S52成為為眾多嵌入式控制應(yīng)用系統(tǒng)提供高靈活、有效的解決方案。
單片機(jī)最小系統(tǒng)包括三部分:單片機(jī),晶振電路,復(fù)位電路。其中電源、復(fù)位電路、振蕩電路是最小系統(tǒng)啟動的必要條件。
2.3 鍵盤電路
按鍵是各種電子設(shè)備最基本的人機(jī)交互界面,良好的按鍵是電子產(chǎn)品美觀易用的基礎(chǔ)。鍵盤分又為獨(dú)立式鍵盤和矩陣鍵盤,由于本設(shè)計(jì)中鍵盤只用于對時(shí)間進(jìn)行校對,用到的按鍵個(gè)數(shù)比較少,所以本設(shè)計(jì)采用獨(dú)立式鍵盤,它們的功能分別為:設(shè)置按鍵、減按鍵和加按鍵。每個(gè)按鍵連接單片機(jī)的一個(gè)I/O口。
有兩種方法消除按鍵下按時(shí)產(chǎn)生的抖動,分別是硬件消抖和軟件消抖。
硬件消抖的方法是通過硬件電路消除按鍵按下和按鍵釋放時(shí)產(chǎn)生的抖動,從而使按鍵保持兩種狀態(tài):高電平或者低電平。軟件消抖的方法是在檢測到按鍵被按下時(shí)先延時(shí)一段時(shí)間,然后再次對按鍵狀態(tài)進(jìn)行判斷,當(dāng)按鍵釋放后,也要經(jīng)過數(shù)毫秒的延時(shí),以消除后沿抖動??紤]到硬件去抖還要增加外部電路,所以本設(shè)計(jì)中采用的是軟件去抖的方法。
2.4 LCD液晶屏顯示電路
本文設(shè)計(jì)的自動打鈴系統(tǒng)通過LCD1602液晶屏顯示日期。LCD1602液晶屏屬于字符型液晶,它是一種專門用來顯示字母、數(shù)字、符號的點(diǎn)陣型液晶模塊。它由若干個(gè)5×7或者5×11的點(diǎn)陣字符位組成,每個(gè)點(diǎn)陣字符位都可以用顯示一個(gè)字符,能夠顯示16*2,即32個(gè)字符,分兩行進(jìn)行顯示。LCD1602液晶屏內(nèi)部存儲器內(nèi)置了160個(gè)常用的點(diǎn)陣字符,比如:阿拉伯?dāng)?shù)字、英文字母的大小寫、常用的符號、日文假名等,同時(shí)為每一個(gè)字符編寫了一個(gè)固定的代碼,在運(yùn)行時(shí)識別的是ASCII碼,所以我們在編程時(shí)可以用ASCII碼進(jìn)行數(shù)值操作,編程時(shí)也可以直接通過字符進(jìn)行顯示。
其顯示部分引腳接口如圖1所示:
圖1 LCD液晶屏顯示電路
2.5 喇叭驅(qū)動電路
本設(shè)計(jì)采用LM386對音頻信號進(jìn)行放大,進(jìn)而驅(qū)動喇叭發(fā)出聲音。LM386是一種音頻集成功放,自身功耗低,約為4mA;電壓增益可調(diào)整(20~200);可用于電池供電電源電壓范圍大,4~12V或5~18V;外接元件少、總諧波失真小,廣泛應(yīng)用于錄音機(jī)和收音機(jī)之中。本設(shè)計(jì)中音頻信號的輸出口為單片機(jī)的P3.1口。具體電路圖如圖2所示:
圖2 喇叭驅(qū)動電路
2.6 時(shí)鐘電路
DS1302是一個(gè)美國DALLAS公司推出的一種高性能、低功耗、帶RAM的實(shí)時(shí)時(shí)鐘芯片,可以提供秒、分、小時(shí)、日期、月、年等信息,并且還有軟件自動調(diào)整的能力,可以通過配置AM/PM來決定采用24小時(shí)格式還是12小時(shí)格式。采用三線接口與CPU進(jìn)行同步通信,并可采用突發(fā)方式一次傳送多個(gè)字節(jié)的時(shí)鐘信號或RAM數(shù)據(jù)。
采集時(shí)鐘芯片DS1302,單片機(jī)通過時(shí)鐘中斷程序讀取DS1302內(nèi)時(shí)鐘數(shù)據(jù),然后通過LCD1602進(jìn)行顯示。設(shè)計(jì)電路圖如圖3所示:
圖3 時(shí)鐘電路
3 系統(tǒng)軟件的設(shè)計(jì)
3.1 主程序
主程序?qū)崿F(xiàn)的功能:與硬件相結(jié)合實(shí)現(xiàn)酒精濃度檢測儀的所有功能。對各個(gè)功能子函數(shù)進(jìn)行調(diào)用。它的工作流程為:首先初始化定時(shí)器、單片機(jī)、液晶屏及時(shí)鐘芯片,然后掃描按鍵狀態(tài),如果調(diào)整時(shí)間按鍵沒有按鍵,則調(diào)用液晶屏顯示程序,接下來掃描強(qiáng)制打鈴按鍵,如果該按鍵按下,則音符計(jì)數(shù)清0,然后將當(dāng)前的時(shí)間值與單片機(jī)內(nèi)設(shè)定好的打鈴時(shí)間進(jìn)行比較,如果達(dá)到打鈴時(shí)間,則音符計(jì)數(shù)清0,最后就是音樂播放了。
3.2 時(shí)鐘讀取流程
首先讀取溫度值,然后分別從DS1302讀取秒、分、時(shí)、日、月、年、星期的值,然后通過液晶屏顯示溫度、秒、分、時(shí)、日、月、年、星期的值。
3.3 液晶屏顯示流程圖
程序開始前先對液晶屏進(jìn)行初始化,接下來數(shù)據(jù)顯示時(shí)先發(fā)送字符顯示位置,然后送出要顯示的數(shù)據(jù),結(jié)束顯示。
3.4 按鍵掃描流程
三個(gè)按鍵分別連接單片機(jī)的P3.4,P3.5,P3.6,P3.7三個(gè)端口,由于單片機(jī)P3口內(nèi)部具有上拉電阻,所以不再需要外加上拉電阻。
3.5 音樂播放流程圖
首先查詢當(dāng)前音樂的音符及音高,然后據(jù)此查詢到所應(yīng)對應(yīng)的頻率及節(jié)拍數(shù),根據(jù)此頻率給定時(shí)器賦值,根據(jù)節(jié)拍進(jìn)行聲音延時(shí)。
4 結(jié)語
隨著電子產(chǎn)品的發(fā)展,市場上各種類型的自動打鈴系統(tǒng)層出不窮,而且是結(jié)合了各種設(shè)備的綜合應(yīng)用系統(tǒng),能實(shí)現(xiàn)的功能也是越來越強(qiáng)大便捷,例如基于校園網(wǎng)的自動打鈴系統(tǒng),自動廣播打鈴系統(tǒng),音樂打鈴系統(tǒng)等。隨著技術(shù)的進(jìn)步,將單片機(jī)應(yīng)用于鈴聲控制系統(tǒng)中將會使得打鈴系統(tǒng)的功能由單一型發(fā)展成多功能、多花樣的通用型,使用也將會越來越普遍。
作者簡介:朱燕叢(1982-),女,北京工業(yè)大學(xué)耿丹學(xué)院機(jī)械系講師,研究方向:機(jī)械電子。
(責(zé)任編輯:周 瓊)