基于AT89C52倒計(jì)時(shí)定時(shí)器設(shè)計(jì)_第1頁(yè)
基于AT89C52倒計(jì)時(shí)定時(shí)器設(shè)計(jì)_第2頁(yè)
基于AT89C52倒計(jì)時(shí)定時(shí)器設(shè)計(jì)_第3頁(yè)
基于AT89C52倒計(jì)時(shí)定時(shí)器設(shè)計(jì)_第4頁(yè)
基于AT89C52倒計(jì)時(shí)定時(shí)器設(shè)計(jì)_第5頁(yè)
已閱讀5頁(yè),還剩27頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、成都理工大學(xué)畢業(yè)設(shè)計(jì)(論文) i 基于 at89c52 倒計(jì)時(shí)定時(shí)器設(shè)計(jì) 作者姓名:xx 專業(yè)班級(jí):xxxxxxxx 指導(dǎo)老師:xx 摘要 在日常的生活和工作中, 倒計(jì)時(shí)定時(shí)器已成為人們?nèi)粘I钪斜夭豢缮俚?物品,廣泛用于個(gè)人家庭以及車站、碼頭、劇院、辦公室等公共場(chǎng)所,給人們 的生活、學(xué)習(xí)、工作、娛樂(lè)帶來(lái)極大的方便。倒計(jì)時(shí)定時(shí)器具有實(shí)用性高、成 本低、功耗低、易操作等優(yōu)點(diǎn)。 本文主要介紹了基于 at89c52 單片機(jī)控制的倒計(jì)時(shí)定時(shí)器的設(shè)計(jì)。文中闡 述了設(shè)計(jì)該系統(tǒng)的一些基本背景、原理及系統(tǒng)的各部分組成等。本次設(shè)計(jì)實(shí)現(xiàn) 了在 4 位八段 led 顯示分秒、時(shí)間的設(shè)定、倒計(jì)時(shí)、復(fù)位、報(bào)警等功能。

2、關(guān)鍵字:倒計(jì)時(shí)定時(shí)器 at89c52 報(bào)警 成都理工大學(xué)畢業(yè)設(shè)計(jì)(論文) ii the design of countdown timer based on at89c52 abstract:in our daily life and work, countdown timer has become essential to daily life.it is widely used in our family, stations, terminals, theaters, offices and other public places,also take a great convenience

3、 to peoples lives, study, work and entertainment. countdown timer has a character of practical and low-cost, low power consumption, easy operation and so on. this paper introduced the design of countdown timer based on at89c52, and described the background, principles and the various parts of the sy

4、stem. the design has achieved the main function such as: time setting, time count-down ,resetting and alarm. keywords: countdown timer at89c52 alarm 成都理工大學(xué)畢業(yè)設(shè)計(jì)(論文) iii 目錄 第 1 章 引 言.1 1.1 選題背景.1 1.2 指導(dǎo)思想.2 1.3 方案論證與選擇.2 1.4 系統(tǒng)概述.4 第 2 章 系統(tǒng)總體設(shè)計(jì).5 2.1 模塊功能實(shí)現(xiàn)與原理.5 2.2 計(jì)時(shí)精度.6 第 3 章 硬件及軟件設(shè)計(jì).8 3.1 主控模塊.8 3

5、.1.1 at89c52 的基本知識(shí).8 3.1.2 at89c52 的內(nèi)部結(jié)構(gòu).9 3.1.3 at89c52 的引腳功能描述.10 3.1.4 at89c52 的工作模式.13 3.1.5 at89c51 的內(nèi)部存儲(chǔ)器.14 3.2 顯示模塊.15 3.3 鍵盤(pán)模塊.16 3.4 系統(tǒng)電路.18 3.4.1 蜂鳴器報(bào)警/提示音電路設(shè)計(jì).18 3.4.2 電源電路設(shè)計(jì).19 3.4.3 時(shí)鐘電路設(shè)計(jì).20 3.5 系統(tǒng)軟件框圖.20 3.6 編程語(yǔ)言選擇.21 第四章 結(jié)論.22 4.1 總結(jié).22 4.2 系統(tǒng)展望.22 4.3 在本次課程設(shè)計(jì)中獲得的學(xué)習(xí)體會(huì).22 致 謝.23 參考文獻(xiàn)

6、.24 附錄 1.25 附錄 2.26 成都理工大學(xué)畢業(yè)設(shè)計(jì)(論文) 1 第 1 章 引 言 1.1 選題背景 倒計(jì)時(shí)定時(shí)器已成為人們?nèi)粘I钪斜夭豢缮俚奈锲罚瑥V泛用于個(gè)人家庭 以及車站、碼頭、劇院、辦公室等公共場(chǎng)所,給人們的生活、學(xué)習(xí)、工作、娛 樂(lè)帶來(lái)極大的方便。隨著技術(shù)的發(fā)展,人們已不再滿足于鐘表原先簡(jiǎn)單的報(bào)時(shí) 功能,希望出現(xiàn)一些新的功能,諸如日歷的顯示、鬧鐘的非接觸式止鬧、跑表 功能、重要日期倒計(jì)時(shí)顯示等,以帶來(lái)更大的方便,而所有這些,又都是以數(shù) 字化的倒計(jì)時(shí)定時(shí)器為基礎(chǔ)的。因此,研究實(shí)用倒計(jì)時(shí)定時(shí)器及其擴(kuò)展應(yīng)用, 有著非?,F(xiàn)實(shí)的意義,具有很大的實(shí)用價(jià)值。 由于數(shù)字集成電路技術(shù)的發(fā)展和采

7、用了先進(jìn)的石英技術(shù),使倒計(jì)時(shí)定時(shí)器 具有走時(shí)準(zhǔn)確、性能穩(wěn)定、攜帶方便等優(yōu)點(diǎn),它還用于計(jì)時(shí)、自動(dòng)報(bào)時(shí)及自動(dòng) 控制等各個(gè)領(lǐng)域。雖然現(xiàn)在市場(chǎng)上已有現(xiàn)成的倒計(jì)時(shí)定時(shí)器集成電路芯片出售, 價(jià)格便宜,使用也靈活,如可以隨意設(shè)置時(shí)、分、秒的輸出,改變顯示數(shù)字的 大小等,并且由于集成電路技術(shù)的發(fā)展,特別是 mos 集成電路技術(shù)的發(fā)展, 使倒計(jì)時(shí)定時(shí)器具有體積小、攜帶方便,但是這里介紹的實(shí)用倒計(jì)時(shí)定時(shí)器可 以滿足使用者的一些特殊要求,輸出方式靈活、功耗低、計(jì)時(shí)準(zhǔn)確、性能穩(wěn)定、 維護(hù)方便等優(yōu)點(diǎn)。2 實(shí)用倒計(jì)時(shí)定時(shí)器是一個(gè)時(shí)間控制系統(tǒng),既能作為一般的時(shí)間顯示器,也 可作為一個(gè)定時(shí)控制器,驅(qū)動(dòng)負(fù)載或顯示信息,同時(shí)可以

8、根據(jù)需要擴(kuò)展其功能。 在此設(shè)計(jì)研究過(guò)程中需綜合運(yùn)用所學(xué)的模擬電子技術(shù)、數(shù)字電子技術(shù)、單片機(jī) 原理與應(yīng)用、電子系統(tǒng)設(shè)計(jì)等課程的知識(shí),掌握實(shí)用倒計(jì)時(shí)定時(shí)器的設(shè)計(jì)、組 裝與調(diào)試方法,利用現(xiàn)代的電子系統(tǒng)設(shè)計(jì)、單片機(jī)等新電子技術(shù)以及現(xiàn)代的設(shè) 計(jì)手段,系統(tǒng)地培養(yǎng)了綜合設(shè)計(jì)、操作調(diào)試、故障處理的能力,達(dá)到綜合素質(zhì) 以及創(chuàng)新能力的提高。 本次畢業(yè)設(shè)計(jì)中采用單片機(jī)作為主要芯片設(shè)計(jì)倒計(jì)時(shí)控制系統(tǒng)。本系統(tǒng)的 設(shè)計(jì)實(shí)用性強(qiáng)、設(shè)計(jì)靈活方便并且適合在任何條件下進(jìn)行定時(shí),所以設(shè)計(jì)意義 較為深遠(yuǎn)。 成都理工大學(xué)畢業(yè)設(shè)計(jì)(論文) 2 1.2 指導(dǎo)思想 通過(guò)對(duì)倒計(jì)時(shí)時(shí)鐘軟、硬部分的設(shè)計(jì)及調(diào)試,進(jìn)一步掌握單片機(jī)的性能特 點(diǎn)及工作原

9、理。在設(shè)計(jì)過(guò)程中熟悉 at89c52 系列單片機(jī)各個(gè)管腳的功能,學(xué)習(xí) 單片機(jī)控制八段數(shù)碼管顯示的工作原理。提高單片機(jī)軟件部分的編程能力,特 別是利用單片機(jī) c 語(yǔ)言對(duì)單片機(jī)的編程能力。通過(guò)本次畢業(yè)設(shè)計(jì)總結(jié)在四年大 學(xué)學(xué)習(xí)中學(xué)到的知識(shí),并且提高實(shí)際操作能力,為以后進(jìn)一步學(xué)習(xí)和工作打好 基礎(chǔ)。 1.3 方案論證與選擇 1.總體方案論證與選擇 方案一:純硬件電路系統(tǒng)。各功能采用分離的硬件電路模塊實(shí)現(xiàn)。用時(shí)序邏 輯電路實(shí)現(xiàn)時(shí)鐘功能,用 555 定時(shí)器實(shí)現(xiàn)鬧鐘的設(shè)定。但這種實(shí)現(xiàn)方法可靠性 差、控制精度低,靈活性小、線路復(fù)雜、安裝調(diào)試不方便,而且不方便實(shí)現(xiàn)對(duì) 系統(tǒng)的擴(kuò)展。 方案二:采用 at89c52 單

10、片機(jī)作為系統(tǒng)的控制核心。倒計(jì)時(shí)功能采用 c 語(yǔ)言 編程利用單片機(jī)內(nèi)部定時(shí)器來(lái)實(shí)現(xiàn),可以使用 led 八段數(shù)碼管顯示時(shí)間等信息。 由于使用了單片機(jī),整個(gè)系統(tǒng)可編程,系統(tǒng)的靈活性大大增加了。另外,本方 案可以方便的實(shí)現(xiàn)其他功能的擴(kuò)展。 經(jīng)過(guò)以上的比較論證,選用方案二來(lái)完成項(xiàng)目設(shè)計(jì)的要求。 2.模塊方案論證與選擇 (1)時(shí)鐘模塊 方案一:基本門(mén)電路搭建 用基本門(mén)電路來(lái)實(shí)現(xiàn)時(shí)鐘發(fā)生器,電路結(jié)構(gòu)復(fù)雜,故障系數(shù)大,不易調(diào)試。 方案二:專用時(shí)鐘芯片 目前市場(chǎng)上已有很多實(shí)時(shí)時(shí)鐘芯片。如 ds12887、ds1302、pcf8563、x1227 等, 芯片內(nèi)都集成了時(shí)鐘/日歷功能,給時(shí)鐘系統(tǒng)設(shè)計(jì)帶來(lái)很多方便。

11、方案三:由單片機(jī)實(shí)現(xiàn)倒計(jì)時(shí)功能 成都理工大學(xué)畢業(yè)設(shè)計(jì)(論文) 3 單片機(jī)內(nèi)部具有定時(shí)器,可方便實(shí)現(xiàn)定時(shí)功能。通過(guò)計(jì)算可知,使定時(shí)器 每 25ms 產(chǎn)生一次中斷,當(dāng)產(chǎn)生 40 次中斷后秒單元將加一,以此類推,從而實(shí) 現(xiàn)時(shí)、分、秒的走時(shí),并加以顯示。 經(jīng)過(guò)考慮,本著實(shí)用可行的原則,由于 at89c52 有內(nèi)部定時(shí)器,完全可以 通過(guò) c 語(yǔ)言變程來(lái)實(shí)現(xiàn)倒計(jì)時(shí)功能因此計(jì)時(shí)功能,定時(shí)模塊采用方案三來(lái)實(shí)現(xiàn)。 (2)鍵盤(pán)模塊 方案一:采用獨(dú)立式按鍵電路 每個(gè)鍵單獨(dú)占有一根 i/o 接口線,每個(gè) i/o 口的工作狀態(tài)互不影響,此類 鍵盤(pán)采用端口直接掃描方式。8 方案二:采用陣列式鍵盤(pán) 此類鍵盤(pán)是采用行列掃描方

12、式,當(dāng)按鍵較多時(shí)可以降低占用單片機(jī)的 i/o 口數(shù)目。 由于本系統(tǒng)使用用的鍵盤(pán)按鍵較少,i/o 接口線不多,所以采用方案二。 (3)顯示模塊 方案一:采用液晶顯示。 液晶特別是具有漢字顯示功能的液晶顯示器,來(lái)實(shí)現(xiàn)顯示功能,不僅可以 實(shí)現(xiàn)基本的顯示信息,而且可以顯示豐富的符號(hào)指示信息以及文字指示信息, 信息量豐富且直觀易懂。而且液晶顯示有功耗低,體積小,重量輕,壽命長(zhǎng), 不產(chǎn)生電磁輻射污染等優(yōu)點(diǎn)。 方案二:使用多個(gè)數(shù)碼管顯示。 led 數(shù)碼管是利用二極管發(fā)光顯示數(shù)字和字母,具有亮度大、接口設(shè)計(jì)比 較容易,價(jià)格相對(duì)較便宜等優(yōu)點(diǎn)。 由于本設(shè)計(jì)不需要顯示大的信息量,系統(tǒng)采用方案二。 (4)止鬧功能 方

13、案一:采用聲音控制實(shí)現(xiàn)非接觸止鬧功能。此方案的優(yōu)點(diǎn)是操作方便, 但由于聲控存在靈敏度的問(wèn)題,在現(xiàn)場(chǎng)條件差的環(huán)境中,外界噪聲對(duì)正常聲音 信號(hào)帶來(lái)的干擾,也比較容易引起誤動(dòng)作。 成都理工大學(xué)畢業(yè)設(shè)計(jì)(論文) 4 方案二:采用光電開(kāi)關(guān)實(shí)現(xiàn)非接觸止鬧功能,因?yàn)楣怆婇_(kāi)關(guān)利用物體對(duì)紅 外線的反射,可檢測(cè)到物體的有無(wú),方便有效,人體只需要靠近傳感器 20cm 以 內(nèi)就可產(chǎn)生信號(hào),完成止鬧功能。3 方案三:采用按下止鬧按鈕實(shí)現(xiàn)接觸式止鬧。一般鐘表都具有鬧鐘功能, 定時(shí)時(shí)間到,便自動(dòng)啟動(dòng)鬧鐘,發(fā)出鈴聲、音樂(lè)聲以提醒人們,再由人按下止 鬧按鈕停止鬧鐘工作,此方案優(yōu)點(diǎn)是操作起來(lái)很方便。 系統(tǒng)的止鬧模塊設(shè)計(jì)采本著實(shí)用

14、,成本低的原則,采用用方案三實(shí)現(xiàn)止鬧 功能。 1.4 系統(tǒng)概述 利用單片機(jī)定時(shí)器及計(jì)數(shù)器產(chǎn)生定時(shí)效果通過(guò)編程形成倒計(jì)時(shí)效果,再利 用數(shù)碼管動(dòng)態(tài)掃描顯示單片機(jī)內(nèi)部處理的數(shù)據(jù)。同時(shí)通過(guò)端口讀入當(dāng)前外部控 制狀態(tài)來(lái)改變程序的不同狀態(tài),實(shí)現(xiàn)不同功能。系統(tǒng)上電自檢后,實(shí)時(shí)實(shí)現(xiàn)分 鐘、秒信息的顯示,通過(guò)按鍵可實(shí)現(xiàn)校對(duì)時(shí)間、倒計(jì)時(shí)的設(shè)定和顯示。當(dāng)設(shè)置 的定時(shí)時(shí)間到時(shí),單片機(jī)通過(guò)蜂鳴器來(lái)實(shí)現(xiàn)聲報(bào)警,利用開(kāi)關(guān)實(shí)現(xiàn)止鬧的功能。 成都理工大學(xué)畢業(yè)設(shè)計(jì)(論文) 5 第 2 章 系統(tǒng)總體設(shè)計(jì) 本設(shè)計(jì)主要功能是實(shí)現(xiàn)時(shí)間的設(shè)定、倒計(jì)時(shí)、報(bào)警功能,采用分秒顯示, 在 4 位八段 led 上顯示分和秒。若想設(shè)置時(shí)間,需復(fù)位;用

15、定時(shí)器 1 進(jìn)行按鍵掃 描,判斷是否有鍵按下,若有鍵按下,是那個(gè)鍵按下;定時(shí)時(shí)間到則蜂鳴器發(fā) 出警報(bào);復(fù)位后停止發(fā)出警報(bào)聲音,時(shí)間顯示為系統(tǒng)初始時(shí)間(系統(tǒng)軟件設(shè)定), 按下確認(rèn)鍵,系統(tǒng)開(kāi)始重新倒計(jì)時(shí)。結(jié)構(gòu)框圖如圖 2-1 所示: 主控單元 硬件復(fù)位電路 鍵盤(pán)模塊 顯示模塊 圖 2-1 系統(tǒng)結(jié)構(gòu)框圖 蜂鳴器報(bào)警 2.1 模塊功能實(shí)現(xiàn)與原理 (1)主控單元 主控單元主要有 at89c2 單片機(jī)構(gòu)成,主要利用片內(nèi)定時(shí)器 0 進(jìn)行定時(shí),定 時(shí)器 1 進(jìn)行鍵盤(pán)掃描,控制各個(gè)模塊完成倒計(jì)時(shí)定時(shí)功能。 (2)鍵盤(pán)模塊 鍵盤(pán)模塊一共有 5 個(gè)按鍵,其中按鍵 1 和按鍵 5 分別設(shè)置時(shí)間的增減,按 鍵 2 和按

16、鍵 4 分別控制光標(biāo)的左移和右移,按鍵 3 為確認(rèn)鍵,按下此鍵開(kāi)始倒 計(jì)時(shí)。5 個(gè)按鍵分別與 p1.0 p1.4 口連接,當(dāng)沒(méi)有按鍵按下時(shí)這幾個(gè)口為高電 平,當(dāng)這幾個(gè)口為低電平時(shí),表示有按鍵按下。 成都理工大學(xué)畢業(yè)設(shè)計(jì)(論文) 6 (3)復(fù)位電路 復(fù)位操作是使單片機(jī)進(jìn)入某種確定的初始狀態(tài)。復(fù)位電路的基本功能是: 系統(tǒng)上電時(shí)提供復(fù)位信號(hào),直至系統(tǒng)電源穩(wěn)定后,撤銷復(fù)位信號(hào)。為可靠起見(jiàn), 電源穩(wěn)定后還要經(jīng)一定的延時(shí)才撤銷復(fù)位信號(hào),以防電源開(kāi)關(guān)或電源插頭分-合 過(guò)程中引起的抖動(dòng)而影響復(fù)位。 (4)顯示模塊 顯示模塊主要分為分顯示和秒顯示兩個(gè)部分,由四個(gè)共陽(yáng)極八段數(shù)碼管; 四個(gè)共陽(yáng)極八段數(shù)碼管與 p0

17、口連接,公共端分別與四個(gè) pnp 三極管連接,四 個(gè) pnp 三極管再與 p2.0 p2.3 連接,當(dāng)這幾個(gè)口給低電平時(shí)三極管導(dǎo)通數(shù)碼管 點(diǎn)亮。 (5)蜂鳴器報(bào)警 蜂鳴器發(fā)聲原理是電流通過(guò)電磁線圈,使電磁線圈產(chǎn)生磁場(chǎng)來(lái)驅(qū)動(dòng)振動(dòng)膜 發(fā)聲的,因此需要一定的電流才能驅(qū)動(dòng)它,單片機(jī) io 引腳輸出的電流較小,單 片機(jī)輸出的 ttl 電平基本上驅(qū)動(dòng)不了蜂鳴器,因此需要增加一個(gè)電流放大的電 路。蜂鳴器的正極接到 vcc(5v)電源上面,蜂鳴器的負(fù)極接到三極管的發(fā) 射極 e,三極管的基級(jí) b 經(jīng)過(guò)限流電阻后由單片機(jī)的引腳控制,當(dāng)引腳輸出高 電平時(shí),三極管截止,沒(méi)有電流流過(guò)線圈,蜂鳴器不發(fā)聲;當(dāng)引腳輸出低電平

18、 時(shí),三極管導(dǎo)通,這樣蜂鳴器的電流形成回路,發(fā)出聲音。因此,我們可以通 過(guò)程序控制引腳的電平來(lái)使蜂鳴器發(fā)出聲音和關(guān)閉。還可以在程序中改變單片 機(jī)引腳輸出波形的頻率,就可以調(diào)整控制蜂鳴器音調(diào),產(chǎn)生各種不同音色、音 調(diào)的聲音。另外,改變引腳輸出電平的高低電平占空比,則可以控制蜂鳴器的 聲音大小。1 2.2 計(jì)時(shí)精度 本設(shè)計(jì)利用 mcu 的定時(shí)器軟件計(jì)時(shí),計(jì)時(shí)誤差首先取決于 mcu 的時(shí)鐘。 (1)mcu 時(shí)鐘引起的計(jì)時(shí)誤差 mcu 的 fosc=12mhz,是由石英晶體振蕩器產(chǎn)生的,其頻率穩(wěn)定度優(yōu)于 10-6 ,有 時(shí)可達(dá) 10-11 。按 10-6計(jì)算,每秒變化 6 微秒,100 分鐘的變化僅為

19、 0.036s, 故此變化可以忽略。 (2)中斷響應(yīng)時(shí)間造成的誤差 成都理工大學(xué)畢業(yè)設(shè)計(jì)(論文) 7 計(jì)時(shí)定時(shí)器的初值,是按以下式計(jì)算出來(lái)的初填值=2n tint/tc 式中,2n 為 計(jì)時(shí)器的容量,這里是 65536;tint 中斷(計(jì)時(shí)溢出)的時(shí)間;tc 為機(jī)器周期, 這里 tc=2us。0.1s 中斷的初值為 15536.由于 tc 為整數(shù),此初值是無(wú)誤差的。 但是,由于中斷請(qǐng)求到執(zhí)行中斷服務(wù)程序的第一條指令是需要幾個(gè) tc 的時(shí) 間,即中間響應(yīng)時(shí)間。何況執(zhí)行第一條指令填入 tl1 還需要 3 個(gè) tc,若中斷響 應(yīng)時(shí)間為 3 tc,0.1s 內(nèi)的計(jì)時(shí)誤差 6t=12us,100min

20、計(jì)時(shí)誤差為-0.72s,完全滿 足計(jì)時(shí)精度要求。5 成都理工大學(xué)畢業(yè)設(shè)計(jì)(論文) 8 第 3 章 硬件及軟件設(shè)計(jì) 3.1 主控模塊 本設(shè)計(jì)的主控模塊由 at89c52 單片機(jī)構(gòu)成,利用片內(nèi)定時(shí)器通過(guò)軟件實(shí)現(xiàn)控 制數(shù)碼管顯示、倒計(jì)時(shí)等功能。 時(shí)間設(shè)定主要是靠鍵盤(pán)對(duì)時(shí)間進(jìn)行設(shè)定,鍵盤(pán)主要有四個(gè)功能鍵和一個(gè)確 定鍵。分別用于設(shè)定時(shí)間和確定開(kāi)始倒計(jì)時(shí)。定時(shí)器的時(shí)間主要是依托單片機(jī) 內(nèi)部time0可編程定時(shí)計(jì)數(shù)器實(shí)現(xiàn)時(shí)間的準(zhǔn)確獲取。time0 是一個(gè)通用的單通道 8 位定時(shí)器/ 計(jì)數(shù)器模塊。其主要特點(diǎn)如下:?jiǎn)瓮ǖ烙?jì)數(shù)器,比較匹配發(fā)生時(shí) 清除定時(shí)器( 自動(dòng)加載),10 位的時(shí)鐘預(yù)分頻器溢出和比較匹配中斷源

21、 (tov0 和 ocf0) t/c(tcnt0)和輸出比較寄存器(ocr0)為8位寄存器。4中斷請(qǐng)求信號(hào) 在定時(shí)器中斷標(biāo)志寄存器tifr 都有反映。所有中斷都可以通過(guò)定時(shí)器中斷屏蔽 寄存器timsk單獨(dú)進(jìn)行屏蔽。t/c可以通過(guò)預(yù)分頻器由內(nèi)部時(shí)鐘源驅(qū)動(dòng),或者是 通過(guò)t0 引腳的外部時(shí)鐘源來(lái)驅(qū)動(dòng)。時(shí)鐘選擇邏輯模塊控制使用哪一個(gè)時(shí)鐘源與 什么邊沿來(lái)增加( 或降低)t/c 的數(shù)值,如果沒(méi)有選擇時(shí)鐘源t/c 就不工作。時(shí) 鐘選擇模塊的輸出定義為定時(shí)器時(shí)鐘clkt。雙緩沖的輸出比較寄存器ocr0 一直 與t/c 的數(shù)值進(jìn)行比較,比較匹配事件還將置位比較標(biāo)志ocf0。 設(shè)計(jì)中將 time0 作為整個(gè)系統(tǒng)的

22、定時(shí)器時(shí)鐘來(lái)源,通過(guò) time0 的定時(shí)功能 實(shí)現(xiàn)對(duì)定時(shí)操作,由于 time0 是八位的定時(shí)計(jì)數(shù)器無(wú)法在一次操作中完成 1 秒 的定時(shí)。在單片機(jī)內(nèi)部資源的操作中采取重復(fù)操作的方式實(shí)現(xiàn)一秒的準(zhǔn)確定時(shí) 操作。在系統(tǒng)的測(cè)量過(guò)程中通過(guò) time0 的操作在過(guò)一秒之后初始設(shè)定的時(shí)間值 將自動(dòng)遞減到 0,并且通過(guò)數(shù)碼管實(shí)現(xiàn)動(dòng)態(tài)顯示。 3.1.1 at89c52 的基本知識(shí) at89c52 是 51 系列單片機(jī)的一個(gè)型號(hào),它是 atmel 公司生產(chǎn)的。at89c52 是一個(gè)低電壓,高性能 cmos 8 位單片機(jī),片內(nèi)含 8k bytes 的可反復(fù)擦寫(xiě)的 成都理工大學(xué)畢業(yè)設(shè)計(jì)(論文) 9 flash 只讀程序

23、存儲(chǔ)器和 256 bytes 的隨機(jī)存取數(shù)據(jù)存儲(chǔ)器(ram) ,器件采用 atmel 公司的高密度、非易失性存儲(chǔ)技術(shù)生產(chǎn),兼容標(biāo)準(zhǔn) mcs-51 指令系統(tǒng),片 內(nèi)置通用 8 位中央處理器和 flash 存儲(chǔ)單元,功能強(qiáng)大的 at89c52 單片機(jī)可為 您提供許多較復(fù)雜系統(tǒng)控制應(yīng)用場(chǎng)合。 at89c52 有 pdip、pqfp/tqfp 及 plcc 等三種封裝形式,如圖所示(本設(shè) 計(jì)采用第二種封裝形式) ,以適應(yīng)不同產(chǎn)品的需求。 其主要功能特性: 兼容 mcs51 指令系統(tǒng) 8k 可反復(fù)擦寫(xiě)(1000 次)flash rom 32 個(gè)雙向 i/o 口 256x8bit 內(nèi)部 ram 3 個(gè) 1

24、6 位可編程定時(shí)/計(jì)數(shù)器中斷 時(shí)鐘頻率 0-24mhz 2 個(gè)串行中斷 可編程 uart 串行通道 2 個(gè)外部中斷源 共 6 個(gè)中斷源 2 個(gè)讀寫(xiě)中斷口線 3 級(jí)加密位 低功耗空閑和掉電模式 軟件設(shè)置睡眠和喚醒功能 at89c52 為 40 腳雙列直插封裝的 8 位通用微處理器,采用工業(yè)標(biāo)準(zhǔn)的 c51 內(nèi)核,在內(nèi)部功能及管腳排布上與通用的 8xc52 相同,其主要用于會(huì)聚調(diào) 整時(shí)的功能控制。功能包括對(duì)會(huì)聚主 ic 內(nèi)部寄存器、數(shù)據(jù) ram 及外部接口等 功能部件的初始化,會(huì)聚調(diào)整控制,會(huì)聚測(cè)試圖控制,紅外遙控信號(hào) ir 的接收 解碼及與主板 cpu 通信等。 成都理工大學(xué)畢業(yè)設(shè)計(jì)(論文) 10

25、 3.1.2 at89c52 的內(nèi)部結(jié)構(gòu) at8c52 功能框架圖如圖 3-1 所示: 圖 3-1 at8c52 功能框架圖 成都理工大學(xué)畢業(yè)設(shè)計(jì)(論文) 11 at8c52 功能框封裝圖如圖 3-2 所示: 圖 3-2 at8c52 功能框封裝圖 3.1.3 at89c52 的引腳功能描述 at89c52 引腳名稱如表 3-1 所示: 表 3-1 at89c52 引腳名稱 引腳編號(hào)引腳標(biāo)記 diplccqef 端口類別 vss202216i vcc404438i p0.0p0.7393243363730i/o p1.0p1.71829444i/o p2.02.72128243113, 243

26、1 i/o p3.0p3.7101711,13195,713i/o rst9104i ale/prog303327i/o psen293236o ea/vpp313529i xtal2182014o 成都理工大學(xué)畢業(yè)設(shè)計(jì)(論文) 12 xtal1192115i p0 口:p0 口是一組 8 位漏極開(kāi)路型雙向 i/o 口, 也即地址/數(shù)據(jù)總線 復(fù)用口。作為輸出口用時(shí),每位能吸收電流的方式驅(qū)動(dòng) 8 個(gè) ttl 邏輯門(mén)電路, 對(duì)端口 p0 寫(xiě)“1”時(shí),可作為高阻抗輸入端用。在訪問(wèn)外部數(shù)據(jù)存儲(chǔ)器或程序 存儲(chǔ)器時(shí),這組口線分時(shí)轉(zhuǎn)換地址(低 8 位)和數(shù)據(jù)總線復(fù)用,在訪問(wèn)期間激 活內(nèi)部上拉電阻。在 fla

27、sh 編程時(shí),p0 口接收指令字節(jié),而在程序校驗(yàn)時(shí),輸 出指令字節(jié),校驗(yàn)時(shí),要求外接上拉電阻。 p1 口:p1 是一個(gè)帶內(nèi)部上拉電阻的 8 位雙向 i/o 口, p1 的輸出緩沖 級(jí)可驅(qū)動(dòng)(吸收或輸出電流)4 個(gè) ttl 邏輯門(mén)電路。對(duì)端口寫(xiě)“1”,通過(guò)內(nèi) 部的上拉電阻把端口拉到高電平,此時(shí)可作輸入口。作輸入口使用時(shí),因?yàn)閮?nèi) 部存在上拉電阻,某個(gè)引腳被外部信號(hào)拉低時(shí)會(huì)輸出一個(gè)電流(iil)。與 at89c51 不同之處是,p1.0 和 p1.1 還可分別作為定時(shí)/計(jì)數(shù)器 2 的外部計(jì)數(shù) 輸入(p1.0/t2)和輸入(p1.1/t2ex),參見(jiàn)表 3-2。 flash 編程和程序校驗(yàn)期間,p1

28、接收低 8 位地址。 表 3-2 p1.0 和 p1.1 的第二功能 引腳號(hào)功能特性 p1.0t2(定時(shí)計(jì)數(shù)器 2 外部計(jì)數(shù)脈沖輸入),時(shí)鐘輸 出 p1.1t2ex(定時(shí)計(jì)數(shù) 2 捕獲重裝載觸發(fā)和方向控制) p2 口:p2 是一個(gè)帶有內(nèi)部上拉電阻的 8 位雙向 i/o 口,p2 的輸出緩沖 級(jí)可驅(qū)動(dòng)(吸收或輸出電流)4 個(gè) ttl 邏輯門(mén)電路。對(duì)端口 p2 寫(xiě)“1”,通 過(guò)內(nèi)部的上拉電阻把端口拉到高電平,此時(shí)可作輸入口,作輸入口使用時(shí),因 為內(nèi)部存在上拉電阻,某個(gè)引腳被外部信號(hào)拉低時(shí)會(huì)輸出一個(gè)電流(iil)。在訪 問(wèn)外部程序存儲(chǔ)器或 16 位地址的外部數(shù)據(jù)存儲(chǔ)器(例如執(zhí)行 movx dptr

29、指令)時(shí),p2 口送出高 8 位地址數(shù)據(jù)。在訪問(wèn) 8 位地址的外部數(shù)據(jù)存儲(chǔ)器 (如執(zhí)行 movx ri 指令)時(shí),p2 口輸出 p2 鎖存器的內(nèi)容。flash 編程或 校驗(yàn)時(shí),p2 亦接收高位地址和一些控制信號(hào)。 成都理工大學(xué)畢業(yè)設(shè)計(jì)(論文) 13 p3 口:p3 口是一組帶有內(nèi)部上拉電阻的 8 位雙向 i/o 口。p3 口輸出 緩沖級(jí)可驅(qū)動(dòng)(吸收或輸出電流)4 個(gè) ttl 邏輯門(mén)電路。對(duì) p3 口寫(xiě)入“1” 時(shí),它們被內(nèi)部上拉電阻拉高并可作為輸入端口。此時(shí),被外部拉低的 p3 口 將用上拉電阻輸出電流(iil)。p3 口除了作為一般的 i/o 口線外,更重要的 用途是它的第二功能,如下表所示

30、: 表 3-3 p3 口第二功能表 此外,p3 口還接收一些用于 flash 閃速存儲(chǔ)器編程和程序校驗(yàn)的控制信號(hào)。 rst:復(fù)位輸入。當(dāng)振蕩器工作時(shí),rst 引腳出現(xiàn)兩個(gè)機(jī)器周期以上高 電平將使單片機(jī)復(fù)位。 ale/prog: 當(dāng)訪問(wèn)外部程序存儲(chǔ)器或數(shù)據(jù)存儲(chǔ)器時(shí),ale(地址鎖存 允許)輸出脈沖用于鎖存地址的低 8 位字節(jié)。一般情況下,ale 仍以時(shí)鐘振 蕩頻率的 1/6 輸出固定的脈沖信號(hào),因此它可對(duì)外輸出時(shí)鐘或用于定時(shí)目的。 要注意的是:每當(dāng)訪問(wèn)外部數(shù)據(jù)存儲(chǔ)器時(shí)將跳過(guò)一個(gè) ale 脈沖。對(duì) flash 存 儲(chǔ)器編程期間,該引腳還用于輸入編程脈沖(prog)。如有必要,可通過(guò)對(duì) 特殊功能寄存

31、器(sfr)區(qū)中的 8eh 單元的 d0 位置位,可禁止 ale 操作。 該位置位后,只有一條 movx 和 movc 指令才能將 ale 激活。此外,該引 腳會(huì)被微弱拉高,單片機(jī)執(zhí)行外部程序時(shí),應(yīng)設(shè)置 ale 禁止位無(wú)效。 psen:程序儲(chǔ)存允許(psen)輸出是外部程序存儲(chǔ)器的讀選通信號(hào), 當(dāng) at89c52 由外部程序存儲(chǔ)器取指令(或數(shù)據(jù))時(shí),每個(gè)機(jī)器周期兩次 psen 有效,即輸出兩個(gè)脈沖。在此期間,當(dāng)訪問(wèn)外部數(shù)據(jù)存儲(chǔ)器,將跳過(guò)兩次 psen 信號(hào)。 成都理工大學(xué)畢業(yè)設(shè)計(jì)(論文) 14 ea/vpp:外部訪問(wèn)允許。欲使 cpu 僅訪問(wèn)外部程序存儲(chǔ)器(地址為 0000hffffh),ea

32、 端必須保持低電平(接地)。需注意的是:如果加密位 lb1 被編程,復(fù)位時(shí)內(nèi)部會(huì)鎖存 ea 端狀態(tài)。如 ea 端為高電平(接 vcc 端), cpu 則執(zhí)行內(nèi)部程序存儲(chǔ)器中的指令。flash 存儲(chǔ)器編程時(shí),該引腳加上+12v 的編程允許電源 vpp,當(dāng)然這必須是該器件是使用 12v 編程電壓 vpp。 xtal1:振蕩器反相放大器的及內(nèi)部時(shí)鐘發(fā)生器的輸入端。 xtal2:振蕩器反相放大器的輸出端。 時(shí)鐘振蕩器: at89c52 中有一個(gè)用于構(gòu)成內(nèi)部振蕩器的高增益反相放大器,引腳 xtal1 和 xtal2 分別是該放大器的輸入端和輸出端。這個(gè)放大器與作為反饋元件的片 外石英晶體或陶瓷諧振器一起

33、構(gòu)成自激振蕩器,振蕩電路參見(jiàn)圖如下。 圖 3-3 振蕩電路圖 外接石英晶體(或陶瓷諧振器)及電容 c1、c2 接在放大器的反饋回路中構(gòu)成 并聯(lián)振蕩電路。對(duì)外接電容 c1、c2 雖然沒(méi)有十分嚴(yán)格的要求,但電容容量的 大小會(huì)輕微影響振蕩頻率的高低、振蕩器工作的穩(wěn)定性、起振的難易程序及溫 度穩(wěn)定性,如果使用石英晶體,我們推薦電容使用 30pf10pf,而如使用陶瓷 諧振器建議選擇 40pf10f。 成都理工大學(xué)畢業(yè)設(shè)計(jì)(論文) 15 3.1.4 at89c52 的工作模式 at89c52 有兩種可用軟件編程的省電模式,它們是空閑模式和掉電工作模 式。這兩種方式是控制專用寄存器 pcon(即電源控制寄

34、存器)中的 pd(pcon.1)和 idl(pcon.0)位來(lái)實(shí)現(xiàn)的。pd 是掉電模式,當(dāng) pd=1 時(shí),激 活掉電工作 模式,單片機(jī)進(jìn)入掉電工作狀態(tài)。idl 是空閑等待方式,當(dāng) idl=1,激活空閑 工作模式,單片機(jī)進(jìn)入睡眠狀態(tài)。如需同時(shí)進(jìn)入兩種工作模式,即 pd 和 idl 同時(shí)為 1,則先激活掉電模式。在空閑工作模式狀態(tài),cpu 保持睡眠狀態(tài)而所 有片內(nèi)的外設(shè)仍保持激活狀態(tài),這種方式由軟件產(chǎn)生。此時(shí),片內(nèi) ram 和所有 特殊功能寄存器的內(nèi)容保持不變。空閑模式可由任何允許的中斷請(qǐng)求或硬件復(fù) 位終止。終止空閑工作模式的方法有兩種,其一是任何一條被允許中斷的事件 被激活,idl(pcon.0

35、)被硬件清除,即刻終止空閑工作模式。程序會(huì)首先響應(yīng) 中斷,進(jìn)入中斷服務(wù)程序,執(zhí)行完中斷服務(wù)程序并緊隨 reti(中斷返回)指令 后,下一條要執(zhí)行的指令就是使單片機(jī)進(jìn)入空閑模式那條指令后面的一條指令。 其二是通過(guò)硬件復(fù)位也可將空閑工作模式終止。需要注意的是,當(dāng)由硬件復(fù)位 來(lái)終止空閑工作模式時(shí),cpu 通常是從激活空閑模式那條指令的下一條指令開(kāi) 始繼續(xù)執(zhí)行程序的,要完成內(nèi)部復(fù)位操作,硬件復(fù)位脈沖要保持兩個(gè)機(jī)器周期 (24 個(gè)時(shí)鐘周期)有效,在這種情況下,內(nèi)部禁止 cpu 訪問(wèn)片內(nèi) ram,而允 許訪問(wèn)其它端口。為了避免可能對(duì)端口產(chǎn)生意外寫(xiě)入,激活空閑模式的那條指 令后一條指令不應(yīng)是一條對(duì)端口或外部

36、存儲(chǔ)器的寫(xiě)入指令。在掉電模式下,振 蕩器停止工作,進(jìn)入掉電模式的指令是最后一條被執(zhí)行的指令,片內(nèi) ram 和特 殊功能寄存器的內(nèi)容在終止掉電模式前被凍結(jié)。退出掉電模式的唯一方法是硬 件復(fù)位,復(fù)位后將重新定義全部特殊功能寄存器但不改變 ram 中的內(nèi)容,在 vcc 恢復(fù)到正常工作電平前,復(fù)位應(yīng)無(wú)效,且必須保持一定時(shí)間以使振蕩器重 啟動(dòng)并穩(wěn)定工作。3 3.1.5 at89c51 的內(nèi)部存儲(chǔ)器 flash 閃速存儲(chǔ)器的編程: 成都理工大學(xué)畢業(yè)設(shè)計(jì)(論文) 16 at89c52 單片機(jī)內(nèi)部有 4k 字節(jié)的 flash perom,這個(gè) flash 存儲(chǔ)陣列 出廠時(shí)已處于擦除狀態(tài)(即所有存儲(chǔ)單元的內(nèi)容均

37、為 ffh),用戶隨時(shí)可對(duì)其 進(jìn)行編程。編程接口可接收高電壓(+12v)或低電壓(vcc)的允許編程信號(hào)。 低電壓編程模式適合于用戶在線編程系統(tǒng),而高電壓編程模式可與通用 eprom 編程器兼容。at89c52 單片機(jī)中,有些屬于低電壓編程方式,而有些 則是高電壓編程方式,用戶可從芯片上的型號(hào)和讀取芯片內(nèi)的名字節(jié)獲得該信 息. at89c52 的程序存儲(chǔ)器陣列是采用字節(jié)寫(xiě)入方式編程的,每次寫(xiě)入一個(gè) 字節(jié),要對(duì)整個(gè)芯片內(nèi)的 perom 程序存儲(chǔ)器。寫(xiě)入一個(gè)非空字節(jié),必須使用 片擦除的方式將整個(gè)存儲(chǔ)器的內(nèi)容清除。編程前,設(shè)置好地址、數(shù)據(jù)及控制信 號(hào)。編程單元的地址加在 p1 口和 p2 口的 p2

38、.0p2.3(11 位地址范圍為 0000h0fffh),數(shù)據(jù)從 p0 口輸入,引腳 psen 為低電平,rst 保持高電 平,eavpp引腳是編程電源的輸入端,按要求加上編程電壓, aleprog 引腳輸入編程脈沖(負(fù)脈沖)。編程時(shí),可采用 420mhz 的時(shí) 鐘振蕩器,at89c52 編程方法如下: 1在地址線上加上要編程單元的地址信號(hào)。 2在數(shù)據(jù)線上加上要寫(xiě)入的數(shù)據(jù)字節(jié)。 3激活相應(yīng)的控制信號(hào)。 4在高電壓編程方式時(shí),將 eavpp 端加上+12v 編程電壓。 5每對(duì) flash 存儲(chǔ)陣列寫(xiě)入一個(gè)字節(jié)或每寫(xiě)入一個(gè)程序加密位,加上一個(gè) aleprog 編程脈沖。改變編程單元的地址和寫(xiě)入的數(shù)

39、據(jù),重復(fù) 15 步驟, 直到全部文件編程結(jié)束。每個(gè)字節(jié)寫(xiě)入周期是自身定時(shí)的,通常約為 1.5ms。 at89c52 單片機(jī)用數(shù)據(jù)查詢方式來(lái)檢測(cè)一個(gè)寫(xiě)周期是否結(jié)束,在一個(gè)寫(xiě)周 期中,如需讀取最后寫(xiě)入的那個(gè)字節(jié),則讀出的數(shù)據(jù)的最高位(p0.7)是原來(lái) 寫(xiě)入字節(jié)最高位的反碼。寫(xiě)周期完成后,有效的數(shù)據(jù)就會(huì)出現(xiàn)在所有輸出端上, 此時(shí),可進(jìn)入下一個(gè)字節(jié)的寫(xiě)周期,寫(xiě)周期開(kāi)始后,可在任意時(shí)刻進(jìn)行數(shù)據(jù)查 詢。 3.2 顯示模塊 本模塊的主要功能就是顯示倒計(jì)時(shí)的起始時(shí)間,開(kāi)始倒計(jì)時(shí)后時(shí)間的變化 以及顯示設(shè)定好的時(shí)間。 成都理工大學(xué)畢業(yè)設(shè)計(jì)(論文) 17 基于at89c52單片機(jī)的數(shù)碼管顯示分成了兩大塊:分鐘顯示和

40、秒顯示。其 工作原理由段碼線送出待顯示的字符,然后通過(guò)順序執(zhí)行依次選中每一位數(shù)碼 管,同時(shí)使顯示字符在每一位上停留一段時(shí)間,這樣便可以看到4個(gè)led的顯示, 4個(gè)計(jì)數(shù)led是由p0口控制,由于是共陽(yáng)極,所以低電平有效。當(dāng)程序順序執(zhí)行 到數(shù)碼管動(dòng)態(tài)顯示程序時(shí),便可實(shí)現(xiàn)4個(gè)led的動(dòng)態(tài)顯示功能。 動(dòng)態(tài)顯示設(shè)計(jì)硬件圖如下圖 3-4 所示: a bf c g d e dpy 1 2 3 4 5 6 7 a b c d e f g 8 dp dp com 9 ds2 dpy_7-seg_dp a bf c g d e dpy 1 2 3 4 5 6 7 a b c d e f g 8 dp dp com

41、 9 ds3 dpy_7-seg_dp a bf c g d e dpy 1 2 3 4 5 6 7 a b c d e f g 8 dp dp com 9 ds4 dpy_7-seg_dp a bf c g d e dpy 1 2 3 4 5 6 7 a b c d e f g 8 dp dp com 9 ds5 dpy_7-seg_dp q5 pnp q4 pnp q3 pnp q2 pnpr5 1.5k r4 1.5k r6 1.5k r3 1.5k pd3pd2 pd1pd0 a b c d e f g dp a b c d e f g dp a b c d e f g dp a b

42、c d e f g dp vcc 圖 3-4 顯示電路設(shè)計(jì)原理圖 led 顯示器是有多段發(fā)光二極管顯示字段的顯示器件,有共陽(yáng)極和共陰極 兩種,同時(shí)也有兩種顯示方式:靜態(tài)顯示和動(dòng)態(tài)顯示。兩種方式相比較,靜態(tài) 顯示的優(yōu)點(diǎn)是顯示亮度大。在單片機(jī)應(yīng)用系統(tǒng)中使用多位 led 顯示器時(shí),為節(jié) 省單片機(jī)的 i/o 口線,多采用動(dòng)態(tài)顯示電路。由于本設(shè)計(jì)中采用的是多位 led 顯示,故采用動(dòng)態(tài) led 顯示。 3.3 鍵盤(pán)模塊 鍵盤(pán)設(shè)計(jì)電路原理圖如下圖 3-5 所示: 成都理工大學(xué)畢業(yè)設(shè)計(jì)(論文) 18 s2 sw-pb s5 sw-pb s3 sw-pb s4 sw-pb s6 sw-pb k2 k3 k4

43、k5 k1 10k r 9 r es2 10k r 10 r es2 10k r 11 r es2 10k r 12 r es2 10k r 13 r es2 vc c 圖 3-5 鍵盤(pán)設(shè)計(jì)電路原理圖 (1) 鍵盤(pán)作用 計(jì)算機(jī)控制系統(tǒng)中,數(shù)據(jù)和控制信號(hào)的輸入主要使用鍵盤(pán),鍵盤(pán)接口,尤 其是鍵輸入信號(hào)的軟件處理方法是影響系統(tǒng)使用和操作性能的重要因素,鍵盤(pán) 接口和軟件的任務(wù)主要包括以下幾個(gè)方面: *檢測(cè)并判斷是否有鍵按下 *按鍵開(kāi)關(guān)的延時(shí)消抖功能 *計(jì)算并確定按鍵的鍵值 *程序根據(jù)計(jì)算出的鍵值進(jìn)行一系列的處理和執(zhí)行 (2)鍵盤(pán)的選擇 鍵盤(pán)按結(jié)構(gòu)分為獨(dú)立式按鍵行列式,每類按譯碼方式的不同又分為編碼式

44、 和非編碼式兩種,單片機(jī)中一般都使用的是用軟件來(lái)識(shí)別和產(chǎn)生鍵代碼的非編 碼式鍵盤(pán)行列式鍵盤(pán)編碼方式有靜態(tài)和動(dòng)態(tài)兩種,靜態(tài)接口主要由一個(gè)行編碼 器和列編碼器構(gòu)成,動(dòng)態(tài)接口可采用計(jì)數(shù)器、譯碼器和數(shù)據(jù)選擇器來(lái)構(gòu)成這兩 種鍵盤(pán)由硬件完成鍵的譯碼任務(wù),一般小型儀器和控制系統(tǒng)中使用較多的是行 列式和獨(dú)立式的非編碼鍵盤(pán),如果系統(tǒng)要求實(shí)現(xiàn)多鍵同時(shí)按下的處理則采用非 編碼獨(dú)立式較合適。6使用矩陣鍵盤(pán),能減少鍵盤(pán)與單片機(jī)接口時(shí)所占用的 i/o 線的數(shù)目,總上所述本方案選擇非編碼式鍵盤(pán)。 (3)鍵盤(pán)掃描流程圖如圖 3-6: 成都理工大學(xué)畢業(yè)設(shè)計(jì)(論文) 19 開(kāi)始 有鍵閉合 延時(shí) 10ms 時(shí)否抖動(dòng)? 判斷閉合鍵鍵

45、號(hào),并保存 閉合鍵釋放? 返回 n y n n y 圖 3-6 鍵盤(pán)掃描流程圖 3.4 系統(tǒng)電路 3.4.1 蜂鳴器報(bào)警/提示音電路設(shè)計(jì) 系統(tǒng)為了提示倒計(jì)時(shí)的完成設(shè)計(jì)了報(bào)警提示電路。主要是在系統(tǒng)進(jìn)行時(shí)間 設(shè)定時(shí)提示正在設(shè)置時(shí)間,和在倒計(jì)時(shí)完成時(shí)通過(guò)蜂鳴器的蜂鳴報(bào)警實(shí)現(xiàn)提示 功能。電路主要有一個(gè)蜂鳴器和一個(gè)三極管組成。在倒計(jì)時(shí)完成時(shí)通過(guò)控制端 口 p3.0 給三極管送入低電平使其導(dǎo)通,實(shí)現(xiàn)蜂鳴器報(bào)警。 蜂鳴器電路設(shè)計(jì)原理圖如下圖 3-7 所示: 成都理工大學(xué)畢業(yè)設(shè)計(jì)(論文) 20 b1 speaker q6 pnp r7 1.5k vcc spe 圖 3-7 蜂鳴器電路設(shè)計(jì)原理圖 3.4.2 電

46、源電路設(shè)計(jì) 整個(gè)系統(tǒng)的工作采用外接 5v 直流電的方式給系統(tǒng)供電,由于系統(tǒng)用于精 密的測(cè)量對(duì)電源的要求較高。所以在外接 5v 直流電的同時(shí)在系統(tǒng)電源介入口 也進(jìn)行相關(guān)的處理,以利于系統(tǒng)本身獲得穩(wěn)定性以及紋波系數(shù)較好的電源。 電源設(shè)計(jì)原理圖如下圖 3-8 所示: r1 390 1 led vcc gnd 1 gnd 2 vcc 3 power vcc 圖 3-8 電源設(shè)計(jì)原理圖 成都理工大學(xué)畢業(yè)設(shè)計(jì)(論文) 21 3.4.3 時(shí)鐘電路設(shè)計(jì) 時(shí)鐘電路是數(shù)字電路的核心。 mcs51 單片機(jī)的時(shí)鐘電路設(shè)計(jì)通常有兩種形式:采用內(nèi)部振蕩方式和采 用外部振蕩方式。 內(nèi)部振蕩方式:mcs51 單片機(jī)內(nèi)有一個(gè)用

47、于構(gòu)成振蕩器的高增益反相放大 器,引腳 xtal1 和 xtal2 分別是此放大器的輸入端和輸出端。把這兩個(gè)引腳與 作為反饋元件的晶體或陶瓷諧振器連接,就構(gòu)成了內(nèi)部自激振蕩器并產(chǎn)生振蕩 時(shí)鐘脈沖。晶體或陶瓷振蕩器的頻率一般為 1.212mhz,但需要根據(jù)單片機(jī)的 具體要求而定。兩個(gè)電容 c1 和 c2 的值一般為 30pf 左右,需要根據(jù)晶體或陶瓷 諧振蕩器的實(shí)際情況而定。7 外部振蕩形式:外部振蕩形式就是辦外部已有的時(shí)鐘信號(hào)(如有源晶體振 蕩器產(chǎn)生的時(shí)鐘信號(hào))導(dǎo)入單片機(jī)內(nèi)。 本設(shè)計(jì)采用內(nèi)部振蕩方式,如圖 3-9 所示: x1 crystal c10 33pf c9 33pf xtal2 xt

48、al1 圖 3-9 晶振電路設(shè)計(jì)原理圖 3.5 系統(tǒng)軟件框圖 系統(tǒng)軟件流框圖如下圖 3-10 所示: 成都理工大學(xué)畢業(yè)設(shè)計(jì)(論文) 22 圖 3-10 系統(tǒng)軟件流框圖 本系統(tǒng)當(dāng)中,定時(shí)器 0 負(fù)責(zé)計(jì)時(shí),并且以秒為單位,定時(shí)器 1 負(fù)責(zé)進(jìn)行定 時(shí)掃描,所以當(dāng)進(jìn)入系統(tǒng)主函數(shù)后,系統(tǒng)不停地進(jìn)行顯示和按鍵處理,定時(shí)和 按鍵掃描則在中斷中進(jìn)行,這樣就提高了系統(tǒng)的實(shí)時(shí)性(消抖再也不用延時(shí)了) 。 3.6 編程語(yǔ)言選擇 編寫(xiě)單片機(jī)的軟件的時(shí)候,應(yīng)該盡量使用高級(jí)語(yǔ)言來(lái)編寫(xiě)。使用匯編語(yǔ)言, 逐條指令編寫(xiě),并且手工分配單片機(jī)中的內(nèi)存資源。由于匯編語(yǔ)言的低可讀性、 低結(jié)構(gòu)邏輯復(fù)雜,在一個(gè)軟件的邏輯關(guān)系混亂后,要保證

49、寫(xiě)出來(lái)的軟件能安全 運(yùn)轉(zhuǎn)是很困難的,所以用用 c 語(yǔ)言編寫(xiě)。 成都理工大學(xué)畢業(yè)設(shè)計(jì)(論文) 23 第四章 結(jié)論 4.1 總結(jié) 整個(gè)設(shè)計(jì)所實(shí)現(xiàn)的功能非常簡(jiǎn)單,歸結(jié)為四個(gè)字:定時(shí)報(bào)警。所謂定時(shí)就 是實(shí)現(xiàn) at89c52 的定時(shí)器精確定時(shí)到 1 秒的功能,整個(gè)顯示部分實(shí)現(xiàn)了分顯示 和秒顯示兩部分,同時(shí)實(shí)現(xiàn)了鍵盤(pán)的相關(guān)鍵值功能:按鍵 3 為確定啟動(dòng)倒計(jì)時(shí) 的功能鍵,按鍵 1 和按鍵 5 實(shí)現(xiàn)光標(biāo)的左移和右移,按鍵 2 和按鍵 4 實(shí)現(xiàn)當(dāng)前值 的增加和減小。實(shí)現(xiàn)了硬件復(fù)位的功能,同時(shí)也實(shí)現(xiàn)了蜂鳴器報(bào)警的功能,同 時(shí)在設(shè)定定時(shí)時(shí)間值的時(shí)候,實(shí)現(xiàn)了當(dāng)前設(shè)定位的閃爍效果,當(dāng)啟動(dòng)測(cè)量以后, 也實(shí)現(xiàn)了所設(shè)定時(shí)間值

50、不閃爍的效果,同時(shí)也實(shí)現(xiàn)了對(duì)設(shè)定時(shí)間值的保存,開(kāi) 始倒計(jì)時(shí)后,除復(fù)位鍵有效外其它鍵均無(wú)效。最后,當(dāng)測(cè)量結(jié)束的時(shí)候,按下 鍵盤(pán)當(dāng)中的復(fù)位鍵,實(shí)現(xiàn)系統(tǒng)復(fù)位,再次倒計(jì)時(shí)的功能。 4.2 系統(tǒng)展望 隨著人們生活水平的提高,人們對(duì)倒計(jì)時(shí)定時(shí)器的要求越來(lái)越高,有單一 的計(jì)時(shí)功能到發(fā)展到現(xiàn)在有多功能倒計(jì)時(shí)定時(shí)器。這些多功能倒計(jì)時(shí)定時(shí)器廣 泛用于個(gè)人家庭以及車站、碼頭、劇院、辦公室等公共場(chǎng)所。利用單片機(jī)作為 倒計(jì)時(shí)定時(shí)器的控制核心可以做到硬件電路簡(jiǎn)單穩(wěn)定,減小電磁干擾和其他環(huán) 境干擾,充分發(fā)揮軟件編程的優(yōu)點(diǎn),減少因元器件精度不夠引起的誤差。設(shè)計(jì) 中了解到倒計(jì)時(shí)定時(shí)器的迅猛發(fā)展,它已經(jīng)普遍應(yīng)用到人們?nèi)粘Ia(chǎn)和生

51、活之 中了。倒計(jì)時(shí)定時(shí)器有很強(qiáng)的發(fā)展空間,因此我們有理由相信將來(lái)倒計(jì)時(shí)定時(shí) 器會(huì)與我們的生產(chǎn)和生活更加緊密相連。 4.3 在本次課程設(shè)計(jì)中獲得的學(xué)習(xí)體會(huì) 在本次畢業(yè)設(shè)計(jì)當(dāng)中,自己深深的明白了理論知識(shí)一定要和實(shí)踐相結(jié)合的 道理,只有把理論知識(shí)貫穿到實(shí)踐當(dāng)中,才能真正的學(xué)到有用的知識(shí),自己在 這次畢業(yè)設(shè)計(jì)中也學(xué)到了很多新的知識(shí)。 成都理工大學(xué)畢業(yè)設(shè)計(jì)(論文) 24 致 謝 這次畢業(yè)論文能夠得以順利完成,并非我一人之功勞,是所有指導(dǎo)過(guò)我的 老師,幫助過(guò)我的同學(xué)和一直關(guān)心支持著我的家人對(duì)我的教誨、幫助和鼓勵(lì)的 結(jié)果。我要在這里對(duì)他們表示深深的謝意! 感謝我的指導(dǎo)老師xx 老師,沒(méi)有您的悉心指導(dǎo)就沒(méi)有這

52、篇論文的順 利完成。 感謝我的父母,沒(méi)有你們,就沒(méi)有我的今天,你們的支持與鼓勵(lì),永遠(yuǎn)是 支撐我前進(jìn)的最大動(dòng)力。 感謝身邊所有的朋友與同學(xué),謝謝你們四年來(lái)的關(guān)照與寬容,與你們一起 走過(guò)的繽紛時(shí)代,將會(huì)是我一生最珍貴的回憶。 成都理工大學(xué)畢業(yè)設(shè)計(jì)(論文) 25 參考文獻(xiàn) 1曹巧媛.單片機(jī)原理及應(yīng)用m.:電子工業(yè)出版社.1997.7. 2沈衛(wèi)紅.單片機(jī)應(yīng)用系統(tǒng)設(shè)計(jì)實(shí)例與分析m.北京航空航天大學(xué)出版社.2003.1. 3楊振江等.流行單片機(jī)子程序及應(yīng)用實(shí)例m.西安電子科技大學(xué)出版社.2002.7. 4付家才單片機(jī)控制工程實(shí)踐技術(shù)m. 北京:化學(xué)工業(yè)出版社,2004 5孫育才,王榮興,孫化芳.新型at8

53、9s52系列單片機(jī)及其應(yīng)用m. 北京:清華大學(xué) 出,2005 6朱定華.單片機(jī)原理及接口技術(shù)實(shí)驗(yàn)m.北京:北方交通大學(xué)出版社,2002 7張?chǎng)危A臻,陳書(shū)謙.單片機(jī)原理及應(yīng)用m.北京:電子工業(yè)出版社,2005 8何立民.mcs51系列單片機(jī)應(yīng)用系統(tǒng)設(shè)計(jì)系統(tǒng)配置與接口技術(shù)m.北京:北京航空 航天大學(xué)出版社,1999 9陳小忠,黃寧,趙小俠編著.單片機(jī)接口技術(shù)實(shí)用子程序 m.北京:人民郵政出版 社,2005 10chen steve stanley damster. variable air volume system for environment qualitym,mcgraw-hill co

54、mpany.1996. 11dallas semiconductor data etookm.dallas semiconductor corp,.2000. 12quick guild to 1-wire net using pcs and microcontrollersm. application note 132.dallas semiconductor corp. 1999. 成都理工大學(xué)畢業(yè)設(shè)計(jì)(論文) 26 附錄 1 倒計(jì)時(shí)定時(shí)器原理圖: b1 speaker x1 crystal c10 33pf c9 33pf q6 pnp r7 1.5k r1 390 1 led a bf

55、 c g d e dpy 1 2 3 4 5 6 7 a b c d e f g 8 dp dp com 9 ds2 dpy_7-seg_dp a bf c g d e dpy 1 2 3 4 5 6 7 a b c d e f g 8 dp dp com 9 ds3 dpy_7-seg_dp a bf c g d e dpy 1 2 3 4 5 6 7 a b c d e f g 8 dp dp com 9 ds4 dpy_7-seg_dp a bf c g d e dpy 1 2 3 4 5 6 7 a b c d e f g 8 dp dp com 9 ds5 dpy_7-seg_dp

56、q5 pnp q4 pnp q3 pnp q2 pnp r5 1.5k r4 1.5k r6 1.5k r3 1.5k r22 100 r16 100 r15 100 r17 100 r18 100 r21 100 r20 100 r19 100 s2 sw-pb s5 sw-pb s3 sw-pb s4 sw-pb s6 sw-pb e d c dp b a f g pd3pd2 pd1pd0 a b c d e f g dp a b c d e f g dp a b c d e f g dp a b c d e f g dp k2 k3 k4 k5 k1 vcc vcc vcc at89c52 p1.0/t2 1 p1.1 2 p1.2 3 p1.3 4 p1.4 5 p1.5 6 p1.6 7 p1.7 8 rst 9 p3.0 10 p3.1 11 p3.2 12 p3.3 13 p3.4 14 p3.5 15 p3.6 16 p3.7 17 xtal2 18 xtal1 19 gnd 20 p2.0 21 p2.1

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(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)論