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

正文內(nèi)容

基于單片機的簡單電子琴畢業(yè)設(shè)計-文庫吧資料

2025-06-26 12:43本頁面
  

【正文】 es進行硬件設(shè)計,用keil進行程系編譯。這個設(shè)計題目并不是新的,但從中能體現(xiàn)到一個系統(tǒng)開發(fā)設(shè)計的過程,足于讓我們受益。說明一首音樂是許多不同的音階組成的,而每個音階對應(yīng)著不同的頻率,這樣我們就可以利用不同的頻率的組合,即可構(gòu)成我們所想要的音樂了,于是我們可以利用單片機的定時/計數(shù)器T0來產(chǎn)生這樣方波頻率信號,因此,我們只要把一首歌曲的音階對應(yīng)頻率關(guān)系弄正確即可,然后我們利用功放電路來將音樂聲音放大,同時通過顯示模塊來確知自己所彈的音符。本課題通過用單片機設(shè)計簡易電子琴,將幾個模塊很好的融合起來,對使用單片機設(shè)計簡易電子琴進行了分析,并介紹了基于單片機電子琴統(tǒng)硬件組成。使用步驟:1. 打開keil,建立工程,輸入程序2. 編譯和生成hex文件,如圖41所示圖41圖42 利用keil進行編譯3. 打開Proteus,設(shè)計硬件電路圖,見圖43圖43 硬件電路圖4. 導(dǎo)入hex文件,見圖44圖44將鼠標置于電路圖中AT89C51器件上,右擊后再左擊,彈出圖44中的對話框。4. 檢查并修改原文件中的錯誤。2. 建立C源文件。應(yīng)用Keil軟件進行單片機軟件調(diào)試有以下步驟:1. 建立一個工程項目。Keil提供了包括C編譯器、宏匯編、連接器、庫管理和一個功能強大的仿真調(diào)試器等在內(nèi)的完整開發(fā)方案,通過一個集成開發(fā)環(huán)境(uVision)將這些部份組合在一起。 keil 簡介單片機開發(fā)中除必要的硬件外,同樣離不開軟件,匯編語言源程序要變?yōu)镃PU可以執(zhí)行的機器碼有兩種方法,一種是手工匯編,另一種是機器匯編,目前已極少使用手工匯編的方法了?! 、?支持大量的存儲器和外圍芯片。 ?、诰哂心M電路仿真、數(shù)字電路仿真、單片機及其外圍電路組成的系統(tǒng)的仿真、RS232動態(tài)仿真、C調(diào)試器、SPI調(diào)試器、鍵盤和LCD系統(tǒng)仿真的功能;有各種虛擬儀器,如示波器、邏輯分析儀、信號發(fā)生器等。[7] T0中斷入口置TH0,TL0的初值中斷返回圖312音樂播放流程圖T0初始化讀取鍵值根據(jù)鍵值查表按位取值是否結(jié)束恢復(fù)初始條件延時再循環(huán)Y音符值送入T0讀取節(jié)拍數(shù)延時啟動T0計數(shù)T0停止計數(shù)位值加1N節(jié)拍時間到到N圖312放歌子程序流程圖4實現(xiàn)聯(lián)調(diào) Proteus 簡介Proteus(海神)的ISIS是一款Labcenter出品的電路分析實物仿真系統(tǒng),可仿真各種電路和IC,并支持單片機,元件庫齊全,使用方便,是不可多得的專業(yè)的單片機軟件仿真系統(tǒng)。在這個程序中用到了兩個定時/計數(shù)器來完成的。單片機12MHZ晶振,高中低音符與計數(shù)T0相關(guān)的計數(shù)值如表31所示:表31 音符頻率表音符頻率(HZ)簡譜碼(T值)音符頻率(HZ)簡譜碼(T值)低 1 DO26263628中 5 SO78464898低 2 RE29463835中 6 LA88064968低 3 M33064021中 7 SI98865030低 4 FA 34964103高 1 DO104665058低 5 SO39264260高 2 RE117565110低 6 LA44064400高 3 M131865157低 7 SI49464524高 4 FA139765178中 1 DO52364580高 5 SO156865217中 2 RE58764684高 6 LA176065252中 3 M65964777高 7 SI196765283中 4 FA69864820 1 DO110965085音樂的音拍,一個節(jié)拍為單位(C調(diào)),如下表32所示。2247。2247。fr例如:設(shè)K=65536,fi=1MHz,求低音DO(262Hz)、中音DO(523Hz)、高音DO(1046Hz)的計數(shù)值。其計數(shù)初值T的求法如下: T=65536-N=65536-fi247。2247。利用AT89C51的內(nèi)部定時器使其工作計數(shù)器模式(MODE1)下,改變計數(shù)值TH0及TL0以產(chǎn)生不同頻率的方法產(chǎn)生不同音階,例如,頻率為523Hz,其周期T=1/523=1912μs,因此只要令計數(shù)器計時956μs/1μs=956,每計數(shù)956次時將I/O反相,就可得到中音DO(523Hz)。若要產(chǎn)生音頻脈沖,只要算出某一音頻的周期(1/頻率),再將此周期除以2,即為半周期的時間。對應(yīng)的程序設(shè)計為:/* 音符與計數(shù)值對應(yīng)表 */uint code tab[]={ 63628,63835,64021,64103,64260,64400,64524, 64580,64684,64777,64820,64898,64968,65030, 65058,65110,65157,65178,65217,65252,65283 ,65085 }。 LED2=1。 }/* 外部中斷1 ,這里是播放按鍵*/void EX1_INT() interrupt 2{ FY=1。 LED1=1。線反轉(zhuǎn)法的基本思想是通過行列顛倒兩次掃描來識別閉合鍵,為此需要提供兩個可編程的雙向輸入/輸出端口。常用的方法有行掃描法和線反轉(zhuǎn)法兩種。N鍵輪回,是當檢測到有多個鍵被按下時,能根據(jù)發(fā)現(xiàn)它們的順序依次產(chǎn)生相應(yīng)鍵的鍵碼。常用的方法有雙鍵鎖定和N鍵輪回兩種方法。i)。 for (i=300。去抖問題可通過軟件延時或硬件電路解決。抖動的持續(xù)時間與鍵的質(zhì)量相關(guān),一般為520mm。 } else scancode = (scancode1)|0x01。0xf0)|0x0f。 // 輸出行掃描碼 if ((P0amp。 while((scancodeamp。0xf0)==0xf0) return(0)。對應(yīng)的程序設(shè)計為:/* 鍵掃描函數(shù) */uchar getkey(void){ uchar scancode,tmpcode。在確定某根行線位置為低電平后,再逐行檢測各列線的電平狀態(tài)。判斷閉合鍵所在的位置,在確認有鍵按下后,即可進入確定具體閉合鍵的過程。若Y3,Y2,Y1,Y0為1111,表示8,9,A,B都沒按下,進入第四階段。若Y3,Y2,Y1,Y0為0111,表示B鍵被按下。若Y3,Y2,Y1,Y0為1011,表示A鍵被按下。若Y3,Y2,Y1,Y0為1101,表示9鍵被按下。若Y3,Y2,Y1,Y0為1110,表示8鍵被按下。(3)在第三階段,主要目的是判斷鍵B,A,9,8有沒有按下,首先將1011B信號送入X3,X2,X1,X0,也就是只有X2為低電平,接著讀取Y3,Y2,Y1,Y0的狀態(tài)。若Y3,Y2,Y1,Y0為1111,表示0,1,2,3都沒被按下,進入第二階段。若Y3,Y2,Y1,Y0為0111,表示3鍵被按下。若Y3,Y2,Y1,Y0為1011,表示2鍵被按下。若Y3,Y2,Y1,Y0為1101,表示1鍵被按下。若Y3,Y2,Y1,Y0為1110,表示0鍵被按下。接著讀取Y3,Y2,Y1,Y0的狀況。整個工作可分為4個階段,說明如下:(1)在第一階段,主要目的是判斷3,2,1及0鍵有沒有按下。只要有一列的電平為低,則表示鍵盤中有鍵被按下,而且閉合的鍵位于低電平線與4根行線相交叉的4個按鍵之中?! ⌒袙呙璺?行掃描法又稱為逐行(或列)掃描查詢法,是一種最常用的按鍵識別方法,如上圖24所示鍵盤,介紹過程如下。具體的識別方法如下所述。這樣,當按鍵沒有按下時,所有的輸出端都是高電平,代表無鍵按下。由此可見,在需要的鍵數(shù)比較多時,采用矩陣法來做鍵盤是合理的。在矩陣式鍵盤中,每條水平線和垂直線在交叉處不直接連通,而是通過一個按鍵加以連接。動態(tài)驅(qū)動是將所有數(shù)碼管的8個顯示筆劃a,b,c,d,e,f,g,dp的同名端連在一起,另外為每個數(shù)碼管的公共極COM增加位選通控制電路,位選通由各自獨立的I/O線控制,所以只要將需要顯示的數(shù)碼管的選通控制打開,該位就顯示出字形,沒有選通的數(shù)碼管就不會亮。(2)數(shù)碼管的驅(qū)動方式:數(shù)碼管要正常顯示,就要用驅(qū)動電路來驅(qū)動數(shù)碼管的各個段碼,從而顯示出我們要的數(shù)字,因此根據(jù)數(shù)碼管的驅(qū)動方式的不同,可以分為靜態(tài)式和動態(tài)式兩類。構(gòu)成的內(nèi)部時鐘電路如下圖39所示。XTAL1和XTAL2分別為反向放大器的輸入和輸出。圖38 復(fù)位電路XTAL1:反向振蕩放大器的輸入及內(nèi)部時鐘工作電路的輸入。當振蕩器復(fù)位器件時,要保持RST腳兩個機器周期的高電平時間。VCC鎖存器讀鎖存器第二輸出功能D讀引腳寫鎖存器內(nèi)部總線QT內(nèi)部上拉電阻第二輸入功能CL圖37 P3口的位結(jié)構(gòu)用AT89C51的并行口P0接44矩陣鍵盤,-,-;在數(shù)碼管上顯示每個按鍵的“0-F”序號。當處于第二功能時,鎖存器由硬件自動置1,使與非門
點擊復(fù)制文檔內(nèi)容
法律信息相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1