可存儲式電子琴_第1頁
可存儲式電子琴_第2頁
可存儲式電子琴_第3頁
可存儲式電子琴_第4頁
可存儲式電子琴_第5頁
已閱讀5頁,還剩18頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、學生姓名學號所在專業(yè)所在班級指導教師負責內容課程設計可存儲式電子琴系統(tǒng)設計李真,謝偉志,武光霞,孫宏杰,鄭悅,周錦波,200723502147機械設計制造及其自動化機 071 -6劉鵬同組人員可存儲式電子琴一、任務書本設計利用 8051 單片機的控制程序結合 LCD 設計一臺數字式可存儲是 電子琴?;竟δ転椋?、使用 LCD 顯示器來顯示音節(jié)輸入的相關信息;2、當按下鍵盤組相對按鍵,壓電喇叭會發(fā)出相對音節(jié)單音,共有兩個 八度音階;3、所有單音會存入 8051 內而保存起來;4、至多可以輸入 64 個單音,可以一起演奏出來;演奏時可以按鍵中 斷;可以實時顯示目前正演奏的單音碼 .二、原理說明A

2、 8051單片機介紹2.1基本特性1J1h, !h心1|P0.1/AD1QC TifA38二丁XTALWPC 32D2FCI4 也 D4M.5/AD5DA, -ft/A rwt3534339RO.TP0,7/AD7P2 ”陽P2.2/AW 口 2.3/A11 P2.4/A12 PJ.5/A13 P2.E/A14 P2.7/A152129PSERF ALE FA-4312fT3T卜1|Z j fl0r I uPI 1Pl 2Brl T CYS5P2期間對外部輸入引腳TO(T1)采樣,芮在一個機器周期中采樣值位高電當設置為計數器工作方式時,計數輸入 信號來自外部引腳TO (P3.4)、T1(P3.

3、5)上 的計數脈沖,外部每輸入一個脈沖,計數器 THO、TLO(或 TH1、TL1)做一次 “+ 1” 運 算。而在實際工作中,計數器由計數脈沖的 下降沿觸發(fā),及CPU在每個機器周期的平,而在下一個機器周期中采樣值為低電平,則緊跟著的再下一個機器周期 的S3P1期間計數值就“ +1”,完成一次計數操作。因此確認一次外部輸入脈 沖的有效跳變至少要花費2個機器周期,即24個振蕩周期,所以最高計數頻 率為振蕩頻率的124。為了確保計數脈沖不被丟失,則脈沖的高電平及低電平 均應保持一個機器周期以上。對外部計數脈沖的基本要求如上圖所示,Tcy為機器周期。不管時定時還是計數工作方式,定時器 TO或T1再對

4、內部時鐘或外部脈 沖計數時,不占用CPU的時間,除非產生溢出才可能中斷 CPU的當前操作 由此可見,定時/計數器是單片機內部效率高且工作靈活的部件。另外,每個定時/計數器還有四種工作方式,即有四種邏輯結構模式。其 中工作方式02對TO和T1都是一樣的,而方式3對兩者是不同的【。2.5.28051定時器模式的工作8051內含有2個16位的定時計數器,稱為定時器0及定時器1,如同一 般定時計數器的功能,其主要有兩種作用:第一、執(zhí)行一段特定時間長短的 計時。第二、可以計算由T0或T1引腳輸入的脈沖數。前者在應用上可以產 生正確的時間延遲及定時去執(zhí)行中斷服務例程,這是單片機在軟件控制程序 上常用到的技

5、巧,而后者的應用則是計數器或是計數器的設計。這兩個定時器本身都有4種工作模式可供使用:(1)模式0: 13位計時工作模式。(2)模式1: 16位計時工作模式。(3)模式2:具有自動重新加載計數值的8位計時工作模式。(4)模式3:在此模式工作時,定時器1本身停止計時的工作。而定時器0分為兩個獨立的8位定時器由TL0及TH0來負責計時的任 務。模式0到模式2中,定時器0和定時器1的使用方法都一樣,只有在模式3 時才不同。2.5.3 定時計數器相關控制寄存器設計定時器相關控制寄存器說明如下表所示.(1)TCON寄存器每個位都可按位尋址,可分別設置或清除,適當地控制這些位便可控制定 時器地動作B7B6

6、B5B4B3B2B1B0TF1TR1TF0TR0IE1IT1IE0 IE0其中有關符號說明如下:a. TF1: TC0N.7,定時器1溢位標志,當定時器計時終止產生溢位時, 硬件會自動設為1,而在執(zhí)行過中斷服務程序后,硬件會自動清除該 位。b. TR1: TCON.6,定時器1計時啟動位,通過軟件來設置或清除做啟動 或停止計數的功能。c. TF0: TCON.5,定時器0溢位標志,其功能同 TF1。d. TR0: TCON.4,定時器0定時啟動位,其功能同 TR1。e. IE1: TCON.3,外部中斷1 (引腳INT1 )的中斷設置標志。當INT1引 腳由外部送入中斷信號,而硬件檢測到此信號

7、時,會將此位設置。在執(zhí)行過中斷服務例程后,硬件會自動清除此位。f. IT1: TCON.2,外部中斷1的中斷信號類型設置,當IT1 = 1時,中斷信 號位負緣觸發(fā)。若IT仁0時則為低電平觸發(fā)。g. IE0: TCON.1,外部中斷0 (引腳INT0)的中斷設置,當INT0引腳由外部送入中斷信號,而硬件檢測到此信號時將此位設置,在執(zhí)行過中斷服務程序后,硬件自動清除此位。h. IT0: TCON.0,外部中斷0的中斷信號類型設置,當IT0=1時,中斷信 號為負緣觸發(fā)。若IT0=0時,則為低電平觸發(fā)。定時計數器相關控制寄存器及其說明名稱地址功能TCON88H定時器控制寄存器TMOD89H定時器工作模

8、式選擇寄存器TH08CH定時器0高8位計時寄存器TL08AH定時器0低8位計時寄存器TH18DH定時器1高8位計時寄存器TL18BH定時器1低8位計時寄存器(2) TMOD計時模式選擇寄存器此寄存器不可按位尋址,其結構如下:B7B6B5B4B3B2B1B0GATEC/TM1M01GATEC/T|.定時器11定時器0M1M0其中的有關符號說明如下:a. GATE:定時器動作的開關控制位,當GATE=0時,定時器在TR0=1 或TR1 = 1時會工作。而當 GATE=1時,且TR0=1或TR1 = 1,定時器 要在INTO或INT1引腳成為高電平時才會執(zhí)行計時的工作。b. C/T:計時功能或計數功

9、能的選擇位,C/T=0執(zhí)行計時工作,而C/T=1 時才執(zhí)行計數的功能。c. MO、M1:工作模式選擇,其設置情況說明如表 1-4所示。TMOD寄存器的B1、B0位的設置及其說明M1工作模式M000模式001模式110模式211模式3(3) IE:中斷啟用寄存器可按位尋址,地址A8H,用來啟用各種中斷信號的產生,各個位說明如B7B6B5B4B3B2B1B0ET0EAEX0ET2ESET1EX1其中的有關符號說明如下:a. EA(IE.7): EA=0時,所有中斷禁用(中斷不產生);EA=1時,各中下:斷的產生由個別的啟用位決定。b. ( IE.6):保留。c. ET2(IE.5):啟用定時器2溢

10、位的中斷(8052用)。d. ES (IE.4):啟用串行端口的中斷(ES= 1啟用,ES=O禁用)e. ET1(IE.3):啟用定時器1中斷。f. EX1(IE.2):啟用外部中斷INT1的中斷。g. ETO(IE.I):啟用定時器0中斷。h. EXO(IE.O):啟用外部中斷INTO的中斷。B. LED原理選用的是共陰極的LEDF3:irk R4:nR5ICE .型374-*pnmcnFD.1JAC1和曲閃 PD4,C*PD5fD5 pnece PDTCT發(fā)光二極管的陰極連在一起的稱為共陰極顯示器。通常的七段LED顯示塊中有八個發(fā)光二極管,故也稱為八段顯示器。其中七個發(fā)光二極管構成七 筆字

11、型“ 8” 一個發(fā)光二極管構成小數點。七段顯示塊與單片機接口非常容易。 只要將一個八位并行輸出口與顯示塊的發(fā)光二極管相連即可。八位并行輸出口輸出不同的字節(jié)數據即可獲得不同的數字或字符。P2.TJW.15P3.1JTXDID1112PMNTUiS-P3flNT1 pmnnP3_TjRTFITC .蜂鳴器SO UNDER1、蜂鳴器模擬輸出DO,RE,MI.的音階聲音。蜂鳴器發(fā)聲過程仍由按鍵啟動,定時器控制鳴叫頻率。2、據不同音階的頻率,計算出定時器的定時初值和定時周期D、鍵盤掃描1.鍵盤輸入信息的主要過程a、CPU判斷是否有鍵按下;b、確定按下的是哪一個鍵;c、把此鍵代表的信息翻譯成計算機所能識別

12、的代碼,如ASCII或其他特征碼以上1.2和1.3是由軟件來完成的,所以用非編碼鍵盤。2.掃描程序查詢的內容為:a、查詢是否有鍵按下首先對P0 口進行初始化PO=OxFO利用if語句進行判斷,判斷表達式是P1!=0xF0,如果為真則執(zhí)行key sean()子程序,如果為假則執(zhí)行else.b、查詢按下鍵的行列位置。利用key_sean()來進行鍵盤查詢檢測,先判斷列,在判斷行,具體見程序。c、對得到的行號和列號進行譯碼,得到鍵值。d、鍵盤的判斷是均進行延時,以防止鍵盤抖動的干擾。利用key_sean()來進行鍵盤查詢檢測。E、以定時器產生各種頻率的聲音原理及說明由于定時器可以產生各種頻率的聲音,

13、所以由喇叭發(fā)出“DO”、“RE”、“ME” .的音階。定時器0工作于模式0,計時時間長短所發(fā)音的頻率而定,下表列出各個音符對應的頻率值:簡 12345671234567C5符D5E5F5G5 A5 B5 C6 D6 E6頻104117131523 587 659 698 784880 987率648F6G6A6B61391561761976705由頻率值推得定時器計數初值,可由以下關系式求得:t 1/ f ( s)co (in t)t/2lo (8192 co)032hi (8192 co) / 32其中符號的含義說明如下:f :頻率值t :方波寬度,以 s 表示 co :定時器所計數的次數

14、lo :計數初值低字節(jié) hi :計數初值高字節(jié) 經計算得到以下一些數據:XTAL = 12 MHZf = 523co=956TH0value=226TL0value=4f = 587co=851TH0value=229TL0value=13f = 659co=758TH0value=232TL0value=10f = 698co=716TH0value=233TL0value=20f = 784co=637TH0value=236TL0value=3f = 880co=568TH0value=238TL0value=8f = 987co=506TH0value=240TL0value=6f =

15、 1046co=478TH0value=241TL0value=2f = 1174co=425TH0value=242TL0value=23f = 1318co=379TH0value=244TL0value=5f = 1396co=358TH0value=244TL0value=26f = 1567co=319TH0value=246TL0value=1f = 1760co=284TH0value=247TL0value=4value=3f = 1975co=253 THO value=248 TLO附錄2:原理圖XTAF3ESIpfflEMALE目一asoa a.wm 吾口3 3W aMM

16、 sss 目芳口 Tss s 心星1口 K3蚩二一囂=U.71A15k1.Q3X5 3-mD 易 3nRTT s.-sd suplaLMt=i附錄 3:程序清單#include #include #define uchar unsigned char#define uint unsigned int/共陰極數碼管段碼表 ,最后一字節(jié)為黑屏Uchar codeDSY_CODE=0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0x88,0 x83,0xc6,0xa1,0x86,0x8e,0xbf;/各音符對應的延時表Unit code tone_

17、delay_table=64021,64103,64260,64400,64524,64580,64684,64777,64 820,64898,64968,65030,65058,65110,65157,65178;void delay_1ms(uint ms) uchar i; while(ms-) for(i=0;i4)八OxOF;switch(Tmp)case 1: k+=0; break;case 2: k+=4; break;case 4: k+=8; break;case 8: k+=12;break;default: return; /無鍵按下,返回key_NO=k;sbit beep=P3A0;void play_tone() interrupt 1TH0=to

溫馨提示

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

評論

0/150

提交評論