




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、單片機原理及應用課程設計報告課題名稱簡易電子琴學院自動控制與機械工程專業電氣工程及其自動化班級學號姓名時間2014.6.23-7.2 目錄一 設計任務和要求.1二 方案論證與選擇.1三 系統設計結構框圖.3四 硬件電路組成分析.4 1 AT89C51芯片分析.4 2 LED數碼管.7 3 4X4矩形鍵盤.9 4 振蕩和復位及音頻電路.11 5 硬件總體原理圖.13五 軟件部分及其分析. .14 1 音調的實現.14 2 按鍵信號的識別傳輸與數碼管顯示.16 3 擴展歌曲的播放.17六 仿真測試與結果分析.20七 設計完成感想.22八 參考文獻.23九 附錄.a24一、 設計任務和要求:基于MC
2、S-系列單片機AT89C51。設計一個簡易的電子琴。 利用所給鍵盤的1,2,3,4,5,6,7,8八個鍵,能夠發出8個不同的音符。1) 并且要求按下按鍵發聲,松開延時一段時間停止,中間再按別的鍵則發另一音符的聲音。2) 使用LED數碼管顯示8個不同的音調。3) 如果在前一個按下的鍵發聲的同時有另一個鍵被按下,前面鍵的發音停止,轉到后按的鍵的發音。4) 增加變調按鍵“UP1”,“UP2”,“DN1”,“DN2”,在按下“0”“8” 音符時,再按變調鍵,產生相應的變調。使用LED數碼管顯示變調情況。5) 其他功能。 二、 方案論證和選擇(1)單片機系統型號的選擇先介紹下兩種單片機AT89C51和A
3、T89S52的基本特性:方案一:選用AT89C51作為系統主控單片機。AT89C51是一種帶4K字節閃存可編程可擦除只讀存儲器的低電壓、高性能CMOS 8位微處理器,其可擦除只讀存儲器可以反復擦除1000次。該器件采用ATMEL高密度非易失存儲器制造技術制造,與工業標準的MCS-51指令集和輸出管腳相兼容。由于將多功能8位CPU和閃爍存儲器組合在單個芯片中,ATMEL的AT89C51是一種高效微控制器。AT89C51單片機為很多嵌入式控制系統提供了一種靈活性高且價廉的方案。 方案二:選用AT89S52作為系統主控單片機。AT89S52是一種低功耗、高性能CMOS 8位微控制器,具有8K 在系統
4、可編程Flash 存儲器。使用Atmel 公司高密度非易失性存儲器技術制造,與工業80C51 產品指令和引腳完全兼容。片上Flash允許程序存儲器在系統可編程,亦適于常規編程器。在單芯片上擁有靈巧的8 位CPU 和在系統可編程Flash,使得AT89S52在眾多嵌入式控制應用系統中得到廣泛應用。我們不難看出兩種單片機性能都比較優異而且技術都很成熟,都可使用于本系統的設計,而AT89S52的性能更高于AT89C51,但是我們也要考慮到系統的成本以及資源的充分使用,這樣我們選用AT89C51作為系統的控制使用單片機。AT89C51的高效性控制和成熟的外圍電路能夠保證本設計達到預定的功能。(2) 按
5、鍵模塊的選擇方案一:采用自鎖開關按鍵作為演奏按鍵,它的特點是在按鍵動作發生后,開關接通兩個觸點使信號電路導通,并在下次按鍵動作發生后開關離開兩個觸點使電路斷開,這樣能保持導通狀態一段時間,能達到目的,但是由于開關的機械運動時間,會使演奏效果有一定的延遲,而且開關的體積較大,不適合經常性的使用。方案二:采用觸點開關,這類開關具有體積小,易于操作的特點,開關的結構簡單運行效率快,性能穩定。這種開關還有個特點就就就是引腳少,引腳功能明確,外形美觀,綜合來說使用以后效果還是不錯的。一般來說,再能實現同樣功能的前提下,我們傾向于選擇簡潔美觀,操作方便的的器件,因此我們選用觸點開關。(3)發聲器件的選擇方
6、案一:采用蜂鳴器作發聲器件,通過經過放大的信號以后就能發聲,實現音樂播放。但是蜂鳴器結構簡單只能輸出很少的音調,對于很多聲音會造成失真,影響聲音的播放效果。方案二:采用普通的擴音器,即喇叭。這種器件比較常見,音效也比較好經過上面分析,我們選用擴音器作為音樂發聲器件。三、 系統設計結構框圖按照系統設計的功能要求,可以確定系統由單片機控制部分、鍵盤掃描部分、顯示部分、發聲部分以及電源5個部分組成。鍵盤掃描AT89C51數碼管顯示揚聲器發聲電源部分圖 2-1系統結構圖AT89C51工作在12MHZ時鐘頻率下,使用其定時/計數器T0,工作模式為1,改變計數器TH0和TL0就可以產生不同頻率的脈沖信號。
7、本設計有16個鍵盤,可以發出16種不同的音節,用戶能夠根據自己喜愛的樂譜在鍵盤上進行演奏,然后音樂發聲器就能通過接受相應的電信號發聲,這樣通過發生器就能將彈奏者想要彈奏的音樂播放出來。在本設計中,音樂發聲器由彈奏者鍵盤輸入來發出相應的音符,因此節拍由彈奏者自己掌握,不由程序控制。由AT89C51單片機產生的音頻脈沖信號直接驅動揚聲器發聲。圖2-2主程序設計框圖四 硬件電路組成分析(一)AT89C51芯片(1)AT89C51的特點AT89C51是一種低功耗,高性能CMOS8位單片機。片內帶4K字節閃存可編程可擦除只讀存儲器,其可擦除只讀存儲器可以反復擦除1000次。該器件采用ATMEL高密度非易
8、失存儲器制造技術制造,與工業標準的MCS-51指令集和80C51引腳相兼容。由于將多功能8位中央CPU和閃爍存儲器組合在單個芯片中,片上Flash允許程序存儲器在系統可編程,也適用于常規編程器,ATMEL的AT89C51是一種高效微控制器。AT89C51單片機為很多嵌入式控制系統提供了一種靈活性高且價廉的方案。AT89C51具有以下特點:40個引腳(具體引腳見圖2-2),4K字節可編程Flash片內程序存儲器,128*8位內部RAM,32個可編程雙向輸入/輸出(I/O)口,5個中斷源,2個16位的可編程定時/計數器,三級程序存儲器鎖定,可編程的串行通道,片內振蕩器和時鐘電路。另外AT89C51
9、還具有低功耗閑置和掉電模式,可通過軟件設置省電模式,在空閑模式下,CPU暫停工作,而RAM計算器和串行口以及外中斷系統可以繼續工作掉電模式會凍結振蕩器進而保持RAM數據,停止單片機的其它功能直到外中斷激活或者硬件復位動作。 圖4-1 AT89C51實物圖及管腳圖(2)管腳說明:VCC:+5V電源。 GND:接地。 P0口:P0口是一個8位漏級開路雙向I/O口,每腳可吸收8TTL門電流。當P0口的管腳第一次寫1時,被定義為高阻輸入。P0能夠用于外部程序數據存儲器,它可以被定義為數據/地址的第八位。在FIASH編程時,P0 口作為原碼輸入口,當FIASH進行校驗時,P0輸出原碼,此時P0外部必須被
10、拉高。 P1口:P1口是一個內部提供上拉電阻的8位雙向I/O口,P1口緩沖器能接收輸出4TTL門電流。P1口管腳寫入1后,被內部上拉為高,可用作輸入,P1口被外部下拉為低電平時,將輸出電流,這是由于內部上拉的緣故。在FLASH編程和校驗時,P1口作為第八位地址接收。 P2口:P2口為一個內部上拉電阻的8位雙向I/O口,P2口緩沖器可接收,輸出4個TTL門電流,當P2口被寫“1”時,其管腳被內部上拉電阻拉高,且作為輸入。并因此作為輸入時,P2口的管腳被外部拉低,將輸出電流。這是由于內部上拉的緣故。P2口當用于外部程序存儲器或16位地址外部數據存儲器進行存取時,P2口輸出地址的高八位。在給出地址“
11、1”時,它利用內部上拉優勢,當對外部八位地址數據存儲器進行讀寫時,P2口輸出其特殊功能寄存器的內容。P2口在FLASH編程和校驗時接收高八位地址信號和控制信號。 P3口:P3口管腳是8個帶內部上拉電阻的雙向I/O口,可接收輸出4個TTL門電流。當P3口寫入“1”后,它們被內部上拉為高電平,并用作輸入。作為輸入,由于外部下拉為低電平,P3口將輸出電流(ILL)這是由于上拉的緣故。 P3口也可作為AT89C51的一些特殊功能口,如下表所示(括號內為第二功能): P3.0 RXD(串行輸入口) P3.1 TXD(串行輸出口) P3.2 /INT0(外部中斷0) P3.3 /INT1(外部中斷1) P
12、3.4 T0(記時器0外部輸入) P3.5 T1(記時器1外部輸入) P3.6 /WR(外部數據存儲器寫選通) P3.7 /RD(外部數據存儲器讀選通) P3口同時為閃爍編程和編程校驗接收一些控制信號。 RST:復位信號。當輸入的復位信號延續2個周期以上的高電平時有效,用于完成單片機的復位操作。ALE/PROG:當訪問外部存儲器時,地址鎖存允許的輸出電平用于鎖存地址的地位字節。在FLASH編程期間,此引腳用于輸入編程脈沖。在平時,ALE端以不變的頻率周期輸出正脈沖信號,此頻率為振蕩器頻率的1/6。因此它可用作對外部輸出的脈沖或用于定時目的。如果微處理器在外部執行狀態ALE禁止,置位無效。 /P
13、SEN:外部程序存儲器的選通信號。由外部程序存儲器取指期間,每個機器周期兩次/PSEN有效。但在訪問外部數據存儲器時,這兩次有效的/PSEN信號將不出現。 /EA/VPP:當/EA保持低電平時,則在此期間外部程序存儲器(0000H-FFFFH),不管是否有內部程序存儲器。當/EA端保持高電平時,此間內部程序存儲器。在FLASH編程期間,此引腳也用于施加12V編程電源(VPP)。 XTAL1:反向振蕩放大器的輸入及內部時鐘工作電路的輸入。 XTAL2:來自反向振蕩器的輸出。振蕩器特性:XTAL1和XTAL2分別為反向放大器的輸入和輸出。該反向放大器可以配置為片內振蕩器。石晶振蕩和陶瓷振蕩均可采用
14、。如采用外部時鐘源驅動器件,XTAL2不接。(二)LED數碼管 (1)LED數碼管工作原理介紹在本次設計中用到LED數碼管顯示,這里有必要對LED作以介紹;LED 是一種能夠將帶你能轉化為可見光的半導體,采用電場發光。據分析,LED特點非常明顯:壽命長、光效高、無輻射、低功耗。LED核心是固態的半導體晶片,晶片一端是負極,另外一端接電源正極,晶體的兩部連接起來就形成一個P-N節。電流流過這個晶片時,電子產生定向移動,導致能量以光子的型式發出,這就是LED發光原理。而光的波長決定光的顏色,由P-N結材料決定。LED是電流控制器件,使用時必須加限流電阻。LED有七段數碼管和八段數碼管之分(多一個小
15、數點顯示)。另外數碼管也有共陰極和共陽極之分,發光二極管的陽極連在一起的成為共陽極數碼管,陰極連在一起的稱為共陰極數碼管。共陽數碼管在應用時應將公共極COM接到+5V,當某一字段發光二極管的陰極為低電平時,相應字段就點亮。當某一字段的陰極為高電平時,相應字段就不亮。共陰數碼管在應用時應將公共極COM接到地線GND上,當某一字段發光二極管的陽極為高電平時,相應字段就點亮。當某一字段的陽極為低電平時,相應字段就不亮。1位的顯示器由八個發光二極管組成,其中七個發光二極管a-g控制七個段的亮或暗,另一個控制一個小數點的亮和暗,這種控制的七段顯示管能顯示的字符較少,但控制簡單,使用方便。(2)LED應用
16、主要在以下幾大方面:顯示屏、交通信號燈應用LED具有抗沖擊、光響應速度快、省電、壽命長的特點。汽車工業上應用汽車用燈,包括各種指示燈、儀表燈、尾燈、剎車燈等許多位置。在這里LED的應用主要時替代白熾燈的不耐撞擊、易損壞、壽命短等缺點。LED作為高效率的側光源以其壽命長、發光效率高、無干擾及高性價比廣泛用于電子手表、手機、音頻視頻播放設備、照相機、電子計算機等眾多的電子設備中,隨著便攜電子產品日趨小型化,LED背光源優勢將更為(3)LED的使用條件:段及小數點上加限流電阻。段和小數點使用電壓要根據發光顏色決定。使用電流:靜態時,每段10mA,總電流80mA;動態時,平均電流4-5mA峰值電流10
17、0mA。下面給出LED數碼管的引腳圖及共陽極和共陰極數碼管,只有正確了解引腳圖以后才能正確進行字形段碼編碼從而顯示出正確的字符。 圖4-2數碼管外形和引腳 圖4-3 共陰極與共陽極數(4)I/O并行口直接驅動LED顯示把“AT89C51”區域中的P0.0/AD0P0.7/AD7端口用8芯排線連接到一位數碼管的ah端口上;要求:P0.0/AD0與a相連,P0.1/A1與b相連, P0.7/A710x3f低 5 SO90x7f中 6 LA20x06低 6 LAA0x6f中 7 SI30x5b低 7 SIb0x77高 1 DO40x4f中 1 DOC0x7c高 2 RE50x66中 2 RED0x3
18、9高 3 M60x6d中 3 ME0x5e高 4 FA70x7d中 4 FAF0x79高 5 SO80x07中 5 SO00x71高 6 LA 表1 音符對照表通過在本設計中,數碼管的顯示:P0=DSY_CODEk(5)顯示電路原理本設計采用的顯示器件是LED數碼管,由于LED是電流控制器件,使用時必須加限制電阻。通過單片機查表找到數碼管顯示編碼,輸出到數碼管顯示,由此來實現按鍵與顯示的一致性。圖4-5數碼管顯示電路Proteus原理圖數碼管顯示核心是共陽極數碼管,通過從單片機輸入的I/O口的高低電平來點亮和熄滅數碼管上的發光二極管,通過單片機送來的顯示編碼能夠在數碼管上顯示數字和字符“0D”
19、彈奏者很容易知道自己所按下的音符。(三)4x4矩形鍵盤(1)去抖動:一般按鍵所用開關是機械彈性開關,由于機械點的彈性作用,按鍵在閉合時不能立刻穩定連接電路,同樣在斷開時也不能立馬完全斷開,每個按鍵在按下或松開時,都會產生短時間的一連串抖動。抖動的持續時間與鍵的機械特性相關,一般為515mm。如果不處理抖動,有可能一次按鍵造成多次誤讀。為了保證按鍵被正確讀取必須去抖動,保證在按鍵穩定閉合和斷開的時候再判斷按鍵狀態。去抖動問題可通過軟件延時或硬件電路解決,由于硬件方法會帶來成本上的提升,所以通常采用軟件方法。松開按鍵 按下按鍵 前抖動穩定閉合后抖動 圖4-6按鍵抖動示意圖常用的去除鍵抖動的軟件方法
20、基本原則是避開抖動的時候檢測按鍵或是在抖動的時候檢測到的按鍵不做處理。這里說明一下常用的方法:檢測到按鍵閉合電平后先執行一個12ms24ms 的延時,讓前抖動消失后再一次檢測按鍵的狀態,如果仍是閉合狀態的電平,則認為真的有按鍵按下;若不是閉合狀態電平,則認為沒有鍵按下。若是要判斷按鍵松開的話,也是要在檢測到按鍵釋放電平之后再給出12ms24ms 的延時,等后抖動消失后再一次檢測按鍵的狀態,如果仍為斷開狀態電平,則確認按鍵松開。這種方法的優點是程序比較簡單,缺點是由于延時一般采用跑空指令延時,造成程序執行效率低。請問.圖4-7鍵盤掃描功能電路Proteus原理圖矩陣鍵盤,從上到下,從左到右,在數
21、碼管上顯示時順序為0-9和A-D,在按功能鍵時,數碼管會顯示彈奏者按下的按鍵。 (四)振蕩電路和復位電路以及音頻電路(1)振蕩電路單片機的時鐘信號用來提供單片機內各種位操作的時間基準,時鐘信號通常有兩種電路形式得到:內部振蕩方式和外部振蕩方式。在引腳XTAL1和XTAL2外接晶體振蕩器(簡稱晶振)或陶瓷諧振器,就構成了內部震蕩方式。由于單片機內部有一個高增益反相放大器,當外接晶振后,就構成了自激振蕩器并產生振蕩時鐘脈沖。晶振通常選用6MHz、12MHz或者24MHz。本設計中采用的是12MHz。電容器C1、C2起穩定振蕩頻率、快速起振的作用,電容值一般530pF。內部振蕩方式所得的時鐘信號比較
22、穩定,電路中使用較多。本次設計的振蕩方式如下圖: 選擇C=30pF 圖4-8 振蕩電路 (2)復位電路復位操作完成單片機內電路的初始化,是單片機從一種確定的狀態開始運行。當單片機的復位引腳RET出現5ms以上的高電平時,單片機就完成了復位操作。如果RST持續為高電平,單片機就處于循環復位狀態,而無法執行程序。因此要求單片機復位后能脫離復位狀態。根據應用要求,復位操作通常有2種基本形式:上電復位、開關復位。上電復位要求接通電源后,自動實現復位操作。開關復位要求在電源接通的條件下,在單片機運行期間,如果發生死機,用按鈕開關操作使單片機復位。上電后,由于電容要充電,是RST持續一段時間高電平時間。當
23、單片機已經在運行之中時,按下復位鍵也能使RST持續一段時間的高電平,從而實現上電且開關復位的操作。選擇C=10uF,R=10k本次設計的振蕩電路如圖示: 圖4-9 復位電路在單片機啟動后,電容C兩端的電壓持續充電為5V,這是時候10K電阻兩端的電壓接近于0V,RST處于低電平所以系統正常工作。當按鍵按下的時候,開關導通,這個時候電容兩端形成了一個回路,電容被短路,所以在按鍵按下的這個過程中,電容開始釋放之前充的電量。隨著時間的推移,電容的電壓從5V釋放到變為了1.5V,甚至更小。根據串聯電路電壓為各處之和,這個時候10K電阻兩端的電壓為3.5V,甚至更大,所以RST引腳又接收到高電平。單片機系
24、統自動復位。(3)音頻電路 音頻喇叭接受AT89C51所傳達的按鍵信號,播放出相應的音調 圖4-10音頻電路(五)硬件電路總體原理圖經過上文充分的探究和仔細的設計,電子琴硬件的各個功能模塊已經被合理的設計出來,因此我們將這些功能模塊組合在一起,在單片機仿真軟件Proteus中繪制出整個系統的硬件原理圖,這樣硬件部分的開發和設計就已經完成。下面給出電子琴硬件電路的原理圖如圖:圖4-11電子琴硬件電路Proteus仿真圖 五 軟件部分分析(1) 音調的實現在源代碼中插入音符表,當按鍵輸入信號后,查詢表格然后發出對應音調AT89C51單片機晶振是12MHz,在這種情況下,C調各音符頻率與計算值T對照
25、音符頻率(HZ)簡譜碼(T值)音符頻率(HZ)簡譜碼(T值)休止00中 4 FA69864820低1DO26263628中 5 SO78464898低2RE29463835中 6 LA88064968低 3 M33064021中 7 SI98865030低 4 FA34964103高 1 DO104665058低 5 SO39264260高 2 RE117565110低 6 LA44064400高 3 M131865157低 7 SI49464524高 4 FA139765178中 1 DO52364580高 5 SO156865217中 2 RE58764684高 6 LA176065252
26、中 3 M65964777高 7 SI196765283 表1音符頻率對照表揚聲器發出對應音調的原理框圖接收按鍵信號在表中查找揚聲器發聲 圖5-1 揚聲器發音原理圖接收信號然后發出音調INT_T0: MOV TH0,STH0 MOV TL0,STL0 CPL P2.3 RETI TABLE: DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H DB 7FH,6FH,77H,7CH,39H,5EH,79H,71H TABLE1: DW 64021,64103,64260,64400 DW 64524,64580,64684,64777 DW 64820,64898,64968,
27、65030 DW 65058,65110,65157,65178 SING: MOV R3,#00H ;R3清零(作為查表偏移)NEXT:MOV A,KEYBUF CJNE A,#14,NEXT1 JMP SONG1NEXT1: CJNE A,#15,NEXT0 JMP SONG2SONG1: MOV A,R3 MOV DPTR,#TABLE2;查表 JMP NEXT3SONG2: MOV A,R3 MOV DPTR,#TABLE3;查表 JMP NEXT3 .當接收了按鍵信號后,查詢音符表,然后輸出信號給揚聲器發出音調((二)按鍵信號識別傳輸與數碼管顯示 圖5-2顯示管與按鍵揚聲器結合原理按
28、鍵識別傳輸與顯示管的顯示 MOV A,P1 ANL A,#0F0H CJNE A,#0E0H,NK1 MOV KEYBUF,#0 LJMP DK1 NK1: CJNE A,#0D0H,NK2 MOV KEYBUF,#1 LJMP DK1 NK2: CJNE A,#0B0H,NK3 MOV KEYBUF,#2 LJMP DK1 NK3: CJNE A,#70H,NK4 MOV KEYBUF,#3 LJMP DK1 NK4: NOP DK1: MOV A,KEYBUF MOV DPTR,#TABLE MOVC A,A+DPTR MOV P0,A MOV A,KEYBUF MOV B,#2 .按此循
29、環,當按下鍵位后,通過 MOVC A,A+DPTR 來進行查表,最后進行傳輸到顯示管從而顯示出按鍵的標號,并向音頻電路傳出信號,最后發出音調判斷鍵位 查詢歌曲接收按鍵信號循環播放歌曲(3) 擴展歌曲的播放(4)播放歌曲代碼 SJMP NEXT;歌曲播放子程序SONG: MOV A,R2;取出節拍 RL A;左移節拍 JNZ KEEP;如果節拍為0就讓它等于1 MOV A,#01HKEEP: MOV R2,AREPEAT: ACALL EIGHTH DJNZ R2,REPEAT RET;產生1/8拍延時子程序EIGHTH: MOV A,R7 ;查表取出廷時參數,保存到R4 MOV DPTR,#D
30、ELAY_T MOVC A,A+DPTR MOV R4,A MOV A,R7;查表取出1/8拍周期數,保存到R5 MOV DPTR,#S_PARA MOVC A,A+DPTR MOV R5,ANEXTCYC: ACALL SOUND DJNZ R5,NEXTCYC RET;= 發聲子程序 =SOUND: SETB SPK ACALL SDELAY CLR SPK ACALL SDELAY RET;延時子程序SDELAY: MOV A,R4 ; 廷時值在R4內 MOV R0,AXL2: MOV R1,#03HDL1: NOP DJNZ R1,DL1 DJNZ R0,XL2 RET;1/8拍周期表
31、S_PARA: DS 1DH DB 15H,16H,00 DB 19H,00H,1CH,00H,1FH,21H,00H,25H DB 00H,29H,2CH,00H,31H,34H,37H,00H DB 3EH,41H,00H,49H,00H,52H,57H,00H DB 62H;延時參數表DELAY_T: DS 1DH DB 7EH,77H,00H DB 6AH,00H,5EH,00H,54H,4FH,00H,46H DB 00H,3FH,3BH,00H,35H,32H,2FH,00H DB 2AH,27H,00H,23H,00H,1FH,1DH,0C0H DB 1AH;歌曲表TABLE2:
32、DW 2504H,2704H,2904H,2504H DW 2504H,2704H,2904H,2504H DW 2904H,2A04H,2C08H DW 2904H,2A04H,2C08H DW 2C02H,2E02H,2C02H,2A02H,2904H,2504H DW 2C02H,2E02H,2C02H,2A02H,2904H,2504H DW 2904H,2004H,2508H DW 2904H,2004H,2508H DW 0000H TABLE3: DW 2202H,2902H,2902H,2902H,2906H,2702H ;我從山中來 DW 2502H,2702H,2502H,
33、2402H,2208H ;帶著蘭花草 DW 2E02H,2E02H,2E02H,2E02H,2E06H,2C02H ;種在小園中 DW 2902H,2C02H,2D02H,2A02H,2908H ;祈禱花開早 DW 2902H,2E02H,2E02H,2C02H,2906H,2702H ;一日看三回 DW 2502H,2702H,2502H,2402H,2206H,1D02H ;看得花時過 DW 1D02H,2502H,2502H,2402H,2206H,2902H ;蘭花卻依然六 仿真測試與結果分析在本次設計中,我添加了2個擴展功能,把音調從8個擴展到14個,并且在源代碼中存錄了2首歌曲兩只
34、老虎和蘭花草 點擊仿真按鈕開始仿真后,選擇任意一個按鍵,比如“A”,按下該按鍵,可以聽到高音的“do”,并且有延時存在并觀察數碼管看到數碼管顯示近似“A”字樣的字符。長按“A”按鍵,可以聽到揚聲器長響。再依次按下“0D”這14個按鍵,我們能聽到揚聲器正確的發出“do”低音到“re”高階高音的14種音符。當點擊了第15或14個按鈕后,會自動的循環播放存錄的歌曲經(1)下面給出測試按鍵“3”時的仿真是否可以開始運行:圖11-1 可演奏電子琴仿真測試圖(2這部分的調試是通過仿真軟件進行的,主要針對系統的核心單片機進行調試。在仿真開始前,要仔細查電路的連線,特別是單片機的引腳部分的連線是否正確。這部分
35、主要通過對電路原理圖的觀察來排除電路中可能存在的短路和斷路故障。通過自己和同學的觀察判斷電路確實無誤后,可以開始軟件仿真。運行仿真軟件,開始按照計劃測試各部分電路,重點測試單片機矩陣鍵盤部分、數碼管顯示部分、發聲器。(2) 按鍵與數碼管測試: 圖11-2 按鍵與數碼管測試圖仿真軟件運行后分別按下4和5鍵 ,可以看到,數碼管顯示字符“4”和“5”,隨機的按下鍵盤,數碼管顯示不同字符且顯示穩定,可以確定數碼管顯示正常。(3)發聲器測試:在數碼管和鍵盤部分的測試都正常后,如果發聲器發聲正確那么系統的設計就達到了目的。為了讓測試準確,提前熟悉音樂中從“do”低音到“re”高階高音的D種音符的發音,然后
36、順序按下從“0”到“D這14個按鍵,仔細聽發聲器的發音是確的14個音符的音??梢钥隙?,系統功能正常,達到設計目的。(4)擴展歌曲測試 進過分別按下15和16鍵,系統開始循環播放出兩只老虎和蘭花草的歌曲,證明擴展成功(5)調試結論通過對PROTUES的仿真后,分別對4X4的鍵盤矩陣的輸入信號來與數碼管的顯示進行對照測試,系統按照指令使揚聲器發出不同的14個音調,并且在數碼管依次顯示出按鍵的標號,音調在測試過程中沒有發生走調現象和雜音問題,按鍵松開后停止發音,一直按住則一直在發出同一個音調,證明此次調試成功,此次設計成功七 設計完成感想本次課程設計制作簡易電子琴,花費了我很多精力,兩周內查閱大量的
37、資料,甚至通過網絡與網友交談詢問。但收獲頗豐,一方面,將自己的理論知識與實踐相結合起來,進一步鞏固了專業基礎知識和相關專業課程知識;另一方面,也培養了自己獨立自主、綜合分析的思維與創新能力,設計的過程不是一帆風順,遇到過各種各樣的問題。特別是設計軟件時,匯編語言和C程序讓我每天都截迷糊中,一些很細小的問題都可能導致功能性的錯誤,修改了多次才通過仿真。在設計過程中我發現自己對以前所學過的知識理解得不夠深刻,掌握得不夠牢固,所以也利用圖書館、網絡資源查閱了大量文獻資料,也請教了老師和同學。同時在具體的制作過程中我們發現一些書本上的知識與實際的應用存在著一定的差距,書本上的知識很多都是理想化后的結論
38、,忽略了很多實際的因素,或者涉及的不全面,可在實際的應用時這些是不能被忽略的,我們不得不考慮這方面的問題,這也讓我更深刻地體會到在今后的學習工作中也要注重理論聯系實際。八 參考文獻1 吳亦鋒單片機原理與接口技術 M電子工業出版社2010.112 徐惠民.微機原理與接口技術M.高等教育出版社,2007.083 謝嘉奎.電子線路(線性部分)M.高等教育出版社,2004.044 潭浩強.C語言程序設計M.清華大學出版社,2008.065 包興,胡明.電子器件導論理M.北京理工大學出版社,2005.036 李廣第,朱月秀,冷祖祁.單片機基礎M.北京航空航天大學出版社,2007.67 長德,李華,李東.
39、MCS51/98系列單片機原理與應用M.機械工業出版社.19978 李群芳,張士軍,黃建.單片微型計算機原理與接口技術M.電子工業出版社,20029 張龍興.電子技術基礎 M.高等教育出版社,200010 電子制作雜志 J.電子制作雜志社,2010201111 歐陽.大學生電子設計制作.復旦大學出版社,2008 PP. 181194 12 薛棟梁.MCS-5l/151/25l單片機原理與應用M.中國水利水電出版社,200413 劉文濤.單片機語言C51典型應用設計M.人民郵電出版社,200514 余永權.ATMEL89系統單片機應用設計M.北京航空航天大學出版社,200215 周景潤,張麗娜,
40、劉印群.Proteus入門實用教程M.機械工業出版社,200716 王為青,程國鋼.單片機Keil C51應用開發技術M.人民郵電出版社,2007九 附錄 附錄一 程序源代碼STH0 EQU 31H STL0 EQU 32H SPK EQU P2.3TEMP EQU 33H ORG 00H LJMP START ORG 0BH LJMP INT_T0 START: MOV TMOD,#01H SETB ET0 SETB EA CLR P2.7MOV A,#00HMOV P0,AWAIT: MOV P1,#0FFH CLR P1.0 MOV A,P1 ANL A,#0F0H XRL A,#0F0
41、H JZ NOKEY1 LCALL DELY10MS MOV A,P1 ANL A,#0F0H XRL A,#0F0H JZ NOKEY1 MOV A,P1 ANL A,#0F0H CJNE A,#0E0H,NK1 MOV KEYBUF,#0 LJMP DK1 NK1: CJNE A,#0D0H,NK2 MOV KEYBUF,#1 LJMP DK1 NK2: CJNE A,#0B0H,NK3 MOV KEYBUF,#2 LJMP DK1 NK3: CJNE A,#70H,NK4 MOV KEYBUF,#3 LJMP DK1 NK4: NOP DK1: MOV A,KEYBUF MOV DPTR
42、,#TABLE MOVC A,A+DPTR MOV P0,A MOV A,KEYBUF MOV B,#2 MUL AB MOV TEMP,A MOV DPTR,#TABLE1 MOVC A,A+DPTR MOV STH0,A MOV TH0,A INC TEMP MOV A,TEMP MOVC A,A+DPTR MOV STL0,A MOV TL0,A SETB TR0 DK1A: MOV A,P1 ANL A,#0F0H XRL A,#0F0H JNZ DK1A CLR TR0 NOKEY1: MOV P1,#0FFH CLR P1.1 MOV A,P1 ANL A,#0F0H XRL A,#0F0H JZ NOKEY2 LCALL DELY10MS MOV A,P1 ANL A,#0F0H XRL A,#0F0H JZ NOKEY2 MOV A,P1 ANL A,#0F0H CJNE A,#0E0H,NK5 MOV KEYBUF,#4 LJMP DK2 NK5: CJNE A,#0D0H,NK6 MOV KEYBUF,#5 LJMP DK2 NK6: CJNE A,#0B0H,NK7 MOV KEYBUF,#6 LJMP DK2 NK7: CJ
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 媒介合作及勞務合同
- 苗木短期交易協議設計
- 塑料件的種類與識別陳勇課件
- 新都管道封堵施工方案
- 鐵路工程安全技術石家莊鐵路93課件
- 鐵路旅客服務心理鐵路旅客運輸服務課件
- 中國書法課件
- 中華八大文化課件
- 大學生職業規劃大賽《電子與計算機工程專業》生涯發展展示
- 東坡文化課件圖片
- 手術室暖心服務
- 藥品經營和使用質量監督管理辦法-專業解讀課件
- 大動脈炎完整版本
- 新版劍橋少兒英語預備級上冊測試卷PrestartersA
- 一次函數單元教學設計
- 2024紀檢監察綜合業務考試題庫(含答案)
- 中國LNG燃料船行業市場現狀分析及競爭格局與投資發展研究報告2024-2029版
- 公用設備工程師之專業知識(暖通空調專業)題庫含答案【滿分必刷】
- 人事行政工作經驗總結與分享
- 人工智能在智能體育中的應用
- zabbix監控方案規劃
評論
0/150
提交評論