freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

基于51單片機的電子琴設(shè)計畢業(yè)設(shè)計-在線瀏覽

2024-10-31 20:02本頁面
  

【正文】 播放、電子琴彈奏?;?51 單片機的電子琴設(shè)計 2 總之,本設(shè)計的電子琴有以下要求: ( 1)用鍵盤作出電子琴的按鍵,共 7 個,每鍵代表 1 個音符。 三、電子琴設(shè)計所用設(shè)備及軟件 本設(shè)計除了需要計算機,還會用到三款軟件:作圖軟件 Protel99SE、仿真軟件 Proteus、編程軟件 Keil uVision4。 表 1 軟件簡介 軟件名稱 軟件圖標 主要特點 作用 備注 Protel99SE Protel99SE 是 PC環(huán)境下以獨特設(shè)計管理和協(xié)作技術(shù)為核心的印制電路板設(shè)計軟件系統(tǒng),是基于 Windows 95/98/2020/NT 的全 32 位 EDA設(shè)計系統(tǒng)。 繪制電路圖和PCB 板 Proteus Proteus 軟件具有其它 EDA工具軟件的功能,諸如:原理布圖、 PCB 自動或人工布線、 SPICE電路仿真。 數(shù)字電路仿真 Keil uVision4 uVision4 在 uVision3 IDE 的基礎(chǔ)上,增加了更多大眾化的功能:多顯示器和靈活的窗口管理系統(tǒng);系統(tǒng)瀏覽器窗口的顯示設(shè)備外設(shè)寄存器信息;調(diào)試還原視圖 創(chuàng)建并保存多個調(diào)試窗口布局;多項目工作區(qū)簡化與眾多的項目。其中,輸入電路有 8 個獨立按鍵,通過按鍵隨意按下所要表達的音符,作為電平送給主體電路,中央處理器通過識別,解碼輸出音符,在揚聲器中發(fā)出有效的聲音。 如圖 1 所示基于單片機 AT89C51 的電子琴電路,它主要由琴鍵控制電路、數(shù)碼管顯示電路、音頻功放電路、時鐘 復(fù)時 鐘 復(fù)位電路 琴 鍵 控制電路 音 頻 功放電路 數(shù)碼管 顯示 電路 51單片機 圖 1 基于 51 單片機的電子琴電路的原理框圖 基于 51 單片機的電子琴設(shè)計 3 位電路和電源電路五部分所構(gòu)成。琴鍵控制電路采用了 8 輸入與門芯片 CD4068B,收集 8 個獨立按鍵的開關(guān)狀態(tài)信號,并觸發(fā)單片機的外部中斷來處理;而數(shù)碼管顯示電路負責顯示按下的琴鍵所對應(yīng)的鍵值;同時,音頻功放電路也會播放琴鍵對應(yīng)的音調(diào);電源電路為整個電路提 供能源。鍵盤按照連接方式可以分為獨立式和矩陣式鍵盤兩類。由于矩陣式鍵盤中行、列線為多鍵共用,各按鍵彼此將相互發(fā)生影響,所以必須將行、列線信號配合,才能確定閉合鍵位置。如圖 2所示為 4X4 矩陣式鍵盤電路,由一個 4X4 的行、列結(jié)構(gòu)可以構(gòu)成一個 16 個按鍵鍵盤,再結(jié)合芯片 74LS20 來觸發(fā)中斷 。 矩陣中無按鍵按下時,行線為高電平;當有按鍵按下時,行線電平狀態(tài)將由與此行線相連的列線的電平?jīng)Q定。 圖 2 矩陣式鍵盤電路 基于 51 單片機的電子琴設(shè)計 4 獨立式鍵盤 獨立式鍵盤的特點是一鍵一線,各鍵相互獨立,每個鍵各接一條 I/O 口線,通過檢測I/O 輸入線的電平狀態(tài),可判斷出被按下的按鍵。適用于鍵盤按鍵數(shù)目 較少的場合,不適用于鍵盤按鍵數(shù)目較多的場合,因為將占用較多的 I/O 口線。同時采用了 8 輸入與門芯片CD4068B,收集 8 個獨立按鍵的開關(guān)狀態(tài)信號,并觸發(fā)單片機的外部中斷來處理,大大提高了單片機 CPU的利用率。由于此次設(shè)計 的琴鍵控制電路需要 8個按鍵,故單純從 I/O 口線的占用的角度比較,獨立式需要占用 8 條 I/O 口線,而矩陣式卻只需 6 條。 表 2 獨立式和矩陣式的的優(yōu)缺點比較 鍵盤類型 優(yōu)點 缺點 獨立式 編程簡單 一鍵一線, 占用 I/O 口線多 矩陣式 占用 I/O 口線較少,尤其是在按 編程比較復(fù)雜 圖 3 獨立式鍵盤 電路 基于 51 單片機的電子琴設(shè)計 5 數(shù)碼管顯示電路 LED 數(shù)碼管顯示原理 LED( Light Emitting Diode) 發(fā)光二極管縮寫。常見的 LED 數(shù)碼管為 “8”字型的 , 共計 8 段。一般來說分共陽極和共陰極兩種接法,如圖 4 所示為 八段LED 數(shù)碼管結(jié)構(gòu)及外形 。反之,共陰極發(fā)光二極管的陰極連在一起,通常公共陰極接地。 LED數(shù)碼管的 a 至 g 七個發(fā)光二極管因接得電壓不同而導(dǎo)致不同亮暗的組合就能形成不同的字形,這種組合稱之為字形碼,如表 3 所示為八段 LED 數(shù)碼管的字形碼表。各位的共陰極(或共陽極)連接在一起并接地(或接 +5V);每位的段碼線( a~ dp)分別與一個 8 位的 I/O 口鎖存器輸出相連。 由此可知: 靜態(tài)顯示方式的顯示無閃爍,亮度都較高,軟件控制比較容易。如圖 5 所示為 四位七段數(shù)碼管靜態(tài)顯示電路。 在多位 LED 顯示時,為簡化硬件電路,通常將所有顯示位的段碼線的相應(yīng)段并聯(lián)在一起,由一個 8 位 I/O 口控制,而各位的共陽極或共陰極分別由相應(yīng)的 I/O 線控制,形成各位的分時選通。 圖 5 四位七段數(shù)碼管靜態(tài)顯示電路 基于 51 單片機的電子琴設(shè)計 7 動態(tài)顯示的優(yōu)點是硬件電路簡單,顯示器越多,優(yōu)勢越明顯。如果 “掃描 ”速率較低,會出現(xiàn)閃爍現(xiàn)象。由于靜態(tài)驅(qū)動方式的 顯示無閃爍,亮度較高, 編程簡單 ,加上本次設(shè)計的數(shù)碼管顯示電路只需要 1 個數(shù)碼管,故選擇靜態(tài)驅(qū)動方式來顯示數(shù)碼管更為合理。 音頻功放電路 如圖 8 所示音頻功放電路,它主要由音頻集成功放芯片 LM386 和揚聲器組成。電位器 Rp 是用來調(diào)節(jié)聲音的大小。常用的時鐘電路有兩種方式,一種是內(nèi)部時鐘方式,另一種是外部時鐘方式。這兩個引腳跨接石英晶體振蕩器和微調(diào)電容,構(gòu)成一個穩(wěn)定的自激振蕩器,圖 9 是 AT89S51 內(nèi)部時鐘方式的電路 , C1 和 C2 的典型值通常選擇為30pF, 石英晶體常選 6MHz 或 12MHz 的。 復(fù)位電路 單片機的初始化操作,給復(fù)位腳 RST 加上大于 2 個機器周期(即 24 個時鐘振蕩周期)的高電平就使 AT89C51 復(fù)位。 在單片機的實用系統(tǒng)中,一般 有兩種復(fù)位操作形式: 上電復(fù)位和手動復(fù)位。上電時,電容 C 充電加給 RST 引腳一個短的高電平信號,此信號隨著 VCC 對電容 C 的充電過程而逐漸回落,即 RST 引腳上的高電平持續(xù)時間取決于電容 C 充電時間。 手動復(fù)位在系統(tǒng)出 現(xiàn)操作錯誤或程序運行出錯時使用。 由于本設(shè)計的需要,同時采用這兩種復(fù)位方式,圖 10 復(fù)位 電路 圖 9 時鐘 電路 基于 51 單片機的電子琴設(shè)計 9 如圖 10 所示復(fù)位電路。直流穩(wěn)壓電源在 電源技術(shù) 中占有十分重要的地位 。 根據(jù)設(shè)計需要做 +5V 和 +12V 直流穩(wěn)壓電源電路,其電路圖如圖 12 和 13 所示。 理論計算如下: 對 A 點有: ? ………( 51) 1U 的壓降為 1 (1~ 2)uV? ……… (52) 11 AoV u u??……… (53) 由式 (51)、 (52)、 (53)可得:1 1 1 iiiouuu u u? ? ……… (54) 若要求將 220V交流電壓轉(zhuǎn)換成直流電壓 1 12ouV? ,由式 (54)可知: 變壓器 T1 的變比為1 1 11 . 5 1 . 5 2 2 0 ( 2 3 ~ 2 6 ) : 1 ( 1 ~ 2 ) 1 2iiiouuu u u ?? ? ???。琴鍵控制電路采用了 8 輸入與門芯片 CD4068B,收集 8 個獨立按鍵的開關(guān)狀態(tài)信號,并觸發(fā)單片機的外部中斷來處理;而數(shù)碼管顯示電路負責顯示按下的琴鍵所對應(yīng)的鍵值;同時,音頻功放電路也會播放琴鍵對應(yīng)的音調(diào);電源電路為整個電路提供能源。 六、電子琴系統(tǒng)軟件設(shè)計 系統(tǒng)功能 的實現(xiàn)一般包括硬件部分和軟件部分,一旦硬件確定下來,軟件要實現(xiàn)的功能也隨之確定。 系統(tǒng)硬件接口定義 系統(tǒng)硬件接口定義如表 5 所示。利用模塊化的思想,主函數(shù)只執(zhí)行初始化函數(shù)、音頻處理函數(shù) 和數(shù)碼管顯示函數(shù)。 iu i1uo1uBA圖 13 220V 轉(zhuǎn) 12V 電源電路圖 圖 14 主函數(shù)流程圖 開始 數(shù)碼管顯示 初始化 音頻處理 基于 51 單片機的電子琴設(shè)計 11 void main( ) { Init( )。//音頻處理函數(shù) LED_Display()。該函數(shù)對所需的 I/O 口、外部中斷 0、定時器 0 以及數(shù)碼管進行初始化配置。//先將 P0口置為 1,即關(guān)閉數(shù)碼管 Speaker = 0。//外部中斷 0 邊沿觸發(fā) EX0 = 1。//定時器方式 1 ET0 = 1。//關(guān)定時器 0 EA = 1。此函數(shù)根據(jù)鍵值掃描函數(shù)讀取的鍵碼,結(jié)合數(shù)碼管顯示出來。 void LED_Display(void) { if(Keycode0 amp。 Keycode8) P0 = ~table[Keycode]。//特殊功能鍵分別顯示 A、 b、 C TR0 = 0。鍵盤中斷的流程框圖如圖 17 所示,當按鍵按下時,外部信號觸發(fā)外部中斷,執(zhí)行鍵值掃描函數(shù),讀取對應(yīng)的鍵值。 鍵值掃描函數(shù) 由于本設(shè)計采用的是接觸開關(guān)式按鍵,故不可避免存在機械抖動。這種抖動會使系統(tǒng)處于不穩(wěn)定狀態(tài),故需要進行消抖處理。通常手動按下鍵然后立即釋放,這個操作中穩(wěn)定閉合的時間超過 20ms,因此單片機在檢測按鍵是否按下時都需要加上去抖動操作,有專門的去抖動電路或則芯片,但同用軟件延時的方法也能輕易解決抖動問題,沒必要添加多余的硬件。當按鍵按下去后,首先對其進行連續(xù)兩次取樣,如果兩次都為低電平,則輸出低電平;如果其中有一次高電平,則輸出高電平。如表 6 所示 按鍵編碼關(guān)系表 。 表 6 按鍵編碼關(guān)系表 按鍵名稱 鍵碼 (十六進制 ) 按鍵名稱 鍵碼 (十六進制 ) K1 0xfe K5 0xef K2 0xfd K6 0xdf K3 0xfb K7 0xbf K4 0xf7 K8 0x7f 重裝初值 定時中斷開始 結(jié)束 圖 18 定時中斷 流程圖 取反 鍵盤中斷開始 鍵值掃描 圖 17 鍵盤中斷 流程圖 結(jié)束 圖 19 按鍵被按下時電壓的變 化 基于 51 單片機的電子琴設(shè)計 13 void Key_Scan(void) { uint key。 //讀取 P1口狀態(tài) switch(key) //鍵值 { case 0xfe: //Do { Delayms(10)。 while(P1 != 0xFF)。 } … } } 音頻處理函數(shù) 樂曲由一些不同的音階構(gòu)成,而每 個音階對應(yīng)著不同的頻率,即利用單片機的定時器來產(chǎn)生所需要方波頻率信號的組合,可構(gòu)成所想要的樂曲。 如表 7 所示為所需頻率對應(yīng)的定時器初值表(簡稱 頻率 初值表 )。 表 7 頻率 初值表 音調(diào) 簡譜 (鍵值 ) 頻率( Hz) 定時器初值 (16 進制 ) 備注
點擊復(fù)制文檔內(nèi)容
環(huán)評公示相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1