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

正文內(nèi)容

單片機(jī)課程設(shè)計(jì)基于at89s52單片機(jī)的數(shù)碼管顯示音樂(lè)盒的設(shè)計(jì)(編輯修改稿)

2024-12-18 15:50 本頁(yè)面
 

【文章內(nèi)容簡(jiǎn)介】 ROM、鍵盤(pán)、馬達(dá)、 LED、 AD/DA、部分 SPI 器件、部分 IIC 器件等)。 軟件編譯采用 KEIL C51 軟件, Keil C51 是美國(guó) Keil Software 公司出品的 51系列兼容單片機(jī) C 語(yǔ)言軟件開(kāi)發(fā)系統(tǒng),與匯編相比, C語(yǔ)言在功能上、結(jié)構(gòu)性、可讀性、可維護(hù)性上有明顯的優(yōu)勢(shì),因而易學(xué)易用。用過(guò)匯編語(yǔ)言后再使用 C 來(lái)開(kāi)發(fā),體會(huì)更加深刻。 Keil C51 軟件提供豐富的庫(kù)函數(shù)和功能強(qiáng)大的集成開(kāi)發(fā)調(diào)試工具,全 Windows 界面。 另外重要的一點(diǎn),只要看一下編譯后生成的匯編代碼,就能體會(huì)到 Keil C51 生成的目標(biāo)代碼效率非常之高,多數(shù)語(yǔ)句生成的匯編代碼很緊湊,容易理解。在開(kāi)發(fā)大型軟件時(shí)更能體現(xiàn)高級(jí)語(yǔ)言的優(yōu)勢(shì)。 仿真結(jié)果 按照上面設(shè)計(jì)的電路在 proteus 軟件內(nèi)畫(huà)圖 , 打開(kāi)單片機(jī)軟件開(kāi)發(fā) 12 系統(tǒng) Keil,選擇 89c51 單片機(jī) ,在其中編寫(xiě)程序 ,運(yùn)行生成一個(gè)后綴名為hex 的文件 ,然后將該文件下載到 proteus 中的 AT89c51 單片機(jī)中進(jìn)行仿真 ,觀察實(shí)驗(yàn)現(xiàn)象。仿真能實(shí)現(xiàn)播放音樂(lè),按鍵選擇曲目,暫停,播放功能。仿真成功后,安裝好實(shí)驗(yàn)板 ,然后將音樂(lè)程序下載到電路板內(nèi) ,觀察結(jié)果。能實(shí)現(xiàn)播放音樂(lè),按鍵換曲等功能。 系統(tǒng)調(diào)試 程序調(diào)試中出現(xiàn)的問(wèn)題及解決的辦法: ( 1) 有時(shí)會(huì)出現(xiàn)程序一點(diǎn)錯(cuò)誤也沒(méi)有,但就是不能正常運(yùn)行的現(xiàn)象,最后我們發(fā)現(xiàn)是因?yàn)槌绦蛑杏械闹噶顣?shū)寫(xiě)得不規(guī)范導(dǎo)致的,例如有的 RET返回指令一定要按正確格式書(shū)寫(xiě)或在兩行指令間最好不要留空行。 ( 2) 程序中的跳轉(zhuǎn)指令的運(yùn)用很重要,為保險(xiǎn)起見(jiàn),都用 LJMP,我們就遇到過(guò)跳轉(zhuǎn)指令用錯(cuò)程序無(wú)法正常運(yùn)行的現(xiàn)象。當(dāng)用 JNZ 指令時(shí),跳轉(zhuǎn)范圍比較少,這時(shí)要用一個(gè)標(biāo)號(hào)中轉(zhuǎn)。 ( 3) 編程時(shí)要注意,在程序開(kāi)始時(shí),要寫(xiě)入各定時(shí)器中斷的入口地址。 ( 4) 編程過(guò)程中要注意加注釋或分割線,否則,在程序過(guò)長(zhǎng)時(shí)容易變得很亂,不便于查找或更改。 ( 5) 編程前要加流程圖,這樣會(huì)使思路清晰,例如數(shù)字音樂(lè)盒的設(shè)計(jì)思路完全可以按著 MP3 的工作方式列寫(xiě)流程圖。 ( 6) LCD 計(jì)時(shí)正常顯示的解決辦法: 兩個(gè)定時(shí)器同時(shí)工作,存在中斷時(shí)序問(wèn)題,剛開(kāi)始時(shí)我們把定時(shí)器 1設(shè)定在方式 3,計(jì) 250us,由于定時(shí)中斷過(guò)于頻繁,使 CPU 負(fù)載過(guò)大,導(dǎo)致音樂(lè)不能正常播放,時(shí)間不能正常顯示。 解決辦法:將定 時(shí)器 1設(shè)定在工作方式 1, 16 位計(jì)數(shù),計(jì) 50ms,效果有很大改觀。但還有問(wèn)題。 改進(jìn)方案:若采用可以定時(shí)時(shí)間更長(zhǎng)的單片機(jī),可以避免所有問(wèn)題。 13 結(jié)束語(yǔ) 本文設(shè)計(jì)的音樂(lè)盒,是基于單片機(jī)設(shè)計(jì)制作的電子式音樂(lè)盒。 本設(shè)計(jì)特點(diǎn)有 :( 1) 與傳統(tǒng)的機(jī)械式音樂(lè)盒相比更小巧,音質(zhì)更優(yōu)美且能演奏和弦音樂(lè) 。 (2) 電子式音樂(lè)盒動(dòng)力來(lái)源是電池,制作工藝簡(jiǎn)單,可進(jìn)行批量生產(chǎn),所以價(jià)格便宜 。 (3)基于單片機(jī)制作的電子式音樂(lè)盒,控制功能強(qiáng)大,可根據(jù)需要選歌,使用方便 。(4)根據(jù)存儲(chǔ)容量的大小,可以盡可能多的存儲(chǔ)歌曲 ;( 5) 可以設(shè)計(jì) 彩燈外觀效果,使音樂(lè)盒的功能更加豐富 。 但由于 AT89C51 分辨率不是太高,音樂(lè)有點(diǎn)單調(diào),另外,由于時(shí)間關(guān)系具體電路還有的地方不盡完善之處。 ( 6)因容量問(wèn)題無(wú)法容納五首歌曲 14 /***************************************************** Header: 單片機(jī) :數(shù)碼管顯示音樂(lè)播放 File Name: 數(shù)碼管顯示音樂(lè)播放 Author: 戴啟盛 Date: 2020/01/03 ******************************************************/ include define uchar unsigned char define uint unsigned int void delay(uint time) { //delay 一次即延時(shí)約 20ms uint i。 while(time) for(i=0。i2580。i++) 。 //約 20ms } uint code timer[]={0x0000, //各音 符頻率對(duì)應(yīng)定時(shí)器初值 // timer[]為基本音符對(duì)應(yīng)定時(shí)器初值, timerup[]為升音音符對(duì)應(yīng)定時(shí)器初值。 // 1 2 3 4 5 6 7 0xf88c, 0xf95c, 0xfa15, 0xfa68, 0xfb05, 0xfb90, 0xfc0c, 0xfc44, 0xfcad, 0xfd0a, 0xfd32, 0xfd83, 0xfdc8, 0xfe06, 0xfe22, 0xfe57, 0xfe85, 0xfe9b, 0xfec2, 0xfee4, 0xff02 }。 uint code timerup[]={0x0000, // timer[]為基本音符對(duì)應(yīng)定時(shí)器初值, timerup[]為升音音符對(duì)應(yīng)定時(shí)器初值。 // 1 2 3 4 5 6 7 0xf8f3, 0xf9b9, 0xfa68, 0xfab9, 0xfb4c, 0xfbd0, 0xfc44, 0xfc7a, 0xfcdd, 0xfd32, 0xfd5d, 0xfda7, 0xfde8, 0xfe22, 0xfe3e, 0xfe6f, 0xfe9b, 0xfeaf, 0xfed3, 0xfef4, 0xff20 }。 uchar th,tl。 sbit out=P2^0。 uint i=0,j=0。 /****************************************************************************** 15 曲子存儲(chǔ)格式:頻率,節(jié)拍;頻率,節(jié)拍; 0 x 0 0 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 red[]={ //紅河谷 0x05,0x01, 0x11,0x01, 0x13,0x03, 0x13,0x01, 0x13,0x02, 0x12,0x01, 0x13,0x01, 0x12,0x01, 0x11,0x03, 0x05,0x01, 0x11,0x01, 0x13,0x02, 0x11,0x01, 0x13,0x01, 0x15,0x02, 0x14,0x01, 0x13,0x01, 0x12,0x04, 0x15,0x01, 0x14,0x01, 0x13,0x02, 0x13,0x01, 0x12,0x01, 0x11,0x02, 0x12,0x01, 0x13,0x01, 0x15,0x01,0x14,0x03, 0x06,0x01, 0x06,0x01, 0x05,0x02, 0x07,0x01, 0x11,0x01, 0x12,0x02, 0x13,0x01, 0x12,0x01, 0x11,0x04, 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, 0x15,0x01,0x16,0x03, 0x21,0x01,0x16,0x03, 0x00,0x01, 0x12,0x03,0x14,0x01, 0x13,0x02,0x14,0x01, 0x15,0x01,0x14,0x04, 0x00,0x01, 0x14,0x01,0x15,0x01,0x16,0x02, 0x15,0x01,0x14,0x01,0x15,0x02,0x14,0x01,0x13,0x01, 16 0x14,0x02, 0x13,0x01,0x12,0x01,0x11,0x04, 0x12,0x02,0x14,0x02, 0x13,0x02,0x14,0x
點(diǎn)擊復(fù)制文檔內(nèi)容
公司管理相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖片鄂ICP備17016276號(hào)-1