基于DS1302實(shí)時(shí)時(shí)鐘系統(tǒng)的設(shè)計(jì)論文_第1頁
基于DS1302實(shí)時(shí)時(shí)鐘系統(tǒng)的設(shè)計(jì)論文_第2頁
基于DS1302實(shí)時(shí)時(shí)鐘系統(tǒng)的設(shè)計(jì)論文_第3頁
基于DS1302實(shí)時(shí)時(shí)鐘系統(tǒng)的設(shè)計(jì)論文_第4頁
基于DS1302實(shí)時(shí)時(shí)鐘系統(tǒng)的設(shè)計(jì)論文_第5頁
已閱讀5頁,還剩21頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、學(xué)士學(xué)位論文(設(shè)計(jì))學(xué)士學(xué)位論文(設(shè)計(jì))Bachelors Thesis論文題目基于 DS1302 實(shí)時(shí)時(shí)鐘系統(tǒng)的設(shè)計(jì)目目 錄錄1緒論.12方案對(duì)比與選擇分析介紹.22.1 單片機(jī)控制器的選擇與對(duì)比.22.2 實(shí)時(shí)時(shí)鐘芯片的選擇與對(duì)比.32.3 顯示器件的選擇與對(duì)比.33系統(tǒng)設(shè)計(jì)概述.43.1 設(shè)計(jì)內(nèi)容及要求 .43.2 系統(tǒng)框架及說明 .44硬件電路設(shè)計(jì)分析.54.1 STC89C52 單片機(jī)簡(jiǎn)介 .54.2 STC89C52 單片機(jī)內(nèi)部結(jié)構(gòu) .64.3 MCU 控制電路設(shè)計(jì)分析 .74.4 數(shù)碼管顯示設(shè)計(jì)分析 .84.5 DS1302 時(shí)鐘電路設(shè)計(jì)分析 .104.6 蜂鳴器報(bào)警電路設(shè)計(jì)分析

2、 .154.7 電源部分設(shè)計(jì)分析 .155系統(tǒng)軟件設(shè)計(jì)分析.165.1 DS1302 模塊程序設(shè)計(jì) .165.2 定時(shí)器模塊程序設(shè)計(jì) .165.3 按鍵模塊程序設(shè)計(jì) .175.4 數(shù)碼管顯示模塊程序設(shè)計(jì) .195.5 蜂鳴器報(bào)警模塊程序設(shè)計(jì) .205.6 主程序設(shè)計(jì) .206總結(jié).217參考文獻(xiàn).228致謝.1附錄 .錯(cuò)誤!未定義書簽。錯(cuò)誤!未定義書簽。附錄 1 作品(設(shè)計(jì))原理圖 .錯(cuò)誤!未定義書簽。錯(cuò)誤!未定義書簽。附錄 2 作品(設(shè)計(jì))實(shí)物圖 .錯(cuò)誤!未定義書簽。錯(cuò)誤!未定義書簽。基于基于 DS1302DS1302 實(shí)時(shí)時(shí)鐘系統(tǒng)的設(shè)計(jì)實(shí)時(shí)時(shí)鐘系統(tǒng)的設(shè)計(jì)摘要: 本論文(設(shè)計(jì))采用 STC8

3、9C52 單片機(jī)和 DS1302 實(shí)時(shí)時(shí)鐘芯片為主要器件設(shè)計(jì)的實(shí)時(shí)時(shí)鐘系統(tǒng)。能夠準(zhǔn)確的顯示實(shí)時(shí)時(shí)間、日期、星期。通過 8 位低功耗數(shù)碼管將時(shí)間信息顯示出來,數(shù)碼管由單片機(jī)直接驅(qū)動(dòng),無需其他驅(qū)動(dòng)芯片,通過按鍵切換顯示時(shí)間、日期、星期、鬧鐘等信息。系統(tǒng)設(shè)計(jì)有鬧鐘報(bào)警功能,當(dāng)實(shí)時(shí)時(shí)間到達(dá)鬧鐘設(shè)計(jì)時(shí)間時(shí),鬧鐘就會(huì)蜂鳴器報(bào)警,報(bào)警時(shí)間可通過按鍵自行設(shè)定。DS1302 芯片配備有備用電池,可確保即便是掉電的情況下也能繼續(xù)走時(shí),無需人工重新設(shè)定時(shí)間。關(guān)鍵詞: 單片機(jī);DS1302;實(shí)時(shí)時(shí)鐘;中圖分類號(hào): : TPDesign of Real-Time Clock System Based on DS1302

4、Abstract :This thesis (design) STC89C52 microcontroller and DS1302 real time clock chip real-time clock system design for the main device. Able to accurately display real-time time, date, day of the week. 8-bit low-power digital tube display time information, the digital tube directly driven by the

5、microcontroller, without additional driver chips, display time, date, week, alarm clock and other information through the key switch. The system is designed to have an alarm clock alarm function, real-time to reach the alarm design time, the alarm will be buzzer alarm, set alarm time by pressing a b

6、utton. The DS1302 chip equipped with battery backup to ensure that even the case of power failure can continue to walk, you do not need to manually reset the time.Keywords : MCU ; DS1302 ; Real-Time Clock;1基于基于 DS1302DS1302 實(shí)時(shí)時(shí)鐘系統(tǒng)的設(shè)計(jì)實(shí)時(shí)時(shí)鐘系統(tǒng)的設(shè)計(jì)1緒論20 世紀(jì)末,電子技術(shù)獲得了飛速的發(fā)展,在其推動(dòng)下,現(xiàn)代電子產(chǎn)品幾乎滲透了社會(huì)的各個(gè)領(lǐng)域,有力地推動(dòng)了社會(huì)生產(chǎn)

7、力的發(fā)展和社會(huì)信息化程度的提高,同時(shí) 也使現(xiàn)代電子產(chǎn)品性能進(jìn)一步提高,產(chǎn)品更新?lián)Q代的節(jié)奏也越來越快。 時(shí)間對(duì)人們來說總是那么寶貴,工作的忙碌性和繁雜性容易使人忘記當(dāng)前的時(shí)間。忘記了要做的事情,當(dāng)事情不是很重要的時(shí)候,這種遺忘無傷大雅。但是,一旦重要事情,一時(shí)的 耽誤可能釀成大禍。 目前,單片機(jī)正朝著高性能和多品種方向發(fā)展趨勢(shì)將是進(jìn)一步向著 CMOS 化、低 功耗、小體積、大容量、高性能、低價(jià)格和外圍電路內(nèi)裝化等幾個(gè)方面發(fā)展。下面是單片機(jī)的主要發(fā)展趨勢(shì),單片機(jī)應(yīng)用的重要意義還在于,它從根本上改變了傳統(tǒng)的控制系統(tǒng)設(shè)計(jì)思想和設(shè)計(jì)方法。從前必須由模擬電路或數(shù)字電路實(shí)現(xiàn)的大部分功能,現(xiàn)在已能用單片機(jī)通過

8、軟件方法來實(shí)現(xiàn)了。這種軟件代替硬件的控制技術(shù)也稱為微控制技術(shù),是傳統(tǒng)控制技術(shù)的一次革命。 單片機(jī)模塊中最常見的是數(shù)字鐘,數(shù)字鐘是一種用數(shù)字電路技術(shù)實(shí)現(xiàn)時(shí)、分、秒 計(jì)時(shí)的裝置,與機(jī)械式時(shí)鐘相比具有更高的準(zhǔn)確性和直觀性,且無機(jī)械裝置,具有更長(zhǎng)的使用壽命,因此得到了廣泛的使用。將單片機(jī)嵌入時(shí)鐘構(gòu)成一體,開發(fā)出多功能時(shí)鐘,可以讓人們對(duì)于時(shí)間更好的把握,是發(fā)展的必然結(jié)果?,F(xiàn)代的數(shù)字鐘不僅需要數(shù)字電路技術(shù)而且需要模擬電路技術(shù)和單片機(jī)技術(shù),增加了數(shù)字鐘的功能。其電路可以由實(shí)時(shí)時(shí)鐘模塊、環(huán)境溫度檢測(cè)模塊、人機(jī)接口模塊、報(bào)警模塊等部分組成。利用軟件編程盡量做到硬件電路簡(jiǎn)單穩(wěn)定,減小電磁干擾和其他環(huán)境干擾,充分發(fā)

9、揮軟件編程的優(yōu)點(diǎn),減小因元器件精度不夠引起的誤差,但是數(shù)字鐘還是可以改進(jìn)和提高如選用更精密的元器件。但與機(jī)械式時(shí)鐘相比已經(jīng)具有更高的準(zhǔn)確性和直觀性,且無機(jī)械裝置,具有更長(zhǎng)的使用壽命,因此得到了廣泛的使用。數(shù)字鐘是采用數(shù)字電路實(shí)現(xiàn)對(duì)時(shí)、分、秒、日期數(shù)字顯示的計(jì)時(shí)裝置,廣泛用于個(gè)人家庭,車站, 碼頭辦公室等公共場(chǎng)所,成為人們?nèi)粘I钪胁豢缮俚谋匦杵?由于數(shù)字集成電路的發(fā)展和石英晶體振蕩器的廣泛應(yīng)用,使得數(shù)字鐘的精度,遠(yuǎn)遠(yuǎn)超過老式鐘表, 鐘表的數(shù)字化給人們生產(chǎn)生活帶來了極大的方便,而且大大地?cái)U(kuò)展了鐘表原先的報(bào)時(shí)功能。諸如定時(shí)自動(dòng)報(bào)警、按時(shí)自動(dòng)打鈴、時(shí)間程序自動(dòng)控制、定時(shí)廣播、自動(dòng)起閉路燈、定時(shí)開關(guān)烘

10、箱、通斷動(dòng)力設(shè)備、甚至各種定時(shí)電氣的自動(dòng)啟用等,所有這些,都是以鐘表數(shù)字化為基礎(chǔ)的。因此,研究數(shù)字鐘及擴(kuò)大其應(yīng)用,有著非?,F(xiàn)實(shí)的意義。2本文就是基于以上的選題背景和研究意義,研究設(shè)計(jì)的基于 DS1302D 的實(shí)時(shí)時(shí)鐘系統(tǒng)。2方案對(duì)比與選擇分析介紹2.1單片機(jī)控制器的選擇與對(duì)比目前在單片機(jī)系統(tǒng)中,低端控制其中應(yīng)用比較廣泛的微處理器芯片主要為 8 位單片機(jī)。新型單片機(jī)層出不窮,硬件資源相互兼容,品類齊全,功能完善,性能穩(wěn)定,體積小,價(jià)格低廉,貨源充足,調(diào)試和編程方便,所以應(yīng)用極為廣泛。ATmega16 是基于增強(qiáng)的 AVR RISC 結(jié)構(gòu)的低功耗 8 位 CMOS 微控制器。由于其先進(jìn)的指令集以及

11、單時(shí)鐘周期指令執(zhí)行時(shí)間,ATmega16 的數(shù)據(jù)吞吐率高達(dá) 1 MIPS/MHz,從而可以減緩系統(tǒng)在功耗和處理速度之間的矛盾。ATmega16 有如下特點(diǎn):16K 字節(jié)的系統(tǒng)內(nèi)可編程 Flash(具有同時(shí)讀寫的能力,即 RWW),512 字節(jié) EEPROM,1K 字節(jié) SRAM,32 個(gè)通用 I/O 口線,32 個(gè)通用工作寄存器,用于邊界掃描的 JTAG 接口,支持片內(nèi)調(diào)試與編程,三個(gè)具有比較模式的靈活的定時(shí)器/計(jì)數(shù)器(T/C),片內(nèi)/外中斷,可編程串行USART,有起始條件檢測(cè)器的通用串行接口,8 路 10 位具有可選差分輸入級(jí)可編程增益(TQFP 封裝) 的 ADC ,具有片內(nèi)振蕩器的可編

12、程看門狗定時(shí)器,一個(gè) SPI 串行端口,以及六個(gè)可以通過軟件進(jìn)行選擇的省電模式。 STC12C5A60S2/AD/PWM 系列單片機(jī)是宏晶科技生產(chǎn)的單時(shí)鐘/機(jī)器周期(1T)的單片機(jī),是高速/低功耗/超強(qiáng)抗干擾的新一代 8051 單片機(jī),指令代碼完全兼容傳統(tǒng) 8051,但速度快 8-12 倍。內(nèi)部集成 MAX810 專用復(fù)位電路,2 路 PWM,8 路高速 10 位 A/D 轉(zhuǎn)換(250K/S,即 25 萬次/秒)針對(duì)電機(jī)控制,強(qiáng)干擾場(chǎng)合。STC89C52 單片機(jī)是一款低功耗,低電壓,高性能 CMOS 8 位單片機(jī),片內(nèi)含8KB(可經(jīng)受 1000 次擦寫周期)的 FLASH 可編程可反復(fù)擦寫的只

13、讀程序存儲(chǔ)器,器件采用 CMOS 工藝和高密度、非易失性存儲(chǔ)器(NURAM)技術(shù)制造,其輸出引腳和指令系統(tǒng)都與 MCS-51 兼容。片內(nèi)的 FLASH 存儲(chǔ)器允許在系統(tǒng)內(nèi)可改編程序或用常規(guī)的非易失性存儲(chǔ)器編程器來編程。因此,STC89C52 是一種功能強(qiáng),靈活性高且價(jià)格合理的單片機(jī),可方便的應(yīng)用在各個(gè)控制領(lǐng)域。本設(shè)計(jì)本著實(shí)用、夠用、方便、降低成本的原則,本設(shè)計(jì)中需要更多的 I/O 引腳驅(qū)動(dòng)數(shù)碼管,在眾多的單片機(jī)中選用具有 32 根 I/O 引腳的 STC89C52 單片機(jī)。32.2實(shí)時(shí)時(shí)鐘芯片的選擇與對(duì)比在電子時(shí)鐘設(shè)計(jì)中,常用的實(shí)時(shí)時(shí)鐘芯片有 DS12887、DS1216、DS1643、DS1

14、302。每種芯片的主要時(shí)鐘功能基本相同,只是在引腳數(shù)量、備用電池的安裝方式、計(jì)時(shí)精度和擴(kuò)展功能等方面略有不同。DS12887 與 DS1216 芯片都有內(nèi)嵌式鋰電池作為備用電池;X1203 引腳少,沒有嵌入式鋰電池,跟 DS1302 芯片功能相似,只是相比較之下,X1203 與 STC89C52 搭配使用時(shí)占用 I/O 口較多。DS1643 為帶有全功能實(shí)時(shí)時(shí)鐘的8K8 非易失性 SRAM,集成了非易失性 SRAM、實(shí)時(shí)時(shí)鐘、晶振、電源掉電控制電路和鋰電池電源,BCD 碼表示的年、月、日、星期、時(shí)、分、秒,帶閏年補(bǔ)償。同樣,DS1643 擁有 28 只管腳,硬件連接起來占用微處理器 I/O 口

15、較多,不方便系統(tǒng)功能拓展和維護(hù)。故而從性價(jià)比和貨源上考慮,本設(shè)計(jì)采用實(shí)時(shí)時(shí)鐘日歷芯片 DS1302。2.3顯示器件的選擇與對(duì)比顯示部分是本次設(shè)計(jì)的重要部分,一般有 LED 數(shù)碼管和 LCD 液晶顯示器兩種方案。方案一:采用 LED 數(shù)碼管顯示。LED 的結(jié)構(gòu)及連接如圖 2.1 所示:圖 2.1 LED 數(shù)碼管結(jié)構(gòu)與連接圖LED 顯示器可以分為有靜態(tài)顯示方式和動(dòng)態(tài)顯示方式兩種。靜態(tài)顯示就是當(dāng)數(shù)碼管顯示某個(gè)字符時(shí),相應(yīng)的段恒定的導(dǎo)通,直到要顯示下一個(gè)字符為止。數(shù)碼管工作在靜態(tài)顯示方式時(shí),共陰極 COM 端要接地;若為共陽極 COM 端接在+5V 電源。每位的段選線應(yīng)分別與一個(gè) 8 位數(shù)據(jù)口的輸出端

16、相連,數(shù)碼管的各位是相互獨(dú)立的,且要顯示字符一經(jīng)確定,相應(yīng)數(shù)據(jù)的輸出將必須維持不變。靜態(tài)顯示數(shù)碼管一直在工作,因而數(shù)4碼管靜態(tài)顯的亮度較高。在這種顯示方式編程比較容易,管理也較簡(jiǎn)單,但占用 I/O口線資源較多,因而在顯示位數(shù)較多的情況下,我們大都都采用數(shù)碼管動(dòng)態(tài)顯示方式進(jìn)行顯示。而對(duì)于動(dòng)態(tài)顯示方式,雖可以避免靜態(tài)顯示的問題,但設(shè)計(jì)上如果處理不當(dāng),易造成亮度低,有閃爍等問題。方案二:采用 LCD 顯示。LCD 液晶顯示具有豐富多樣性、靈活性、電路簡(jiǎn)單、易于控制而且功耗小等優(yōu)點(diǎn),對(duì)于一般的段式液晶屏,需要專門的驅(qū)動(dòng)電路,而且也經(jīng)顯示作為一種被動(dòng)顯示,可視性相對(duì)較差;對(duì)于具有驅(qū)動(dòng)電路和微處理器接口的

17、液晶顯示模塊(字符或點(diǎn)陣) ,一般多采用并行機(jī)接口,對(duì)于微處理器的接口要求較高,占用資源多。另外,89C52 本身沒有專門的液晶驅(qū)動(dòng)接口。鑒于上述原因,我們采用方案一,采用了數(shù)碼管顯示方式。數(shù)碼管作為一種主動(dòng)顯示器件,具有亮度高、價(jià)格便宜、功耗低、驅(qū)動(dòng)簡(jiǎn)單等優(yōu)點(diǎn),而且市場(chǎng)上也有專門的時(shí)鐘顯示組合數(shù)碼管。3系統(tǒng)設(shè)計(jì)概述3.1 設(shè)計(jì)內(nèi)容及要求1.采用 STC89C52 單片機(jī)作為主控制器;2.采用 DS1302 作為實(shí)時(shí)時(shí)鐘芯片,實(shí)現(xiàn)精確走時(shí);3.通過數(shù)碼管顯示時(shí)間、日期、星期、鬧鐘等信息,通過按鍵切換顯示內(nèi)容;4.時(shí)間具有掉電保持功能;5.通過按鍵設(shè)定鬧鐘時(shí)間和關(guān)閉鬧鐘報(bào)警,鬧鐘通過蜂鳴器報(bào)警;

18、6.系統(tǒng)電源設(shè)計(jì)。3.2 系統(tǒng)框架及說明5MCU主控系統(tǒng)LED顯示按鍵實(shí)時(shí)時(shí)鐘電源報(bào)警器圖3.1 系統(tǒng)框圖圖 3.1 所示為實(shí)時(shí)時(shí)鐘系統(tǒng)的整體框圖,系統(tǒng)由 6 部分組成,其中包括 MCU 主控系統(tǒng)部分、LED 數(shù)碼管部分、按鍵部分、實(shí)時(shí)時(shí)鐘部分、蜂鳴器報(bào)警部分及電源部分。其中 MCU 核心控制部分采用 STC89C52 單片機(jī)為核心控制器,主要負(fù)責(zé) DS1302 數(shù)據(jù)的讀寫、數(shù)碼管掃描顯示、按鍵響應(yīng)、報(bào)警控制;按鍵部分采用 4 個(gè)獨(dú)立按鍵,用于數(shù)碼管顯示內(nèi)容的切換和鬧鐘時(shí)間的設(shè)定;實(shí)時(shí)時(shí)鐘部分主要由 DS1302 和晶振組成,提供精確時(shí)間;報(bào)警器部分主要由蜂鳴器組成,當(dāng)實(shí)時(shí)時(shí)間到達(dá)設(shè)定時(shí)間時(shí),

19、單片機(jī)控制蜂鳴器報(bào)警,蜂鳴器發(fā)出尖銳刺耳的報(bào)警聲音,起到很好的報(bào)警作用;電源部分主要由 78XX 三端穩(wěn)壓集成芯片組成,為整個(gè)系統(tǒng)提供所需的 5V 工作電源??偟膩碚f,由于采用了較好的方案和相關(guān)器件的選擇,使得整個(gè)系統(tǒng)具有性價(jià)比高、成本低、具有很高的實(shí)用性等優(yōu)點(diǎn)。4硬件電路設(shè)計(jì)分析4.1 STC89C52單片機(jī)簡(jiǎn)介STC89C52單片機(jī)是STC推出的新一代高速、低功耗、超強(qiáng)抗干擾單片機(jī),指令代碼完全兼容傳統(tǒng)的8051單片機(jī),12時(shí)鐘/機(jī)器周期和6時(shí)鐘/機(jī)器周期可任意選擇,下面為STC89C52單片機(jī)的主要參數(shù)。1. 增強(qiáng)型 8051 單片機(jī),6 時(shí)鐘/機(jī)器周期和 12 時(shí)鐘/機(jī)器周期可以任意選

20、擇,指令代碼完全兼容傳統(tǒng) 8051.2. 工作電壓:5.5V3.3V(5V 單片機(jī))/3.8V2.0V(3V 單片機(jī))63. 工作頻率范圍:040MHz,相當(dāng)于普通 8051 的 080MHz,實(shí)際工作 頻率可達(dá) 48MHz4. 用戶應(yīng)用程序空間為 8K 字節(jié)5. 片上集成 512 字節(jié) RAM6. 通用 I/O 口(32 個(gè)) ,復(fù)位后為:P0/P1/P2/P3 是準(zhǔn)雙向口/弱上拉, P0 口是漏極開路輸出,作為總線擴(kuò)展用時(shí),不用加上拉電阻,作為 I/O 口用時(shí),需加上拉電阻。7. ISP(在系統(tǒng)可編程)/IAP(在應(yīng)用可編程) ,無需專用編程器,無 需專用仿真器,可通過串口(RxD/P3.

21、0,TxD/P3.1)直接下載用戶程 序,數(shù)秒即可完成一片8. 具有 EEPROM 功能9. 具有看門狗功能10. 共 3 個(gè) 16 位定時(shí)器/計(jì)數(shù)器。即定時(shí)器 T0、T1、T211. 外部中斷 4 路,下降沿中斷或低電平觸發(fā)電路,Power Down 模式可 由外部中斷低電平觸發(fā)中斷方式喚醒12. 通用異步串行口(UART) ,還可用定時(shí)器軟件實(shí)現(xiàn)多個(gè) UART13. 工作溫度范圍:-40+85(工業(yè)級(jí))/075(商業(yè)級(jí))4.2 STC89C52單片機(jī)內(nèi)部結(jié)構(gòu)STC89C52 單片機(jī)內(nèi)部結(jié)構(gòu)框圖如下圖所示,其中包括中央處理器 MCU、程序存儲(chǔ)器 Flash、數(shù)據(jù)存儲(chǔ)器 SRAM、定時(shí)/計(jì)數(shù)器

22、、串口、I/O 口、EEPROM、看門狗等。7圖 4.1 STC89C52 單片機(jī)內(nèi)部結(jié)構(gòu)框圖4.3 MCU控制電路設(shè)計(jì)分析本系統(tǒng)所使用的單片機(jī)最小系統(tǒng)原理圖如下圖所示,其中包括STC89C52單片機(jī)、晶振電路、復(fù)位電路、按鍵、上拉電阻、數(shù)碼管等。其中本設(shè)計(jì)采用的晶振為22.1184M,復(fù)位電路采用上電復(fù)位方式,上拉電阻為1K 9P排阻,4個(gè)按鍵分別接P32、P33、P34、P35,功能分別為顯示模式切換、鬧鐘設(shè)定取消、時(shí)間值設(shè)置加(+)按鍵、時(shí)間值減(-)按鍵。單片機(jī)P0口接數(shù)碼管段選端,單片機(jī)P2口接數(shù)碼管位選端。8P1.0/T21P1.1/T2EX2P1.23P1.34P1.45P1.5

23、6P1.67P1.78RST9P3.0/RxD10P3.1/TxD11P3.2/INT012P3.3/INT113P3.4/T014P3.5/T115P3.6/WR16P3.7/RD17XTAL218XTAL119VSS20P2.0/A821P2.1/A922P2.2/A1023P2.3/A1124P2.4/A1225P2.5/A1326P2.6/A1427P2.7/A1528PSEN29ALE30EA/VPP31P0.7/AD732P0.6/AD633P0.5/AD534P0.4/AD435P0.3/AD336P0.2/AD237P0.1/AD138P0.0/AD039VCC40U2STC8

24、9C5X1 2ET21 2INT11 2INT21 2ET122pC422pC822.1184MY2R610kVCCP01P02P03P04P05P06P07P00P21P22P23P24P25P26P27P20P10P12P13P14P15P16P17GNDALEGNDP30P31P32P33P34P35P36P37GNDVCC123456789R31kX8VCC10uFC12P00P01P02P03P04P05P06P07P11R54.7kEAPSENGND0.1uFC3VCC圖4.2 單片機(jī)系統(tǒng)原理圖4.4 數(shù)碼管顯示設(shè)計(jì)分析4.4.1 數(shù)碼管的工作原理介紹單片機(jī) I/O 的應(yīng)用最典型的

25、是通過 I/O 口與 7 段 LED 數(shù)碼管構(gòu)成顯示電路,7 段LED 數(shù)碼管,在一定形狀的絕緣材料上,利用單只 LED 組合排列成“8”字型的數(shù)碼管,分別引出它們的電極,點(diǎn)亮相應(yīng)的點(diǎn)劃來顯示出 0-9 的數(shù)字。LED 數(shù)碼管根據(jù) LED 的接法不同分為共陰和共陽兩類,了解 LED 的這些特性,對(duì)編程是很重要的,因?yàn)椴煌愋偷臄?shù)碼管,除了它們的硬件電路有差異外 ,編程方法也是不同的。下圖 4.3 是共陰和共陽極數(shù)碼管的內(nèi)部電路,它們的發(fā)光原理是一樣的,只是它們的電源極性不同而已。9圖 4.3 數(shù)碼管內(nèi)部原理圖將多只 LED 的陰極連在一起即為共陰式,而將多只 LED 的陽極連在一起即為共陽式。

26、以共陰式為例,如把陰極接地,在相應(yīng)段的陽極接上正電源,該段即會(huì)發(fā)光。當(dāng)然,LED 的電流通常較小,一般均需在回路中接上限流電阻。假如我們將b和c段接上正電源,其它端接地或懸空,那么b和c段發(fā)光,此時(shí),數(shù)碼管顯示將顯示數(shù)字“1” 。而將a、b、d、e和g段都接上正電源,其它引腳懸空,此時(shí)數(shù)碼管將顯示“2” 。其它字符的顯示原理類同。用單片機(jī)驅(qū)動(dòng) LED 數(shù)碼管有很多方法,按顯示方式分,有靜態(tài)顯示和動(dòng)態(tài)(掃描)顯示,按譯碼方式可分硬件譯碼和軟件譯碼之分。靜態(tài)顯示就是顯示驅(qū)動(dòng)電路具有輸出鎖存功能,單片機(jī)將所要顯示的數(shù)據(jù)送出后就不再控制 LED,直到下一次顯示數(shù)據(jù)需要更新時(shí)再傳送一次新數(shù)據(jù),顯示數(shù)據(jù)穩(wěn)

27、定,占用很少的 CPU 時(shí)間;動(dòng)態(tài)顯示需要 CPU時(shí)刻對(duì)顯示器件進(jìn)行數(shù)據(jù)刷新,顯示數(shù)據(jù)有閃爍感,占用的 CPU 時(shí)間多。這兩種顯示方式各有利弊:動(dòng)態(tài)顯示雖然有閃爍感,占用的 CPU 時(shí)間較多,但是用的硬件少,能節(jié)省線路板的空間。動(dòng)態(tài)掃描顯示接口是單片機(jī)種應(yīng)用最廣泛的一種顯示方式。其接口電路是把所有的 LED 顯示器的 8 個(gè)筆畫段 AG、DP 的同名端連在一起,而每一個(gè)數(shù)碼管的位選端是各自獨(dú)立地受 I/O 線控制。CPU 向字段輸出口送出字形碼時(shí),所有顯示器接收到相同的字形碼,但究竟是哪個(gè)顯示器亮,則取決于位選端,而這一端由 I/O 控制的,可以自行決定何時(shí)顯示哪一位。而所謂動(dòng)態(tài)掃描就是指我們

28、采用分時(shí)的方法,輪流控制各個(gè)顯示器的位選端,使各個(gè)顯示器輪流點(diǎn)亮。在輪流點(diǎn)10亮掃描過程中,每位顯示器的點(diǎn)亮?xí)r間是極為短暫的,約 1ms 左右,但是由于人的視覺暫留現(xiàn)象及發(fā)光余暉效應(yīng),盡管實(shí)際上各位顯示器并非同時(shí)點(diǎn)亮,但只要掃描的速度足夠快,給人的印象就是一組穩(wěn)定的顯示數(shù)據(jù),不會(huì)有閃爍感。靜態(tài)顯示雖然數(shù)據(jù)穩(wěn)定,占用很少的 CPU 時(shí)間,但每個(gè)顯示單元都需要單獨(dú)的顯示驅(qū)動(dòng)電路,使用的硬件較多,但是編程相對(duì)于動(dòng)態(tài)顯示比較簡(jiǎn)單,本設(shè)計(jì)采用的是靜態(tài)顯示方案。單片機(jī)對(duì) LED 數(shù)碼管的驅(qū)動(dòng)方法可以分為串行和并行兩種,分別適用于不同的使用場(chǎng)合,兩者的硬件電路和程序區(qū)別也很大。在一般情況下,單片機(jī)使用并行驅(qū)

29、動(dòng)的方式進(jìn)行 LED 的顯示,并行驅(qū)動(dòng)的結(jié)構(gòu)較簡(jiǎn)單。4.4.2 數(shù)碼管的驅(qū)動(dòng)電路設(shè)計(jì)分析本設(shè)計(jì)數(shù)碼管采用兩個(gè)4位的共陰數(shù)碼管組成8位數(shù)碼管,采用的上面所說的單片機(jī)并行的驅(qū)動(dòng)方式。段選端接到P0口,位選端接到P2口,雖然使用的IO口比較多,因?yàn)楸鞠到y(tǒng)的電路不是很復(fù)雜,所有做到了充分利用單片機(jī)資源,減少硬件成本。數(shù)碼管電路原理圖如下圖4.4。S1fS2S4ecDPbagS3dDISP1S1fS2S4ecDPbagS3dDISP2P00P01P02P03P04P05P06P07P00P01P02P03P04P05P06P07P20P21P22P23P24P25P26P27圖 4.4 數(shù)碼管內(nèi)部原理圖

30、4.5 DS1302時(shí)鐘電路設(shè)計(jì)分析4.5.1 DS1302芯片介紹低功耗時(shí)鐘芯片 DS1302 可以對(duì)年、月、日、時(shí)、分、秒進(jìn)行計(jì)時(shí),且具有閏年補(bǔ)償?shù)榷喾N功能。DS1302 用于數(shù)據(jù)記錄,特別是對(duì)某些具有特殊意義的數(shù)據(jù)點(diǎn)的記錄上,能實(shí)現(xiàn)數(shù)據(jù)與出現(xiàn)該數(shù)據(jù)的時(shí)間同時(shí)記錄。這種記錄對(duì)長(zhǎng)時(shí)間的連續(xù)測(cè)控系統(tǒng)結(jié)果的分析以及對(duì)異常數(shù)據(jù)出現(xiàn)的原因的查找有重要意義。(1) DS1302 的性能特性實(shí)時(shí)時(shí)鐘,可對(duì)秒、分、時(shí)、日、周、月以及帶閏年補(bǔ)償?shù)哪赀M(jìn)行計(jì)數(shù);用于高速數(shù)據(jù)暫存的 318 位 RAM;11最少引腳的串行 I/O;2.55.5V 電壓工作范圍;2.5V 時(shí)耗電小于 300nA;用于時(shí)鐘或 RAM

31、數(shù)據(jù)讀/寫的單字節(jié)或多字節(jié)(脈沖方式)數(shù)據(jù)傳送方式;簡(jiǎn)單的 3 線接口;可選的慢速充電(至 VCC1)的能力。DS1302 時(shí)鐘芯片包括實(shí)時(shí)時(shí)鐘/日歷和 31 字節(jié)的靜態(tài) RAM。它經(jīng)過一個(gè)簡(jiǎn)單的串行接口與微處理器通信。實(shí)時(shí)時(shí)鐘/日歷提供秒、分、時(shí)、日、周、月和年等信息。對(duì)于小于 31 天的月和月末的日期自動(dòng)進(jìn)行調(diào)整,還包括閏年校正的功能。時(shí)鐘的運(yùn)行可以采用 24h 或帶 AM(上午)/PM(下午)的 12h 格式。采用三線接口與 CPU 進(jìn)行同步通信,并可采用突發(fā)方式一次傳送多個(gè)字節(jié)的時(shí)鐘信號(hào)或 RAM 數(shù)據(jù)。DS1302 有主電源/后備電源雙電源引腳:VCC1 在單電源與電池供電的系統(tǒng)中提

32、供低電源,并提供低功率的電池備份;VCC2 在雙電源系統(tǒng)中提供主電源,在這種運(yùn)用方式中,VCC1 連接到備份電源,以便在沒有主電源的情況下能保存時(shí)間信息以及數(shù)據(jù)。DS1302 由 VCC1 或 VCC2 中較大者供電。當(dāng) VCC2 大于 VCC1+0.2V 時(shí),VCC2 給 DS1302 供電;當(dāng) VCC2 小于 VCC1 時(shí),DS1302 由 VCC1 供電。(2) DS1302 數(shù)據(jù)操作原理DS1302 在任何數(shù)據(jù)傳送時(shí)必須先初始化,把 RST 腳置為高電平,然后把 8 位地址和命令字裝入移位寄存器,數(shù)據(jù)在 SCLK 的上升沿被輸入。無論是讀周期還是寫周期,開始 8 位指定 40 個(gè)寄存器

33、中哪個(gè)被訪問到。在開始 8 個(gè)時(shí)鐘周期,把命令字節(jié)裝入移位寄存器之后,另外的時(shí)鐘周期在讀操作時(shí)輸出數(shù)據(jù),在寫操作時(shí)寫入數(shù)據(jù)。時(shí)鐘脈沖的個(gè)數(shù)在單字節(jié)方式下為 8 加 8,在多字節(jié)方式下為 8 加字節(jié)數(shù),最大可達(dá) 248 字節(jié)數(shù)。如果在傳送過程中置 RST 為低電平,則會(huì)終止本次數(shù)據(jù)傳送,并且 I/O 引腳變?yōu)楦咦钁B(tài)。上電運(yùn)行時(shí),在 VCC =2.5V 之前,RST 腳必須保持低電平。只有在 SCLK 為低電平時(shí),才能將 RST 置為高電平。DS1302 的管腳圖如圖 4.6 所示,表 4.1 為各引腳的功能,內(nèi)部結(jié)構(gòu)圖如圖 4.7 所示。12Vcc21X12X23GND4RST5I/O6SCLK

34、7Vcc18DS1302U3圖 4.6 DS1302 管腳圖引腳號(hào)引腳名稱功能1VCC2主電源2,3X1,X2振蕩源,外接 32768HZ 晶振4GND地線5RST復(fù)位/片選線6I/O串行數(shù)據(jù)輸入/輸出端(雙向)7SCLK串行數(shù)據(jù)輸入端8VCC1后備電源表 4.1 DS1302 引腳功能表圖 4.7 DS1302 內(nèi)部結(jié)構(gòu)圖DS1302 的控制字如圖 4.8 所示??刂谱止?jié)的最高有效位(位 7)必須是邏輯 1;如果它為邏輯 0,則不能把數(shù)據(jù)寫入到 DS1302 中。位 6 如果為 0,則表示存取日歷時(shí)鐘13數(shù)據(jù);為 1 表示存取 RAM 數(shù)據(jù)。位 51(A4A0)指示操作單元的地址。最低有效位

35、(位 0)如為 0,表示要進(jìn)行寫操作;為 1 表示進(jìn)行讀操作。控制字節(jié)總是從最低位開始輸入/輸出。圖 4.8 控制字節(jié)的含義為了提高對(duì) 32 個(gè)地址的尋址能力(地址/命令位 15邏輯 1) ,可以把時(shí)鐘/日歷或 RAM 寄存器規(guī)定為多字節(jié)(burst)方式。位 6 規(guī)定時(shí)鐘或 RAM,而位 0 規(guī)定讀或?qū)憽T跁r(shí)鐘/日歷寄存器中的地址 931 或 RAM 寄存器中的地址 31 不能存儲(chǔ)數(shù)據(jù)。在多字節(jié)方式中,讀或?qū)憦牡刂?0 的位 0 開始。必須按數(shù)據(jù)傳送的次序?qū)懽钕鹊?8 個(gè)寄存器。但是,當(dāng)以多字節(jié)方式寫 RAM 時(shí),為了傳送數(shù)據(jù)不必寫所有 31 字節(jié)。不管是否寫了全部 31 字節(jié),所寫的每一字

36、節(jié)都將傳送至 RAM。數(shù)據(jù)讀寫程序如圖 4.9 所示。圖 4.9 數(shù)據(jù)讀寫程序DS1302 共有 12 個(gè)寄存器,其中有 7 個(gè)寄存器與日歷、時(shí)鐘相關(guān),存放的數(shù)據(jù)位為BCD 碼形式,其日歷、時(shí)間寄存器及其控制字見表 4.2,其中奇數(shù)為讀操作,偶數(shù)為寫操作。14命令字各位內(nèi)容寄存器名寫操作讀操作取值范圍76543210秒寄存器80H81H00-59CH10SECSEC分鐘寄存器82H83H00-59010MINMIN小時(shí)寄存器84H85H01-12 或00-2312/24010APHRHR日期寄存器86H87H01-28,29,30,310010DATEDATE月份寄存器88H89H01-120

37、00IOMMONTH周日寄存器8AH8BH01-0700000DAY年份寄存器8CH8DH00-9910YEARYEAR表 4.2 DS1302 的日歷、時(shí)鐘寄存器及其控制字時(shí)鐘暫停:秒寄存器的位 7 定義位時(shí)鐘暫停位。當(dāng)它為 1 時(shí),DS1302 停止振蕩,進(jìn)入低功耗的備份方式。通常在對(duì) DS1302 進(jìn)行寫操作時(shí)(如進(jìn)入時(shí)鐘調(diào)整程序) ,停止振蕩。當(dāng)它為 0 時(shí),時(shí)鐘將開始啟動(dòng)。AM-PM/12-24小時(shí)方式:小時(shí)寄存器的位 7 定義為 12 或 24小時(shí)方式選擇位。它為高電平時(shí),選擇 12小時(shí)方式。在此方式下,位 5 是 AM/PM 位,此位是高電平時(shí)表示 PM,低電平表示 AM,在 2

38、4小時(shí)方式下,位 5 為第二個(gè) 10小時(shí)位(2023h) 。4.5.2 DS1302電路設(shè)計(jì)分析 實(shí)時(shí)時(shí)鐘芯片 DS1302 采用串行數(shù)據(jù)傳輸,可為掉電保護(hù)電源提供可編程的充電功能,也可以關(guān)閉充電功能,芯片采用 32768Hz 晶振。備用電源 BT1 可以用電池或超級(jí)電容,雖然 DS1302 在主電源掉電后耗電很小,但如果要長(zhǎng)時(shí)間保證時(shí)鐘正常,最好選用小型充電電池,如果斷電時(shí)間較短(幾小時(shí)或幾天) ,可以用漏電較小的普通電解電15容代替,本設(shè)計(jì)選用的是一顆 3V 紐扣電池作為備用電源,一般情況下可以使用幾年。DS1302 的三個(gè)接口分別接單片機(jī)的 P12、P13、P14。DS1302 時(shí)鐘電路

39、原理圖如圖 4.10所示。X12X23VCC21GND4RST5I/O6SCLK7VCC18U1DS1302VCCP14P13P1212Y132.768K0.1uFC1GNDVCCGNDBT13V圖 4.10 DS1302 時(shí)鐘電路原理圖4.6 蜂鳴器報(bào)警電路設(shè)計(jì)分析鬧鈴聲音可以直接采用蜂鳴器鬧鈴,如當(dāng)前時(shí)刻與鬧鈴設(shè)定時(shí)間相同,單片機(jī)向蜂鳴器送出低電平,蜂鳴器發(fā)聲。采用蜂鳴器鬧鈴結(jié)構(gòu)簡(jiǎn)單,控制方便,但是發(fā)出的鬧鈴聲音單一。鬧鈴的音樂不是本設(shè)計(jì)中的重點(diǎn),故采用最簡(jiǎn)單的方法,占用單片機(jī)一根 I/O 口 P10,中間用 PNP 型三極管 S8550 連接 P10 和蜂鳴器。當(dāng) P10 引腳為低電平時(shí)

40、,S8550 的發(fā)射極和集電極導(dǎo)通,使蜂鳴器發(fā)聲。其中二極管 4148 起續(xù)流作用。正向?qū)?,逆向電阻無限大。因?yàn)榭赡茉诜澍Q器斷開的瞬間,蜂鳴器會(huì)會(huì)產(chǎn)生感應(yīng)電動(dòng)勢(shì)(電壓) ,需要一個(gè)二極管將其儲(chǔ)存的電流消耗掉,否則可能會(huì)燒掉蜂鳴器,起到保護(hù)蜂鳴器的作用。蜂鳴器原理圖如圖 4.11 所示。2LS1P10VCCR210R1 1kQ1S85501D24148GND圖 4.11 蜂鳴器報(bào)警電路原理圖164.7 電源部分設(shè)計(jì)分析電源是整個(gè)系統(tǒng)的能量來源,它直接關(guān)系到系統(tǒng)能否正常穩(wěn)定的運(yùn)行,電源的穩(wěn)定性和效率是電源的兩個(gè)重要因素。本系統(tǒng)所需的電源有為 5V。5V 采用 7805 三端穩(wěn)壓芯片經(jīng)過 7-12

41、V 穩(wěn)壓提供。78XX 三端穩(wěn)壓集成芯片芯片采用 TO-220 封裝 ,最大輸出電流 1A,滿足系統(tǒng)要求,最大輸入電壓 35V,具有過流過熱短路保護(hù)功能。電源模塊電路原理圖如圖 4.12 所示。R41kVCCS1C111LED1GND0.1uFC912VD31N4007J1PWR2.5IN13OUT2GNDU3 LM7805C100.1uFC5圖 4.12 電源模塊電路原理圖5系統(tǒng)軟件設(shè)計(jì)分析5.1 DS1302模塊程序設(shè)計(jì)在首次對(duì) DS1302 進(jìn)行操作之前,必須對(duì)它進(jìn)行初始化,本設(shè)計(jì)采用的做法是第一次設(shè)定好一個(gè)準(zhǔn)確的時(shí)間后,由于備用電池的存在掉電后時(shí)間信息也不會(huì)丟失,所以以后只需從 DS1

42、302 中讀出數(shù)據(jù),程序只需從 DS1302 各寄存器中讀出年、周、月、日、時(shí)、分、秒等數(shù)據(jù),再處理即可,送給顯示緩沖單元。DS1302 模塊的讀、寫流程圖如圖 5.1 所示。 寫寄存器地址數(shù)據(jù)十進(jìn)制-BCD轉(zhuǎn)換寫入數(shù)據(jù)寫寄存器地址讀出數(shù)據(jù)數(shù)據(jù)BCD-十進(jìn)制轉(zhuǎn)換返回?cái)?shù)據(jù)圖 5.1 DS1302 模塊的讀、寫流程圖175.2 定時(shí)器模塊程序設(shè)計(jì)本系統(tǒng)軟件程序的設(shè)計(jì)采用實(shí)時(shí)操作系統(tǒng)的程序設(shè)計(jì)思想,定時(shí)器用來產(chǎn)生1ms時(shí)基,通過計(jì)數(shù)器cnt計(jì)數(shù)產(chǎn)生不同是時(shí)基從而分時(shí)執(zhí)行不同的任務(wù),系統(tǒng)中用到了3個(gè)時(shí)基,分別是10ms、100 ms、500ms,同時(shí)數(shù)碼管掃描函數(shù)display( )在定時(shí)器中2ms執(zhí)

43、行一次循環(huán)掃描,通過iloop+循環(huán)移位掃描數(shù)碼管。通過此外定時(shí)器還用于按鍵軟件去抖。定時(shí)器模塊流程圖如下:定時(shí)器初始化cnt+cnt%2 = 0 ?cnt%10 = 0 ?cnt%100 = 0 ?cnt%500 = 0 ?數(shù)碼管掃描10ms標(biāo)志 = 1100ms標(biāo)志 = 1500ms標(biāo)志 = 1cnt清零YYY定時(shí)器賦初值YNNNN圖5.2 定時(shí)器模塊流程圖185.3 按鍵模塊程序設(shè)計(jì)本系統(tǒng)共有4個(gè)按鍵,分別為KEY1-P32、KEY2-P33、KEY3-P34、KEY4-P35。系統(tǒng)的設(shè)定及顯示狀態(tài)通過按鍵實(shí)現(xiàn)。KEY1鍵切換循環(huán)顯示時(shí)間、日期、星期、鬧鐘;按KEY2鍵時(shí)如果有鬧鐘報(bào)警按

44、下則關(guān)閉鬧鐘,如果沒有鬧鐘則進(jìn)入鬧鐘設(shè)置模式;KEY3和KEY4分別在進(jìn)入鬧鐘設(shè)置模式時(shí)進(jìn)行時(shí)間的加減。其中按鍵函數(shù)分為按鍵掃描函數(shù)和按鍵功能執(zhí)行函數(shù), 按鍵掃描函數(shù)用于按鍵去抖判斷按鍵是否有效,按鍵有效后按鍵執(zhí)行函數(shù)執(zhí)行相應(yīng)的按鍵設(shè)定功能。按鍵流程圖如下:是否有按鍵按下?Key_cnt=10?對(duì)應(yīng)按鍵標(biāo)志置1YYKey_cnt清零N圖5.3 按鍵掃描函數(shù)流程圖19disp_mode=0?KEY1_F標(biāo)志清零disp_mode+KEY1_F標(biāo)志=1?disp_mode=1?顯示時(shí)間顯示日期disp_mode=2?disp_mode=3?顯示星期顯示鬧鐘disp_mode=4?disp_mode清零鬧鐘是否報(bào)警?KEY2_F標(biāo)志清零KEY2_F標(biāo)志=1?關(guān)閉鬧鐘key2_flag+YNkey2_flag=1?key2_flag=2?disp_mode=3設(shè)置鬧鐘時(shí)KEY3、KEY4加減設(shè)置鬧鐘分KEY3、KEY4加減key2_flag=3?key2_flag=4?設(shè)置

溫馨提示

  • 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)論