【正文】
XXX學(xué)院畢 業(yè) 論 文課題名稱: 基于單片機(jī)的萬年歷設(shè)計(jì) 作 者: XXX 學(xué) 號(hào): XXX 系 別:___ 電子工程系 專 業(yè):__ 電子信息工程技術(shù)_ 指導(dǎo)教師:_______ XXX XX年 XX 月 XX 日中英文摘要摘 要 本設(shè)計(jì)以單片機(jī)芯片STC89C52為中心,通過外掛接DS12C887作為時(shí)鐘芯片,為系統(tǒng)實(shí)時(shí)的更新時(shí)間、日歷等。DS18B20作為溫度傳感器芯片,用于實(shí)時(shí)采集當(dāng)前所處的環(huán)境溫度。1602液晶作為實(shí)時(shí)顯示器件,顯示單片機(jī)采集的所有數(shù)據(jù)。當(dāng)在公共場(chǎng)所時(shí),為了方便調(diào)節(jié)時(shí)間,外加紅外遙控和鍵盤兩種方式調(diào)時(shí)功能。于此,構(gòu)成了一個(gè)實(shí)時(shí)時(shí)鐘萬年歷系統(tǒng)。最后,通過軟件對(duì)其原理圖進(jìn)行繪制和程序的編寫,并且調(diào)試運(yùn)行。關(guān)鍵詞:單片機(jī)芯片STC89C52;DS12C887芯片;DS18B20溫度傳感器;LCD1602液晶;紅外遙控 AbstractThe design on the single chip puter chip STC89C52 as the center, through the plugin meet DS12C887 as the clock chip, realtime updates for the system time, calendar, etc. As the temperature sensor DS18B20 chip to the realtime data acquisition at this temperature environment. 1602 LCD as realtime display device, shows all of the data collection single chip microputer. When in a public place, in order to facilitate the regulating time, plus infrared remote control and keyboard two ways when the function. In this, and form a real time clock calendar system. Finally, through the software to its principle chart draw and the writing of the program, and debug operation.Keywords: single chip microputer chip STC89C52; DS12C887 chip ;DS18B20 temperature sensor; LCD1602 liquid crystal ;infrared remote controlXX學(xué)院XX屆畢業(yè)論文目 錄 1 引言 1 1 22 方案論證 2 時(shí)鐘芯片的選擇 2 43 單元電路設(shè)計(jì) 4 DS12C887時(shí)鐘電路設(shè)計(jì) 4 DS12C887時(shí)鐘芯片概述 4 時(shí)鐘精度 5 時(shí)鐘、日歷和鬧鐘單元 5 控制寄存器 6 基本原理 8 11 11 13 1602液晶顯示電路設(shè)計(jì) 14 1602液晶概述 14 1602液晶基本原理 15 1602液晶工作時(shí)序 16 指令說明 17 1602液晶主要程序分析 18 19 19 20 21 DS18B20溫度傳感器電路設(shè)計(jì) 23 DS18B20溫度傳感器概述 23 DS18B20溫度傳感器的主要特性 23 DS18B20溫度傳感器基本原理 23 DS18B20溫度傳感器配置寄存器 23 DS18B20溫度傳感器暫存器中溫度數(shù)值的儲(chǔ)存形式 24 DS18B20溫度傳感器工作時(shí)序 25 控制器對(duì)DS18B20操作流程 26 DS18B20芯片內(nèi)部ROM操作指令 27 DS18B20溫度傳感器芯片內(nèi)部存儲(chǔ)器RAM操作指令 27 DS18B20溫度傳感器典型工作方式 28 溫度傳感器DS18B20主要程序分析 28 314 總體設(shè)計(jì)與制作 31 31 軟件開發(fā)與調(diào)試 32 32 系統(tǒng)調(diào)試 33 搭建系統(tǒng)實(shí)物 34 35 5 收獲與體會(huì) 35 6 結(jié)論 36附錄A 37附錄B 38附錄C 49參考文獻(xiàn) 50致謝 51 1 引言電子是推動(dòng)人類社會(huì)文明、進(jìn)步與發(fā)展的巨大動(dòng)力,隨著電子產(chǎn)品的飛速發(fā)展,現(xiàn)已將人類帶入了智能化的生活。傳統(tǒng)的機(jī)械表由于做工的高精細(xì)要求,造價(jià)的昂貴,材料的限制,時(shí)間指示精度的限制,使用壽命,以及其它方面的限制,已不能滿足人們的需求。另外從人們的日常生活到工廠的自動(dòng)控制,從民用時(shí)鐘到科學(xué)發(fā)展所需的時(shí)鐘,現(xiàn)代人對(duì)時(shí)間的精度和觀察時(shí)間的方便有了越來越多的需求。人們要求隨時(shí)隨地都能快速準(zhǔn)確的知道時(shí)間,并且要求時(shí)鐘能夠更直觀、更可靠、價(jià)格更便宜。這種要求催生了新型電子時(shí)鐘的產(chǎn)生。 電子技術(shù)的飛速發(fā)展,微機(jī)已開始向社會(huì)的各個(gè)領(lǐng)域滲透,同時(shí)大規(guī)模集成電路獲得高速發(fā)展,單片機(jī)的應(yīng)用正在不斷地走向深入,由傳統(tǒng)的8位單片機(jī)發(fā)展到后來的16位,諸如AVR系列、PIC系列、430系列等,再到如今的高級(jí)單片機(jī)ARM體系下配合操作系統(tǒng)實(shí)現(xiàn)智能化,這無疑體現(xiàn)了單片機(jī)在我們生活中已占據(jù)了核心的地位。本設(shè)計(jì)核心控制芯片采用了STC89C52微控制芯片,該芯片具有功能強(qiáng)、體積小、功耗低、價(jià)格便宜,工作可靠,使用方便等優(yōu)點(diǎn),因此特別適合于與控制有關(guān)的系統(tǒng),越來越廣泛地應(yīng)用于自動(dòng)控制,智能化儀器、儀表、數(shù)據(jù)采集、軍工產(chǎn)品以及家用電器等各個(gè)領(lǐng)域。另外,單片機(jī)的重要運(yùn)用意義還在于,它從根本上改變了傳統(tǒng)的控制系統(tǒng)設(shè)計(jì)思想和設(shè)計(jì)方法。從前必須由模擬電路或數(shù)字電路實(shí)現(xiàn)的大部分功能,現(xiàn)在已能用單片機(jī)通過軟件的方法來實(shí)現(xiàn)了,這種軟件替代硬件的控制技術(shù)也稱為微控制技術(shù),是傳統(tǒng)控制技術(shù)的一次革命。單片機(jī)模塊中最常見的是數(shù)字鐘,數(shù)字鐘是一種用數(shù)字電路技術(shù)實(shí)現(xiàn)的時(shí)、分、秒計(jì)時(shí)的裝置,與機(jī)械式時(shí)鐘相比具有更高的準(zhǔn)確性和直觀性,且無機(jī)械裝置,具有更長的使用壽命,因此得到了廣泛的使用。數(shù)字鐘是采用數(shù)字電路實(shí)現(xiàn)對(duì)時(shí)、分、秒數(shù)字顯示的計(jì)時(shí)裝置,廣泛運(yùn)用于個(gè)人家庭、車站、碼頭、辦公室等公共場(chǎng)所,成為了人們?nèi)粘I钪斜夭豢缮俚谋匦杵罚捎跀?shù)字集成電路的發(fā)展和石英晶體振蕩器的廣泛運(yùn)用,使得數(shù)字鐘的精度,遠(yuǎn)遠(yuǎn)超過老式鐘表。鐘表的數(shù)字化給人們生活帶來了極大的方便,而且大大地?cái)U(kuò)展了鐘表原先的報(bào)警功能,諸如定時(shí)自動(dòng)報(bào)警、按時(shí)自動(dòng)打鈴、時(shí)間程序自動(dòng)控制、定時(shí)廣播、自動(dòng)開關(guān)路燈、定時(shí)開關(guān)烘箱、通斷動(dòng)力設(shè)備、甚至各種定時(shí)電氣的自動(dòng)啟動(dòng)等。所有這些,都是以時(shí)鐘為基礎(chǔ)的。因此,研究數(shù)字時(shí)鐘具有非常的現(xiàn)實(shí)意義。本設(shè)計(jì)以核心控制芯片AT89C52為中心,外掛接美國DALLAS公司生產(chǎn)的DS12C887實(shí)時(shí)時(shí)鐘芯片和DS18B20溫度傳感器裝置,實(shí)時(shí)時(shí)鐘為系統(tǒng)提供實(shí)時(shí)的時(shí)間。溫度傳感器為系統(tǒng)實(shí)時(shí)反饋當(dāng)前環(huán)境下的溫度。在大型公共場(chǎng)所,當(dāng)不方便使用調(diào)時(shí)鍵盤直接調(diào)時(shí)時(shí),紅外遙控裝置用于方便遠(yuǎn)距離調(diào)時(shí)。1602液晶實(shí)時(shí)的為MCU處理的數(shù)據(jù)進(jìn)行顯示。 2方案論證方案一:采用單片機(jī)本身作為時(shí)鐘控制芯片來模擬時(shí)鐘時(shí)間。單片機(jī)在工作時(shí),需要外接一個(gè)石英晶體振蕩器來為單片機(jī)提供一個(gè)脈沖信號(hào),振蕩電路產(chǎn)生的振蕩脈沖的頻率為f(也可稱為主頻OSC),其并不直接使用,而是經(jīng)過分頻后為系統(tǒng)所用,振蕩脈沖在片內(nèi)通過一個(gè)時(shí)鐘發(fā)生器二分頻后才作為系統(tǒng)的時(shí)鐘信號(hào),時(shí)鐘脈沖信號(hào)的頻率為f/2;時(shí)鐘脈沖六分頻后為機(jī)器周期,由此可見,一個(gè)機(jī)器周期的頻率為f/12,那么一個(gè)機(jī)器周期單片機(jī)執(zhí)行一條指令,則每執(zhí)行一條指令定時(shí)/計(jì)數(shù)器數(shù)值加1;因此,利用單片機(jī)內(nèi)部定時(shí)/計(jì)數(shù)器可以實(shí)現(xiàn)秒脈沖信號(hào),然后通過編程來模擬時(shí)鐘。這種方案的好處是外圍元器件少,電路簡單清晰,設(shè)計(jì)方便易于實(shí)現(xiàn),出問題的故障幾率小。但是這種方案需由大量的程序來模擬時(shí)、分、秒、年、月、日等的更新,編程相對(duì)來說較為復(fù)雜。另外由于單片機(jī)內(nèi)部時(shí)鐘產(chǎn)生的秒脈沖容易受到溫度漂移的影響和執(zhí)行復(fù)雜程序時(shí)的延時(shí)的影響,而使得定時(shí)/計(jì)數(shù)器會(huì)產(chǎn)生不定的誤差,即使設(shè)計(jì)時(shí)間誤差補(bǔ)償程序也很難實(shí)現(xiàn)提供準(zhǔn)確的時(shí)間的功能。并且這種設(shè)計(jì)還有一個(gè)最大的缺點(diǎn)就是如果單片機(jī)斷電,時(shí)間就會(huì)停止,再次上電后時(shí)間又會(huì)回到初始設(shè)定的時(shí)間,又要對(duì)其調(diào)時(shí),比較麻煩。方案二:采用美國DALLAS公司生產(chǎn)制造的DS1302實(shí)時(shí)時(shí)鐘芯片作為系統(tǒng)時(shí)鐘芯片。DS1302是由美國DALLAS公司推出的涓流充電時(shí)鐘芯片,內(nèi)含有一個(gè)實(shí)時(shí)時(shí)鐘/日歷和31字節(jié)靜態(tài)RAM,通過簡單的串行接口與單片機(jī)進(jìn)行通信。實(shí)時(shí)時(shí)鐘/日歷電路提供秒、分、時(shí)、日、日期、月、年的信息,每月的天數(shù)和閏年的天數(shù)可自動(dòng)調(diào)整,時(shí)鐘操作可通過AM/PM 指示決定采用24或12小時(shí)格式。DS1302與單片機(jī)間能簡單地采用同步串行的方式進(jìn)行通信,僅需用到三個(gè)口線:(1)RES(復(fù)位),(2)I/O(數(shù)據(jù)線),(3)SCLK(串行時(shí)鐘),從而解決了由并行時(shí)鐘芯片使得電路復(fù)雜的問題。時(shí)鐘/RAM的讀/寫數(shù)據(jù)以一個(gè)字節(jié)或多達(dá) 31 個(gè)字節(jié)的字符組方式通信,DS1302 工作時(shí)功耗很低,保持?jǐn)?shù)據(jù)和時(shí)鐘信息時(shí)功率小于 1mW。但是,DS1302時(shí)鐘芯片沒有內(nèi)置電池,在電路掉電的情況下不能繼續(xù)計(jì)時(shí),而且在上電的時(shí)候需要校準(zhǔn)時(shí)間。其內(nèi)部也沒有振蕩器,需要外接時(shí)鐘震蕩器方可使用,從而使得外圍電路較為復(fù)雜 。方案三:采用美國DALLAS公司生產(chǎn)制造的DS12C887實(shí)時(shí)時(shí)鐘芯片作為系統(tǒng)時(shí)鐘芯片。DS12C887是美國DALLS公司生產(chǎn)的一款實(shí)時(shí)時(shí)鐘芯片,該器件提供RTC∕日歷、定時(shí)鬧鐘、三個(gè)可屏蔽的中斷和一個(gè)通用的中斷輸出、可編程方波以及114字節(jié)電池備份的靜態(tài)RAM。少于31天的月份,月末可自動(dòng)調(diào)整,其中包括閏年補(bǔ)償。該器件還可以工作于24小時(shí)或帶AM∕PM指示的12小時(shí)格式。一個(gè)精密的溫度補(bǔ)償電路用來監(jiān)視VCC的狀態(tài),一旦主電源故障,或斷電,該器件可以自動(dòng)切換到內(nèi)部鋰電池供電,保證了時(shí)鐘的正常工作,不至于使時(shí)間出亂。該器件支持Intel和Motorola兩種總線模式,內(nèi)部集成了石英晶體震蕩器和涓流充電的鋰離子電池,極大的減少了外圍電路,且使用起來方便。因此在嵌入式、電表、安全系統(tǒng)、網(wǎng)絡(luò)集線器、網(wǎng)橋、路由器等等方面得到了廣泛的運(yùn)用。 比較以上三種方案可以看出,第三種方案更加準(zhǔn)確而外圍硬件電路設(shè)計(jì)也相對(duì)簡單,軟件設(shè)計(jì)也相對(duì)簡潔,因此決定選擇第三種方案。方案一:采用由長沙太陽人電子有限公司設(shè)計(jì)生產(chǎn)制造的LCD液晶。該器件重量輕、體積小、功耗低(約1015Mw)、顯示內(nèi)容豐富、指令功能強(qiáng)(可組合成各種輸入、顯示、移位方式以滿足不同的設(shè)計(jì)需求)、接口簡單方便(可與8位處理器或微控制器相連)、工作溫度寬(050℃)、可靠性高(壽命為50000小時(shí)(25℃時(shí)))等優(yōu)點(diǎn);該器件在顯示上更加靈活,而且改變顯示時(shí)只要改變顯示程序就可以,不用改變硬件電路的設(shè)計(jì),易于電路功能的擴(kuò)展。但是唯一的缺點(diǎn)是要是顯示內(nèi)容較少時(shí),價(jià)格略顯得昂貴些。方案二:采用普通的8位LED數(shù)碼管作為顯示器件。該器件顯示較為明顯清晰反應(yīng)速度較快,價(jià)格便宜,在顯示位數(shù)較少時(shí)性價(jià)比較高。但是,如果顯示內(nèi)容較多時(shí),LED數(shù)碼管顯得較為麻煩,軟件設(shè)計(jì)較為復(fù)雜,電路設(shè)計(jì)較為復(fù)雜,占用單片機(jī)I/O口較多,且耗能較強(qiáng),顯示位數(shù)有限,不利于電路的擴(kuò)展。比較以上兩種方案可以看出,第一種方案較為適合。無論從現(xiàn)實(shí)靈活方面、耗能等方面。因此本設(shè)計(jì)采用第一種方案。 DS12C887時(shí)鐘電路設(shè)計(jì) DS12C887時(shí)鐘芯片概述DS12C887是美國DALLS公司生產(chǎn)的一款實(shí)時(shí)時(shí)鐘芯片,該器件提供RTC∕日歷、定時(shí)鬧鐘、三個(gè)可屏蔽的中斷和一個(gè)通用的中斷輸出、可編程方波以及114字節(jié)電池備份的靜態(tài)RAM。少于31天的月份,月末可自動(dòng)調(diào)整,其中包括閏年補(bǔ)償。該器件還可以工作于24小時(shí)或帶AM∕PM指示的12小時(shí)格式。一個(gè)精密的溫度補(bǔ)償電路用來監(jiān)視VCC的狀態(tài),一旦主電源故障,或斷電,該器件可以自動(dòng)切換到內(nèi)部鋰電池供電,保證了時(shí)鐘的正常工作(在沒有VCC的+25℃環(huán)境下,電池容量可為振蕩器和寄存器供電長達(dá)五年之久),不至于使時(shí)間出亂。該器件支持Intel和Motorola兩種總線模式,內(nèi)部集成了石英晶體震蕩器和涓流充電的鋰離子電池,極大的減少了外圍電路。時(shí)鐘精度依賴于石英晶體精度和振蕩器電路容性負(fù)載與石英晶體震蕩容性負(fù)載之間的匹配度,溫度變化所引起的石英晶體頻率漂移會(huì)導(dǎo)致額外的誤差,耦合到振蕩器電路中的外部電路噪聲會(huì)使時(shí)鐘速度加快,本時(shí)鐘出廠時(shí)經(jīng)過校準(zhǔn),在+25℃環(huán)境下運(yùn)行每月誤差為177。1分鐘。、日歷和鬧鐘單元時(shí)鐘和日歷信息可以通過讀取相應(yīng)寄存器字節(jié)獲得,通過寫相應(yīng)的寄存器字節(jié)對(duì)時(shí)鐘進(jìn)行初始化,存儲(chǔ)時(shí)間、(a),(b),星期寄存器在午夜加1,從1遞增到7,夏時(shí)令功能用到了星期寄存器,因此1被定義為星期天,少于30天的月份,月末可自動(dòng)調(diào)整,其中包括閏年補(bǔ)償。在寫內(nèi)部時(shí)鐘、日歷和鬧鐘寄存器前,須將寄存器B的SET位設(shè)為邏輯1,以防止意外的讀寫操作引起時(shí)鐘的更新,除了所選的格式寫入10個(gè)字節(jié)的時(shí)鐘、日歷和鬧鐘寄存器外,寄存器B的數(shù)據(jù)模式位(DM