2024年2月20日發(作者:妙解)

. -
控制電路學年設計任務書
學 院
課程名稱
計算機與信息工程學院
控制電路
專 業
題 目
物聯網工程
基于51單片機的電子音樂門鈴設計與實現
完成期限 自2015年7月9日至2015年8月28日共1周
一、項目的目的
1.利用學過的單片機及C語言等知識,實現基于單片機的電子音樂門鈴系統
2.鞏固所學習的AT89C51、LCD、蜂鳴器控制等知識,訓練單片機應用系統開發能力。
3.培養查找資料和閱讀文獻的能力,撰寫學年設計報告。
二、項目任務的主要內容和要求
1.使用51單片機、蜂鳴器、按鍵按鈕和LCD1602等元器件,焊接門鈴硬件部分;
容
及
任
務
2.使用C51編寫控制程序,使I/O口產生一定頻率的方波,驅動蜂鳴器,發出不同的音調,從而演奏樂曲(最少三首樂曲)
3.客人可通過門鈴按鍵播放音樂,并顯示提示信息。
4.如果主人在家,可暫停并取消音樂播放。
5.完成設備的代碼測試及文檔撰寫。
三、項目設計思路
1.設計相關電路圖,然后焊接電路板。
2.查閱資料了解音樂組成,音符和節拍的產生原理。
3.編寫音樂播放程序、按鍵、LCD信息顯示和繼電器開門程序。
4.系統軟件調試,并測試通過。
四、具體成果形式和要求
1.完成基于單片機的電子音樂門鈴系統設計,以搭建好的電路實現所要求功能,并配合原理圖闡述。
- -可修編.
. -
2.完成學年設計文檔。
進
度
安
排
2015.8.25
2015.7.10~2015.8.24
起止日期 工作內容
2015.6.10~2015.7.1 選題,討論內容
2015.7.9 布置任務和學年設計安排,明確使用的元器件和開發模塊
暑假期間查閱資料,準備相關知識,以及具體開發
小組交流討論,系統調試,撰寫學年設計報告初稿
2015.8.26~2015.8.27
2015.8.28
修訂學年設計報告,完成系統
學年設計答辯
主
要
參
考
資
料
[1]X毅剛等.單片機原理與應用設計 [M] .:高等教育,2005.
[2]彭偉.單片機C語言程序設計實訓100例[M].電子工業,2012.10.
[3]X茂榮.畫說樂理(二十)--音程[J].琴童,201O,第8期:18-19.
[4]林志琦.基于Proteus的單片機可視化軟硬件仿真[M].:航空航天大學,2006.
指導教師
意見
(簽字): 年月日
系(教研室)
主任意見
(簽字): 年月日
- -可修編.
. -
控制電路設計說明書
-
學院名稱:計算機與信息工程
班級名稱:2013級物聯網工程1班
學生XX:高戰
學 號:2013211641
題 目:基于單片機的電子音樂門鈴
指導教師
姓 名:董 再 秀
起止日期:2015年7月9日-8月28日
-可修編.
. -
第一部分:正文部分
一、選題背景
隨著時代的前進和發展,控制智能化、小型化、低功耗化得到廣泛關注。在這些領域中,單片機起到了舉足輕重的作用,這就把單片機的應用提升到重要的地位,單片機應用系統設計就成為新的技術熱點。近幾年來,隨著市場上智能家居的不斷升溫,門鈴系統已作為智能化辦公室和智能化住宅小區的一個重要組成部分,被各商家和用戶所接受。人們已開始習慣用個性化的音樂門鈴代替傳統鐵門鈴,這使電子音樂門鈴系統得到了飛躍性的發展。隨著單片機技術的飛速發展,通過單片機實現人們對物質生活的滿足,這將會日益成為今后的一個重要發展的方向。
本設計是介紹了由AT89C51單片機來構成電子音樂門鈴系統的工作過程,本系統主要完成該電子門鈴不僅具有普通電子門鈴的功能,而且還具有液晶顯示屏提示功能。單片機價格便宜,性能可靠,耗電量少,安裝也簡便,按下再也不是“叮咚”聲,而是悅耳的音樂,讓客人可以耐心的等待; 它的工作狀態能夠由用戶自行設定音樂和提示語,給來訪者提供必要的音樂和文字回應信息,給人們生活提供很大的便利。
二、相關知識
2.1 硬件部分
2.1.1 AT89C51
單片機又稱單片微控制器,它不是完成某一個邏輯功能的芯片,而是把一個計算機系統集成到一個芯片上。相當于一個微型的計算機,和計算機相比,單片機只缺少了I/O設備。概括的講:一塊芯片就成了一臺計算機。它的體積小、質量輕、價格便宜、為學習、應用和開發提供了便利條件。同時,學習使用單片機是了解計算機原理與結構的最佳選擇。AT89C51是一個8位的微處理器,并包含有4KB的Flash存儲器,即單片微機。在很多的嵌入式控制系統中,許多具有高度靈活性及低成本的解決方案都由AT89C51為其提供。AT89C51中中有一個用于構成內部振蕩器的反相放大器,引腳XTAL1為放大器的輸入端,XTAL2為- -可修編.
. -
放大器的輸出端。AT89C51的P3口第二功能,如下表2-1所示:
表2-1 P3口第二功能
端口引腳
P3.0
P3.1
P3.2
P3.3
P3.4
P3.5
P3.6
P3.7
AT89C51的引腳排列如圖2-1所示:
第二功能
RXD(串行輸入口)
TXD(串行輸出口)
INT0(外中斷0)
INT1(外中斷1)
T0(定時/計數器0外部輸入)
T1(定時/計數器1外部輸入)
WR(外部數據存儲器寫選通)
RD(外部數據存儲器寫選通)
圖2-1 AT89C51引腳圖
2.1.2 液晶顯示模塊
本次系統采用的液晶顯示屏是LCD1602。
引腳功能說明 : LCD1602采用標準的14腳(無背光),各引腳接口說明- -可修編.
. -
如表2-1所示:
表2-1 LCD1602引腳說明
編號 符號 引腳說明
1 VSS 電源地
2 VDD 電源正極
3 VL 液晶顯示偏壓
4 RS 數據/命令選擇
5 R/W 讀/寫選擇
6 E 使能信號
7 D0 數據
8 D1 數據
LCD1602的引腳圖如圖2-2所示
編號 符號 引腳說明
9 D2 數據
10 D3 數據
11 D4 數據
12 D5 數據
13 D6 數據
14 D7 數據
圖2-2 LCD1602液晶顯示屏引腳圖
2.2 開發環境
2.2.1 軟件開發環境
Keil μVision3時2006年1月30日ARM推出全新的針對各種嵌入式處理器的軟件開發工具,集成RealView MDK開發環境。RealView MDK開發工具Keil μVision3源自Keil公司。RealView MDK集成了業內領先的技術,包括Keil
μVision3集成開發環境與RealView編譯器。支持ARM7、ARM9和最新的Cortex-M3核處理器,自動配置啟動代碼,集成Flash燒寫模塊,強大的- -可修編.
. -
Simulation設備模擬,性能分析等功能,與ARM之前的工具包ADS等相比,RealView編譯器的最新版本可將性能改善,其界面顯示如下圖2-3所示。
圖2-3 Keil uVision3
2.2.2 硬件開發環境
本次系統設計運用的是Proteus電路仿真軟件。Proteus軟件是英國Labcenter electronics公司出版的EDA工具軟件。它不僅具有其它EDA工具軟件的仿真功能,還能仿真單片機及外圍器件。它是目前最好的仿真單片機及外圍器件的工具。雖然目前國內推廣剛起步,但已受到單片機愛好者、從事單片機教學的教師、致力于單片機開發應用的科技工作者的青睞。Proteus是世界上著名的仿真軟件,從原理圖布圖、代碼調試到單片機與外圍電路協同仿真,一鍵切換到PCB設計,真正實現了從概念到產品的完整設計。用來將Keil uVision3內編譯生成的.HEX文件導入到電路中的AT89C51單片機中,進行仿真,完成設計。
圖2-4 Proteus仿真軟件
- -可修編.
. -
三、總體設計
3.1 系統需求
設計是基于AT89C51單片機的可控音樂門鈴程序設計。依據單片機技術原理,通過PROTEUS仿真軟件對硬件電路進行仿真制作以及利用KEIL軟件對音樂門鈴源程序進行C語言編譯,而設計制作出的一個多功能音樂門鈴。系統需滿足以下要求,利用51單片機的I/O口產生一定頻率的方波,驅動蜂鳴器,發出不同的音調,從而演奏樂曲;同時客人可通過門鈴按鍵器播放音樂,并顯示主人預設的提示信息;如果主人在家,可暫停并取消音樂。
3.2總體設計方案
音樂門鈴的系統結構以AT89C51單片機位控制核心,加上2個按鍵、時鐘復位電路、放大器、蜂鳴器、LCD顯示模塊組成。單片機負責接收按鍵的輸入,根據輸入控制音樂播放曲目和顯示提示信息以及蜂鳴器發音。系統組成結構圖如圖2-1所示。
復位按鍵
音樂停止
門鈴按鍵
放大器
蜂鳴器
AT89C51單片機
LCD1602顯示內容
圖3-1 系統組成結構圖
3.3系統功能流程
當客人來訪,按動門鈴開關K2,單片機根據開關K1判斷主人是否在家,當- -可修編.
. -
K1斷開時,即主人在家,則驅動蜂鳴器播放主人預先設定的音樂,并且LCD1602液晶顯示屏顯示內容“Wele!Plea wait!”,主人此時可關閉蜂鳴器和LCD提示前去開門。當K1閉合時,即主人不在家,則蜂鳴器無任何聲音,同時LCD1602顯示內容“Sorry!maste is not at home!”。
具體功能流程如圖所示:
四、硬件設計
-
開始
門鈴按鍵K1
主人是否在家
否
(開關K2)
是
LCD顯示 LCD顯示主人蜂鳴器播放音樂 不在家
主人關閉音樂播放和LCD提示
結束
圖3-2系統功能流程圖
-可修編.
. -
4.1 復位電路的設計
復位是單片機的初始化操作,其主要功能是把PC初始化為0000H,使單片機從0000H單元開始執行程序。除了進入系統的正常初始化之外,當由于程序運行出錯或操作錯誤使系統處于死鎖狀態時,為了擺脫困境,也需要按復位鍵以重新啟動。
在振蕩器工作時將RST腳保持至少兩個機器周期高電平,12時鐘模式為24個振蕩器周期,6時鐘模式為12振蕩器周期,可實現復位。為了保證上電復位的可靠RST保持高電平的時間至少為振蕩器啟動時間通常為幾個毫秒再加上兩個機器周期復位后振蕩器以12時鐘模式運行當已通過并行編程器設置為6時鐘模式時除外。
本次設計復位電路設計,如圖4-1所示。
圖4-1復位電路
4.2 時鐘電路的設計
時鐘電路產生與單片機工作所需要的時鐘信號,單片機本身就是一個復雜的同步時序電路,為了保證同步工作方式的實現,電路應在唯一的時鐘信號控制下嚴格的按時序進行工作。而時序所研究的則是指令執行中各信號之間的相互時間- -可修編.
. -
的關系。
在51單片機內部有一個高增益反向放大器,其輸入端為芯片引腳XTAL1,輸出端引腳為XTAL2,在芯片的外部通過這兩個腳跨接晶體振蕩器和微調電容,形成反饋電路,就構成一個穩定的自激振蕩器。如圖4-2所示:
圖4-2 時鐘電路的設計
內部程序存振蕩晶體可在1.2MHz~12MHz之間選擇,電容值無嚴格要求,但在電容值取值對振蕩頻率輸出的穩定性、大小、振蕩電路起振速度有少許影響,C1、C2可在20pF~100pF之間取值,但在60pF~70pF時振蕩器有較高的頻率穩定性。本設計選取晶振為12MHz,電容為30pH。
4.3 開關電路的設計
開關K1為主人是否在家的控制開關,開關K2模擬門鈴按鈕,開關K3為主人控制開關,用于停止音樂提醒,詳細設計見圖4-3。
K3
K2
- -可修編.
. -
圖4-3 開關電路的設計
4.4 蜂鳴器
蜂鳴器是一種一體化結構的電子訊響器,采用直流電壓供電,廣泛應用于計算機、打印機、復印機、報警器、電子玩具、汽車電子設備、機、定時器等電子產品中作發聲器件。利用51單片機的I/O口產生一定頻率的方波,驅動蜂鳴器,發出不同的音調,從而演奏樂曲
圖4-4 蜂鳴器
4.4 總體硬件電路
總體硬件電路實現功能如下,如圖4-5所示。
⑴電路中用P3.2、P3.3控制按鍵。
⑵P0.0-P0.7和P2.0-2.7控制數碼管的時間顯示。
⑶P2.6控制蜂鳴器。
- -可修編.
. -
圖4-5硬件仿真電路圖
五、軟件設計
一般說來,單片機演奏音樂基本都是單音頻率,它不包含相應幅度的諧波頻率,也就是說不能像電子琴那樣能奏出多種音色的聲音。因此單片機奏樂只需弄清楚兩個概念即可,也就是“音調”和節拍表示一個音符唱多長的時間。
5.1音調的確定
不同音高的樂音是用C、D、E、F、G、A、B來表示,這7個字母就是音樂的音名,它們一般依次唱成DO、RE、MI、FA、SO、LA、SI,即唱成簡譜的1、2、3、4、5、6、7,相當于漢字“多來米發梭拉西”的讀音,這是唱曲時樂音的發音,所以叫“音調”,即Tone。把C、D、E、F、G、A、B這一組音的距離分成12個等份,每一個等份叫一個“半音”。兩個音之間的距離有兩個“半音”,就叫“全音”。在鋼琴等鍵盤樂器上,C–D、D–E、F–G、G–A、A–B兩音之間隔著一個黑鍵,他們之間的距離就是全音;E–F、B–C兩音之間沒有黑鍵相隔,它們之間的距離就是半音。通常唱成1、2、3、4、5、6、7的音叫自然音,那些在它們的左上角加上﹟號或者b號的叫變化音。﹟叫升記號,表示把音在原來的基礎上升高半音,b叫降記音,表示在原來的基礎上降低半音。
(1)要產生音頻脈沖,只要算出某一音頻的周期(1/頻率),然后將此周期除以2,即為半周期的時間。利用定時器計時這半個周期時間,每當計時到后就將輸出脈沖的I/O反相,然后重復計時此半周期時間再對I/O反相,就可在I/O腳上得到此頻率的脈沖。
(2)利用AT89C51的內部定時器使其工作在計數器模式MODE1下,改變計數值TH0及TL0以產生不同頻率的方法。
此外結束符和休止符可以分別用代碼00H和FFH來表示,若查表結果為00H,則表示曲子終了;若查表結果為FFH,則產生相應的停頓效果。
- -可修編.
. -
計數脈沖值與頻率的關系公式如下:
N=Fi?2?Fr
N:計算值;Fi:內部計時一次為1us,故其頻率為1MHz;
(3)其計數值的求法如下:
T=65536-N=65536-Fi?2?Fr
例如:設K=65536,F=1000000=Fi=1MHz,球低音DO(261Hz)。中音DO(523Hz)。高音的DO(1046Hz)的計算值
T=65536-N=65536-Fi?2?Fr=65?2?Fr=65536-500000/Fr
低音DO的T=65536-500000/262=63627
低音DO的T=65536-500000/523=64580
低音DO的T=65536-500000/1047=65059
(4)C調各音符頻率與計數值T的對照表如表5-1所示。
表5-1 C調各音符頻率與計數值T的對照表
低音 頻率
Do 262
T
1908
Do﹟
Re 294
277 1805
1701
Re311 160193 Re622 804 97 Re204
217 Do﹟
Re 587 852 102
554 903 108 Do﹟
Re
參數 中音 頻率
229 Do 523
T
956
參數 高音 頻率
115 Do 1046
1109
1175
12448 48
51 51
54 54
T
57
參數
57
- -可修編.
. -
﹟
Mi 330
8
1515
182
﹟
Mi 659 759 91
﹟
Mi
5
1318
45 45
Fa 349 1433
172 Fa 698 716 86 Fa 1397
43 43
Fa﹟
So
370 1351
162 Fa﹟
740 676 81 Fa﹟
1480
1568
41 41
392 1276
153 So 784 638 77 So 38 38
So﹟
La
415 1205
145 So﹟
831 602 72 So﹟
1661
1760
36 36
440 1136
136 La 880 568 68 La 34 34
La﹟
Si
464 1078
129 La﹟
932 536 64 La﹟
1865
1976
32 32
494 1012
121 Si 988 506 61 Si 30 30
相關代碼如下:
uchar code cuzhi[]={
0xff,0xff,//占位
0xFC,0x8E,//中央C調1-7
0xFC,0xED,
0xFD,0x43,
- -可修編.
. -
0xFD,0x6A,
0xFD,0xB3,
0xFD,0xF3,
0xFE,0x2D,
0xFE,0x47,
0xFE,0x76,
0xFE,0xA1,
0xFE,0xC7,
0xFE,0xD9,
0xFE,0xF9,
0xFF,0x16
};
//高八度1-7
5.2 節拍的確定
若要構成音樂,光有音調是不夠的,還需要節拍,讓音樂具有旋律(固定的律動),而且可以調節各個音的快滿度。休止符表示暫停發音。
一首音樂是由許多不同的音符組成的,而每個音符對應著不同頻率,這樣就可以利用不同的頻率的組合,加以與拍數對應的延時,構成音樂。對于單片機來說,產生不同頻率的脈沖是非常方便的,利用單片機的定時/計數器來產生這樣的方波頻率信號。
表5-2節拍與節拍碼對照
節拍碼
1
2
3
4
5
6
節拍數
1/4拍
2/4拍
3/4拍
1拍
1又1/4拍
1又1/2拍
節拍碼
1
2
3
4
5
6
節拍數
1/8拍
1/4拍
3/8拍
2/1拍
5/8拍
3/4拍
- -可修編.
. -
8
A
C
F
相關代碼如下:
2拍
2又1/2拍
3拍
3又3/4拍
8
A
C
1拍
1又1/4拍
1又1/2拍
ucharcode
DSY_CODE[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x00};
//編程規則:字節高位是簡譜,低位是持續時間,
//代表多少個十六分音符
//1-7代表中央C調,8-E代表高八度,0代表停頓
//最后的0是結束標志
void Delay1(uint z); //延時1MS
void Delay(uint z);//延時165MS,即十六分音符
uchar code qnzl[]={ //千年之戀
0x32,0x31,0x21,0x32,0x52,0x32,0x31,0x21,0x32,0x62,
0x32,0x31,0x21,0x32,0x82,0x71,0x81,0x71,0x51,0x32,0x22,
0x32,0x31,0x21,0x32,0x52,0x32,0x31,0x21,0x32,0x62,
0x32,0x31,0x21,0x32,0x83,0x82,0x71,0x72,0x02,
0x63,0xA1,0xA2,0x62,0x92,0x82,0x52,
0x31,0x51,0x63,0x51,0x63,0x51,0x63,0x51,0x62,0x82,0x7C,0x02,
0x61,0x71,0x82,0x71,0x62,0x0A2,0x71,0x76,
0x61,0x71,0x82,0x71,0x62,0x52,0x31,0x36,
0x61,0x71,0x82,0x71,0x62,0xA3,0x73,0x62,0x53,
0x42,0x82,0x88,0x02,0x74,0x93,0x89,0xff//結束標志
};
//簡譜音調對應的定時器初值
//適合11.0592M的晶振
5.3 編碼
- -可修編.
. -
do re mi fa so la si分別編碼為1~7,重音do編為8,重音re編為9,停頓編為0。播放長度以十六分音符為單位(在本程序中為165ms),一拍即四分音符等于4個十六分音符,編為4,其它的播放時間以此類推。音調作為編碼的高4位,而播放時間作為低4位,如此音調和節拍就構成了一個編碼。以0xff作為曲譜的結束標志,可以參考簡譜碼如表4-4所示。
歌曲播放的設計:先將歌曲的簡譜進行編碼,儲存在一個數據類型為unsigned char 的數組中。程序從數組中取出一個數,然后分離出高4位得到音調,接著找出相應的值賦給定時器0,使之定時操作蜂鳴器,得出相應的音調;接著分離出該數的低4位,得到延時時間,接著調用軟件延時。
表5-4 簡譜對應的簡譜碼、T值、節拍數
簡譜
5
6
7
1
2
3
4
5
6
7
1
2
3
4
5
發音
低音SO
低音LA
低音TI
中音DO
中音RE
中音MI
中音FA
中音SO
中音LA
中音TI
高音DO
高音RE
高音MI
高音FA
高音SO
簡譜碼
1
2
3
4
5
6
7
8
9
A
B
C
D
E
F
T值
64260
64400
64524
64580
64684
64777
64820
64898
64968
65030
65058
65110
65157
65178
65217
節拍碼
1
2
3
4
5
6
8
A
C
F
節拍數
1/4拍
2/4拍
3/4拍
1拍
1又1/4拍
1又1/2拍
2拍
2又1/2拍
3拍
3又3/4拍
六、系統測試
主人在家時,開關K1狀態斷開。按下門鈴鍵就先顯示提示,然后隨機播放音樂,在音樂播放結束或主人按下關閉音樂鍵時關顯示,如圖6-1所示。
- -可修編.
. -
圖6-1 主人在家時LCD狀態
主人不在家,當狀態開關狀態閉合。按下門鈴鍵,只顯示提示,但不播放音樂,而且提示延時一段時間后自動關顯示。如圖6-2所示。
圖6-2主人不在家時LCD狀態
- -可修編.
. -
總 結
這次寶貴的學年設計活動中,經驗才是對于我們最大的收獲,而且還增強了自身對未知問題以及對知識的深化認識的能力,用受益匪淺這個詞語來概括這次難忘的活動我覺得再合適不過了。但是,光是完成了作品還是不可以自我滿足的,在從一開始的時候就懷著將作品制作得更加人性化,更加令人滿意,更加地使功能完美又方便地被應用領域這個最終目的下,隨著對單片機這門學科的認識加深,到達了拓展的程度,我想這個目的將在不遠的時期內被實現。實驗過程中,也對團隊精神的進行了考察,讓我們在合作起來更加默契,在成功后一起體會喜悅的心情。果然是團結就是力量,只有互相之間默契融洽的配合才能換來最終完美的結果。此次設計也讓我明白了思路即出路,有什么不懂不明白的地方要及時請教或上網查詢,只要認真鉆研,動腦思考,動手實踐,就沒有弄不懂的知識,收獲頗豐。
在此向所有關心我的及幫助我的老師和同學們致以最真誠的感謝。在本次計課程設計設計中,尤其要感謝董再秀老師在思路上給予的細致指導,當遇到困難時給了我很大的幫助,感謝同學在變成反面給我的幫助。
- -可修編.
. -
第二部分:參考文獻
[1].彭偉.單片機C語言程序設計實訓100例[M],電子工業,2009.6.;
[2].譚浩強.C語言程序設計(第二版)[M],:清華大學,1991.;
[3].李建忠.單片機原理及應用[M],XX電子科技大學,2008.2.;
[4].雷思孝.凌陽單片機原理及實用技術[M],XX電子科技大學,2004.
- -可修編.
. -
學生簽名: 填表日期:
年 月 日
第四部分: 指導教師評語
第五部分:成績評定
- -可修編.
. -
指導教師簽名:
-
填表日期:
年 月
-可修編.
日
本文發布于:2024-02-20 14:01:50,感謝您對本站的認可!
本文鏈接:http://www.newhan.cn/zhishi/a/1708408910270364.html
版權聲明:本站內容均來自互聯網,僅供演示用,請勿用于商業和其他非法用途。如果侵犯了您的權益請與我們聯系,我們將在24小時內刪除。
本文word下載地址:基于單片機的電子音樂門鈴.doc
本文 PDF 下載地址:基于單片機的電子音樂門鈴.pdf
| 留言與評論(共有 0 條評論) |