




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、 存檔編號 贛南師范學(xué)院學(xué)士學(xué)位論文基于12864液晶顯示的單片機(jī)音樂播放器教學(xué)學(xué)院 物理與電子信息學(xué)院 屆 別 2012屆 專 業(yè) 電子科學(xué)與技術(shù) 學(xué) 號 080803030 姓 名 周謨龍 指導(dǎo)教師 袁壽財 完成日期 2012年5月 目 錄摘要:1關(guān)鍵詞:1abstract:1keywords:21.緒論31.1 前言31.2 設(shè)計任務(wù)與要求32. 12864液晶概述42.1名稱含義42.2基本參數(shù)42.3電氣特性52.4液晶模組接口62.5基本用途:62.6應(yīng)用舉例73. at89s51 單片機(jī)概述83.1 at89s51 單片機(jī)的結(jié)構(gòu)83.1.1 管腳說明113.1.2 主要特性143
2、.1.3 振蕩器特性153.2 at89s51 單片機(jī)的工作周期163.3 at89s51 單片機(jī)的工作過程和工作方式173.4 stc12c5616ad224.方案設(shè)計224.1 系統(tǒng)概述224.2 總體設(shè)計244.3 系統(tǒng)硬件選擇244.4 硬件電路實(shí)現(xiàn)254.5 軟件的程序?qū)崿F(xiàn)265.結(jié)論335.1 主要結(jié)論33參考文獻(xiàn)35致 謝36附錄a:主函數(shù)和部分函數(shù)程序清單37a.1 主函數(shù)代碼37a.2 播放音樂部分函數(shù)代碼39a.3 lcd顯示部分函數(shù)代碼42a.4 音樂播放部分指令代碼49a.5 部分頭文件中包含的代碼51a.5.1 延時函數(shù)頭文件51a.5.2 音樂指令頭文件代碼51a.
3、5.3 lcd12864液晶頭文件代碼52摘要: 本次課程設(shè)計是基于stc12c5616ad系列的51單片機(jī)lcd12864液晶顯示的音樂播放器。通過單片機(jī)音樂播放器系統(tǒng)設(shè)計和研究,對于切實(shí)掌握單片機(jī)相關(guān)知識具有重要的理論和實(shí)際意義。這次設(shè)計的音樂播放器是軟件和硬件的結(jié)合,樂曲中不同的音符,實(shí)質(zhì)就是不同頻率的聲音。通過單片機(jī)產(chǎn)生不同的頻率的脈沖信號,經(jīng)過放大電路,由功放放出,就產(chǎn)生了美妙和諧的樂曲。根據(jù)各音階頻率算出定時器定時常數(shù),根據(jù)節(jié)拍給出該音階持續(xù)的時間,最終實(shí)現(xiàn)播放歌曲的功能。系統(tǒng)包括硬件和軟件兩個部分。硬件部分包括單片機(jī)控制電路,處理器采用stc51系列單片機(jī)stc12c5616ad
4、、lcd12864液晶顯示模塊、功放驅(qū)動放大電路、led控制電路等部分組成。軟件部分分為以下幾個模塊:12864驅(qū)動顯示、按鍵控制、播放模式和音樂播放等子程序。整個系統(tǒng)在軟件控制下工作的。關(guān)鍵詞:stc12c5616ad單片機(jī);音樂播放器;lcd12864 液晶顯示器abstract:the design is liquid crystal display music player that based on the stc12c5616ad series 51 microcontroller lcd12864.the design and research of microcontrolle
5、r music player system has important theoretical and practical implications for effective control about microcontroller knowledge. the design of the music player is a combination of software and hardware.the inssence of different notes in music isdifferent frequencies of sound. through the microcontr
6、oller to generate the pulse signals of different frequencies,by the use of the amplifier circuit, released by the amplifier to produce a wonderful and harmony music. calculated the timer tinming constant by the scale frequency,then given the sustained time of the scale according to beat,and eventual
7、ly achieve the function of playing a song.the system includes both hardware and software.hardwork,including microcontroller control circuit、the processor of stc51 series microcontroller stc12c5616ad、lcd12864 lcd modules、power amplifier driver amplifier circuit and led control circuit,etc.software,in
8、cluding 12 864 drivers、key control, playback mode and music player,etc. the entire system operation is under software control. keywords: stc12c5616ad microcontroller; music player; lcd12864 liquid crystal displayer1.緒論 1.1 前言幾千年來,各種樂器的發(fā)生無一不是依靠琴弦、簧片、哨片引起管柱震動而作為聲源。隨著現(xiàn)代電子技術(shù)的飛速發(fā)展,一種用新的聲源來制造音響的新型樂器脫穎而出,這
9、就是目前人么熟知的電子音樂播放器。目前市場上的音樂器形形色色,例如,大家熟悉的mp3,隨著電子技術(shù)的不斷發(fā)展,音樂播放器的發(fā)展也會進(jìn)一步發(fā)展。目前單片機(jī)的應(yīng)用滲透到我們生活各個領(lǐng)域,幾乎很難找到哪個領(lǐng)域沒有單片機(jī)的痕跡。導(dǎo)彈的導(dǎo)航裝置,飛機(jī)上各種儀表的控制,計算機(jī)的王若通訊與數(shù)據(jù)傳輸,工業(yè)自動化的實(shí)時控制和數(shù)據(jù)處理,廣泛使用的各種智能ic卡,民用豪華汽車的安全保障系統(tǒng),錄影機(jī)、攝像機(jī)、全自動洗衣機(jī)的控制,以及程控玩具,電子寵物等等,這些都離不開嵌入式,離不開單片機(jī)。本課題即使在這種背景下,對基于12864液晶顯示的51系列單片機(jī)音樂播放器的設(shè)計與實(shí)現(xiàn)進(jìn)行了軟硬件的設(shè)計,實(shí)現(xiàn)了單片機(jī)音樂播放器的
10、音樂演奏。1.2 設(shè)計任務(wù)與要求(1)該設(shè)計包括硬件和軟件設(shè)計兩個部分。模塊劃分為液晶顯示、按鍵控制控制、音樂播放和led顯示模塊子函數(shù)。(2)本系統(tǒng)設(shè)計由12864液晶模塊驅(qū)動、音樂播放、單片機(jī)控制電路、led控制電路及相關(guān)的控制管理軟件組成。(3)系統(tǒng)可實(shí)現(xiàn)功能:系統(tǒng)可存儲十幾首乃至幾十首自己喜歡的歌曲,由液晶顯示其歌名、播放模式和菜單。通過按鍵控制,播放歌曲。具有播放、暫停、停止、上一首、下一首的功能。播放模式可通過按鍵選擇常有的順序播放、循環(huán)播放、單曲循環(huán)和隨機(jī)播放。2. 12864液晶概述2.1名稱含義 12864是128*64點(diǎn)陣液晶模塊的點(diǎn)陣數(shù)簡稱,業(yè)界約定俗成的簡稱 2.2基本
11、參數(shù) 液晶屏類型: stn fstn 模塊顯示效果: 黃綠底黑字 藍(lán)底白字 白底黑字 視角: 6點(diǎn)鐘 12點(diǎn)鐘 驅(qū)動方式:1/64 duty 1/9 bias 背光: led白色 led黃綠色 控制器: ks0108或兼容 st7920 t6963c 數(shù)據(jù)總線 :8 位并口/6800 方式 串口 溫度特性 ;工作溫度:-20+70 儲藏溫度:-30+80 點(diǎn)陣格式 :128 x 64 2.3電氣特性 表2-1電氣特性項(xiàng)目符號最小典型最大單位電源電壓vdd-vss4.755.05.25v液晶驅(qū)動電壓vdd-vadjta=0-11.0-11.5-12.0ta=25-10.5-11.0-11.5ta
12、=50-10.0-10.5-11.0輸入信號電壓vih0.8 vdd-vdd+0.3vil0-0.2 vddlcm工作電流idd-38ma背光驅(qū)動電流iled-6080液晶驅(qū)動電流iee-1.0- 2.4液晶模組接口 表2-2液晶模組接口引腳序號名稱說 明1cs1#u1片選。2cs2#u2片選。3vss電源地。4vdd電源輸入(+5v)5v0液晶顯示對比度調(diào)節(jié)。6di數(shù)據(jù)輸入。7r/w讀寫選擇。r/w=1,讀狀態(tài)。r/w=0,寫狀態(tài)。8e讀寫使能。9-16d0-d7數(shù)據(jù)總線。17rst液晶模組復(fù)位。rst#=l,復(fù)位18vee液晶驅(qū)動電源 19vled+led電源正(5.0v)。20vled-
13、led電源地。2.5基本用途: 該點(diǎn)陣的屏顯成本相對較低,適用于各類儀器,小型設(shè)備的顯示領(lǐng)域。 2.6應(yīng)用舉例1、使用前的準(zhǔn)備先給模塊加上工作電壓,再按照下圖的連接方法調(diào)節(jié)lcd的對比度,使其顯示出黑色的底影。 此過程亦可以初步檢測lcd有無缺段現(xiàn)象。 2、字符顯示 帶中文字庫的128x64-0402b每屏可顯示4行8列共32個1616點(diǎn)陣的漢字,每個顯示ram可顯示1個中 文字符或2個168點(diǎn)陣全高ascii碼字符,即每屏最多可實(shí)現(xiàn)32個中文字符或64個ascii碼字符的顯示。帶中文字庫的128x64-0402b內(nèi)部提供1282字節(jié)的字符顯示ram緩沖區(qū)(ddram)。字符顯示是通過將字符顯
14、示編碼寫入該字符顯示ram實(shí)現(xiàn)的。根據(jù)寫入內(nèi)容的不同,可分別在液晶屏上顯示cgrom(中文字庫)、hcgrom(ascii碼字庫)及cgram(自定義字形)的內(nèi)容。三種不同字符/字型的選擇編碼范圍為:00000006h(其代碼分別是0000、0002、0004、0006共4個)顯示自定義字型,02h7fh顯示半寬ascii碼字符,a1a0hf7ffh顯示8192種gb2312中文字庫字形。字符顯示ram在液晶模塊中的地址80h9fh。字符顯示的ram的地址與32個字符顯示區(qū)域有著一一對應(yīng)的關(guān)系,其對應(yīng)關(guān)系如下表所示。 表2-3液晶模組接口80h 81h 82h 83h 84h 85h 86h
15、87h90h 91h 92h 93h 94h 95h 96h 97h88h 89h 8ah 8bh 8ch 8dh 8eh 8fh98h 99h 9ah 9bh 9ch 9dh 9eh 9fh2、圖形顯示先設(shè)垂直地址再設(shè)水平地址(連續(xù)寫入兩個字節(jié)的資料來完成垂直與水平的坐標(biāo)地址) 垂直地址范圍 ac5.ac0 ,水平地址范圍 ac3ac0 。繪圖ram 的地址計數(shù)器(ac)只會對水平地址(x 軸)自動加一,當(dāng)水平地址=0fh 時會重新設(shè)為00h 但并不會對垂直地址做進(jìn)位自動加一,故當(dāng)連續(xù)寫入多筆資料時,程序需自行判斷垂直地址是否需重新設(shè)定。 3、應(yīng)用說明 用帶中文字庫的128x64顯示模塊時應(yīng)
16、注意以下幾點(diǎn): 欲在某一個位置顯示中文字符時,應(yīng)先設(shè)定顯示字符位置,即先設(shè)定顯示地址,再寫入中文字符編碼。 顯示ascii字符過程與顯示中文字符過程相同。不過在顯示連續(xù)字符時,只須設(shè)定一次顯示地址,由模塊自動對地址加1指向下一個字符位置,否則,顯示的字符中將會有一個空ascii字符位置。 當(dāng)字符編碼為2字節(jié)時,應(yīng)先寫入高位字節(jié),再寫入低位字節(jié)。 模塊在接收指令前,向處理器必須先確認(rèn)模塊內(nèi)部處于非忙狀態(tài),即讀取bf標(biāo)志時bf需為“0”,方可接受新的指令。如果在送出一個指令前不檢查bf標(biāo)志,則在前一個指令和這個指令中間必須延遲一段較長的時間,即等待前一個指令確定執(zhí)行完成。指令執(zhí)行的時間請參考指令表
17、中的指令執(zhí)行時間說明?!皉e”為基本指令集與擴(kuò)充指令集的選擇控制位。當(dāng)變更“re”后,以后的指令集將維持在最后的狀態(tài),除非再次變更“re”位,否則使用相同指令集時,無需每次均重設(shè)“re”位。3. at89s51 單片機(jī)概述3.1 at89s51 單片機(jī)的結(jié)構(gòu) at89s51單片機(jī)是美國atmel公司生產(chǎn)低電壓,高性能cmos 8位單片機(jī),片內(nèi)含4k bytes的可反復(fù)擦寫的只讀程序存儲器(eprom)和128 bytes的隨機(jī)存取數(shù)據(jù)存儲器(ram),器件采用atmel公司的高密度、非易失性存取技術(shù)生產(chǎn),兼容標(biāo)準(zhǔn)mcs-51指令系統(tǒng),片內(nèi)置通用8位中央處理器(cpu)和flash 存儲單元,功
18、能強(qiáng)大。at89s51單片機(jī)可提供許多高性價比的應(yīng)用場合,可靈活應(yīng)用于各種控制領(lǐng)域。圖3-1為at89s51單片機(jī)的基本組成功能方塊圖。有圖可見,在這一塊芯片上,集成了一臺微型計算機(jī)的主要組成部分,其中包括cpu、存儲器、可編程i/o口、定時器/計數(shù)器、串行口等,各部分通過內(nèi)部總線相連。下面介紹幾個主要部分。 圖3-1 at89s51 功能方塊圖1. 中央處理器(cpu)中央處理器是單片機(jī)最核心的部分,是單片機(jī)的大腦和心臟,主要完成運(yùn)算和控制功能。at89s51的cpu是一個字長為8位的中央處理單元,即它對數(shù)據(jù)的處理是按字節(jié)為單位進(jìn)行的。2. 內(nèi)部數(shù)據(jù)存儲器(內(nèi)部ram) at89s51 中共
19、有256個ram單元,但其中能作為寄存器供用戶使用的僅有前面128個,后128個被專用寄存器占用。3. 內(nèi)部程序存儲器(內(nèi)部rom)at89s51 共有4 kb掩膜rom,用于存放程序、原始數(shù)據(jù)等。4. 定時器/計數(shù)器at89s51 共有2 個16 位的定時器/計數(shù)器,可以實(shí)現(xiàn)定時和計數(shù)功能。5. 并行i/o 口at89s51 共有4 個8 位的i/o口(p0、p1、p2、p3口),可以實(shí)現(xiàn)數(shù)據(jù)的并行輸入、輸出。6. 串行口at89s51有1 個全雙工的可編程串行口,以實(shí)現(xiàn)單片機(jī)和其他設(shè)備之間的串行數(shù)據(jù)傳送。7. 時鐘電路at89s51 單片機(jī)內(nèi)部有時鐘電路,但晶振和微調(diào)電容需要外接。時鐘電路
20、為單片機(jī)產(chǎn)生時鐘脈沖序列。8. 終端系統(tǒng)at89s51 的中斷系統(tǒng)功能較強(qiáng),可以滿足一般控制應(yīng)用的需要。它共有5 個中斷源:2 個外部中斷源/into和/int1 ;3 個內(nèi)部中斷源,即2個定時/計數(shù)中斷,1個串行口中斷。由上所述,at89s51雖然是一塊芯片,但它包括了構(gòu)成計算機(jī)的基本部件,因此可以說它是一臺簡單的計算機(jī)。at89s51 較詳細(xì)的內(nèi)部結(jié)構(gòu)如 圖 3-2 所示。圖 3-2 at89s51 內(nèi)部結(jié)構(gòu)框圖3.1.1 管腳說明atmel公司的at89s51是一種高效微控制器。采用40引腳雙列直插封裝(dip)形式,如圖3-3所示。at89s51單片機(jī)是高性能單片機(jī),因?yàn)槭芤_數(shù)目的限
21、制,所以有不少引腳具有第二功能。圖3-3 dip 封 裝 引 腳 圖 圖 3-4 smt 的 封 裝 圖 vcc:供電電壓。gnd:接地。p0口: p0口為一個8位漏級開路雙向i/o口,每腳可吸收8ttl門電流。當(dāng)p1口的管腳第一次寫1時,被定義為高阻輸入。p0能夠用于外部程序數(shù)據(jù)存儲器,它可以被定義為數(shù)據(jù)/地址的第八位。在fiash編程時,p0 口作為原碼輸入口,當(dāng)fiash進(jìn)行校驗(yàn)時,p0輸出原碼,此時p0外部必須被拉高。p1口: p1口是一個內(nèi)部提供上拉電阻的8位雙向i/o口,p1口緩沖器能接收輸出4ttl門電流。p1口管腳寫入1后,被內(nèi)部上拉為高,可用作輸入,p1口被外部下拉為低電平時
22、,將輸出電流,這是由于內(nèi)部上拉的緣故。在flash編程和校驗(yàn)時,p1口作為第八位地址接收。 p2口: p2口為一個內(nèi)部上拉電阻的8位雙向i/o口,p2口緩沖器可接收,輸出4個ttl門電流,當(dāng)p2口被寫“1”時,其管腳被內(nèi)部上拉電阻拉高,且作為輸入。并因此作為輸入時,p2口的管腳被外部拉低,將輸出電流。這是由于內(nèi)部上拉的緣故。p2口當(dāng)用于外部程序存儲器或16位地址外部數(shù)據(jù)存儲器進(jìn)行存取時,p2口輸出地址的高八位。在給出地址“1”時,它利用內(nèi)部上拉優(yōu)勢,當(dāng)對外部八位地址數(shù)據(jù)存儲器進(jìn)行讀寫時,p2口輸出其特殊功能寄存器的內(nèi)容。p2口在flash編程和校驗(yàn)時接收高八位地址信號和控制信號。p3口:p3口
23、管腳是8個帶內(nèi)部上拉電阻的雙向i/o口,可接收輸出4個ttl門電流。當(dāng)p3口寫入“1”后,它們被內(nèi)部上拉為高電平,并用作輸入。作為輸入,由于外部下拉為低電平,p3口將輸出電流(ill)這是由于上拉的緣故。p3口也可作為at89s51的一些特殊功能口,如下表所示:p3口管腳 備選功能p3.0 rxd(串行輸入口)p3.1 txd(串行輸出口)p3.2 /int0(外部中斷0)p3.3 /int1(外部中斷1)p3.4 t0(記時器0外部輸入)p3.5 t1(記時器1外部輸入)p3.6 /wr(外部數(shù)據(jù)存儲器寫選通)p3.7 /rd(外部數(shù)據(jù)存儲器讀選通)p3口同時為閃爍編程和編程校驗(yàn)接收一些控制
24、信號。rst:復(fù)位輸入。當(dāng)振蕩器復(fù)位器件時,要保持rst腳兩個機(jī)器周期的高電平時間。ale/prog:當(dāng)訪問外部存儲器時,地址鎖存允許端的輸出電平用于鎖存地址的地址字節(jié)。在flash編程期間,此引腳用于輸入編程脈沖。在平時,ale端以不變的頻率周期輸出正脈沖信號,此頻率為振蕩器頻率的1/6。因此它可用作對外部輸出的脈沖或用于定時目的。然而要注意的是:每當(dāng)用作外部數(shù)據(jù)存儲器時,將跳過一個ale脈沖。如想禁止ale的輸出可在sfr8eh地址上置0。此時, ale只有在執(zhí)行movx,movc指令是ale才起作用。另外,該引腳被略微拉高。如果微處理器在外部執(zhí)行狀態(tài)ale禁止,置位無效。/psen:外部
25、程序存儲器的選通信號端。在由外部程序存儲器取指期間,每個機(jī)器周期兩次/psen有效。但在訪問外部數(shù)據(jù)存儲器時,這兩次有效的/psen信號將不出現(xiàn)。/ea/vpp:當(dāng)/ea保持低電平時,則在此期間外部程序存儲器(0000h-ffffh),不管是否有內(nèi)部程序存儲器。注意加密方式1時,/ea將內(nèi)部鎖定為reset;當(dāng)/ea端保持高電平時,此間內(nèi)部程序存儲器。在flash編程期間,此引腳也用于施加12v編程電源(vpp)。xtal1:反向振蕩放大器的輸入及內(nèi)部時鐘工作電路的輸入。xtal2:來自反向振蕩器的輸出。3.1.2 主要特性與mcs-51 兼容 4k字節(jié)可編程閃爍存儲器 壽命:1000寫/擦循
26、環(huán)數(shù)據(jù)保留時間:10年全靜態(tài)工作:0hz-24hz三級程序存儲器鎖定128*8位內(nèi)部ram32可編程i/o線兩個16位定時器/計數(shù)器5個中斷源 可編程串行通道低功耗的閑置和掉電模式片內(nèi)振蕩器和時鐘電路 3.1.3 振蕩器特性(1)xtal1和xtal2分別為反向放大器的輸入和輸出。該反向放大器可以配置為片內(nèi)振蕩器,如圖3-5所示。石晶振蕩和陶瓷振蕩均可采用。如采用外部時鐘源驅(qū)動器件,xtal2應(yīng)不接。有余輸入至內(nèi)部時鐘信號要通過一個二分頻觸發(fā)器,因此對外部時鐘信號的脈寬無任何要求,但必須保證脈沖的高低電平要求的寬度。圖3-5 晶體振蕩器電路圖及出腿連接示意圖(2) 芯片擦除 整個eprom陣列
27、和三個鎖定位的電擦除可通過正確的控制信號組合,并保持ale管腳處于低電平10ms 來完成。在芯片擦除操作中,代碼陣列全被寫“1”且在任何非空存儲字節(jié)被重復(fù)編程以前,該操作必須被執(zhí)行。此外,at89c51設(shè)有穩(wěn)態(tài)邏輯,可以在低到零頻率的條件下靜態(tài)邏輯,支持兩種軟件可選的掉電模式。在閑置模式下,cpu停止工作。但ram,定時器,計數(shù)器,串口和中斷系統(tǒng)仍在工作。在掉電模式下,保存ram的內(nèi)容并且凍結(jié)振蕩器,禁止所用其他芯片功能,直到下一個硬件復(fù)位為止。3.2 at89s51 單片機(jī)的工作周期單片機(jī)有了硬件和軟件就可以在控制器發(fā)出的控制信號作用下有條不紊地工作,控制信號必須定時發(fā)出,為了定時計算機(jī)內(nèi)部
28、必須有一個準(zhǔn)確的定時脈沖。這種定時脈沖是由晶體振蕩器產(chǎn)生的,并組成下面幾種工作周期,如圖3-6所示。圖 3-6 振蕩周期、狀態(tài)周期、機(jī)器周期和指令周期振蕩周期:是指為單片機(jī)提供時鐘脈沖信號的振蕩源的周期。 即由單片機(jī)的晶體振蕩器產(chǎn)生的時鐘脈沖的周期。狀態(tài)周期:每個狀態(tài)周期為振蕩周期的 2 倍, 是振蕩周期經(jīng)二分頻后得到的。在一個狀態(tài)周期中有兩個時鐘脈沖,通常稱它為p1、p2。機(jī)器周期:一個機(jī)器周期包含 6 個狀態(tài)周期s1s6, 也就是 12 個振蕩周期。在一個機(jī)器周期內(nèi), cpu可以完成一個獨(dú)立的操作。 指令周期:它是指cpu完成一條操作所需的全部時間??刂撇考菃纹瑱C(jī)的神經(jīng)中樞,以主振頻率為
29、基準(zhǔn)(主振周期即為振蕩周期),控制器控制cpu的時序,對指令進(jìn)行譯碼,然后發(fā)出各種控制信號,它將各個硬件環(huán)節(jié)組織在一起。一般情況下,算術(shù)邏輯操作發(fā)生在時相p1期間,而內(nèi)部寄存器之間的傳送發(fā)生在時相p2期間,這些內(nèi)部時鐘信號無法從外部觀察,故用xtal2引腳振蕩信號作參考。3.3 at89s51 單片機(jī)的工作過程和工作方式單片機(jī)工作過程遵循現(xiàn)代計算機(jī)的工作原理(馮諾依曼原理),即程序存儲和程序控制。存儲程序是指人們必須事先把計算機(jī)的執(zhí)行步驟序列(即程序)及運(yùn)行中所需的數(shù)據(jù), 通過一定的方式輸入并存儲在計算機(jī)的存儲器中。程序控制是指計算機(jī)能自動地逐一取出程序中的指令,加以分析并執(zhí)行規(guī)定的操作。 單
30、片機(jī)的工作方式有:復(fù)位、程序執(zhí)行、掉電保護(hù)和低功耗、編程、校驗(yàn)與加密等方式。1復(fù)位方式通過某種方式, 使單片機(jī)內(nèi)各寄存器的值變?yōu)槌跏紶顟B(tài)的操作稱為復(fù)位。復(fù)位方式是單片機(jī)的初始化操作。單片機(jī)除了正常的初始化外,當(dāng)程序運(yùn)行出錯或由于操作錯誤而使系統(tǒng)處于死循環(huán)時,也需要按復(fù)位鍵重啟機(jī)器。mcs51單片機(jī)復(fù)位后, 程序計數(shù)器pc和特殊功能寄存器復(fù)位的狀態(tài)如圖3-7所示。 復(fù)位不影響片內(nèi)ram存放的內(nèi)容, 而ale、在復(fù)位期間將輸出高電平。由圖3-7 可以看出,復(fù)位后:(1)(pc)=0000h 表示復(fù)位后程序的入口地址為0000h,即單片機(jī)復(fù)位后從0000h單元開始執(zhí)行程序;(2)(psw)=00h,
31、 其中rs1(psw.4)=0,rs0(psw.3)=0,表示復(fù)位后單片機(jī)選擇工作寄存器0組;(3)(sp)=07h 表示復(fù)位后堆棧在片內(nèi)ram的08h單元處建立;(4) p0口p3口鎖存器為全1狀態(tài),說明復(fù)位后這些并行接口可以直接作輸入口,無須向端口寫1。定時器/計數(shù)器、串行口、中斷系統(tǒng)等特殊功能寄存器復(fù)位后的狀態(tài)對各功能部件工作狀態(tài)的影響。 能部件工作狀態(tài)的影響。 圖 3-7 pc與sfr復(fù)位狀態(tài)表單片機(jī)在時鐘電路工作以后, 在rst/vpd端持續(xù)給出2個機(jī)器周期的高電平時就可以完成復(fù)位操作。例如使用晶振頻率為12mhz時,則復(fù)位信號持續(xù)時間應(yīng)不小于2us。復(fù)位方法一般有上電自動復(fù)位和外部
32、按鍵手動復(fù)位以及“看門狗”復(fù)位三種類型。前兩種見 圖3-8所示。 “看門狗”電路則是一種集成有單片機(jī)的電源監(jiān)測、按鍵復(fù)位以及對程序運(yùn)行進(jìn)行監(jiān)控,防止程序“跑飛”而出現(xiàn)死機(jī)而設(shè)計的電路。圖3-8 (a)上電復(fù)位電路; (b)上電/外部復(fù)位電路2程序執(zhí)行方式程序執(zhí)行方式是單片機(jī)的基本工作方式。由于復(fù)位后pc=0000h,因此程序執(zhí)行總是從地址0000h開始,為此就得在0000h處開始的存儲單元安放一條無條件轉(zhuǎn)移指令,以便跳轉(zhuǎn)到實(shí)際程序的入口去執(zhí)行。3待機(jī)方式待機(jī)方式也稱空閑方式,是一種節(jié)電工作方式。在待機(jī)工作方式中,振蕩器保持工作,時鐘脈沖繼續(xù)輸出到中斷、串行口、定時器等功能部件,使它們繼續(xù)工作,
33、但時鐘脈沖不再送到cpu,因而cpu停止工作。4掉電方式掉電方式,也被稱為停機(jī)方式。在掉電方式中,振蕩器工作停止,單片機(jī)內(nèi)部所有功能部件停止工作。它同樣是一種為降低功耗而設(shè)計的節(jié)電工作方式。待機(jī)方式和掉電方式都是為了進(jìn)一步降低功耗而設(shè)計的節(jié)電工作方式,它們特別適合于電源功耗要求很低的應(yīng)用場合。這類系統(tǒng)往往是直流供電或停電時依靠備用電源供電,以維持系統(tǒng)的持續(xù)工作。chmos型單片機(jī)的節(jié)電方式是由特殊功能寄存器pcon控制,其具體使用可參考相關(guān)書籍和手冊。空閑和掉電模式外部引腳狀態(tài) 如下圖 3-9 所示:圖 3-9 空閑和掉電模式外部引腳狀態(tài) 5. 編程和校驗(yàn)方式對于內(nèi)部集成有eprom可以進(jìn)入編
34、程或校驗(yàn)方式。(1)內(nèi)部eprom編程編程時,時鐘頻率應(yīng)定在3-6mhz的范圍內(nèi),其余各有關(guān)引腳的接法和用法如下:p1口和p2口的p2.0p2.3為eprom的4k地址輸入,p1為8位地址;p2.4p2.6以及psen應(yīng)為低電平;p0口為編程數(shù)據(jù)輸入;p2.7和rst應(yīng)為高電平;rst的高電平可為2.5v,其余的都以ttl的高低電平為準(zhǔn);ea/vpp端加+21v的編程脈沖,此電壓要求穩(wěn)定,不能大于21.5v,否則會損壞eprom在出現(xiàn)正脈沖期間,ale/prog端加上50ms的負(fù)脈,完成一次寫入。(2)eprom程序校驗(yàn)在程序的保險位未設(shè)置前,無論在寫入的當(dāng)時或?qū)懭胍院螅蓪⑵铣绦虼尜A器的
35、內(nèi)容讀出進(jìn)行檢驗(yàn),在讀出時,除p2.7腳保持為ttl低電平之外,其他引腳與寫入eprom的連接方式相同。要讀出的程序存貯器單元地址由p1口和p2口的p2.0p2.3送入,p2口的其他引腳及保持低電平,ale、ea和rst接高電平,檢驗(yàn)的單元內(nèi)容由p0口送出。在檢驗(yàn)操作時,需在p0的各位外部加上電阻10k。(3)程序存貯器的保險位at89s51內(nèi)部有一個保險位,亦稱保密位,一旦將該位寫入便建立了保險,就可禁止任何外部方法對片內(nèi)程序存貯器進(jìn)行讀寫。將保險位寫入以建立保險位的過程與正常寫入的過程相似,僅只p2.6腳要加ttl高電平而不是像正常寫入時加低電平,而p0、p1和p2的p2.0p2.3的狀態(tài)
36、隨意,加上編程脈沖后就可使保險位寫入。保險位一旦寫入,內(nèi)部程序存貯器便不能再被寫入和讀出校驗(yàn),而且也不能執(zhí)行外部存貯器的程序。只有將eprom全部擦除時,保險位才能被一起擦除,也才可以再次寫入。通過以上對單片機(jī)硬件系統(tǒng)的簡單介紹,應(yīng)該已經(jīng)掌握了單片機(jī)的內(nèi)部結(jié)構(gòu)及工作的原理和過程,但是單片機(jī)要實(shí)現(xiàn)它的強(qiáng)大控制功能特性,只有硬件是不能工作的,還必須依靠它的指令才能發(fā)揮單片機(jī)的強(qiáng)大作用。下面介紹單片機(jī)的指令系統(tǒng)。3.4 stc12c5616ad 此單片機(jī)不僅具有at89s51單片機(jī)的所有功能,而且還具有1個時鐘/機(jī)器周期,飛思卡爾芯片解密,增強(qiáng)型8051內(nèi)核,速度比普通8051快812倍,本系統(tǒng)使用
37、其做設(shè)計,不僅因?yàn)樗挥?8腳所占空間較小,而且其內(nèi)部flash為16k,非常適合設(shè)計所需。以下為stc12c5616ad 引腳圖。圖 3-10 stc12c5616ad 引腳圖。4.方案設(shè)計4.1 系統(tǒng)概述本系統(tǒng)采用功放作為發(fā)生裝置,其聲音效果是蜂鳴器無法相比的,而用12864是為了操作者更能直觀的對自己所喜歡的音樂進(jìn)行播放。 該設(shè)計包括硬件和軟件設(shè)計兩個部分。模塊劃分為lcd顯示、按鍵控制、播放音樂和led顯示等模塊子函數(shù)。電路結(jié)構(gòu)做成可劃分為:12864液晶控制電路、單片機(jī)控制電路、led控制電路,功放放大電路及相關(guān)的控制管理軟件組成。用戶終端完成按鍵處理、音樂播放、音樂存儲、本地顯示等
38、功能。就此設(shè)計的核心模塊來說,單片機(jī)就是設(shè)計的中心單元,所以此系統(tǒng)也是單片機(jī)應(yīng)用系統(tǒng)的一種應(yīng)用。單片機(jī)應(yīng)用系統(tǒng)也是有硬件和軟件組成。硬件包括單片機(jī)、輸入/輸出設(shè)備、以及外圍應(yīng)用電路等組成的系統(tǒng),軟件是各種工作程序的總稱。單片機(jī)應(yīng)用系統(tǒng)的研制過程包括總體設(shè)計、硬件設(shè)計、軟件設(shè)計、在線調(diào)試等幾個階段,就本設(shè)計來說也包括這些過程。它們的進(jìn)程框圖如圖4-1 所示。圖 4-1 單片機(jī)應(yīng)用系統(tǒng)研制過程框圖4.2 總體設(shè)計從設(shè)計的要求來分析該設(shè)計須包含如下結(jié)構(gòu):功放驅(qū)動電路、lcd顯示電路、單片機(jī)、晶振電路、復(fù)位電路、led顯示控制電路按鍵控制及相關(guān)的控制管理軟件組成;它們之間的構(gòu)成框圖如圖4-2總體設(shè)計框
39、圖所示:圖4-2 總體設(shè)計框圖處理器采用51系列單片機(jī)stc12c5616ad。整個系統(tǒng)是在系統(tǒng)軟件控制下工作的。本系統(tǒng)硬件電路先對來說較簡單,這樣節(jié)約了設(shè)計成本,主要還是靠軟件來實(shí)現(xiàn),通過模塊化編程,把每一個部分都通過模塊化來實(shí)現(xiàn),這樣在調(diào)用時相對簡單,更方便音樂的修改。4.3 系統(tǒng)硬件選擇從以上的分析可知在本設(shè)計中要用到如下器件: stc12c5616ad、12864液晶驅(qū)動、led、按鍵、功放等一些單片機(jī)外圍應(yīng)用電路,以及單片機(jī)的手工復(fù)位電路和晶振電路等等。系統(tǒng)所需元件如下頁所示。表4-1元器件清單見下表:編號名稱型號數(shù)量r5電阻3301r1、r2、r3、電阻10k3r4電位器10k1c
40、1、c2電容30pf2c3 (極性)電容10uf1d1發(fā)光二極管led1q1、q2三極管9015/80502u1 集成電路stc12c5616ad1 y1石英晶振12mhz1s1s5按鍵輕觸按鍵5ls1、ls2功放8r2jp120p12864插座1usb電源線電源線5.5*2.1128pic底座28p1lcd12864lcd12864模塊模塊14.4 硬件電路實(shí)現(xiàn)經(jīng)分析本設(shè)計的電路原理圖如下圖4-3所示圖4-3 基于12864液晶顯示的單片機(jī)音樂播放器設(shè)計4.5 軟件的程序?qū)崿F(xiàn)按上述工作原理和硬件結(jié)構(gòu)分析可知系統(tǒng)主程序工作流程圖如下圖4-4所示;圖4-4 主程序工作流程圖本主程序?qū)崿F(xiàn)的功能是:
41、先存入自己想要的歌曲以數(shù)組的方式存放到單片機(jī)中,同時以菜單的方式用126864液晶顯示出歌名,播放模式。通過按鍵選擇播放的曲目,播放模式(隨即,循環(huán),單曲,順序)播放,暫停等方式。以下附上主函數(shù)程序清單#includereg52.h /調(diào)用頭文件#includemusiccode.h /調(diào)用音樂代碼頭文件#include lcd12864.h /調(diào)用液晶顯示頭文件#includestdlib.h /調(diào)用頭文件,產(chǎn)生隨機(jī)數(shù)用#include /調(diào)用頭文件,輸入輸出頭文件char oldcur=0,oldmode=0,oldsplay=0;void main() timerinit(); /定時器
42、初始化 init_12864(); /12864液晶初始化 cgram(); /寫入自定義字符 play(jintian,10); tr1 = tr0 = 0; curr = 0; /默認(rèn)選中第一首 displayupdata(); /液晶顯示更新 while(1) key_select(); / 按鍵選擇函數(shù) if(oldmode!=mode) /判斷播放模式是否改變 oldmode=mode; displayupdata(); /液晶顯示更新 if(oldcur != curr ) /判斷選中歌曲是否改變 oldcur=curr; displayupdata(); /液晶顯示更新 swit
43、ch(curr) /判斷選中歌曲 case 0: play(jintian,10); / 今天 break; case 1:play(bingyu,7); /冰雨 break; case 2:play(zhu,5); / 豬八戒背媳婦 break; case 3:play(xingyue,8); /星月神話 break; case 4:play(qingzang,8); /青藏高原 break; case 5:play(liang,5); /梁祝 break; case 6:play(qiannv,4); /倩女幽魂 break; case 7:play(huanghun,5); /黃昏 br
44、eak; case 8:play(red,8);/紅河谷 break; case 9:play(fause,8); /錯錯錯 break; case 10:play(ting,6); /聽聽我的心) break; case 11:play(bas,1); /簡譜 break; case 12:play(yinxing,6);/隱形的翅膀 break;default :tr1 = tr0 = 0;break; 注:各功能函數(shù)清單見附錄a。 所編寫的程序,通過keil 編譯軟件已經(jīng)編譯通過,同時運(yùn)行效果已經(jīng)通過仿真軟件proteus仿真,可以達(dá)到預(yù)定設(shè)計的目的,仿真效果圖如下圖4-5所示 ;圖4-
45、5 結(jié)果仿真效果圖 通過仿真圖可以看出,該設(shè)計程序的結(jié)果達(dá)到了預(yù)期的目的,通過多次調(diào)試和修改,且在程序設(shè)計過程中應(yīng)考慮到各方面的干擾以及輸入輸出信號在工作中的不穩(wěn)定因素,都應(yīng)該在程序設(shè)計或硬件外圍電路中對這些干擾和不穩(wěn)定因素進(jìn)行消除和穩(wěn)定。本設(shè)計在設(shè)計過程中,應(yīng)該考慮的問題和因素都已經(jīng)進(jìn)行了對應(yīng)的處理,所以,一些隱患在設(shè)計過程中都已經(jīng)消除了,根據(jù)仿真實(shí)現(xiàn)了設(shè)計功能,同時,根據(jù)原理圖作出相應(yīng)的pcb圖,如圖4-6所示; 圖4-6 系統(tǒng)pcb效果圖根據(jù)pcb圖做出電路板,按照pcb圖的線路元器件的連接即可焊接出報警器成品,然后對焊接后的成品進(jìn)行修正、測試,可以達(dá)到預(yù)期的目的。系統(tǒng)可根據(jù)用戶不同的選
46、擇來播放出不同的美妙的音樂。 5.結(jié)論5.1 主要結(jié)論本課題研究設(shè)計了一種基于單片機(jī)技術(shù)的液晶顯示單片機(jī)音樂播放器。該防播放器通過以stc12c5616ad單片機(jī)為工作處理器核心,外接lcd12864顯示模塊,它是一種新穎的顯示模塊。一般來說,單片機(jī)演奏音樂基本都是單音頻率,它不包含相應(yīng)幅度的諧波頻率。因此,單片機(jī)奏樂只需弄清楚兩個概念,就是“音調(diào)”和“節(jié)拍”。音調(diào)表示一個音符唱多高的頻率,節(jié)拍表示一個音符唱多長時間。知道了一個音符的頻率后,怎么讓單片機(jī)發(fā)錯相應(yīng)頻率的聲音呢?一般來說,常采用的方法就是通過單片機(jī)的定時器定時中斷,將單片機(jī)上對應(yīng)功放的i/o口來回取反,或者來回清零,置位,從而讓蜂
47、鳴器發(fā)出聲音,為了讓單片機(jī)發(fā)出不同頻率的聲音,我們只需將定時器置不同的定時值就可實(shí)現(xiàn)。在單片機(jī)上控制一個音符多長可采用循環(huán)延時的方法實(shí)現(xiàn)。首先,卻思確定一個基本時長的延時程序,比如說以十六分音符的時長為基本延時時間,對于一個音符,如果它為十六分音符,只需調(diào)用一次延時程序,如果它為八分音符,只需調(diào)用兩次延時程序,一次類推 具體實(shí)現(xiàn)方法為:將樂譜中的每個音符的音調(diào)及節(jié)拍變換成對應(yīng)的音調(diào)參數(shù)和節(jié)拍參數(shù),將他們做成數(shù)據(jù)表格,存放在存儲器中,通過程序取出一個音符的相關(guān)參數(shù),播放該音符,該音符唱完后,接著取出下一個音符的相關(guān)參數(shù),如此直到播放完畢最后一個音符,根據(jù)需要也可循環(huán)不停的播放整個樂曲。另外,對于
48、樂曲中餓休止符,一般將其音調(diào)參數(shù)設(shè)為ffh,其節(jié)拍參數(shù)與其他音符的節(jié)拍參數(shù)確定方法一致,樂曲結(jié)束用節(jié)節(jié)拍參數(shù)為00h來表示。經(jīng)過幾天的努力,我的畢業(yè)設(shè)計終于完成了。這次的設(shè)計不僅是對前面所學(xué)知識的一種檢驗(yàn),而且也是對自己能力的一種提高。通過這次畢業(yè)設(shè)計我明白了自己原來知識還比較欠缺。自己要學(xué)習(xí)的東西還太多,以前老是覺得自己什么東西都會,什么東西都懂,有點(diǎn)眼高手低。現(xiàn)在,我才明白學(xué)習(xí)是一個長期積累的過程,在以后的工作和學(xué)習(xí)中都應(yīng)該不斷地學(xué)習(xí),努力提高自己的知識和綜合素質(zhì)。知識必須通過應(yīng)用才能實(shí)現(xiàn)其價值。有些東西以為學(xué)會了,但真正到用的時候才發(fā)現(xiàn)時兩回事,所以我認(rèn)為只有到真正會用的時候才是真正學(xué)會
49、了。在整個設(shè)計中我懂得了許多東西,也培養(yǎng)了我獨(dú)立工作的能力,樹立了對自己動作能力的信心,相信會對今后的學(xué)習(xí)有非常重要的影響。而且大大提高了動手的能力,使我充分體會到了在創(chuàng)造過程中探索的艱難和成功時的喜悅。雖然這個設(shè)計做的不是太好,但是在設(shè)計過程中所學(xué)到的東西是這次畢業(yè)設(shè)計的最大收獲和財富,使我終身受益。參考文獻(xiàn)1王幸之等. at89系列單片機(jī)原理與接口技術(shù).北京航空航天大學(xué)出版社,2004:278-2822me500單片機(jī)綜合開發(fā)系統(tǒng)用戶手冊全冊. 南京偉納電子有限責(zé)任公司,2006:1-432 3童詩白,華成英. 模擬電子技術(shù)基礎(chǔ). 高等教育出版社,2001:1-6144閻石.數(shù)字電子技術(shù)基
50、礎(chǔ).高等教育出版社,2005:308-3555王港元. 電工電子實(shí)踐指導(dǎo).江西科學(xué)技術(shù)出版社,2006:1-3806鄔寬明. 單片機(jī)外圍器件實(shí)用手冊:數(shù)據(jù)傳輸接口器件分冊. 北京航空航天大學(xué)出版社,1998:1-5787張大明. 單片微機(jī)控制應(yīng)用技術(shù).機(jī)械工業(yè)出版社,2006:1-5188電子制作2005年合訂本. 北京電子制作雜志社. 2005:1-3699范風(fēng)強(qiáng),蘭嬋麗.單片機(jī)語言51應(yīng)用實(shí)戰(zhàn)集棉.2006:1-46010贛南師院物電學(xué)院電子設(shè)計指導(dǎo)組,全國大學(xué)生電子設(shè)計賽訓(xùn)練教程.2003:1-34611謝自美.電子線路設(shè)計 實(shí)驗(yàn) 測試(第三版).華中科技大學(xué)出版社,2006:1-250
51、12薛均義、張彥斌. mcs-51 系列單片微型計算機(jī)及其應(yīng)用.-西安:西安交通大學(xué)出版社 2005.113樓然苗.51系列單片機(jī)設(shè)計實(shí)例.北京:北京航空航天大學(xué)出版社2006.414黃智偉.傳感器應(yīng)用設(shè)計實(shí)例制作.北京:電子工業(yè)出版社 2006.4致 謝本篇論文雖然凝聚著自己的汗水,但卻不是個人智慧的產(chǎn)品,沒有導(dǎo)師的指引和贈予,沒有父母和朋友的幫助和支持,沒有四年里物電學(xué)院各位老師對我的教導(dǎo)肯定會大打折扣,當(dāng)我完成最后一個字符,涌上心頭的不是長途跋涉后抵達(dá)終點(diǎn)的欣喜,而是源自心底的誠摯謝意。首先我要感謝我的導(dǎo)師袁壽財老師,袁博士嚴(yán)謹(jǐn)?shù)闹螌W(xué)態(tài)度,淵博的專業(yè)知識,忘我的工作精神和對學(xué)生盡職盡責(zé)的教導(dǎo)都給我留下了十分深刻的印象。此外,袁博士對我的構(gòu)思以及論文的內(nèi)容不厭其煩的進(jìn)行了多次知道和悉心指點(diǎn),使我在完成論文的同時也深受啟發(fā)和教育,他將是我終生的榜樣。在此向袁壽財老師致以最誠摯的謝意和最衷心的祝福。其次要感謝贛南師院物電學(xué)院各位老師一直以來的教導(dǎo),使我具備了扎實(shí)的專業(yè)基礎(chǔ)知識和較強(qiáng)的實(shí)踐動手能力!還要感謝一
溫馨提示
- 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年軟件工程師職業(yè)考題及答案
- 2025年市場調(diào)查與分析考試題及答案
- 2025年投資項(xiàng)目評估與管理考試題及答案
- 2025年工業(yè)機(jī)器人應(yīng)用技術(shù)職業(yè)資格考試卷及答案
- 2025年高校計算機(jī)基礎(chǔ)課程試題及答案
- 2025年地質(zhì)災(zāi)害防治與管理考試試卷及答案
- 2025年法律職業(yè)資格考試試題及答案
- 2025年互聯(lián)網(wǎng)工程師考試試題及答案
- 2025年環(huán)境心理學(xué)領(lǐng)域職業(yè)資格認(rèn)證考試試卷及答案
- 2025年急救與應(yīng)急救護(hù)專業(yè)考試題及答案
- 鄭麗玲《彩墨游戲》說課x 課件
- 重點(diǎn)中成藥品種含瀕危野生動物藥材調(diào)查表
- 2016年社區(qū)獲得性肺炎(CAP)指南解讀與抗生素應(yīng)用
- 預(yù)應(yīng)力混凝土連續(xù)梁張拉記錄
- GB/T 41028-2021航空航天流體系統(tǒng)液壓軟管、管道和接頭組件的脈沖試驗(yàn)要求
- 化工環(huán)境保護(hù)與及安全技術(shù)概論考試題及答案
- 領(lǐng)退轉(zhuǎn)款賬戶確認(rèn)書
- 精益生產(chǎn)精管理培訓(xùn)課件
- 鉗工技能-刮削與研磨課件
- 浙大中控DCS系統(tǒng)AdvanTrol-Pro軟件培訓(xùn)-編程綜合編程案例課件
- 2021版《安全生產(chǎn)法》培訓(xùn)課件
評論
0/150
提交評論