![(精品論文)智能音樂鬧鐘設計_第1頁](http://file.renrendoc.com/FileRoot1/2019-7/14/09d85838-13f3-449c-a7e0-65962a98e4b9/09d85838-13f3-449c-a7e0-65962a98e4b91.gif)
![(精品論文)智能音樂鬧鐘設計_第2頁](http://file.renrendoc.com/FileRoot1/2019-7/14/09d85838-13f3-449c-a7e0-65962a98e4b9/09d85838-13f3-449c-a7e0-65962a98e4b92.gif)
![(精品論文)智能音樂鬧鐘設計_第3頁](http://file.renrendoc.com/FileRoot1/2019-7/14/09d85838-13f3-449c-a7e0-65962a98e4b9/09d85838-13f3-449c-a7e0-65962a98e4b93.gif)
![(精品論文)智能音樂鬧鐘設計_第4頁](http://file.renrendoc.com/FileRoot1/2019-7/14/09d85838-13f3-449c-a7e0-65962a98e4b9/09d85838-13f3-449c-a7e0-65962a98e4b94.gif)
![(精品論文)智能音樂鬧鐘設計_第5頁](http://file.renrendoc.com/FileRoot1/2019-7/14/09d85838-13f3-449c-a7e0-65962a98e4b9/09d85838-13f3-449c-a7e0-65962a98e4b95.gif)
已閱讀5頁,還剩34頁未讀, 繼續(xù)免費閱讀
版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
目 錄摘 要IAbstractII第1章緒論111 應用背景112 本項目實現的功能2第2章 總體設計321 方案設計與論證322系統(tǒng)結構框圖423器件說明42.3.1時鐘芯片42.3.1單片機7第3章 電路設計1031主體電路1032 單片機系統(tǒng)1133鍵盤電路1134功放電路1235顯示電路1336時鐘電路13第4章 程序設計144.1 主程序流程圖1442 比較鬧鐘與時間程序1543 鍵盤掃描程序1644 對DS1302操作的程序1845 播放音樂程序20第5章 系統(tǒng)仿真215.1軟件調試215.2 硬件調試22第6章 總結23參考文獻24致謝25附錄2636摘 要本文介紹了一種智能音樂鬧鐘的設計。本設計是由中央控制器、時鐘系統(tǒng)、顯示器及鍵盤部分組成??刂破鞑捎脝纹瑱CAT89C51,時鐘系統(tǒng)采用美國DALLAS公司生產的DS1302實時時鐘芯片,它將產生的時間信號傳遞給單片機,單片機通過74LS48譯碼,使LED 8段數碼管顯示當前的時間,在計時過程中當到達所設定的鬧鈴時間后,將播放音樂,并且此時LED 數碼管所顯示的不再是時間而是一個代碼,只有用戶在將這個代碼從鍵盤上正確的輸入進去,才能將其音樂關閉,否則音樂將一直播放下去。用戶可以通過鍵盤設置鬧鈴的時間和校正時間。關鍵詞:單片機、DS1302、智能鬧鐘AbstractIn this paper, a smart alarm clock music design. This design is from the central controller, the clock system, monitor and keyboard parts. Controllers using SCM AT89C51, the clock system uses the U.S. companys DS1302 DALLAS real-time clock chip, it will have the time to signal transmitted to the microcontroller, SCM through 74 LS48 decoding, LED 8 of the digital display of the current Time, When in the course of time set by the arrival of the alarm time, will play music, and at this time of the LED digital display is no longer time but a code that only users of this code from the keyboard on the correct input into the Music can be closed, otherwise, would have been broadcast on music. Users can set the alarm through the keyboard of the time and correction time.Keywords :singlechip、DS1302、Smart alarm clock第1章 緒論11 應用背景自單片機出現至今,單片機技術已走過了近20年的發(fā)展路程。電子技術和計算機技術應用領域不斷擴大,單片機技術已成為電子技術領域中的一個新的亮點,隨著單片機技術的迅猛發(fā)展和應用領域不斷擴大,縱觀20年來單片機發(fā)展里程可以看出,單片機技術滲透到我們生活的各個領域,幾乎很難找到哪個領域沒有單片機的蹤跡?;趩纹瑱C的通用定時控制系統(tǒng)正是屬于單片機技術范圍。特別是在智能化控制高度發(fā)展的前提下,定時控制是不可或缺的條件??梢哉f只要有智能化的存在,就必須要用到定時控制。導彈的導航裝置,飛機上各種儀表的控制,計算機的網絡通訊與數據傳輸,工業(yè)自動化過程的實時控制和數據處理,民用豪華轎車的安全保障系統(tǒng),全自動洗衣機的控制,以及程控玩具、電子寵物等等,這些都離不開單片機通用定時技術。更不用說自動控制領域的機器人、智能儀表、醫(yī)療器械了。因此,基于單片機的通用定時控制的學習是非常重要的也是非常關鍵的。在實時檢測和自動控制的單片機應用系統(tǒng)中,單片機往往是作為一個核心部件來使用,僅單片機方面知識是不夠的,還應根據具體硬件結構,以及針對具體應用對象特點的軟件結合,單片機應用系統(tǒng)的軟件(常稱為監(jiān)控程序或固件固化到單片機內部或外部的程序存儲器內)一般由主程序和若干個中斷程序組成,以作完善?;趩纹瑱C的通用定時控制也是如此。帶有鬧時裝置的鐘。既能指示時間,又能按人們預定的時刻發(fā)出音響信號或其他信號。43年前,現代鬧鐘的前輩們承擔了1964年東京奧運會的計時工作。從那時起,電子鬧鐘就慢慢的進入了我們的日常生活之中,為我們的生活與工作帶來了意想不到的結果。目前市面上的數字鬧鐘種類繁多,有可愛型的,有帶計算器的,有數碼管顯示的,有液晶顯示的等等。其中在歐西亞公司所倡導的數字生活中,有幾款很有特色的電子鬧鐘:法拉利版電子投影鬧鐘,BAR839HG和RMR826HG等型號的鬧鐘,不僅具有顯示時間的功能,炫酷的外形,記憶最高/最低溫度值、時鐘、日歷、鬧鐘、第二時區(qū)、夜光等功能還可以將時間投影到墻上,天花板上,讓你在黑暗里只要一睜眼就能看到時間,除了能鬧醒大家外,還提供了6種甜睡的音樂幫助用戶入睡。12 本項目實現的功能本設計是一個音樂智能鬧鐘,與普通的音樂鬧鐘不同的是當鬧鐘響起時只有輸入相應的代碼才能使其關閉否則將一直響起。以單片機作為核心主控芯片,采用美國DALLAS公司生產的實時時鐘芯片,產生時間信號傳遞給單片機,經單片機處理再通過LED 8段數碼管完成當前時間的顯示,當到達所設定的鬧鈴時間后,音樂將播放出來,并且此時LED 8段數碼管所顯示的不再是時間而是一個代碼,只有用戶在將這個代碼從鍵盤上正確的輸入進去,才能將其音樂關閉。我們可以通過鍵盤設置鬧鈴的時間和校正當前的時間。擁有4個LED 8段數碼管作為顯示輸出,可顯示時鐘的時與分。該系統(tǒng)具有易操作,較為人性化等特點,對增強人們的時間觀念,對一些有意義事件能給予人們以提醒和警覺,對隨時提醒人們注意把握時間具有重要作用。故具有實際運用價值。第2章 總體設計21 方案設計與論證(1)、對于單片機的選擇:a)、如果用8031系列,由于它沒有內部RAM,系統(tǒng)又需要大量內存存儲數據,因而不可用。b)、8051或8052系列具有片內ROM或EPROM,而52子系列與51子系列的不同之處在于:片內數據存儲器增支256字節(jié);片內程序存儲器增之8KB(8032無);有3個16位定時/計數器,6個中斷源。8051片內程序存儲器為4KB,對于本設計來說已經足夠,因此選擇8051彈片機。(2)、時鐘功能的實現方案:a)、用軟件實現,直接用單片機的定時器編程以實現時鐘;b)、用專門的時鐘芯片實現時鐘的記時,再把時間數據送入單片機,由單片機控制顯示。比較兩種方案,用軟件實現時鐘固然可以,但是程序運行的每一步都需要時間,多一步或少一步程序都會影響記時的準確度,用專用時鐘芯片可以實現準確記時。因此選擇b方案。(3)、 顯示器:a)、液晶顯示器。如果選擇此方案,將會降低系統(tǒng)的功耗,這樣就可以用電池供電,便于攜帶。但液晶顯示器的驅動電路復雜,使用起來有一定的難度。b)、用數碼管作為顯示器。數碼管的驅動電路簡單,使用方便,如果選擇了此方案,那么在夜間看時間的時候就不需要有光源,非常方便。其缺點是功耗較大。由于數碼管使用起來較為方便,在夜間看時間也很方便,因此我們選擇了方案b。(4)、 發(fā)音部分用軟件方法產生波性輸出,通過三極管放大后驅動喇叭發(fā)音,這樣就可以省去硬件振蕩電路,降低成本。(5)、鍵盤a):4*3矩陣式鍵盤。如果選擇此方案,那么在修改時鐘或設置鬧鈴時間時就可以直接從鍵盤輸入,方便、快捷,但程序較為復雜。b):獨立式按鍵。如果設置過多按鍵,將會占用較多I/O口,而且會給布線帶來不便,此方案適用于按鍵較少的情況。因此選擇方案a。22系統(tǒng)結構框圖鍵盤LED功放單片機時鐘芯片圖2-1 系統(tǒng)框圖本設計以單片機AT89C51作為核心主控芯片,采用美國DALLAS公司生產的DS1302實時時鐘芯片,產生時間信號傳遞給單片機,經單片機處理再通過LED 8段數碼管完成當前時間的顯示,當到達所設定的鬧鈴時間后,音樂將播放出來,并且此時LED 數碼管所顯示的不再是時間而是一個代碼,只有用戶在將這個代碼從鍵盤上正確的輸入進去,才能將其音樂關閉。用戶可以通過鍵盤設置鬧鈴的時間和校正當前的時間。23器件說明2.3.1時鐘芯片本設計采用的時鐘芯片DSl302是美國DALLAS公司生產的一種具有涓細電流充電能力的芯片,主要特點是采用串行數據傳輸,可為掉電保護電源提供可編程的充電功能,并且可以關閉充電功能。采用普通32.768kHz晶振。該芯片是一種體積小、高性能、低功耗、接口容易、占用CPU IO口線少、帶RAM的實時時鐘電路等主要特點,故該芯片作為實時時鐘廣泛應用于智能化儀器儀表中。它可以對年、月、日、周日、時、分、秒進行計時,具有閏年補償功能,工作電壓為2.5V5.5V。采用三線接口與CPU進行同步通信,并可采用突發(fā)方式一次傳送多個字節(jié)的時鐘信號或RAM數據。DS1302內部有一個318的用于臨時性存放數據的RAM寄存器。DS1302是DS1202的升級產品,與DS1202兼容,但增加了主電源/后備電源雙電源引腳,同時提供了對后備電源進行涓細電流充電的能力。引腳排列如下圖所示:圖2-2 DS1302引腳排列DS1302的引腳排列:Vcc1為后備電源,Vcc2為主電源。在主電源關閉的情況下,也能保持時鐘的連續(xù)運行。DS1302由Vcc1或Vcc2兩者中的較大者供電。當Vcc2大于Vcc10.2V時,Vcc2給DS1302供電。當Vcc2小于Vcc1時,DS1302由Vcc1供電。X1和X2是振蕩源,外接32.768kHz晶振。/RST是復位/片選線,通過把/RST輸入驅動置高電平來啟動所有的數據傳送。/RST輸入有兩種功能:首先,/RST接通控制邏輯,允許地址/命令序列送入移位寄存器;其次,/RST提供終止單字節(jié)或多字節(jié)數據的傳送手段。當/RST為高電平時,所有的數據傳送被初始化,允許對DS1302進行操作。如果在傳送過程中/RST置為低電平,則會終止此次數據傳送,I/O引腳變?yōu)楦咦钁B(tài)。上電運行時,在Vcc2.5V之前,/RST必須保持低電平。只有在SCLK為低電平時,才能將RST置為高電平。I/O為串行數據輸入輸出端(雙向)。SCLK始終是輸入端。 1)、 DS1302 的控制字如下圖所示??刂谱止?jié)的最高有效位(位7)必須是邏輯1,如果它為0,則不能把數據寫入DS1302中,位6如果為0,則表示存取日歷時鐘數據,為1表示存取RAM數據;位5至位1指示操作單元的地址;最低有效位(位0)如為0表示要進行寫操作,為1表示進行讀操作,控制字節(jié)總是從最低位開始輸出。 圖2-3 DS1302命令碼格式DS1302與單片機的連接圖:圖2-4 DS1302與AT89C51的硬件連接圖2)、數據輸入輸出(I/O) 在控制指令字輸入后的下一個SCLK時鐘的上升沿時,數據被寫入DS1302,數據輸入從低位即位0開始。同樣,在緊跟8位的控制指令字后的下一個SCLK脈沖的下降沿讀出DS1302的數據,讀出數據時從低位0位到高位7。注意:第一個數據位被送出發(fā)生在寫命令字節(jié)最后一位的第一個下降沿,數據輸出開始位為位0。單字節(jié)讀操作每次需16個時鐘,地址字節(jié)在前8個時鐘周期的上升沿輸入,而數據字節(jié)在后8個時鐘周期的下降沿輸出。圖2-5 單字節(jié)讀操作時序3)DA1302寄存器分布DS1302有12個寄存器,其中有7個寄存器與日歷、時鐘相關,存放的數據位為BCD碼形式,其日歷、時間寄存器及其控制字見下表。 表2-1 DS1302寄存器分布表此外,DS1302 還有年份寄存器、控制寄存器、充電寄存器、時鐘突發(fā)寄存器及與RAM相關的寄存器等。時鐘突發(fā)寄存器可一次性順序讀寫除充電寄存器外的所有寄存器內容。 DS1302與RAM相關的寄存器分為兩類:一類是單個RAM單元,共31個,每個單元組態(tài)為一個8位的字節(jié),其命令控制字為C0HFDH,其中奇數為讀操作,偶數為寫操作;另一類為突發(fā)方式下的RAM寄存器,此方式下可一次性讀寫所有的RAM的31個字節(jié),命令控制字為FEH(寫)、FFH(讀)。2.3.1單片機本系統(tǒng)采用最常用的AT89C51單片機,它是一種帶4K字節(jié)閃爍可編程可擦除只讀存儲器(FPEROMFalsh Programmable and Erasable Read Only Memory)的低電壓,高性能CMOS 8位微處理器。該器件采用ATMEL高密度非易失存儲器制造技術制造,與工業(yè)標準的MCS-51指令集和輸出管腳相兼容。由于將多功能8位CPU和閃爍存儲器組合在單個芯片中,ATMEL的AT89C51是一種高效微控制器,AT89C2051是它的一種精簡版本。AT89C51單片機為很多嵌入式控制系統(tǒng)提供了一種靈活性高且價廉的方案。引腳排列如下圖所示:圖2-6 AT89C51引腳排列主要特性: 與MCS-51 兼容 4K字節(jié)可編程閃爍存儲器 壽命:1000寫/擦循環(huán)數據保留時間:10年全靜態(tài)工作:0Hz-24Hz三級程序存儲器鎖定1288位內部RAM32可編程I/O線兩個16位定時器/計數器5個中斷源 可編程串行通道低功耗的閑置和掉電模式片內振蕩器和時鐘電路 管腳說明:Vcc:供電電壓。GND:接地。P0口:在不接片外存儲器與不擴展I/O口時,可作為準雙向輸入/輸出口。在接有片外存儲器或擴展I/O口時,P0口分時復用為低8位地址總線和雙向數據總線。P1口:準雙向輸入/輸出口。P2口:一般可作為準雙向輸入/輸出口。在接有片外存儲器或擴展I/O口且尋址范圍超過256字節(jié)時,用作高8位地址總線。P3口:除作為準雙向輸入/輸出口外,P3口也可作為AT89C51的一些特殊功能口。RST:復位輸入。當振蕩器復位器件時,要保持RST腳兩個機器周期的高電平時間。XTAL1:反向振蕩放大器的輸入及內部時鐘工作電路的輸入。XTAL2:來自反向振蕩器的輸出。第3章 電路設計31主體電路本設計以單片機AT89C51作為核心主控芯片,采用DS1302實時時鐘芯片,將產生的時間信號傳遞給單片機,經單片機處理再通過LED 8段數碼管顯示當前的時間。當到達所設定的鬧鈴時間后,單片機將調用相應的程序,播放音樂,并且此時LED 8段數碼管所顯示的不再是時間而是一個代碼,只有用戶在將這個代碼從鍵盤上正確的輸入進去,才能將其音樂關閉,結束鬧鈴。用戶可以通過鍵盤設置鬧鈴的時間和校正當前的時間。如下圖所示:圖3-1 主體電路圖 32 單片機系統(tǒng)圖3-2 AT89C51最小系統(tǒng)電路圖單片機采用AT89C51,使用P0口作為I/O口,則需外接上拉電阻。使用P0.0、P0.1、P0.2、P0.3分別與74LS48譯碼器的輸入端相連接;P0.4、P0.5、P0.6、P0.7分別與顯示電路的4個LED數碼管片選信號相連接;P1.0到P1.6連接外接鍵盤;P1.7(即B0)作為功放的輸出端與功放驅動電路相連接;P2.0到P2.2分別與時鐘芯片DS1302的/RET(“5”)、I/O(“6”)、 SCLK(“7”)三個引腳相連接;31腳(即/EA)接高電平,因此首先執(zhí)行片內程序存儲器的程序;19腳(即X1)與18腳(即X2)連接外部振蕩電路;9腳(即RESET)連接復位電路。33鍵盤電路鍵盤電路采用4*3行列式鍵盤,用P1口線組成行、列結構,按鍵設置在行列的交點上。當進行鍵盤掃描時,則將掃描信號送至P1.4、P1.5、P1.6,再從P1.0、P1.1、P1.2、P1.3讀取鍵盤狀態(tài),即可判斷哪個鍵盤被按下。P1.0、P1.1、P1.2、P1.3分別連接一個10K的上拉電阻到公共接點上,公共接點連接在VCC上,因此采用低電平掃描。送入P1.4、P1.5、P1.6的掃描信號中,只有一個為低電平(即0),其余為高電平。緊接著讀取P1.0、P1.1、P1.2、P1.3的狀態(tài),哪個為低電平(即0)則表示被按下,如果都是高電平,則從頭開始繼續(xù)掃描。按鍵S0到S11分別代表的意義是“0”、“1”、“2”、“3”、“4”、“5”、“6”、“7”、“8”、“9”、“鬧鐘”與“時間”。當長時間按下“鬧鐘”鍵時,為開啟或關閉鬧鐘;當短時間按下“鬧鐘”鍵時,為設置鬧鐘時間。當按下“時間”鍵時,為設置時間。電路圖如下圖3-3所示:圖3-3 4*3鍵盤電路圖34功放電路本系統(tǒng)是利用程序產生頻率脈沖信號,送到P1.7(即B0)口,通過一個限流電阻連接到喇叭的驅動電路。P1.7口輸出的是一組脈沖信號,當輸出為高電平時晶體管工作于飽和狀態(tài),當輸出為低電平時晶體管工作于截止狀態(tài),從而使喇叭播放出音樂。圖3-4 功放電路圖35顯示電路圖3-5 顯示電路圖數碼管在夜間看時間的時候就不需要有光源,非常方便,因此采用4個共陽極8段LED數碼管作為顯示系統(tǒng),片選信號分別連接在A4(P0.4)、A5(P0.5)、A6(P0.6)、A7(P0.7),LED 8段數碼管的a、b、c、d、e、f、g分別與74LS48譯碼器的輸出端相連接。LED數碼管的dp端接高電平。電路圖如上圖3-5所示。36時鐘電路圖3-6 DS1302時鐘電路圖選用DS1302作為時鐘芯片,X1與X2連接32.768kHz的晶體振蕩電路,DS1302與單片機AT89C51采用串行數據傳輸方式,/RET、I/O、 SCLK分別與單片機的P2.0(B1)、P2.1(B2)、P2.2(B3)相連接。Vcc2(即“1”)連接電源。電路圖如上圖3-6所示。第4章 程序設計本章主要講述軟件方面的實現。本系統(tǒng)程序緊緊圍繞所要實現的功能進行編寫,采用模塊化編程結構。開始初始化鬧鐘與時間比較鍵盤掃描放音與顯示代碼關音輸入代碼比較鬧鐘或時間設置鍵是否按下顯示時間設置鬧鐘是否開啟4.1 主程序流程圖 NY N Y Y N Y N Y圖4-1主程序流程圖系統(tǒng)啟動后,進行初始化設置,鍵盤掃描,顯示當前的時間。判斷鬧鐘或時鐘是否需要設置,如果需要則進行相應的設置,如果不需要則跳轉到判斷鬧鐘是否開啟,如果沒有開啟則跳回鍵盤掃描,開啟則進行判斷鬧鐘與時間是否相等,相等則放音樂同時顯示代碼,進行輸入碼與顯示代碼比較是否相等,相等則關閉音樂,轉到鍵盤掃描,否則一直播放音樂直到正確輸入代碼。42 比較鬧鐘與時間程序43H,42H存放鬧鐘的時位;41H,40H存放鬧鐘的分位33H,32H存放時間的時位;31H,30H存放時間的分位 NNNNYYY(33H)=(43H)?(32H)=(42H)?(31H)=(41H)?(30H)=(40H)?開始RETY 圖4-2比較鬧鐘與時間程序MOV A,33HXRL A,43HJNZ TO-ENDMOV A,30HXRL A,40HJNZ TO-ENDSETB F0SETB P1.7TO-END:POP A RET判斷33H與43H存儲的內容是否相等,如果不相等則停止該程序,相等說明時間與鬧鐘時位的高位相等;繼續(xù)判斷32H與42H分別存儲的時間與鬧鐘時位的低位是否相等,不相等則停止該程序,相等則繼續(xù)判斷31H與41H分別存儲的時間與鬧鐘分位的高位是否相等,與上面同理;當判斷30H與40H存儲的內容是否相等時,如果相等則說明鬧鐘時間到達,音樂開啟,F0=1,此時按鍵可以使用,反之則停止該程序。43 鍵盤掃描程序系統(tǒng)啟動后,判斷有無按鍵按下,R2存儲是哪個按鍵按下,然后判斷R2的值。當R2為11時,F0置位,進行時間調整,調整完畢則顯示,并從新開始鍵盤掃描。當R2為10時,進行1秒鐘的延時,判斷是否長按鬧鐘鍵(S10),如果長按,則進行鬧鐘開啟與關閉設置,R1為FFH時鬧鐘開啟,R1為00H時鬧鐘關閉;如果沒有長按,則直接跳轉到進行F0置位,鬧鐘調整。調整完畢則顯示,并從新開始鍵盤掃描。當R2為其他數值時,判斷F0是否為1,如果F0為1時,調用相應鍵值程序,否則返回鍵盤掃描。F0的值判斷數字鍵“0”到“9”是否開啟,當為1時開啟,反之關閉。在調整時間、鬧鐘、顯示代碼時F0為1。開始鍵盤掃描R1=0FFH?判斷R2F0置位,時間調整鍵值存入R2CPL R1F0置位,鬧鐘調整顯示F0=1?P1.5=0&R2=10是否調整完畢1秒延時相應鍵值程序有無鍵按下是否調整完畢 N Y N R2為11 R2為其他 R2為10 Y N Y N Y N Y N Y圖4-3 鍵盤掃描流程圖44 對DS1302操作的程序初始化要求/RST為低電平,SCLK為低電平,/RST被設置為高就啟動了一個數據傳送的過程。SCLK的16個方波完成一次數據傳送,前8個方波用于輸入命令字節(jié),后8個方波用于數據的輸出(讀DS1302)或數據的輸入(寫DS1302)。在SCLK的上升沿,I/O線上數據被送入DS1302,在SCLK下降沿DS1302輸出數據在I/O線上。讀DS1302驅動程序圖,如下圖所示:結束YNY開始初始化/RST變高啟動一次數據傳送工作寫命令字節(jié)一位SCLK發(fā)脈沖/RST發(fā)低電平到8次嗎?SCLK發(fā)脈沖讀命令字節(jié)一位N到8次嗎?圖4-4讀DS1302驅動程序圖讀寫操作各用一個程序,讀DS1302如上圖所示,寫DS1302程序框圖與之相似,只需上圖第二個循環(huán)中“讀數據字節(jié)一位”改為“寫數據字節(jié)一位”即可。讀DS1302驅動程序:RDRTC:CLR /RET ;置控制引腳為低電平,禁止數據傳送 NOP CLR SCLK ;初始化串行時鐘線為低電平 NOP SETB /RET ;置控制引腳為高電平,允許數據傳送 NOP MOV A,#0BFH ;準備“接收多字節(jié)數據”的命令碼 MOV R2,#8 ;1字節(jié)命令碼需要傳送8次RDRTC0:CLR SCLK ;置串行時鐘線為低電平 RRC A ;將最低位傳送給進位標志C MOV P2.1,A ;再傳送至數據端口 NOP SETB SCLK ;置串行時鐘線為高電平,其上升沿發(fā)送1位數據 DJNZ R2,RDRTC0 ;直到發(fā)送完1字節(jié)的命令碼 MOV R0,#2EHRDRTC1:MOV R2,#8 ;每字節(jié)數據需要接受8次RDRTC2:CLR SCLK ;置串行時鐘線為低電平,其下降沿接收1位數據 NOP MOV C,P2.1 ;將數據端口的信息傳送給進位標志C RRC A SETB SCLK ;置串行時鐘線為高電平 DJNZ R2,RDRTC2 ;直到接收到1個完整字節(jié)的數據 MOV R0,A INC R0 DJNZ R3,RDRTC1 ;直到接收完全部數據 CLR /RET RET45 播放音樂程序YYN時間與鬧鐘相等調用曲目,裝入相應音符節(jié)拍單元是否為0返回主程序開始查找音頻裝入T0,節(jié)拍裝入節(jié)拍單元T0計數,從P1.7輸出脈沖信號圖4-5 播放音樂程序當時間與所設的鬧鐘時間相等時,調用曲目,查找相應的音符,音符的高四位(即音頻)裝入T0,音符的低四位(即節(jié)拍)裝入節(jié)拍單元。T0開始計數,從P1.7輸出脈沖信號,播放音樂。音樂播放結束,返回主程序。第5章 系統(tǒng)仿真由于我所設計的智能音樂鬧鐘系統(tǒng)包括軟件和硬件兩部份, 測試時先對軟件進行測試,然后再將已測試的軟件結合硬件在一起進行測試,完成整個系統(tǒng)的測試工作。5.1軟件調試在軟件調試中,我采用偉福仿真軟件進行程序調試。首先分別調試各個功能程序,再對整個程序進行調試,以便修改錯誤碼。具體的調試方法如下:首先在偉福軟件模擬器中選擇V5/L仿真器,選擇AT89C51作為CPU,將晶振頻率設置為12MHZ,然后新建一個.ASM文件,將各個功能程序錄入,先檢查程序有無明顯錯誤,保存過后編譯程序,當有錯誤時就根據提示加以修改,當各個功能程序編譯完成后,再對整個程序全速執(zhí)行,查看程序有哪些地方出現錯誤,對應錯誤提示逐步調整程序,糾正錯誤直到程序正確無誤,調試結束后有圖5.1的軟件調試界面如下: 圖5-1 軟件調試界面5.2 硬件仿真硬件仿真使用的是ProteusPRO6.7SP3,Proteus 是目前最好的模擬單片機外圍器件的工具,它可以仿真 51 系列、AVR,PIC 等常用的 MCU 及其外圍電路。利用Proteus中的器件庫完成硬件電路的連接,如下圖所示:圖5-2硬件電路圖第6章 總結本文介紹了一種智能音樂鬧鐘設計。本設計是由中央控制器、時鐘系統(tǒng)、存儲器、顯示器及鍵盤部分組成??刂破鞑捎脝纹瑱CAT89C51,時鐘系統(tǒng)使用時鐘芯片DS1302,用LED 8段數碼管作為顯示器,用單片機內置ROM作為存儲器件。單片機通過時鐘芯片DS1302獲取時間數據,對數據處理后,單片機再把時間數據送LED數碼管顯示器顯示,還可以顯示代碼;當到達所設定的鬧鈴時間后,單片機將調用相應的程序,播放音樂,并且此時LED 8段數碼管所顯示的不再是時間而是一個代碼,只有用戶在將這個代碼從鍵盤上正確的輸入進去,才能將其音樂關閉,結束鬧鈴。用戶可以通過鍵盤設置鬧鈴的時間和校正當前的時間。軟件部分采用匯編語言,分別對鍵盤、顯示、時鐘等進行相應的程序編輯,將編好的程序在偉福仿真軟件中進行仿真,看程序是不是能夠按照所想的運行方向正常的運行并對其修改。在整個設計過程中也存在許多問題,程序各個之間的連接不如設想的流暢,但基本上實現了時鐘、鬧鐘與音樂的功能。參考文獻1、潘永雄.新編單片機原理與應用. 西安電子科技大學出版社,2002年2、張友德,趙志英,涂時亮.單片機微型機原理應用與實驗. 復旦大學出版社,2000年3、周航慈、朱兆優(yōu)、李躍忠.智能儀器原理與設計. 北京航空航天大學出版社,2005;4、江秀漢.可編程序控制器原理及應用(第二版).西安電子科技大學出版社,2003;5、沈慶陽、郭庭吉.單片機實踐與應用.清華大學出版社,2002;6、竇振中.單片機外圍器件實用手冊存儲器分冊.北京航空航天大學出版社,1998; 7、關德新,馮文全.單片機外圍器件實用手冊電源器件分冊.北京航空航天大學出版社,1998;8、何立民.單片機應用技術選編(1).北京航空航天大學出版社,1993。9、李建忠.單片機原理及運用. 西安電子科技大學出版社, 2001年 10、吳金戎、沈慶陽.8051單片機實踐與應用.清華大學出版社 ,2001年 11、趙曉安.MCS-51單片機原理及應用.天津大學出版社,2001年 12、馮建華、趙亮.單片機應用系統(tǒng)設計與產品開發(fā). 人民郵電出版社, 2004年 13、何立民.MCS51系列單片機應用系統(tǒng)設計.北京航空航天大學出版社, 1999年 14、李榮正、陳學軍.PIC單片機實驗教程. 北京航空航天大學出版社,2006年15、張義和、陳敵北.例說8051.人民郵電出版社,2006年致謝這次畢業(yè)設計的時間不是很長,畢業(yè)設計是自己獨立完成的,設計開始時對任務進行了按時分工,每天都要按時完成任務,這樣才能為順利完成好畢業(yè)設計提供時間基準。由于畢業(yè)設計是我獨立進行的設計,剛開始時,心里十分茫然,不知從何入手,通過指導老師的高度的責任感與敬業(yè)精神深深地感染了我,同時也深深的激勵著我奮進。通過畢業(yè)設計,使我對所學的理論知識有了更深更多的理解,操作能力也有了可喜的進步。我認為理論知識無論學得再好再透,畢竟是抽象的,在沒用于實踐前是毫無意義的,而四年的學習生活中我所缺少的就是理論和實踐的緊密結合。畢業(yè)設計則恰恰像一場及時雨,讓我們通過親身模擬學會如何把理論知識應用于實踐。給了我充分的鍛煉機會。獲益非淺!謝謝老師!附錄*主程序*/RST BIT P2.0I/O BIT P2.1SCLK BIT P2.2ORG 0026HLJMP STARTORG 000BHLJMP NEXTORG 0060HSTART:MOV TMOD,#01H MOV TH0,#0FCH MOV TL0,#48H MOV IE,#82H SETB TR0 ;啟動TR0LOOP:LCALL TRAID ;調用時間讀取子程序 LCALL DISPLAY1 ;時間顯示調用ONE:CJNE R2,#10,T1 LCALL DISPLAY2 ;鬧鐘時間顯示子程序 LCALL HOLD ;等待鍵按下 MOV A,R5 ;R5在顯示子程序中自減 JNZ ONE MOV R7,#04T1:CJNE R2,#11,TWO LCALL DISPLAY1 ;時間顯示子程序 LCALL HOLD DJNZ R7,T1 LCALL WRTC ;時間寫入時鐘芯片程序TWO: ;鬧鐘時間比較程序 CJNE RO,#0FFH,T4 ;判斷鬧鐘開/關 LCALL TO-2 JBC F0,T2 AJMP LOOPT2:SETB P1.7 ;鬧鐘響起 MOV R7,#04 LCALL DISPLAY2 ;代碼顯示子程序 MOV R0,#3EH ;取代碼程序GO:ACALL HOLDTHREE:MOV A,R2 ;B存放的是鍵碼 ACALL DISPLAY2 CJNE A,R0,T3 AJMP T4T3:ACALL HOLD ;等待鍵按下 AJMP THREE T4:DJNZ R7,GO CLR P1.7LJMP LOOP MEXT:CLR TF0 MOV TH0,#0FCH MOV TL0,#18H MOV IE,#82H SETB TR0 RETIEND*比較程序*TO-2:PUSH A MOV A,33H XRL A,43H JNZ TO-END MOV A,32H XRL A,42H JNZ TO-END MOV A,31H XRL A,41H JNZ TO-END MOV A,30H XRL A,40H JNZ TO-END SETB F0 SETB P1.7TO-END:POP A RET*存時間與鬧鐘*WORD11:MOV R5,#00H INC R5 CJNE R5,#05H,RET11 MOV R5,#00HRET11:LJMP JZKEYWORD10:MOV R5,#00H INC R5 CJNE R5,#05H,RET10 MOV R5,#00HRET10:LJMP JZKEYWORD9:CJNE R5,#01H,RET9 ACALL GEWEIRET9:RETWORD8:CJNE R5,#01H,RET8 ACALL GEWEIRET8:RETWORD7:CJNE R5,#01H,RET7 ACALL GEWEIRET7:RETWORD6:CJNE R5,#01H,RET6 ACALL GEWEIRET6:RETWORD5:CJNE R5,#01H,RR5 ACALL GEWEI LJMP RET5RR5:CJNE R5,#02H,RET5 ACALL SHIWEIRET5:RETWORD4:CJNE R5,#01H,RR4 ACALL GEWEI LJMP RET4RR4:CJNE R5,#02H,RRR4 ACALL SHIWEI LJMP RET4RRR4:CJNE R5,#03H,RET4 ACALL BAIWEIRET4:RETWORD3:CJNE R5,#01H,RR3 ACALL GEWEI LJMP RET3RR3:CJNE R5,#02H,RRR3 ACALL SHIWEI LJMP RET3RRR3:CJNE R5,#03H,RET3 ACALL BAIWEIRET3:RETWORD2:CJNE R5,#01H,RR2 ACALL GEWEI LJMP
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年重慶貨運從業(yè)資格證模擬試題答案大全及答案
- 2025年貴州貨運從業(yè)資格證500道題目答案
- 2025年池州道路貨運駕駛員從業(yè)資格證考試
- 2025年巴彥淖爾貨運從業(yè)資格證考試模擬考試
- 病人護理服務合同(2篇)
- 北京課改版歷史七年級下冊第2課《貞觀之治》聽課評課記錄
- 2024-2025學年八年級數學上冊第十三章軸對稱13.1軸對稱教案新版新人教版
- 2024-2025學年高中數學課時分層作業(yè)13向量的概念含解析新人教B版必修4
- 2024-2025學年七年級數學上冊第1章有理數1.5有理數的乘法和除法作業(yè)設計新版湘教版
- 英語七年級聽評課記錄
- 西門子starter軟件簡易使用手冊
- 暢捷通g6財務管理系統(tǒng)專業(yè)版使用手冊
- 化工儀表及自動化ppt課件匯總全套ppt完整版課件最全教學教程整套課件全書電子教案全套電子講義
- 2022注冊電氣工程師專業(yè)考試規(guī)范清單匯總
- 桂花-作文ppt-PPT課件(共14張)
- 高一數學概率部分知識點總結及典型例題解析 新課標 人教版 必修
- 鐵路運費計算方法
- 《小腦梗死護理查房》
- 免疫及炎癥相關信號通路
- 某風電場設備材料設備清單
- —橋梁專業(yè)施工圖設計審查要(終)
評論
0/150
提交評論