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

正文內(nèi)容

基于stc89c51單片機(jī)的電子琴設(shè)計(jì)畢業(yè)論文-資料下載頁(yè)

2025-06-27 18:50本頁(yè)面
  

【正文】 N=fi247。2247。fr上式中的 N 為計(jì)數(shù)值,f i為機(jī)器頻率,f r為想要產(chǎn)生的頻率。計(jì)數(shù)的初值 T 求法如下:T=65536N=65536fi247。2247。fr例如:K=65536,f i=1MHz,求低音 DO(261Hz),中音 DO(523Hz),高音DO(1046Hz )的計(jì)數(shù)值。T=65536N=65536fi247。2247。fr=655361000000247。2247。fr=6553650000/fr 低音 DO(261Hz)的 T=6553650000/261=63627 中音 DO(523Hz)的 T=6553650000/523=64580 高音 DO(1046Hz)的 T=6553650000/1046=65059采用 12MHz 的晶振,音符與計(jì)數(shù)值 T0 的關(guān)系如表 6 所示。本系統(tǒng)主要用到的音符為低音:7,中音:7,高音 4;用到頻率分別為:64021,64103,64260,64400, 64524, 64580,64684,64777, 64820,64898,64968,65030, 65058,65110,65157,65178。 音樂發(fā)聲程序流程圖 主程序流程圖和 T0 中斷服務(wù)程序流程圖如圖 10 所示 按鍵按下成功否?識(shí)別按鍵功能開始根據(jù)按鍵功能裝入音符T 值到 T0 中啟動(dòng) T0 工作按鍵釋放成功否?停止 T0 工作NYNY顯示按鍵T0 中斷入口 取反重裝 T0 初值中斷返回(a)主程序流程圖 (b)T0 中斷服務(wù)程序流程圖圖 10 主程序和 T0 中斷服務(wù)程序流程圖T0 初始化并開 T0 中斷結(jié) 論經(jīng)過這幾個(gè)月的努力,終于按照畢業(yè)設(shè)計(jì)進(jìn)度要求如期完成了基于單片機(jī)的簡(jiǎn)易電子琴制作的硬件設(shè)計(jì)和軟件編寫任務(wù)。在整個(gè)畢業(yè)設(shè)計(jì)完成的過程當(dāng)中,碰到了不少的困難,但在老師的細(xì)心指導(dǎo)以及自己的不懈努力下,最終還是取得了一定的成果。這段時(shí)間制作這個(gè)畢業(yè)設(shè)計(jì),首先使我對(duì) STC89C52 單片機(jī)有更深入的了解, ,一開始設(shè)計(jì)整個(gè)系統(tǒng)的時(shí)候沒有具體的思路,就上網(wǎng)找了好多關(guān)于電子琴設(shè)計(jì)的資料,查閱后開始自己設(shè)計(jì)。電路圖設(shè)計(jì)完成后,就是焊電路板了,在焊接的時(shí)候遇到了好多的困難,總是把有些線搞混,錯(cuò)綜復(fù)雜的導(dǎo)線使我暈頭轉(zhuǎn)向,從而增加我焊接的難度。 焊完之后發(fā)現(xiàn)自己元器件的排布的不是很合適,使電路板上有許多的飛線。最后就是編寫程序調(diào)試了,本來還以為編程會(huì)很簡(jiǎn)單的,等到實(shí)際操作起來才知道很復(fù)雜,沒有想像中的那么得心應(yīng)手,,老師的精心指導(dǎo)下和同學(xué)的悉心幫助,花費(fèi)的時(shí)間與精力終于沒有白費(fèi),效果漸漸地出現(xiàn)了。程序編完之后并不意味著可以實(shí)現(xiàn)系統(tǒng)的功能,還要繼續(xù)調(diào)試。在這個(gè)過程中遇到了一個(gè)非常棘手的問題,一開始數(shù)碼顯示管的驅(qū)動(dòng)三極管用的是 8550,怎么都不能使數(shù)碼顯示管顯示數(shù)值,測(cè)試它的引腳全部正常。最后沒辦法了就一個(gè)一個(gè)元件測(cè)試,都沒問題,就一個(gè)一個(gè)元件替換,最終發(fā)現(xiàn)是三極管的問題,最后把 8550 換成了 9012。 經(jīng)過這次的畢業(yè)設(shè)計(jì),我在理論的基礎(chǔ)上更深刻的掌握了單片機(jī)的深層內(nèi)容和單片機(jī)在實(shí)際生活中的應(yīng)用,加強(qiáng)了自己的動(dòng)手能力和思維能力,還有在軟件方面的編程能力,也讓我受益匪淺。這些問題的發(fā)現(xiàn)將為我以后的工作找明道路,經(jīng)過這次的畢業(yè)設(shè)計(jì),使我對(duì)本專業(yè)的學(xué)習(xí)更加充滿了信心。參考文獻(xiàn)[1] [M].北京:高等教育出版社,2022.[2] [M].江西:科學(xué)技術(shù)出版社,2022.[3] [M].北京:航空航天大學(xué)出版社,1998.[4] [M].武漢:華中科技大學(xué)出版社,2022.[5] [M].北京:電子工業(yè)出版社,2022.[6] Designer 的原理圖與PCB設(shè)計(jì)[M].北京:機(jī)械工業(yè)出版社,2022.[7] [M].北京:機(jī)械工業(yè)出版社,2022.[8] 胡漢才.單片機(jī)原理及系統(tǒng)設(shè)計(jì)[M] .北京:清華大學(xué)出版社,2022.[9] [M].北京:清華大學(xué)出版社, 2022.[10] C 語(yǔ)言應(yīng)用程序設(shè)計(jì)[M]. 北京:航空航天大學(xué)出版社 ,2022.[11] C51 應(yīng)用程序設(shè)計(jì)[M].北京:電子工業(yè)出版社,1997.附錄一 電子琴源程序include include define uint unsigned int define uchar unsigned charsbit SPK = P3^7。 /* 外接揚(yáng)聲器*/sbit shiwei = P2^7。sbit gewei = P2^6。uint FreqTemp。char Key_Value=1。uchar code tabledu[]={~0x3f,~0x06,~0x5b,~0x4f,~0x66,~0x6d,~0x7d,~0x07,~0x7f,~0x6f,~0x77,~0x7c,~0x39,~0x5e,~0x79,~0x71}。unsigned int code Freqtab[] = { /*定時(shí)半周期的初始值*/ 64021,64103,64260,64400, /*低音 3 4 5 6*/ 64524,64580,64684,64777, /*低音 7,中音 1 2 3*/ 64820,64898,64968,65030, /*中音 4 5 6 7*/65058,65110,65157,65178}。 /*高音 1 2 3 4*/void delay_ms(uint z){uint x,y。for(x=z。x0。x)for(y=123。y0。y)。} /*函數(shù)功能 : 用掃描法讀 P1 外接 44 鍵盤*//*函數(shù)返回 : 有按下鍵:返回 1~1如無鍵按下:返回 00*/uchar Keyscan(void) { uchar i, j, temp, Buffer[4] = {0xfe, 0xfd, 0xfb, 0xf7}。 for(j = 0。 j 4。 j++) /*循環(huán)四次,掃描四行*/{ P1 = Buffer[j]。 /*在低四位分別輸出一個(gè)低電平 */_nop_()。 temp = 0x80。 /*計(jì)劃先讀出 位*/for(i = 0。 i 4。 i++) /*循環(huán)四次,檢查四列*/{ if(!(P1 amp。 temp)) /*從高四位,截取 1 位*/{ return (i + j * 4)。 /*返回取得的按鍵*/}temp = 1。 }}return 16。 /*沒有鍵按下就返回 00*/} /*函數(shù)功能 : 將參數(shù)分成十位、個(gè)位,分別顯示到 P2 */ void Display(){ shiwei=0。P0=tabledu[(Key_Value+1)/10]。delay_ms(5)。shiwei=1。P0=0x00。gewei=0。P0=tabledu[(Key_Value+1)%10]。delay_ms(5)。gewei=1。P0=0x00。}void shaomiao(){uchar Key_Temp1, Key_Temp2。 /*讀出的鍵值 */Key_Temp1 = Keyscan()。 /*讀入按鍵*/if(Key_Temp1 != 16) /*有鍵按下*/{ delay_ms(5)。 /*延時(shí)消抖*/Key_Temp2 = Keyscan()。 /*再讀一次*/if (Key_Temp1 == Key_Temp2) /*兩次相等*/{ Key_Value = Key_Temp1。 /*就確認(rèn)下來*/FreqTemp = Freqtab[Key_Value]。 /*根據(jù)鍵值,取出定時(shí)半周期的初始值 */ TR0 = 1。 /*啟動(dòng)定時(shí)器,發(fā)音*/ while (Keyscan() 16)。 /*等待釋放*/ SPK = 1。 /*停止發(fā)音*/} }TR0 = 0。 /*暫不發(fā)音*/}void init(){TMOD = 0x01。 /*T0 定時(shí)方式 1*/ET0 = 1。 /*允許 T0 中斷*/TR0 = 0。 /*暫不發(fā)音*/EX0 = 1。 /*允許 X0 中斷 */EA = 1。}/* 主函數(shù) */ void main(void) {init()。 while(1) {Display()。 /*顯示*/ shaomiao()。 } }void T0_INT(void) interrupt 1{ TL0 = FreqTemp。 /*載入定時(shí)半周期的初始值*/ TH0 = FreqTemp 8。 SPK = ~SPK。 /*發(fā)音*/}附錄二 原理圖附錄三 PCB 圖附錄四 實(shí)物圖致 謝……
點(diǎn)擊復(fù)制文檔內(nèi)容
教學(xué)課件相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1