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

正文內(nèi)容

北郵小學期avr單片機電子琴實驗報告-預覽頁

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

下一頁面
 

【正文】 0000001){PORTA = PORTA | 0b10000000。} } }第6頁 北京郵電大學信息與通信工程學院:四、有關發(fā)聲的基礎知識: 聲波是振動產(chǎn)生的。第8頁 北京郵電大學信息與通信工程學院五、電子琴的設計過程: : 實驗所需元器件:ATmega16L型單片機,JTAG下載器,揚聲器,4*4矩陣鍵盤,液晶屏,LM386,實驗盒(內(nèi)裝剪刀、鑷子、導線等用品)等第9頁1602LCD北京郵電大學信息與通信工程學院: : :以ATmega16單片機作為整個系統(tǒng)的控制中心,外加琴鍵控制模塊、播放模塊、顯示模塊,使制作的電子琴完成設想的功能。 原理圖::l 中央處理器——ATmega16:第11頁 北京郵電大學信息與通信工程學院實驗中,PB0~PB7全部設置為輸出,分配給LCD液晶顯示屏D0~D7管腳;PA0~PA7連接4*4矩陣鍵盤的八個引腳;PDPD6和PD7設置為輸出狀態(tài),分別連接到LCD顯示屏的RS、R/W和E端口上;PD5置為輸出狀態(tài),接到揚聲器的一個管腳,揚聲器的另一管腳接地;VCC為電源,向LCD顯示屏供電;GND為公共接地。l 顯示模塊——LCD液晶顯示屏:第12頁 北京郵電大學信息與通信工程學院引腳詳解:第1腳:VSS為地電源。第5腳:R/W為讀寫信號線,高電平時進行讀操作,低電平時進行寫操作。第13頁 北京郵電大學信息與通信工程學院第15腳:背光源正極。volatile uint num=0,count=0。//存放聲音的頻率//音高對應定時器初始化數(shù)值(低la~高la+休止符),cpu頻率1MHz,用8分頻 const uchar tone[]={0x00,0x8E,0x7E,0x77,0x6A,0x5E,0x59,0x4F,0x47,0x3F,0x3B,0x35,0x2F,0x2C,0x27,0x23,0X19,0X15}。while(m){asm(“nop”)。=~(1//低電平寫;PORTB=。amp。PORTD=(1else{TCCR1A = 0x00。write_dat(16)。TCCR1A=0x00。PORTD=(1//A口作為鍵盤輸入口;DDRB=0xff。//設置端口的初值為11110000 DDRA=0xf0。return 1。uint i = 0,j = 16,Key = 17。= 0x0f。第17頁 北京郵電大學信息與通信工程學院break。break。if(temp1!= temp2)return 17。temp1 = PINA。break。break。temp2 amp。//return Key。//控制寄存器,選擇可翻轉(zhuǎn)功能,產(chǎn)生方波;TCCR1B=0X0a。i{write_dat(Mtable[i])。amp。switch(num){case 16:state=0。case 14:pause=1。case 12:pause=0。case 10: T=1。case 5://變速,1代表正常速度A//慢速0 //快速9//5 降調(diào)S=。default:break。if(num==12){pause=0。else if(T==0)delay_ms(a[i][1]+100)。TCCR1B=0X00。//中斷,為下一個節(jié)拍做準備;}if(a[i][1]==0){aim =(++aim)% list。iwrite_dat(R_table[i])。amp。OCR1A=0。amp。i++。//借助 PAUSE 來標記一下什么時候退出while} } } //***************************歌曲數(shù)據(jù) uint music_data[][2]= { {440,400},{440,400},{659,400},{659,400},{740,400},{740,400},{659,800}, {587,400},{587,400},{554,400},{554,400},{494,400},{494,400},{440,800}, {659,400},{659,400},{587,400},{587,400},{554,400},{554,400},{497,800}, {659,400},{659,400},{587,400},{587,400},{554,400},{554,400},{497,800}, {440,400},{440,400},{659,400},{659,400},{740,400},{740,400},{659,800}, {587,400},{587,400},{554,400},{554,400},{494,400},{494,400},{440,800}, {0,0} }。//顯示光標等;write_(0X01)。for(int i=0。while(1){num = key_in()。break。}whiledelay_ms(10)。第23頁//播北京郵電大學信息與通信工程學院}const uchar Ptable[]=“playing Mode”。amp。測試圖片如下:第24頁 北京郵電大學信息與通信工程學院第25頁 北京郵電大學信息與通信工程學院接通電源后,顯示屏以每次顯示一個字符的形式顯示出“HELLO WELCOM!”的歡迎文字,接著自動進入彈奏模式,并在LCD的第一行顯示出“Playing Mode”的文字,用戶每次按下按鍵都會在LCD的第二行的相應位置出現(xiàn)對應按鍵順序的光標閃爍。,卻發(fā)現(xiàn)流水燈在工作,計時器卻停止了工作。經(jīng)過小組的討論,我們決定在中斷程序函數(shù)里面加上流水燈工作的代碼并加以修改使其能夠在中斷函數(shù)里面運行。,費了很多功夫,首先,不知道哪根管腳是行線哪根管腳是列線,其次不知道所連接的端口的輸出輸入模式應該怎么設置,導致設計過程受阻,后來觀看了視頻并查閱相關資料解決了此問題。我們小組對代碼進行重新檢查,檢查出幾個比較嚴重的邏輯錯誤。我第28頁 北京郵電大學信息與通信工程學院們預先設想的實現(xiàn)方法是每按下一個按鍵,將對應音階的數(shù)字和節(jié)拍存入數(shù)組中,然后錄制完成后自動播放錄制的音樂。在這九天中,我們通過觀看老師給的視頻資料和文檔,加上查閱的資料,獨立完成了所布置的任務。說做就做,于是最初的流水燈就實現(xiàn)了,可以一個一個依次循環(huán)點亮。流水燈和數(shù)碼管秒表計時器都分別完成了,最后只需將它們合在一起共同工作即可。完成了基礎題目的訓練任務,我信心滿滿,迎來了我的下一個任務——電子琴。鍵盤檢測函數(shù)、播放函數(shù)、液晶顯示函數(shù),彈奏功能,錄制功能??一步一步,一個完整的系統(tǒng)漸漸完善。最終,單片機小學期圓滿結束了!9天的時間,完全的自己動手實驗,不僅增加了自己對單片機的理解,提高了自己的編程能力,而且在這個過程中,我覺得團隊的合作至關重要,自己連接的電路或者自己編寫的程序,在自己看來都是對的,但是旁觀者清,隊友能很容易地幫你找出其中的錯誤;在和隊友的討論中,我能了解對方的想法和思路,多種想法和思路的碰撞能讓我收獲更多新的東西;組內(nèi)的分工能讓每個人都盡到自己的責任,發(fā)揮自己所長。來生成隨機整數(shù)但這樣只是一個偽隨機函數(shù),每一次重新打開程序生成的數(shù)都是一致的。實驗二類與對象 編寫C++程序完成以下功能:(1)定義一個Point類,其屬性包括點的坐標,提供計算兩點之間距離的方法;(2)定義一個矩形類,其屬性包括左上角和右下角兩個點,提供計算面積的方法;(3)創(chuàng)建一個矩形對象,提示用戶輸入矩形左上角和右下角的坐標;(4)觀察矩形對象以及Point類成員的構造函數(shù)與析構函數(shù)的調(diào)用;(5)計算其面積,并輸出。3)起初在調(diào)用class中函數(shù)時用c調(diào)用的方式,沒有跟面向的對象結合,導致編譯出錯,而后從distance()()就正確了。而析構函數(shù)則在釋放對象時調(diào)用,一般每一個class中都只有一個默認析構函數(shù)。 b, Caramp。開始在類外單獨定義時跟類的成員函數(shù)單獨定義混淆,寫成了double Boat::TotalWeight(),導致編譯錯誤,而后發(fā)現(xiàn)友元函數(shù)直接用函數(shù)名和函數(shù)返回值類型定義即可,不需要加上class類的名稱。題目31總結:1)起初在矩陣相加相減的賦值中所用語句為:[i][j]=[i][j]+[i][j] 但是運行程序發(fā)現(xiàn)m矩陣所有元素都是0。3)經(jīng)多次調(diào)試后,程序運行結果正確,但矩陣看起來非?;靵y,因為并沒有行列對齊,于是在打印矩陣中每列直接用table空格隔開,保證美觀。一開始并不知道該怎么動態(tài)申請內(nèi)存,在c中使用malloc可是c++中并不一樣。3)在釋放動態(tài)內(nèi)存時,用到delete函數(shù)。若是釋放自己定義的class類型,需用delete[]matrix來釋放內(nèi)存。題目33總結:1)拿到這道題我認為要定義一個矩陣類對象,其中包括31和32一樣的input函數(shù),print函數(shù),plus函數(shù),subtract函數(shù),還有新增的構造函數(shù)析構函數(shù)。2)第一部分跟前兩題類似,所以很快就調(diào)試完成并且得到了正確的結果,但是指針部分一直出現(xiàn)問題??僧斴斎氲诙€矩陣的數(shù)值以后,A1和A2矩陣的元素都變?yōu)榈诙€矩陣的元素,即第一個矩陣的元素被覆蓋掉。而后想到用含參構造函數(shù)來申請動態(tài)內(nèi)存,輸入固定的行列數(shù)后,用確定的行列數(shù)來new Matrix(x,y),這樣一來不僅矩陣大小相等,而且也不會存在前一個矩陣的值被后一個覆蓋掉的問題。題目41總結:1)這一題主要是函數(shù)的派生方法使用,經(jīng)過查閱書籍,得知在class定義后加上:: public(基類名稱)便是作為一個派生類的定義,可以沿用基類中的成員函數(shù)。并且起初只改變了基類中area函數(shù),在其前面加了virtual,但并沒有體現(xiàn)出虛函數(shù)的運用。這一題讓我對虛函數(shù)有了更加深入的了解。題目51總結:1)對于符號的重載開始并不理解什么意思,后來得知是重新定義一下++、操作的過程,包括自加自減和賦值。3)程序結果正確后編寫菜單界面,使其操作步驟更加清晰明了。2)轉(zhuǎn)換進制開始想到的是用數(shù)學的方法算出不同進制下的數(shù)值,再輸入文件中,但非常的麻煩。題目63總結:1)因為第一題流式已經(jīng)嘗試過向文件中輸入信息,而經(jīng)過翻閱書籍得知從文件中可以用getline整行讀取字符串,便可以輕易的將文件內(nèi)容加上行數(shù),并輸出到另一個文本文件中。實驗七 C++程序設計應用電話本編寫C++程序完成以下功能:(1)實現(xiàn)簡單電話本功能,用姓名來搜索電話號碼;(2)用戶輸入姓名,程序查找并輸出結果;(3)用戶可以通過輸入,添加姓名和電話號碼;(4)用戶可以刪除姓名和電話號碼;(5)電話本可以保存在指定文件中;(6)電話可被從指定文件中讀入到內(nèi)存。2)個人改進1: 新增聯(lián)系人函數(shù)中,就是將聯(lián)系人信息從鍵盤逐項讀入,然后選擇將聯(lián)系人插入到什么位置。起初寫的是將輸入的字符串逐個跟name比較,即a == name,但卻發(fā)現(xiàn)這樣程序查找出來聯(lián)系人永遠不存在。而我另外又加了一句,并不是說不存在就直接返回,而是讓用戶自己選擇是繼續(xù)輸入姓名還是返回主菜單。表面上雖然修改了,可查找后發(fā)現(xiàn)聯(lián)系人的信息并沒有改變。而姓名等信息也可以逐個賦值到phone類數(shù)組里??墒?,當我真正接觸到單片機,真正觸碰并且嘗試讓它按照我的要求運轉(zhuǎn)起來的時候,往往事與愿違,這時候開始我才真正感受到單片機程序設計與開始的看法大相近庭,也是從這時候起,我才算真正理解并且體會到單片機的魅力。單片機雖然是“微型計算機”,但是它畢竟不是計算機,它的編程方法自然與我們現(xiàn)在接觸到的計算機不同,單片機可以看成是一臺資源“極其”有限的計算機,正由于這個原因,單片機的運行機理和控制與普通的軟件編程有著天壤之別。這個過程便是“執(zhí)行主程序(打掃房間)——中斷(電話響,接電話)——中斷返回(繼續(xù)打掃房間)”的過程,單單片機CPU正在執(zhí)行程序的過程中,如果外部硬件或內(nèi)部組件有緊急的請求,此時中斷系統(tǒng)可以將當前的程序暫停,優(yōu)先處理中斷請求。最后,單片機中的對各個硬件資源的控制有嚴格的控制寄存器來控制,并且各個單片機都不同,所以在設計單片機并且運用它的某些硬件功能的時候,一定要仔細閱讀單片機的用戶手冊,充分了解各個控制寄存器的設定方法時候才能正確使用其硬件,并且還要時刻注意各個硬件之間的中斷的相互影響關系,否則程序運行后極容易出現(xiàn)讓人不知所源的錯誤。并熟練掌握LINUX驅(qū)動程序的編寫及開發(fā)流程。實驗五為宿主PC機配置了TFTP服務。NFS(Network File System)指網(wǎng)絡文件系統(tǒng),它實現(xiàn)了文件在不同的系統(tǒng)間使用。實驗步驟如下: 1)硬件連接:連接宿主 PC 機和一臺 PXA270RP目標板。4)輸入mini然后回車,minicim設置為115200 8NI無流控。在 vi 里面先單擊鍵盤 A 鍵,然后左下角會變成—INSER。如果此步出現(xiàn)錯誤信息,請查看錯誤信息,并且重新編輯原來的 C文件,修改錯誤。Linux操作系統(tǒng)將所有的設備全部看成文件,并通過文件的操作界面進行操作。?打開了代表著目標設備的文件,即建立起與設備的連接后,可以通過read()、write()、ioctl()等常規(guī)的文件操作對目標設備進行操作。應用程序發(fā)出系統(tǒng)調(diào)用命令后,會從用戶態(tài)轉(zhuǎn)到核心態(tài),通過內(nèi)核將open()這樣的系統(tǒng)調(diào)用轉(zhuǎn)換成對物理設備的操作。對字符設備文件進行打開操作,都會調(diào)用設備的open入口點。關閉一個設備。從設備上讀數(shù)據(jù)。往設備上寫數(shù)據(jù)。執(zhí)行讀、寫之外的操作。設備的驅(qū)動程序在加載的時候首先需要調(diào)用入口函數(shù)init_module(),該函數(shù)最重要的一個工作就是向內(nèi)核注冊該設備,對于字符設備調(diào)用register_chrdev()完成注冊。此函數(shù)返回0時表示成功;返回EINVAL,表示申請的主設備號非法,主要原因是主設備號大于系統(tǒng)所允許的最大設備號;返回EBUSY,表示所申請的主設備號正在被其他設備程序
點擊復制文檔內(nèi)容
環(huán)評公示相關推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1