應(yīng)用單片機(jī)電子鬧鐘設(shè)計(jì)

上傳人:good****022 文檔編號(hào):116504110 上傳時(shí)間:2022-07-05 格式:DOC 頁數(shù):35 大小:269KB
收藏 版權(quán)申訴 舉報(bào) 下載
應(yīng)用單片機(jī)電子鬧鐘設(shè)計(jì)_第1頁
第1頁 / 共35頁
應(yīng)用單片機(jī)電子鬧鐘設(shè)計(jì)_第2頁
第2頁 / 共35頁
應(yīng)用單片機(jī)電子鬧鐘設(shè)計(jì)_第3頁
第3頁 / 共35頁

下載文檔到電腦,查找使用更方便

20 積分

下載資源

還剩頁未讀,繼續(xù)閱讀

資源描述:

《應(yīng)用單片機(jī)電子鬧鐘設(shè)計(jì)》由會(huì)員分享,可在線閱讀,更多相關(guān)《應(yīng)用單片機(jī)電子鬧鐘設(shè)計(jì)(35頁珍藏版)》請(qǐng)?jiān)谘b配圖網(wǎng)上搜索。

1、應(yīng)用單片機(jī)電子鬧鐘的設(shè)計(jì) I 應(yīng)用單片機(jī)電子鬧鐘設(shè)計(jì)應(yīng)用單片機(jī)電子鬧鐘設(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)簡(jiǎn)單、成本低,具有比較 好的市場(chǎng)前景。 現(xiàn)代的快節(jié)奏生活給人們的精神上帶來了很大壓力。如何排解或緩解這些壓力已 經(jīng)成為很多人和探索者多年來的一個(gè)重要研究項(xiàng)目,電子鬧鐘 關(guān)鍵詞:關(guān)鍵詞:5151 電子鬧鐘;單片機(jī);數(shù)碼管顯示電子鬧鐘;單片機(jī);數(shù)碼管顯示 應(yīng)用單片機(jī)電子鬧鐘的設(shè)

2、計(jì) 目 錄 摘 要.I 一、緒 論.1 (一)概述.1 151 電子鬧鐘發(fā)展趨勢(shì).1 2本課題研究的主要內(nèi)容1 (二) 51 電子鬧鐘簡(jiǎn)介 1 1開發(fā)的目的和意義1 251 電子鬧鐘的優(yōu)點(diǎn).2 3 51 電子鬧鐘的特點(diǎn).2 二、系統(tǒng)方案的設(shè)計(jì).3 (一)系統(tǒng)概述.3 1系統(tǒng)功能描述3 2系統(tǒng)方案的確定3 3系統(tǒng)設(shè)計(jì)思路與步驟3 (二)芯片基本工作原理及其應(yīng)用.4 1AT89S51 簡(jiǎn)介.4 2引腳介紹5 3電源6 4存儲(chǔ)器6 5應(yīng)用6 (三)LM386 簡(jiǎn)介6 1LM386 介紹.6 2LM386 特點(diǎn).6 (四)74HC245 簡(jiǎn)介7 三、系統(tǒng)的設(shè)計(jì).8 (一)系統(tǒng)硬件設(shè)計(jì).8 1單片機(jī)系統(tǒng)

3、的設(shè)計(jì)8 2 按鍵電路的設(shè)計(jì)9 3復(fù)位電路的設(shè)計(jì)9 4顯示電路的設(shè)計(jì)11 (二)系統(tǒng)軟件的設(shè)計(jì).11 1軟件設(shè)計(jì)11 2整個(gè)系統(tǒng)軟件部分的總體設(shè)計(jì)15 四、 系統(tǒng)的調(diào)試和性能分析.16 (一)系統(tǒng)的調(diào)試方法.16 1輸入按鍵的調(diào)試16 2復(fù)位電路的調(diào)試16 應(yīng)用單片機(jī)電子鬧鐘的設(shè)計(jì) 3顯示電路的調(diào)試16 4整個(gè)系統(tǒng)的聯(lián)調(diào)16 (二)系統(tǒng)的性能分析.16 結(jié) 論.18 參考文獻(xiàn).19 致 謝.20 附錄 A 原理圖21 附錄 B(程序)22 應(yīng)用單片機(jī)電子鬧鐘的設(shè)計(jì) 1 一、緒 論 (一)概述 電子鬧鐘在科學(xué)技術(shù)高度發(fā)展的今天,千家萬戶都少不了它,所以很多家庭個(gè)人都 需要有一個(gè)電子鬧鐘,為人們提

4、供報(bào)時(shí)方便,但普通電子鬧鐘不夠方便實(shí)用。本文給出 了一種以 51 芯片電子鬧鐘設(shè)計(jì)方法,從而給人們帶來更為方便的工作與生活。 151 電子鬧鐘發(fā)展趨勢(shì) 現(xiàn)代的快節(jié)奏生活給人們的精神上帶來了很大壓力。如何排解或緩解這些壓力已 經(jīng)成為很多人關(guān)心的問題。單片機(jī)電子鬧鐘是具發(fā)前鬧鐘創(chuàng)新性的系統(tǒng),它代表了時(shí) 代的發(fā)展趨勢(shì)。2007 年,無論從國(guó)內(nèi)外行業(yè)發(fā)展趨勢(shì),還是從鬧鐘市場(chǎng)準(zhǔn)入的要求來 看,節(jié)能、環(huán)保、創(chuàng)新都已成為中國(guó)家電企業(yè)無法回避的大問題。在原材料價(jià)格不斷 上漲、下游渠道商實(shí)力膨脹、價(jià)格戰(zhàn)越來越激烈、行業(yè)利潤(rùn)日趨微薄的背景下,日前, 中國(guó)的電子鬧鐘在節(jié)能化、環(huán)?;?、創(chuàng)新型轉(zhuǎn)變過程中,正進(jìn)行新一輪鬧

5、鐘賽跑。 目前,國(guó)內(nèi)專業(yè) 51 電子鬧鐘廠家的數(shù)量正在迅速增長(zhǎng)。51 電子鬧鐘市場(chǎng)在未來的 三五年內(nèi)會(huì)高速增長(zhǎng),新技術(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 顯示 電路,集成電路

6、74HC245 和 LM386 各 1 個(gè). (二) 51 電子鬧鐘簡(jiǎn)介 1開發(fā)的目的和意義 目的: 設(shè)計(jì)一個(gè) 51 電子鬧鐘的,該鬧鐘可由使用者自己設(shè)定一個(gè)時(shí)間,若想設(shè) 置鬧鈴,應(yīng)先按下復(fù)位按鍵,然后長(zhǎng)時(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ī) 應(yīng)用單片機(jī)電子鬧鐘的設(shè)計(jì) 械控制,另外,體積也很大,又不美觀也不實(shí)用.而現(xiàn)在我設(shè)計(jì)的

7、電子鬧鐘是用單片機(jī)做 的.只要簡(jiǎn)單的設(shè)置好后,她就能按照主人的意思,定時(shí)的把你鬧醒啦!也能給人們的 生活帶來方便。 251 電子鬧鐘的優(yōu)點(diǎn) (1) 、簡(jiǎn)單好用、美觀、體積小、實(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ì)的電子鬧

8、鐘是用單片機(jī)做的.只要簡(jiǎn)單的設(shè)置好后,她 就能按照主人的意思,定時(shí)的把你鬧醒啦!也能給人們的生活、工作學(xué)習(xí)帶來方便。 3 51 電子鬧鐘的特點(diǎn) 1.幫助您排解或緩解那些來自現(xiàn)實(shí)生活的壓力 2.數(shù)碼管作為一種主動(dòng)顯示器件,亮度高、價(jià)格便宜等,顯示數(shù)字清晰。 3.簡(jiǎn)單好用,可任意設(shè) 24 式時(shí)間。 4.使用 LED 發(fā)光,省電,燈泡壽命長(zhǎng)。 應(yīng)用單片機(jī)電子鬧鐘的設(shè)計(jì) 二、系統(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ù)碼管顯

9、示 方式。充分體現(xiàn)系統(tǒng)的簡(jiǎn)易性。使我們了解簡(jiǎn)易鬧鐘的設(shè)計(jì)方法,并自己動(dòng)手設(shè)計(jì)電 路和編寫實(shí)現(xiàn)鬧鐘功能的程序。簡(jiǎ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é)合顯示屏的功能及元器件材料的情況,決定采用 AT89

10、S51 為 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í)或定鬧) ; 應(yīng)用單片機(jī)電子鬧鐘的設(shè)計(jì) 2、在設(shè)定時(shí)間參數(shù)狀態(tài)而且不是設(shè)定最低位(即分個(gè)位)的狀態(tài)下,用于結(jié)束當(dāng) 前位的設(shè)定,當(dāng)前設(shè)定位下移; 3、在設(shè)定最低位

11、(分個(gè)位)的狀態(tài)下,用于結(jié)束本次時(shí)間設(shè)定。 2)鍵,用于對(duì)當(dāng)前設(shè)定位(編輯位)進(jìn)行加 1 操作,根據(jù) 1224 小時(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 所示 圖 1 整個(gè)系統(tǒng)的原理圖 (二)芯片基本工作原理及其應(yīng)用 1AT89S51 簡(jiǎn)介 AT89S51 是一個(gè)低功耗,高性能 CMOS 8 位單片機(jī),片內(nèi)含 4k Bytes ISP(In- s

12、ystem programmable)的可反復(fù)擦寫 1000 次的 Flash 只讀程序存儲(chǔ)器,器件采用 按鍵與按鈕電路 復(fù)位等輔助電路 位數(shù)碼管顯示電路 鬧鈴聲光指示電路 電源系統(tǒng) 應(yīng)用單片機(jī)電子鬧鐘的設(shè)計(jì) ATMEL 公司的高密度、非易失性存儲(chǔ)技術(shù)制造,兼容標(biāo)準(zhǔn) MCS-51 指令系統(tǒng)及 80C51 引 腳結(jié)構(gòu),芯片內(nèi)集成了通用 8 位中央處理器和 ISP Flash 存儲(chǔ)單元,功能強(qiáng)大的微型 計(jì)算機(jī)的 AT89S51 可為許多嵌入式控制應(yīng)用系統(tǒng)提供高性價(jià)比的解決方案。 2引腳介紹 AT89S51 具有如下特點(diǎn):40 個(gè)引腳,4k Bytes Flash 片內(nèi)程序存儲(chǔ)器,128 bytes

13、 的隨機(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è)置省電模式。 空閑模式下,CPU 暫停工作,而 RAM 定時(shí)計(jì)數(shù)器,串行口,外中斷系統(tǒng)可繼續(xù)工作,掉 電模式凍結(jié)振蕩器而保存 RAM 的數(shù)據(jù),停止芯片其它功能直至外中斷激活或硬件復(fù)位。 同時(shí)該芯片還具有 PDIP、TQFP 和 PLCC 等三種封裝形式,以適應(yīng)不同產(chǎn)品的需求。 主要功能特性: 兼容

14、 MCS-51 指令系統(tǒng) 32 個(gè)雙向 I/O 口 2 個(gè) 16 位可編程定時(shí)/計(jì)數(shù)器 全雙工 UART 串行中斷口線 2 個(gè)外部中斷源 中斷喚醒省電模式 看門狗(WDT)電路 靈活的 ISP 字節(jié)和分頁編程 應(yīng)用單片機(jī)電子鬧鐘的設(shè)計(jì) 4k 可反復(fù)擦寫(1000 次)ISP Flash ROM 4.5-5.5V 工作電壓 時(shí)鐘頻率 0-33MHz 128x8bit 內(nèi)部 RAM 低功耗空閑和省電模式 3 級(jí)加密位 軟件設(shè)置空閑和省電功能 雙數(shù)據(jù)寄存器指針 3電源 89S51 有很寬的工作電源電壓,電源范圍寬達(dá) 45.5V. 4存儲(chǔ)器 89S51 支持 ISP 在線可編程寫入技術(shù)!串行寫入、速度

15、更快、穩(wěn)定性更好,燒寫電壓 也僅僅需要 45V 即可. 5應(yīng)用 就目前中國(guó)市場(chǎng)的情況來看,89S51 有很大的市場(chǎng)。其原因有下列幾點(diǎn):(1) AT89S51 設(shè)計(jì)和配置了振蕩頻率可為 0Hz 并可通過軟件設(shè)置省電模式;(2)AT89S51 是一個(gè)低功耗,高性能 CMOS 8 位單片機(jī);(3)芯片內(nèi)集成了通用 8 位中央處理器和 ISP Flash 存儲(chǔ)單元,功能強(qiáng)大的微型計(jì)算機(jī)的 AT89S51 可為許多嵌入式控制應(yīng)用系統(tǒng) 提供高性價(jià)比的解決方案。 (4)同時(shí)該芯片還具有 PDIP、TQFP 和 PLCC 等三種封裝形 式,以適應(yīng)不同產(chǎn)品的需求。 (三)LM386 簡(jiǎn)介 LM386 是美國(guó)國(guó)家

16、半導(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ì)的功率放大器。 1LM386 介紹 LM386 適用于電腦、儀器、汽車電子、電源、通信、開關(guān)電源等電子產(chǎn)品. 2LM386 特點(diǎn) 靜態(tài)功耗低,約為 4mA,可用于電池供電。 工作電壓范圍寬,4-12V or 5-18V。 應(yīng)用單片機(jī)

17、電子鬧鐘的設(shè)計(jì) 外圍元件少。 電壓增益可調(diào),20-200。 低失真度。 (四)74HC245 簡(jiǎn)介 由于通過數(shù)碼管公共及的電流較大,因此用三極管來驅(qū)動(dòng)位碼。為了避免過多地 使用分立元件,采用了一片 74HC245 來驅(qū)動(dòng)段碼。 應(yīng)用單片機(jī)電子鬧鐘的設(shè)計(jì) 三、系統(tǒng)的設(shè)計(jì) 一個(gè)完整的系統(tǒng),離不開硬件和軟件的設(shè)計(jì)。硬件與軟件各有所長(zhǎng),如何合理的 安排軟硬件的任務(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ù)位電路、顯示電

18、路。 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)圖 應(yīng)用單片機(jī)電子鬧鐘的設(shè)計(jì) 2 按鍵電路的設(shè)計(jì) 作為一個(gè)按鍵從沒有按下到按下以及釋放是一個(gè)完整的過程,也就是說當(dāng)我們按 下一個(gè)按鍵時(shí),總希望某個(gè)命令只執(zhí)行一次。而在按下的過程中不要有干擾進(jìn)來,因 為在按下的過程中,一旦有干擾過來可能造成誤觸發(fā)過程,因此我們?cè)谠O(shè)計(jì)按鍵電路 的時(shí)候應(yīng)注意不要有干擾進(jìn)來以用在焊接時(shí)應(yīng)注意: 獨(dú)立式按鍵。如果設(shè)置過多按鍵,將會(huì)占用較多 I/O 口,而且會(huì)給布線

19、帶來不便, 因此,此方案適用于按鍵較少的情況。如果選擇此方案,由于按鍵較少,在修改時(shí)間 或設(shè)置鬧鈴時(shí)間時(shí)就不能直接輸入,只能通過加或減完成,稍為麻煩一些,但其程序 簡(jiǎn)單。 (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ù)

20、位,其它 2 個(gè)為按數(shù)字時(shí)間 的按鍵和確定設(shè)好的時(shí)間確定.后 2 個(gè)按鍵要接 89C2051 端.若想設(shè)置鬧鈴,應(yīng)先按下 復(fù)位按鍵,然后長(zhǎng)時(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)鍵,用于對(duì)當(dāng)前設(shè)定位(編輯位)進(jìn)行加 1 操作,根據(jù) 1

21、224 小時(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 等公司 應(yīng)用單片機(jī)電子鬧鐘的設(shè)計(jì) 也推出了專用于復(fù)位的專用芯片復(fù)位電路的基本功能是:系統(tǒng)上電時(shí)提供復(fù)位信號(hào), 直至系統(tǒng)電源穩(wěn)定后,撤銷復(fù)位信號(hào)。為可靠起見,電源穩(wěn)定后還要經(jīng)一定的延時(shí)才 撤銷復(fù)位信號(hào),

22、以防電源開關(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)

23、工 作的可靠性。許多用戶在設(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)引起的

24、。 圖 4 復(fù)位電路圖 應(yīng)用單片機(jī)電子鬧鐘的設(shè)計(jì) 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í)鐘電路、語音錄音電路

25、和報(bào)音提示信息電路。 用數(shù)碼管作為顯示器。數(shù)碼管的驅(qū)動(dòng)電路簡(jiǎn)單,使用方便,如果選擇了此方案, 那么在夜間看時(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ù)位電路

26、的軟件設(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ì) 軟件功能: 應(yīng)用單片機(jī)電子鬧鐘的設(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)

27、掃描方 式輸出到數(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)容合并后

28、送入指定存儲(chǔ)單元。 (8) 設(shè)定。系統(tǒng)進(jìn)入設(shè)定狀態(tài)后,可通過按“設(shè)定”鍵改變閃亮位位置和按“+” 或“-”鍵來加 1 或減 1 閃亮位內(nèi)容,從而達(dá)到報(bào)時(shí)和設(shè)定鬧鈴時(shí)間的目的。 軟件設(shè)計(jì): 應(yīng)用單片機(jī)電子鬧鐘的設(shè)計(jì) 圖 5 T0中斷服務(wù)程序流程圖 應(yīng)用單片機(jī)電子鬧鐘的設(shè)計(jì) 調(diào)整鍵按下 數(shù)碼管熄滅進(jìn)入 省電模式 數(shù)碼管熄滅進(jìn)入 省電模式 調(diào)整鍵按下 調(diào)整鍵按下 數(shù)碼管熄滅進(jìn)入 省電模式 后一個(gè)數(shù)碼管閃爍 直到時(shí)間設(shè)置完成 加1鍵按下調(diào)整鍵按下 數(shù)字加1并閃爍 數(shù)碼管熄滅進(jìn)入 省電模式 調(diào)整鍵按下 數(shù)字加1并閃爍 第一個(gè)數(shù)碼管變 進(jìn)入調(diào)時(shí) 模式第一個(gè)管子閃爍 開始初始化 調(diào)整鍵按下很短 數(shù)碼管顯示0

29、0-00-00 同時(shí)等待設(shè)置時(shí)間 調(diào)整鍵按下較長(zhǎng) 第一個(gè)數(shù)碼管先變 后變 進(jìn)入 鬧鈴設(shè)置模式第一個(gè)管子閃爍 調(diào)整鍵按下加1鍵按下 后一個(gè)數(shù)碼管閃爍 直到時(shí)間設(shè)置完成 圖6 電路流程圖 系統(tǒng)功能及使用方法: 系統(tǒng)上電后,自動(dòng)進(jìn)入時(shí)鐘狀態(tài)。若在此時(shí)按下“設(shè)定”鍵,顯示器上將出現(xiàn)閃 亮位,再按“+”或“-”則可以加或減閃亮位內(nèi)容,修改完一位后再按“設(shè)定”可改 應(yīng)用單片機(jī)電子鬧鐘的設(shè)計(jì) 變閃亮位位置繼續(xù)修改下一位。修改完成后按“確定”鍵即可退出設(shè)定狀態(tài)進(jìn)入正常 顯示時(shí)鐘狀態(tài)。 在正常顯示時(shí)鐘狀態(tài)時(shí)按下“鬧鐘”鍵可進(jìn)入鬧鐘狀態(tài),此時(shí)按“+”或“-”可 上下翻動(dòng)鬧鐘表;按“設(shè)定”鍵可修改當(dāng)前顯示的鬧鐘時(shí)間

30、,修改方法與修改時(shí)鐘相 同。在查看鬧鐘表狀態(tài)下按“鬧鐘”鍵可以開/關(guān)當(dāng)前顯示的鬧鐘時(shí)間,當(dāng)顯示器第 5 位顯示“-”時(shí)表示鬧鈴已開。按“時(shí)鐘”鍵返回正常顯示時(shí)鐘狀態(tài)。若想設(shè)置鬧鈴, 應(yīng)先按下復(fù)位按鍵,然后長(zhǎng)時(shí)間按下“設(shè)置“按鍵,第一個(gè)數(shù)碼管會(huì)顯示”C”,然后變 為”00-00-00” ,此時(shí)進(jìn)入鬧鈴設(shè)置狀態(tài),設(shè)置方法跟上面一樣,鬧鈴設(shè)置完后,下一 步要設(shè)置當(dāng)前時(shí)間,調(diào)整方法跳到第一步。這樣設(shè)置好后,她就能按照主人的意思, 定時(shí)的把你鬧醒啦! 我們先了解簡(jiǎn)易鬧鐘的設(shè)計(jì)方法,并自己動(dòng)手設(shè)計(jì)電路和編寫實(shí)現(xiàn)鬧鐘功能的程 序。簡(jiǎn)易鬧鐘要實(shí)現(xiàn)以下功能:1、 、能正確顯示鬧鐘的走時(shí) 2、可以進(jìn)行當(dāng)前時(shí)間的設(shè)

31、 置 3、可以設(shè)置鬧鐘時(shí)間,并在時(shí)間到時(shí)發(fā)出響聲。 設(shè)計(jì)中,我們利用儀器中所提供的以上提到的芯片和軟件編程結(jié)合的思路。本設(shè) 計(jì)的軟件編程由四部分構(gòu)成,下面將對(duì)照程序的構(gòu)成來闡述我們組對(duì)簡(jiǎn)易鬧鐘的方案 設(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,如果是,則

32、返回主程序;如果否,則秒 的個(gè)位跳變成 0,秒的十位加一;再次判斷秒的十位,過程同判斷秒的個(gè)位相同。 (三) 簡(jiǎn)易鬧鐘最重要的功能就是“Its time to do something!”在這部分,主要要考慮 的也是判斷當(dāng)前時(shí)間是不是設(shè)定的鬧鐘時(shí)間。如果跳變后的時(shí)間的四位完完全全的和 設(shè)定的鬧鐘時(shí)間相同,則揚(yáng)聲器應(yīng)該響起,提示鬧鐘的主人“Time is up!”從鬧鐘的 分鐘的十位開始依次判斷,如果前一個(gè)鬧鐘位的顯示與設(shè)定的鬧鐘時(shí)間對(duì)應(yīng)位相同, 則轉(zhuǎn)入判斷下一位;如果不相同,則返回主程序。都判斷后,如果都相同,則設(shè)置啟 動(dòng)鬧鐘的對(duì)應(yīng)位為 1,啟動(dòng)揚(yáng)聲器。 (四)在顯示時(shí)間的子程序中,時(shí)間從 0

33、,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)的功能。 應(yīng)用單片機(jī)電子鬧鐘的設(shè)計(jì) 四、 系統(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)上電之后要用示波

34、器觀察信號(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)試

35、過程中,能夠較順利的實(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)以下功能: 應(yīng)用單片機(jī)電子鬧鐘的設(shè)計(jì) (1)按鍵輸入。 (2)鬧鈴聲

36、音。 (3)LED 顯示。 應(yīng)用單片機(jī)電子鬧鐘的設(shè)計(jì) 18 結(jié) 論 本次畢業(yè)設(shè)計(jì)我很早就開始準(zhǔn)備,并且先自己買器件動(dòng)手制作,因此能夠較早的 完成全部的設(shè)計(jì)任務(wù)。通過本次設(shè)計(jì),使自己在單片機(jī)應(yīng)用系統(tǒng)設(shè)計(jì)方面的能力有了 長(zhǎng)足進(jìn)步。本次畢業(yè)設(shè)計(jì)應(yīng)用單片機(jī)電子鬧鐘的設(shè)計(jì)與制作,作為一種智能化產(chǎn)品, 具有成本低,使用方便,可靠性高和可擴(kuò)展性強(qiáng)的特點(diǎn)。 應(yīng)用單片機(jī)電子鬧鐘的設(shè)計(jì) 參考文獻(xià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ù) 北京:清

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

38、設(shè)計(jì) 致致 謝謝 在論文即將完成之際,我首先向關(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é)術(shù)眼光、對(duì)事業(yè)孜孜不倦地追求和勤奮不輟的精神將使我終生受益,是我終生學(xué) 習(xí)的榜樣,在此向恩師致以最誠摯的謝意。 我還要感謝我的同學(xué)們,他們?cè)诋厴I(yè)設(shè)計(jì)期間給我了莫大的支持與幫助,為我提 供了一個(gè)良好的學(xué)

39、習(xí)和生活環(huán)境,并且對(duì)于我提出的任何難題都給予熱心、耐心的解 答,使我受益頗深。 感謝應(yīng)用電子技術(shù)專業(yè)的全體老師對(duì)我的諄諄教導(dǎo),你們的教誨將使我受益終生。 感謝全體同學(xué),你們的關(guān)心和友愛使我很感動(dòng)! 感謝我的父母對(duì)我的養(yǎng)育之恩! 感謝所有幫助過我的人們! 最后,再次感謝王殿學(xué)老師對(duì)我的鼓勵(lì)、支持與關(guān)懷,這些我將永生難忘! 應(yīng)用單片機(jī)電子鬧鐘的設(shè)計(jì) 附錄附錄 A A 原理圖原理圖 應(yīng)用單片機(jī)電子鬧鐘的設(shè)計(jì) 附錄附錄 B B(程序)(程序) ;定義變量; S1EQUP3.4;按鍵 JIAEQUP3.5 SECLEQU24H;各個(gè)顯示單元 SECHEQU25H HENGXIAN EQU26H MINU

40、LEQU27H MINUHEQU28H HENGEQU29H HOURLEQU2AH HOURHEQU2BH SECONDEQU2DH;秒變量單位 COUNTEQU2EH;溢出中斷計(jì)數(shù)器 SETFLAGEQU20H HHEQU00H;移位時(shí)用到的單元 HLEQU01H MHEQU02H MLEQU03H WARNSLEQU2FH WARNSHEQU30H WARNMLEQU32H;報(bào)警分低位 WARNMHEQU33H;報(bào)警分高位 WARNHLEQU35H;報(bào)警時(shí)低位 WARNHHEQU36H;報(bào)警時(shí)高位 WARNCNTEQU37H;已設(shè)定鬧鈴時(shí)間標(biāo)志 WARNINGBIT 0CH;鬧鈴標(biāo)志 W

41、ARNSETTEDBIT 0DH;已設(shè)定鬧鈴時(shí)間標(biāo)志 ;誤差修正; TFIXBIT 0EH;開始修正標(biāo)志 NEQU60;誤差值,單位:1/10s,默認(rèn)為 0,即不修正 ;程序入口地址; ORG0000H LJMPMAIN ORG000BH;定時(shí)器 T0 溢出中斷入口 LJMPTIMER0 ORG0030H 應(yīng)用單片機(jī)電子鬧鐘的設(shè)計(jì) ;主程序; MAIN: MOVSP,#60H;堆棧設(shè)置 CLRTFIX;誤差開始修正標(biāo)志初始化 MOVCOUNT,#0 LCALL SYS_INIT;系統(tǒng)初始化 LCALL T0_INIT;定時(shí)器初始化 LCALL SETTIME;等待設(shè)置當(dāng)前時(shí)間 MAIN_0:

42、MOVIE,#80H;設(shè)置完后開始走時(shí),啟動(dòng)定時(shí)器 T0 SETBTR0;允許 T0 溢出中斷 ;LCALL DELAY10MS LCALL DISPLAY1 ;系統(tǒng)初始化子程序; SYS_INIT: MOVIE,#00H;關(guān)中斷 MOVR0,#20;清變量 MOVR1,#10H MOVA,#00H SYS_0: MOVR0,A INC R0 DJNZR1,SYS_0 RET ;定時(shí)器、串口初始化; T0_INIT: MOVTMOD,#01H MOVTH0,#3CH MOVTL0,#0B0H RET ;鬧鈴時(shí)間設(shè)定; SETWARN: MOVWARNHH,#0 MOVWARNHL,#0 MOV

43、WARNMH,#0 MOVWARNML,#0 MOVWARNSH,#0 MOVWARNSL,#0 MOVSETFLAG,#00 SETBHH KAISHI_NAO: LCALL DISPLAYNEW1 SETW_1: JBS1,LOOP3 LCALL DELAY10MS JBS1,LOOP3 JNB S1,$ JBML,LOOPW1 MOVA,SETFLAG RL A ;當(dāng)前位右移 l 位(標(biāo)志左移 1 位) 應(yīng)用單片機(jī)電子鬧鐘的設(shè)計(jì) MOV SETFLAG,A ;回存 SJMP SET_W2 LOOP3: LJMPSET_W2 LOOPW1: LJMPKAISHI1 SET_W2: LCAL

44、L DISPLAYNEW1 JBJIA,SETW_1 LCALL DELAY10MS JBJIA,SETW_1 JNB JIA,$ JNB HH,SHI_W2 ;為真,則當(dāng)前位滅 INC WARNHH MOVA,WARNHH XRLA,#3 JZSET_W1_1 LJMPKAISHI_NAO SET_W1_1: MOVWARNHH,#0 LJMPKAISHI_NAO SHI_W2: JNB HL,FEN_W1 INC WARNHL MOVA,WARNHH CJNEA,#2,SHI_W2_1 MOVA,WARNHL XRLA,#05H;小時(shí)低位只能是 0-4 JZSET_W21 LJMPKAIS

45、HI_NAO SHI_W2_1: MOVA,WARNHL XRLA,#0AH JZSET_W21 LJMPKAISHI_NAO SET_W21: MOVWARNHL,#0 LJMPKAISHI_NAO FEN_W1: JNB MH,FEN_W2 INC WARNMH MOVA,WARNMH XRLA,#6 JZSET_W22 LJMPKAISHI_NAO SET_W22: MOVWARNMH,#0 LJMPKAISHI_NAO FEN_W2: INC WARNML MOVA,WARNML XRLA,#0AH JZSET_W23 LJMPKAISHI_NAO SET_W23: 應(yīng)用單片機(jī)電子鬧鐘

46、的設(shè)計(jì) MOVWARNML,#0 LJMPKAISHI_NAO ;設(shè)置時(shí)間鬧鈴掃描; DISPLAYNEW1: MOVA,#0AH MOV31H,A MOV34H,A MOVR0,#2FH MOVR3,#0FEH PLAYNEW1: MOVA,R3 MOVP2,A MOVA,R0 MOVDPTR,#TABLE MOVCA,A+DPTR MOVP0,A LCALL DELAY1MS INC R0 MOVA,R3 JNB ACC.7,LOOP2 RL A MOVR3,A SJMPPLAYNEW1 LOOP2:RET ;時(shí)間調(diào)整; SETTIME: MOVHOURH,#0 MOVHOURL,#0 M

47、OVMINUH,#0;計(jì)時(shí)無保存,可能是鬧鈴沒進(jìn)去 MOVMINUL,#0 MOVSECH,#0 MOVSECL,#0 MOVSETFLAG,#00 SETBHH PANLING: LCALL DISPLAYNEW JBS1,PANLING LCALL DELAY100MS LCALL DELAY100MS LCALL DELAY100MS LCALL DELAY100MS LCALL DELAY100MS JBS1,KAISHI1 ;LCALL DELAY10MS JNB S1,SETC_1;按住時(shí)間更長(zhǎng)為設(shè)置鬧鈴,第一個(gè)數(shù)碼管顯示為“C“ SETNAO: SETBWARNSETTED LC

48、ALL SETWARN SETC_1: LCALL SETC KAISHI1: MOVHOURH,#0 MOVHOURL,#0 應(yīng)用單片機(jī)電子鬧鐘的設(shè)計(jì) MOVMINUH,#0 MOVMINUL,#0 MOVSECH,#0 MOVSECL,#0 MOVSETFLAG,#00 SETBHH KAISHI: LCALL DISPLAYNEW SET_1: JBS1,SET_2 LCALL DELAY10MS JBS1,SET_2 JNB S1,$ JBML,LOOP1 MOVA,SETFLAG RL A ;當(dāng)前位右移 l 位(標(biāo)志左移 1 位) MOV SETFLAG,A ;回存 SJMP SET

49、_2 LOOP1: LJMPMAIN_0 SET_2: LCALL DISPLAYNEW JBJIA,SET_1 LCALL DELAY10MS JBJIA,SET_1 JNB JIA,$ JNB HH,SHI_2;為真,則當(dāng)前位滅 INC HOURH MOVA,HOURH XRLA,#3 JZSET_1_1 LJMPKAISHI SET_1_1: MOVHOURH,#0 LJMPKAISHI SHI_2: JNB HL,FEN_1 INC HOURL MOVA,HOURH CJNEA,#2,SHI_2_1 MOVA,HOURL XRLA,#05H;小時(shí)低位只能是 0-4 JZSET_21 L

50、JMPKAISHI SHI_2_1: MOVA,HOURL XRLA,#0AH JZSET_21 LJMPKAISHI SET_21: MOVHOURL,#0 LJMPKAISHI FEN_1: JNB MH,FEN_2 INC MINUH 應(yīng)用單片機(jī)電子鬧鐘的設(shè)計(jì) MOVA,MINUH XRLA,#6 JZSET_22 LJMPKAISHI SET_22: MOVMINUH,#0 LJMPKAISHI FEN_2: INC MINUL MOVA,MINUL XRLA,#0AH JZSET_23 LJMPKAISHI SET_23: MOVMINUL,#0 LJMPKAISHI ;鬧鈴標(biāo)志;

51、SETC: MOVP2,#7FH MOVP0,#39H JNB S1,SETC LJMPSETNAO ;設(shè)置時(shí)間掃描; DISPLAYNEW: MOVA,#0AH MOV29H,A MOV26H,A MOVR0,#24H MOVR3,#0FEH PLAYNEW: MOVA,R3 MOVP2,A MOVA,R0 MOVDPTR,#TABLE MOVCA,A+DPTR MOVP0,A LCALL DELAY1MS INC R0 MOVA,R3 JNB ACC.7,LOOP RL A MOVR3,A SJMPPLAYNEW LOOP:RET ;走時(shí)掃描; DISPLAY1: MOVA,#0AH MO

52、V29H,A MOV26H,A MOVR0,#24H MOVR4,#0FEH ;JNB P3.4,BAOHU ;LCALL DELAY5 應(yīng)用單片機(jī)電子鬧鐘的設(shè)計(jì) PLAY: JNB WARNING,LING JNB P3.5,QINGLING CPLP1.0 LJMPLING ;LCALL DELAY10MS ;LCALL DELAY10MS QINGLING: CLRWARNING LING: ;LCALL DELAY10MS ;LCALL DELAY5MS JNB P3.4,BAOHU MOVA,R4 MOVP2,A MOVA,R0 MOVDPTR,#TABLE MOVCA,A+DPTR

53、 MOVP0,A LCALL DELAY2MS INC R0 MOVA,R4 JNB ACC.7,DISPLAY1 RL A MOVR4,A SJMPPLAY BAOHU: MOVP2,#0FFH LCALL DELAY100MS LCALL DELAY100MS LCALL DELAY100MS BAOHU1: JNB WARNING,BAOHU2 LJMPLING BAOHU2: JNB P3.4,PLAY1 ;BAOHU: ;JNB P3.4,PLAY ;LCALL DELAY10MS ;JBP3.4,$ ;LCALL DELAY10MS ;JBP3.4,PLAY LJMPBAOHU1

54、PLAY1: LCALL DELAY10MS LCALL DELAY10MS LCALL DELAY10MS LCALL DELAY10MS JBP3.4,PLAY LJMPBAOHU1 ;計(jì)時(shí); TIMER0: PUSHACC;A 壓棧保護(hù) MOVTH0,#3CH;100MS 定時(shí)常數(shù) 應(yīng)用單片機(jī)電子鬧鐘的設(shè)計(jì) MOVTL0,#0B0H INC COUNT MOVA,COUNT JBTFIX,T0_00 XRLA,#10 SJMPT0_01 T0_00: XRLA,#N T0_01: JZT0_1 POPACC RETI T0_1: CLRTFIX MOVCOUNT,#00H INC SEC

55、OND MOV A,SECOND CPLP1.1 CPLP1.2 XRLA,#2 JZT0_2_1 POPACC RETI T0_2_1: MOVSECOND,#00H ;CPLP1.1 INC SECL MOVA,SECL XRLA,#0AH JZT0_2_2 POPACC RETI T0_2_2: MOVSECL,#00H INC SECH MOVA,SECH XRLA,#06H JZT0_2 POPACC RETI T0_2: MOVSECH,#00H INC MINUL MOVA,MINUL XRLA,#0AH JZT0_3 LJMPADJUST T0_3: MOVMINUL,#00H

56、 INC MINUH MOVA,MINUH XRLA,#06 JZT0_30 LJMPADJUST T0_30: 應(yīng)用單片機(jī)電子鬧鐘的設(shè)計(jì) MOVMINUH,#00H INC HOURL;小時(shí)低位+1(即變化了),則還要判斷高位是否進(jìn)位判斷小 ;時(shí)高位,如為 0,1,則小時(shí)低位可以到 9,否則,只能 03 MOVA,HOURH CJNEA,#2,T0_300 MOVA,HOURL XRLA,#04 JZT0_4;如為 3 則轉(zhuǎn) LJMPADJUST;時(shí)或分改變均要進(jìn)行鬧鈴判斷 T0_300: MOVA,HOURL XRLA,#0AH JZT0_4;如為 3 則轉(zhuǎn) LJMPADJUST;時(shí)或分改

57、變均要進(jìn)行鬧鈴判斷 T0_4: MOVHOURL,#00;高位進(jìn)行處理 INC HOURH MOVA,HOURH XRLA,#03;判斷高位是否到 3 JZT0_40 LJMPADJUST T0_40: MOVHOURH,#00H;到 3,則做回 0 處理(24 小時(shí)制中時(shí)高位只能是 2) ;時(shí)分發(fā)生改變時(shí),必須進(jìn)行鬧鈴判斷 ADJUST: JBWARNSETTED,ADJUST_1 ;如果沒設(shè)定鬧鈴,則不判斷 POPACC RETI ADJUST_1: MOVA,HOURH;否則,與設(shè)定鬧鈴時(shí)間比較 XRLA,WARNHH JNZ ADJUST_2 MOVA,HOURL XRLA,WARNH

58、L JNZ ADJUST_2 MOVA,MINUH XRLA,WARNMH JNZ ADJUST_2 MOVA,MINUL XRLA,WARNML JNZ ADJUST_2;一致,則設(shè)置鬧鈴標(biāo)志 SETBWARNING;設(shè)置開始鬧鈴標(biāo)志 POPACC RETI ADJUST_2: CLRWARNING;清鬧鈴標(biāo)志 POPACC;否則,不設(shè)置鬧鈴標(biāo)志 RETI ;按鍵判斷子程序; TABLE: DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH,40H TABLE1: 應(yīng)用單片機(jī)電子鬧鐘的設(shè)計(jì) DB 0BFH,86H,0DBH,0CFH,0E6H,0EDH,0F

59、DH,87H,0FFH,0EFH ;延時(shí)子程序; DELAY10MS: MOVR6,#20 D2:MOVR7,#248 DJNZR7,$ DJNZR6,D2 RET DELAY5MS: MOVR6,#10 D4:MOVR7,#248 DJNZR7,$ DJNZR6,D4 RET DELAY2MS: MOVR6,#4 D1:MOVR7,#248 DJNZR7,$ DJNZR6,D1 RET DELAY1MS: MOVR6,#2 D3:MOVR7,#248 DJNZR7,$ DJNZR6,D1 RET DELAY100MS: MOVR6,#200 D5:MOVR7,#248 DJNZR7,$ DJNZR6,D2 RET END

展開閱讀全文
溫馨提示:
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ì)自己和他人造成任何形式的傷害或損失。

相關(guān)資源

更多
正為您匹配相似的精品文檔
關(guān)于我們 - 網(wǎng)站聲明 - 網(wǎng)站地圖 - 資源地圖 - 友情鏈接 - 網(wǎng)站客服 - 聯(lián)系我們

copyright@ 2023-2025  zhuangpeitu.com 裝配圖網(wǎng)版權(quán)所有   聯(lián)系電話:18123376007

備案號(hào):ICP2024067431號(hào)-1 川公網(wǎng)安備51140202000466號(hào)


本站為文檔C2C交易模式,即用戶上傳的文檔直接被用戶下載,本站只是中間服務(wù)平臺(tái),本站所有文檔下載所得的收益歸上傳人(含作者)所有。裝配圖網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)上載內(nèi)容本身不做任何修改或編輯。若文檔所含內(nèi)容侵犯了您的版權(quán)或隱私,請(qǐng)立即通知裝配圖網(wǎng),我們立即給予刪除!

五月丁香婷婷狠狠色,亚洲日韩欧美精品久久久不卡,欧美日韩国产黄片三级,手机在线观看成人国产亚洲