鋼琴 DO RE MI
Keyboard DO RE MI
作者:江昱樺、陳佳妤、吳婉盈、麥琪、汪郁慈、蔡昀蓉 系級:電機二乙 學號:D0546358、D0511913、D0546018、D0589237、D0589594、D0589725 開課老師:何子儀 老師 課程名稱:微處理機系統實習 開課系所:電機工程學系 開課學年: 106 學年度 第二學期中文摘要 在忙碌的社會中,對小孩子的陪伴與寓教於樂難免被忽視,古典 鋼琴造價不斐,而在市場流通之電子琴功能繁多,體積與重量也不是 一個小孩子所能承受的,所以本文提出設計與製作一個簡單易瞭之小 型攜帶式電子琴-“鋼琴 DO RE MI”,希望能激勵小孩子自學的能力, 並提升音樂素養,在享受本作品之便利的同時,也感受到電子學與微 處理機系統竟能這麼運用。 以按鍵做輸入,利用 AT89S52 微控制器設計程式決定輸出之音 頻與 LED 及內建之樂譜,經音訊放大器調節音量,以揚聲器輸出聲 音。電路經曝光、顯影、蝕刻,並將元件一一焊接於電路板上,最後 把輸入端之按鍵拉出來製成符合人體工學之鍵盤,輸出端之 LED 排 列於對應之鍵盤上,整理線路做外觀整合。 本作品含兩種模式,普通模式為電子琴模式,另一種是音樂盒兼 教學模式,結合電子學和微處理機系統、音樂與學習創造出高效、高 機動性、低成本的人文素養與娛樂兼得之學習機具。
Abstract
With the key input, the AT89S52 microcontroller program designed determines the output frequency , LED and the built-in music score. The audio amplifier adjusts the volume, and the speaker outputs the sound. The circuit is exposed, developed, etched, and the components are soldered to the circuit board one by one. At last, the input keys are organized to create an ergonomic keyboard. The LEDs on the output are arranged on the corresponding keyboard.
This work consists of two modes. The common mode is the electronic piano mode. The other is the music box and teaching mode. Combining electronics and microprocessor systems, music and learning, it creates highly efficient, highly mobile, low-cost humanity and entertainment. Learning equipment.
目 次 一、 緒論 ... 4 1.1 動機 ... 4 1.2 研究目標 ... 4 二、 系統架構 ... 5 2.1 硬體架構 ... 5 2.1.1 AT89S52... 5 2.1.2 音訊放大電路 ... 7 2.2 軟體架構 ... 7 三、 系統功能 ... 9 四、 實驗結果與操作說明 ... 10 4.1 操作說明 ... 10 4.2 實驗結果 ... 10 4.3 問題討論 ... 11 五、 結論與未來展望 ... 12 5.1 未來展望 ... 12 5.2 結論 ... 12 六、 組員工作劃分 ... 16 七、 工作日誌 ... 17 八、 組員心得 ... 18 九、 附錄 ... 20
一、 緒論
1.1 動機
想做出一個有關音樂又可自我學習的機器,就想到了電子 琴,和傳統鋼琴不同的是它可在晶片中提前錄製曲子進去,需要 時觸發按鍵,它就可以以 LED 燈引導學習。1.2 研究目標
現在少子化的趨勢日漸嚴重,希望能做出一些可自我學習又 富有樂趣的小機器,代替父母給孩子的童年增添色彩。並且藉由 音樂培養孩子的興趣,藉由手指的靈活運動,活化大腦的協調性。二、 系統架構
本專題設計與製作是以 AT89S52 搭配按鍵輸入,揚聲器輸出所 製作出電子琴,本章節將分為硬體架構與軟體架構兩方面進行詳細的 介紹。2.1 硬體架構
本專題設計之硬體電路主要包含(1)AT89S52、 (2)LED (3)揚聲器、(4)按鈕、(5)音訊放大器。其主要功能有: 1. AT89S52:判斷按鈕訊號,傳輸指令給喇叭和 LED 燈 2. LED:輸出音樂對應位置。 3.揚聲器:輸出鋼琴聲 4.按鍵:輸入訊號進 AT89S52 5.音訊放大器:調整音量大小2.1.1 AT89S52
AT89S52 是屬於 MCS-51 單晶片的一種,RMA 容量 256byte,含 40 個接腳,接腳的功用如表 2.1。
圖 2.1 AT89S52 電路示意圖 表 2.1 AT89S52 之接腳功能表(有用到的腳位需放上) 腳位 接腳名稱 功能簡介(寫詳細) 40 VCC 接地 31 接電源 20 VSS 電源輸入 19、18 XTAL1、XTL2 接石英震盪器 9 RESET 重製出入腳位 1~8 P1.0~P1.7 LED 單純跟著按鈕亮
10~17 P3.0~P3.7 P3.0 做程式中斷 P3.7 做成是輸出接喇叭 21~28 P2.0~P2.7 LED 指導歌曲
2.1.2
音訊放大電路
2.2 軟體架構
本專題設計之軟體流程分為按鍵觸發(1)主程式、(2)外部中斷程 式模式切換、(3)mode1 電子琴、(3)mode2-1 音樂盒、(4)mode2-2 教學 模式、(5)資料庫三、 系統功能
依鍵盤,綠色 LED 燈各自發光、喇叭響起正確的音律。當按下中斷 按鈕,切入音樂盒模式後,直接進入教學模式,按到正確的鍵,喇叭 才會發聲,樂譜才會繼續,結束後自動回到電子琴模式。旋轉可變電 阻可改變聲音大小。
四、 實驗結果與操作說明
4.1 操作說明
• 測試喇叭是否正常。 • 測試 led 是否正常。 • 測試 8052 是否正常。 1. 打開電源一一按下鍵盤。 2. 試著轉動可變電阻。 3. 中斷鍵切換模式。4.2 實驗結果
本專題之硬體包含:(1)AT89S52、(2)音訊放大電路、(3)鍵盤、(4) 喇叭、(5)LED 燈等五個部份,其運用為鍵盤輸入訊號給 AT89S52, 再傳送指令驅動電路,使喇叭與 LED 燈動作。軟體包含:(1)主程式、 (2)外部中斷程式模式切換、(3)mode1 電子琴、(3)mode2-1 音樂盒、 (4)mode2-2 教學模式、(5)資料庫,以鍵盤輸入的訊號更改延遲副程式 的參數值,再以音訊放大電路控制音量大小,使揚聲器發出不同的音 律。 經實驗結果,依鍵盤,綠色 LED 燈各自發光、喇叭響起正確的 音律。當按下中斷按鈕,切入音樂盒模式後,直接進入教學模式,按到正確的鍵,喇叭才會發聲,樂譜才會繼續,結束後自動回到電子琴 模式。旋轉可變電阻可改變聲音大小。
4.3 問題討論
1. 喇叭會受鐵磁性物質引響,音訊放大器雜訊容忍度低。 2. 紅色 led 燈採 8052 端高電壓,另一端接地;不若綠色 led 燈 8052 端接地,另一端接 vcc 亮。 3. 使用單芯線連接電路板,焊錫容易掉,飽禁摧殘的電路板,銅會 消失。 4. 曝光時要注意正反面與曝光時間。 5. 8051 盡量使用低電位輸入,免去麻煩,P1 須外加電阻、P3 有特 殊功能。 6. 要先在麵包板上實作成功在洗板,尚無需求的腳位可以先拉排針 出來。 7. 注意焊接器材的保養。五、 結論與未來展望
5.1 未來展望
1. 鋼琴應有的功能,如:可同時彈三個音,演奏出美麗的和絃。 2. 增加自行錄製功能,把輸入進去的曲子,錄製起來轉成教學功能。 如今雙薪家庭多,父母沒時間陪孩子,如曾學過鋼琴,可錄製後, 留給孩子自行練習,在學會後,一起挑下一曲錄製,以音樂陪伴 小孩。 3. 音頻改變給音樂更大的多樣性。5.2 結論
本專題鋼琴 DO RE MI 採用想法、設計、實作與操作方法執行, 以達到預期目標結果,如圖 1 所示。產品系統架構、創意想法之完整 性會決定其成功或失敗。因此,本專題初期產品系統架構,主要藉由 歷屆學長作品展示、相關文獻參考(網路搜尋、圖書館…)與平時所見 所聞所激發的創意,再與老師及助教討論達到想法反饋,進一步獲得 完整之系統架構想法,如圖 2 所示。 硬體與軟體,設計之電子產品主要是以微處理機控制器為基礎在 加之電子學的知識,其原理與周邊電路之認識、了解與設計,都藉由 老師課堂講解、作業練習、上機實習演練以及查閱課本來完成。本專題在硬體系統設計方面為微處理機控制器及其周邊電路與機構組 裝,其執行主要藉由參考相關電路及與老師助教討論系統功能流程圖 來獲得,接著利用麵包板完成初階測試系統功能,如按鈕與 LED 燈、 喇叭、中斷及音訊放大器等功能測試。在軟體設計方面,則利用 Keil 微控制器系統開發軟體,撰寫組合語言程式碼及上機實際操作,完成 系統之各項功能,如圖 3 所示。 開始 設計(D) 實作(I) 構思(C) 操作(O) 結束
路板,構成產品核心物件。藉由上機 Captuer、Layout 將電路佈線完 成,列印至感光紙,接著曝光至感光電路板,再經過溶解液將非電路 佈線之隔絕膜溶解並蝕刻。接著鑽孔、零件插件、焊接、拉線,完成 產品之實作,最後確認電路板完整功能,各項執行步驟如圖 4 所示。 實作完成之電子產品,其功能則可藉由按鍵或觸控來操作。其操作流 程與步驟於影片、操作手冊逐一說明,並於期末展示其各項操作功 能,如圖 5 所示。 圖 4 實作流程 圖 5 操作流程
本專題依據 CDIO 方法完成一項電子產品之實作,可培養構思完 整系統架構、設計與技術整合、實現實際製作以及產品展示與推廣之 各項能力,達到學界與產業界無縫接軌之教育學習與訓練目標。
六、 組員工作劃分
工作分配 組員姓名 陳佳妤 洗板鑽孔、機構設計、外觀製作、WORD 製作、報告 吳婉盈 焊接、機構設計、結合按鈕 江昱樺 設計電路圖、寫程式、洗板鑽孔、結合按鈕、ppt word 影片 麥 琪 Capture、Layout、採購、機構製作 汪郁慈 焊接、PPT 製作、修程式、修焊接 蔡昀蓉 Capture、Layout、採購、機構製作、音訊放大器七、 工作日誌
第一階段 第二階段 第三階段 第四階段 陳佳妤 機構設計 提案 洗出電路板 鑽電路孔 音訊放大器 基座固定 外觀製作 吳婉盈 電路設計 提案 電路繪製 焊接電路 焊接電路 音訊放大器 整體結合按鈕 焊接上電路板 江昱樺 電路設計 規劃程式 洗出電路板 鑽電路孔 修改程式 音訊放大器 完成最終程式 基座按鈕固定 麥 琪 規劃程式 機構設計 Capture 電路圖 Layout 出電路板 音訊放大器 機構製作 基座固定 汪郁慈 規劃程式 機構設計 電路繪製 焊接電路 音訊放大器 協助修改程式 蔡昀蓉 機構設計 提案 Capture 電路圖 Layout 出電路板 音訊放大器 機構製作 基座固定八、 組員心得
• 陳佳妤 • 剛開始做的時候很徬徨,不知道方向在哪裡,通過一次次的討論,最終定 案以上功能,再開始製做後遇到很多困難,如中斷程式腳位的設計和按鈕 的輸入電路,和一開始的預想有差距,後來電路又重新設計,重新洗板後 又出現了小小失誤,真的有點難受,但在一一克服之後,尤其是看到成品 時很有成就感,這次的專題我學到很多,8051 的程式、設計電路、洗電 路板、焊接,最終成品出來,從無到有,在一一經歷過這些之後,才真正 感覺到自己的成長,過程中,很感謝一直幫忙我們的老師與助教們。 • 吳婉盈 • 剛開始想題目的時候毫無頭緒,後來決定做電子琴之後,兩個模式又是一 個問題。第一次焊接的時候,錫全部都黏在一起,還聞到怪味道,才發現 頭髮燒掉了。好不容易焊好了第一個板子之後才發現做錯了,於是又焊了 第二次,不過因為和很多次了,所以第二次焊的也漂亮多了,這次的專題 讓我學到 capture 和 layout 的實際應用,還有良好的焊工,從煩躁的 layout 到看到成品的開心,真的覺得在這些過程中學到了很多,也有了小小的成 就感。 • 江昱樺 • 原本以為已經有範本可以參考,電路應該不會有問題,就直接著手 Layout,並洗出來。在麵包板上試驗時,才發現電路不是我們想的那般, 後來求助了助教與老師們,了解 8052 內部構造,將各種困難一一破解, 洗了第二塊電路,卻遇到了第一次洗板時沒遇到的問題,感光電路板會隨 製造日期的久遠需加長曝光的時間,所以洗得不完美,只能說做實驗是一 件燒資金的事情。焊接完後發現無法動作,是因為曝光時曝反了,8052 和 BJT 的腳位也就對不上,當修正完能正確動作的那一刻,喜極而泣呀! 老師從一開始就希望我們做複雜一點,結合了電子學實驗的音訊放大器, 始作品更加豐富。再次感謝大家的指導與協助• 麥琪 • 微處理機實習還蠻有趣的,從零到一做出一個完成品心有感慨啊,雖然好 像別班也有做電子琴而且好像做的比我們還厲害的感覺,不過沒關係,我 覺得我們的也不錯厲害了👍 • 汪郁慈 • 從一開始都不知道要做甚麼,到大家一起決定題目,設計電路圖,其實很 有趣也很開心。之前沒有焊接過感光電路板,真的不是很好焊,但後來老 師有教我們要怎麼焊接,就比較上手。這次專題讓我學會畫 capture 和 layout,在之後電子學實驗專題時,就變得很容易。再來就是,在焊接完 成之後,因為一開始不太會焊接,所以有些元件沒焊好,造成接觸不良, 就要一個一個重新解焊、重弄,是真的有點挫折,但是到最後,我們開始 慢慢有成品出來,慢慢的功能可以使用,真的很開心。 • 蔡昀蓉 • 一開始決定主題之後,才發現課本上也有。然後大家就自然而然的分工合 作,從買材料開始就花了很多時間,之後畫電路圖也是改了再改才能 layout,在 layout 上也花了很多時間,要想怎樣才能讓線不碰到,好了之 後洗板子跟鑽孔也滿有趣的。要測試的時後一直有問題出現,尤其是焊錫 一直掉很頭痛。之後弄外觀也是討論了很久,最後跟電子學專題的音訊放 大器結合,才完成一整個專題,真是不容易。
九、 附錄
附錄 A:.asm 檔 ORG 0000H AJMP MAIN ;===============中斷副程式切入音樂盒模式=============== ORG 0003H MOV R3,#1 ;---R3:0/1=電子琴/音樂盒--- RETI ;===============中斷設定=============== MAIN: SETB P3.2 ; 即 P3.2(INT0___)為輸入腳 SETB IT0 ; 負緣觸發型中斷(高電位->低電位) SETB EX0 ; 外部中斷 0 致能(使用 INT0___中斷) SETB EA ; 外部中斷 0 致能(使用中斷) MOV P2,#0 ;===============電子琴=============== ORL P1,#11111111B ; 設 P1 為輸入端,按鍵接 vcc,LED 接地 ORL P3,#11111111B MODE: MOV R3,#0TEST: MOV A,#01H ; ---偵測鍵盤--- MOV R4,A
JNB P1.7,DO JNB P1.6,RE JNB P1.5,MI
JNB P1.4,FA JNB P1.3,SO JNB P1.2,LA JNB P1.1,SI JNB P1.0,DOH CJNE R3,#1,TEST AJMP START
DO: MOV R6,#126 ; ---設定音頻&節拍--- MOV R5,#33 ; 此音階 1/4 拍的時長 AJMP OUTPUT RE: MOV R6,#113 MOV R5,#37 AJMP OUTPUT MI: MOV R6,#100 MOV R5,#41 AJMP OUTPUT FA: MOV R6,#95 MOV R5,#44 AJMP OUTPUT SO: MOV R6,#85 MOV R5,#49 AJMP OUTPUT LA: MOV R6,#75 MOV R5,#55 AJMP OUTPUT SI: MOV R6,#67 MOV R5,#62 AJMP OUTPUT DOH: MOV R6,#63 MOV R5,#65
;===============音樂盒===============
START: MOV DPTR,#MUSIC ; DPTR 指向 樂譜之開頭 CONT: CLR A
MOVC A,@A+DPTR CJNE A,#40,OK ACALL PLAY AJMP MODE OK: PUSH ACC INC DPTR CLR A MOVC A,@A+DPTR MOV R4,A POP ACC CHK1: CJNE A,#01,CHK2 ; ---音符代碼--- SETB P2.0 ; 紅色 LED 燈 AJMP DO CHK2: CJNE A,#02,CHK3 SETB P2.1 AJMP RE CHK3: CJNE A,#03,CHK4 SETB P2.2 AJMP MI CHK4: CJNE A,#04,CHK5 SETB P2.3 AJMP FA CHK5: CJNE A,#05,CHK6 SETB P2.4 AJMP SO CHK6: CJNE A,#06,CHK7 SETB P2.5 AJMP LA
CHK7: CJNE A,#07,CHK8 SETB P2.6 AJMP SI CHK8: CJNE A,#08,CHK0 SETB P2.7 AJMP DOH CHK0: CJNE A,#00,CONT2 AJMP NON CONT2: INC DPTR MOV P2,#0 AJMP CONT
OUTPUT: PUSH 05 ; 使用 PUSH/POP 時,累積器 A 應寫 ACC,暫存器 應寫其位址.若 PUSH/POP R5 組譯時會出錯誤訊息(R5 的位址 is 05) LOOP: CJNE A,#00,SOUND ; ---發聲---
AJMP MUTE SOUND: CLR P3.7 MUTE:ACALL DELAY SETB P3.7 ACALL DELAY DJNZ R5,LOOP POP 05 DJNZ R4,OUTPUT CJNE R3,#0,CONT2 AJMP TEST DELAY: MOV B,R6 ; ---延遲副程式--- DL: MOV R7,#6 DJNZ R7,$
;===============教學模式=============== PLAY: MOV DPTR,#MUSIC
CONT0: CLR A MOVC A,@A+DPTR CJNE A,#40,OK0 RET
OK0: PUSH ACC INC DPTR CLR A MOVC A,@A+DPTR MOV R4,A POP ACC CK1: CJNE A,#01,CK2 ;---教學模式之音符代碼--- SETB P2.0 C1: JNB P1.7,DO0 SJMP C1 CK2: CJNE A,#02,CK3 SETB P2.1 C2: JNB P1.6,RE0 SJMP C2 CK3: CJNE A,#03,CK4 SETB P2.2 C3: JNB P1.5,MI0 SJMP C3 CK4: CJNE A,#04,CK5 SETB P2.3 C4: JNB P1.4,FA0 SJMP C4 CK5: CJNE A,#05,CK6 SETB P2.4 C5: JNB P1.3,SO0 SJMP C5 CK6: CJNE A,#06,CK7
SETB P2.5 C6:JNB P1.2,LA0 SJMP C6 CK7: CJNE A,#07,CK8 SETB P2.6 C7: JNB P1.1,SI0 SJMP C7 CK8: CJNE A,#08,CONT1 SETB P2.7 C8: JNB P1.0,DOH0 SJMP C8 CONT1: INC DPTR MOV P2,#0 AJMP CONT0
DO0: MOV R6,#126 ;---教學模式之音頻&節拍--- MOV R5,#33 AJMP OUTPUT0 RE0: MOV R6,#113 MOV R5,#37 AJMP OUTPUT0 MI0: MOV R6,#100 MOV R5,#41 AJMP OUTPUT0 FA0: MOV R6,#95 MOV R5,#44 AJMP OUTPUT0 SO0: MOV R6,#85 MOV R5,#49 AJMP OUTPUT0 LA0: MOV R6,#75 MOV R5,#55
MOV R5,#65 AJMP OUTPUT0 OUTPUT0: PUSH 05 ;---教學模式之輸出--- LOOP0: CLR P3.7 ACALL DELAY SETB P3.7 ACALL DELAY DJNZ R5,LOOP0 POP 05 DJNZ R4,OUTPUT0 AJMP CONT1 ;===============譜===============音階代碼,音拍代碼,音階, 音拍(1/4:01,1/2:02,3/4:03,1:04,2:08...) MUSIC: DB 01,01,02,02,03,03,04,04 DB 05,08,06,02,07,04,08,02 DB 00,08,06,02,07,04,08,02 DB 40 END
參考文獻 [1]單晶片微電腦 8051/8951 原理與應用
[2]THE 8051 MICROCONTROLER AND EMBEDDED SYSTEMS [3]逢甲資電學院專題論文