應(yīng)用單片機(jī)電子鬧鐘設(shè)計(jì)_第1頁
應(yīng)用單片機(jī)電子鬧鐘設(shè)計(jì)_第2頁
應(yīng)用單片機(jī)電子鬧鐘設(shè)計(jì)_第3頁
應(yīng)用單片機(jī)電子鬧鐘設(shè)計(jì)_第4頁
應(yīng)用單片機(jī)電子鬧鐘設(shè)計(jì)_第5頁
已閱讀5頁,還剩30頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

word文檔可自由復(fù)制編輯word文檔可自由復(fù)制編輯高職專業(yè)畢業(yè)論文(設(shè)計(jì))應(yīng)用單片機(jī)電子鬧鐘設(shè)計(jì)

摘要51電子鬧鐘是集電子技術(shù)、數(shù)字顯示技術(shù)為一體的高產(chǎn)品,具有按時(shí)鬧鈴,使用方便等優(yōu)點(diǎn)。本論文從51電子鬧鐘系統(tǒng)的功能,硬件電路設(shè)計(jì),軟件設(shè)計(jì)和產(chǎn)品介紹四部分分別論述這一系統(tǒng)。本系統(tǒng)51電子鬧鐘硬件部分結(jié)構(gòu)簡單、成本低,具有比較好的市場(chǎng)前景?,F(xiàn)代的快節(jié)奏生活給人們的精神上帶來了很大壓力。如何排解或緩解這些壓力已經(jīng)成為很多人和探索者多年來的一個(gè)重要研究項(xiàng)目,電子鬧鐘關(guān)鍵詞:51電子鬧鐘;單片機(jī);數(shù)碼管顯示

目錄摘要 I一、緒論 1(一)概述 11.51電子鬧鐘發(fā)展趨勢(shì) 12.本課題研究的主要內(nèi)容 1(二)51電子鬧鐘簡介 11.開發(fā)的目的和意義 12.51電子鬧鐘的優(yōu)點(diǎn) 23.51電子鬧鐘的特點(diǎn) 2二、系統(tǒng)方案的設(shè)計(jì) 3(一)系統(tǒng)概述 31.系統(tǒng)功能描述 32.系統(tǒng)方案的確定 33.系統(tǒng)設(shè)計(jì)思路與步驟 3(二)芯片基本工作原理及其應(yīng)用 41.AT89S51簡介 42.引腳介紹 53.電源 64.存儲(chǔ)器 65.應(yīng)用 6(三)LM386簡介 61.LM386介紹 62.LM386特點(diǎn) 6(四)74HC245簡介 7三、系統(tǒng)的設(shè)計(jì) 8(一)系統(tǒng)硬件設(shè)計(jì) 81.單片機(jī)系統(tǒng)的設(shè)計(jì) 82.按鍵電路的設(shè)計(jì) 93.復(fù)位電路的設(shè)計(jì) 94.顯示電路的設(shè)計(jì) 11(二)系統(tǒng)軟件的設(shè)計(jì) 111.軟件設(shè)計(jì) 112.整個(gè)系統(tǒng)軟件部分的總體設(shè)計(jì) 15四、系統(tǒng)的調(diào)試和性能分析 16(一)系統(tǒng)的調(diào)試方法 161.輸入按鍵的調(diào)試 162.復(fù)位電路的調(diào)試 163.顯示電路的調(diào)試 164.整個(gè)系統(tǒng)的聯(lián)調(diào) 16(二)系統(tǒng)的性能分析 16結(jié)論 18參考文獻(xiàn) 19致謝 20附錄A原理圖 21附錄B(程序) 22word文檔可自由復(fù)制編輯一、緒論(一)概述電子鬧鐘在科學(xué)技術(shù)高度發(fā)展的今天,千家萬戶都少不了它,所以很多家庭個(gè)人都需要有一個(gè)電子鬧鐘,為人們提供報(bào)時(shí)方便,但普通電子鬧鐘不夠方便實(shí)用。本文給出了一種以51芯片電子鬧鐘設(shè)計(jì)方法,從而給人們帶來更為方便的工作與生活。1.51電子鬧鐘發(fā)展趨勢(shì)現(xiàn)代的快節(jié)奏生活給人們的精神上帶來了很大壓力。如何排解或緩解這些壓力已經(jīng)成為很多人關(guān)心的問題。單片機(jī)電子鬧鐘是具發(fā)前鬧鐘創(chuàng)新性的系統(tǒng),它代表了時(shí)代的發(fā)展趨勢(shì)。2007年,無論從國內(nèi)外行業(yè)發(fā)展趨勢(shì),還是從鬧鐘市場(chǎng)準(zhǔn)入的要求來看,節(jié)能、環(huán)保、創(chuàng)新都已成為中國家電企業(yè)無法回避的大問題。在原材料價(jià)格不斷上漲、下游渠道商實(shí)力膨脹、價(jià)格戰(zhàn)越來越激烈、行業(yè)利潤日趨微薄的背景下,日前,中國的電子鬧鐘在節(jié)能化、環(huán)?;?、創(chuàng)新型轉(zhuǎn)變過程中,正進(jìn)行新一輪鬧鐘賽跑。目前,國內(nèi)專業(yè)51電子鬧鐘廠家的數(shù)量正在迅速增長。51電子鬧鐘市場(chǎng)在未來的三五年內(nèi)會(huì)高速增長,新技術(shù)、新產(chǎn)品也會(huì)不斷出現(xiàn)并投入應(yīng)用。2.本課題研究的主要內(nèi)容設(shè)計(jì)一個(gè)51電子鬧鐘(1)能隨意設(shè)定走時(shí)起始時(shí)間。(2)12小時(shí)/24小時(shí)兩種制式可選,以適應(yīng)不同的需要。(3)能指示秒節(jié)奏,即秒指示(4)采用交直流供電電源。與石英鐘不同的是,電子鐘一般采用數(shù)碼管等顯示介質(zhì),因而必須以交流供電為主,以直流電源為后備輔助電源,并能自動(dòng)切換。該設(shè)計(jì)主要包括:按鍵、顯示程序單元部分。、AT89S51單片機(jī)芯片、74HC245驅(qū)動(dòng)LED顯示電路,集成電路74HC245和LM386各1個(gè).(二)51電子鬧鐘簡介1.開發(fā)的目的和意義目的:設(shè)計(jì)一個(gè)51電子鬧鐘的,該鬧鐘可由使用者自己設(shè)定一個(gè)時(shí)間,若想設(shè)置鬧鈴,應(yīng)先按下復(fù)位按鍵,然后長時(shí)間按下"設(shè)置"按鍵,第一個(gè)數(shù)碼管會(huì)顯示”C”,然后變?yōu)椤?0-00-00”,此時(shí)進(jìn)入鬧鈴設(shè)置狀態(tài),設(shè)置方法跟上面一樣,鬧鈴設(shè)置完后,下一步要設(shè)置當(dāng)前時(shí)間,調(diào)整方法跳到第一步。這樣設(shè)置好后,她就能按照主人的意思,定時(shí)的把你鬧醒啦!意義:電子鬧鐘已經(jīng)是現(xiàn)代生活中經(jīng)常用到的工具之一,傳統(tǒng)的電子鬧鐘只是機(jī)械控制,另外,體積也很大,又不美觀也不實(shí)用.而現(xiàn)在我設(shè)計(jì)的電子鬧鐘是用單片機(jī)做的.只要簡單的設(shè)置好后,她就能按照主人的意思,定時(shí)的把你鬧醒啦!也能給人們的生活帶來方便。2.51電子鬧鐘的優(yōu)點(diǎn)(1)、簡單好用、美觀、體積小、實(shí)用。(2)、用電量少、電壓低,節(jié)能、環(huán)保、創(chuàng)新。按鍵、顯示程序單元部分。AT89S51單片機(jī)芯片、74HC245驅(qū)動(dòng)LED顯示電路。外接3個(gè)按鈕組成鍵盤,AT89S51為51內(nèi)核。另外,AT89S51本身無專門的液晶驅(qū)動(dòng)接口,因此,本時(shí)鐘采用數(shù)碼管顯示方式。數(shù)碼管作為一種主動(dòng)顯示器件,具有亮度高、價(jià)格便宜等優(yōu)點(diǎn),而且市場(chǎng)上也有專門的時(shí)鐘顯示組合數(shù)碼管。51電子鬧鐘的用途:我設(shè)計(jì)的電子鬧鐘是用單片機(jī)做的.只要簡單的設(shè)置好后,她就能按照主人的意思,定時(shí)的把你鬧醒啦!也能給人們的生活、工作學(xué)習(xí)帶來方便。3.51電子鬧鐘的特點(diǎn)1.幫助您排解或緩解那些來自現(xiàn)實(shí)生活的壓力2.數(shù)碼管作為一種主動(dòng)顯示器件,亮度高、價(jià)格便宜等,顯示數(shù)字清晰。3.簡單好用,可任意設(shè)24式時(shí)間。4.使用LED發(fā)光,省電,燈泡壽命長。

二、系統(tǒng)方案的設(shè)計(jì)(一)系統(tǒng)概述1.系統(tǒng)功能描述本系統(tǒng)是利用AT89S51為51內(nèi)核,集成電路74HC245和LM386各1個(gè).制作完成一個(gè)電子鬧鐘,該設(shè)計(jì)中采用液晶顯示或數(shù)碼管顯示,因此,本時(shí)鐘采用數(shù)碼管顯示方式。充分體現(xiàn)系統(tǒng)的簡易性。使我們了解簡易鬧鐘的設(shè)計(jì)方法,并自己動(dòng)手設(shè)計(jì)電路和編寫實(shí)現(xiàn)鬧鐘功能的程序。簡易鬧鐘要實(shí)現(xiàn)以下功能:1、、能正確顯示鬧鐘的走時(shí)2、可以進(jìn)行當(dāng)前時(shí)間的設(shè)置3、可以設(shè)置鬧鐘時(shí)間,并在時(shí)間到時(shí)發(fā)出響聲。整個(gè)系統(tǒng)的任務(wù)要求:1)輸入數(shù)字按鍵的功能。保證數(shù)字的輸入。2)復(fù)位電路的功能。所有時(shí)間回到初始化狀態(tài),用于啟動(dòng)設(shè)定時(shí)間參數(shù)(對(duì)時(shí)或定鬧);3)顯示電路的功能。當(dāng)輸入數(shù)字時(shí)顯示24小時(shí)時(shí)間功能。4)鬧鈴功能設(shè)置好鬧鈴時(shí)間后.能按設(shè)置好的時(shí)間準(zhǔn)時(shí)鬧鈴。2.系統(tǒng)方案的確定根據(jù)以上各模塊并結(jié)合顯示屏的功能及元器件材料的情況,決定采用AT89S51為51內(nèi)核顯示設(shè)計(jì)方案。3.系統(tǒng)設(shè)計(jì)思路與步驟先進(jìn)行系統(tǒng)的整體規(guī)劃確定整個(gè)系統(tǒng)的功能,然后按照每個(gè)功能的具體要求,進(jìn)行各個(gè)模塊的實(shí)物設(shè)計(jì)并逐個(gè)調(diào)試,待全部通過后,進(jìn)行整個(gè)系統(tǒng)的聯(lián)調(diào),最終實(shí)現(xiàn)一個(gè)完整的系統(tǒng),并制成印刷線路板。整個(gè)系統(tǒng)的設(shè)計(jì)步驟如下:在單片機(jī)最小系統(tǒng)的基礎(chǔ)上,完成按鍵電路和復(fù)位電路的設(shè)計(jì)。完成顯示電路、數(shù)字按鍵、復(fù)位電路。具有3個(gè)功能按鍵: 1、在復(fù)位后的待機(jī)狀態(tài)下,用于啟動(dòng)設(shè)定時(shí)間參數(shù)(對(duì)時(shí)或定鬧);2、在設(shè)定時(shí)間參數(shù)狀態(tài)而且不是設(shè)定最低位(即分個(gè)位)的狀態(tài)下,用于結(jié)束當(dāng)前位的設(shè)定,當(dāng)前設(shè)定位下移;3、在設(shè)定最低位(分個(gè)位)的狀態(tài)下,用于結(jié)束本次時(shí)間設(shè)定。2)+1鍵,用于對(duì)當(dāng)前設(shè)定位(編輯位)進(jìn)行加1操作,根據(jù)12/24小時(shí)工作模式和正在編輯的當(dāng)前位的含義(時(shí)十位、時(shí)個(gè)位、分十位、分個(gè)位)自動(dòng)進(jìn)行數(shù)據(jù)的上限和下限判斷。例如,對(duì)12小時(shí)制,小時(shí)的十位只能是0、1,如果當(dāng)前值為0,則按+1鍵后為1,再按+1鍵則又回復(fù)到0。把以上各個(gè)模塊聯(lián)結(jié)起來,整體調(diào)試功能。整個(gè)系統(tǒng)的原理框圖如圖2-1所示CPUCPU按鍵與按鈕電路復(fù)位等輔助電路4位數(shù)碼管顯示電路鬧鈴聲光指示電路電源系統(tǒng)圖1整個(gè)系統(tǒng)的原理圖(二)芯片基本工作原理及其應(yīng)用1.AT89S51簡介AT89S51是一個(gè)低功耗,高性能CMOS8位單片機(jī),片內(nèi)含4kBytesISP(In-systemprogrammable)的可反復(fù)擦寫1000次的Flash只讀程序存儲(chǔ)器,器件采用ATMEL公司的高密度、非易失性存儲(chǔ)技術(shù)制造,兼容標(biāo)準(zhǔn)MCS-51指令系統(tǒng)及80C51引腳結(jié)構(gòu),芯片內(nèi)集成了通用8位中央處理器和ISPFlash存儲(chǔ)單元,功能強(qiáng)大的微型計(jì)算機(jī)的AT89S51可為許多嵌入式控制應(yīng)用系統(tǒng)提供高性價(jià)比的解決方案。2.引腳介紹AT89S51具有如下特點(diǎn):40個(gè)引腳,4kBytesFlash片內(nèi)程序存儲(chǔ)器,128bytes的隨機(jī)存取數(shù)據(jù)存儲(chǔ)器(RAM),32個(gè)外部雙向輸入/輸出(I/O)口,5個(gè)中斷優(yōu)先級(jí)2層中斷嵌套中斷,2個(gè)16位可編程定時(shí)計(jì)數(shù)器,2個(gè)全雙工串行通信口,看門狗(WDT)電路,片內(nèi)時(shí)鐘振蕩器。圖2引腳圖此外,AT89S51設(shè)計(jì)和配置了振蕩頻率可為0Hz并可通過軟件設(shè)置省電模式??臻e模式下,CPU暫停工作,而RAM定時(shí)計(jì)數(shù)器,串行口,外中斷系統(tǒng)可繼續(xù)工作,掉電模式凍結(jié)振蕩器而保存RAM的數(shù)據(jù),停止芯片其它功能直至外中斷激活或硬件復(fù)位。同時(shí)該芯片還具有PDIP、TQFP和PLCC等三種封裝形式,以適應(yīng)不同產(chǎn)品的需求。主要功能特性:·兼容MCS-51指令系統(tǒng)·32個(gè)雙向I/O口·2個(gè)16位可編程定時(shí)/計(jì)數(shù)器·全雙工UART串行中斷口線·2個(gè)外部中斷源·中斷喚醒省電模式·看門狗(WDT)電路·靈活的ISP字節(jié)和分頁編程·4k可反復(fù)擦寫(>1000次)ISPFlashROM·4.5-5.5V工作電壓·時(shí)鐘頻率0-33MHz·128x8bit內(nèi)部RAM·低功耗空閑和省電模式·3級(jí)加密位·軟件設(shè)置空閑和省電功能·雙數(shù)據(jù)寄存器指針3.電源89S51有很寬的工作電源電壓,電源范圍寬達(dá)4~5.5V.4.存儲(chǔ)器89S51支持ISP在線可編程寫入技術(shù)!串行寫入、速度更快、穩(wěn)定性更好,燒寫電壓也僅僅需要4~5V即可.5.應(yīng)用就目前中國市場(chǎng)的情況來看,89S51有很大的市場(chǎng)。其原因有下列幾點(diǎn):(1)AT89S51設(shè)計(jì)和配置了振蕩頻率可為0Hz并可通過軟件設(shè)置省電模式;(2)AT89S51是一個(gè)低功耗,高性能CMOS8位單片機(jī);(3)芯片內(nèi)集成了通用8位中央處理器和ISPFlash存儲(chǔ)單元,功能強(qiáng)大的微型計(jì)算機(jī)的AT89S51可為許多嵌入式控制應(yīng)用系統(tǒng)提供高性價(jià)比的解決方案。(4)同時(shí)該芯片還具有PDIP、TQFP和PLCC等三種封裝形式,以適應(yīng)不同產(chǎn)品的需求。(三)LM386簡介LM386是美國國家半導(dǎo)體公司生產(chǎn)的音頻功率放大器,主要應(yīng)用于低電壓消費(fèi)類產(chǎn)品。為使外圍元件最少,電壓增益內(nèi)置為20。但在1腳和8腳之間增加一只外接電阻和電容,便可將電壓增益調(diào)為任意值,直至200。輸入端以地位參考,同時(shí)輸出端被自動(dòng)偏置到電源電壓的一半,在6V電源電壓下,它的靜態(tài)功耗僅為24mW,使得LM386特別適用于電池供電的場(chǎng)合。專為低損耗電源所設(shè)計(jì)的功率放大器。1.LM386介紹LM386適用于電腦、儀器、汽車電子、電源、通信、開關(guān)電源等電子產(chǎn)品.2.LM386特點(diǎn)靜態(tài)功耗低,約為4mA,可用于電池供電。工作電壓范圍寬,4-12Vor5-18V。外圍元件少。電壓增益可調(diào),20-200。低失真度。(四)74HC245簡介由于通過數(shù)碼管公共及的電流較大,因此用三極管來驅(qū)動(dòng)位碼。為了避免過多地使用分立元件,采用了一片74HC245來驅(qū)動(dòng)段碼。

三、系統(tǒng)的設(shè)計(jì)一個(gè)完整的系統(tǒng),離不開硬件和軟件的設(shè)計(jì)。硬件與軟件各有所長,如何合理的安排軟硬件的任務(wù)是系統(tǒng)設(shè)計(jì)的第一步。(一)系統(tǒng)硬件設(shè)計(jì)系統(tǒng)硬件的設(shè)計(jì)可以根據(jù)系統(tǒng)的各個(gè)功能,把整個(gè)系統(tǒng)劃分成若干個(gè)模塊,分別對(duì)這些模塊來進(jìn)行設(shè)計(jì),然后在通過單片機(jī)程序來實(shí)現(xiàn)對(duì)各個(gè)硬件模塊功能的調(diào)度。本系統(tǒng)涉及到的硬件模塊有:按鍵電路、復(fù)位電路、顯示電路。1.單片機(jī)系統(tǒng)的設(shè)計(jì)單片機(jī)最小應(yīng)用系統(tǒng)實(shí)際上就是一個(gè)內(nèi)置程序存儲(chǔ)器的單片機(jī),可由單片機(jī)芯片,配以必要的外部器件構(gòu)成,這些外部功能器件無法集成到芯片內(nèi)部,主要有按鍵電路、顯示電路等。圖3單片機(jī)系統(tǒng)圖2.按鍵電路的設(shè)計(jì)作為一個(gè)按鍵從沒有按下到按下以及釋放是一個(gè)完整的過程,也就是說當(dāng)我們按下一個(gè)按鍵時(shí),總希望某個(gè)命令只執(zhí)行一次。而在按下的過程中不要有干擾進(jìn)來,因?yàn)樵诎聪碌倪^程中,一旦有干擾過來可能造成誤觸發(fā)過程,因此我們?cè)谠O(shè)計(jì)按鍵電路的時(shí)候應(yīng)注意不要有干擾進(jìn)來以用在焊接時(shí)應(yīng)注意:獨(dú)立式按鍵。如果設(shè)置過多按鍵,將會(huì)占用較多I/O口,而且會(huì)給布線帶來不便,因此,此方案適用于按鍵較少的情況。如果選擇此方案,由于按鍵較少,在修改時(shí)間或設(shè)置鬧鈴時(shí)間時(shí)就不能直接輸入,只能通過加或減完成,稍為麻煩一些,但其程序簡單。(1)執(zhí)錫補(bǔ)焊時(shí)應(yīng)按照從左到右,由上到下的順序,避免檢查時(shí)漏檢或焊接時(shí)漏修。(2)焊接時(shí)要經(jīng)常清洗烙鐵頭,防止烙鐵頭的雜物造成虛焊、針孔、加焊等不良發(fā)生。(3)

不要在基板上給烙鐵頭加焊錫,生產(chǎn)過程中不能抖錫、敲錫、甩錫,防止焊錫渣、焊錫

、珠掉到基板上面。(4)在壓件或拆件時(shí)要先在線路板的銅箔面上加焊錫,要求均勻加熱,避免松香失效或銅箔翹皮造成線路破壞??紤]到電路不要復(fù)雜性,因而設(shè)計(jì)成3個(gè)按鍵,一個(gè)為復(fù)位,其它2個(gè)為按數(shù)字時(shí)間的按鍵和確定設(shè)好的時(shí)間確定.后2個(gè)按鍵要接89C2051端.若想設(shè)置鬧鈴,應(yīng)先按下復(fù)位按鍵,然后長時(shí)間按下"設(shè)置"按鍵,第一個(gè)數(shù)碼管會(huì)顯示”C”,然后變?yōu)椤?0-00-00”,此時(shí)進(jìn)入鬧鈴設(shè)置狀態(tài),設(shè)置方法跟上面一樣,鬧鈴設(shè)置完后,下一步要設(shè)置當(dāng)前時(shí)間,調(diào)整方法跳到第一步。在復(fù)位后的待機(jī)狀態(tài)下,用于啟動(dòng)設(shè)定時(shí)間參數(shù)(對(duì)時(shí)或定鬧);在設(shè)定時(shí)間參數(shù)狀態(tài)而且不是設(shè)定最低位(即分個(gè)位)的狀態(tài)下,用于結(jié)束當(dāng)前位的設(shè)定,當(dāng)前設(shè)定位下移;在設(shè)定最低位(分個(gè)位)的狀態(tài)下,用于結(jié)束本次時(shí)間設(shè)定。2)+1鍵,用于對(duì)當(dāng)前設(shè)定位(編輯位)進(jìn)行加1操作,根據(jù)12/24小時(shí)工作模式和正在編輯的當(dāng)前位的含義(時(shí)十位、時(shí)個(gè)位、分十位、分個(gè)位)自動(dòng)進(jìn)行數(shù)據(jù)的上限和下限判斷。例如,對(duì)12小時(shí)制,小時(shí)的十位只能是0、1,如果當(dāng)前值為0,則按+1鍵后為1,再按+1鍵則又回復(fù)到0。3.復(fù)位電路的設(shè)計(jì)目前為止,單片機(jī)復(fù)位電路主要有四種類型:(1)微分型復(fù)位電路;(2)積分型復(fù)位電路;(3)比較器型復(fù)位電路;(4)看門狗型復(fù)位電路。另外,Maxim等公司也推出了專用于復(fù)位的專用芯片復(fù)位電路的基本功能是:系統(tǒng)上電時(shí)提供復(fù)位信號(hào),直至系統(tǒng)電源穩(wěn)定后,撤銷復(fù)位信號(hào)。為可靠起見,電源穩(wěn)定后還要經(jīng)一定的延時(shí)才撤銷復(fù)位信號(hào),以防電源開關(guān)或電源插頭分-合過程中引起的抖動(dòng)而影響復(fù)位。當(dāng)輸入的復(fù)位信號(hào)延續(xù)兩個(gè)機(jī)器周期以上的高電平時(shí)即為有效,用完成單片機(jī)的復(fù)位初始化操作。單片機(jī)目前已被廣泛地應(yīng)用于家電、醫(yī)療、儀器儀表、工業(yè)自動(dòng)化、航空航天等領(lǐng)域。市場(chǎng)上比較流行的單片機(jī)種類主要有Intel公司、Atmel公司和Philip公司的8051系列單片機(jī),Motorola公司的M6800系列單片機(jī),Intel公司的MCS96系列單片機(jī)以及Microchip公司的PIC系列單片機(jī)。無論用戶使用哪種類型的單片機(jī),總要涉及到單片機(jī)復(fù)位電路的設(shè)計(jì)。而單片機(jī)復(fù)位電路設(shè)計(jì)的好壞,直接影響到整個(gè)系統(tǒng)工作的可靠性。許多用戶在設(shè)計(jì)完單片機(jī)系統(tǒng),并在實(shí)驗(yàn)室調(diào)試成功后,在現(xiàn)場(chǎng)卻出現(xiàn)了“死機(jī)”、“程序走飛”等現(xiàn)象,這主要是單片機(jī)的復(fù)位電路設(shè)計(jì)不可靠引起的。圖1是一個(gè)單片機(jī)與大功率LED八段顯示器共享一個(gè)電源,并采用微分復(fù)位電路的實(shí)例。在這種情況下,系統(tǒng)有時(shí)會(huì)出現(xiàn)一些不可預(yù)料的現(xiàn)象,如無規(guī)律可循的“死機(jī)”、“程序走飛”等。而用仿真器調(diào)試時(shí)卻無此現(xiàn)象發(fā)生或極少發(fā)生此現(xiàn)象。又如圖2所示,在此圖中單片機(jī)復(fù)位采用另外一種復(fù)位電路。在此電路的應(yīng)用中,用戶有時(shí)會(huì)發(fā)現(xiàn)在關(guān)閉電源后的短時(shí)間內(nèi)再次開啟電源,單片機(jī)可能會(huì)工作不正常。這些現(xiàn)象,都可認(rèn)為是由于單片機(jī)復(fù)位電路的設(shè)計(jì)不當(dāng)引起的。圖4復(fù)位電路圖4.顯示電路的設(shè)計(jì)就時(shí)鐘而言,通常可采用液晶顯示或數(shù)碼管顯示。由于一般的段式液晶屏,需要專門的驅(qū)動(dòng)電路,而且液晶顯示作為一種被動(dòng)顯示,可視性相對(duì)較差;對(duì)于具有驅(qū)動(dòng)電路和微處理器接口的液晶顯示模塊(字符或點(diǎn)陣),一般多采用并行接口,對(duì)微處理器的接口要求較高,占用資源多。另外,89C2051本身無專門的液晶驅(qū)動(dòng)接口,因此,本時(shí)鐘采用數(shù)碼管顯示方式。數(shù)碼管作為一種主動(dòng)顯示器件,具有亮度高、價(jià)格便宜等優(yōu)點(diǎn),而且市場(chǎng)上也有專門的時(shí)鐘顯示組合數(shù)碼管。基于AT89S51單片機(jī)的控制系統(tǒng)包括四部分:數(shù)據(jù)采集、控制系統(tǒng)、時(shí)鐘電路、語音錄音電路和報(bào)音提示信息電路。用數(shù)碼管作為顯示器。數(shù)碼管的驅(qū)動(dòng)電路簡單,使用方便,如果選擇了此方案,那么在夜間看時(shí)間的時(shí)候就不需要有光源,非常方便。其缺點(diǎn)是功耗較大。由于數(shù)碼管使用起來較為方便,在夜間看時(shí)間也很方便,因此我們選擇了數(shù)碼管作為顯示器.發(fā)音部分:用軟件方法產(chǎn)生方波輸出,通過三極管放大后驅(qū)動(dòng)蜂鳴器發(fā)音,這樣就可以省去硬件振蕩電路,降低成本。(二)系統(tǒng)軟件的設(shè)計(jì)系統(tǒng)軟件的設(shè)計(jì)方法與硬件設(shè)計(jì)的方法是相同的,也是根據(jù)系統(tǒng)的各個(gè)功能,劃分成各個(gè)子模塊,分別對(duì)每個(gè)模塊來進(jìn)行設(shè)計(jì),然后在通過各個(gè)模塊之間的調(diào)用來實(shí)現(xiàn)整個(gè)系統(tǒng)的功能。系統(tǒng)軟件部分的設(shè)計(jì)模塊有:按鍵電路的軟件設(shè)計(jì)、復(fù)位電路的軟件設(shè)計(jì)、顯示電路的軟件設(shè)計(jì)共3個(gè)模塊。發(fā)音部分:用軟件方法產(chǎn)生方波輸出,通過三極管放大后驅(qū)動(dòng)蜂鳴器發(fā)音,這樣就可以省去硬件振蕩電路,降低成本。電源:如果是用電池供電,就比較方便攜帶,但是本系統(tǒng),采用了數(shù)碼管作為顯示器,功耗較大,需要經(jīng)常更換電池。況且,本系統(tǒng)的體積較大,即使使用電池供電也不能隨身攜帶,因此,用電池供電不大合適,所以用外部穩(wěn)壓電源來供電。1.軟件設(shè)計(jì)

軟件功能:(1)檢測(cè)按鍵。當(dāng)系統(tǒng)檢測(cè)到某個(gè)案件被按下時(shí),轉(zhuǎn)到相應(yīng)子程序處理,可實(shí)現(xiàn)校時(shí)、設(shè)定鬧鈴時(shí)間的功能。(2)顯示。系統(tǒng)通過調(diào)用顯示子程序,可將顯示緩沖區(qū)里的內(nèi)容通過動(dòng)態(tài)掃描方式輸出到數(shù)碼管顯示器。(3)計(jì)時(shí)。系統(tǒng)通過中斷和軟件計(jì)數(shù)器可產(chǎn)生秒信號(hào)。每到1s,系統(tǒng)將會(huì)調(diào)整時(shí)間存儲(chǔ)單元的內(nèi)容,從而實(shí)現(xiàn)計(jì)時(shí)功能。(4)比較。每當(dāng)秒存儲(chǔ)單元的內(nèi)容為0時(shí),系統(tǒng)通過調(diào)用比較子程序可判斷當(dāng)前時(shí)間是否符合鬧鈴條件,若符合,則調(diào)用發(fā)音子程序使蜂鳴器發(fā)出鬧鈴聲音。(5)產(chǎn)生音頻方波輸出。系統(tǒng)通過軟件產(chǎn)生音頻方波輸出使蜂鳴器發(fā)聲,這樣可以省去硬件振蕩電路。(6)拆分。為了提高存儲(chǔ)單元的利用率,本系統(tǒng)將時(shí)間數(shù)據(jù)壓縮成壓縮BCD碼后再送入顯存才能顯示。(7)合并。為了提高修改時(shí)間的速度,可先對(duì)現(xiàn)存內(nèi)容逐位修改,然后調(diào)用合并子程序把顯存內(nèi)容合并后送入指定存儲(chǔ)單元。(8)設(shè)定。系統(tǒng)進(jìn)入設(shè)定狀態(tài)后,可通過按“設(shè)定”鍵改變閃亮位位置和按“+”或“-”鍵來加1或減1閃亮位內(nèi)容,從而達(dá)到報(bào)時(shí)和設(shè)定鬧鈴時(shí)間的目的。軟件設(shè)計(jì):圖5T0中斷服務(wù)程序流程圖圖6電路流程圖系統(tǒng)功能及使用方法:系統(tǒng)上電后,自動(dòng)進(jìn)入時(shí)鐘狀態(tài)。若在此時(shí)按下“設(shè)定”鍵,顯示器上將出現(xiàn)閃亮位,再按“+”或“-”則可以加或減閃亮位內(nèi)容,修改完一位后再按“設(shè)定”可改變閃亮位位置繼續(xù)修改下一位。修改完成后按“確定”鍵即可退出設(shè)定狀態(tài)進(jìn)入正常顯示時(shí)鐘狀態(tài)。在正常顯示時(shí)鐘狀態(tài)時(shí)按下“鬧鐘”鍵可進(jìn)入鬧鐘狀態(tài),此時(shí)按“+”或“-”可上下翻動(dòng)鬧鐘表;按“設(shè)定”鍵可修改當(dāng)前顯示的鬧鐘時(shí)間,修改方法與修改時(shí)鐘相同。在查看鬧鐘表狀態(tài)下按“鬧鐘”鍵可以開/關(guān)當(dāng)前顯示的鬧鐘時(shí)間,當(dāng)顯示器第5位顯示“-”時(shí)表示鬧鈴已開。按“時(shí)鐘”鍵返回正常顯示時(shí)鐘狀態(tài)。若想設(shè)置鬧鈴,應(yīng)先按下復(fù)位按鍵,然后長時(shí)間按下"設(shè)置"按鍵,第一個(gè)數(shù)碼管會(huì)顯示”C”,然后變?yōu)椤?0-00-00”我們先了解簡易鬧鐘的設(shè)計(jì)方法,并自己動(dòng)手設(shè)計(jì)電路和編寫實(shí)現(xiàn)鬧鐘功能的程序。簡易鬧鐘要實(shí)現(xiàn)以下功能:1、、能正確顯示鬧鐘的走時(shí)2、可以進(jìn)行當(dāng)前時(shí)間的設(shè)置3、可以設(shè)置鬧鐘時(shí)間,并在時(shí)間到時(shí)發(fā)出響聲。設(shè)計(jì)中,我們利用儀器中所提供的以上提到的芯片和軟件編程結(jié)合的思路。本設(shè)計(jì)的軟件編程由四部分構(gòu)成,下面將對(duì)照程序的構(gòu)成來闡述我們組對(duì)簡易鬧鐘的方案設(shè)計(jì),具體設(shè)計(jì)方案如下:(一)在主程序中,填寫中斷向量表,應(yīng)用8255A的IRQ7和IRQ5端。利用8253A和8259A完成計(jì)時(shí)一秒的功能,然后通過更新時(shí)間的子程序完成時(shí)間跳變的功能,待到新的時(shí)間判斷是否到達(dá)設(shè)定的鬧鐘的時(shí)間,如果是,則啟動(dòng)揚(yáng)聲器;如果否,則繼續(xù)進(jìn)行顯示時(shí)間。(二)鬧鐘的時(shí)間是變化的,在更新時(shí)間的子程序中,首先判斷更改后的秒數(shù)是否小于10,如果是,則返回主程序;如果否,則秒的個(gè)位跳變成0,秒的十位加一;再次判斷秒的十位,過程同判斷秒的個(gè)位相同。(三)簡易鬧鐘最重要的功能就是“It’stimetodosomething!”在這部分,主要要考慮的也是判斷當(dāng)前時(shí)間是不是設(shè)定的鬧鐘時(shí)間。如果跳變后的時(shí)間的四位完完全全的和設(shè)定的鬧鐘時(shí)間相同,則揚(yáng)聲器應(yīng)該響起,提示鬧鐘的主人“Timeisup!”從鬧鐘的分鐘的十位開始依次判斷,如果前一個(gè)鬧鐘位的顯示與設(shè)定的鬧鐘時(shí)間對(duì)應(yīng)位相同,則轉(zhuǎn)入判斷下一位;如果不相同,則返回主程序。都判斷后,如果都相同,則設(shè)置啟動(dòng)鬧鐘的對(duì)應(yīng)位為1,啟動(dòng)揚(yáng)聲器。(四)在顯示時(shí)間的子程序中,時(shí)間從0,0,0,0開始顯示。四位數(shù)字的顯示各由一段程序完成。2.整個(gè)系統(tǒng)軟件部分的總體設(shè)計(jì)在各個(gè)模塊的軟件設(shè)計(jì)完成后,便可以對(duì)整個(gè)系統(tǒng)進(jìn)行整體的軟件設(shè)計(jì)。其根本的設(shè)計(jì)思路是通過設(shè)置一些聯(lián)系信號(hào),把原本功能獨(dú)立的各個(gè)模塊聯(lián)結(jié)在一起,從而實(shí)現(xiàn)整體系統(tǒng)的功能。四、系統(tǒng)的調(diào)試和性能分析(一)系統(tǒng)的調(diào)試方法整個(gè)系統(tǒng)調(diào)試的主要思想是:先每個(gè)模塊進(jìn)行調(diào)試,然后整個(gè)系統(tǒng)一起調(diào)試。先軟硬件分開調(diào)試,然后一起調(diào)試。遵循先部分后整體的原則。系統(tǒng)的在調(diào)試過程中要注意以下幾點(diǎn):(1)硬件電路焊完之后,在上電之前一定要先用萬用表檢測(cè)電源和地之間是否短路。(2)上電之后要用示波器觀察信號(hào)的在電路中變化的情況,與設(shè)計(jì)當(dāng)初的情況相比較,找出差別,并進(jìn)行分析。(3)軟件調(diào)試過程中可以使用斷點(diǎn)、單步執(zhí)行等常用的方法。(4)軟硬件聯(lián)調(diào)時(shí),要注意軟件部分要一個(gè)功能一個(gè)功能的調(diào)試。1.輸入按鍵的調(diào)試輸入按鍵的調(diào)試,只要按鍵按下去時(shí),按鍵有相應(yīng)的反應(yīng)就行,通過程序來判斷,單片機(jī)I/O是否能夠識(shí)別出。2.復(fù)位電路的調(diào)試當(dāng)電源剛接通時(shí),接通電源就完成了系統(tǒng)的初始化。3.顯示電路的調(diào)試在本設(shè)計(jì)中,顯示電路只需完成,當(dāng)輸入數(shù)字時(shí)能正確顯示數(shù)字.4.整個(gè)系統(tǒng)的聯(lián)調(diào)在系統(tǒng)各個(gè)部分都調(diào)試完畢之后,即可以進(jìn)行整個(gè)系統(tǒng)的調(diào)試。由于前面各個(gè)部分的調(diào)試做的都比較充分,所以在實(shí)際調(diào)試過程中,能夠較順利的實(shí)現(xiàn)整個(gè)系統(tǒng)預(yù)期的功能。(二)系統(tǒng)的性能分析系統(tǒng)能在設(shè)定的時(shí)間內(nèi)鬧鈴,但聲音有點(diǎn)沙啞。這是因?yàn)榭刂品澍Q器的I/O口每次取反后,必須調(diào)用一次顯示子程序后才能再次取反,否則在發(fā)音期間不能顯示,而調(diào)用一次顯示子程序需要的時(shí)間大約為6ms(6位每位1ms),所以振蕩頻率f=1/T=1/(2*6ms)≈83Hz,顯然這個(gè)頻率過低,這就是造成聲音沙啞的原因。經(jīng)測(cè)試,其時(shí)鐘誤差約為3秒/天,這是因?yàn)閺亩〞r(shí)器向CPU發(fā)出中斷申請(qǐng)信號(hào)到重裝定時(shí)初值的過程需要一定的時(shí)間。本系統(tǒng)通過測(cè)試,能夠?qū)崿F(xiàn)以下功能:(1)按鍵輸入。(2)鬧鈴聲音。(3)LED顯示。結(jié)論本次畢業(yè)設(shè)計(jì)我很早就開始準(zhǔn)備,并且先自己買器件動(dòng)手制作,因此能夠較早的完成全部的設(shè)計(jì)任務(wù)。通過本次設(shè)計(jì),使自己在單片機(jī)應(yīng)用系統(tǒng)設(shè)計(jì)方面的能力有了長足進(jìn)步。本次畢業(yè)設(shè)計(jì)應(yīng)用單片機(jī)電子鬧鐘的設(shè)計(jì)與制作,作為一種智能化產(chǎn)品,具有成本低,使用方便,可靠性高和可擴(kuò)展性強(qiáng)的特點(diǎn)。參考文獻(xiàn)1.李捷,陳典濤等,一種應(yīng)用單片機(jī)電子鬧鐘的設(shè)計(jì)與制作設(shè)計(jì)[J],農(nóng)機(jī)化研究,2005。2.陳明熒.8051單片機(jī)課程設(shè)計(jì)實(shí)訓(xùn)教材北京:清華大學(xué)出版社2004

3.胡漢才.單片機(jī)原理及其接口技術(shù)北京:清華大學(xué)出版社1995

4.徐淑華程退安姚萬生.單片機(jī)微型機(jī)原理及應(yīng)用哈爾濱工業(yè)大學(xué)出版社19945.丁元杰.《單片機(jī)原理與應(yīng)用》.機(jī)械工業(yè)出版社出版.2003年2月.58-676.朱定華.《單片機(jī)原理及接口技術(shù)》.電子工業(yè)出版社出版.2004年5月.32-467.何立民.《單片機(jī)應(yīng)用系統(tǒng)設(shè)計(jì)系統(tǒng)配置與接口技術(shù)》.北京航空航天大學(xué)出版社出版.2005年2月.16-458.江曉安、董秀峰.《模擬電子技術(shù)》.西安電子科技大學(xué)出版社.2003年9月.46-1109.陸坤.《電子設(shè)計(jì)技術(shù)》.成都電子科技大學(xué)出版社.1996年5月.31-76

致謝在論文即將完成之際,我首先向關(guān)心幫助和指導(dǎo)我的導(dǎo)師王殿學(xué)老師表示衷心的感謝并致以崇高的敬意!在論文工作中,一直得到王老師的悉心指導(dǎo)。王老師以其淵博的學(xué)識(shí)、嚴(yán)謹(jǐn)?shù)闹螌W(xué)態(tài)度、求實(shí)的工作作風(fēng)和她敏捷的思維、飽滿的工作熱情以及對(duì)我的耐心指導(dǎo)和嚴(yán)格要求給我留下了深刻的印象,使我在理論和實(shí)際應(yīng)用兩方面的能力都得到了很大的提高,使我受益匪淺。王老師治學(xué)嚴(yán)謹(jǐn)、待人誠懇,他我還要感謝我的同學(xué)們,他們?cè)诋厴I(yè)設(shè)計(jì)期間給我了莫大的支持與幫助,為我提供了一個(gè)良好的學(xué)習(xí)和生活環(huán)境,并且對(duì)于我提出的任何難題都給予熱心、耐心的解答,使我受益頗深。感謝應(yīng)用電子技術(shù)專業(yè)的全體老師對(duì)我的諄諄教導(dǎo),你們的教誨將使我受益終生。感謝全體同學(xué),你們的關(guān)心和友愛使我很感動(dòng)!感謝我的父母對(duì)我的養(yǎng)育之恩!感謝所有幫助過我的人們!最后,再次感謝王殿學(xué)

附錄A原理圖

附錄B(程序) ;;;;;;;;定義變量;;;;;;;;;S1 EQU P3.4 ;按鍵JIA EQU P3.5 SECL EQU 24H ;各個(gè)顯示單元SECH EQU 25HHENGXIAN EQU 26HMINUL EQU 27HMINUH EQU 28HHENG EQU 29HHOURL EQU 2AHHOURH EQU 2BH SECOND EQU 2DH ;秒變量單位COUNT EQU 2EH ;溢出中斷計(jì)數(shù)器SETFLAG EQU 20H HH EQU 00H ;移位時(shí)用到的單元HL EQU 01HMH EQU 02HML EQU 03HWARNSL EQU 2FHWARNSH EQU 30HWARNML EQU 32H ;報(bào)警分低位WARNMH EQU 33H ;報(bào)警分高位WARNHL EQU 35H ;報(bào)警時(shí)低位WARNHH EQU 36H ;報(bào)警時(shí)高位WARNCNT EQU 37H ;已設(shè)定鬧鈴時(shí)間標(biāo)志W(wǎng)ARNING BIT 0CH ;鬧鈴標(biāo)志W(wǎng)ARNSETTED BIT 0DH ;已設(shè)定鬧鈴時(shí)間標(biāo)志 ;;;;;;;誤差修正;;;;;;;;;;;;;;;TFIX BIT 0EH ;開始修正標(biāo)志N EQU 60 ;誤差值,單位:1/10s,默認(rèn)為0,即不修正 ;;;;;;;;;;;;程序入口地址;;;;;;;;;;;;;; ORG 0000H LJMP MAIN ORG 000BH ;定時(shí)器T0溢出中斷入口 LJMP TIMER0 ORG 0030H ;;;;;;;;主程序;;;;;;;;;;;;;;;MAIN: MOV SP,#60H ;堆棧設(shè)置 CLR TFIX ;誤差開始修正標(biāo)志初始化 MOV COUNT,#0 LCALL SYS_INIT ;系統(tǒng)初始化 LCALL T0_INIT ;定時(shí)器初始化 LCALL SETTIME ;等待設(shè)置當(dāng)前時(shí)間 MAIN_0: MOV IE,#80H ;設(shè)置完后開始走時(shí),啟動(dòng)定時(shí)器T0 SETB TR0 ;允許T0溢出中斷 ; LCALL DELAY10MS LCALL DISPLAY1 ;;;;;;;;;;;系統(tǒng)初始化子程序;;;;;;;;;SYS_INIT: MOV IE,#00H ;關(guān)中斷 MOV R0,#20 ;清變量 MOV R1,#10H MOV A,#00HSYS_0: MOV @R0,A INC R0 DJNZ R1,SYS_0 RET ;;;;;;;;定時(shí)器、串口初始化;;;;;;;;;;;;;T0_INIT: MOV TMOD,#01H MOV TH0,#3CH MOV TL0,#0B0H RET ;;;;;;;;;;;;;鬧鈴時(shí)間設(shè)定;;;;;;;;;;;SETWARN: MOV WARNHH,#0 MOV WARNHL,#0 MOV WARNMH,#0 MOV WARNML,#0 MOV WARNSH,#0 MOV WARNSL,#0 MOV SETFLAG,#00 SETB HHKAISHI_NAO: LCALL DISPLAYNEW1SETW_1: JB S1,LOOP3 LCALL DELAY10MS JB S1,LOOP3 JNB S1,$ JB ML,LOOPW1 MOV A,SETFLAG RL A ;當(dāng)前位右移l位(標(biāo)志左移1位) MOV SETFLAG,A ;回存 SJMP SET_W2LOOP3: LJMP SET_W2LOOPW1: LJMP KAISHI1SET_W2: LCALL DISPLAYNEW1 JB JIA,SETW_1 LCALL DELAY10MS JB JIA,SETW_1 JNB JIA,$ JNB HH,SHI_W2 ;為真,則當(dāng)前位滅 INC WARNHH MOV A,WARNHH XRL A,#3 JZ SET_W1_1 LJMP KAISHI_NAOSET_W1_1: MOV WARNHH,#0 LJMP KAISHI_NAOSHI_W2: JNB HL,FEN_W1 INC WARNHL MOV A,WARNHH CJNE A,#2,SHI_W2_1 MOV A,WARNHL XRL A,#05H ;小時(shí)低位只能是0-4 JZ SET_W21 LJMP KAISHI_NAOSHI_W2_1: MOV A,WARNHL XRL A,#0AH JZ SET_W21 LJMP KAISHI_NAOSET_W21: MOV WARNHL,#0 LJMP KAISHI_NAOFEN_W1: JNB MH,FEN_W2 INC WARNMH MOV A,WARNMH XRL A,#6 JZ SET_W22 LJMP KAISHI_NAOSET_W22: MOV WARNMH,#0 LJMP KAISHI_NAOFEN_W2: INC WARNML MOV A,WARNML XRL A,#0AH JZ SET_W23 LJMP KAISHI_NAOSET_W23: MOV WARNML,#0 LJMP KAISHI_NAO ;;;;;;;設(shè)置時(shí)間鬧鈴掃描;;;;;;;;;;DISPLAYNEW1: MOV A,#0AH MOV 31H,A MOV 34H,A MOV R0,#2FH MOV R3,#0FEHPLAYNEW1: MOV A,R3 MOV P2,A MOV A,@R0 MOV DPTR,#TABLE MOVC A,@A+DPTR MOV P0,A LCALL DELAY1MS INC R0 MOV A,R3 JNB ACC.7,LOOP2 RL A MOV R3,A SJMP PLAYNEW1LOOP2: RET ;;;;;;;;;;;;;時(shí)間調(diào)整;;;;;;;;;;;SETTIME: MOV HOURH,#0 MOV HOURL,#0 MOV MINUH,#0 ;計(jì)時(shí)無保存,可能是鬧鈴沒進(jìn)去 MOV MINUL,#0 MOV SECH,#0 MOV SECL,#0 MOV SETFLAG,#00 SETB HH PANLING: LCALL DISPLAYNEW JB S1,PANLING LCALL DELAY100MS LCALL DELAY100MS LCALL DELAY100MS LCALL DELAY100MS LCALL DELAY100MS JB S1,KAISHI1; LCALL DELAY10MS JNB S1,SETC_1;;;;;;;;;;;;;;;;;;;;;;;;;;;;按住時(shí)間更長為設(shè)置鬧鈴,第一個(gè)數(shù)碼管顯示為"C"SETNAO: SETB WARNSETTED LCALL SETWARNSETC_1: LCALL SETCKAISHI1: MOV HOURH,#0 MOV HOURL,#0 MOV MINUH,#0 MOV MINUL,#0 MOV SECH,#0 MOV SECL,#0 MOV SETFLAG,#00 SETB HHKAISHI: LCALL DISPLAYNEWSET_1: JB S1,SET_2 LCALL DELAY10MS JB S1,SET_2 JNB S1,$ JB ML,LOOP1 MOV A,SETFLAG RL A ;當(dāng)前位右移l位(標(biāo)志左移1位) MOV SETFLAG,A ;回存 SJMP SET_2LOOP1: LJMP MAIN_0SET_2: LCALL DISPLAYNEW JB JIA,SET_1 LCALL DELAY10MS JB JIA,SET_1 JNB JIA,$ JNB HH,SHI_2 ;為真,則當(dāng)前位滅 INC HOURH MOV A,HOURH XRL A,#3 JZ SET_1_1 LJMP KAISHISET_1_1: MOV HOURH,#0 LJMP KAISHISHI_2: JNB HL,FEN_1 INC HOURL MOV A,HOURH CJNE A,#2,SHI_2_1 MOV A,HOURL XRL A,#05H ;小時(shí)低位只能是0-4 JZ SET_21 LJMP KAISHISHI_2_1: MOV A,HOURL XRL A,#0AH JZ SET_21 LJMP KAISHISET_21: MOV HOURL,#0 LJMP KAISHIFEN_1: JNB MH,FEN_2 INC MINUH MOV A,MINUH XRL A,#6 JZ SET_22 LJMP KAISHISET_22: MOV MINUH,#0 LJMP KAISHIFEN_2: INC MINUL MOV A,MINUL XRL A,#0AH JZ SET_23 LJMP KAISHISET_23: MOV MINUL,#0 LJMP KAISHI ;;;;;;;鬧鈴標(biāo)志;;;;;;;;;;SETC: MOV P2,#7FH MOV P0,#39H JNB S1,SETC LJMP SETNAO ;;;;;;;設(shè)置時(shí)間掃描;;;;;;;;;;DISPLAYNEW: MOV A,#0AH MOV 29H,A MOV 26H,A MOV R0,#24H MOV R3,#0FEHPLAYNEW: MOV A,R3 MOV P2,A MOV A,@R0 MOV DPTR,#TABLE MOVC A,@A+DPTR MOV P0,A LCALL DELAY1MS INC R0 MOV A,R3 JNB ACC.7,LOOP RL A MOV R3,A SJMP PLAYNEWLOOP: RET ;;;;;;;;走時(shí)掃描;;;;;;;;;;;; DISPLAY1: MOV A,#0AH MOV 29H,A MOV 26H,A MOV R0,#24H MOV R4,#0FEH; JNB P3.4,BAOHU; LCALL DELAY5 PLAY: JNB WARNING,LING JNB P3.5,QINGLING CPL P1.0 LJMP LING; LCALL DELAY10MS; LCALL DELAY10MSQINGLING: CLR WARNING LING:; LCALL DELAY10MS; LCALL DELAY5MS JNB P3.4,BAOHU MOV A,R4 MOV P2,A MOV A,@R0 MOV DPTR,#TABLE MOVC A,@A+DPTR MOV P0,A LCALL DELAY2MS INC R0 MOV A,R4 JNB ACC.7,DISPLAY1 RL A MOV R4,A SJMP PLAYBAOHU: MOV P2,#0FFH LCALL DELAY100MS LCALL DELAY100MS LCALL DELAY100MSBAOHU1: JNB WARNING,BAOHU2 LJMP LINGBAOHU2: JNB P3.4,PLAY1;BAOHU: ; JNB P3.4,PLAY; LCALL DELAY10MS; JB P3.4,$; LCALL DELAY10MS; JB P3.4,PLAY LJMP BAOHU1PLAY1: LCALL DELAY10MS LCALL DELAY10MS LCALL DELAY10MS LCALL DELAY10MS JB P3.4,PLAY LJMP BAOHU1 ;;;;;;;;;;;計(jì)時(shí);;;;;;;;;;;;TIMER0: PUSH ACC ;A壓棧保護(hù) MOV TH0,#3CH ;100MS定時(shí)常數(shù) MOV TL0,#0B0H INC COUNT MOV A,COUNT JB TFIX,T0_00 XRL A,#10 SJMP T0_01T0_00: XRL A,#NT0_01: JZ T0_1 POP ACC RETIT0_1: CLR TFIX MOV COUNT,#00H INC SECOND MOVA,SECOND

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(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ǔ)空間,僅對(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ì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論