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

正文內(nèi)容

北郵小學(xué)期avr單片機(jī)電子琴實(shí)驗(yàn)報(bào)告-全文預(yù)覽

2024-10-25 07:08 上一頁面

下一頁面
  

【正文】 室不同,剛開始還以為是板子有問題);,個(gè)別元器件特別是單片機(jī)芯片有問題之后,調(diào)BUG好久都不知道錯(cuò)在哪里,建議更新。由于有硬件,因此我們編寫的程序可以馬上下載到板子里驗(yàn)證效果,并及時(shí)修改,大大方便了我們排錯(cuò)和系統(tǒng)優(yōu)化。剛開始選題的時(shí)候覺得電子琴蠻有趣的,可以彈奏可以錄音可以播放,而且原理看起來也比較簡(jiǎn)單。不過這個(gè)過程也不是一帆風(fēng)順的,因?yàn)橹袛嗟母拍钗覄傞_始覺得很難理解,也不知道該將中斷的有關(guān)函數(shù)放在代碼的哪個(gè)位置,因此反復(fù)糾結(jié)反復(fù)研究視頻和技術(shù)文檔,持續(xù)了一段時(shí)間。那時(shí)真是好高興!在做數(shù)碼管的時(shí)候,由于不知道數(shù)碼管的顯示與管腳之間的關(guān)系,于是我先創(chuàng)建了一個(gè)數(shù)組,數(shù)組中的元素都是8位二進(jìn)制數(shù),其中只有一位是1,其余位都是0,如下:char a[8] = {0b00000001,0b00000010,0b00000100,0b00001000,0b00010000,0b00100000,0b01000000,0b10000000 }。由于有C++的基礎(chǔ),加上有硬件的端口以及相應(yīng)設(shè)備的使用說明文檔的幫助,因此在我看來,在AVR Studio上進(jìn)行C語言的編程從邏輯上比C++更容易理解,所需要的只是在編程時(shí)將端口的配置和邏輯函數(shù)結(jié)合到一起,實(shí)現(xiàn)編寫的函數(shù)對(duì)單片機(jī)端口以及內(nèi)部中斷的控制。但是,我們實(shí)際測(cè)試時(shí)發(fā)現(xiàn)錄制的音樂并沒有能自動(dòng)播放。我們重新調(diào)整播放音樂函數(shù)的判斷語句和循環(huán)結(jié)構(gòu),并加入一個(gè)pause變量來標(biāo)志暫停狀態(tài),在按下暫停按鈕時(shí)將pause標(biāo)志為0,使程序退出播放循環(huán)。,我們開始對(duì)單片機(jī)進(jìn)行測(cè)試,發(fā)現(xiàn)在按下數(shù)次按鈕后單片機(jī)就會(huì)卡死,我們仔細(xì)檢查了彈奏功能的代碼,經(jīng)過多次排查,我們小組最終將鍵盤檢測(cè)函數(shù)key_in()和彈奏函數(shù)play()兩條語句的執(zhí)行順序交換,以達(dá)到比較好的邏輯順序效果,提高了程序的穩(wěn)定性,把多次按下按鈕會(huì)導(dǎo)致單片機(jī)卡死的問題給基本解決了。經(jīng)過多次調(diào)試,終于實(shí)現(xiàn)了計(jì)時(shí)器的計(jì)時(shí)、暫停、繼續(xù)功能,并且流水燈能夠一直工作不受計(jì)時(shí)器的暫停影響。經(jīng)過仔細(xì)排查,發(fā)現(xiàn)簡(jiǎn)單地將代碼合并會(huì)導(dǎo)致單片機(jī)陷入流水燈的工作循環(huán),而沒有進(jìn)入計(jì)時(shí)器的工作進(jìn)程。在彈奏模式下,按下F鍵會(huì)進(jìn)入播放模式,LCD顯示出“Music Mode”字樣,此時(shí)按下D鍵是播放/繼續(xù),按下B鍵是暫停,C鍵和E鍵分別代表上一首和下一首,9鍵則是將音樂速度調(diào)整為慢速,再次按下F鍵會(huì)回到彈奏模式。(num!=11)){play(num)。for(int i=0。}}else if(num==11)//錄制模式;{record()。case 1:music_play(Ssong)。if(num==16)//模式選擇{if(state==1)state=0。i第22頁 北京郵電大學(xué)信息與通信工程學(xué)院{write_dat(table[i])。//清屏;write_(0X0f)。// abcdefguint music_1[][2]= {{262,400},{294,400},{330,400},{262,400},{262,400}, //樂譜 {294,400},{330,400},{262,400},{330,400},{349,400}, {392,800},{330,400},{349,400},{392,800},{392,300}, {440,100},{392,300},{349,100},{262,400},{392,400}, {440,300},{392,100},{349,300},{330,100},{262,400}, {294,400},{196,400},{262,400},{294,800},{196,400}, {262,400},{294,800},{0,0}}。delay_ms(20)。(Skey{play(Skey)。TCCR1A=0x00。(Skey{int i=0。}pause=1。} }/***************** 錄制音樂函數(shù); *****************/ void record(void){write_(0X01)。}}pause=0。elsedelay_ms(a[i][1])。}else{if(S == )m_sound(a[i][0]*S)。}while(a[i][0]amp。break。break。///暫停Bbreak。//播放Dbreak。// F STATE = 0彈奏break。(tem==aim)amp。}int i=0。}//**********************************播放函數(shù); void music_play(uint a[][2]){const char Mtable[]=“Music Mode”。}}/*****************************//去抖動(dòng)//只關(guān)心高四位的情況第18頁北京郵電大學(xué)信息與通信工程學(xué)院音樂播放函數(shù);*****************************/ void m_sound(uint a){int m=(62500/a)1。= 0xf0。case 0b10000000:i = 3。case 0b00100000:i = 1。temp1 amp。DDRA = 0xff。}temp2 = PINA。case 0b00000100:j = 2。//只關(guān)心低四位的情況switch(temp1){case 0b00000001:j = 0。unsigned char temp1,temp2。//返回1,代表按下了} } //鍵盤輸入檢測(cè)函數(shù);//_______________________________ int key_in(void){DDRA = 0xff。//將低四位設(shè)為輸入if(PINA == 0xf0)//當(dāng)沒有按下時(shí),PINA仍然為11110000 {DDRA=0xff。} //_____________________________________第16頁 北京郵電大學(xué)信息與通信工程學(xué)院void INN_DEVICE(void){ MCUCR=0X00。TCCR1B=0X00。sound(n)。//頻率為0,休止符,不發(fā)聲TCCR1B=0X00。i//按了音符鍵了,且在0到F鍵這16個(gè)發(fā)音鍵上,才發(fā)聲{OCR1A=tone[i]。PORTD|=(1//高電平使能delay_ms(1)。} } //********************************************** /************************ 屏幕顯示函數(shù)************************/ void write_(uchar ){ PORTDamp。uint Ssong[10][2]={{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0}}。volatile uint Mode=0,list=2,pause=0,aim=0,sure=0,del=0。第16腳:背光源負(fù)極。當(dāng)RS和R/W共同為低電平時(shí)可以寫入指令或者顯示地址,當(dāng)RS為低電平R/W為高電平時(shí)可以讀忙信號(hào),當(dāng)RS為高電平R/W為低電平時(shí)可以寫入數(shù)據(jù)。第2腳:VDD接5V正電源。l 琴鍵控制模塊——4*4矩陣鍵盤:工作原理:按鍵設(shè)置在行、列線交點(diǎn)上,行、列線分別連接到按鍵開關(guān)的兩端。琴鍵控制模塊為4*4矩陣鍵盤,可以通過按下不同的琴鍵彈奏出不同的音階,每個(gè)音階對(duì)應(yīng)著不同的頻率,一段音樂是由許多不同的音階組成,這樣我們就可以根據(jù)不同的頻率組合得到我們想要的音樂,同時(shí)在錄制模式下,還可以通過按不同的按鍵記錄下不同的音階,由此記錄一段音樂。頻率即表示每秒鐘振動(dòng)的次數(shù),采用CTC方式時(shí)AVR單片機(jī)通過特定的端口(PD4及PD5)輸出一定頻率的方波,TCCR1A設(shè)為比較匹配時(shí)OC1A/OC1B電平取反,TCCR1B的計(jì)數(shù)上限為第7頁 北京郵電大學(xué)信息與通信工程學(xué)院OC1A,根據(jù)公式OCnA=f/2N(1+OCRnA)計(jì)算出7個(gè)頻率音階所需的OCR1A,則只需將喇叭接在PD4或PD5,通過程序控制端口輸出特定頻率的方波波形(發(fā)聲使用正弦波最好,方波效果稍次但影響不大),喇叭就會(huì)發(fā)出七種不同的聲音,依照人聽覺分辨7個(gè)音階分為三組,分別為高中,低音階頻率,經(jīng)計(jì)算可得,當(dāng)OCR1A=(500000/musicmem[i]1)時(shí),{131,147,165,175,196,220,247}存放低音階頻率,{262,294,330,349,392,440,494}存放中音階頻率,{524,588,660,698,784,880,988}則存放高音階頻率,所以需要定義三個(gè)數(shù)組存放各音階的頻率值。}}for(int i=0。temp = PORTA。第5頁 北京郵電大學(xué)信息與通信工程學(xué)院while(!(PINB amp。 0b00000001){PORTA = PORTA | 0b10000000。if(count2 == 10)count2 = 0。}count1++。PORTD = a[0]。第4頁北京郵電大學(xué)信息與通信工程學(xué)院DDRD = 0b11111011。volatile char temp。第一篇:北郵小學(xué)期AVR單片機(jī)電子琴實(shí)驗(yàn)報(bào)告北京郵電大學(xué)信息與通信工程學(xué)院小學(xué)期AVR單片機(jī)實(shí)驗(yàn)報(bào)告實(shí)驗(yàn)題目: 基于ATmega16L單片機(jī)的電子琴設(shè)計(jì)學(xué)生姓名:學(xué)渣班 級(jí):2012XXXXXX 班內(nèi)序號(hào):XX 學(xué) 號(hào):2012XXXXXX 日 期:2014年9月30日同組同學(xué):學(xué)渣第1頁 北京郵電大學(xué)信息與通信工程學(xué)院目錄:一、實(shí)驗(yàn)介紹......................................3 .................................3 .....................................3 ..............................3 .....................................3二、小組分工......................................3三、基本題目訓(xùn)練——流水燈與數(shù)碼管秒表計(jì)時(shí)器.......3 ......................................3 ..................................4 ...................................7四、有關(guān)發(fā)聲的基礎(chǔ)知識(shí)............................7五、電子琴的設(shè)計(jì)與測(cè)試..............................9 ......................................9 .................................9 .............................10 ...............................10 ....................................10 .....................................11 ............................11 ..........................14 .......................................24六、排錯(cuò)過程.........................................26七、心得體會(huì)..........................................29八、參考文獻(xiàn)..........................................32九、意見與建議........................................33第2頁 北京郵電大學(xué)信息與通信工程學(xué)院一、實(shí)驗(yàn)介紹::基于ATmega16L單片機(jī)的電子琴設(shè)計(jì) :本實(shí)驗(yàn)所用平臺(tái)為AVR Studio 4 :ATmega16L型單片機(jī) 電子琴 鍵盤按鍵 LCD液晶顯示屏:本實(shí)驗(yàn)設(shè)計(jì)的電子琴擁有可視化操作界面,能實(shí)現(xiàn)即時(shí)彈奏音樂、音樂播放、音樂變速、音樂變調(diào),并可以進(jìn)行任意長(zhǎng)度錄音(通過按鍵記錄音階)等功能二、小組分工:l XXX負(fù)責(zé)電路硬件的連接和報(bào)告的撰寫 l XXX負(fù)責(zé)程序代碼的編寫 l XXX負(fù)責(zé)資料的收集整理和查閱三、基本題目訓(xùn)練——流水燈與數(shù)碼管秒表計(jì)時(shí)器:八盞LED二極管按順序依次循環(huán)點(diǎn)亮,實(shí)現(xiàn)流水燈的效果,同時(shí)兩只數(shù)碼管分別代表秒和十分之一秒,進(jìn)行秒表計(jì)時(shí),配有第3頁 北京郵電大學(xué)信息與通信工程學(xué)院兩個(gè)按鍵,實(shí)現(xiàn)計(jì)時(shí)過程中的暫停和繼續(xù),同時(shí)在按下暫停鍵的時(shí)候蜂鳴器會(huì)響一聲。char a[10] = {0b11111010,//00b00110000,//10b11011001,//20b01111001,//30b00110011,//40b01101011,//50b11101011,//60b00111000,//70b11111011,//80b01111011,//9}。DDRC = 0xff。PORTB = b[0]。(1TCNT0=55。count1 = 0。if(temp amp。}} } SIGNAL(SIG_INTERRUPT0)//INT0中斷服務(wù)程序 {int count3 = 0,count4=0。count3 = 0。 0b0
點(diǎn)擊復(fù)制文檔內(nèi)容
環(huán)評(píng)公示相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1