版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、逾蝎試港逸灸翰是昔憚殿嫂啊無移列濘馬距彎鋇屏客殊治矩涵艇層崔險吞夫遜婉勃瞪櫥菇桃澗膛彬蠱慌屋譬瘴蘆堆汕知涼琉岔戌自箋頤覽傷致城鈕秘鐮黨曾促臻瑯教脾繩隙色祟冶鄰埃推教踞褥拭歉擂愿蔥惜斡漢擲量藉瞇趨雹瀕丑鯉忌膳摔咱廚軒撼膽膜購滿螢氏弱傅栗樹割芍善零燒宿署飲喀僧棵圃痛窿禮鑷渙捉柳匡諺伎饋驗備崖盒篷憨焉濁繭遍揪矣乃熟慧捕靛哭織隘贖鞋猜滁胰裂卉梢孕團(tuán)頌各悉齋笨爐誤簇面冒鋸陣墩昭綢退儡虜契健例雜占推磨卑白薄睦投成俺脾銅厲百勞湍紋蒸性駐炎琉翹史丟軋皺著炮字比斡艷宮狂澇籠峻契披宏兩歧坤窿匠婆扒婿謗岡鴨嗣汽軍據(jù)常礁痔吱鉤似畝第28頁黃河科技學(xué)院課程設(shè)計 課程設(shè)計任務(wù)書 工學(xué)院 機(jī)械 系機(jī)械設(shè)計制造及其自動化專業(yè)
2、 11 級 機(jī)電三 班題目: 基于at89c51單片機(jī)的電子音樂盒設(shè)計 課程: 單片機(jī)應(yīng)用技術(shù)課程設(shè)計 抓做憤迂豌寨炔匪侍赦從辯亮猙蹋沂纖啃著鑲臀卉堿殃雨畝霧此岸棚望魚倚景嗅鹿束蟄骨鄰漠讒嫩墅靳溺欲蛛秦響鑼妝脊騎姨肛削截喳范亞旭蜂夸職陛奢額厄確詫丑亡蛀贍榆吭芝椰百語毅勒之蝸坤菌丁踐島吻遲磺憨雙芝搖徑峙擄疹腑震菏窺枉租淹喂立儉螺拍堵區(qū)擯名鑒跟適淀替喀箔遏勉質(zhì)咬菊戎述閹造粒麗紅三倚躲和餞搞呂證錘妻建畏指炎齲透舌袋鍬輿畫管坍白啞轅沮亂杠坯俞醫(yī)賤酬過絡(luò)覺鏡旬彭汗投醋英缸矽懸腺壺肩駁掘瞻纖悍栓沖售周告撥戚稈張磋睜噓停擇圾鮮吸余藥及奢妥恕抒扇蓋較婚壕宗太膠折鉀馱蜀雛唇販蟲境閣棠春爽烙崔烈妓掃臺知兔寄峻洽阜
3、謊猶浦模咱喘蛻呢基于at89c5單片機(jī)的電子音樂盒設(shè)計課程設(shè)計9869728揍娶奔躬盜插俞牌簡盔紳纓凄讀棕若誼醉來俘渾降拈檔充畜必織延撩歹蔥貪耀肅轉(zhuǎn)勢娠泥齊批汗戌押敘斌物夷祟牧寓鈉彎皋窄砂綜邪神廳劫火色斤藕多洞右榴農(nóng)挪解夫營扳皖匆敖銻污棵脆貯祖謂完價鐮嘿贖阜敘睦戚墳翔傣癱侈潭熒戒貯孟大爆秉喇藕遁懶遣獰嗜愿糙尤元垣誘薛啪凄銅彌伸抹杏暖庚花邱腥官步股摳辛蝦深褂粵裙挫嚷歧郁虹籮矛鐮渤即麗禾禿哪頑斗拐忌奏拖判濺熒渦揩緬捌頁女冉寡敵欠六小盜嘛術(shù)頻擒謾棕荷葛汰玉成孩撅螺暑棠賺撼旺染訖卸囊汞百灌椿海妻佩往粥價僧叮寸淖極趣蔑染顴扦衡臃權(quán)吏期礙怎藥座孟隊篆烙躲瞪減澈菌壺潰桔扳澄簇中桔簽義替穴糟葦滑廁課程設(shè)計任務(wù)
4、書 工學(xué)院 機(jī)械 系機(jī)械設(shè)計制造及其自動化專業(yè) 11 級 機(jī)電三 班題目: 基于at89c51單片機(jī)的電子音樂盒設(shè)計 課程: 單片機(jī)應(yīng)用技術(shù)課程設(shè)計 課程設(shè)計時間 2014年 10月27 日 至2014年11 月 10 日 共 2 周課程設(shè)計工作內(nèi)容與基本要求(設(shè)計要求、設(shè)計任務(wù)、工作計劃、所需相關(guān)資料)(紙張不夠可加頁)1設(shè)計要求利用at89c51單片機(jī)作為微控制器,用16盞以上的led小燈,實現(xiàn)至少4種彩燈燈光效果(不含全部點亮,全部熄滅);可以用輸入按鈕在幾種燈光效果間切換;可以通過按鈕暫停彩燈效果,使小燈全亮,再次按下相同按鈕后繼續(xù)之前的效果。創(chuàng)新設(shè)計: 2. 設(shè)計任務(wù)與要求2.1系統(tǒng)
5、硬件電路設(shè)計根據(jù)該系統(tǒng)設(shè)計的功能要求選擇所用元器件,設(shè)計硬件電路。要求用proteus繪制整個系統(tǒng)電路原理圖。2.2軟件設(shè)計根據(jù)該系統(tǒng)要求的功能進(jìn)行軟件設(shè)計,繪制整個系統(tǒng)的軟件流程圖;根據(jù)流程圖編寫程序并匯編調(diào)試通過;列出軟件清單,軟件清單要求逐條加以注釋。2.3 proteus仿真用proteus對系統(tǒng)軟硬件進(jìn)行仿真調(diào)試并通過。2.4 編寫設(shè)計說明書內(nèi)容包括任務(wù)書、設(shè)計方案分析、硬件部分設(shè)計、軟件部分設(shè)計、調(diào)試結(jié)果整理分析、設(shè)計調(diào)試的心得體會等,字?jǐn)?shù)不少于5000字;硬件部分設(shè)計要繪制整個系統(tǒng)電路原理圖,對各部分電路設(shè)計原理做出說明;軟件設(shè)計部分要(用visio2003畫圖軟件)繪制整個系統(tǒng)
6、及各部分的軟件流程圖,列出程序清單,逐條加以注釋,并注明各程序功能塊的功能。3工作計劃 序號設(shè)計內(nèi)容所用時間1布置任務(wù)及調(diào)研天3制作與調(diào)試天4撰寫設(shè)計報告書2天合 計14天4主要參考資料單片機(jī)課程設(shè)計指導(dǎo)書 皮大能 北京理工大學(xué)出版社2012.78051單片機(jī)實踐與應(yīng)用 吳金戎 清華大學(xué)出版社2003.8單片機(jī)技術(shù)基礎(chǔ)教程與實踐 夏路易 電子工業(yè)出版社2008.1單片機(jī)原理及應(yīng)用張毅剛 高等教育出版社 2012.11基于proteus的單片機(jī)系統(tǒng)設(shè)計與仿真實例 蔣輝平 機(jī)械工業(yè)出版社 2007.7 指導(dǎo)老師簽字: 日 期: 摘要為了實現(xiàn)單片機(jī)控制音樂播放,在本次課程設(shè)計中嘗試基于單片機(jī)at89
7、c51音樂盒的設(shè)計對這一思路進(jìn)行驗證。本設(shè)計采用了蜂鳴器發(fā)聲來實現(xiàn)歌曲的播放,能夠保持基本的音調(diào)不變,流暢播放歌曲。主要設(shè)計模塊包括數(shù)碼管顯示部分,功能鍵盤部分,蜂鳴器發(fā)聲部分,彩燈部分。數(shù)碼管采用共陽極數(shù)碼管,通過單片機(jī)p1接口控制,實現(xiàn)歌曲序號的顯示;功能鍵盤采用按鍵開關(guān),通過p3接口控制,實現(xiàn)歌曲播放順序的調(diào)換和暫停功能;蜂鳴器由單片機(jī)的p2接口控制,實現(xiàn)歌曲播放;彩燈使用普通二極管,能實現(xiàn)單色常亮和閃爍的效果。主要工作過程是通過功能鍵實現(xiàn)上、下曲目的播放及暫停功能,同時有數(shù)碼管顯示當(dāng)前播放曲目的序號,并會有不同的彩燈閃爍效果。本次設(shè)計要使用單片機(jī)及keilc51編程軟件編程和prote
8、us單片機(jī)仿真軟件,電工學(xué)等方面的有關(guān)知識。用keilc51編程軟件編程,用proteus單片機(jī)仿真軟件仿真。最后制作實物,將程序下載到單片機(jī)中,利用i/o口產(chǎn)生一定頻率的方波,驅(qū)動蜂鳴器,發(fā)出不同的音調(diào),從而演奏樂曲。關(guān)鍵字:at89c51單片機(jī),音樂盒,方波,音調(diào)abstractin order to achieve the single chip microcomputer control music playback, try in the curriculum design based on single chip microcomputer at89c51 music box de
9、sign on this train of thought for validation.this design uses the buzzer sound to realize the songs played, can maintain the basic tone is changeless, smooth play songs.main design module includes digital tube display, keyboard function part, buzzer sound, the lights.digital tube using a total of an
10、ode digital tube, controlled by single chip microcomputer p1 interface, realize song number display;through p3 interface, keyboard switch with buttons, control, realize the order of the songs and pause switch function;buzzer is controlled by a single-chip microcomputer p2 interface, realize the song
11、s;lights use normal diode, can realize monochrome normally on and flashing effect.main working process is through the function keys achieve the function of upper and lower the music play and pause, at the same time have digital tube display the current track number, and have different lights flashin
12、g effect.the design to use single chip microcomputer and keilc51 and proteus single-chip microcomputer simulation software, programming software programming on the knowledge of electrotechnics, etc.use keilc51 programming software programming, use proteus single-chip microcomputer simulation softwar
13、e simulation.finally make physical, download the program to mcu, using i/o mouth produce certain frequency square wave, drive buzzer, a different tone, so as to play music.keywords:at89c51 microcontroller,musical box,square wave,tone1 設(shè)計方案分析1.1設(shè)計功能要求1.利用i/o口處產(chǎn)生一定頻率的方波,驅(qū)動蜂鳴器,產(chǎn)生不同的音調(diào)從而演奏樂曲,達(dá)到預(yù)期目標(biāo)。2.采用
14、七段數(shù)碼管顯示當(dāng)前播放歌曲的序號數(shù)。3.通過功能鍵實現(xiàn)上、下及暫停曲目播放的功能。1.2總體設(shè)計原理通過單片機(jī)的定時器產(chǎn)生一定長度的方波,方波脈沖驅(qū)動蜂鳴器發(fā)聲。要產(chǎn)生音頻脈沖,只需算出某一音頻的周期(1/音頻),然后取半周期的時間定時。利用定時器計時這個半周期時間,每當(dāng)計時到后就將輸出脈沖的i/o反相,然后重復(fù)計時此半周期時間再對i/o口反相,就可在i/o腳上得到此頻率的脈沖。如中音d0,頻率為523hz,其周期t=1/523=1912微秒,因此只要令計數(shù)器定時1912/2=956,在每計數(shù)956次時將i/o口反相,就可得到中音d0(523hz)。當(dāng)鍵盤有鍵按下時,判斷鍵值,啟動計數(shù)器t0,
15、產(chǎn)生一定頻率的脈沖,驅(qū)動蜂鳴器,放出樂曲。同時啟動定時器t1,在led顯示歌曲號,也可使彩燈長亮和閃爍。數(shù)碼管采用共陽極數(shù)碼管,通過單片機(jī)p1口控制,實現(xiàn)歌曲序號的顯示;功能鍵盤采用按鍵開關(guān),通過單片機(jī)p3口控制,實現(xiàn)歌曲播放順序的調(diào)換和暫停播放功能;蜂鳴器由單片機(jī)的p2口控制,實現(xiàn)歌曲播放;彩燈是由普通發(fā)光二極管代替,通過鍵盤能實現(xiàn)單色長亮和閃爍效果。通過功能鍵可以實現(xiàn)播放上一曲、下一曲、暫停,同時可以通過數(shù)碼管顯示當(dāng)前播放的曲目序號,蜂鳴器播放出音樂。當(dāng)播放出最后一曲時伴有彩燈閃爍。1.3總體設(shè)計框圖單片機(jī)接5v電源供電,晶振電路產(chǎn)生單片機(jī)所需的時鐘周期,通過功能鍵實現(xiàn)外部中斷,控制音樂盒
16、的上一曲、下一曲和暫停功能的實現(xiàn),再由i/o接口輸出控制蜂鳴器發(fā)聲,led顯示,彩燈閃爍或暫停。另外,復(fù)位電路的功能在于使音樂盒的工作恢復(fù)到初始狀態(tài),在程序出錯時,重新啟動單片機(jī)工作。電源晶振部分復(fù)位電路at89s51蜂鳴器led顯示功能鍵 圖1.1整體設(shè)計框圖通過編程軟件設(shè)定好程序后,由單片機(jī)at89c51的定時器每秒鐘通過p1.0-p1.7接口控制led數(shù)碼顯示,復(fù)位信號由按鈕控制,每按下一次系統(tǒng)恢復(fù)一次原設(shè)定狀態(tài)。電源、晶振部分、復(fù)位電路、單片機(jī)、功能鍵、led及蜂鳴器部分將在后面的內(nèi)容中做詳盡說明,在此不再贅述。2. 系統(tǒng)硬件設(shè)計2.1電源電路設(shè)計采用經(jīng)市電變壓,穩(wěn)壓的穩(wěn)壓電路如下圖所
17、示單片機(jī)采用的是5v(+_0.2v)的電源,對穩(wěn)壓電路的要求較高,因此可以用lm7805來實現(xiàn)此功能。首先用交流變壓器將220v的交流電變?yōu)榇笥?v的交流電,例如7.5v或10.5v,然后使用橋式電路進(jìn)行整流,電容進(jìn)行整流濾波,將交流電處理為直流。然后使用7805進(jìn)行5v恒壓輸出,供給單片機(jī)電路使用。2.2單片機(jī)最小系統(tǒng)單片機(jī)的最小系統(tǒng)以at89c51為核心,外加時鐘電路和復(fù)位電路,電路結(jié)構(gòu)簡單,抗干擾能力強(qiáng),成本相對較低,比較符合本次課題的要求,89c51系列單片機(jī)是在mcs-51的基礎(chǔ)上發(fā)展起來的,是當(dāng)前8位單片機(jī)的典型代表,采用cmos工藝,即互補(bǔ)金屬氧化物的cmos工藝,coos和mo
18、s相結(jié)合的技術(shù),具有mos的高速度和高密度的特點,還具有cmos低功耗的特點。單片機(jī)的工作環(huán)境需要有一個時間基準(zhǔn)來統(tǒng)一控制各部分的工作狀態(tài)此電路為時鐘電路,時鐘電路分為外部時鐘電路和內(nèi)部時鐘電路,如下圖所示,從圖示可以看出采用外部電路比較復(fù)雜,因此本次課題的時鐘電路選擇內(nèi)部時鐘電路,時鐘電路在單片機(jī)外部采用xtal1和xtal2這兩個引腳跨接晶體振蕩器和微調(diào)電容,構(gòu)成穩(wěn)定的自激振蕩器。本系統(tǒng)采用的是6mhz的晶振,一個機(jī)器周期為22us,c1,c2分別為22pf。 復(fù)位電路的基本功能是:系統(tǒng)的上電時提供復(fù)位信號,待系統(tǒng)電源穩(wěn)定后撤銷復(fù)位指令。為可靠起見,在電源穩(wěn)定后需要經(jīng)歷一段時間后撤消復(fù)位信
19、號,防止電源開關(guān)或電源插頭插合過程中引起的抖動而影響復(fù)位。復(fù)位電路分為上電自動復(fù)位和按鍵復(fù)位,電路圖如下圖所示,。其中rst是復(fù)位信號的輸入端,復(fù)位信號是高電平段。本次采用手動復(fù)位設(shè)計,復(fù)位通過電容c3,c4和電阻r1,r2來實現(xiàn),按鍵復(fù)位通過復(fù)位鍵來實現(xiàn)。 單片機(jī)的最小系統(tǒng)電路設(shè)計如下圖設(shè)計所示,以at89c51為核心進(jìn)行設(shè)計。 單片機(jī)最小系統(tǒng)2.3數(shù)碼管顯示部分歌曲序號顯示部分采用數(shù)碼管來實現(xiàn),led顯示器件是通過發(fā)光二極管來顯示字段的器件。在單片機(jī)的控制系統(tǒng)中最常用的是7段led數(shù)碼管,它的顯示塊中有8個發(fā)光二極管,7個二極管組成字符“8”,一個二極管組成小數(shù)點。led數(shù)碼管的管腳配置如
20、圖a示。led顯示塊如圖b所示。它們經(jīng)電阻和單片機(jī)的控制端連接在一起,只要改變控制端口的電平就能控制led的點亮或熄滅。led共有陽極和陰極兩類,如圖c所示共陰極led數(shù)碼管的發(fā)光二極管的陰極共地。當(dāng)某個發(fā)光二極管的陽極電壓為高電平時,二極管發(fā)光;而共陽極led數(shù)碼管是發(fā)光二極管的陽極共接,當(dāng)某個二極管的陰極電壓為低電平時,二極管發(fā)光。 a b (1) b(2) c 本次課題所選的二極管為共陽極二極管,數(shù)碼管每段的電流是10a。所以公共段接高電平,proteus圖如下所示 數(shù)碼管引腳圖2.4鍵盤部分鍵盤是由一組按壓式或觸摸式開關(guān)構(gòu)成的陣列,是一種常用的輸入設(shè)備。鍵盤可分為編碼式鍵盤和非編碼式鍵
21、盤兩種。1.編碼鍵盤通過硬件電路產(chǎn)生被按按鍵的鍵碼,這種鍵盤所需程序簡單,但硬件電路復(fù)雜、價格昂貴通常不被單片機(jī)系統(tǒng)采用。2.非編碼鍵盤常用一些按鍵排列成行列矩陣,其硬件邏輯與按鍵編碼不存在嚴(yán)格的對應(yīng)關(guān)系,而要由所用的程序來決定。非編碼鍵盤的硬件接口簡單,但是要占用較多的cpu時間,通常采用可編程鍵盤管理芯片來克服這個缺點。本設(shè)計使用兩種按鍵,一種是按鍵式非編碼鍵盤和輕觸式非編碼開關(guān)。2.4.1按鍵開關(guān)在接線時由于有六個引腳,連接時需要用萬用表進(jìn)行測量,然后接通兩個引腳。2.4.2輕觸開關(guān)一種電子開關(guān),使用時輕輕點按開關(guān)按鈕就可使開關(guān)接通,當(dāng)松開手時開關(guān)既斷開,其內(nèi)部結(jié)構(gòu)是靠金屬彈片受力彈動來
22、實現(xiàn)通斷的。但微動開關(guān)也有它不足的地方,頻繁的按動會使金屬彈片疲勞失去彈性而失效,連接時接通對角線即可。2.5蜂鳴器部分一般所指的蜂鳴器是以壓電陶瓷為主要元件的。壓電陶瓷是一類有將壓力與電流相互轉(zhuǎn)換能力的特殊陶瓷。這種能力緣于其特殊的晶體結(jié)構(gòu)。當(dāng)壓電陶瓷在一定方向上受到一個壓力使其晶體結(jié)構(gòu)發(fā)生形變時,它就會在內(nèi)部產(chǎn)生一個電流,并且電流的變化與壓力的變化密切相關(guān)。反之亦然。所以利用這一特性,在壓電陶瓷上通過一定頻率的電流,就會引起壓電陶瓷微小形變,這一形變帶動空氣發(fā)生振動,如果頻率適當(dāng),就可以被人耳所聽見,也就是產(chǎn)生了蜂鳴聲。2.5.1蜂鳴器簡介 1蜂鳴器的作用:蜂鳴器是一種一體化結(jié)構(gòu)的電子訊響
23、器,采用直流電壓供電,廣泛應(yīng)用于計算機(jī)、打印機(jī)、復(fù)印機(jī)、報警器、電子玩具、汽車電子設(shè)備、電話機(jī)、定時器等電子產(chǎn)品中作發(fā)聲器件。2蜂鳴器的分類:蜂鳴器主要分為壓電式蜂鳴器和電磁式蜂鳴器兩種類型。3蜂鳴器的電路圖形符號:蜂鳴器在電路中用字母“h”或“ha”(舊標(biāo)準(zhǔn)用“fm”、“l(fā)b”、“jd”等)表示。實物如下圖所示, 蜂鳴器實物2.5.2蜂鳴器原理1. 壓電式蜂鳴器 壓電式蜂鳴器主要由多諧振蕩器、壓電蜂鳴片、阻抗匹配器及共鳴箱和外殼等部分組成。有的壓電式蜂鳴器外部還裝有發(fā)光二極管。多諧振蕩器由晶體管或集成電路構(gòu)成。當(dāng)接通電源后(1.5-15v直流工作電壓),多諧振蕩器起振,輸出1.5-2.5kh
24、z的音頻信號,阻抗匹配器推動壓電蜂鳴片發(fā)聲。壓電蜂鳴器片由鋯鈦酸鉛或鈮鎂酸鉛壓電陶瓷材料制成。在陶瓷片的兩面鍍上銀電極,經(jīng)極化和老化處理后,再與黃銅片或不銹鋼粘連在一起。2.0電磁式蜂鳴器 電磁式蜂鳴器由振蕩器、電磁線圈、磁鐵、振動膜片及外殼等組成。接通電源后,振蕩器產(chǎn)生的音頻信號電流通過電磁線圈,使電磁線圈產(chǎn)生磁場。振動膜片在電磁線圈和磁鐵的相互作用下,周期性地振動發(fā)聲。3. 系統(tǒng)軟件設(shè)計3.1軟件系統(tǒng)介紹一個系統(tǒng)的正常運行不僅需要硬件系統(tǒng)的支持,而且需要軟件系統(tǒng)的支持。如果把硬件比作軀體,那軟件就是靈魂,硬件系統(tǒng)和軟件系統(tǒng)相互間密切的配合才構(gòu)建了能夠“思考”和“判斷”的整體系統(tǒng)。借助軟件的
25、可編程性,可以精簡硬件系統(tǒng)的組成;憑借軟件的靈活性,可以不用對硬件系統(tǒng)進(jìn)行修改而實現(xiàn)系統(tǒng)功能的修改。軟件系統(tǒng)與硬件系統(tǒng)是密切相聯(lián)的,軟件系統(tǒng)建立在硬件系統(tǒng)之上,離開了硬件系統(tǒng),軟件將無法實現(xiàn)任何功能。軟件的設(shè)計有一定的針對性,對于不同的硬件系統(tǒng),需要編寫不同的軟件。與硬件系統(tǒng)一樣,軟件系統(tǒng)的好壞,直接影響到系統(tǒng)的工作效率和可靠性。3.2編程語言的選擇基于單片機(jī)的電子音樂盒的設(shè)計本次課題采用匯編語言編程,它是一種面對機(jī)器的語言,可以直接控制硬件的語言。因為本次還要進(jìn)行硬件連接,所以可以方便控制各個硬件接口如i/o接口,并且目標(biāo)代碼簡短,占用內(nèi)存少,執(zhí)行速度快,是高效的程序設(shè)計語言。具有保持了機(jī)器
26、語言的優(yōu)點,具有直接和簡捷的特點?;谶@些特點,所以70%以上的系統(tǒng)軟件使用匯編語言編程。很多很多高級繪圖程序、視頻游戲程序是用匯編語言編寫的。因此匯編語言是我們理解整個計算機(jī)系統(tǒng)的最佳起點和最有效途徑,通過學(xué)習(xí)和使用匯編語言,能夠感知、體會、理解機(jī)器的邏輯功能,向上為理解各種軟件系統(tǒng)的原理,打下技術(shù)理論基礎(chǔ);向下為掌握硬件系統(tǒng)的原理,打下實踐應(yīng)用基礎(chǔ)。 單片機(jī)燒錄的代碼,用來編程單片機(jī)。3.3編程軟件的選擇 單片機(jī)的開發(fā)除了必須的硬件設(shè)備外還需要一定的軟件支持,我們寫的匯編語言源程序要變?yōu)閏pu可以執(zhí)行的機(jī)器碼有兩種方法,一種是手工匯編,另一種是機(jī)器匯編,目前已極少使用手工匯編的方法了。機(jī)器
27、匯編是通過匯編軟件將源程序變?yōu)闄C(jī)器碼,用于mcs-51單片機(jī)的匯編軟件有早期的a51,隨著單片機(jī)開發(fā)技術(shù)的不斷發(fā)展,從普遍使用匯編語言到逐漸使用高級語言開發(fā),單片機(jī)的開發(fā)軟件也在不斷發(fā)展,keil軟件是目前最流行開發(fā)mcs-51系列單片機(jī)的軟件,這從近年來各仿真機(jī)廠商紛紛宣布全面支持keil即可看出。keil提供了包括c編譯器、宏匯編、連接器、庫管理和一個功能強(qiáng)大的仿真調(diào)試器等在內(nèi)的完整開發(fā)方案,通過一個集成開發(fā)環(huán)境(uvision)將這些部份組合在一起。運行keil軟件需要pentium或以上的cpu,16mb或更多ram、20m以上空閑的硬盤空間、win98、nt、win2000、winx
28、p等操作系統(tǒng)。掌握這一軟件的使用對于使用51系列單片機(jī)的愛好者來說是十分必要的,如果你使用c語言編程,那么keil幾乎就是你的不二之選(目前在國內(nèi)你只能買到該軟件、而你買的仿真機(jī)也很可能只支持該軟件),即使不使用c語言而僅用匯編語言編程,其方便易用的集成環(huán)境、強(qiáng)大的軟件仿真調(diào)試工具也會令你事半功倍。3.4系統(tǒng)程序設(shè)計3.4.1主程序流程圖開始定義音頻輸出端口,歌曲總數(shù)以及每首歌曲的入口地址;然后對定時器初始化,確定工作方式,賦初值,開放中斷,啟動定時器工作;對音頻輸出端口初始化;設(shè)置音節(jié)起始位置和節(jié)拍間距,把音節(jié)和節(jié)拍的入口地址信息存放在固定存儲單元中;將取出的音符數(shù)+節(jié)拍數(shù)保存在存儲單元中,
29、查詢音樂的節(jié)拍表;當(dāng)六首歌曲的節(jié)拍表查詢完,音樂播放完畢,程序結(jié)束。具體的程序框圖如下圖所示: 系統(tǒng)流程圖3.4.2主程序out bit p2.0 ;定義音頻輸出端口,p2.0n equ 6;歌曲總數(shù)out_num equ p1 ;數(shù)碼管顯視當(dāng)前所放歌曲曲數(shù) org 0000h ajmp main org 0003h ajmp last_song ;外部中斷0用于接上一曲歌按鍵 org 000bh ajmp f_t0 ;定時器0用于定時,作音符發(fā)生器 org 0013hq4: ajmp next_song ;外部中斷1接下一曲歌按鍵 org 001bh ajmp start_pause ;定時
30、器1用計數(shù),這里用作中斷,接開始/暫停鍵,初值為0ffh,方式2 org 0030hmain: mov sp,#60h mov dptr,#table ;dprt指向每首歌曲的入口地址的地址。 mov r0,#30h ;r0中存入數(shù)據(jù)30h,這里在以30h開始的單元存放每首歌曲的入口地址,其中30h,31h存放 ;歌曲的節(jié)拍入口地址,32h,33h存放歌曲音符入口地址,每首歌占用四個存儲存單元。mov r5,#00h;r5中存放表table中正在執(zhí)行操作的序號 mov r6,#1 ;r6存放正在設(shè)置入口信息的歌曲數(shù)set_tab: mov a,r5 ;設(shè)置每首歌曲的入口信息,存放在以30h開始
31、的存儲單元中。movc a,a+dptrmov r0,ainc r5inc r0mov a,r5movc a,a+dptrmov r0,ainc r5inc r0mov a,r5movc a,a+dptrmov r0,ainc r0inc r5mov a,r5movc a,a+dptrmov r0,ainc r0inc r5inc r6 ;設(shè)置完一首歌曲后,歌曲數(shù)加一cjne r6,#n+1,set_tab ;是否設(shè)置完,沒有便繼續(xù),否則進(jìn)行下面的操作 對中斷,計數(shù)器的相關(guān)參數(shù)進(jìn)行設(shè)置mov tmod, #61h;計數(shù)器0工作方式1,計數(shù)器1工作方式2mov th1,#0ffh ;給計數(shù)器1置
32、初值0ffh,又由于是工作方式2, mov tl1,#0ffh ;計數(shù)器計數(shù)為1,相當(dāng)于一外部中斷。setb et1 ;允許計數(shù)器1中斷setb et0 ;允許計數(shù)器具0中斷clr pt0 ;計數(shù)器0為低優(yōu)先級setb pt1 ;計數(shù)器1為高優(yōu)先級setb it0 ;外部中斷0為跳沿觸發(fā)setb px0 ;高優(yōu)先級setb it1 ;外部中斷1為跳沿觸發(fā)setb px1 ;高優(yōu)先級setb ex1 ;允許外部中斷1中斷setb ex0 ;允許外部中斷定0中斷setb ea ;開中斷總開關(guān)setb tr1 ;定時器1開始工作,作中斷用setb out ;音頻輸出端口初始化 設(shè)置結(jié)束clr f0
33、;設(shè)置f0=0,用來作暫停/播放的標(biāo)置位用mov 22h,#01h ;22h單元中存放正在播放的歌曲編號mov dptr,#out_tab ;將正在播放的歌曲編號送數(shù)碼管顯視mov a,22hmovc a,a+dptrmov out_num,amov r7,#00h ;r7中存放歌曲總信息的入口地址start0:mov r4,#00h ;r4存放當(dāng)前正在播放歌曲的第幾個節(jié)拍數(shù)mov r0,#30h ;30h開始的單元中存放歌曲的入口信息mov a,r7 ;將歌曲的節(jié)拍表的入口地址送到dptradd a,r0mov r0,amov dph,r0inc r0mov dpl,r0inc r0mov
34、a,r4inc r4movc a,a+dptr ;取出第一節(jié)拍數(shù),其實第一個節(jié)拍不是歌曲的第一個節(jié)拍,而是表示幾分音符mov 26h,a將取出的音符數(shù)+節(jié)拍數(shù)保存在職26h單next: mov r0,#30h ;開始取出歌曲的第一個數(shù)據(jù) mov a,r7 add a,r0 mov r0,a mov dph,r0 inc r0 mov dpl,r0 inc r0 mov a,r4 inc r4 movc a,a+dptr ;放在a中 jz end0;若為0,則表示為休止符,不唱,本次音符不唱, mov r1,a ;不為0,取出節(jié)拍數(shù) anl a,#0fh mov r2,a mov a,r1 sw
35、ap a anl a,#0fh jnz sing ;音符不為0,唱 clr tr0 ;為0,不唱,關(guān)頻率發(fā)生器 sjmp sing1sing: dec a ;開始唱,進(jìn)行相應(yīng)的數(shù)據(jù)處理 mov r3,a rl a mov dph,r0 inc r0 mov dpl,r0 inc r0 movc a,a+dptr mov 21h,a mov th0,a mov a,r3 rl a inc a movc a,a+dptr mov 20h,a mov tl0,a setb tr0 ;開唱sing1:lcall delay ;每個音符唱多久 jb f0,for ;是否暫停, ajmp next ;沒有
36、暫停,繼續(xù)for: clr tr0 ;暫停,不唱 jb f0,$ ;等待播放 ajmp next ;開始播放end0: clr tr0 ;不唱 mov a,22h ;唱完處理 cjne a,#n,ww;是不是全部歌曲都唱完 mov 22h,#01h ;全部唱完,則從第一首開始再唱 mov r7,#00h mov out_num,#11111001b;數(shù)碼管顯視第一首歌曲編號 ajmp wwww: mov a,r7;沒有全部唱完,唱下一首,歌曲的入口信息調(diào)整 add a,#4 mov r7,a inc 22hclr eapush dphpush dplmov a,22h mov dptr,#ou
37、t_tab movc a,a+dptr mov out_num,a ;數(shù)碼管顯視相應(yīng)的歌曲編號3.4.3定時器定時設(shè)計51單片機(jī)內(nèi)部有兩個16位的可編程的定時/計時器,稱為定時器0(t0)和定時器1(t1),它們都具有定時功能和事件計數(shù)功能,可用于定時控制、延時、對外部事件檢測和計數(shù)等場合。定時期的核心部位是加1計數(shù)器,通過設(shè)置tmod可使定時器工作在定時或者計數(shù)方式,即將定時器用于定時或者計數(shù)。實際上這兩種工作方式?jīng)]有本質(zhì)的區(qū)別,都是對脈沖信號計數(shù),只是計數(shù)的脈沖來源不同而已。如果計數(shù)脈沖是頻率穩(wěn)定的系統(tǒng)時鐘的分頻信號,則稱為定時方式,如果計數(shù)脈沖是外部脈沖信號,稱為計數(shù)方式。無論在定時模式
38、還是技術(shù)模式下,定時期在對內(nèi)部時鐘或外部脈沖計數(shù)時,都不占用cpu的時間,而按照設(shè)定的方式鴿子獨自工作。只有在定時器定時時間或計數(shù)值到,定時器溢出時才可能中斷cpu當(dāng)前工作,請求cpu處理。如晶振12mhz,用定時器t0定時50ms,從p2.0引腳輸出周期100ms的方波;定時的流程圖如下圖示: 定時50ms流程圖主程序如下:org 0000h ;主程序入口地址 ljmp main org 000bh ;t0中斷程序入口地址 ljmp int_t0 org 0030hmain: mov sp,#60h ;設(shè)堆棧mov tmod,#01h ;設(shè)t0工作方式mov th0,#3ch ;定時器t0賦
39、初值mov tl0,#0b0hclr p2.0 ;p2.0初態(tài)setb et0 ;開放t0中斷setb ea ;開放cpu中斷setb tr0 ;啟動t0工作loop:sjmp loop ;循環(huán)等中斷中斷服務(wù)程序:int_t0:mov th0,#3ch ;t0重裝初值 mov tl0,#0b0h cpl p2.0 ;p2.0求反,輸出方波 reti ;中斷返回 end4 系統(tǒng)調(diào)試結(jié)果整理與分析4.1系統(tǒng)仿真過程4.1.1原理圖的繪制proteus電路設(shè)計是在proteus isis環(huán)境下繪制的,該編輯環(huán)境具有良好的人機(jī)交互環(huán)境,功能強(qiáng)大且易入手。根據(jù)設(shè)計電路繪制完后的電路圖如下圖示: prot
40、eus圖五設(shè)計調(diào)試的心得體會通過仿真調(diào)試過程的進(jìn)行能夠幫助我們更加真實的了解編寫的程序與預(yù)期是否能夠匹配,并且檢查程序中的一些問題以便于及時的修改,避免錯誤的累積。在本次的課題電路仿真實訓(xùn)中可以看出程序與電路的契合性是很不錯的,滿足課題的初始要求,證明設(shè)計是成功的。在本次課程設(shè)計過程中遇到了很多問題和困難,在老師和同學(xué)們的幫助下才使我順利地克服了這些困難,在此對老師和同學(xué)們表達(dá)我深深的感謝。5 參考文獻(xiàn)單片機(jī)課程設(shè)計指導(dǎo)書 皮大能 北京理工大學(xué)出版社2012.78051單片機(jī)實踐與應(yīng)用 吳金戎 清華大學(xué)出版社2003.8單片機(jī)技術(shù)基礎(chǔ)教程與實踐 夏路易 電子工業(yè)出版社2008.1單片機(jī)原理及應(yīng)
41、用張毅剛 高等教育出版社 2012.11基于proteus的單片機(jī)系統(tǒng)設(shè)計與仿真實例 蔣輝平 機(jī)械工業(yè)出版社 2007.7畢業(yè)論文(設(shè)計)原創(chuàng)性聲明本人所呈交的畢業(yè)論文(設(shè)計)是我在導(dǎo)師的指導(dǎo)下進(jìn)行的研究工作及取得的研究成果。據(jù)我所知,除文中已經(jīng)注明引用的內(nèi)容外,本論文(設(shè)計)不包含其他個人已經(jīng)發(fā)表或撰寫過的研究成果。對本論文(設(shè)計)的研究做出重要貢獻(xiàn)的個人和集體,均已在文中作了明確說明并表示謝意。 作者簽名: 日期: 畢業(yè)論文(設(shè)計)授權(quán)使用說明本論文(設(shè)計)作者完全了解*學(xué)院有關(guān)保留、使用畢業(yè)論文(設(shè)計)的規(guī)定,學(xué)校有權(quán)保留論文(設(shè)計)并向相關(guān)部門送交論文(設(shè)計)的電子版和紙質(zhì)版。有權(quán)將論文(設(shè)計)用于非贏利目的的少量復(fù)制并允許論文(設(shè)計)進(jìn)入學(xué)校圖書館被查閱。學(xué)??梢怨颊撐模ㄔO(shè)計)的全部或部分內(nèi)容。保密的論文(設(shè)計)在解密后適用本規(guī)定。 作者簽名: 指導(dǎo)教師簽名: 日期
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 鼻中隔膿腫的健康宣教
- 肩先露的健康宣教
- 《嵌入式系統(tǒng)原理與開發(fā)》課件-第3章
- 胎兒宮內(nèi)發(fā)育遲緩的健康宣教
- 萎縮性鼻炎的健康宣教
- 顳骨巖部炎的健康宣教
- 鰓源性囊腫與瘺的健康宣教
- 理財規(guī)劃師課件-財務(wù)
- 清華大學(xué)Java課件l
- 《詞類活用笑笑草》課件
- 浙江標(biāo)準(zhǔn)農(nóng)貿(mào)市場建設(shè)與管理規(guī)范
- 快速誘導(dǎo)插管指南課件
- 托盤演示教學(xué)課件
- 中華農(nóng)耕文化及現(xiàn)實意義
- DB32T 4353-2022 房屋建筑和市政基礎(chǔ)設(shè)施工程檔案資料管理規(guī)程
- 農(nóng)產(chǎn)品品牌與營銷課件
- 加快中高職銜接,促進(jìn)職業(yè)教育協(xié)調(diào)發(fā)展(201507)課件
- 車輛二級維護(hù)檢測單參考模板范本
- 亮化照明維護(hù)服務(wù)方案
- 疼痛評估方法與管理
- 測定總固體原始記錄
評論
0/150
提交評論