單片機課程設計報告蜂鳴器_第1頁
單片機課程設計報告蜂鳴器_第2頁
單片機課程設計報告蜂鳴器_第3頁
單片機課程設計報告蜂鳴器_第4頁
單片機課程設計報告蜂鳴器_第5頁
已閱讀5頁,還剩13頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、河南師范大學新聯學院單片機課程設計報告 課 程 單片機原理及接口技術 設計題目 蜂鳴器演奏歌曲 年級專業 2011級計算機科學與技術 學 號 11 047000000 學生姓名 李 指導教師 瑩 2014年 6 月 15 日蜂鳴器演奏歌曲實驗報告一、要求 完成驅動蜂鳴器歌曲演奏的實驗二、目的1、學習KEIL軟件的使用方法;2、掌握BST-V51單片機學習板設計蜂鳴器音樂的發生;3、掌握設計中各模塊的功能,能夠填入并演奏曲子;4、學習樂譜的基本知識,掌握其演奏的原理。三、分析1、基本原理簡述 聲音是通過振動產生的。單片機對某一引腳以一定的頻率循環置1置0,該引腳便產生一定頻率的方波,方波通過放大

2、,作用于一定的物理實件(蜂鳴器),就產生了一定頻率的聲音。若改變輸出方波的頻率,產生的聲音隨之改變。通過控 制 輸 出 方 波 的 時 間 長 短,聲 音 的長 短 也 可 以 得 到 控 制 ,因 此 ,根 據 樂 譜 ,以 類 似的音及同樣的節拍,單片機就可以產生電子音樂。音樂的播放選擇可以通過按鍵的輸入得以實現。 為簡便起見,以一定的頻率方波產生的音在其每個周期內高低幅值得時間各占 一 半 。因 此 ,輸 出 引 腳 在 每 個 方 波 周 期 內 要 動 作 兩 次 :一 次 升 高 ,一 次 降 低 。即 輸出引腳的頻率是原音頻率的兩倍。2、單片機產生不同頻率脈沖信號的原理 (1)要

3、產生音頻脈沖,只要算出某一音頻的脈沖(1/頻率),然后將此周期除以2,即為半周期的時間,利用定時器計時這個半周期的時間,每當計時到后就將輸出脈沖的I/O反相,然后重復計時此半周期的時間再對I/O反相,就可以在I/O腳上得到此頻率的脈沖。 (2)利用8051的內部定時器使其工作在計數器模式MODE1下,改變計數值TH0及TL0以產生不同頻率的方法如下: 例如,頻率為523Hz,其周期天/523 S=1912uS,因此只要令計數器計時956uS/1us=956,在每計數956次時就將I/O反接,就可得到中音DO(532Hz)。計數脈沖值與頻率的關系公式如下: N=Fi/2/Fr(N:計數值,Fi:

4、內部計時一次為1uS,故其頻率為1MHz,Fr:要產生的頻率 ) (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=65536-1000000/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調個音符頻

5、率與計數值T的對照表如下表所示: C調各音符頻率與計數值T的對照如下:音符頻率(Hz)簡譜碼T值音符頻率(Hz)簡譜碼T值低1DO26263628#4FA#74064860#1DO#27763731中5SO78464898低2RE29463835#5SO#83164923#2RE#31163928中6LA88064968低3M33064130#693264994低4FA34964130中7SI98865030#4FA#37064260高1DO104665058低5SO39264260#1DO#110965085#5SO#41564331高2RE117565110低6LA44064400#2RE

6、#124565124#646664463高3M131865157低7SI49464524高4FA139765178中1DO52364580#4FA#148065198每個音符使用1個字節,字節的高4位代表音符的高低,低4位代表音符的節拍,下表為節拍碼的對照。但如果1拍為0.4秒,1/4拍是0.1秒,只要設定延遲時間就可求得節拍的時間。假設1/4節拍為1DELAY,則1拍應為4DELAY,以此類推。所以只要求得1/4拍的DELAY時間,其余的節拍就是它的倍數,如下表為1/4和1/8節拍的時間設定。 節拍與節拍碼對照如下:節拍碼節拍數節拍碼節拍數11/4拍 11/8拍22/4拍21/4拍33/4拍

7、33/8拍41拍41/2拍51又1/4拍55/8拍61又1/2拍63/4拍71又3/4拍77/8拍82拍81拍92又1/4拍91又1/8拍A2又1/2拍A1又1/4拍B2又3/4拍B1又3/8拍C3拍C1又1/2拍D3又1/4拍D1又5/8拍E3又1/2拍E1又3/4拍F3又3/4拍F1又7/8拍1/4節拍與1/8節拍的時間設定如下:曲調值DELAY曲調值DELAY調4/4125毫秒調4/462毫秒調3/4187毫秒調3/494毫秒調2/4250毫秒調2/4125毫秒(5)建立音樂的步驟: 1)先把吧樂譜的音符找出,然后由上表建立T值表的順序。 2)把T值表建立在TABLE1,構成發音符的計數

8、值放在“TABLE”。 3)簡譜碼(音符)為高位,節拍為(節拍數)為低4位,音符節拍碼放在程序的“TABLE”處。四、設計1、硬件設計1.1總體設計框圖AT89C51單片機 按鍵輸入 蜂鳴器1.2硬件設計及原理1.2.1 BST-V51單片機學習板簡介:實驗板資源配置如下: BST-V51單片機學習板包括STC89C52單片機,其支持USB口或者是串口兩種下載程序方式不用另買燒寫器編程器等產品可以方便的燒寫程序到單片機里。USB供電系統,直接插接到電腦USB口即可提供電源,不需另接直電源。以及包括8位LED發光二極管(做跑馬燈實驗交通燈實驗)、8位數碼管、4*4矩陣鍵盤、蜂鳴器(做單片機發聲實

9、驗播放音樂實驗報警實驗等聲響實驗)、DS18B20溫度傳感器、AT24C08外部EEPROM存儲芯片、SPI串行實時時鐘DS1302、MAX232芯片RS232通訊接口、字符液晶1602LCD接口、圖形點陣液晶12864接口和ISP下載接口。 BST-V51單片機學習板如下圖: 1.2.2 AT89C52 簡介 AT89C52是美國Atmel公司生產的低電壓、高性能CMOS 8位單片機,片內含8KB的可反復檫寫的程序存儲器和12B的隨機存取數據存儲器(RAM),器件采用Atmel公司的高密度、非易失性存儲技術生產,兼容標準MCS-51指令系統,片內配置通用8位中央處理器(CPU)和Flash存

10、儲單元,功能強大的AT89C52單片機可靈活應用于各種控制領域。AT89C52單片機屬于AT89C51單片機的增強型,與Intel公司的80C52在引腳排列、硬件組成、工作特點和指令系統等方面兼容。其主要工作特性是: 片內程序存儲器內含8KB的Flash程序存儲器,可擦寫壽命為1000次;片內數據存儲器內含256字節的RAM;具有32根可編程I/O口線;具有3個可編程定時器;中斷系統是具有8個中斷源、6個中斷矢量、2個級優先權的中斷結構;串行口是具有一個全雙工的可編程串行通信口;具有一個數據指針DPTR;低功耗工作模式有空閑模式和掉電模式;具有可編程的3級程序鎖定位;AT89C52工作電源電壓

11、為5(1+0.2)V,且典型值為5V;AT89C52最高工作頻率為24MHz,在這里我們用的是11.0592MHz。AT89C52圖如下: 1.2.3蜂鳴器簡介:(一)蜂鳴器的介紹 1蜂鳴器的作用 蜂鳴器是一種一體化結構的電子訊響器,采用直流電壓供電,廣泛應用于計算機、打印機、復印機、報警器、電子玩具、汽車電子設備、電話機、定時器等電子產品中作發聲器件。 2蜂鳴器的分類 蜂鳴器主要分為壓電式蜂鳴器和電磁式蜂鳴器兩種類型。 3蜂鳴器的電路圖形符號 蜂鳴器在電路中用字母“H”或“HA”(舊標準用“FM”、“LB”、“JD”等)表示。(二)蜂鳴器的結構原理 1壓電式蜂鳴器 壓電式蜂鳴器主要由多諧振蕩

12、器、壓電蜂鳴片、阻抗匹配器及共鳴箱、外殼等組成。有的壓電式蜂鳴器外殼上還裝有發光二極管。 多諧振蕩器由晶體管或集成電路構成。當接通電源后(1.515V直流工作電壓),多諧振蕩器起振,輸出1.52.5kHZ的音頻信號,阻抗匹配器推動壓電蜂鳴片發聲。 壓電蜂鳴片由鋯鈦酸鉛或鈮鎂酸鉛壓電陶瓷材料制成。在陶瓷片的兩面鍍上銀電極,經極化和老化處理后,再與黃銅片或不銹鋼片粘在一起。 2電磁式蜂鳴器 電磁式蜂鳴器由振蕩器、電磁線圈、磁鐵、振動膜片及外殼等組成。 接通電源后,振蕩器產生的音頻信號電流通過電磁線圈,使電磁線圈產生磁場。振動膜片在電磁線圈和磁鐵的相互作用下,周期性地振動發聲。蜂鳴器電路圖:2、軟件

13、編程(包括軟件介紹、流程圖、完整的匯編源程序及其注釋)2.1 Keil Software簡介及開發流程:Keil Software 的8051開發工具提供以下程序,你可以用它們來編譯你的C源碼,匯編你的匯編源程序,連接和重定位你的目標文件和庫文件,創建HEX文件,調試你的目標程序。Windows應用程序uVision3是一個集成開發環境,它把項目管理,源代碼編輯,程序調試等集成到一個功能強大的環境中。C51美國標準優化C交叉編譯器從你的C源代碼產生可重定位的目標文件。A51宏匯編器從你的8051匯編源代碼產生可重定位的目標文件。BL51連接/重定位器組合你的由C51和A51產生的可重定位的目標

14、文件,生成絕對目標文件。LIB51庫管理器組合你的目標文件,生成可以被連接器使用的庫文件。OH51目標文件到HEX格式的轉換器從絕對目標文件創建Intel HEX 格式的文件。RTX-51實時操作系統簡化了復雜和對時間要求敏感的軟件項目。軟件開發流程 :1、創建一個項目,從器件庫中選擇目標器件,配置工具設置。2、用C語言或匯編語言創建源程序。3、用項目管理器生成你的應用。4、修改源程序中的錯誤。5、測試,連接應用。 圖為:軟件開發流程圖2.2 流程圖: 開始 開始 微處理器時鐘初始化 微處理器時鐘初始化 系統外設初始化 系統外設初始化 開啟蜂鳴器 接受傳感器信息 接受反饋信號 發送控制信號 控

15、制電機的狀態2.3匯編源程序及其注釋: OUT BIT P2.3 /該引腳接蜂鳴器 ORG 0000H ;主程序起始地址 LJMP START ;長跳轉到主程序 ORG 000BH ;TIMERO中斷起始地址 INC 20H ;中斷服務,中斷計數器加1 MOV TH0,#0D8H ;T0賦初值 MOV TL0,#0EFH ;12M晶振,形成10毫秒中斷 RETI ;中斷返回START: MOV SP,#50H ;堆棧從五十開始 MOV TH0,#0D8H ;T0賦初值 MOV TL0,#0EFH ;12M晶振,形成10毫秒中斷 MOV TMOD,#01H ;設置定時器0工作方式為1即16位定時

16、器 MOV IE,#82H ;中斷使能MUSIC0:NOP ;延時 MOV DPTR,#DAT ;表頭地址送DPTR MOV 20H,#00H ;中斷計數器清0 MOV B,#00H ;表序號清0MUSIC1:NOP ;延時 CLR A ;清零A MOVC A,A+DPTR ;查表取代碼 JZ END0 ;是00H,則結束 CJNE A,#0FFH,MUSIC5 ;如果是休止符,往下執行 LJMP MUSIC3 ;長跳轉MUSIC5:NOP ;延時 MOV R6,A ;RH=18H音符的頻率 INC DPTR ;DPTR加一 MOV A,B ;傳送指令,把B的內容傳送到A MOVC A,A+D

17、PTR ;取節拍代碼送R7 MOV R7,A ;R7=30H音符發音的時間 SETB TR0 ;啟動計數MUSIC2:NOP ;延時 CPL OUT ;頻率產生 MOV A,R6 ;把寄存器R6的內容送到累加器A中 MOV R3,A ;R3=R6=18H LCALL DEL ;調用DEL函數 MOV A,R7 ;把寄存器R7的內容送到累加器A中 CJNE A,20H,MUSIC2 ;中斷計數器(20H)=R7否?;不等,則繼續循環 MOV 20H,#00H ;等于,則取下一代碼 INC DPTR ;DPTR加一 INC B ;B加一 LJMP MUSIC1 ;長跳轉MUSIC3:NOP ;延時

18、 CLR TR0 ;休止100毫秒 MOV R2,#0DH ; R2=13MUSIC4:NOP ;延時 MOV R3,#0FFH ;R3=255 LCALL DEL ;調用DEL函數 DJNZ R2,MUSIC4 ;延音程序 INC DPTR ;DPTR加一 LJMP MUSIC1 ;長跳轉END0: NOP ;延時 MOV R2,#64H ;歌曲結束,延時1秒后繼續MUSIC6:MOV R3,#00H ;和低字節清零 LCALL DEL DJNZ R2,MUSIC6 ;延音程序 LJMP MUSIC0DEL: NOP ;延時DEL3: MOV R4,#02H ;延時子程序,12M晶振延時約1

19、秒DEL4: NOP ;延時 DJNZ R4,DEL4 ;延時程序 NOP ;延時 DJNZ R3,DEL3 ;延時程序 RET ;子程序返回 NOP ;延時程序DAT: ;歌譜 DB 32,32,32,32,32,32,32,32,32,32,32,32,32,48,16,64 DB 32,32,32,32,32,32,32,32,32,32,32,32,48,16,64 DB 32,32,32,32,32,16,16,32,32,32,16,16,32,32,32,32,32,64 DB 32,32,32,32,32,32,32,32,32,32,32,32,16,16,64 END ;結束3、調試說明在熟悉掌握KELL軟件操作后,先截取一小段代碼試運行,運行成功后正式

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論