![流水燈顯示課程設(shè)計(jì)_第1頁](http://file4.renrendoc.com/view/6d60f024bb8ae986857221845c3ca9df/6d60f024bb8ae986857221845c3ca9df1.gif)
![流水燈顯示課程設(shè)計(jì)_第2頁](http://file4.renrendoc.com/view/6d60f024bb8ae986857221845c3ca9df/6d60f024bb8ae986857221845c3ca9df2.gif)
![流水燈顯示課程設(shè)計(jì)_第3頁](http://file4.renrendoc.com/view/6d60f024bb8ae986857221845c3ca9df/6d60f024bb8ae986857221845c3ca9df3.gif)
![流水燈顯示課程設(shè)計(jì)_第4頁](http://file4.renrendoc.com/view/6d60f024bb8ae986857221845c3ca9df/6d60f024bb8ae986857221845c3ca9df4.gif)
![流水燈顯示課程設(shè)計(jì)_第5頁](http://file4.renrendoc.com/view/6d60f024bb8ae986857221845c3ca9df/6d60f024bb8ae986857221845c3ca9df5.gif)
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
27/27流水燈顯示目錄TO(shè)C\o"1—3"\h\z\uHYPERLINK\l”_Toc327804076"第1章前言 2HYPERLINK\l”_Toc327804077"第2章方案設(shè)計(jì) PAGEREF_Toc327804077\h3HYPERLINK\l"_Toc327804078"2.1基本原理?PAGEREF_Toc327804078\h3HYPERLINK2.2設(shè)計(jì)思路 PAGEREF_Toc327804079\h7HYPERLINK\l"_Toc327804080"2.3設(shè)計(jì)方案?PAGEREF_Toc327804080\h7HYPERLINK\l”_Toc327804081"第3章硬件電路設(shè)計(jì)?PAGEREF_Toc327804081\h9HYPERLINK\l"_Toc327804082"3。1按鍵設(shè)計(jì)電路 PAGEREF_Toc327804082\h9HYPERLINK\l"_Toc327804083"3.2顯示漢字電路設(shè)計(jì)?PAGEREF_Toc327804083\h9HYPERLINK\l"_Toc327804084”3.3花樣燈電路設(shè)計(jì) PAGEREF_Toc327804084\h10HYPERLINK第4章軟件設(shè)計(jì) PAGEREF_Toc327804085\h11HYPERLINK參考文獻(xiàn) PAGEREF_Toc327804093\h24HYPERLINK\l"_Toc327804094"致謝 PAGEREF_Toc327804094\h25HYPERLINK\l”_Toc327804095"附錄 PAGEREF_Toc327804095\h26前言隨著科學(xué)技術(shù)特別是微型計(jì)算機(jī)技術(shù)的高速發(fā)展,單片機(jī)作為計(jì)算機(jī)的一個(gè)分支,從20世紀(jì)70年代初誕生以來,廣泛地應(yīng)用于工業(yè)控制、智能儀表、家用電器等各個(gè)領(lǐng)域,它正為我國經(jīng)濟(jì)的快速發(fā)展發(fā)揮著舉足輕重的作用。單片機(jī)又稱單片微控制器,它不是完成某一個(gè)邏輯功能的芯片,而是把一個(gè)計(jì)算機(jī)系統(tǒng)集成到一個(gè)芯片上.相當(dāng)于一個(gè)微型的計(jì)算機(jī),和計(jì)算機(jī)相比,單片機(jī)只缺少了I/O設(shè)備。單片機(jī)內(nèi)部也用和電腦功能類似的模塊,比如CPU,內(nèi)存,并行總線,還有和硬盤作用相同的存儲(chǔ)器件,不同的是它的這些部件性能相對家用電腦弱很多,但因價(jià)錢低廉,被應(yīng)用于各個(gè)領(lǐng)域.單片機(jī)具有體積小、功耗低、控制功能強(qiáng)、擴(kuò)展靈活、微型化和使用方便等優(yōu)點(diǎn),廣泛應(yīng)用于儀器儀表中,結(jié)合不同類型的傳感器,可實(shí)現(xiàn)諸如電壓、功率、頻率、濕度、溫度、流量、速度、厚度、角度、長度、硬度、元素、壓力等物理量的測量.采用單片機(jī)控制使得儀器儀表數(shù)字化、智能化、微型化,且功能比起采用電子或數(shù)字電路更加強(qiáng)大.例如精密的測量設(shè)備(功率計(jì),示波器,各種分析儀)。目前單片機(jī)滲透到我們生活的各個(gè)領(lǐng)域,幾乎很難找到哪個(gè)領(lǐng)域沒有單片機(jī)的蹤跡。作為電子科學(xué)與技術(shù)專業(yè)的一名工科生掌握好這項(xiàng)技術(shù),也是非常重要.單片機(jī)課程設(shè)計(jì)是我們提高單片機(jī)應(yīng)用能力的好機(jī)會(huì),也是我們學(xué)好這一課程的必經(jīng)環(huán)節(jié)。通過課程設(shè)計(jì)可以進(jìn)一步鞏固我們前面所學(xué)理論知識(shí),使我們對單片機(jī)理論知識(shí)有一個(gè)深刻的認(rèn)識(shí)和全面的掌握。另外通過這一真正意義上的實(shí)踐活動(dòng),我們可以從中發(fā)現(xiàn)自己不足之處并能夠在自己的深思下和老師同學(xué)的幫助下得到及時(shí)的解決,使我們的應(yīng)用能力和科技創(chuàng)新能力得到較大的提高?;趩纹瑱C(jī)的音樂播放器可應(yīng)用于mp3、mp4,擴(kuò)音器等很多方面,并可作為很多系統(tǒng)的輔助功能,作為單片機(jī)的重要硬件資源之一,利用定時(shí)器可以產(chǎn)生各種固定頻率的方波信號,也可以產(chǎn)生包括”Do"、"Re"、”Me”等音階在內(nèi)的各種頻率聲音。將各個(gè)音階連接在一起,便可組成一支曲子或是演奏一段旋律?;谶@個(gè)思想,我設(shè)計(jì)了一個(gè)電子生日賀卡,本電子生日賀卡可實(shí)現(xiàn)文字顯示、音樂播放、花樣彩燈等功能。由于時(shí)間及條件限制,本課程設(shè)計(jì)了一種簡單的電子賀卡,其核心器件采用AT89C51單片機(jī),本播放器具有電路簡單,功能強(qiáng)大,易于拓展等特點(diǎn)。通過音樂發(fā)聲器的設(shè)計(jì)方案,掌握匯編語言的編程方法,并熟練的運(yùn)用89C51單片機(jī)定時(shí)器產(chǎn)生固定頻率的方波信號,推動(dòng)喇叭發(fā)出旋律,最重要的是自己還可以通過程序設(shè)計(jì)輸入自己喜歡的歌曲來演奏。方案設(shè)計(jì)2。1基本原理本次課程設(shè)計(jì)用AT89C51作為主控器制作一個(gè)電子生日賀卡.此電子賀卡分為三個(gè)部分,分別是文字顯示、音樂播放、花樣彩燈。2.1.1文字顯示原理采用單片機(jī)的LCD圖形顯示接口技術(shù),利用LCD12864液晶顯示模塊,屏幕顯示內(nèi)容與12864內(nèi)部存儲(chǔ)器單元建立一一對應(yīng)關(guān)系,模塊內(nèi)部自帶掃描與驅(qū)動(dòng),將顯示的內(nèi)容輸入12864對應(yīng)的存儲(chǔ)器中,就能實(shí)現(xiàn)內(nèi)容的顯示。利用取碼軟件,按從左到右、從上到下的原則取碼,可以得到“生日快樂"的16X16點(diǎn)陣碼.每一個(gè)字都有32字節(jié)與之對應(yīng).編程時(shí),也要按從左到右、從上到下的原則取數(shù)據(jù)送到相應(yīng)的存儲(chǔ)器中。該類液晶顯示模塊的指令系統(tǒng),總共只有七種。其指令表如表2.1所示:表2.1指令表指令名稱控制信號控制代碼R/WRSDB7DB6DB5DB4DB3DB2DB1DB0顯示開關(guān)0000111111/0顯示起始行設(shè)置0011XXXXXX頁設(shè)置0010111XXX列地址設(shè)置0001XXXXXX讀狀態(tài)10BUSY0ON/OFFRST0000寫數(shù)據(jù)01寫數(shù)據(jù)讀數(shù)據(jù)11讀數(shù)據(jù)2。1.2音樂播放原理樂曲中不同的音符,實(shí)質(zhì)就是不同頻率的聲音.通過單片機(jī)產(chǎn)生不同的頻率的脈沖信號,經(jīng)過放大電路,由蜂鳴器放出,就產(chǎn)生了美妙和諧的樂曲,其工作原理如下:(1)要產(chǎn)生音頻脈沖,只要算出某一音頻的脈沖即1/頻率,然后將此周期除以2,即為半周期的時(shí)間,利用定時(shí)器計(jì)時(shí)這個(gè)半周期的時(shí)間,每當(dāng)計(jì)時(shí)到后就將輸出脈沖的I/O反相,然后重復(fù)計(jì)時(shí)此半周期的時(shí)間再對I/O反相,就可以在I/O腳上得到此頻率的脈沖。(2)利用8051的內(nèi)部定時(shí)器使其工作在計(jì)數(shù)器模式TMOD1下,改變計(jì)數(shù)值TH0及TL0以產(chǎn)生不同頻率的方法如下:例如,頻率為523Hz,其周期天/523S=1912uS,因此只要令計(jì)數(shù)器計(jì)時(shí)956uS/1us=956,在每計(jì)數(shù)956次時(shí)就將I/O反接,就可得到中音DO。計(jì)數(shù)脈沖值與頻率的關(guān)系公式如下:N=Fi/2/Fr(2。1)(N:計(jì)數(shù)值;Fi:內(nèi)部計(jì)時(shí)一次為1uS;故其頻率為1MHz;Fr:要產(chǎn)生的頻率)(3)其計(jì)數(shù)值的求法如下:T=65536—N=65536—Fi/2/Fr(2.2)設(shè)K=65536,F(xiàn)=1000000=Fi=1MHz,求低音DO(261Hz)、中音DO(523Hz)、高音DO(1046Hz)的計(jì)數(shù)值。T=65536-N=65536-Fi/2/Fr=6/2/Fr=65536—500000/Fr(2。3)(4)C調(diào)個(gè)音符頻率與計(jì)數(shù)值T的對照表如下表所示:表2.2C調(diào)各音符頻率與計(jì)數(shù)值T的對照表音符頻率/HZ簡譜碼T音符頻率/HZ簡譜碼T低1DO26263628#4FA#74064860#1DO#27763731中5SO78464898低2RE29463835#5SO#83164934#2RE#31163928中6LA88064968低3M33064021#693264994低4FA34964103中7SI98865030#4FA#37064185高1DO104665058低5SO39264260#1DO#110965085#5SO#41564331高2RE117565110低6LA44064400#2RE#124565134#646664463高3M131865157低7SI49464524高4FA139765178中1DO52364580#4FA148065198#1DO#55464633高5SO156865217中2RE58764684#5SO#166165235#2RE#62264732高6LA176065252中3M65964777#6186565268中4FA69864820高7SI196765283每個(gè)音符使用1個(gè)字節(jié),字節(jié)的高4位代表音符的高低,低4位代表音符的節(jié)拍,下表為節(jié)拍碼的對照。但如果1拍為0。4秒,1/4拍是0。1秒,只要設(shè)定延遲時(shí)間就可求得節(jié)拍的時(shí)間。假設(shè)1/4節(jié)拍為1DELAY,則1拍應(yīng)為4DELAY,以此類推。所以只要求得1/4拍的DELAY時(shí)間,其余的節(jié)拍就是它的倍數(shù),如下表為1/4和1/8節(jié)拍的時(shí)間設(shè)定。表2.3節(jié)拍碼對照表節(jié)拍碼節(jié)拍數(shù)節(jié)拍碼節(jié)拍數(shù)11/4拍11/8拍22/4拍21/4拍33/4拍33/8拍41拍41/2拍51又1/4拍55/8拍61又1/263/4拍8281拍A2又1/2拍A1又1/4拍C3C1又1/2拍F3又3/4拍表2。4各調(diào)節(jié)拍的時(shí)間設(shè)定表1/4節(jié)拍1/8節(jié)拍曲調(diào)值DELAY曲調(diào)值DELAY調(diào)4/4125毫秒調(diào)4/462毫秒調(diào)3/4187毫秒調(diào)3/494毫秒調(diào)2/4250毫秒調(diào)2/4125毫秒表2.5簡譜對應(yīng)的簡譜碼、T值、節(jié)拍碼簡譜發(fā)音簡譜碼T值節(jié)拍節(jié)拍數(shù)5低音SO16426011/4拍6低音LA26440022/4拍7低音TI36452433/4拍1中音DO46458041拍2中音RE56468451又1/4拍3中音MI664777611/2拍4中音FA76482082拍5中音SO864898A2又1/2拍6中音LA964968C3拍7中音TIA65030F3又3/4拍1高音DOB650582高音REC651103高音MID651574高音FAE651785高音SOF65217不發(fā)音0(6)一般的歌曲,有3/8、2/4、3/4、4/4等節(jié)拍類型,但不管有幾拍,基本上是在C調(diào)下演奏的。如果是C調(diào),則音名C唱Do,音名D唱Re,音名E唱Mi,音名E唱Mi,音名F唱Fa,音名G唱So,音名A唱La,音名B唱Ti等。但是,并不是所有的歌曲都是在C調(diào)下演奏的,還有D調(diào)、E調(diào)、F調(diào)、G調(diào)等。D調(diào)是將C調(diào)各音符上升一個(gè)頻率實(shí)現(xiàn)的,即C調(diào)下的音名D在D調(diào)下唱Do,C調(diào)下的音名E在D調(diào)下唱Re,C大調(diào)的音名F在D調(diào)下上升高半音符F#唱Mi,C調(diào)下的音名G在D調(diào)下唱Fa,C調(diào)下的音名C在D調(diào)下上升高伴音C#符唱Ti。此唱法稱為移調(diào).表2.6C調(diào)在各調(diào)中的音名音名調(diào)DoReMiFaSoLaTiC調(diào)CDEFGABD調(diào)DEF#GABCE調(diào)EF#G#ABCDF調(diào)FGABCDEG調(diào)GABCDEF#A調(diào)ABC#DEF#G#B調(diào)BCDEFGA(7)音樂代碼庫的建立方法,先找出樂曲的最低音和最高音范圍,然后確定音符表T的順序,把T值表建立在TABLE1。構(gòu)成發(fā)音符的計(jì)數(shù)值放在“TABLE",簡譜碼(音符)為高位,節(jié)拍為(節(jié)拍數(shù))為低4位,音符節(jié)拍碼放在程序的“TABLE”處.2.1。3花樣燈原理LED顯示電路是由8個(gè)LED發(fā)光二極管組成,連接方式為共陽極,LED接到單片機(jī)的P1口,若為低電平,可使LED亮起。發(fā)光二極管的亮、滅由內(nèi)部程序控制,8個(gè)LED發(fā)光二極管由兩個(gè)按鍵控制,顯示兩種不同的花樣.2.2設(shè)計(jì)思路為了確定其設(shè)計(jì)方案,首先必須構(gòu)思好初步的設(shè)計(jì)思路.根據(jù)設(shè)計(jì)要求和實(shí)驗(yàn)仿真條件,初步的設(shè)計(jì)思路可以總結(jié)如下:(1)單片機(jī)的時(shí)鐘引腳外接晶振頻率為12MHZ的晶振信號電路.(2)利用LCD12864液晶顯示模塊實(shí)現(xiàn)文字顯示。(3)當(dāng)前花樣燈用8只LED發(fā)光二極管組成.(4)鍵盤采用獨(dú)立式鍵盤,需要2個(gè)鍵。(5)采樣時(shí)間用定時(shí)/計(jì)數(shù)器1來實(shí)現(xiàn)音樂播放.(6)采用外部中斷1實(shí)現(xiàn)花樣燈的切換.2.3設(shè)計(jì)方案根據(jù)設(shè)計(jì)要求和設(shè)計(jì)思路,可以確定該系統(tǒng)的設(shè)計(jì)方案,硬件主要由五部分組成,即LCD12864、單片機(jī)、鍵盤、LED顯示器、揚(yáng)聲器.單片機(jī)采用AT89C51。在單片機(jī)中,定時(shí)功能既可以由硬件(定時(shí)/記數(shù)器)實(shí)現(xiàn),也可通過軟件定時(shí)實(shí)現(xiàn)。硬件定時(shí)是利用單片機(jī)內(nèi)定時(shí)器定時(shí),啟動(dòng)以后定時(shí)器可與CPU并行工作,不占用CPU時(shí)間,CPU有較高的工作效率。定時(shí)器的TMOD用于設(shè)置定時(shí)器/計(jì)數(shù)器的工作方式0~3,并確定用于定時(shí)還是用于計(jì)數(shù).TCON主要功能是為定時(shí)器在溢出時(shí)設(shè)定標(biāo)志位,并控制定時(shí)器的運(yùn)行或停止等。硬件電路設(shè)計(jì)如圖2。3所示:文字顯示電路音樂播放LED顯示電路AT89C51按鍵電路時(shí)鐘電路文字顯示電路音樂播放LED顯示電路AT89C51按鍵電路時(shí)鐘電路圖2.3硬件電路設(shè)計(jì)圖硬件電路設(shè)計(jì)3.1按鍵設(shè)計(jì)電路圖對于按鍵電路的設(shè)計(jì)可以有2種方式:一種方式是直接按鍵設(shè)計(jì),也稱獨(dú)立按鍵,這種設(shè)計(jì)電路適用于按鍵較少的控制,具有按鍵電路簡單,編程方便等優(yōu)點(diǎn);另一種方式是矩陣式鍵盤的設(shè)計(jì),它適用于對控制按鍵較多的電路控制,占用較少的I/O接口,但是按鍵電路復(fù)雜,編程比較復(fù)雜。本課題總共只需要2個(gè)按鍵,所以采用獨(dú)立按鍵設(shè)計(jì)。由上到下的按鍵分別是花樣燈1,花樣燈2,如圖3。1所示:圖3。1按鍵電路圖3.2顯示漢字電路設(shè)計(jì)圖本課題所采用得是由LCD12864作為顯示電路,用以顯示賀卡所要表達(dá)的文字即生日快樂。硬件電路連接是單片機(jī)P0。0~P0.7接12864的DB0~DB78個(gè)各管腳,P2.0~P2。4接12864的控制端E、RW、RS、CS2、CS1。連接圖如圖3.2所示:圖3.2顯示漢字電路圖3.3花樣燈電路設(shè)計(jì)圖LED顯示電路是由8個(gè)LED發(fā)光二極管組成,連接方式為共陽極,LED接到單片機(jī)的P1口.連接圖如圖3。3所示:圖3。3花樣燈電路圖軟件設(shè)計(jì)4.1主程序流程圖及程序調(diào)用音樂播放子程序開始調(diào)用寫漢字子程序顯示漢字設(shè)定起始列設(shè)置起始頁設(shè)置調(diào)用寫漢字子程序顯示漢字設(shè)定起始列設(shè)置起始頁設(shè)置調(diào)用寫漢字子程序顯示漢字設(shè)定起始列設(shè)置起始頁設(shè)置調(diào)用寫漢字子程序顯示漢字設(shè)定起始列設(shè)置起始頁設(shè)置調(diào)用寫漢字子程序顯示漢字設(shè)定起始列設(shè)置起始頁設(shè)置調(diào)用寫漢字子程序顯示漢字設(shè)定起始列設(shè)置起始頁設(shè)置左右屏控制初始化調(diào)用音樂播放子程序開始調(diào)用寫漢字子程序顯示漢字設(shè)定起始列設(shè)置起始頁設(shè)置調(diào)用寫漢字子程序顯示漢字設(shè)定起始列設(shè)置起始頁設(shè)置調(diào)用寫漢字子程序顯示漢字設(shè)定起始列設(shè)置起始頁設(shè)置調(diào)用寫漢字子程序顯示漢字設(shè)定起始列設(shè)置起始頁設(shè)置調(diào)用寫漢字子程序顯示漢字設(shè)定起始列設(shè)置起始頁設(shè)置調(diào)用寫漢字子程序顯示漢字設(shè)定起始列設(shè)置起始頁設(shè)置左右屏控制初始化結(jié)束結(jié)束圖4.1主程序流程圖RET計(jì)算漢字代碼初始地址R0=R0+1R0=32?調(diào)用寫入數(shù)據(jù)子程序重新設(shè)置起始列地址起始頁地址加1R0=16??R0=R0+1調(diào)入寫入數(shù)據(jù)子程序R0=0寫入起始列地址寫入起始頁地址RET計(jì)算漢字代碼初始地址R0=R0+1R0=32?調(diào)用寫入數(shù)據(jù)子程序重新設(shè)置起始列地址起始頁地址加1R0=16??R0=R0+1調(diào)入寫入數(shù)據(jù)子程序R0=0寫入起始列地址寫入起始頁地址NYNY圖4。2主程序的子程序流程圖4。2音樂播放子程序及流程圖4。2.1音樂播放子程序代碼MUISC:MOVTMOD,#01HMOVIE,#82HSTART0:MOV30H,#00H;取簡譜碼指針,初次30H=00NEXT:MOVA,30HMOVDPTR,#TABLE??MOVCA,@A+DPTR;查表,首址(第0位)是52H ?MOVR2,A;R2暫存簡譜碼,R2=52H??JZEND0;取到結(jié)束碼(00H),跳至END0 ANLA,#0FH;取低4位(節(jié)拍碼),A=02H ?MOVR5,A;節(jié)拍碼存于R5??MOVA,R2??SWAPA;交換高低4位,A=25H??ANLA,#0FH;取低4位(音符碼),A=05H JNZSING;取到的音符碼為0嗎?不是跳至SING CLRTR0;是,則不發(fā)音? JMPD1SING:DECA;取到的音符碼,減1,A=4MOV22H,A ?RLA;乘2,A=8? MOVDPTR,#TABLE1;到表TABLE1取T值,首址64260 ?MOVCA,@A+DPTR MOVTH0,A? MOV21H,A??MOVA,22H??RLA ?INCA??MOVCA,@A+DPTR ?MOVTL0,A ?MOV20H,A??SETBTR0;啟動(dòng)定時(shí)器D1:CALLDELAY;基本延時(shí)單位187毫秒? INC30H? JMPNEXT;取下一個(gè)簡譜碼END0:CLRTR0;停止定時(shí)器0計(jì)時(shí)JMPSTART1;重復(fù)循環(huán)TIM0:PUSHACC;定時(shí)器0中斷子程序,重復(fù)加載PUSHPSW?MOVTH0,21H ?MOVTL0,20H ?CPLP3.7;P3.7輸出 ?POPPSW? POPACC? RETIDELAY:MOVR7,#02D2:MOVR4,#187D3:MOVR3,#248? DJNZR3,$? DJNZR4,D3 DJNZR7,D2 ?DJNZR5,DELAY;節(jié)拍的長短,即每個(gè)音符的發(fā)音時(shí)間的長短 RETTABLE1: DW64260,64400,64524,64580 DW64684,64777,64820,64898?DW64968,65030,65058,65110 DWTABLE:DB82H,01H,81H,94H,84HDB0B4H,0A4H,04HDB82H,01H,81H,94H,84HDB0C4H,0B4H,04HDB82H,01H,81H,0F4H,0D4HDB0B4H,0A4H,94HDB0E2H,01H,0E1H,0D4H,0B4HDB0C4H,0B4H,04HDB82H,01H,81H,94H,84HDB0B4H,0A4H,04HDB82H,01H,81H,94H,84HDB0C4H,0B4H,04HDB82H,01H,81H,0F4H,0D4HDB0B4H,0A4H,94HDB0E2H,01H,0E1H,0D4H,0B4HDB0C4H,0B4H,04HDB00H;簡譜碼表,高四位為音符,低四位為節(jié)拍數(shù)END4.2。2音樂子程序流程圖開始啟動(dòng)定時(shí)器TL0=A,20H=A,20H=a查找下一個(gè)T值TH0=A,21H=A查表給DPTR賦初值建立TABLE130H加1A=00H?調(diào)用延時(shí)TR0取A的高四位存于AR2=00H??取A的低四位存于R5系統(tǒng)初始化給DPTR賦初值建立簡譜碼建立初值簡碼表存于R2查表A=30H給30H賦初值開始啟動(dòng)定時(shí)器TL0=A,20H=A,20H=a查找下一個(gè)T值TH0=A,21H=A查表給DPTR賦初值建立TABLE130H加1A=00H?調(diào)用延時(shí)TR0取A的高四位存于AR2=00H??取A的低四位存于R5系統(tǒng)初始化給DPTR賦初值建立簡譜碼建立初值簡碼表存于R2查表A=30H給30H賦初值跳至花樣燈跳至花樣燈TR0=0TR0=0YNNY圖4.3音樂子程序流程圖4.3花樣燈程序及流程圖4。3.1花樣燈程序代碼START1:SETBIT0;系統(tǒng)初始化SETBEX0SETBIT1SETBEX1SETBEAMOVA,#0FEHLOOP:MOVP1,A;依次點(diǎn)亮,循環(huán)點(diǎn)燈LCALLDELAYRLALJMPLOOPINTER0:JNBP2。5,S1;若P2。5=0,切換到花樣燈1JNBP2.7,S3;若P2。7=0,切換到花樣燈2SJMPEXITS1:MOVR2,#10;八只彩燈“亮-滅—亮”閃爍10次S2:MOVP1,#00LCALLDELAY1MOVP1,#0FFHLCALLDELAY1DJNZR2,S2SJMPS1RETIS3:MOVR3,#10;八只彩燈從0、2、3、6到1、3、5、7交替閃爍10次S4:MOVP1,#0AAHLCALLDELAY1MOVP1,#55HLCALLDELAY1DJNZR3,S4SJMPS3EXIT:RETIDELAY:MOVR0,#0FFHD1:MOVR1,#0FFHD2:NOPNOPDJNZR1,D2DJNZR0,D1RETEND4.3.2花樣燈流程圖開始開始A移位A移位調(diào)用延時(shí)初始化A=0FFHP1=A圖4.4花樣燈流程圖開始開始中斷返回R3-1=0延時(shí)P1=55H延時(shí)P1=AAHR3=10R2-1=0延時(shí)P1=0FFH延時(shí)P1=00HR2=10P2.7=0?P2.5=0?Y中斷返回R3-1=0延時(shí)P1=55H延時(shí)P1=AAHR3=10R2-1=0延時(shí)P1=0FFH延時(shí)P1=00HR2=10P2.7=0?P2.5=0?YNNNYY圖4。5花樣燈中斷服務(wù)流程圖系統(tǒng)調(diào)試及軟件仿真在Proteus仿真軟件中實(shí)現(xiàn)LCD12864液晶模塊顯示“生日快樂"的同時(shí),蜂鳴器播放生日歌。當(dāng)生日歌播放完之后,八只彩燈被依次點(diǎn)亮并循環(huán),如若要切換彩燈花樣,可以按鍵實(shí)現(xiàn).在本次仿真過程中遇到的最大問題就是,出現(xiàn)“SimulationisnotrunninginrealtimeduetoexcessiveCPUload"的提示信息.軟件仿真時(shí),音樂播放速度特別慢,感覺像卡帶了一樣,我以為是電路出了問題。上網(wǎng)查詢了解到,CPU過載,導(dǎo)致仿真速度不能實(shí)時(shí)運(yùn)行,可能與電腦的配置過低,Proteus仿真軟件的版本低以及電路太復(fù)雜有關(guān),并不一定就是電路圖出問題。這個(gè)問題的出現(xiàn),讓我了解到,Proteus仿真軟件要達(dá)到實(shí)時(shí)運(yùn)行的效果還是有差距的。在Proteus仿真軟件的幫助教程中已經(jīng)提到這方面問題的解決方案,我試著根據(jù)上面的方案進(jìn)行操作。分別點(diǎn)擊電阻和發(fā)光二極管的屬性,選“使用文本方式編輯所有屬性(Editallpropertiesastext)”,將PRIMTIVE屬性中的ANALOG改為DIGITAL。按此操作,將所有的電阻和發(fā)光二極管的屬性改變。這次仿真時(shí),音樂播放的速度基本正常,CPU占用不總是100%。另外,我還發(fā)現(xiàn)改變屬性的發(fā)光二極管比原先亮很多。仿真時(shí),文字顯示效果圖,如圖5.1:圖5。1文字顯示仿真結(jié)果當(dāng)按鍵花樣燈1按下時(shí),八只彩燈“亮—滅—亮”閃爍5次,如圖5.2:圖5。2花樣燈1仿真結(jié)果當(dāng)按鍵花樣燈2按下時(shí),八只彩燈從0、2、4、6到1、3、5、7交替閃爍,如圖5.3和圖5。4:圖5。3花樣燈2仿真結(jié)果圖5.4花樣燈2仿真結(jié)果圖形說明:圖5。1,剛開始仿真時(shí),顯示“生日快樂",并伴隨響亮的生日快樂歌曲.圖5.2,剛開始仿真時(shí),按花樣燈一時(shí),顯示“生日快樂",伴隨響亮的生日快樂歌曲,并且亮燈,八個(gè)彩燈按“亮滅亮”交替閃爍五次.圖5.3和圖5。4,剛開始仿真時(shí),按花樣燈二時(shí),顯示“生日快樂”,伴隨響亮的生日快樂歌曲,并且亮燈,先是0、2、4、6開始亮,熄滅后1、3、5、7接著亮,連著就是交替閃爍.總結(jié) 通過短暫的兩周時(shí)間的課程設(shè)計(jì),使我對單片機(jī)的基本原理以及單片機(jī)的匯編語言編程有了一定的了解,同時(shí)也加強(qiáng)了我對Proteus仿真軟件的操作能力,擴(kuò)展了自己對一些重要芯片工作原理的了解,模塊化設(shè)計(jì)讓思路變得明了,流程圖的繪制也讓冗長的程序也變得條理清晰。我的題目是電子生日賀卡的設(shè)計(jì),對于我們這些工科學(xué)生來說,這是一次鍛煉實(shí)踐能力的好機(jī)會(huì).怎么才能找到課堂所學(xué)與實(shí)際應(yīng)用的最佳結(jié)合點(diǎn)?怎樣讓自己的業(yè)余更接近專業(yè)?怎樣讓自己的計(jì)劃更具有序性,而不會(huì)忙無一用?這都是我們所要考慮和努力的。這次課程設(shè)計(jì)我學(xué)到很多很多的東西,學(xué)會(huì)了怎么樣去制定計(jì)劃,怎么樣去實(shí)現(xiàn)這個(gè)計(jì)劃,并掌握了在執(zhí)行過程中怎么樣去克服心理上的不良情緒.不僅鞏固了以前所學(xué)過的知識(shí),而且學(xué)到了很多在書本上所沒有學(xué)到過的知識(shí),掌握了一種系統(tǒng)的研究方法,可以進(jìn)行一些簡單的編程.通過這次課程設(shè)計(jì)使我懂得了理論與實(shí)際相結(jié)合是很重要的,只有理論知識(shí)是遠(yuǎn)遠(yuǎn)不夠的,只有把所學(xué)的理論知識(shí)與實(shí)踐相結(jié)合起來,從理論中得出結(jié)論,才能真正為社會(huì)服務(wù),從而提高自己的實(shí)際動(dòng)手能力和獨(dú)立思考的能力。同時(shí)在設(shè)計(jì)的過程中發(fā)現(xiàn)了自己的不足之處,對以前所學(xué)過的知識(shí)理解得不夠深刻,掌握得不夠牢固,對單片機(jī)匯編語言掌握得不夠好。這次課程設(shè)計(jì)通過自己的努力,同學(xué)的幫助,最終順利完成了。參考文獻(xiàn)[1]江世明編著,單片機(jī)原理及應(yīng)用,中國鐵道出版社.[2]何立民編著,MCS—51系列單片機(jī)應(yīng)用系統(tǒng)設(shè)計(jì),北京航空航天大學(xué)出版社,.[3]賴麒文編著,8051單片機(jī)軟件設(shè)計(jì)的藝術(shù),科學(xué)出版社。[4]彭偉編著,單片機(jī)C語言程序設(shè)計(jì)實(shí)訓(xùn)100例,電子工業(yè)出版社。[5]周潤景等編著,基于proteus的電路及單片機(jī)設(shè)計(jì)與仿真,北京航空航天大學(xué)出版社。致謝感謝學(xué)院給我提供了一個(gè)鍛煉自己獨(dú)立完成任務(wù)的機(jī)會(huì),使得我的動(dòng)手能力和理論水平都有所提高。感謝老師充分相信我的能力,讓我可以把自己能夠順利完成任務(wù)。感謝我的同學(xué)們,在面對我有那么多的難題時(shí),耐心的跟我講解,因?yàn)橛兴麄儙椭也拍軠?zhǔn)時(shí)的完成這份課程設(shè)計(jì)。附錄總程序源代碼ORG0000HLJMPMAINORG000BHJMPTIM0ORG0003HLJMPINTER0CSAEQUp2。4CSBEQUP2.3RSEQUP2.2RWEQUP2.1EEQUP2.0DATAESEQUP0COMEQU21HDATEQU22HYM(fèi)EQU23HLMEQU24HCODESEQU25HORG0030HMAIN:LCALLINT;調(diào)用初始化子程序LCALLLEFT;對左半屏操作MOVYM,#3;設(shè)置“生”起始頁MOVLM,#32;設(shè)置“生”列位置MOVCODES,#0LCALLCHINEMOVYM,#3;設(shè)置“日”起始頁MOVLM,#48;設(shè)置“日”列位置MOVCODES,#1LCALLCHINELCALLRIGHTMOVYM,#3;設(shè)置“快”起始頁MOVLM,#0;設(shè)置“快”列位置MOVCODES,#2LCALLCHINEMOVYM,#3;設(shè)置“樂”起始頁MOVLM,#16;設(shè)置“樂”列位置MOVCODES,#3LCALLCHINELCALLMUISCDDD:LJMPDDD;INT:LCALLLEFT;初始化子程序MOVCOM,#3FHLCALLPRMLCALLRIGHTMOVCOM,#3FHLCALLPRMCLEARL:LCALLLEFT;清左半屏MOVR4,#00HCLEAR0:MOVCOM,R4LCALLPAGEFIRSTMOVCOM,#00HLCALLLIEFIRSTMOVR3,#64CLEAR1:MOVDAT,#00HLCALLPRDDJNZR3,CLEAR1INCR4CJNER4,#08H,CLEAR0CLEARR:LCALLRIGHT;清右半屏MOVR4,#00HCLEAR2:MOVCOM,R4LCALLPAGEFIRSTMOVCOM,#00HLCALLLIEFIRSTMOVR3,#64CLEAR3:MOVDAT,#00HLCALLPRDDJNZR3,CLEAR3INCR4CJNER4,#08H,CLEAR2RETBUSY:CLRRS;判斷忙子程序SETBRWPRRO1:MOVDATAES,#0FFH;將端口置1,準(zhǔn)備讀數(shù)據(jù)總線SETBE;液晶模塊將當(dāng)前狀態(tài)送到數(shù)據(jù)總線MOVA,DATAES;讀數(shù)據(jù)總線CLREJBACC。7,PRRO1;為1,表示液晶模塊處于忙狀態(tài),等到ACC。7返回為0,返回主程序RETLEFT:CLRCSA;左半屏控制SETBCSBRETRIGHT:SETBCSA;右半屏控制CLRCSBRETPRM:LCALLBUSY;判斷液晶模塊是否忙CLRRSCLRRWMOVDATAES,COM;COM中存放指令SETBECLRERETPRD:LCALLBUSY;判斷液晶模塊是否忙SETBRSCLRRWSETBEMOVDATAES,DAT;DAT中存放待寫入的數(shù)據(jù)CLRE;液晶模塊從數(shù)據(jù)總線上讀入指令RETPAGEFIRST:MOVA,COM;設(shè)置顯示初始頁,COM中為實(shí)際頁碼ORLA,#0B8HMOVCOM,ALCALLPRM;調(diào)用寫入指令子程序RETLIEFIRST:MOVA,COM;設(shè)置顯示初始列,COM中為實(shí)際頁碼ORLA,#40HMOVCOM,ALCALLPRM;調(diào)用寫入指令子程序RETCHINE:MOVDPTR,#TAB;查表顯示漢字MOVA,CODESMOVB,#32MULABADDA,DPLMOVDPL,AMOVA,BADDCA,DPHMOVDPH,AMOVCOM,YMLCALLPAGEFIRSTMOVCOM,LMLCALLLIEFIRSTMOVR0,#00HRETURN0:MOVA,R0MOVCA,@A+DPTRMOVDAT,ALCALLPRDINCR0CJNER0,#16,RETURN0MOVA,YMINCAMOVCOM,ALCALLPAGEFIRSTMOVCOM,LMLCALLLIEFIRSTRETURN1:MOVA,R0MOVCA,@A+DPTRMOVDAT,ALCALLPRDINCR0CJNER0,#32,RETURN1RETMUISC:MOVTMOD,#01HMOVIE,#82HSTART0:MOV30H,#00H;取簡譜碼指針,初次30H=00NEXT:MOVA,30HMOVDPTR,#TABLE??MOVCA,@A+DPTR;查表,首址(第0位)是52H??MOVR2,A;R2暫存簡譜碼,R2=52H? JZEND0;取到結(jié)束碼(00H),跳至END0 ANLA,#0FH;取低4位(節(jié)拍碼),A=02H MOVR5,A;節(jié)拍碼存于R5? MOVA,R2??SWAPA;交換高低4位,A=25H ANLA,#0FH;取低4位(音符碼),A=05H? JNZSING;取到的音符碼為0嗎?不是跳至SING??CLRTR0;是,則不發(fā)音? JMPD1SING:DECA;取到的音符碼,減1,A=4MOV22H,A? RLA;乘2,A=8 MOVDPTR,#TABLE1;到表TABLE1取T值,首址64260? MOVCA,@A+DPTR ?MOVTH0,A MOV21H,A ?MOVA,22H RLA ?INCA MOVCA,@A+DPTR ?MOVTL0,A MOV20H,A ?SETBTR0;啟動(dòng)定時(shí)器D1:CALLDELAY;基本延時(shí)單位187毫秒 ?INC30H??JMPNEXT;取下一個(gè)簡譜碼END0:CLRTR0;停止定時(shí)器0計(jì)時(shí)JMPSTART1;跳到花樣燈子程序TIM0:PUSHACCPUSHPSWMOVTH0,26HMOVTL0,20HCPLP3.7POPPSWPOPACCRETISTART1:SETBIT0;系統(tǒng)初始化SETBEX0SETBIT1SETBEX1SETBEAMOVA,#0FEH;依次循環(huán)點(diǎn)燈LOOP:MOVP1,ALCALLDELAY1RLALJMPLOOPINTER0:JNBP2。5,S1;若P2。5=0,切換到花樣燈1JNBP2.7,S3;若P2.7=0,切換到花樣燈2SJMPEXITS1:MOVR2,#10;
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- STAT3-IN-39-生命科學(xué)試劑-MCE-5782
- ANO1-IN-4-生命科學(xué)試劑-MCE-2608
- 3-Methoxybenzeneboronic-acid-d3-3-Methoxyphenylboronic-acid-d-sub-3-sub-生命科學(xué)試劑-MCE-9929
- 二零二五年度電子產(chǎn)品銷售退換貨及售后服務(wù)協(xié)議
- 2025年度游戲工作室游戲市場調(diào)研分析師用工合同
- 二零二五年度生態(tài)旅游區(qū)集體土地入股聯(lián)營協(xié)議
- 2025年度電子商務(wù)消費(fèi)者權(quán)益保護(hù)合同協(xié)議
- 二零二五年度美容店轉(zhuǎn)讓合同含美容院品牌形象使用權(quán)及廣告推廣
- 二零二五年度綠色環(huán)保餐飲商鋪?zhàn)赓U協(xié)議
- 科技賦能教育點(diǎn)亮孩子創(chuàng)新火花
- 具有履行合同所必須的設(shè)備和專業(yè)技術(shù)能力的承諾函-設(shè)備和專業(yè)技術(shù)能力承諾
- 混床計(jì)算書(新)
- 1325木工雕刻機(jī)操作系統(tǒng)說明書
- 初中衡水體英語(28篇)
- 斯瓦希里語輕松入門(完整版)實(shí)用資料
- 復(fù)古國潮風(fēng)中國風(fēng)春暖花開PPT
- GB/T 2317.2-2000電力金具電暈和無線電干擾試驗(yàn)
- 機(jī)動(dòng)車輛保險(xiǎn)理賠實(shí)務(wù)2023版
- 病原微生物實(shí)驗(yàn)室標(biāo)準(zhǔn)操作規(guī)程sop文件
- 最完善的高速公路機(jī)電監(jiān)理細(xì)則
- 建筑工程技術(shù)資料管理.ppt
評論
0/150
提交評論