基于51單片機(jī)的多功能電子鐘設(shè)計(jì)_第1頁(yè)
基于51單片機(jī)的多功能電子鐘設(shè)計(jì)_第2頁(yè)
基于51單片機(jī)的多功能電子鐘設(shè)計(jì)_第3頁(yè)
基于51單片機(jī)的多功能電子鐘設(shè)計(jì)_第4頁(yè)
基于51單片機(jī)的多功能電子鐘設(shè)計(jì)_第5頁(yè)
已閱讀5頁(yè),還剩63頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、基于51單片機(jī)的多功能電子鐘設(shè)計(jì) 畢 業(yè) 設(shè) 計(jì) 中文題目 基于51單片機(jī)的多功能電子鐘設(shè)計(jì)英文題目 Design of Multi-functionClock Based on 51 MCU系 別:電子與電氣工程系年級(jí)專業(yè):07級(jí)電氣工程及其自動(dòng)化姓 名:阮志聰學(xué) 號(hào):20070621236指導(dǎo)教師:劉 陽職 稱:講 師2011年 5月 24日畢業(yè)設(shè)計(jì)(論文)誠(chéng)信聲明書本人鄭重聲明:在畢業(yè)設(shè)計(jì)(論文)工作中嚴(yán)格遵守學(xué)校有關(guān)規(guī)定,恪守學(xué)術(shù)規(guī)范;我所提交的畢業(yè)設(shè)計(jì)(論文)是本人在劉陽指導(dǎo)教師的指導(dǎo)下獨(dú)立研究、撰寫的成果,設(shè)計(jì)(論文)中所引用他人的文字、研究成果,均已在設(shè)計(jì)(論文)中加以說明;在本

2、人的畢業(yè)設(shè)計(jì)(論文)中未剽竊、抄襲他人的學(xué)術(shù)觀點(diǎn)、思想和成果,未篡改實(shí)驗(yàn)數(shù)據(jù)。本設(shè)計(jì)(論文)和資料若有不實(shí)之處,本人愿承擔(dān)一切相關(guān)責(zé)任。學(xué)生簽名: 年 月 日基于51單片機(jī)的多功能電子鐘設(shè)計(jì)基于51單片機(jī)的多功能電子鐘設(shè)計(jì)【摘要】數(shù)字電子時(shí)鐘是人們?nèi)粘I钪胁豢苫蛉钡谋匦杵?。本文以STC89C52為核心控制芯片,DS12887為時(shí)鐘芯片,DS18B20為溫度傳感器,通過液晶顯示器LCD1602實(shí)時(shí)顯示時(shí)間及溫度,通過按鍵設(shè)置年月日和星期以及定時(shí)鬧鐘,定時(shí)鬧鐘時(shí)間到自動(dòng)發(fā)出警報(bào)。本設(shè)計(jì)的+5V電源采用LM1117電壓轉(zhuǎn)換元件,將電源適配器轉(zhuǎn)換得到的12V電壓直接變成5V電壓供系統(tǒng)使用。程序的下載

3、則是通過普中科技公司自制的PZ-ISP軟件完成。經(jīng)過測(cè)試,系統(tǒng)可以正常完成預(yù)定的功能?!娟P(guān)鍵詞】電子時(shí)鐘;單片機(jī);DS12887;DS18B20; Design of Multi-function Clock Based on 51 MCU【Abstract】Digital electronic clock is an integral, necessary part of daily life.In this paper, STC89C52 chip is used as the core control chip, DS12887chip is used as

4、 the clock chip, DS18B20 chip is used as the temperature sensor and LCD1602 was used to diaplay time and temperature。 You can set year, month and time alarm clock through the four buttons.When the real time reach to the time clock,the system will warn automatically. The +5V power of the system is su

5、pplied by LM1117 voltage conversion device. The 12V voltage get from power adapter was transformed directly into 5V voltage for the system. The download of the process is accomplished through the PZ-ISP software made by Puzhong technology company. After testing, the system can complete the scheduled

6、 function normally.【key words】electronic clock;MCU;DS12887;DS18B20目 錄第一章 緒論11.1電子時(shí)鐘的研究背景11.2電子時(shí)鐘的國(guó)內(nèi)外研究現(xiàn)狀1第二章 總體方案42.1 系統(tǒng)的設(shè)計(jì)思路42.2 系統(tǒng)硬件描述42.3 系統(tǒng)軟件描述42.4 設(shè)計(jì)流程和預(yù)期成果5第三章 硬件設(shè)計(jì)63.1 硬件芯片介紹63.1.1 單片機(jī)STC89C5263.1.2 實(shí)時(shí)時(shí)鐘芯片DS12887103.1.3 溫度傳感器DS18B20143.1.4 液晶顯示屏LCD1602183.2 系統(tǒng)硬件架構(gòu)203.2.1 單片機(jī)最小系統(tǒng)213.2.2 時(shí)鐘模塊23

7、3.2.3 溫度傳感器模塊243.2.4 液晶顯示模塊253.2.5 按鍵模塊263.2.6 蜂鳴器報(bào)警模塊27第四章 軟件設(shè)計(jì)294.1 軟件設(shè)計(jì)總體說明294.2 主程序軟件實(shí)現(xiàn)294.2.1主程序流程圖294.2.2主程序代碼304.3 DS18B20模塊軟件實(shí)現(xiàn)324.3.1 DS18B20模塊子程序流程圖324.3.2 DS18B20模塊子程序代碼324.4 LCD1602模塊軟件實(shí)現(xiàn)354.4.1 LCD1602液晶顯示模塊子程序流程圖354.4.2 LCD1602液晶顯示模塊子程序代碼364.5 DS12887模塊軟件實(shí)現(xiàn)394.5.1 DS12887模塊子程序流程圖394.5.

8、2 DS12887模塊子程序代碼404.6 報(bào)警模塊軟件實(shí)現(xiàn)514.6.1 報(bào)警模塊子程序流程圖514.6.2 報(bào)警模塊子程序代碼52第五章 系統(tǒng)調(diào)試565.1 最小系統(tǒng)的調(diào)試565.2 液晶顯示模塊和蜂鳴器報(bào)警模塊的調(diào)試565.3 整體調(diào)試565.4 實(shí)物圖56第六章 總結(jié)58致 謝59參考文獻(xiàn)60附錄A 電路原理圖61附錄B 程序頭文件62第一章 緒論1.1電子時(shí)鐘的研究背景20世紀(jì)末,電子技術(shù)得到了極速的發(fā)展,毫無疑問,在其推動(dòng)下,現(xiàn)代電子產(chǎn)品以及各種高科技產(chǎn)品幾乎滲透到了社會(huì)的各個(gè)領(lǐng)域,這有力地推動(dòng)了社會(huì)生產(chǎn)力的發(fā)展和社會(huì)信息化程度以及綜合科技水平的提高,但產(chǎn)品更新?lián)Q代的頻率也越來越快

9、。隨著科技的發(fā)展社會(huì)的進(jìn)步和全球化競(jìng)爭(zhēng)的日益激烈,人們對(duì)數(shù)字鐘的要求也越來越高,傳統(tǒng)的時(shí)鐘已不能滿足人們的需求。多功能電子鐘不管在性能還是在樣式亦或是用途上都發(fā)生了重大的變化,許多電子鐘都已具備電子鬧鐘、電子秒表、溫度檢測(cè)等功能。同時(shí)單片機(jī)在多功能數(shù)字鐘中的應(yīng)用已是非常普遍的1。多功能電子時(shí)鐘除了具有時(shí)鐘的功能外還可以包含對(duì)環(huán)境溫度檢測(cè)的功能。溫度是一種最基本的環(huán)境參數(shù)。在各個(gè)行業(yè)生產(chǎn)及日常生活中,對(duì)溫度的測(cè)量及控制始終占據(jù)著非常重要的地位。目前,典型的溫度檢測(cè)控制系統(tǒng)由模擬式溫度傳感器、A/D轉(zhuǎn)換電路和各種單片機(jī)組成。由于模擬式溫度傳感器輸出的模擬信號(hào)必須經(jīng)過A/D轉(zhuǎn)換環(huán)節(jié)轉(zhuǎn)換為數(shù)字信號(hào)后才

10、能與單片機(jī)等微處理器接口進(jìn)行讀寫的操作,所以硬件電路會(huì)比較復(fù)雜,成本較高。而以DS18B20為代表的新型單線總線數(shù)字式溫度傳感器集溫度測(cè)量和A/D轉(zhuǎn)換于一體,這類傳感器可以直接輸出數(shù)字量,同時(shí)與單片機(jī)接口電路結(jié)構(gòu)非常簡(jiǎn)單,可以廣泛用于距離遠(yuǎn)、節(jié)點(diǎn)分布多的場(chǎng)合,具有較強(qiáng)推廣應(yīng)用價(jià)值。2 數(shù)字電子時(shí)鐘是采用數(shù)字電路實(shí)現(xiàn)對(duì)時(shí),分,秒數(shù)字顯示的裝置,廣泛用于個(gè)人家庭,車站,碼頭辦公室等公共場(chǎng)所,成為人們?nèi)粘I钪胁豢苫蛉钡谋匦杵罚捎跀?shù)字集成電路的發(fā)展和石英晶體振蕩器的廣泛應(yīng)用,數(shù)字時(shí)鐘的精度遠(yuǎn)遠(yuǎn)超過老式鐘表,鐘表的數(shù)字化給人們生產(chǎn)生活帶來了極大的方便,而且大大地?cái)U(kuò)展了鐘表原先的報(bào)時(shí)功能。例如定時(shí)自動(dòng)

11、報(bào)警、按時(shí)自動(dòng)打鈴、時(shí)間程序自動(dòng)控制、定時(shí)廣播、自動(dòng)啟閉路燈、定時(shí)開關(guān)烘箱、通斷動(dòng)力設(shè)備、甚至各種定時(shí)電器的自動(dòng)啟用等,所有這些,都是以鐘表數(shù)字化為基礎(chǔ)的。因此,研究數(shù)字時(shí)鐘及擴(kuò)大其應(yīng)用,有著非?,F(xiàn)實(shí)的意義。1.2電子時(shí)鐘的國(guó)內(nèi)外研究現(xiàn)狀數(shù)字電子時(shí)鐘,自從它發(fā)明的那天起,就成為人類的朋友,給人們的生活、學(xué)習(xí)、工作、娛樂帶來極大的方便。但隨著時(shí)間的推移,科學(xué)技術(shù)的不斷發(fā)展,生活節(jié)奏越來越快,競(jìng)爭(zhēng)日益激烈,人們對(duì)時(shí)間計(jì)量的精度要求越來越高,應(yīng)用越來越廣??梢哉f時(shí)間的準(zhǔn)確已成為各行各業(yè)安全運(yùn)行的基礎(chǔ),如果時(shí)間出現(xiàn)誤差而不能及時(shí)校正,會(huì)造成一系列嚴(yán)重的后果和經(jīng)濟(jì)損失3 。 電子時(shí)鐘的設(shè)計(jì)方法有多種,可

12、用中小規(guī)模集成電路組成電子鐘,也可以利用專用的電子鐘芯片配以顯示電路及其所需要的外圍電路組成電子鐘,還可以利用對(duì)單片機(jī)編程來實(shí)現(xiàn)電子鐘。其中,利用單片機(jī)實(shí)現(xiàn)的電子時(shí)鐘具有硬件結(jié)構(gòu)簡(jiǎn)單、編程靈活、便于功能擴(kuò)展等特點(diǎn)。由單片機(jī)作為數(shù)字鐘的核心控制器,可以通過它的時(shí)鐘信號(hào)實(shí)現(xiàn)計(jì)時(shí)功能,將其時(shí)間數(shù)據(jù)經(jīng)單片機(jī)輸出,利用顯示器顯示出來。通過鍵盤可以進(jìn)行定時(shí)、校時(shí)功能。輸出設(shè)備顯示器可以用液晶顯示技術(shù)或者數(shù)碼管顯示技術(shù)4。溫度是一種最基本的環(huán)境參數(shù),日常生活和工農(nóng)業(yè)生產(chǎn)中經(jīng)常要檢測(cè)溫度。傳統(tǒng)的方式是采用熱電偶或熱電阻,但是由于模擬溫度傳感器輸出為模擬信號(hào),必須經(jīng)過A/D 轉(zhuǎn)換環(huán)節(jié)獲得數(shù)字信號(hào)后才能與單片機(jī)等

13、微處理器接口,使得硬件電路結(jié)構(gòu)復(fù)雜,制作成本較高。近年來,美國(guó)DALLAS 公司生產(chǎn)的DSl8B20 為代表的新型單總線數(shù)字式溫度傳感器以其突出優(yōu)點(diǎn)廣泛使用于倉(cāng)儲(chǔ)管理、工農(nóng)業(yè)生產(chǎn)制造、氣象觀測(cè)、科學(xué)研究以及日常生活中。DSl8B20 集溫度測(cè)量和A/D 轉(zhuǎn)換于一體,直接輸出數(shù)字量,傳輸距離遠(yuǎn),可以很方便地實(shí)現(xiàn)多點(diǎn)測(cè)量,硬件電路結(jié)構(gòu)簡(jiǎn)單,與單片機(jī)接口幾乎不需要外圍元件5。 智能溫度傳感器(亦稱數(shù)字溫度傳感器)是上世紀(jì)90年代中期問世的。此類傳感器是微電子技術(shù)、計(jì)算機(jī)技術(shù)和自動(dòng)測(cè)試技術(shù)的結(jié)晶。目前,國(guó)際上已開發(fā)出多種智能溫度傳感器。智能溫度傳感器內(nèi)部一般包含溫度傳感器、A/D轉(zhuǎn)換器、信號(hào)處理器、存

14、儲(chǔ)器(或寄存器)和接口電路。有的產(chǎn)品還帶多路選擇器、中央控制器、隨機(jī)存取存儲(chǔ)器和只讀存儲(chǔ)器。智能溫度傳感器能實(shí)時(shí)更新并輸出溫度數(shù)據(jù),適配于各種微控制器也就是通常所說的單片機(jī)(MCU),并且可通過軟件來實(shí)現(xiàn)顯示功能,其智能化取決于軟件和硬件的綜合開發(fā)水平,二者缺一不可。目前,新型溫度傳感器正從模擬式向數(shù)字式、集成化向智能化及網(wǎng)絡(luò)化的方向發(fā)展6。21世紀(jì)后,智能溫度傳感器毫無疑問正朝著高精度、多功能、總線標(biāo)準(zhǔn)化、高可靠性及高安全性等高科技的方向迅速發(fā)展,開發(fā)虛擬傳感器和網(wǎng)絡(luò)傳感器、研制更先進(jìn)的單片測(cè)溫系統(tǒng)已是刻不容緩7。在日常生活和自動(dòng)控制系統(tǒng)中,我們時(shí)常會(huì)遇到對(duì)時(shí)間和溫度實(shí)時(shí)監(jiān)控的需求。這就給具

15、有多種功能的時(shí)鐘提供了市場(chǎng),也有了市場(chǎng)開發(fā)的前景。本文給出了一種基于單片機(jī)實(shí)現(xiàn)帶溫度檢測(cè)的電子時(shí)鐘的設(shè)計(jì)方法和實(shí)現(xiàn)過程。第二章 總體方案2.1 系統(tǒng)的設(shè)計(jì)思路本次設(shè)計(jì)完成電子時(shí)鐘年、月、日、時(shí)、分、秒的顯示及環(huán)境溫度測(cè)量等功能的基礎(chǔ)上完成定時(shí)鬧鐘的功能。由于DS12887時(shí)鐘芯片內(nèi)含一個(gè)鋰電池,所以斷電情況可以運(yùn)行十年以上不丟失數(shù)據(jù),重新上電后不用校正時(shí)鐘。硬件電路包括單片機(jī)最小系統(tǒng)電路、DS12887實(shí)時(shí)時(shí)鐘芯片電路模塊、LCD1602液晶顯示模塊、按鍵模塊、DS18B20溫度傳感器模塊、蜂鳴器報(bào)警電路模塊;軟件部分主要通過c程序的編程實(shí)現(xiàn)對(duì)時(shí)鐘芯片進(jìn)行時(shí)間數(shù)據(jù)的讀和寫,然后通過液晶顯示程序

16、將時(shí)間顯示出來,通過按鍵操作實(shí)現(xiàn)功能的轉(zhuǎn)換和屏幕的切換。設(shè)計(jì)中結(jié)合硬件、軟件的分步調(diào)試,達(dá)到要求的控制效果。2.2 系統(tǒng)硬件描述基于單片機(jī)系統(tǒng)的電子時(shí)鐘基本結(jié)構(gòu)框圖如圖2-1所示:圖2-1 系統(tǒng)基本結(jié)構(gòu)框圖該系統(tǒng)所需要的器件包括單片機(jī)STC89C52芯片一塊,實(shí)時(shí)時(shí)鐘芯片DS12887一塊,溫度傳感器DS18B20一塊,液晶顯示屏LCD1602一塊,雙4輸入與門芯片74LS21一塊,蜂鳴器一個(gè),12mHZ的晶振一個(gè),排針排線若干組,電容電阻若干,導(dǎo)線若干,發(fā)光二級(jí)管一個(gè),三極管一個(gè),按鈕5個(gè)。2.3 系統(tǒng)軟件描述系統(tǒng)程序?qū)崿F(xiàn)三部分功能:時(shí)鐘部分實(shí)現(xiàn)年、月、日、時(shí)、分、秒、星期顯示和設(shè)置、鬧鐘功

17、能;溫度測(cè)量部分實(shí)現(xiàn)環(huán)境溫度測(cè)量及顯示;鍵盤部分主要為時(shí)鐘和鬧鐘設(shè)置;功能整體程序流程框圖如圖2-2所示。圖2-2 功能整體流程框圖2.4 設(shè)計(jì)流程和預(yù)期成果該設(shè)計(jì)的主要流程如下:首先閱讀大量參考文獻(xiàn),進(jìn)行設(shè)計(jì)方案的確定,然后在Protel 99SE上進(jìn)行原理圖的繪制和修改,在電氣檢查無誤的情況下,購(gòu)買所需要的元器件(元器件應(yīng)考慮裕量)。接著把元器件焊接到各個(gè)功能電路的模塊上,并結(jié)合程序進(jìn)行調(diào)試。最后將各個(gè)功能的電路程序組合起來,然后再進(jìn)行總體調(diào)試直到成功。本設(shè)計(jì)能達(dá)到以下結(jié)果: 1)顯示年、月、日、星期等日歷相關(guān)信息。通過按鍵設(shè)置年月日和星期,以及定時(shí)鬧鐘。 2)掉電后時(shí)鐘芯片正常運(yùn)行,重新

18、上電后不用校正時(shí)鐘。 3)定時(shí)時(shí)間到達(dá)時(shí),蜂鳴器報(bào)警;手動(dòng)按任意鍵報(bào)警停止;如無人工按鍵,報(bào)警在1.5min后停止。 4)實(shí)時(shí)溫度顯示。第三章 硬件設(shè)計(jì)3.1 硬件芯片介紹3.1.1 單片機(jī)STC89C52(一)STC89C52功能特點(diǎn)8STC89C52是一種帶8K字節(jié)閃爍可編程可擦除只讀存儲(chǔ)器的低電壓,高性能COMOS8的微處理器,俗稱單片機(jī)。該器件采用ATMEL搞密度非易失存儲(chǔ)器制造技術(shù)制造,與工業(yè)標(biāo)準(zhǔn)的MCS-51指令集和輸出管腳相兼容。表3-1給出了其主要功能。表3-1 STC89C52主要功能主要功能特性兼容MCS51指令系統(tǒng)8K可反復(fù)擦寫Flash ROM32個(gè)雙向I/O口256x

19、8bit內(nèi)部RAM3個(gè)16位可編程定時(shí)/計(jì)數(shù)器中斷時(shí)鐘頻率0-24MHz2個(gè)串行中斷可編程UART串行通道2個(gè)外部中斷源共6個(gè)中斷源2個(gè)讀寫中斷口線3級(jí)加密位低功耗空閑和掉電模式軟件設(shè)置睡眠和喚醒功能(二)STC89C52各管腳介紹STC89C52各管腳如圖3-1所示。圖3-1 STC89C52管腳圖(1)主電源引腳(2根)VCC(Pin40):電源輸入,接5V電源GND(Pin20):接地線(2)外接晶振引腳(2根)XTAL0(Pin18):片內(nèi)振蕩電路的輸入端XTAL1(Pin19):片內(nèi)振蕩電路的輸出端(3)控制引腳(4根)RST/VPP(Pin9):復(fù)位引腳,引腳上出現(xiàn)2個(gè)機(jī)器周期的高

20、電平將使單片機(jī)復(fù)位。ALE/PROG(Pin30):地址鎖存允許信號(hào)PSEN(Pin29):外部存儲(chǔ)器讀選通信號(hào)EA/VPP(Pin31):程序存儲(chǔ)器的內(nèi)外部選通,接低電平從外部程序存儲(chǔ)器讀指令,如果接高電平則從內(nèi)部程序存儲(chǔ)器讀指令。(4)可編程輸入/輸出引腳(32根)STC89C52單片機(jī)有4組8位的可編程I/O口,分別位P0、P1、P2、P3口,每個(gè)口有8位(8根引腳),共32根。PO口(Pin39Pin32):名稱為P0.0P0.7。P0口是一個(gè)8位漏極開路的雙向I/O口。作為輸出口,每位能驅(qū)動(dòng)8個(gè)TTL邏輯電平(晶體管-晶體管邏輯電平)。P1口(Pin1Pin8):名稱為P1.0P1.

21、7。P1 口是一個(gè)具有內(nèi)部上拉電阻的8 位雙向I/O 口,p1 輸出緩沖器能驅(qū)動(dòng)4 個(gè) TTL 邏輯電平。對(duì)P1 端口寫“1”時(shí),內(nèi)部上拉電阻把端口拉高,此時(shí)可以作為輸入口使用。作為輸入使用時(shí),被外部拉低的引腳由于內(nèi)部電阻的原因,將輸出電流(IIL)。此外,P1.0和P1.2分別作定時(shí)器/計(jì)數(shù)器2的外部計(jì)數(shù)輸入(P1.0/T2)和時(shí)器/計(jì)數(shù)器2 的觸發(fā)輸入(P1.1/T2EX),具體如下所示。 在flash編程和校驗(yàn)時(shí),P1口接收低8位地址字節(jié)。P1引腳第二功能P1.0 :T2(定時(shí)器/計(jì)數(shù)器T2的外部計(jì)數(shù)輸入),時(shí)鐘輸出P1.1 :T2EX(定時(shí)器/計(jì)數(shù)器T2的捕捉/重載觸發(fā)信號(hào)和方向控制)

22、P1.5: MOSI(在線系統(tǒng)編程時(shí)用到)P1.6 :MISO(在線系統(tǒng)編程時(shí)用到)P1.7 :SCK(在線系統(tǒng)編程時(shí)用到)P2口(Pin21Pin28):名稱為P2.0P2.7。P2 口是一個(gè)具有內(nèi)部上拉電阻的8 位雙向I/O 口,P2 輸出緩沖器能驅(qū)動(dòng)4 個(gè) TTL 邏輯電平。對(duì)P2 端口寫“1”時(shí),內(nèi)部上拉電阻把端口拉高,此時(shí)可以作為輸入口使用。作為輸入使用時(shí),被外部拉低的引腳由于內(nèi)部電阻的原因,將輸出電流(IIL)。在訪問外部程序存儲(chǔ)器或用16位地址讀取外部數(shù)據(jù)存儲(chǔ)器(例如執(zhí)行MOVX DPTR)時(shí),P2 口送出高八位地址。在這種應(yīng)用中,P2 口使用很強(qiáng)的內(nèi)部上拉發(fā)送1。在使用 8位地

23、址(如MOVX RI)訪問外部數(shù)據(jù)存儲(chǔ)器時(shí),P2口輸出P2鎖存器的內(nèi)容。在flash編程和校驗(yàn)時(shí),P2口也接收高8位地址字節(jié)和一些控制信號(hào)。P3口(Pin10Pin17):8位準(zhǔn)雙向I/O口線,名稱為P3.0P3.7。P3 口是一個(gè)具有內(nèi)部上拉電阻的8 位雙向I/O 口,p2 輸出緩沖器能驅(qū)動(dòng)4 個(gè) TTL 邏輯電平。對(duì)P3 端口寫“1”時(shí),內(nèi)部上拉電阻把端口拉高,此時(shí)可以作為輸入口使用。作為輸入使用時(shí),被外部拉低的引腳由于內(nèi)部電阻的原因,將輸出電流(IIL)。 P3口亦作為STC89C52特殊功能(第二功能)使用,如下表所示。在flash編程和校驗(yàn)時(shí),P3口也接收一些控制信號(hào)。端口引腳 第二

24、功能P3.0 RXD(串行輸入口)P3.1 TXD(串行輸出口)P3.2 INTO(外中斷0)P3.3 INT1(外中斷1)P3.4 TO(定時(shí)/計(jì)數(shù)器0)P3.5 T1(定時(shí)/計(jì)數(shù)器1)P3.6 WR(外部數(shù)據(jù)存儲(chǔ)器寫選通)P3.7 RD(外部數(shù)據(jù)存儲(chǔ)器讀選通)此外,P3口還接收一些用于FLASH閃存編程和程序校驗(yàn)的控制信號(hào)。RST復(fù)位輸入。當(dāng)振蕩器工作時(shí),RST引腳出現(xiàn)兩個(gè)機(jī)器周期以上高電平將是單片機(jī)復(fù)位。ALE/PROG當(dāng)訪問外部程序存儲(chǔ)器或數(shù)據(jù)存儲(chǔ)器時(shí),ALE(地址鎖存允許)輸出脈沖用于鎖存地址的低8位字節(jié)。一般情況下,ALE仍以時(shí)鐘振蕩頻率的1/6輸出固定的脈沖信號(hào),因此它可對(duì)外輸出

25、時(shí)鐘或用于定時(shí)目的。要注意的是:每當(dāng)訪問外部數(shù)據(jù)存儲(chǔ)器時(shí)將跳過一個(gè)ALE脈沖。對(duì)FLASH存儲(chǔ)器編程期間,該引腳還用于輸入編程脈沖(PROG)。如有必要,可通過對(duì)特殊功能寄存器(SFR)區(qū)中的8EH單元的D0位置位,可禁止ALE操作。該位置位后,只有一條MOVX和MOVC指令才能將ALE激活。此外,該引腳會(huì)被微弱拉高,單片機(jī)執(zhí)行外部程序時(shí),應(yīng)設(shè)置ALE禁止位無效。PSEN程序儲(chǔ)存允許(PSEN)輸出是外部程序存儲(chǔ)器的讀選通信號(hào),當(dāng)STC89C52由外部程序存儲(chǔ)器取指令(或數(shù)據(jù))時(shí),每個(gè)機(jī)器周期兩次PSEN有效,即輸出兩個(gè)脈沖,在此期間,當(dāng)訪問外部數(shù)據(jù)存儲(chǔ)器,將跳過兩次PSEN信號(hào)。EA/VPP

26、外部訪問允許,欲使CPU僅訪問外部程序存儲(chǔ)器(地址為0000H-FFFFH),EA端必須保持低電平(接地)。需注意的是:如果加密位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。3.1.2 實(shí)時(shí)時(shí)鐘芯片DS12887 (一)DS12887功能特點(diǎn)9 10DS12887是美國(guó)達(dá)拉斯半導(dǎo)體公司推出的時(shí)鐘芯片,此芯片是基于CMOS技術(shù)的,把時(shí)鐘芯片所需的晶振和外部鋰電池相關(guān)電路集于芯片內(nèi)部,這無疑大大簡(jiǎn)化了外圍電路,同時(shí)它與目前IB

27、M AT計(jì)算機(jī)常用的時(shí)鐘芯片MC146818B和DS1287芯片引腳兼容,可直接進(jìn)行對(duì)等交換。其主要功能如下:    (1)內(nèi)含一個(gè)鋰電池,斷電可以運(yùn)行十年,并且不會(huì)丟失數(shù)據(jù),時(shí)間功能正常運(yùn)行。    (2)可計(jì)時(shí)至2100年前的秒、分、時(shí)、星期、日、月、年等日歷信息并帶有閏年補(bǔ)償功能。    (3)可通過編程選擇BCD碼或者二進(jìn)制數(shù)表示日歷和定時(shí)鬧鐘。    (4)可通過編程選擇12小時(shí)或24小時(shí)制,12小時(shí)時(shí)鐘模式帶有PM和AM提示,此外還有有夏令時(shí)功能。 &#

28、160;  (5)可選擇MOTOROLA和INTEL總線時(shí)序。    (6)內(nèi)部共有128個(gè)RAM單元,這在常用的實(shí)時(shí)時(shí)鐘中屬于較大的。其中14個(gè)字節(jié)作為時(shí)鐘和控制寄存器,114字節(jié)為通用RAM,所有ARAM單元數(shù)據(jù)都具有掉電保護(hù)功能。    (7)可編程并選擇的方波信號(hào)輸出     (8)中斷信號(hào)輸出(IRQ)和總線兼容,定時(shí)鬧鐘中斷、周期性中斷、時(shí)鐘更新周期結(jié)束中斷可分別由軟件屏蔽,也可分別進(jìn)行測(cè)試。(9)三種可供選擇的中斷方式 -時(shí)間性中斷 -周期性中斷-時(shí)鐘更新結(jié)束中斷(二)DS1288

29、7的原理及管腳說明圖3-2顯示了DS12887管腳排列圖。下面說明管腳功能: 圖3-2 DS12887管腳圖GND:電源地VCC:直流電源+5V電壓。若外部提供的VCC電源小于4.25V,讀寫會(huì)即刻被禁止,但芯片內(nèi)部的計(jì)時(shí)仍在繼續(xù),重新通上+5V電源后,通過編程即可顯示當(dāng)前時(shí)間;若外部提供的VCC電源小于3V,電源方式切換為內(nèi)部鋰電池提供,同樣可以保持芯片內(nèi)部計(jì)時(shí)仍然繼續(xù)。    MOT(模式選擇):接VCC(+5V)時(shí),芯片在MOTOROLA時(shí)序下工作,接GND(地)時(shí),芯片在INTEL時(shí)序下工作。    SQW(方波信號(hào)):通過1

30、5個(gè)分頻器抽頭中的13個(gè)提供方波輸出。    AD0AD7(雙向地址/數(shù)據(jù)復(fù)用線):數(shù)據(jù)和控制指令都通過此8個(gè)引腳來于單片機(jī)等控制器傳輸。AS(地址選通輸入):地址鎖存引腳。  DS(數(shù)據(jù)選通或讀輸入):該引腳有兩種操作模式,視該芯片是出于MOTOROLA模式或者INTEL模式,當(dāng)使用MOTOROLA時(shí)序時(shí),DS是一正脈沖,出現(xiàn)在總線周期的后段,稱為數(shù)據(jù)選通;若為INTEL時(shí)序,DS稱作(RD),RD與典型存貯器的允許信號(hào)(OE)的定義相同。    R/W(讀/寫輸入):R/W管腳同樣也有兩種操作模式。此引腳的兩種模式與DS

31、相似。    CS(片選輸入):在訪問DS12887的總線周期內(nèi),片選信號(hào)必須保持為低。    IRQ(中斷申請(qǐng)輸入):低電平有效,可作微處理的中斷輸入。沒有中斷條件滿足時(shí),IRQ處于高阻態(tài)。IRQ線是漏極開路輸入,要求外接上拉電阻。    RESET(復(fù)位輸出):若要保證DS12887有效復(fù)位,必須讓該腳保持低電平時(shí)間大于200ms,。(三)DS12887的內(nèi)部功能(1) 地址分配圖    DS12887的存儲(chǔ)器分配圖如圖3-3所示,其中00H-09H為時(shí)鐘信息和鬧鐘信息寄

32、存器,0AH-0DH為四個(gè)控制寄存器圖3-3 DS12887存儲(chǔ)器分配圖(2) 控制寄存器    寄存器A 表3-2 DS12887寄存器AUIP:更新位。若UIP為1,實(shí)時(shí)時(shí)鐘的更新轉(zhuǎn)換發(fā)生的很快,而當(dāng)UIP為0,更新轉(zhuǎn)換至少在244µs內(nèi)不會(huì)發(fā)生。    DV0,DV1,DV2:用于晶振和復(fù)位分頻鏈的開啟。表3-3 DS12887周期中斷率和方波頻率    RS3,RS2,RS1,RS0:頻率選擇位,通過這四個(gè)位用戶可以:    a 用PIE位允許中斷;

33、0;   b 用SQWE位允許SQAW輸出;    c 二者同時(shí)允許并用相同的頻率;    d 二者都不允許寄存器B 表3-4 DS12887寄存器BSET:此位為0,時(shí)間更新正常進(jìn)行,每秒計(jì)數(shù)走時(shí)一次,當(dāng)此位為1,時(shí)間更新被禁止,程序可對(duì)芯片進(jìn)行初始化的操作和編程。    PIE:周期中斷允許位,PIE為1,則允許以選定的頻率拉低IRQ管腳,PIE為0,則禁止中斷。    AIE:定時(shí)鬧鐘中斷允許位,AIE為1,允許中斷,否則禁止中斷。UIE:更新結(jié)束中

34、斷允許位,AIE為1,允許中斷,否則禁止中斷。    SQWE:方波允許位,置1選定頻率方波從SQW腳輸出;為0-時(shí),SQW腳為低。    DM:數(shù)據(jù)模式位,DM為1表明為十進(jìn)制數(shù)據(jù),而0表明是BCD碼的數(shù)據(jù)。    24/12:小時(shí)格式位,1表明24小時(shí)制,而0表明12小時(shí)制。    DSE:夏令時(shí)允許位,當(dāng)DSE置1時(shí)允許兩個(gè)特殊的更新,在四月份的第一星期日,時(shí)間從1:59:59AM時(shí)改變?yōu)?:00:00AM;在十月的最后一個(gè)星期日的1:59:59AM時(shí)改變?yōu)?:00:0

35、0AM。當(dāng)DSE位為0,這種特殊修正不發(fā)生。寄存器C 表3-5 DS12887寄存器CIRQF:中斷申請(qǐng)標(biāo)志位。當(dāng)下列表達(dá)式中一個(gè)或多個(gè)為真時(shí),置1。    PF=PIE=1;AF=AIE=1;UF=UIE=1;    即:IRQF=PF·PIE+AF·AIE+UF·UIE    只要IRQF為1,IRQ管腳輸出低 ,程序讀寄存器C以后或RESET管腳為低后,所有標(biāo)志位清零。   AF:定鬧中斷標(biāo)志位,只讀,AF為1表明現(xiàn)在時(shí)間與定鬧時(shí)間匹配。 

36、   VF:更新周期結(jié)束標(biāo)志位。VF為1表明更新周期結(jié)束。    BIT0BIT3:未用狀態(tài)位,讀出總為0,不能寫入。寄存器D 表3-6 DS12887寄存器DVRT:內(nèi)部鋰電池狀態(tài)位,平時(shí)應(yīng)總讀出1,如出現(xiàn)0,表明內(nèi)部鋰電池耗盡。    BIT0BIT6:未用狀態(tài)位,讀出總為0,不能寫入。3.1.3 溫度傳感器DS18B20(一)DS18B20功能特點(diǎn)DS18B20具有超小體積和超低硬件開銷,精度高,抗干擾能力強(qiáng)等優(yōu)點(diǎn)。具有全數(shù)字溫度轉(zhuǎn)換及輸出,單總線數(shù)據(jù)通信,最高12 位分辨率,檢測(cè)溫度范圍大的特征,是開發(fā)溫度

37、相關(guān)產(chǎn)品的很好的選擇。其主要功能如下:(1)獨(dú)特的單線接口僅需一個(gè)端口引腳進(jìn)行通訊(2)簡(jiǎn)單的多點(diǎn)分布應(yīng)用(3)無需外部器件(4)可通過數(shù)據(jù)線供電(5)零待機(jī)功耗(6)測(cè)溫范圍-55+125,以0.5遞增。華氏器件-67+2570F,以0.90F 遞增(7)溫度以9 位數(shù)字量讀出(8)溫度數(shù)字量轉(zhuǎn)換時(shí)間200ms(典型值)(9)用戶可定義的非易失性溫度報(bào)警設(shè)置(10)報(bào)警搜索命令識(shí)別并標(biāo)志超過程序限定溫度(溫度報(bào)警條件)的器件(11)應(yīng)用包括溫度控制、工業(yè)系統(tǒng)、消費(fèi)品、溫度計(jì)或任何熱感測(cè)系統(tǒng)(二)DS18B20內(nèi)部工作原理 DS18B20內(nèi)部結(jié)構(gòu)主要由四部分組成:64位光刻ROM 、溫度傳感器

38、、非揮發(fā)的溫度報(bào)警觸發(fā)器TH和TL、配置寄存器。如圖3-4所示。圖3-4 DS18B20原理圖DS18B20引腳定義: (1) DQ為數(shù)字信號(hào)輸入/輸出端(2) GND為電源地(3) VDD為外接供電電源輸入端(在寄生電源接線方式時(shí)接地) 圖3-5 DS18B20引腳圖圖3-6給出了DS18B20測(cè)溫原理:DS1820用一個(gè)高溫度系數(shù)的振蕩器確定一個(gè)門周期,內(nèi)部計(jì)數(shù)器在這個(gè)門周期內(nèi)對(duì)一個(gè)低溫度系數(shù)的振蕩器的脈沖進(jìn)行計(jì)數(shù)來得到溫度值。計(jì)數(shù)器被預(yù)置到對(duì)應(yīng)于-55的一個(gè)值。如果計(jì)數(shù)器在門周期結(jié)束前到達(dá)0,則溫度寄存器(同樣被預(yù)置到-55)的值增加,表明所測(cè)溫度大于-55。同時(shí),計(jì)數(shù)器被復(fù)位

39、到一個(gè)值,這個(gè)值由斜坡式累加器電路確定,斜坡式累加器電路用來補(bǔ)償感溫振蕩器的拋物線特性。然后計(jì)數(shù)器又開始計(jì)數(shù)直到0,如果門周期仍未結(jié)束,將重復(fù)這一過程。斜坡式累加器用來補(bǔ)償感溫振蕩器的非線性,以期在測(cè)溫時(shí)獲得比較高的分辨力。這是通過改變計(jì)數(shù)器對(duì)溫度每增加一度所需計(jì)數(shù)的的值來實(shí)現(xiàn)的。因此,要想獲得所需的分辨力,必須同時(shí)知道在給定溫度下計(jì)數(shù)器的值和每一度的計(jì)數(shù)值。DS1820 內(nèi)部對(duì)此計(jì)算的結(jié)果可提供0.5的分辨力。溫度以16bit 帶符號(hào)位擴(kuò)展的二進(jìn)制補(bǔ)碼形式讀出。數(shù)據(jù)通過單線接口以串行方式傳輸。DS1820 測(cè)溫范圍-55+125,以0.5遞增。如用于華氏溫度,必須要用一個(gè)轉(zhuǎn)換因子查找表。圖3

40、-6 DS18B20測(cè)溫原理圖 DS18B20與單片機(jī)的硬件連接有兩種方法:一是VDD接外部電源,GND接地I/O與單片機(jī)的I/O線相接;二是用寄生電源供電,此時(shí)VDD和GND接地,I/O接單片機(jī)I/O。無論是那種供電方式,I/O線都要接4.7k左右的上拉電阻。圖3-7中,DS18B20采用寄生電源方式,其VDD和GND均接地,而圖3-8中,DS18B20采用外接電源方式,其VDD端用3-5.5v電源供電。本設(shè)計(jì)采用3-8所示接線,即外接電源工作方式11。 圖3-7 DS18B20接寄生電源圖 圖3-8 DS18B20外接電源圖3.1.4 液晶顯示屏LCD1602 (一)LCD1602特點(diǎn)說明

41、12 13液晶顯示模塊由于具有低功耗、壽命長(zhǎng)、體積小、顯示內(nèi)容豐富、價(jià)格低、接口控制方便等優(yōu)點(diǎn),因此在各類電子產(chǎn)品中被極廣泛地推廣和應(yīng)用。字符型液晶顯示模塊是一類專門用于顯示字母、數(shù)字、符號(hào)等點(diǎn)陣式液晶顯示模塊。本系統(tǒng)設(shè)計(jì)采用字符型液屏顯示模塊LCD1602 作為顯示器件,這樣不僅簡(jiǎn)化了系統(tǒng)的硬件設(shè)計(jì),而且極大地提高了系統(tǒng)的可靠性。字符型液晶顯示模塊LCD1602是單片機(jī)應(yīng)用設(shè)計(jì)中最常用的信息顯示器件。LCD1602 可以顯示兩行,每行16 個(gè)字符,采用5V 電源供電,外圍電路配置簡(jiǎn)單,價(jià)格便宜,具有很高的性價(jià)比14。(二)LCD1602功能介紹 LCD1602各引腳功能如表3-7所示。表3-

42、7 LCD1602管腳功能表(1)基本操作時(shí)序:LCD1602 讀寫操作時(shí)序總體上來說是比較簡(jiǎn)單的,掌握其有兩種方法:一種是直接看時(shí)序圖,另外一種方法是直接記憶和總結(jié)讀寫時(shí)電平高低和變化。很顯然第二種更簡(jiǎn)單、直接,下面就列出典型讀寫的時(shí)序要求,以方便編寫程序。讀狀態(tài)-輸入:RS=L,R/W=H,E=H 輸出:D0-D7=狀態(tài)字寫指令-輸入:RS=L,R/W=L,D0-D7=指令碼,E=高脈沖 輸出:無讀數(shù)據(jù)-輸入:RS=H,R/W=H,E=H 輸出:D0-D7=數(shù)據(jù)寫數(shù)據(jù)-輸入:RS=H,R/W=L,D0-D7=數(shù)據(jù),E=高脈沖 輸出:無(2)狀態(tài)字說明: 表3-8 狀態(tài)字表對(duì)控制器每次進(jìn)行讀

43、寫操作之前,都必須進(jìn)行讀寫檢測(cè),確保STA7為0(3)指令說明: 表3-9 顯示模式設(shè)置表表3-10 顯示開/關(guān)及背光燈設(shè)置表(4)數(shù)據(jù)控制控制器內(nèi)部有一個(gè)數(shù)據(jù)地址指針,用戶可通過它們來訪問內(nèi)部的全部80字節(jié)RAM(5)數(shù)據(jù)指針設(shè)置 表3-11 數(shù)據(jù)指針設(shè)置表(6)其他設(shè)置 表3-12 其他設(shè)置指令表(三)LCD1602初始化過程(1)延時(shí)15ms(2)寫指令38H(不檢測(cè)忙信號(hào))(3)延時(shí)5ms(4) 寫指令38H(不檢測(cè)忙信號(hào))(5)寫指令5ms(6) 寫指令38H(不檢測(cè)忙信號(hào))(7)之后每次寫指令、讀/寫數(shù)據(jù)操作之前均需檢測(cè)忙信號(hào)(8)寫指令38H:顯示模式設(shè)置(9)寫指令08H:顯示

44、關(guān)閉(10) 寫指令01H:顯示清屏幕(11) 寫指令06H:顯示光標(biāo)移動(dòng)設(shè)置(12) 寫指令0CH:顯示及光標(biāo)設(shè)置3.2 系統(tǒng)硬件架構(gòu)本設(shè)計(jì)以模塊化的方式來進(jìn)行硬件電路的設(shè)計(jì)和調(diào)試。單片機(jī)的模塊化就是把系統(tǒng)分成各個(gè)具有獨(dú)立功能又可以互相銜接的簡(jiǎn)單模塊,將復(fù)雜難懂的指令、語法、編程及其電路分解,使設(shè)計(jì)簡(jiǎn)單化15。本設(shè)計(jì)的電路模塊可以分為單片機(jī)最小系統(tǒng)模塊,時(shí)鐘模塊,溫度傳感器模塊,液晶顯示模塊,按鍵模塊,蜂鳴器報(bào)警模塊。3.2.1 單片機(jī)最小系統(tǒng)本設(shè)計(jì)的單片機(jī)最小系統(tǒng)主要包括STC89C52芯片,晶振電路和復(fù)位電路。(一)晶振電路 最小系統(tǒng)晶振電路如圖3-9所示。 圖3-9 晶振電路圖STC8

45、9C52內(nèi)部有一個(gè)用于構(gòu)成振蕩器的高增益反相放大器,引腳XTAL0和XTAL1分別是此放大器的輸入端和輸出端。時(shí)鐘可以由內(nèi)部方式產(chǎn)生或外部方式產(chǎn)生。內(nèi)部方式的時(shí)鐘電路如圖3-9所示,在XTAL0和XTAL1引腳上外接定時(shí)元件,內(nèi)部振蕩器就產(chǎn)生自激振蕩。定時(shí)元件通常采用石英晶體和電容組成的并聯(lián)諧振回路。晶體振蕩頻率可以在1.212MHz之間選擇,電容值在530pF之間選擇,電容值的大小可對(duì)頻率起微調(diào)的作用。單片機(jī)晶振兩個(gè)電容的作用:這兩個(gè)電容叫晶振的負(fù)載電容,分別接在晶振的兩個(gè)腳上和對(duì)地的電容,一般在幾十pf。它會(huì)影響到晶振的諧振頻率和輸出幅度。晶振的負(fù)載電容=(Cd*Cg)/(Cd+Cg)+C

46、ic+C式中Cd,Cg為分別接在晶振的兩個(gè)腳上和對(duì)地的電容,Cic(集成電路內(nèi)部電容)+C(PCB上電容)經(jīng)驗(yàn)值為3至5pf。(二)復(fù)位電路 最小系統(tǒng)復(fù)位電路如圖3-10所示。 圖3-10 復(fù)位電路圖無論使用哪種類型的單片機(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ì)不可靠引起的16。復(fù)位電路的基本功能是:系統(tǒng)上電時(shí)提供復(fù)位信號(hào),直至系統(tǒng)電源穩(wěn)定后,撤銷復(fù)位信號(hào)。為可靠起見,電源穩(wěn)定后還要經(jīng)過一定的延時(shí)才撤銷復(fù)位信號(hào),以防電源開

47、關(guān)或電源插頭分-合過程中引起的抖動(dòng)而影響復(fù)位。單片機(jī)復(fù)位電路參數(shù)的選定須在振蕩穩(wěn)定后保證復(fù)位高電平持續(xù)時(shí)間大于2個(gè)機(jī)器周期。單片機(jī)復(fù)位電路主要有四種類型:微分型復(fù)位電路;積分型復(fù)位電路;比較器型復(fù)位電路;看門狗型復(fù)位電路17。(三)最小系統(tǒng)整體圖最小系統(tǒng)整體電路如圖3-11所示。圖3-11 最小系統(tǒng)電路圖3.2.2 時(shí)鐘模塊本設(shè)計(jì)中的DS12887芯片AD0-AD7引腳與STC89C52芯片的P2口相連接。MOT引腳接地,為INTEL總線時(shí)序方式。因此R/W和DS引腳也為對(duì)應(yīng)INTEL的操作模式。時(shí)鐘模塊電路如圖3-12所示。 圖3-12 時(shí)鐘模塊電路圖3.2.3 溫度傳感器模塊溫度傳感器DS

48、18B20的接法很簡(jiǎn)單,它的DQ引腳與STC89C52芯片的P1.7引腳相連接。這里只用到一個(gè)溫度傳感器,若要使用多個(gè)則只需將所有的DS18B20的I/O口接在一起即可,在具體操作時(shí),通過讀取每個(gè)芯片的內(nèi)部序列號(hào)來識(shí)別18。溫度傳感器模塊電路如圖3-13所示。圖3-13 溫度傳感器模塊3.2.4 液晶顯示模塊液晶LCD1602的D0-D7引腳與STC89C52芯片的P2口相接,而控制引腳RS,R/W,CS則分別接P1.6,P1.5,P1.4。引腳3接一個(gè)1K的電位器來調(diào)整對(duì)比度,從而達(dá)到合適的背光燈對(duì)比度。液晶顯示模塊電路如圖3-14所示。圖3-14 液晶顯示模塊3.2.5 按鍵模塊74LS2

49、1芯片為兩組 4 輸入與門(正邏輯)。本設(shè)計(jì)中的四個(gè)按鍵分別接到74LS21芯片的1A,1B,1C,1D,即4輸入與門的4個(gè)輸入。而74LS21的輸出1Y則接到STC89C52芯片的P3.2(INT0)引腳,由于該引腳為低電平有效,當(dāng)警報(bào)發(fā)生時(shí)按下四個(gè)按鍵中任意一個(gè)都會(huì)使輸出1Y變?yōu)榈碗娖?,則芯片發(fā)生中斷,報(bào)警停止。同時(shí),四個(gè)按鍵key1-key4也接到STC89C52芯片的P1.0-P1.3起到調(diào)節(jié)時(shí)間日期等功能。四個(gè)按鍵中S1為切換鍵,S2為設(shè)定鍵,S3為上調(diào)鍵,S4下調(diào)鍵。按鍵模塊電路如圖3-15所示。 圖3-15 按鍵模塊3.2.6 蜂鳴器報(bào)警模塊蜂鳴器報(bào)警模塊的作用:當(dāng)定時(shí)鬧鐘時(shí)間到

50、時(shí),蜂鳴器發(fā)出預(yù)設(shè)的聲音,而發(fā)光二極管則會(huì)隨著音樂閃爍。本模塊采用PNP三極管為蜂鳴器放大電流,基極通過4.7k電阻與單片機(jī)STC89C52的閑置引腳P3.5相連接,集電極直接接地,發(fā)射極接發(fā)光二極管和蜂鳴器。 報(bào)警模塊電路如圖3-16所示。圖3-16 報(bào)警模塊第四章 軟件設(shè)計(jì)4.1 軟件設(shè)計(jì)總體說明本系統(tǒng)的程序采用C語言編寫,為了便于修改和調(diào)試,系統(tǒng)軟件采用模塊化設(shè)計(jì),程序的編寫編譯在WAVE6000軟件中完成。首先對(duì)STC89C52、DS12887、LCD1602、DS18B20進(jìn)行初始化,日歷和溫度信息通過LCD1602顯示出來,當(dāng)當(dāng)前時(shí)間與設(shè)定的鬧鐘時(shí)間相同后,LCD1602上顯示的時(shí)

51、間停止,但,實(shí)際上芯片內(nèi)部的時(shí)間仍然在走。時(shí)鐘芯片向單片機(jī)發(fā)出中斷請(qǐng)求,單片機(jī)通過報(bào)警模塊進(jìn)行警報(bào),此時(shí),若按下四個(gè)按鍵中的任意一個(gè),報(bào)警停止,LCD1602顯示的時(shí)間繼續(xù)精確顯示。20系統(tǒng)中有四個(gè)按鍵,即:設(shè)置鍵S1、切換鍵S2、上調(diào)鍵S3、下調(diào)鍵S4。(1)按下S1鍵,系統(tǒng)進(jìn)入設(shè)置狀態(tài),再按下S2鍵可在除了溫度外的項(xiàng)目,如年、月、日、時(shí)、分、秒、星期、鬧鐘上停留,此時(shí)再按下上調(diào)鍵S3即可進(jìn)行加一操作,按下下調(diào)鍵S4即可進(jìn)行減一的操作。(2)同時(shí)按下S1鍵和S2鍵會(huì)將當(dāng)前的時(shí)間恢復(fù)到程序中設(shè)定的默認(rèn)時(shí)間。(3)同時(shí)按下S3鍵和S4鍵可對(duì)鬧鐘進(jìn)行開啟和關(guān)閉的操作。4.2 主程序軟件實(shí)現(xiàn)4.2.

52、1主程序流程圖圖4-1 主程序流程圖4.2.2主程序代碼void main()lcd_init(); /LCD初始化Start_calendar (); /日歷開啟initial_irq (); /中斷開啟enable_set = F; /設(shè)置禁止while(1)if ( enable_play_song ) /鈴聲使能play_song(); /播放鈴聲enable_play_song = F; /禁止鈴聲update_display_data (); /更新顯示數(shù)據(jù)display_calender_and_temp (); /顯示日歷及溫度if (enable_set) /設(shè)置使能dela

53、y (100); /延時(shí)100msupdate_set_display (cur_set_pos); /更新設(shè)置的信息display_calender_and_temp (); /顯示日歷及溫度信息delay (100); /延時(shí)100msdate_timeTIME_SIGN_POS = ':' /時(shí)間的時(shí)和分之間顯示:continue; /繼續(xù)循環(huán)delay (200); /延時(shí)200msflash_time_sign (); /:閃爍 4.3 DS18B20模塊軟件實(shí)現(xiàn)4.3.1 DS18B20模塊子程序流程圖圖4-2 DS18B20子程序流程圖4.3.2 DS18B20模塊子程序代碼#include <reg52.h>#include <intrins.h>#include <absacc.h>#include <string.h>#include "typedef.h"sbit dq= P17;void delay_temperature(uint t) uint i; while(t-) for(i=0;i<125;i+) void txreset

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝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ù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 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)論