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

正文內(nèi)容

單片機(jī)課程設(shè)計(jì)基于at89s52單片機(jī)的數(shù)碼管顯示音樂盒的設(shè)計(jì)-在線瀏覽

2025-01-15 15:50本頁面
  

【正文】 ,廣泛使用的各種智能 IC 卡,民用豪華轎車的安全保障系統(tǒng),錄像機(jī)、攝像機(jī)、全自動洗衣機(jī)的控制,以及程控玩具、電子寵物等等,這些都離不開單片 機(jī)。面對浩如煙海的信息,人們已經(jīng)能夠利用計(jì)算機(jī)等工具高效準(zhǔn)確地對之進(jìn)行處理,但要想將處理完的信息及時,清晰地傳遞給別人,還必須通過尋求更加卓越的顯示技術(shù)來實(shí)現(xiàn)。 隨著人類社會的發(fā)展,人們對視覺、聽覺方面的享受提出了越來越高的要求。傳統(tǒng)音樂盒多是機(jī)械型的,體積笨重,發(fā)音單調(diào),不能實(shí)現(xiàn)批量生產(chǎn)。 3 2 系統(tǒng)設(shè)計(jì) 設(shè)計(jì)任務(wù)與要求 (1)利用 I/O 口產(chǎn)生一定頻率的方波,驅(qū)動蜂鳴器,發(fā)出不同的音調(diào),從而演樂曲 (內(nèi)存兩首樂曲 )。 (3)可通過功能鍵選擇樂曲, K1 下 一曲, K2上 一曲 ,K3 暫停、播放 ,K4 復(fù)位 。 6個按鍵選擇 6 首不同的音樂播 放,另一個按鍵控制音樂的停止。比如,用定時器控制,亮燈倒計(jì)時 10秒然后觸發(fā)音樂播放。例如頻率為 523HZ,其 周期T=1/523=1912 微秒 ,因此只要令計(jì)數(shù)器定時 956/1=956 在每記數(shù) 9次時將I/O 口反相 ,就可得到中音 D0(523HZ)。但是我們卻只能選擇 6首音樂,局限性太強(qiáng)了。 綜上所述,選擇方案二,使用單片機(jī)實(shí)現(xiàn) 更優(yōu) 。系統(tǒng)總體電路原理圖如圖 2 所示。 圖 3 AT89S52管腳圖 6 AT89S52 是一種低功耗、高性能 CMOS8 位微控制器,具有 8K 在系統(tǒng)可編程 Flash 存儲器。片上 Flash 允許程序存儲器在系統(tǒng)可編程,亦適于常規(guī)編程器 。 AT89S52 的主要特性是 : 與 MCS51 單片機(jī)產(chǎn)品兼容 ; 8K 字節(jié)在系統(tǒng)可編程 Flash 存儲器 ; 1000 次擦寫周期 ; 三級加密程序存儲器 ; 32 個可編程 I/O 口線 ; 三個 16 位定時器 /計(jì)數(shù)器 ; 8 個中斷源 ;全雙工 UAR 串行通道 ; 低功耗空閑和掉電模式 ; 掉電后中斷可喚醒 ;有 看門狗定時器 ; 雙數(shù)據(jù)指針 。另外, AT89S52 可降至 0Hz 靜態(tài)邏輯操作,支持 2種軟件可選擇節(jié)電模式。掉電保護(hù)方式下, RAM 內(nèi)容被保存,振蕩器被凍結(jié),單片機(jī)一切工作停止,直到下一個中斷或硬件復(fù)位為止。發(fā)光二極管 的亮、滅由內(nèi)部程序控制, 8個LED 發(fā)光二極管分別對應(yīng)不同的音階,所以 LED 會隨著音階的變化按規(guī)律亮、滅。這個放大器與作為反饋元件的片外石英晶體或者陶瓷諧振器一起構(gòu)成自然振蕩器。對外接電容 C1, C2 雖然沒有什么嚴(yán)格的要求,但電容容量的大小會輕微影響振蕩頻率的高低、振蕩器 工作的穩(wěn)定性、起振的難易程序及溫度穩(wěn)定性。用戶也可以采用外部時鐘。這種情況下,外部時鐘脈沖接到 XTAL1 端,即內(nèi)部時鐘發(fā)生器的輸入端, XTAL2 則懸空。振蕩器電路圖如下: 8 圖 5 單片機(jī)內(nèi)部、外部振蕩電路 播放模塊 播放模塊是由 8550 NPN 三極管和電磁蜂鳴器組成。與 LM386和喇叭的組合相比較,該播放模塊存在一定噪聲.音響效果較差。因此,必須選用 8550 NPN三極管和電磁蜂鳴器則能滿足系統(tǒng)要求。 名稱 數(shù)量(個) 型號 備注 電阻 6 排阻 RX8(1 個 )1k(2 個 ),(1個 ),10k(1 個 ),15(1 個 ) 數(shù)碼管 1 7SEGDIGITAL 開關(guān) 4 BUTTON K1\K1\K3\K4 單片機(jī) 1 AT89C51 三極管 1 2N3906 揚(yáng)聲器 1 SPEAKER 電源 2 POWER 5V 電容 3 GROUND 30pf(2 個 ),10uf(1 個 ) 晶振 1 CRYSTAL 4 軟件設(shè)計(jì)與仿真 本系統(tǒng) 程序包括 主程序、 鍵盤掃描 子程序、發(fā)送鍵碼子程序、發(fā)送數(shù)據(jù)子程序、接收命令子程序等。鍵盤掃描子程序用于掃描鍵 盤 狀態(tài),將被按鍵的位置號存入緩沖器中 。 發(fā)送數(shù)據(jù)子程序用于將數(shù)據(jù)發(fā)給 單片機(jī) 接口 。 10 本程序可以實(shí)現(xiàn)課程設(shè)計(jì)的基本要求,并可以通過按鍵播放兩首歌曲, 主程序流程圖如圖 6 所示。它運(yùn)行于 Windows 操作系統(tǒng)上,可以仿真、分析 (SPICE)各種模擬器件和集成電路,該軟件的特點(diǎn)是: ( 1)實(shí)現(xiàn)了單片機(jī)仿真和 SPICE 電路仿真相結(jié)合。 ( 2)支持主流單片機(jī)系統(tǒng)的仿真。 ( 3)提供軟件調(diào)試功能。 ( 4)具有強(qiáng)大的原理圖繪制功能。 是目前最好的模擬單片機(jī)外圍器 件的工具,可以仿真 51系列、 AVR、 PIC 等常用的 MCU 及其外圍電路(如 LCD、 RAM、 ROM、鍵盤、馬達(dá)、 LED、 AD/DA、部分 SPI 器件、部分 IIC 器件等)。用過匯編語言后再使用 C 來開發(fā),體會更加深刻。 另外重要的一點(diǎn),只要看一下編譯后生成的匯編代碼,就能體會到 Keil C51 生成的目標(biāo)代碼效率非常之高,多數(shù)語句生成的匯編代碼很緊湊,容易理解。 仿真結(jié)果 按照上面設(shè)計(jì)的電路在 proteus 軟件內(nèi)畫圖 , 打開單片機(jī)軟件開發(fā) 12 系統(tǒng) Keil,選擇 89c51 單片機(jī) ,在其中編寫程序 ,運(yùn)行生成一個后綴名為hex 的文件 ,然后將該文件下載到 proteus 中的 AT89c51 單片機(jī)中進(jìn)行仿真 ,觀察實(shí)驗(yàn)現(xiàn)象。仿真成功后,安裝好實(shí)驗(yàn)板 ,然后將音樂程序下載到電路板內(nèi) ,觀察結(jié)果。 系統(tǒng)調(diào)試 程序調(diào)試中出現(xiàn)的問題及解決的辦法: ( 1) 有時會出現(xiàn)程序一點(diǎn)錯誤也沒有,但就是不能正常運(yùn)行的現(xiàn)象,最后我們發(fā)現(xiàn)是因?yàn)槌绦蛑杏械闹噶顣鴮懙貌灰?guī)范導(dǎo)致的,例如有的 RET返回指令一定要按正確格式書寫或在兩行指令間最好不要留空行。當(dāng)用 JNZ 指令時,跳轉(zhuǎn)范圍比較少,這時要用一個標(biāo)號中轉(zhuǎn)。 ( 4) 編程過程中要注意加注釋或分割線,否則,在程序過長時容易變得很亂,不便于查找或更改。 ( 6) LCD 計(jì)時正常顯示的解決辦法: 兩個定時器同時工作,存在中斷時序問題,剛開始時我們把定時器 1設(shè)定在方式 3,計(jì) 250us,由于定時中斷過于頻繁,使 CPU 負(fù)載過大,導(dǎo)致音樂不能正常播放,時間不能正常顯示。但還有問題。 13 結(jié)束語 本文設(shè)計(jì)的音樂盒,是基于單片機(jī)設(shè)計(jì)制作的電子式音樂盒。 (2) 電子式音樂盒動力來源是電池,制作工藝簡單,可進(jìn)行批量生產(chǎn),所以價格便宜 。(4)根據(jù)存儲容量的大小,可以盡可能多的存儲歌曲 ;( 5) 可以設(shè)計(jì) 彩燈外觀效果,使音樂盒的功能更加豐富 。 ( 6)因容量問題無法容納五首歌曲 14 /***************************************************** Header: 單片機(jī) :數(shù)碼管顯示音樂播放 File Name: 數(shù)碼管顯示音樂播放 Author: 戴啟盛 Date: 2020/01/03 ******************************************************/ include define uchar unsigned char define uint unsigned int void delay(uint time) { //delay 一次即延時約 20ms uint i。i2580。 //約 20ms } uint code timer[]={0x0000, //各音 符頻率對應(yīng)定時器初值 // timer[]為基本音符對應(yīng)定時器初值, timerup[]為升音音符對應(yīng)定時器初值。 uint code timerup[]={0x0000, // timer[]為基本音符對應(yīng)定時器初值, timerup[]為升音音符對應(yīng)定時器初值。 uchar th,tl。 uint i=0,j=0。 0 x 0 0 音域,正常為 01; 頻率 1 ~ 7; 是 1 否 0 升音 節(jié)拍 1 ~ 15 00\02\03 降升八度 0 表示休止 是 1 否 0 頓音 若為 0 則表示停止標(biāo)志 ********************************************************************************/ uchar code bas[]={//音符 0x01,0x08, 0x02,0x08, 0x03,0x08, 0x04,0x08, 0x05,0x08, 0x06,0x08, 0x07,0x08,// 0x08,0x08, 0x11,0x08, 0x12,0x08, 0x13,0x08, 0x14,0x08, 0x15,0x08, 0x16,0x08, 0x17,0x08, 0x21,0x08, 0x22,0x08, 0x23,0x08, 0x24,0x08, 0x25,0x08, 0x26,0x08, 0x27,0x08, 0,0 }。 uchar code xingyue[]={ //星月神話 0x15,0x01, 0x16,0x01, 0x15,0x01,0x14,0x01,0x15,0x02,0x14,0x01,0x13,0x01, 0x14,0x02, 0x13,0x01,0x12,0x01,0x11,0x04, 0x12,0x02,0x14,0x02, 0x13,0x02,0x11,0x02, 0x06,0x04, 0x14,0x01, 0x15,0x01,0x16,0x02, 0x15,0x01,0x14,0x01, 0x15,0x02,0x14,0x01, 0x13,0x01,0x14,0x02, 0x13,0x01,0x12,0x01, 0x11,0x04, 0x12,0x02,0x16,0x01, 0x13,0x01,0x13,0x02, 0x14,0x01,0x15,0x01, 0x14,0x04, 0x12,0x03,0x14,0x01, 0x13,0x02,0x14,0x01, 0x
點(diǎn)擊復(fù)制文檔內(nèi)容
公司管理相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1