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

正文內(nèi)容

基于單片機的簡單電子琴畢業(yè)設(shè)計(編輯修改稿)

2025-07-17 12:43 本頁面
 

【文章內(nèi)容簡介】 的按鍵就是閉合的按鍵。對應(yīng)的程序設(shè)計為:/* 鍵掃描函數(shù) */uchar getkey(void){ uchar scancode,tmpcode。 if ((P0amp。0xf0)==0xf0) return(0)。 scancode = 0xfe。 while((scancodeamp。0x10)!=0) // 逐行掃描 { P0 = scancode。 // 輸出行掃描碼 if ((P0amp。0xf0)!=0xf0) // 本行有鍵按下 { tmpcode = (P0amp。0xf0)|0x0f。 /* 返回特征字節(jié)碼,為1的位即對應(yīng)于行和列 */ return((~scancode)+(~tmpcode))。 } else scancode = (scancode1)|0x01。 // 行掃描碼左移一位 }}(1)去抖動:每個按鍵在按下或松開時,都會產(chǎn)生短時間的抖動。抖動的持續(xù)時間與鍵的質(zhì)量相關(guān),一般為520mm。所謂抖動是指在識別被按鍵是必須避開抖動狀態(tài),只有處在穩(wěn)定接通或穩(wěn)定斷開狀態(tài)才能保證識別正確無誤。去抖問題可通過軟件延時或硬件電路解決。對應(yīng)的程序設(shè)計為:/* 鍵消抖延時函數(shù) */void delay(void){ uchar i。 for (i=300。i0。i)。}(2)防串鍵:防串鍵是為了解決多個鍵同時按下或者前一按鍵沒有釋放又有新的按鍵按下時產(chǎn)生的問題。常用的方法有雙鍵鎖定和N鍵輪回兩種方法。雙鍵鎖定,是當(dāng)有兩個或兩個以上的按鍵按下時,只把最后釋放的鍵當(dāng)作有效鍵并產(chǎn)生相應(yīng)的鍵碼。N鍵輪回,是當(dāng)檢測到有多個鍵被按下時,能根據(jù)發(fā)現(xiàn)它們的順序依次產(chǎn)生相應(yīng)鍵的鍵碼。(3)被按鍵識別:如何識別被按鍵是接口解決的主要問題,一般可通過軟硬結(jié)合的方法完成。常用的方法有行掃描法和線反轉(zhuǎn)法兩種。行掃描法的基本思想是,由程序?qū)︽I盤逐行掃描,通過檢測到的列輸出狀態(tài)來確定閉合鍵,為此,需要設(shè)置入口、輸出口一個,該方法在微機系統(tǒng)中被廣泛使用。線反轉(zhuǎn)法的基本思想是通過行列顛倒兩次掃描來識別閉合鍵,為此需要提供兩個可編程的雙向輸入/輸出端口。對應(yīng)的程序設(shè)計為:/* 外部中斷0 ,這里是彈唱按鍵*/void EX0_INT() interrupt 0{ FY=0。 LED1=1。 LED2=0。 }/* 外部中斷1 ,這里是播放按鍵*/void EX1_INT() interrupt 2{ FY=1。 LED1=0。 LED2=1。 }(4)鍵碼產(chǎn)生:為了從鍵的行列坐標(biāo)編碼得到反映鍵功能的鍵碼,一般在內(nèi)存區(qū)中建立一個鍵盤編碼表,通過查表獲得被按鍵的鍵碼。對應(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 }。音樂發(fā)聲原理:一首音樂是許多不同的音階組成的,而每個音階對應(yīng)著不同的頻率,這樣我們就可以利用不同的頻率的組合,即可構(gòu)成我們所想要的音樂了,當(dāng)然對于單片機來產(chǎn)生不同的頻率非常方便,我們可以利用單片機的定時/計數(shù)器T0來產(chǎn)生這樣方波頻率信號,因此,我們只要把一首歌曲的音階對應(yīng)頻率關(guān)系弄正確即可。若要產(chǎn)生音頻脈沖,只要算出某一音頻的周期(1/頻率),再將此周期除以2,即為半周期的時間。利用定時器計時的半周期時間,然后重復(fù)計時再反相。利用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)。計數(shù)脈沖值與頻率的關(guān)系式是:N=fi247。2247。fr式中,N是計數(shù)值;fi是機器頻率(晶體振蕩器為12MHz時,其頻率為1MHz);fr是想要產(chǎn)生的頻率。其計數(shù)初值T的求法如下: T=65536-N=65536-fi247。2247。fr例如:設(shè)K=65536,fi=1MHz,求低音DO(262Hz)、中音DO(523Hz)、高音DO(1046Hz)的計數(shù)值。 T=65536-N=65536-fi247。2247。fr=65536-1000000247。2247。fr =65536-500000/fr低音DO的T=65536-500000/262=63628中音DO的T=65536-500000/523=64580高音DO的T=65536-500000/1046=65058 [6]我們要為這個音符建立一個表格,單片機通過查表的方式來獲得相應(yīng)的數(shù)據(jù)。單片機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所示。表32 曲調(diào)值表曲調(diào)值曲調(diào)值DELAY曲調(diào)值DELAY調(diào)4/4125ms調(diào)4/462ms調(diào)3/4187ms調(diào)3/494ms調(diào)2/4250ms調(diào)2/4125ms對于不同的曲調(diào)我們也可以用單片機的另外一個定時/計數(shù)器來完成。在這個程序中用到了兩個定時/計數(shù)器來完成的。其中T0用來產(chǎn)生音符頻率,T1用來產(chǎn)生音拍。[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)?! ≡撥浖奶攸c: ?、?全部滿足我們提出的單片機軟件仿真系統(tǒng)的標(biāo)準(zhǔn),并在同類產(chǎn)品中具有明顯的優(yōu)勢?! 、诰哂心M電路仿真、數(shù)字電路仿真、單片機及其外圍電路組成的系統(tǒng)的仿真、RS232動態(tài)仿真、C調(diào)試器、SPI調(diào)試器、鍵盤和LCD系統(tǒng)仿真的功能;有各種虛擬儀器,如示波器、邏輯分析儀、信號發(fā)生器等?! 、?目前支持的單片機類型有:68000系列、8051系列、AVR系列、PIC12系列、PIC16系列、PIC18系列、Z80系列、HC11系列以及各種外圍芯片?! 、?支持大量的存儲器和外圍芯片。總之該軟件是一款集單片機和SPICE分析于一身的仿真軟件,功能極其強大 ,可仿真5AVR、PIC。 keil 簡介單片機開發(fā)中除必要的硬件外,同樣離不開軟件,匯編語言源程序要變?yōu)镃PU可以執(zhí)行的機器碼有兩種方法,一種是手工匯編,另一種是機器匯編,目前已極少使用手工匯編的方法了。機器匯編是通過匯編軟件將源程序變?yōu)闄C器碼, Keil軟件是目前最流行開發(fā)MCS51系列單片機的軟件,這從近年來各仿真機廠商紛紛宣布全面支持Keil即可看出。Keil提供了包括C編譯器、宏匯編、連接器、庫管理和一個功能強大的仿真調(diào)試器等在內(nèi)的完整開發(fā)方案,通過一個集成開發(fā)環(huán)境(uVision)將這些部份組合在一起。運行Keil軟件需要16MB或更多RAM、20M以上空閑的硬盤空間、WIN9NT、WIN2000、WINXP等操作系統(tǒng)。應(yīng)用Keil軟件進行單片機軟件調(diào)試有以下步驟:1. 建立一個工程項目。選擇芯片,確定選項。2. 建立C源文件。3. 用項目管理器生成各種應(yīng)用文件。4. 檢查并修改原文件中的錯誤。5. 編程操作。使用步驟:
點擊復(fù)制文檔內(nèi)容
法律信息相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號-1