單片機(jī)數(shù)字音樂盒課程設(shè)計_第1頁
單片機(jī)數(shù)字音樂盒課程設(shè)計_第2頁
單片機(jī)數(shù)字音樂盒課程設(shè)計_第3頁
單片機(jī)數(shù)字音樂盒課程設(shè)計_第4頁
單片機(jī)數(shù)字音樂盒課程設(shè)計_第5頁
已閱讀5頁,還剩20頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

1、課程設(shè)計說明書 第I頁數(shù)字音樂盒的設(shè)計摘 要隨著人類社會的發(fā)展,人們對視覺、聽覺方面的享受提出了越來越高的要求。小小的音樂盒可以給人們帶來美好的回憶,提高人們的精神文化享受。傳統(tǒng)音樂盒,多是機(jī)械型的,體積笨重,發(fā)音單調(diào),不能實(shí)現(xiàn)批量生產(chǎn)。本設(shè)計是一個基于AT89C51系列單片機(jī)的音樂盒。該音樂盒主要由按鍵電路、復(fù)位電路、時鐘電路、顯示電路以及蜂鳴器組成。使用四個按鍵控制音樂盒,其中兩個按鍵用來控制歌曲的播放、暫停,另兩個用來控制液晶上歌曲次序的變化,本音樂盒共有三首歌曲。播放歌曲時,相應(yīng)歌曲對應(yīng)相應(yīng)數(shù)碼管上歌曲次序及歌名的顯示。關(guān)鍵詞: AT89C51,蜂鳴器,LCD 液晶顯示 課程設(shè)計說明書

2、 第II頁目 錄1 緒論.41.1 課題描述 .41.2 基本工作原理及框圖 .42 相關(guān)芯片及硬件電路設(shè)計.42.1 AT89C51 芯片.42.1.1 AT89C51 的功能特性.52.1.2 AT89C51 的主要性能參數(shù).52.2 晶振電路 .62.3 復(fù)位電路 .62.4 驅(qū)動電路 .72.4.1 蜂鳴器.82.4.2 續(xù)流二極管.82.4.3 濾波電容.82.4.4 三極管.82.5 顯示電路 .92.5.1 線段的顯示.92.5.2 字符的顯示.92.6 按鍵電路 .103 系統(tǒng)軟件設(shè)計.103.1 軟件設(shè)計程序流程圖 .103.2 節(jié)拍的確定 .113.3 編碼 .123.4

3、仿真 .12總 結(jié).15致 謝.16課程設(shè)計說明書 第III頁參考文獻(xiàn).17附錄.18課程設(shè)計說明書 第1頁1 緒論1.1 課題描述 隨著科學(xué)技術(shù)的進(jìn)步和社會的發(fā)展,人類所接觸的信息也在不斷增加并且日益復(fù)雜。面對浩如煙海的信息,人們已經(jīng)能夠利用計算機(jī)等工具高效準(zhǔn)確地對之進(jìn)行處理,但要想將處理完的信息及時,清晰地傳遞給別人,還必須通過尋求更加卓越的顯示技術(shù)來實(shí)現(xiàn)。單片機(jī)技術(shù)與液晶顯示技術(shù)的結(jié)合,使信息傳輸交流向著智能可視化方向迅速發(fā)展。小小的音樂盒可以給人們帶來美好的回憶,提高人們的精神文化享受。傳統(tǒng)音樂盒是機(jī)械型的,體積笨重,發(fā)音單調(diào),不能實(shí)現(xiàn)批量生產(chǎn)。本文設(shè)計的音樂盒是以單片機(jī)為核心元件的電

4、子式音樂盒,體積小,重量輕,能演奏和旋音樂,功能多,外觀效果多彩,使用方便,并具有一定的商業(yè)價值。1.2 基本工作原理及框圖本次設(shè)計是一個基于AT89C51單片機(jī)的音樂盒,該音樂盒主要由按鍵電路、復(fù)位電路、時鐘電路、蜂鳴器以及顯示電路組成。使用其中兩個按鍵來控制播放和暫停另外兩個按鍵用來控制換曲。利在液晶上顯示曲目的更換,共三首音樂,蜂鳴器每播放一首歌時液晶上顯示相對應(yīng)的歌曲次序。系統(tǒng)組成框圖如圖1。AT89C51單片機(jī)復(fù)位電路LCD1602蜂鳴器時鐘電路按鍵電路圖 1 基本工作原理框圖2 相關(guān)芯片及硬件電路設(shè)計2.1 AT89C51 芯片課程設(shè)計說明書 第2頁圖 2 AT89C51 引腳圖2

5、.1.1 AT89C51 的功能特性AT89C51提供以下標(biāo)準(zhǔn)功能:4K字節(jié)Flash閃速存儲器,128字節(jié)內(nèi)部RAM,32個I/O口線,兩個十六位定時/計數(shù)器,一個5向量兩級中斷結(jié)構(gòu),一個全雙工串行通信口,片內(nèi)振蕩器及時鐘電路。同時,AT89C51可降至0Hz的靜態(tài)邏輯操作,并支持兩種軟件可選的節(jié)電工作模式??臻e方式停止CPU的工作,但允許RAM,定時/計數(shù)器,串行通信口及中斷系統(tǒng)繼續(xù)工作。掉電方式保存RAM中的內(nèi)容,但振蕩器停止工作并禁止其他所有部件工作直到下一個硬件復(fù)位。2.1.2 AT89C51 的主要性能參數(shù)AT89C51主要性能參數(shù)如下:與 MC51 產(chǎn)品指令系統(tǒng)完全兼容K 字節(jié)可

6、編程閃爍 存儲器 壽命:1000 寫/擦循環(huán)數(shù)據(jù)保留時間: 10 年全靜態(tài)工作 :0Hz-24Hz三級程序存儲器鎖定課程設(shè)計說明書 第3頁128*8 位內(nèi)部 RAM32 可編程 I/O 線兩個 16 位定時器/計數(shù)器5 個中斷源 可編程串行通道低功耗的閑置和掉電模式片內(nèi)振蕩器和時鐘電路 2.2 晶振電路晶體振蕩器,簡稱晶振,它可以等效成一個電容和一個電阻并聯(lián)再串聯(lián)一個電容的二端網(wǎng)絡(luò)。晶振有一個重要的參數(shù),那就是負(fù)載電容值,選擇與負(fù)載電容值相等的并聯(lián)電容,就可以得到晶振標(biāo)稱的諧振頻率。晶振在應(yīng)用具體起到的作用,微控制器的時鐘源可以分為兩類:一種是皮爾斯振蕩器配置,適用于晶振和陶瓷諧振槽路。另一種

7、為簡單的分立RC振蕩器。RC振蕩器能夠快速啟動,成本也比較低,但通常在整個溫度和工作電源電壓范圍內(nèi)精度較差,會在標(biāo)稱輸出頻率的5%至50%范圍內(nèi)變化,震蕩脈沖頻fosc在0至24MHZ范圍內(nèi)變化。但其性能受環(huán)境條件和電路元件選擇的影響。圖3為晶振電路。圖 3 晶振電路2.3 復(fù)位電路 課程設(shè)計說明書 第4頁單片機(jī)在啟動時都需要進(jìn)行復(fù)位,以使CPU及系統(tǒng)各部件處于確定的初始狀態(tài),并從初態(tài)開始工作。51系列單片機(jī)的復(fù)位信號是從RST引腳輸入到芯片內(nèi)的施密特觸發(fā)器中的。當(dāng)系統(tǒng)處于正常工作狀態(tài)時,且振蕩器穩(wěn)定后,如果RST引腳上有一個高電平并維持2個機(jī)器周期(24個振蕩周期)以上,則CPU就可以響應(yīng)并

8、將系統(tǒng)復(fù)位。單片機(jī)系統(tǒng)的復(fù)位方式有:手動按鈕復(fù)位和上電復(fù)位。圖4為復(fù)位電路。圖 4 復(fù)位電路2.4 驅(qū)動電路由于蜂鳴器的工作電流一般比較大,以致于單片機(jī)的I/O口是無法直接驅(qū)動的(但AVR可以驅(qū)動小功率蜂鳴器) ,所以要利用放大電路來驅(qū)動,一般使用三極管來放大電流就可以了。 蜂鳴器驅(qū)動電路一般都包含以下幾個部分:一個三極管、一個蜂鳴器、一個續(xù)流二極管和一個電源濾波電容。圖5為蜂鳴器驅(qū)動電路。課程設(shè)計說明書 第5頁圖 5 蜂鳴器驅(qū)動電路2.4.1 蜂鳴器 發(fā)聲元件,在其兩端施加直流電壓(有源蜂鳴器)或者方波(無源蜂鳴器)就可以發(fā)聲,其主要參數(shù)是外形尺寸、發(fā)聲方向、工作電壓、工作頻率、工作電流、驅(qū)

9、動方式(直流/方波)等。這些都可以根據(jù)需要來選擇。 2.4.2 續(xù)流二極管 蜂鳴器本質(zhì)上是一個感性元件,其電流不能瞬變,因此必須有一個續(xù)流二極管提供續(xù)流。否則,在蜂鳴器兩端會產(chǎn)生幾十伏的尖峰電壓,可能損壞驅(qū)動三極管,并干擾整個電路系統(tǒng)的其它部分。 2.4.3 濾波電容 濾波電容C1的作用是濾波,濾除蜂鳴器電流對其它部分的影響,也可改善電源的交流阻抗,如果可能,最好是再并聯(lián)一個220uF的電解電容。2.4.4 三極管 三極管 Q1 起開關(guān)作用,其基極的高電平使三極管飽和導(dǎo)通,使蜂鳴器發(fā)聲;而基極低電平則使三極管關(guān)閉,蜂鳴器停止發(fā)聲。課程設(shè)計說明書 第6頁2.5 顯示電路2.5.1 線段的顯示點(diǎn)陣

10、圖形式液晶由MN個顯示單元組成,假設(shè)LCD顯示屏有64行,每行有128列,每8列對應(yīng)1字節(jié)的8位,即每行由16字節(jié),共168=128個點(diǎn)組成,屏上6416個顯示單元與顯示RAM區(qū)1024字節(jié)相對應(yīng),每一字節(jié)的內(nèi)容和顯示屏上相應(yīng)位置的亮暗對應(yīng)。例如屏的第一行的亮暗由RAM區(qū)的000H00FH的16字節(jié)的內(nèi)容決定,當(dāng)(000H)=FFH時,則屏幕的左上角顯示一條短亮線,長度為8個點(diǎn);當(dāng)(3FFH)=FFH時,則屏幕的右下角顯示一條短亮線;當(dāng)(000H)=FFH, (001H)=00H, (002H)=00H,(00EH)=00H, (00FH)=00H時,則在屏幕的頂部顯示一條由8段亮線和8條暗線

11、組成的虛線。這就是LCD顯示的基本原理。2.5.2 字符的顯示用LCD顯示一個字符時比較復(fù)雜,因?yàn)橐粋€字符由68或88點(diǎn)陣組成,要找到和顯示屏幕上某幾個位置對應(yīng)的顯示RAM區(qū)的8字節(jié),還要使每字節(jié)的不同位為“1” ,其它的為“0” ,為“1”的點(diǎn)亮,為“0”的不亮。這樣一來就組成某個字符。但由于內(nèi)帶字符發(fā)生器的控制器來說,顯示字符就比較簡單了,可以讓控制器工作在文本方式,根據(jù)在LCD上開始顯示的行列號及每行的列數(shù)找出顯示RAM對應(yīng)的地址,設(shè)立光標(biāo),在此送上該字符對應(yīng)的代碼即可。圖6為顯示電路。圖 6 顯示電路課程設(shè)計說明書 第7頁2.6 按鍵電路P1.0-P1.5 作為控制按鍵,其中 P1.0

12、-P1.1 掃描行,P1.4-P1.5 掃描列;可通過功能鍵選擇樂曲、暫停、播放。圖 7 為按鍵電路。圖 7 按鍵電路3 系統(tǒng)軟件設(shè)計總體原理:播放一段音樂需要的是兩個元素,一個是音調(diào),另一個是音符。首先要了解對應(yīng)的音調(diào),音調(diào)主要由聲音的頻率決定,同時也與聲音強(qiáng)度有關(guān)。對一定強(qiáng)度的純音,音調(diào)隨頻率的升降而升降;對一定頻率的純音、低頻純音的音調(diào)隨聲強(qiáng)增加而下降,高頻純音的音調(diào)卻隨強(qiáng)度增加而上升。另外,音符的頻率有所不同?;谏厦娴膬?nèi)容,這樣就對發(fā)音的原理有了一些初步的了解。音符的發(fā)音主要靠不同的音頻脈沖。利用單片機(jī)的內(nèi)部定時器/計數(shù)器 0,使其工作在模式 1,定時中斷,然后控制 P3 引腳的輸出

13、音樂。只要算出某一音頻的周期(1/頻率) ,然后將此周期除以 2,即為半周期的時間,利用定時器計時這個半周期時間,每當(dāng)計時到后就將輸出脈沖的I/O 反相,然后重復(fù)計時此半周期時間再對 I/O 反相,就可在 I/O 腳上得到此頻率的脈沖。3.1 軟件設(shè)計程序流程圖 流程圖如圖 8 所示。課程設(shè)計說明書 第8頁開始初始化界面K3是否按下K4是否按下切換上一首切換下一首K1是否按下K2是否按下播放音樂開始計時停止播放計時停止是是是是圖 8 程序流程圖按下電源開關(guān)鍵后,整體電路開始運(yùn)作,電源指示燈發(fā)光。此時,按下連接于P1.4和P1.5端口的開關(guān)按鍵開始選曲,每按一下單片機(jī)將依序更換歌曲并在液晶上顯示

14、歌曲次序及歌名。歌曲次序及歌名將在數(shù)碼管上以文字“1+歌曲名,2+歌曲名,3+歌曲名”的形式循環(huán)呈現(xiàn)。當(dāng)開始按下連接于P1.0的開關(guān)按鍵后,單片機(jī)將依序播放歌曲,按下P1.1開關(guān)按鍵后歌曲播放將暫停。3.2 節(jié)拍的確定 課程設(shè)計說明書 第9頁若要構(gòu)成音樂,光有音調(diào)是不夠的,還需要節(jié)拍,讓音樂具有旋律(固定的律動) ,而且可以調(diào)節(jié)各個音的快滿度。 “節(jié)拍”,即Beat,簡單說就是打拍子,就像我們聽音樂不自主的隨之拍手或跺腳。若1拍實(shí)0.5s,則1/4拍為0.125s。至于1拍多少s,并沒有嚴(yán)格規(guī)定,就像人的心跳一樣,大部分人的心跳是每分鐘72下,有些人快一點(diǎn),有些人慢一點(diǎn),只要聽的悅耳就好。音持

15、續(xù)時間的長短即時值,一般用拍數(shù)表示。休止符表示暫停發(fā)音。一首音樂是由許多不同的音符組成的,而每個音符對應(yīng)著不同頻率,這樣就可以利用不同的頻率的組合,加以與拍數(shù)對應(yīng)的延時,構(gòu)成音樂。了解音樂的一些基礎(chǔ)知識,我們可知產(chǎn)生不同頻率的音頻脈沖即能產(chǎn)生音樂。對于單片機(jī)來說,產(chǎn)生不同頻率的脈沖是非常方便的,利用單片機(jī)的定時/計數(shù)器來產(chǎn)生這樣的方波頻率信號。因此,需要弄清楚音樂中的音符和對應(yīng)的頻率,以及單片機(jī)定時計數(shù)的關(guān)系。3.3 編碼 do re mi fa so la si分別編碼為17,重音do編為8,重音re編為9,停頓編為0。播放長度以十六分音符為單位(在本程序中為165ms) ,一拍即四分音符等

16、于4個十六分音符,編為4,其它的播放時間以此類推。音調(diào)作為編碼的高4位,而播放時間作為低4位,如此音調(diào)和節(jié)拍就構(gòu)成了一個編碼。以0 xff作為曲譜的結(jié)束標(biāo)志。舉例1:音調(diào)do,發(fā)音長度為兩拍,即二分音符,將其編碼為0 x18。舉例2:音調(diào)re,發(fā)音長度為半拍,即八分音符,將其編碼為0 x22歌曲播放的設(shè)計。先將歌曲的簡譜進(jìn)行編碼,儲存在一個數(shù)據(jù)類型為unsigned char的數(shù)組中。程序從數(shù)組中取出一個數(shù),然后分離出高4位得到音調(diào),接著找出相應(yīng)的值賦給定時器0,使之定時操作蜂鳴器,得出相應(yīng)的音調(diào);接著分離出該數(shù)的低4位,得到延時時間,接著調(diào)用軟件延時。3.4 仿真課程設(shè)計說明書 第10頁圖

17、9 仿真初始界面圖 10 仿真播放第一首課程設(shè)計說明書 第11頁圖 11 仿真播放第二首圖 12 仿真播放第三首課程設(shè)計說明書 第12頁總 結(jié)這次單片機(jī)課程設(shè)計相對來說,硬件部分是比較簡單的,主要是程序的設(shè)計,因?yàn)樾枰嬎泐l率和歌曲時間,用了兩個定時器。另一個難點(diǎn)在于對音調(diào)和節(jié)拍的理解,對于這個知識點(diǎn)我花了兩天的時間翻閱圖書,最終明白了,對于音調(diào)和節(jié)拍的編寫。在大學(xué)課堂的學(xué)習(xí)只是純理論的專業(yè)知識,而我們應(yīng)該把所學(xué)的用到現(xiàn)實(shí)生活中去,此次的音樂盒設(shè)計給我奠定了一個實(shí)踐基礎(chǔ),我會在以后的學(xué)習(xí)、生活中磨練自己,使自己適應(yīng)社會激烈的競爭。通過此次課程設(shè)計,卻改變了很多, 首先,對于硬件電路的工作原理有

18、了進(jìn)一步的學(xué)習(xí),同樣就有了進(jìn)一步的認(rèn)識;其次,軟件方面,在程序的設(shè)計,程序的調(diào)試方面都學(xué)到了很多東西。課程設(shè)計說明書 第13頁致 謝經(jīng)過近一個星期的忙忙碌碌,這次的單片機(jī)課程設(shè)計已經(jīng)快要接近尾聲了。在這次的單片機(jī)課程設(shè)計過程中,無論是在理論學(xué)習(xí)階段,還是在設(shè)計的選題、資料查詢和撰寫的每一個環(huán)節(jié),我都得到到了許多人的悉心的指導(dǎo)和幫助。首先,借此機(jī)會我向我們的單片機(jī)授課教師及課程設(shè)計指導(dǎo)老師表示衷心的感謝,老師的指導(dǎo)和幫助,是我順利完成本次課程設(shè)計的基礎(chǔ)和前提。另外,感謝各位同學(xué)的幫助和勉勵。同窗之誼和手足之情,我將終生難忘!我愿在未來的學(xué)習(xí)和研究過程中,以更加豐厚的成果來答謝曾經(jīng)關(guān)心、幫助和支持

19、過我的所有老師、同學(xué)和朋友。課程設(shè)計說明書 第14頁參考文獻(xiàn)1 何立民. 單片機(jī)高級教程M北京:北京航空航天大學(xué)出版社,2001.3. 2 趙曉安. MCS-51單片機(jī)原理及應(yīng)用M. 天津:天津大學(xué)出版社,2001.33 肖洪兵. 跟我學(xué)用單片機(jī)M. 北京:北京航空航天大學(xué)出版社,2002.8 4 夏繼強(qiáng). 單片機(jī)實(shí)驗(yàn)與實(shí)踐教程M. 北京:北京航空航天大學(xué)出版社,2001.4 5于鳳明單片機(jī)原理及接口技術(shù)M北京:中國輕工業(yè)出版社1998.5 6陳偉人. 單片微型計算機(jī)原理與應(yīng)用M.北京:清華大學(xué)出版社, 2006.5. 7李廣第單片機(jī)基礎(chǔ)M北京:北京航空航天大學(xué)出版社,1999.3. 課程設(shè)計

20、說明書 第15頁附錄總體電路圖:圖 13 總體電路圖程序:#include #include #define uchar unsigned char#define uint unsigned intuchar m,n; uchar i,timecount=0,timesec=0,timemin=0,timecheck=0;char r0=2;sbit beepIO=P30;typedef unsigned char BYTE;typedef unsigned int WORD;typedef bit BOOL ; sbit rs= P20;sbit rw = P21;課程設(shè)計說明書 第16頁s

21、bit ep = P22;sbit pausekey=P11;uchar k,q,f;uchar code dis1 =1 ji mo sha zhou; uchar code dis2 = 2 tong hua;uchar code dis3 =3 qian nian lian;uchar code T492=0,0,0 xF8,0 x8B,0 xF8,0 xF2,0 xF9,0 x5B,0 xF9,0 xB7,0 xFA,0 x14,0 xFA,0 x66,0 xFA,0 xB9,0 xFB,0 x03,0 xFB,0 x4A,0 xFB,0 x8F,0 xFB,0 xCF,0 xFC,0

22、 x0B,0 xFC,0 x43,0 xFC,0 x78,0 xFC,0 xAB,0 xFC,0 xDB,0 xFD,0 x08,0 xFD,0 x33,0 xFD,0 x5B,0 xFD,0 x81,0 xFD,0 xA5,0 xFD,0 xC7,0 xFD,0 xE7,0 xFE,0 x05,0 xFE,0 x21,0 xFE,0 x3C,0 xFE,0 x55,0 xFE,0 x6D,0 xFE,0 x84,0 xFE,0 x99,0 xFE,0 xAD,0 xFE,0 xC0,0 xFE,0 x02,0 xFE,0 xE3,0 xFE,0 xF3,0 xFF,0 x02,0 xFF,0

23、 x10,0 xFF,0 x1D,0 xFF,0 x2A,0 xFF,0 x36,0 xFF,0 x42,0 xFF,0 x4C,0 xFF,0 x56,0 xFF,0 x60,0 xFF,0 x69,0 xFF,0 x71,0 xFF,0 x79,0 xFF,0 x81;uchar code music12=0,4, 22,4,22,4,17,4,15,4,15,4,17,12,15,4,15,2,17,2,15,4,13,4,13,4,15,12,0,4,20,4,20,4,20,4,17,4,20,4,20,4,20,4,17,4,22,4,17,4,17,4,15,4,15,4,17,

24、12,22,4,22,4,17,4,15,4,15,4,17,12,15,4,15,2,17,2,15,4,13,4,13,4,15,12,20,4,20,4,20,2,17,2,17,4,20,4,20,4,20,2,17,2,17,2,17,2,24,4,20,4,20,2,17,2,17,4,20,4,22,12,17,4,22,4,25,4,25,4,17,4,22,4,25,8,24,4,22,2,24,2,22,4,20,4,15,4,17,12,15,4,15,4,15,4,10,4,15,4,17,4,20,8,17,4,24,4,24,4,20,4,15,4,17,12,17

25、,4,22,4,25,4,25,4,17,4,22,4,25,8,29,4,27,2,29,2,27,4,25,4,25,4,27,12,29,4,29,2,27,4,25,4,27,6,27,2,25,4,24,4,20,4,20,2,17,2,20,4,20,2,22,2,22,16,0 xFF,0 xFF;uchar code music22=0,4, 16,6,19,2,19,6,16,2,14,6,0,10,16,6,19,2,19,6,16,2,14,8,0,8,26,8,21,6,24,2,23,6,21,2,19,8,21,16,0,8,16,6,19,2,19,6,16,2,

26、14,8,0,8,26,8,21,6,23,2,21,14,24,6,23,2,21,6,19,2,16,6,14,2,13,8,14,16,0,4,19,6,19,2,21,6,21,2,23,8,21,4,0,4,19,6,19,2,16,6,19,2,16,8,14,6,0,4,19,6,19,2,21,6,21,2,23,8,21,4,0,4,19,6,19,2,16,6,19,2,16,8,14,6,0,4,26,16,21,4,26,4,21,4,26,16,21,4,26,16,0,4,課程設(shè)計說明書 第17頁16,8,16,8,14,8,16,8,21,4,26,4,21,4,

27、26,4,0,8,16,8,16,8,14,8,16,8,21,4,26,4,21,4,26,4,0,8,19,8,19,6,21,2,16,8,0,8,19,6,21,2,19,6,21,2,16,8,0,8,21,8,26,8,21,4,24,12,23,6,21,2,19,8,21,16,14,4,21,4,14,4,19,4,16,6,14,2,13,8,14,16,0 xFF,0 xFF;uchar code music32=0,4,27,4,19,4,19,4,27,4,26,4,26,2,27,2,24,8,22,4,17,4,24,4,22,4,19,16,15,4,12,4,

28、12,4,15,4,17,8,19,8,26,6,26,2,26,4,24,4,24,4,19,4,19,8,27,4,19,4,19,4,27,4,26,4,26,2,27,2,24,6,24,2,22,4,17,4,24,4,22,4,19,16,15,4,12,4,12,4,15,4,17,8,19,8,19,6,19,2,19,4,17,4,14,4,14,4,14,4,7,4,12,24,0 xFF,0 xFF;uchar timetable =00:00;void delay(uchar p) uchar i,j; for(;p0;p-) for(i=181;i0;i-) for(

29、j=181;j0;j-);BOOL lcd_bz()BOOL result;rs = 0;rw = 1;ep = 1;_nop_();_nop_();_nop_();_nop_();result = (BOOL)(P0 & 0 x80);ep = 0;return result; void lcd_wcmd(BYTE cmd)while(lcd_bz();rs = 0;rw = 0;ep = 0;課程設(shè)計說明書 第18頁_nop_();_nop_();P0 = cmd;_nop_();_nop_();_nop_();_nop_();ep = 1;_nop_();_nop_();_nop

30、_();_nop_();ep = 0;void lcd_pos(BYTE pos)lcd_wcmd(pos | 0 x80);void lcd_wdat(BYTE dat)while(lcd_bz();rs = 1;rw = 0;ep = 0;P0 = dat;_nop_();_nop_();_nop_();_nop_();ep = 1;_nop_();_nop_();_nop_();_nop_();ep = 0; void lcd_init()lcd_wcmd(0 x38);delay(1);lcd_wcmd(0 x0c);課程設(shè)計說明書 第19頁delay(1);lcd_wcmd(0 x0

31、6);delay(1);lcd_wcmd(0 x01);delay(1); void pause() uchar i,j; for(i=150;i0;i-) for(j=150;j0;j-); void timecount_init() interrupt 3 TH1=(65535-45872)/256; TL1=(65535-45872)%256; timecount+; if(timecount=20) timesec+;timecount=0;if(timesec=60)timesec=0;timemin+; void adfa() interrupt 0 timesec=0; time

32、min=0; r0+; delay(5); if(r011) r0=11; void adfii() interrupt 2 if(pausekey=0) beepIO=0; while(pausekey=0); while(pausekey=1); while(pausekey=0);課程設(shè)計說明書 第20頁 delay(8); else timesec=0; timemin=0; r0-; delay(5); if(r0=0) r0=1;void T0_int() interrupt 1 beepIO=!beepIO; TH0=Tm0; TL0=Tm1;void zhuanhuan()timetable3=timesec/10+0;timetable4=timesec%10+0;timetable2=:;timetable0=timemin/10+0;timetable1=timemin%10+0;void timedis()if(timecheck!=timesec)timec

溫馨提示

  • 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論