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

正文內(nèi)容

畢業(yè)論文-基于at89s52單片機(jī)的電子琴設(shè)計(jì)(編輯修改稿)

2025-02-12 22:09 本頁面
 

【文章內(nèi)容簡介】 9S51 單片機(jī)的工作電壓范圍: — , 所以通常給單片機(jī)外接 5V直流電源。連接方式為 VCC(40腳):接電源 +5V端 VSS(20腳):接電源地端 時(shí)鐘電路:單片機(jī)工作的時(shí)間基準(zhǔn),決定單片機(jī)工作速度。 時(shí)鐘電路就是振蕩電路,向單片機(jī)提供一個(gè)正弦波信號(hào)作為基準(zhǔn),決定單片機(jī)的執(zhí)行速度。 AT89S51 單片機(jī)時(shí)鐘頻率范圍: 0— 33MHz。 時(shí)鐘電路連接方式為: 復(fù)位電路:確定單片機(jī)工作的起始狀態(tài),完成單片機(jī)的啟動(dòng)過程。 10 單片機(jī) 接通電源時(shí)產(chǎn)生復(fù)位信號(hào),完成單片機(jī)啟動(dòng),確定單片機(jī)起始工作狀態(tài)。手動(dòng)按鍵產(chǎn)生復(fù)位信號(hào),完成單片機(jī)啟動(dòng),確定單片機(jī)的初始狀態(tài)。 通常在單片機(jī)工作出現(xiàn)混亂或 “ 死機(jī) ” 時(shí),使用手動(dòng)復(fù)位可實(shí)現(xiàn)單片機(jī)“ 重啟 ” 。 硬件總體設(shè)計(jì)圖如圖 3- 1: 圖 3- 1利用 PROTEUS仿真設(shè)計(jì)的硬件電路圖 系統(tǒng)的工作原理 本系統(tǒng)掃描鍵盤矩陣、顯示按鍵、揚(yáng)聲器發(fā)出對應(yīng)音符。 用 AT89S52 的并行口 P0 接 44 矩陣鍵盤,以 - 作輸入線,以 - 作輸出線;在數(shù)碼管上顯示每個(gè)按鍵的 “0- F”序號(hào)。 總體電路具體原理如下: 11 否 是 圖 3- 2 系統(tǒng)工作原理圖 開始 模塊初始化 發(fā)送掃描碼 有鍵按下 掃描鍵盤矩陣 顯示按鍵 啟動(dòng)定時(shí)器 停止播放 延時(shí) 結(jié)束 12 矩陣鍵盤模塊 a0a1a2a3a4a5a6a7a7a6a3a2a1a0a5a4R2P U L L U PR3P U L L U PR4P U L L U PR5P U L L U PR6P U L L U PR7P U L L U PR8P U L L U PR9P U L L U P 圖 33 矩陣鍵盤模塊圖 如圖 33:在鍵盤中按鍵數(shù)量較多時(shí),為了減少 I/O 口的占用,通常將按鍵排列成矩陣形式。在矩陣式鍵盤中,每條水平線和垂直線在交叉處不直接連通,而是通過一個(gè)按鍵加以連接。這樣,一個(gè)端口(如 P0 口)就可以構(gòu)成 4*4=16 個(gè)按鍵,比直接將端口線用于鍵盤多出一倍, 而且線數(shù)越多,區(qū)別越明顯,比如再多加一條線就可以構(gòu)成 20 鍵的鍵盤,而直接用端口線則只能多出一個(gè)鍵。由此可見,在需要的鍵數(shù)比較多時(shí),采用矩陣法來做鍵盤是合理的。 矩陣式結(jié)構(gòu)的鍵盤顯然比直接法要復(fù)雜一些,識(shí)別也要復(fù)雜一些,列線通過電阻接正電源,并將行線所接的單片機(jī)的 I/O 口作為輸出端,而列線所接的 I/O 口則作為輸入。這樣,沒有鍵按下時(shí),所有的輸出端都是高電平,代表無鍵按下。行線輸出是低電平,一旦有鍵按下,則輸入線就會(huì)被拉低,這樣,通過讀入輸入線的狀態(tài)就可得知是否有鍵按下了。 13 矩陣式鍵盤的按鍵識(shí)別方法 : 確定矩 陣式鍵盤上何鍵被按下,介紹一種“行掃描法”。行掃描法又稱逐行掃描查詢法,是一種最常用的按鍵識(shí)別方法。 判斷鍵盤中有無鍵按下, ,將全部行線 a0a3置低電平,然后檢測列線的狀態(tài),只要有一列的電平為低,就表示鍵盤中有鍵被按下,而且閉合的鍵位于低電平線與 4根行線相交叉的 4個(gè)按鍵之中。再判斷閉合鍵所在的位置,依次將行線置為低電平時(shí),再逐行檢測各列線的電平狀態(tài),若某列為低電平,則該列線與置為低電平的行線交叉處的按鍵為閉合。若所有的列線均為高電平,則無按鍵按下。 鍵盤接口必須具有的 4 個(gè)基本功能 : ( 1)去抖動(dòng):每個(gè)按鍵 在按下或松開時(shí),都會(huì)產(chǎn)生短時(shí)間的抖動(dòng)。抖動(dòng)的持續(xù)時(shí)間與鍵的質(zhì)量相關(guān)。所謂抖動(dòng)是指在識(shí)別被按鍵是必順避開抖動(dòng)狀態(tài),只有處在穩(wěn)定接通或穩(wěn)定斷開的狀態(tài)才能保證識(shí)別正確無誤。去抖問題可通過軟件延時(shí)或硬件電路解決。 ( 2)防串鍵:防串鍵是為了解決多個(gè)鍵同時(shí)按下或者前一按鍵沒有釋放又有新的按鍵按下時(shí)產(chǎn)生的問題。常用的方法有雙鍵鎖定和 N鍵輪回兩種方法。雙鍵鎖定,是當(dāng)有兩個(gè)或兩個(gè)以上的按鍵按下時(shí),只把最后釋放的鍵當(dāng)作有效鍵并產(chǎn)生相應(yīng)的鍵碼。 N 鍵輪回,是當(dāng)檢測到有多個(gè)鍵被按下時(shí),能根據(jù)發(fā)現(xiàn)它們的順序依次產(chǎn)生相應(yīng)鍵的鍵碼。 (3)被按鍵識(shí)別:如何識(shí)別被按鍵是接口解決的主要問題,一般可能過軟硬結(jié)合的方法完成。常用的方法有行掃描法和線反轉(zhuǎn)法兩種。行掃描法的基本回想是由程序?qū)︽I盤逐行掃描,通過檢測到的列輸出狀態(tài)來確定閉全鍵,為此需要設(shè)置入口、輸出口一個(gè),該方法在微機(jī)系統(tǒng)中被廣泛使用。線反轉(zhuǎn)法的基本思想是通過行列顛倒兩次掃描來識(shí)別閉合鍵,為些需要提供兩個(gè)可編程的雙向輸入 /輸出端口。 ( 4)鍵碼產(chǎn)生:為了從鍵的行列坐標(biāo)編碼得到反映鍵功能的鍵碼,一般在內(nèi)在區(qū)中建立一個(gè)鍵盤編碼表,通過查表獲得被按鍵的鍵碼。 14 數(shù)碼管模塊 共陰極數(shù)碼 管在應(yīng)用時(shí)將公共極 COM 接到地線 GND 上,當(dāng)某一字段發(fā)光二極管的陽極為高電平時(shí),相應(yīng)字段就點(diǎn)亮。當(dāng)某一字段的陽極為低電平時(shí),相應(yīng)字段就不亮,這樣來顯示字符。 LED 顯示模塊如圖 34 所示,利用 AT89S52 單片機(jī)的 P2 端口的 - 連接到一個(gè) 七段 數(shù)碼管上,數(shù)碼管的公共端接 地 。 矩陣掃描顯示當(dāng)前按鍵模塊如下: 圖 34 數(shù)碼管模塊圖 揚(yáng)聲器模塊 音樂播放和彈奏是在 引腳上輸出方波周期信號(hào),產(chǎn)生音樂。 矩陣掃描揚(yáng)聲器發(fā)出對應(yīng)音符模塊如下: 圖 35 揚(yáng)聲器模塊圖 15 紅外電源模塊 該模塊主要由紅外模塊,繼電器,電源組成。主要為了實(shí)現(xiàn)由紅外控制電源的開關(guān)。 紅外模塊由紅外接收器,紅外遙控器組成。紅外接收器 上電默認(rèn)輸出低電平且狀態(tài)燈不亮并保持,直到按一下遙控器按鍵后,模塊會(huì)輸出變?yōu)楦唠娖角覡顟B(tài)指示燈會(huì)點(diǎn)亮并保持至下一次再按遙控器按鍵為止,輸出電平依據(jù)遙控按鍵次數(shù)高低電平循環(huán)變化并保持狀態(tài)。 繼電器:常開口與單片機(jī)的 GND 線接通,單片機(jī)的 VCC 線與電源接通,則 輸入高電平繼電器吸合,輸入低電平繼電器釋放 。吸合時(shí)單片機(jī)與電源接通,正常工作,釋放時(shí),單片機(jī)與電源斷開,停止工 作。 控制結(jié)構(gòu)框圖: 釋放狀態(tài) 吸合狀態(tài) 工作原理:上電后當(dāng)紅外接收器接收到遙控器的紅外信號(hào),向繼電器輸出高電平,繼電器輸入高電平后處于吸合狀態(tài),單片機(jī)與電源接通正常工作,再次按下遙控器,紅外接收器向繼電器輸出低電平,繼電器輸入低電平后處于釋放狀態(tài),單片機(jī)與電源斷開,停止工作。 紅外接收器 繼電器 單片機(jī)工作 單片機(jī)不工作 16 4 軟件設(shè)計(jì) 整體程序處理流程圖 N 有無按鍵按下 Y 有無按鍵 按下 N Y 圖 4- 1 程序流程圖 初始化 鍵盤掃描 延時(shí)消抖 根據(jù)當(dāng)前狀態(tài)識(shí)別按鍵 功能選 擇鍵鍵值 選擇查表法 矩陣鍵盤鍵值 根據(jù)鍵值查表 查表所得數(shù)據(jù)送入 P2, 17 電子琴播放音樂原理: 樂音實(shí)際上是有固定周期的信號(hào)。本文介紹用 AT89S52 的 兩個(gè)定時(shí)器(如T0, T1)控制,在 腳上輸出方波周期信號(hào),產(chǎn)生樂音,通過矩陣鍵盤按鍵產(chǎn)生不同的音符。由于一首音樂是許多不同的音階組成的,而每個(gè)音階對應(yīng)著不同的頻率,這樣我們就可以利用不同的頻率的組合,即可構(gòu)成我們所想要的音樂了,當(dāng)然對于單片機(jī)產(chǎn)生不同的頻率非常方便,我們可以利用單片機(jī)的單片機(jī)的定時(shí) /計(jì)數(shù)器 T0 來產(chǎn)生這樣方波頻率信號(hào),因此,我們只要把一首歌曲的音階對應(yīng)頻率關(guān)系弄正確即可。樂曲中,每一音符對應(yīng)確定的頻率,我們將每一個(gè)音符的時(shí)間常數(shù)和其對應(yīng)的節(jié)拍常數(shù)作為一組,按順序?qū)非械乃谐?shù)排列成一個(gè)表,然后由查表程序一次取出,產(chǎn)生音符并控制節(jié)奏,就可以實(shí)現(xiàn)演奏效果。 在電子琴開始工作時(shí),系統(tǒng)默認(rèn)電子琴處于彈奏狀態(tài),歌曲選擇功能鍵的目的是賦予矩陣鍵盤第二功能,即對系統(tǒng)內(nèi)置的歌曲進(jìn)行選擇,在放歌時(shí)能通過彈奏 /停止鍵來結(jié)束放歌,選歌時(shí)必順先按下歌曲選擇功能鍵,在通過矩陣鍵盤來選擇和切換曲目。 如何用單片機(jī)實(shí)現(xiàn)音樂的節(jié)拍 除了音符以外,節(jié)拍也是音樂的關(guān)鍵組成部分。 節(jié)拍實(shí)際上就是音持續(xù)時(shí)間的長短,在單片機(jī)系統(tǒng)中可以用延時(shí)來實(shí)現(xiàn),如果 1/4拍的延時(shí)是 秒,則 1拍的延時(shí)是 ,只要知道 1/4拍的延 時(shí)時(shí)間,其余的節(jié)拍延時(shí)時(shí)間就是它的陪數(shù)。如果單片機(jī)要自己播放音樂,那么必須在程序設(shè)計(jì)中考慮到節(jié)拍的設(shè)置,由于本例實(shí)現(xiàn)的音樂發(fā)生器是由用戶通過鍵盤輸入彈奏樂曲的,所以節(jié)拍由用戶掌握,不由程序控制。對于不同的曲調(diào)我們也可以用單片機(jī)的另外一個(gè)定時(shí) /計(jì)數(shù)器來完成。音樂的音拍,一個(gè)節(jié)拍為單位( C調(diào))具體如下表: 表 3 音樂節(jié)拍表 曲調(diào)值 DELAY 曲調(diào)值 DELAY 調(diào) 4/4 125ms 調(diào) 4/4 62ms 調(diào) 3/4 187ms 調(diào) 3/4 94ms 調(diào) 2/4 250ms 調(diào) 2/4 125ms 18 音樂播 放設(shè)計(jì) 一首音樂是許多不同的音階組成的,而每個(gè)音階對應(yīng)著不同的頻率,這樣就可以利用不同的頻率的組合來構(gòu)成想要的音樂。我們可以利用單片機(jī)的定時(shí) /計(jì)數(shù)器 T0 來產(chǎn)生這樣的方波頻率信號(hào)。 若要產(chǎn)生音頻脈沖,只要算出某一音頻的周期( 1/頻率),再將此周期除以 2,即為半周期的時(shí)間。利用定時(shí)器計(jì)時(shí)半周期時(shí)間,每當(dāng)計(jì)時(shí)終止后就將 反相,然后重復(fù)計(jì)時(shí)再反相。就可在 引腳上得到此頻率的脈沖。 利用 AT89S52 的內(nèi)部定時(shí)器使其工作計(jì)數(shù)模式( MODE1)下,改變計(jì)數(shù)值TH0 及 TL0 以產(chǎn)生不同頻率的方法產(chǎn)生不同音階,例 如,頻率為 523HZ,其周期 T=1 /523= 1912US,因此只要令計(jì)數(shù)器計(jì)時(shí) 956US/1US=956,每計(jì)數(shù) 956次時(shí)將 I/O反相,就可得到中音 DO( 523HZ)。 計(jì)數(shù)脈沖值與頻率的關(guān)系式是: N=FI/2/FR 式中, N 是計(jì)數(shù)值: FI 是機(jī)器頻率(晶體振蕩器為 12MHZ 時(shí),其頻率為1MHZ); FR 是想要產(chǎn)生的頻率。 其計(jì)數(shù)初值 T 的求法: T=65536N=65536FI/2/FR 例如:設(shè) K=65536,
點(diǎn)擊復(fù)制文檔內(nèi)容
環(huán)評(píng)公示相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號(hào)-1