![基于單片機(jī)控制的數(shù)字音樂(lè)盒的設(shè)計(jì)_第1頁(yè)](http://file1.renrendoc.com/fileroot_temp2/2021-2/18/992226bb-9888-43de-86f3-7c412d79c980/992226bb-9888-43de-86f3-7c412d79c9801.gif)
![基于單片機(jī)控制的數(shù)字音樂(lè)盒的設(shè)計(jì)_第2頁(yè)](http://file1.renrendoc.com/fileroot_temp2/2021-2/18/992226bb-9888-43de-86f3-7c412d79c980/992226bb-9888-43de-86f3-7c412d79c9802.gif)
![基于單片機(jī)控制的數(shù)字音樂(lè)盒的設(shè)計(jì)_第3頁(yè)](http://file1.renrendoc.com/fileroot_temp2/2021-2/18/992226bb-9888-43de-86f3-7c412d79c980/992226bb-9888-43de-86f3-7c412d79c9803.gif)
![基于單片機(jī)控制的數(shù)字音樂(lè)盒的設(shè)計(jì)_第4頁(yè)](http://file1.renrendoc.com/fileroot_temp2/2021-2/18/992226bb-9888-43de-86f3-7c412d79c980/992226bb-9888-43de-86f3-7c412d79c9804.gif)
![基于單片機(jī)控制的數(shù)字音樂(lè)盒的設(shè)計(jì)_第5頁(yè)](http://file1.renrendoc.com/fileroot_temp2/2021-2/18/992226bb-9888-43de-86f3-7c412d79c980/992226bb-9888-43de-86f3-7c412d79c9805.gif)
版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、科信學(xué)院?jiǎn)纹瑱C(jī)系統(tǒng)設(shè)計(jì)項(xiàng)目(三級(jí)項(xiàng)目)設(shè)計(jì)說(shuō)明書(2012/2013學(xué)年第二學(xué)期) 題 目 : _基于單片機(jī)控制的數(shù)字音樂(lè)盒的設(shè)計(jì)_ 專業(yè)班級(jí) : 通信工程10級(jí)2班 學(xué)生姓名 : 王敏軒 尹艷迪 李 莎 朱 江 董宣利 學(xué) 號(hào) : 指導(dǎo)教師 :馬小進(jìn)、賈少銳、李曉東、付佳 設(shè)計(jì)周數(shù) : 2周 設(shè)計(jì)成績(jī) : 2013年6月21號(hào) 目錄1 概述32 系統(tǒng)總體方案及硬件設(shè)計(jì)52.1 系統(tǒng)構(gòu)成52.1.1 AT89C51單片機(jī)簡(jiǎn)介52.1.2 LED顯示器72.1.3 鍵盤82.1.4 系統(tǒng)復(fù)位電路的設(shè)計(jì)92.1.5 時(shí)鐘電路模塊92.2硬件電路端口分配103 軟件設(shè)計(jì)113.1 主模塊的設(shè)計(jì)113
2、.2 外部中斷源系統(tǒng)設(shè)計(jì)123.3 基本顯示模塊設(shè)計(jì)133.4 系統(tǒng)初始化程序134 Proteus軟件仿真145課程設(shè)計(jì)體會(huì)16參考文獻(xiàn)17附1:源程序代碼18附2:系統(tǒng)原理圖28 1 概述本設(shè)計(jì)是基于單片機(jī)的數(shù)字音樂(lè)盒設(shè)計(jì),由單片機(jī)AT89C51芯片和LED數(shù)碼管為核心,輔以必要的電路,構(gòu)成的一個(gè)單片機(jī)電子數(shù)字音樂(lè)盒。要求利用I/O口產(chǎn)生一定頻率的方波,驅(qū)動(dòng)蜂鳴器,發(fā)出不同的音調(diào)并采用LCD顯示信息,從而演奏樂(lè)曲(最少三首樂(lè)曲,每首不少于30秒),開機(jī)時(shí)有英文歡迎提示字符,播放時(shí)顯示歌曲序號(hào)(或名稱),可通過(guò)功能鍵選擇樂(lè)曲,暫停,播放。本設(shè)計(jì)采用4*4鍵盤,16*2 LCD,七段顯示數(shù)碼管
3、LED。課設(shè)準(zhǔn)備中根據(jù)具體的要求,查找資料,然后按要求根據(jù)已學(xué)過(guò)的時(shí)鐘程序編寫定時(shí)鬧鐘的程序,依據(jù)程序利用proteus軟件進(jìn)行了仿真試驗(yàn),對(duì)出現(xiàn)的問(wèn)題進(jìn)行分析和反復(fù)修改源程序,最終得到正確并符合要求的結(jié)果。 2 系統(tǒng)總體方案及硬件設(shè)計(jì)2.1 系統(tǒng)構(gòu)成2.1.1 AT89C51單片機(jī)簡(jiǎn)介AT89C51是一種帶4K字節(jié)閃爍可編程可擦除只讀存儲(chǔ)器的低電壓,高性能CMOS8位微處理器,俗稱單片機(jī)。該器件采用ATMEL高密度非易失存儲(chǔ)器制造技術(shù)制造,與工業(yè)標(biāo)準(zhǔn)的MCS-51指令集和輸出管腳相兼容。由于將多功能8位CPU和閃爍存儲(chǔ)器組合在單個(gè)芯片中,ATMEL的AT89C51是一種高效微控制器,為很多嵌
4、入式控制系統(tǒng)提供了一種靈活性高且價(jià)廉的方案。(1)主要特性:與MCS-51 兼容 4K字節(jié)可編程閃爍存儲(chǔ)器壽命:1000寫/擦循環(huán)數(shù)據(jù)保留時(shí)間:10年全靜態(tài)工作:0Hz-24Hz三級(jí)程序存儲(chǔ)器鎖定128*8位內(nèi)部RAM32可編程I/O線兩個(gè)16位定時(shí)器/計(jì)數(shù)器5個(gè)中斷源 可編程串行通道 圖1低功耗的閑置和掉電模式片內(nèi)振蕩器和時(shí)鐘電路 (2)管腳說(shuō)明(如圖1): VCC:供電電壓。 GND:接地。 P0口:P0口為一個(gè)8位漏級(jí)開路雙向I/O口,每腳可吸收8TTL門電流。當(dāng)P1口的管腳第一次寫1時(shí),被定義為高阻輸入。P0能夠用于外部程序數(shù)據(jù)存儲(chǔ)器,它可以被定義為數(shù)據(jù)/地址的第八位。在FIASH編程
5、時(shí),P0 口作為原碼輸入口,當(dāng)FIASH進(jìn)行校驗(yàn)時(shí),P0輸出原碼,此時(shí)P0外部必須被拉高。 P1口:P1口是一個(gè)內(nèi)部提供上拉電阻的8位雙向I/O口,P1口緩沖器能接收輸出4TTL門電流。P1口管腳寫入1后,被內(nèi)部上拉為高,可用作輸入,P1口被外部下拉為低電平時(shí),將輸出電流,這是由于內(nèi)部上拉的緣故。在FLASH編程和校驗(yàn)時(shí),P1口作為第八位地址接收。 P2口:P2口為一個(gè)內(nèi)部上拉電阻的8位雙向I/O口,P2口緩沖器可接收,輸出4個(gè)TTL門電流,當(dāng)P2口被寫“1”時(shí),其管腳被內(nèi)部上拉電阻拉高,且作為輸入。并因此作為輸入時(shí),P2口的管腳被外部拉低,將輸出電流。這是由于內(nèi)部上拉的緣故。P2口當(dāng)用于外部
6、程序存儲(chǔ)器或16位地址外部數(shù)據(jù)存儲(chǔ)器進(jìn)行存取時(shí),P2口輸出地址的高八位。在給出地址“1”時(shí),它利用內(nèi)部上拉優(yōu)勢(shì),當(dāng)對(duì)外部八位地址數(shù)據(jù)存儲(chǔ)器進(jìn)行讀寫時(shí),P2口輸出其特殊功能寄存器的內(nèi)容。P2口在FLASH編程和校驗(yàn)時(shí)接收高八位地址信號(hào)和控制信號(hào)。P3口:P3口管腳是8個(gè)帶內(nèi)部上拉電阻的雙向I/O口,可接收輸出4個(gè)TTL門電流。當(dāng)P3口寫入“1”后,它們被內(nèi)部上拉為高電平,并用作輸入。作為輸入,由于外部下拉為低電平,P3口將輸出電流(ILL)這是由于上拉的緣故。P3口也可作為AT89C51的一些特殊功能口,如下表所示:管口管腳 備選功能P3.0 RXD(串行輸入口)P3.1 TXD(串行輸出口)P
7、3.2 /INT0(外部中斷0)P3.3 /INT1(外部中斷1)P3.4 T0(記時(shí)器0外部輸入)P3.5 T1(記時(shí)器1外部輸入)P3.6 /WR(外部數(shù)據(jù)存儲(chǔ)器寫選通)P3.7 /RD(外部數(shù)據(jù)存儲(chǔ)器讀選通)P3口同時(shí)為閃爍編程和編程校驗(yàn)接收一些控制信號(hào)。RST:復(fù)位輸入。當(dāng)振蕩器復(fù)位器件時(shí),要保持RST腳兩個(gè)機(jī)器周期的高電平時(shí)間。 ALE/PROG:當(dāng)訪問(wèn)外部存儲(chǔ)器時(shí),地址鎖存允許的輸出電平用于鎖存地址的地位字節(jié)。在FLASH編程期間,此引腳用于輸入編程脈沖。在平時(shí),ALE端以不變的頻率周期輸出正脈沖信號(hào),此頻率為振蕩器頻率的1/6。因此它可用作對(duì)外部輸出的脈沖或用于定時(shí)目的。然而要注
8、意的是:每當(dāng)用作外部數(shù)據(jù)存儲(chǔ)器時(shí),將跳過(guò)一個(gè)ALE脈沖。如想禁止ALE的輸出可在SFR8EH地址上置0。此時(shí), ALE只有在執(zhí)行MOVX,MOVC指令是ALE才起作用。另外,該引腳被略微拉高。如果微處理器在外部執(zhí)行狀態(tài)ALE禁止,置位無(wú)效。/PSEN:外部程序存儲(chǔ)器的選通信號(hào)。在由外部程序存儲(chǔ)器取指期間,每個(gè)機(jī)器周期兩次/PSEN有效。但在訪問(wèn)外部數(shù)據(jù)存儲(chǔ)器時(shí),這兩次有效的/PSEN信號(hào)將不出現(xiàn)。/EA/VPP:/EA保持低電平時(shí),在此期間外部程序存儲(chǔ)器(0000H-FFFFH),不管是否有內(nèi)部程序存儲(chǔ)器。注意加密方式1時(shí),/EA將內(nèi)部鎖定為RESET;當(dāng)/EA端保持高電平時(shí),此間內(nèi)部程序存儲(chǔ)
9、器。在FLASH編程期間,此引腳也用于施加12V編程電源(VPP)。XTAL1:反向振蕩放大器的輸入及內(nèi)部時(shí)鐘工作電路的輸入。XTAL2:來(lái)自反向振蕩器的輸出。(3)振蕩器特性:XTAL1和XTAL2分別為反向放大器的輸入和輸出。該反向放大器可以配置為片內(nèi)振蕩器。石晶振蕩和陶瓷振蕩均可采用。如采用外部時(shí)鐘源驅(qū)動(dòng)器件,XTAL2應(yīng)不接。有余輸入至內(nèi)部時(shí)鐘信號(hào)要通過(guò)一個(gè)二分頻觸發(fā)器,因此對(duì)外部時(shí)鐘信號(hào)的脈寬無(wú)任何要求,但必須保證脈沖的高低電平要求的寬度。(4)芯片擦除:整個(gè)PEROM陣列和三個(gè)鎖定位的電擦除可通過(guò)正確的控制信號(hào)組合,并保持ALE管腳處于低電平10ms 來(lái)完成。在芯片擦操作中,代碼陣
10、列全被寫“1”且在任何非空存儲(chǔ)字節(jié)被重復(fù)編程以前,該操作必須被執(zhí)行。此外,AT89C51設(shè)有穩(wěn)態(tài)邏輯,可以在低到零頻率的條件下靜態(tài)邏輯,支持兩種軟件可選的掉電模式。在閑置模式下,CPU停止工作。但RAM,定時(shí)器,計(jì)數(shù)器,串口和中斷系統(tǒng)仍在工作。在掉電模式下,保存RAM的內(nèi)容并且凍結(jié)振蕩器,禁止所用其他芯片功能,直到下一個(gè)硬件復(fù)位為止。2.1.2 LED顯示器 LED(Light Emitting Diode)是發(fā)光二極管英文名稱的縮寫。LED顯示器是由發(fā)光二極管構(gòu)成的,所以在顯示器前面冠以“LED”。LED顯示器在單片機(jī)系統(tǒng)中的應(yīng)用非常普遍。(1)LED顯示器的結(jié)構(gòu): 常用的LED顯示器為8段
11、。每一個(gè)段對(duì)應(yīng)1個(gè)發(fā)光二極管,這種顯示器有共陽(yáng)極和共陰極兩種:共陰極LED顯示器的發(fā)光二極管的陰極連接在一起,通常此公共陰極接地。當(dāng)某個(gè)發(fā)光二極管的陽(yáng)極為高電平時(shí),發(fā)光二極管點(diǎn)亮,相應(yīng)的段被顯示。同樣,共陽(yáng)極LED顯示器的發(fā)光二極管的陽(yáng)極連接在一起,通常此公共陽(yáng)極接正電壓,當(dāng)某個(gè)發(fā)光二極管的陰極接低電平時(shí),發(fā)光二極管被點(diǎn)亮,相應(yīng)的段被顯示。為了使LED顯示器顯示不同的符號(hào)或數(shù)字,就要把不同段的發(fā)光二極管點(diǎn)亮,這樣就要為L(zhǎng)ED提供代碼,因?yàn)檫@些代碼可使LED相應(yīng)的段發(fā)光,從而顯示不同字型,因此該代碼稱為段碼。7段發(fā)光二極管,再加上1個(gè)小數(shù)點(diǎn)位,共計(jì)8位。因此提供給LED顯示器的段碼正好是1B。各
12、段與字節(jié)中各位對(duì)應(yīng)關(guān)系如下圖2: 8段LED結(jié)構(gòu)及外形代碼位D7D6D5D4D3D2D1D0顯示位dpgfEdcba 圖2(2) LED顯示器工作原理由N個(gè)LED顯示塊可以拼接成N位的LED顯示器。如圖是LED顯示器的結(jié)構(gòu)原理圖3。N個(gè)LED顯示器有N個(gè)位選線和8*N位 根段碼線。段碼線控制顯示字符的字型,而位選線為各個(gè)LED顯示塊中各段的公共端,它控制該LED顯示位的亮或暗。LED顯示器有靜態(tài)顯示和動(dòng)態(tài)顯示兩種。2.1.3 鍵盤 鍵盤在單片機(jī)應(yīng)用系統(tǒng)中能實(shí)現(xiàn)向單片機(jī)輸入數(shù)據(jù),傳送命 圖3令等功能,是人工干預(yù)單片機(jī)的主要手段。(1)鍵盤輸入的特點(diǎn)鍵盤實(shí)質(zhì)上是一級(jí)按鍵開關(guān)的集合。通常,鍵盤開關(guān)利
13、用了機(jī)械觸點(diǎn)的合、斷作用。(2)按鍵的確認(rèn)鍵的閉合與否,反映在行線輸出電壓上就呈現(xiàn)高電平或低電平,如果高電平表示鍵斷開,低電平則表示鍵閉合,通過(guò)對(duì)行線電平高低狀態(tài)的檢測(cè),便可確認(rèn)按鍵按下與否。為了確保CPU對(duì)一次按鍵動(dòng)作只確認(rèn)一次按鍵有效,必須消除抖動(dòng)的影響。(3)如何消除按鍵的抖動(dòng)采用軟件來(lái)消除按鍵抖動(dòng)的基本思想是:在一次檢測(cè)到有鍵按下時(shí),該鍵所對(duì)應(yīng)的行線為低電平,執(zhí)行一段延時(shí)10MS的子程序后,確認(rèn)該行線電平是不否仍為低電平,如果仍為低電平,則確認(rèn)為該行確實(shí)有鍵按下。當(dāng)按鍵松開時(shí),行線的低電平變?yōu)楦唠娖?,?zhí)行一段延時(shí)10MS的子程序后,檢測(cè)該行線為高電平,說(shuō)明按鍵確實(shí)已經(jīng)松開。2.1.4
14、系統(tǒng)復(fù)位電路的設(shè)計(jì)智能系統(tǒng)一般應(yīng)有手動(dòng)或上電復(fù)位電路。復(fù)位電路的實(shí)現(xiàn)通常有兩種方式:RC復(fù)位電路和專用監(jiān)控電路。前者實(shí)現(xiàn)簡(jiǎn)單,成本低,但復(fù)位可靠性相對(duì)較低;后者成本較高,但復(fù)位可靠性高,尤其是高可靠重復(fù)復(fù)位。對(duì)于復(fù)位要求高、并對(duì)電源電壓進(jìn)行監(jiān)視的場(chǎng)合,大多采用這種方式。本次課程設(shè)計(jì)采用了上電按鈕電平復(fù)位電路,如圖四 圖42.1.5 時(shí)鐘電路模塊時(shí)鐘電路在單片機(jī)系統(tǒng)中起著非常重要的作用,是保證系統(tǒng)正常工作的基礎(chǔ)。在一個(gè)單片機(jī)應(yīng)用系統(tǒng)中,時(shí)鐘是保障系統(tǒng)正常工作的基準(zhǔn)振蕩定時(shí)信號(hào),主要由晶振和外圍電路組成,晶振頻率的大小決定了單片機(jī)系統(tǒng)工作的快慢。為達(dá)到振蕩周期是12MHZ的要求,這里要采用12MH
15、Z的晶振,另外有兩個(gè)22P的獨(dú)石電容,兩晶振引腳分別連到XTAL1和XTAL2振蕩脈沖輸入引腳。具體連接圖如圖5所示: 圖52.1.6蜂鳴器電路利用NPN管(9012)放大驅(qū)動(dòng)?;鶚O接10K歐姆的電阻,發(fā)射極接蜂鳴器,集電極接電源。蜂鳴器電路連接如下圖6 圖62.2硬件電路端口分配 (1)硬件電路中用P1.0-P1.7控制按鍵,其中P1.0-P1.3掃描行,P1.4-P1.7掃 描列。(2)用P0.0-P0.7,P2.0-P2.7控制LED,其中P0.0-P0.7控制七段a,b,c,d,e,f,g,用P2.0-P2.7為數(shù)碼管位選信號(hào)。(3)用,P2.0-P2.2作為L(zhǎng)CD的RS,R/W,E的
16、控制信號(hào)。用P0.0-P0.7作為L(zhǎng)CD的D0-D7的控制信號(hào)。(4)用P3.7口控制蜂鳴器。(5)電路為12MHZ晶振頻率工作,起振電路中C1,C2均為30pf。3 軟件設(shè)計(jì)3.1 主模塊的設(shè)計(jì)主程序開始初始化變量及LCD接口初始化數(shù)字器T0,定時(shí)器T1LCD顯示英文歡迎字符等待按鍵,是否有按鍵?包括播放,暫停,停止按鍵歌曲號(hào)及播放時(shí)間顯示在LCD按照按鍵碼播放對(duì)應(yīng)的歌曲YN主模塊是系統(tǒng)軟件的主框架。結(jié)構(gòu)化程序設(shè)計(jì)一般有“自上而下”和“自下而上”兩種方式,“自上而下”法的核心就是主框架的構(gòu)建。它的合理與否關(guān)系到程序最終的功能的多少和性能的好壞。本系統(tǒng)的主模塊的程序框圖如下圖6所示:圖 63.
17、2 外部中斷源系統(tǒng)設(shè)計(jì)在本設(shè)計(jì)中中斷源是采用外部中斷0方式,其入口地址是0003H。其中斷響應(yīng)級(jí)別最高。(1)定時(shí)器/計(jì)數(shù)器工作方式寄存器TMOD用于選擇定時(shí)器/計(jì)數(shù)器的工作方式和工作模式。其格式如下表一:TMODD7D6D5D4D3D2D1D0GATEM1M0GATEM1M0T1方式字段T0方式字段 表一下面對(duì)TMOD各位進(jìn)行說(shuō)明:門控位GATE工作方式選擇位M1、M0M1M0工作方式00方式0,為13位定時(shí)器/計(jì)數(shù)器01方式1,為16位定時(shí)器/計(jì)數(shù)器10方式2,8位的常數(shù)自動(dòng)重新裝載的定時(shí)器/計(jì)數(shù)器11方式3,僅適用于T0 表二其中,在本設(shè)計(jì)中采用方式1的16位定時(shí)器/計(jì)數(shù)器。計(jì)數(shù)器模式和
18、定時(shí)器模式選擇位=0,為定時(shí)器模式。=1,為計(jì)數(shù)模式。定時(shí)器/計(jì)數(shù)器控制寄存器TCON,其格式如下:TCOND7D6D5D4D3D2D1D0TF1TR1TF0TR0IE1IT1IE0ITO 表三其各位的功能如下:TF1、TF0計(jì)數(shù)溢出標(biāo)志位當(dāng)計(jì)數(shù)器溢出時(shí),該位置1。TR1、TR0計(jì)數(shù)運(yùn)行控制位3.3 基本顯示模塊設(shè)計(jì)基本顯示模塊設(shè)計(jì)的重點(diǎn)是由顯示代碼取得相應(yīng)的段碼,顯示段碼數(shù)據(jù)的并行發(fā)送,高精度的計(jì)時(shí)工具大多數(shù)都使用了石英晶體振蕩器,由于電子鐘,石英表,石英鐘都采用了石英技術(shù),因此走時(shí)精度高,穩(wěn)定性好,使用方便,不需要經(jīng)常調(diào)校,數(shù)字式電子鐘用集成電路計(jì)時(shí)時(shí),譯碼代替機(jī)械式傳動(dòng),用LED顯示器代
19、替顯示器代替指針顯示進(jìn)而顯示時(shí)間,減小了計(jì)時(shí)誤差,這種表具有時(shí),分,秒顯示時(shí)間的功能,還可以進(jìn)行時(shí)和分的校對(duì),片選的靈活性好。程序流程如圖7所示。將進(jìn)制時(shí)分秒數(shù)據(jù)轉(zhuǎn)化為顯示代碼 關(guān)顯示以免顯示抖動(dòng)通過(guò)串口將時(shí)分秒數(shù)據(jù)傳入數(shù)碼管打開顯示圖 73.4 系統(tǒng)初始化程序 RS BIT P2.0;定義液晶顯示端口標(biāo) RW BIT P2.1E BIT P2.2L50MS EQU 60HL1MS EQU 61HL250MS EQU 62HSEC EQU 65HMIN EQU 64HHOU EQU 63HORG 0000HLJMP MAINORG 000BHLJMP TT0ORG 001BHLJMP T1IN
20、TORG 1000HMAIN: 液晶初始化MOV SP,#70H MOV P0,#01H ;清屏CALL ENABLEMOV P0,#38H ;8位,2行顯示LCALL ENABLE4 Proteus軟件仿真本次課程設(shè)計(jì)所采用的程序調(diào)試軟件為wave6000集成調(diào)試軟件,所采用的仿真軟件為protus 6 professional軟件。本次試驗(yàn)的效果圖如下所示:按鍵功能說(shuō)明:1A:十首歌曲 C:上一首歌曲 D:下一首歌曲E:歌曲暫停 F:開機(jī)畫面當(dāng)鍵盤有鍵按下時(shí),判斷鍵值,啟動(dòng)計(jì)數(shù)器T0,產(chǎn)生一定頻率的脈沖,驅(qū)動(dòng)蜂鳴器,放出樂(lè)曲。同時(shí)啟動(dòng)定時(shí)器T1,顯示樂(lè)曲播放的時(shí)間,并驅(qū)動(dòng)LCD,顯示歌曲號(hào)
21、記播放時(shí)間。開機(jī)時(shí)有英文歡迎提示字符,播放時(shí)顯示歌曲序號(hào)(或名稱)可通過(guò)功能鍵選擇樂(lè)曲,暫停,播放。選作內(nèi)容:顯示樂(lè)曲播放時(shí)間或剩余時(shí)間.結(jié)構(gòu)化軟件程序的調(diào)試一般可以將重點(diǎn)放在分模塊調(diào)試上,統(tǒng)調(diào)是最后一環(huán)。軟件調(diào)試可以采取離線調(diào)試和在線調(diào)試兩種方式。前者不需要硬件仿真器,可借助于軟件仿真器即可;后者一般需要仿真系統(tǒng)的支持。本次課設(shè),采用wave6000集成調(diào)試軟件來(lái)調(diào)試程序,通過(guò)各個(gè)模塊程序的單步或跟蹤調(diào)試,使程序逐漸趨于正確,最后統(tǒng)調(diào)程序。仿真部分采用protus 6 professional軟件,此軟件功能強(qiáng)大且操作較為簡(jiǎn)單,可以很容易的實(shí)現(xiàn)各種系統(tǒng)的仿真。首先打開protus 6 pro
22、fessional軟件,在元件庫(kù)中找到要選用的所有元件,然后進(jìn)行原理圖的繪制;繪制好后再選擇wave6000已經(jīng)編譯好的*.hex文件,選擇運(yùn)行,觀察顯示結(jié)果,根據(jù)顯示的結(jié)果和課設(shè)的要求再修改程序,再運(yùn)行查,直到滿足要求。 5、安裝與調(diào)試程序調(diào)試中出現(xiàn)的問(wèn)題及解決的辦法:1 有時(shí)會(huì)出現(xiàn)程序一點(diǎn)錯(cuò)誤也沒(méi)有,但就是不能正常運(yùn)行的現(xiàn)象,最后我們發(fā)行是因?yàn)槌绦蛑杏械闹噶顣鴮懙貌灰?guī)范導(dǎo)致的,例如有的RET返回指令一定要按正確格式書寫或在兩行指令間最好不要留空行。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)范圍比較少,這
23、時(shí)要用一個(gè)標(biāo)號(hào)中轉(zhuǎn)。3 編程時(shí)要注意,在程序開始時(shí),要寫入各定時(shí)器中斷的入口地址。4 編程過(guò)程中要注意加注釋或分割線,否則,在程序過(guò)長(zhǎng)時(shí)容易變得很亂,不便于查找或更改。5 程序的結(jié)構(gòu)要設(shè)計(jì)的合理,避免上下亂調(diào)用的現(xiàn)象,這樣會(huì)使程序更加清晰化。6 編程前要加流程圖,這樣會(huì)使思路清晰,例如數(shù)字音樂(lè)盒的設(shè)計(jì)思路完全可以按著MP3的工作方式列寫流程圖。7 LCD計(jì)時(shí)正常顯示的解決辦法:a. 兩個(gè)定時(shí)器同時(shí)工作,存在中斷時(shí)序問(wèn)題,剛開始時(shí)我們把定時(shí)器1設(shè)定在方式3,計(jì)250us,由于定時(shí)中斷過(guò)于頻繁,使CPU負(fù)載過(guò)大,導(dǎo)致音樂(lè)不能正常播放,時(shí)間不能正常顯示。解決辦法:將定時(shí)器1設(shè)定在工作方式1,16位計(jì)
24、數(shù),計(jì)50ms,效果有很大改觀。但還有問(wèn)題。b. 當(dāng)音樂(lè)為全4拍起始時(shí),此時(shí)音樂(lè)節(jié)奏與定時(shí)器T1中斷頻率錯(cuò)開,LCD顯示和音樂(lè)播放都會(huì)好一些。c. 另外,在歌曲中,當(dāng)遇到一個(gè)音符發(fā)音為4拍,在編曲中為*CH,托因時(shí)間較長(zhǎng),當(dāng)定時(shí)器T1此時(shí)來(lái)中斷時(shí),就會(huì)對(duì)歌曲播放產(chǎn)生影響,若改為發(fā)音一拍,中斷對(duì)歌曲播放影響減弱,但音樂(lè)效果變差。d. 改進(jìn)方案:若采用可以定時(shí)時(shí)間更長(zhǎng)的單片機(jī),可以避免所有問(wèn)題。硬件安裝于調(diào)試1、把相應(yīng)的元器件或其管座及導(dǎo)線用焊錫焊在電路板上相應(yīng)的位置,再焊接之前應(yīng)該把整塊板用砂紙?jiān)俅蚰ヒ淮?,去掉氧化層,這樣更好焊有助于減少虛焊的發(fā)生。2、在焊接過(guò)程中應(yīng)遵循先小后大先以后難的原則,
25、并充分考慮元件的耐熱性,以免溫度過(guò)高損壞元件。3、待所有元器件都焊完后對(duì)照電路檢查是否有錯(cuò),若無(wú)錯(cuò)誤即可將集成塊插入相應(yīng)的管座并連好線路,然后進(jìn)行調(diào)試。4、調(diào)試過(guò)程中應(yīng)接入信號(hào)源,打開調(diào)試用的電源,然后看電路是否正常工作,當(dāng)當(dāng)鍵盤有鍵按下時(shí),判斷鍵值,啟動(dòng)計(jì)數(shù)器T0,產(chǎn)生一定頻率的脈沖,驅(qū)動(dòng)蜂鳴器,放出樂(lè)曲。同時(shí)啟動(dòng)定時(shí)器T1,顯示樂(lè)曲播放的時(shí)間,并驅(qū)動(dòng)LCD,顯示歌曲號(hào)及播放時(shí)間。也可在LCD顯示歌曲號(hào)。5、當(dāng)按下1A時(shí):看能否播放的歌曲這里1A代表的是1至10首歌;按下C代表的是播放上一首歌曲;按下D代表的是播放下一首歌曲;按下E表示暫停播放;按下F顯示開機(jī)畫面WELCOM。若不符合則檢查
26、電路,然后重新調(diào)試,直到電路正常工作,輸出也符合要求為止。5、調(diào)試正常后等待老師驗(yàn)收。6、驗(yàn)收完畢,關(guān)掉電源,拆除線路,拔掉集成塊和電路板一起上交 6課程設(shè)計(jì)體會(huì) 單片機(jī)是一門應(yīng)用性很強(qiáng)的學(xué)科,課程設(shè)計(jì)是培養(yǎng)我們綜合運(yùn)用所學(xué)知識(shí),發(fā)現(xiàn)、提出、分析和解決實(shí)際問(wèn)題,鍛煉實(shí)踐能力的重要環(huán)節(jié),是對(duì)我們實(shí)際工作能力的具體訓(xùn)練和考察過(guò)程。雖然在做課程設(shè)計(jì)以前已經(jīng)系統(tǒng)的把單片機(jī)課本認(rèn)真的學(xué)習(xí)了一下,但是在剛拿到設(shè)計(jì)任務(wù)書時(shí)還是有點(diǎn)一頭霧水,不知道該從哪里下手。令人欣慰的是經(jīng)過(guò)一周的學(xué)習(xí),雖然過(guò)程很艱辛,但是總算實(shí)現(xiàn)了定時(shí)鬧鐘的功能,所有的努力都很值得。這一周的大部分時(shí)間都在研究程序怎么處理,在這個(gè)過(guò)程中加深
27、了我對(duì)匯編語(yǔ)言命令的應(yīng)用,而且也更加了解到軟硬件配套的重要性。在設(shè)計(jì)的過(guò)程中不僅鞏固了以前所學(xué)過(guò)的知識(shí),加深了我對(duì)所學(xué)知識(shí)的理解,而且學(xué)到了很多在書本上所沒(méi)有的知識(shí)。通過(guò)這次課程設(shè)計(jì)使我懂得了理論與實(shí)際相結(jié)合的重要性,只有理論知識(shí)是遠(yuǎn)遠(yuǎn)不夠的,只有把所學(xué)的理論知識(shí)與實(shí)踐相結(jié)合起來(lái),才能提高自己的實(shí)際動(dòng)手能力和獨(dú)立思考的能力??傊ㄟ^(guò)這次課程設(shè)計(jì)不僅使我鞏固了本課程所學(xué)的基本知識(shí),還使我具有了撰寫科研報(bào)告的初步訓(xùn)練能力,我相信這些能力在我以后的工作或者是再學(xué)習(xí)中一定會(huì)起到不小的作用,一切的辛苦和艱難都是值得的。參考文獻(xiàn)2 楊剛,周群.電子系統(tǒng)設(shè)計(jì)與實(shí)踐.電子工業(yè)出版社.2004:18-23 3
28、41-347 118-1223 何立民.單片機(jī)高級(jí)教程(應(yīng)用與設(shè)計(jì)).北京:北京航空航天大學(xué)出版社,2000年.53984 涂時(shí)亮,張友德.單片微機(jī)控制技術(shù).清華大學(xué)出版社.1994:86-87 146-1475 融會(huì)貫通 Protel99電路設(shè)計(jì) 弘道工作室 北京 人民交通出版設(shè),2000.6 單片機(jī)原理及接口技術(shù)實(shí)驗(yàn) 朱定華 北京 北方交通大學(xué)出版社2002.11附1:源程序代碼RS BIT P2.0 ;定義液晶顯示端口標(biāo)號(hào)RW BIT P2.1E BIT P2.2;*L50MS EQU 60HL1MS EQU 61HL250MSEQU 62HSEC EQU 65HMIN EQU 64HH
29、OU EQU 63H;*org0000h ljmpmainORG000BHLJMPTT0ORG001BHLJMPT1INT org1000hmain: ;-;液晶初始化MOV SP,#70H MOV P0,#01H;清屏 CALL ENABLE MOV P0,#38H;8位,2行顯示 lCALL ENABLE MOV P0,#0FH;屏顯on,光標(biāo)on,閃爍on lCALL ENABLE MOV P0,#06H;計(jì)數(shù)地址加1,顯示幕on lCALL ENABLE;-內(nèi)存初始化 lcallinitil ;-key1:lcallkey lcallmodd ljmpkey1;-鍵盤掃描key: no
30、p nop lcallks jnzk1 ;有按鍵轉(zhuǎn)到K1 lcallkaiji lcallSOPxn: ljmpkeyk1: lcallmodd lcallmodd lcallks jnzk2 ljmpkeyk2: movR2,#0feh ;讀鍵盤 movR4,#00hk3: movA,R2 movP1,A movA,P1 JBACC.4,L1 ;為1跳轉(zhuǎn),第一行無(wú)按鍵 mova,#00h ljmplkL1: jbacc.5,L2 mova,#04h ljmplkL2: jbacc.6,L3 mova,#08h ljmplkL3: jbacc.7,next1 mova,#0ch;-lk: ad
31、da,R4 pushacck4: lcalldelay1 ;若同時(shí)有其他按鍵,則等待 lcallks jnzk4;- movr3,#07h clra movr0,#30h movr1,#31hmm1: mova,r1 movr0,a incr0 incr1 djnzr3,mm1 popacc movr0,a RET;-next1:incR4 ;-列掃描 mova,R2 JNBacc.3,n2 ljmpn1n2: ljmpkeyn1: rla movR2,a ljmpk3;-ks: mova,#0f0h ;判斷P1口 movP1,a nop nop mova,P1 cpla anla,#0f0h
32、 RET;-DELAY1: SETBRS0dl: movR5,#0ahdl2: movR6,#63dl3: nop nop djnzR6,dl3 djnzR5,dl2 CLRRS0 RET;- ;30H-37H初值為零;-initil: movr3,#08h movr0,#30hm1: movr0,#00h incr0 djnzr3,m1 RET;-;顯示 ;-modd: MOV P0,#8EH CALL ENABLE movA,37H movDPTR,#TABLE3 MOVCA,A+DPTR CALLWRITE2 RET;-;開機(jī)提示字;-kaiji: mova,37h cjnea,#0fh
33、,DFF MOV P0,#80H ;設(shè)光標(biāo)地址 CALL ENABLE MOV DPTR,#TABLE1;寫數(shù)據(jù) CALL WRITE1 DFF: RET;-;按鍵值播放歌曲;-SOP: mova,37h cjnea,#01h,A11 LCALLMODD MOV52H,#HIGH TABLE10 MOV53H,#LOW TABLE10 LCALLINITILE2 lcallMAIN0A11: CJNEA,#02H,A22 LCALLMODD MOV52H,#HIGH TABLE20 MOV53H,#LOW TABLE20 LCALLINITILE2 lcallMAIN0A22: CJNEA,#
34、03H,A33 LCALLMODD MOV52H,#HIGH TABLE30 MOV53H,#LOW TABLE30 LCALLINITILE2 lcallMAIN0 A33: CJNEA,#04H,A44 LCALLMODD MOV52H,#HIGH TABLE40 MOV53H,#LOW TABLE40 LCALLINITILE2 lcallMAIN0A44: CJNEA,#05H,A55 LCALLMODD MOV52H,#HIGH TABLE50 MOV53H,#LOW TABLE50 LCALLINITILE2 lcallMAIN0A55: CJNEA,#06H,A66 LCALLM
35、ODD MOV52H,#HIGH TABLE60 MOV53H,#LOW TABLE60 LCALLINITILE2 lcallMAIN0 A66: CJNEA,#07H,A77 LCALLMODD MOV52H,#HIGH TABLE70 MOV53H,#LOW TABLE70 LCALLINITILE2 lcallMAIN0 A77: CJNEA,#08H,A88 LCALLMODD MOV52H,#HIGH TABLE80 MOV53H,#LOW TABLE80 LCALLINITILE2 lcallMAIN0A88: CJNEA,#09H,A99 LCALLMODD MOV52H,#H
36、IGH TABLE90 MOV53H,#LOW TABLE90 LCALLINITILE2 lcallMAIN0 A99: CJNEA,#0AH,AAA LCALLMODD MOV52H,#HIGH TABLE100 MOV53H,#LOW TABLE100 LCALLINITILE2 lcallMAIN0 AAA: RET ;*INITILE2: MOVL50MS,#20 MOVL1MS,#00H MOVL250MS,#00H MOVSEC,#00H MOVMIN,#00H MOVHOU,#00H MOVA,HOU MOVB,#10 DIVAB ADDA,#30H ;將BCD嗎轉(zhuǎn)化為ASII
37、C碼 MOV P0,#0C8H ;顯示小時(shí)十位 CALL ENABLE CALL WRITE2 MOVA,B ADDA,#30H MOV P0,#0C9H ;顯示小時(shí)個(gè)位 CALL ENABLE CALLWRITE2 MOVA,#3AH MOV P0,#0DH ;顯示冒號(hào) CALL ENABLE CALLWRITE2 MOVA,MIN MOVB,#10 DIVAB ADDA,#30H MOV P0,#0CBH ;顯示分十位 CALL ENABLE CALLWRITE2 MOVA,B ADDA,#30H MOV P0,#0CCH ;顯示分個(gè)位 CALL ENABLE CALLWRITE2 MOV
38、A,#3AH MOV P0,#0CDH ;顯示冒號(hào) CALL ENABLE CALLWRITE2 MOVA,SEC MOVB,#10 DIVAB ADDA,#30H MOV P0,#0CEH ;顯示秒十位 CALL ENABLE CALLWRITE2 MOVA,B ADDA,#30H MOV P0,#0CFH ;顯示秒個(gè)位 CALL ENABLE CALLWRITE2 MOV P0,#0C0H ;設(shè)光標(biāo)地址 CALL ENABLE MOV DPTR,#TABLE2;寫數(shù)據(jù) CALL WRITE1 RET;*寫指令ENABLE:CLR RS CLR RW CLR E LCALL DELAY SE
39、TB E RET;*寫數(shù)據(jù)WRITE1:MOV R1,#00HA1: MOV A,R1 MOVC A,A+DPTR CALL WRITE2 INC R1 CJNE A,#0FEH,A1 ;未到字符串末尾繼續(xù) RETWRITE2:MOV P0,A SETB RS CLR RW CLR E CALL DELAY SETB E RET;*DELAY: MOV R4,#05D1: MOV R5,#0FFH DJNZ R5,$ DJNZ R4,D1 RET;-TAB: db 0c0h,0f9h,0a4h,0b0h,99h,92h,82h,0f8h db 80h,90h,88h,83h,0c6h,0a1h,86h,8ehTAB1: db 89h,86h,0c7h,0c7h,0c0h TAB2: db 0c6h,88h,0c0hTABLE1: DB WELCOM HERE,0FEHTABLE2: DB DFF WB ,0FEHTABLE
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年度人工智能醫(yī)療診斷系統(tǒng)開發(fā)與應(yīng)用合同
- 2025年度人工智能技術(shù)研發(fā)與應(yīng)用許可合同范本
- 2025年度專業(yè)旅游翻譯服務(wù)合同書
- 2025年度農(nóng)產(chǎn)品加工貨場(chǎng)租賃合同
- 2025年度城市公共交通智能調(diào)度系統(tǒng)采購(gòu)合同
- 2025年度新能源發(fā)電項(xiàng)目設(shè)備采購(gòu)合同集合
- 2025年度水資源綜合利用技術(shù)咨詢合同范本
- 2025年度建筑垃圾資源化利用項(xiàng)目施工勞務(wù)合同范本
- 2025年度建筑二次結(jié)構(gòu)施工勞務(wù)管理合同范本
- 2025年度綠色建筑節(jié)能改造工程合同樣板
- 2024-2030年山茶油行業(yè)市場(chǎng)發(fā)展分析及發(fā)展趨勢(shì)與規(guī)劃建議研究報(bào)告
- 彈性力學(xué)數(shù)值方法:解析法:彈性力學(xué)中的變分原理
- 高考英語(yǔ)經(jīng)常用的七百個(gè)詞匯
- 不定代詞用法總結(jié)及配套練習(xí)題
- 河南省鄧州市2023-2024學(xué)年八年級(jí)上學(xué)期期末語(yǔ)文試題
- JJG 976-2024透射式煙度計(jì)
- 半干法脫硫工藝
- 強(qiáng)基計(jì)劃自我陳述范文模板
- 林黛玉人物形象分析
- 網(wǎng)絡(luò)和信息安全教育課件
- 網(wǎng)絡(luò)輿情應(yīng)對(duì)處置培訓(xùn)課件
評(píng)論
0/150
提交評(píng)論