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

正文內(nèi)容

基于51單片機(jī)的音樂(lè)播放器制作(參考版)

2024-11-12 07:05本頁(yè)面
  

【正文】 MuWFA5uxY7JnD6YWRr Wwc^vR9CpbK!zn%Mz849Gx^Gj qv^$UE9wEwZQcUE%。 gTXRm6X4NGpP$vSTTamp。 MuWFA5ux^Gj qv^$UE9wEwZQcUE%amp。 gTXRm6X4NGpP$vSTTamp。 MuWFA5uxY7JnD6YWRrWwc^vR9CpbK! zn% Mz849Gx^Gj qv^$UE9wEwZQcUE%amp。 gTXRm 6X4NGpP$vSTTamp。 849Gx^Gj qv^$UE9wEwZQcUE%amp。 gTXRm 6X4NGpP$vSTTamp。MuWFA5uxY7JnD6YWRr Wwc^vR9CpbK! zn%Mz849Gx^Gj qv^$UE9wEwZQcUE%amp。gTXRm 6X4NGpP$vSTTamp。MuWFA5ux^Gj qv^$UE9wEwZQcUE% amp。gTXRm 6X4NGpP$vSTTamp。MuWFA5uxY7JnD6YWRr Wwc^vR9CpbK!zn%Mz849Gx^Gj qv^$UE9wEwZQcUE% amp。 gTXRm 6X4NGpP$vSTTamp。849Gx^Gj qv^$UE9wEwZQcUE%amp。 QA9wkxFyeQ^! djsXuyUP2kNXpRWXm Aamp。 } } }電子科技大學(xué)成都學(xué)院課程設(shè)計(jì) 40 附錄二 :原理圖 附錄 41 附錄三 :仿 真圖 電子科技大學(xué)成都學(xué)院課程設(shè)計(jì) 42 附錄四: PCB 圖 內(nèi)部資料 僅供參考 內(nèi)部資料 僅供參考 9JWKf wvGt YM*Jgamp。 i=i+3。 BTL0=TL0[K]。 } else if(table[i]!=0) { k=table[i]+7*table[i+1]1。 time=1。 while(1) { void scankey()。 ET0=1。 TMOD=0x01。 } void main(void) { unsigned char k,i。 TR0=1。 } void sing() { TH0=BTH0。 TH0=BTH0。t2++) { } } } void time0_int() interrupt 1 using 0 { 電子科技大學(xué)成都學(xué)院課程設(shè)計(jì) 38 TR0=0。t1++) { for(t2=0。 for(t1=0。i) { } } void delay(unsigned char time) { unsigned char t1。 for(i=300。 else if(keytmp= =1) keydata=1。0x01。 void scankey() { unsigned int keydata。 Code unsigned char TH0[]={0xF2,0xF3,0xF5,0xF5,0xF6,0xF7,0xF8,0xF9,0xF9, 0xFA,0xFA,0xFB,0xFB,0xFC,0xFC,0xFC,0xFD,0xFD,0xFD,0xFD,0xFE,0xFE,0xFE, 0xFE,0xFE,0xFE,0xFE,0xFF,}。 unsigned char keytmp。 unsigned char BTH0,BTL0。 電子科技大學(xué)成都學(xué)院課程設(shè)計(jì) 36 附錄 附錄 一 :完整的音樂(lè)程序 include sbit p00=p0^0。同時(shí),也要感謝各位老師,同學(xué)和朋友們給我極大的支持,對(duì)我的論文提出了寶貴的意見(jiàn)及建議。從課題的選擇得到畢業(yè)論文設(shè)計(jì)最終完成,老師都始終給予我細(xì)心的指導(dǎo)。 在論文的寫作過(guò)程中,得到了 伊學(xué)君 老師的親切關(guān)懷和耐心的指導(dǎo)。如果沒(méi)有導(dǎo)師的督促和指導(dǎo),以及同學(xué)和朋友的支持,想要完成這個(gè)畢業(yè)論文設(shè)計(jì)是難以想像的。 電子科技大學(xué)成都學(xué)院課程設(shè)計(jì) 34 參考文獻(xiàn) [1] 黃振杰 .基于 AT89S52 的多功能音樂(lè)播放器 [J].廣東 :電子設(shè)計(jì)工程 :2020 年 2 月第 2 期 [2] 吳迅 .用單片機(jī)設(shè)計(jì)音樂(lè)播放器 [J].山東 :電子世界 , [3] 朱清慧等 .Protues 教程 —電子線路設(shè)計(jì) /制版與仿真 [M].北京 :清華大學(xué)出版社 , [4] 侯玉寶 ,李成群 .基于 Proteus 的 51 系列單片機(jī)設(shè)計(jì)與仿真 [M].北 京 :電子工業(yè)出版社 ,2020 [5] 何立民 .MCS51 系列單片機(jī)應(yīng)用系統(tǒng)設(shè)計(jì) [M].北京航空航天大學(xué)出版社 ,1990 [6] 李華 . MCS51 系列單片機(jī)應(yīng)用接口技術(shù) [M].北京航空航天大學(xué)出版 ,1993 [7] 李廣弟 ,朱月秀 .單片機(jī)基礎(chǔ) [M].北京 :北京航空航天大學(xué)出版社 , [8] 張義和 ,王 敏男等 .例說(shuō) 51 單片機(jī) [M].北京 :人民郵電出版社 , [9] 陳明熒 .8051 單片機(jī)課程設(shè)計(jì)實(shí)訓(xùn)教材 [M](第一版 ).北京 :清華大學(xué)出版社 ,2020 致謝 35 致謝 經(jīng)過(guò)幾個(gè)月的忙碌,本次畢業(yè)論文設(shè)計(jì)已經(jīng)接近尾聲。 4. 當(dāng)用戶按下復(fù)位鍵 F 時(shí)。 2. 按下 C 鍵,選定某一樂(lè)曲,隨即輸入選定樂(lè)曲的序列號(hào)( 1~4),音樂(lè)播放器對(duì)選定的某一樂(lè)曲循環(huán)播放。 本設(shè)計(jì)按鍵分別是 A、 B、 C、 D 四個(gè)功能鍵和 4 四個(gè)數(shù)字鍵,以及復(fù)位鍵和暫停鍵,中間芯片為核心部件 AT89C51,揚(yáng)聲器控制電路由反向器和喇叭組成。 程序的結(jié)構(gòu)要設(shè)計(jì)的合理,避免上下亂調(diào)用的現(xiàn)象,這樣會(huì)使程序更加清晰化。 編程時(shí)要注意,在程序開(kāi)始時(shí),要寫入各定時(shí)器中斷的入口地址。 程序中的跳轉(zhuǎn)指令的運(yùn)用很重要,為保險(xiǎn)起見(jiàn),都必須要反復(fù)檢查 ,我們就遇到過(guò)跳轉(zhuǎn)指令用錯(cuò)程序無(wú)法正常運(yùn)行的現(xiàn)象。最后終于能 播放音樂(lè)了 。 仿真結(jié)果 我在 keil 軟件中建立工程,連接, 編譯后生成了 .hex 文件,在 proteus 中在單片機(jī)中加載 .hex 文件仿真中遇到了以下問(wèn)題。 兩個(gè)定時(shí)器同時(shí)工作,存在中斷時(shí)序問(wèn)題,剛開(kāi)始 時(shí)我們把定時(shí)器 1 設(shè)定在方式 3,計(jì) 250us,由于定時(shí)中斷過(guò)于頻繁,使 CPU 負(fù)載過(guò)大,導(dǎo)致音樂(lè)不能正常播放,時(shí)間不能正常顯示。 開(kāi)始沒(méi)有考慮鍵盤的消抖,造成的按鍵工作紊亂,具體的現(xiàn)象是:按 1 次鍵卻被要機(jī)器認(rèn)為是按 了 1 次或多次,這就使播放器有時(shí)候可以正常工作,有時(shí)第 5 章 系統(tǒng)調(diào)試 31 候卻不可以。 編程過(guò)程中要注意加注釋或分割線,否則,在程序過(guò)長(zhǎng)時(shí)容易變得很亂,不便于查找或更改。 有時(shí)會(huì)出現(xiàn)程序一點(diǎn)錯(cuò)誤也沒(méi)有,但就是不能正常運(yùn)行的現(xiàn)象,最后我們發(fā)現(xiàn)是因?yàn)槌绦蛑杏械闹噶顣鴮懙貌灰?guī)范導(dǎo)致的,例如有的 RET 返回指令一定要按正確格式書寫。當(dāng)然,如果 Keil 在上次關(guān)閉時(shí)有打開(kāi)的工程,再一次打開(kāi)時(shí)它會(huì)自動(dòng)加載上一次的工程文件。這樣,在編譯的時(shí)候,其他的文件會(huì)被自動(dòng)的導(dǎo)入到工程里來(lái)。一個(gè)工程里可以有一個(gè)或多個(gè) *.c文件和 *.h文件,但只可以有一 個(gè) main()函數(shù)。關(guān)于 Keil 的使用,有很多的資料介紹,這里只介紹其整個(gè)編譯過(guò)程。在本次設(shè)計(jì)中利用的是 KEIL C51軟件仿真器 ,其評(píng)估版本可以免費(fèi)獲取 ,只是有 2KB 代碼限制。前者不需要硬件仿真器 ,借助于軟件仿真器即可 。 } 第 5 章 系統(tǒng)調(diào)試 29 第 5章 系統(tǒng)調(diào) 試 軟件調(diào)試 結(jié)構(gòu)化軟件的調(diào)試一般可以將重點(diǎn)放在分模塊調(diào)試上 , 通調(diào)是最后一環(huán)。 TR0=1。 } 五 、 賦 T0 計(jì)數(shù)初值,開(kāi)始計(jì)數(shù) void sing() 電子科技大學(xué)成都學(xué)院課程設(shè)計(jì) 28 { TH0=BTH0。 TH0=BTH0。t2++) { } } 四 、 定時(shí)器 0 中斷服務(wù)子程序 void time0_int() interrupt 1 using 0 { TR0=0。t1++) { for(t2=0。 for(t1=0。i) } 三 、 延時(shí)函數(shù) void delay(unsigned char time) { unsigned char t1。 for(i=300。 else if(keytmp= =1) keydata=1。0x01。 一 、 鍵掃描函數(shù) void scankey() { unsigned int keydata。此時(shí),播放器由播放狀態(tài)進(jìn)入暫停狀態(tài)。此時(shí)播放器由暫停狀態(tài)進(jìn)入播放狀態(tài)。標(biāo)識(shí)符初值賦值為 R1=00H,計(jì)數(shù)初值設(shè)為 TH0=0FFH,TL0=0FFH。電子科技大學(xué)成都學(xué)院課程設(shè)計(jì) 24 播放 /暫停 子程序 播放 /暫停在程序利用內(nèi)部中斷 T0 口。 程序流程圖如圖所示: 第 4 章 軟件設(shè)計(jì) 23 圖 41 主程序流程圖 如圖 43 所示,開(kāi)始播放自定義音樂(lè)程序時(shí),指針指向樂(lè)譜第一個(gè)字節(jié),將第一字節(jié)拆分為高低字節(jié),其高字節(jié)即為音符中音高對(duì)應(yīng)定時(shí)器定時(shí)常數(shù),低字節(jié)即為音符中節(jié)拍對(duì)應(yīng)的 1/4 節(jié)拍的次數(shù),同時(shí)啟動(dòng)中斷定時(shí)器 0 工作在方式 1,由定時(shí)器定時(shí)常數(shù)得到相應(yīng)音高,通過(guò)延時(shí)子程序設(shè)定 1/4 節(jié)拍的 時(shí)間,由節(jié)拍次數(shù)得到節(jié)拍,再讀取下一個(gè)樂(lè)譜字節(jié),循環(huán)下去則演奏出美妙和諧的樂(lè)曲。 5)當(dāng)一個(gè)音符的發(fā)音時(shí)間到時(shí) ,再查下一個(gè)音符的定時(shí)常數(shù)和延時(shí)常數(shù)。 3)程序中的節(jié)拍控制是通過(guò)調(diào)用延時(shí)子程序 DELAY 的次數(shù)來(lái)實(shí)現(xiàn) ,1 拍為500ms,即需要調(diào)用 4 次 DELAY; 3/4 拍需要調(diào)用 3 次 DELAY; 2/4 拍需要調(diào)用 2次 DELAY。 建立編碼表具體如下: 1)定時(shí) 值為十六進(jìn)制 4位數(shù) ,拆分為兩組 ,如 5對(duì)應(yīng)的定時(shí)值為 FD80H,拆分 FDH和 80H 兩組 .前者裝入定時(shí)器的高位 TH0,后組裝入定時(shí)器的低位 TL0。 ( 2)把 T 值表構(gòu)成一個(gè)編碼表,構(gòu)成發(fā)音符的計(jì)數(shù)值放在計(jì)數(shù)初值編碼表里。只要求得 1/4拍的 DELAY 時(shí)間,其余節(jié)拍則為它的倍數(shù),本設(shè)計(jì)取 4/4 調(diào)值,延時(shí)時(shí)間為 125ms,其中節(jié)拍碼與實(shí)際節(jié)拍對(duì)照表 411。 每個(gè)音符使用 1 個(gè)字節(jié),字節(jié)高 4 位代表音符高低,低 4 位代表音符 節(jié)拍。 中音 DO 的 T=65536500000/523=64580。 其計(jì)數(shù)值的求法如下: T=65536N=65536Fi/2/Fr (42) 計(jì)算舉例: 第 4 章 軟件設(shè)計(jì) 21 設(shè) K=65536,F=1000000=Fi=1MHz,求低音 DO( 261Hz)、中音 DO( 523Hz)、 高音 DO( 1046Hz)的計(jì)數(shù)值。 利用單片機(jī)內(nèi)部定時(shí)器使其工作在計(jì)數(shù)器模式 MODE1 下,改變計(jì)數(shù)值 TH0及 TL0 以產(chǎn)生不同頻率的方法如下: 例如 : 頻率為 523Hz,其周期天 /523 S=1912uS,因此只要令計(jì)數(shù)器計(jì)時(shí)956uS/1us=956,在每計(jì)數(shù) 956 次時(shí)就 將 I/O 反接,就可得到中音 DO( 532Hz)??梢钥刂茊纹瑱C(jī)產(chǎn)生不同頻率不同節(jié)拍的脈沖信號(hào),由蜂鳴器發(fā)出就產(chǎn)生了美妙和諧的樂(lè)曲。電路圖如下所示: 電子科技大學(xué)成都學(xué)院課程設(shè)計(jì) 18 圖 34 復(fù)位電路圖第 3 章 硬件設(shè)計(jì) 19 電路設(shè)計(jì)所需要的器件 表 31 電路設(shè)計(jì)器件表 類別 序號(hào) 型 號(hào) 數(shù)量(單位) 用途 電源 1 7805 1 個(gè) 系統(tǒng)電源 IC 芯片 2 AT89c51 1 片 CPU 3 LM386 1 片 實(shí)時(shí)時(shí)鐘日歷芯片 電容 4 30pF 2 個(gè) 單片機(jī)時(shí)鐘震蕩電路 5 10μF 1 個(gè) 復(fù)位電路 6 1 個(gè) 7 470μF 1 個(gè) 8 22μF 1 個(gè) 9 47μF 1 個(gè) 10 1 個(gè) 11 100μF 1 個(gè) 晶振 12 12MHz 1 支 電阻 13 1 支 14 1KΩ 2 支 復(fù)位電路 15 10KΩ 1 支 限壓保護(hù) 16 470Ω 1 支 喇叭 17 74F378 1 個(gè) 揚(yáng)聲器 硬質(zhì)板 18 焊接性 1 塊 基礎(chǔ)電路 二極管 19 1N4001 1 個(gè) 電源部分 20 發(fā)光二極 管 1 個(gè) 檢測(cè)電源 電子科技大學(xué)成都學(xué)院課程設(shè)計(jì) 20 第 4章 軟件設(shè)計(jì) 音樂(lè)發(fā)聲設(shè)計(jì)原理 發(fā)聲 原理 一首樂(lè)曲是由多個(gè)音符構(gòu)成的。 復(fù)位電路采用 RC 充電電路組成上電復(fù)位單片機(jī)電路,當(dāng)系統(tǒng)上電時(shí),在上電初期,電容 C 充電,使復(fù)位腳持續(xù)高電平,當(dāng) C 充電到達(dá)一定程度復(fù)位腳電位會(huì)慢慢變低,最后被電阻 R 完 全拉低,高電平復(fù)位的時(shí)間由充電的時(shí)間決定,充電時(shí)間又由 R 與 C 的阻值和容值之積決定。 復(fù)位電路 復(fù)位電路的基本功能是:系統(tǒng)上電時(shí)提供復(fù)位信號(hào),直至系統(tǒng)電源穩(wěn)定后,撤銷復(fù)位信號(hào)。當(dāng)電鍵按下時(shí)接口接低電平,實(shí)現(xiàn)對(duì)音樂(lè)播放器的控制。
點(diǎn)擊復(fù)制文檔內(nèi)容
醫(yī)療健康相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1