




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、畢業(yè)設(shè)計(jì)(論文)畢業(yè)設(shè)計(jì)(論文)專(zhuān)專(zhuān) 業(yè)業(yè) 電子信息工程技術(shù)電子信息工程技術(shù) 班班 次次 _ 姓姓 名名 _ 指導(dǎo)老師指導(dǎo)老師 _ 成都工成都工業(yè)業(yè)學(xué)院學(xué)院二 0 一 二 年成都工業(yè)學(xué)院 通信工程系畢業(yè)設(shè)計(jì)論文I基于單片機(jī)的電子萬(wàn)年歷設(shè)計(jì)基于單片機(jī)的電子萬(wàn)年歷設(shè)計(jì)與實(shí)現(xiàn)與實(shí)現(xiàn)摘要摘要: : 隨著半導(dǎo)體技術(shù)的迅速發(fā)展,特別是大規(guī)模集成電路出現(xiàn),給人類(lèi)生活帶來(lái)了很多的改變。尤其是單片機(jī)技術(shù)的應(yīng)用產(chǎn)品已經(jīng)隨著社會(huì)前進(jìn)的步伐走進(jìn)我們的生活。電子產(chǎn)品的應(yīng)用可謂多不勝數(shù),電子萬(wàn)年歷就是其中的一種。電子萬(wàn)年歷的出現(xiàn)給人們的生活帶來(lái)的極大的方便。電子萬(wàn)年歷以硬件匯編語(yǔ)言為主體進(jìn)行軟件設(shè)計(jì),增加了程序的可讀性和
2、可移植性。系統(tǒng)通過(guò)數(shù)碼管輸出顯示數(shù)據(jù),可以顯示當(dāng)前時(shí)間、公農(nóng)歷日期、星期、溫度。本設(shè)計(jì)著重要描述的就是基于 AT89S52 的單片機(jī)的電子萬(wàn)年歷。本文首先描述系統(tǒng)硬件工作原理,隨后介紹了本系統(tǒng)所應(yīng)用的各硬件接口技術(shù)(即芯片驅(qū)動(dòng)程序)和各個(gè)接口模塊的功能及工作過(guò)程。本設(shè)計(jì)的主導(dǎo)思想是軟硬件相結(jié)合來(lái)進(jìn)行各功能模塊的編寫(xiě)。 關(guān)鍵詞關(guān)鍵詞 單片機(jī);萬(wàn)年歷;AT89S52;DS1302;成都工業(yè)學(xué)院 通信工程系畢業(yè)設(shè)計(jì)論文II目目 錄錄第第 1 1 章章 緒論緒論.1 11.1 設(shè)計(jì)開(kāi)發(fā)背景.11.2 國(guó)內(nèi)外研究現(xiàn)狀.11.3 設(shè)計(jì)需要解決的主要問(wèn)題.11.4 本文主要工作.21.5 本文的組織結(jié)構(gòu).2
3、第第 2 2 章章 方案選擇與論證方案選擇與論證.3 32.1 單片機(jī)芯片的選擇與論證.32.2 顯示模塊選擇方案和論證.32.3 時(shí)鐘芯片的選擇方案和論證.32.4 溫度傳感器的選擇方案與論證.42.5 電路設(shè)計(jì)最終方案決定.4第第 3 3 章章 系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn).5 53.1 電路設(shè)計(jì)框圖.53.2 主要電路模塊的設(shè)計(jì).53.2.1 單片機(jī)主控制模板.53.2.2 時(shí)鐘模塊電路的設(shè)計(jì).73.2.3 公歷與農(nóng)歷轉(zhuǎn)換模塊.93.2.4 DS18B20 溫度模塊 .123.2.5 時(shí)間可調(diào)模塊.143.2.6 顯示模塊的設(shè)計(jì).14第第 4 4 章章 系統(tǒng)調(diào)試與分析系統(tǒng)調(diào)試與分析.
4、16164.1 系統(tǒng)軟件開(kāi)發(fā).164.2 系統(tǒng)硬件開(kāi)發(fā).174.3 測(cè)試分析及設(shè)計(jì)發(fā)展.174.3.1 測(cè)試分析.174.3.2 本設(shè)計(jì)的發(fā)展.18結(jié)結(jié) 語(yǔ)語(yǔ).1919致致 謝謝.2020參考文獻(xiàn)參考文獻(xiàn).2121附附 錄錄.2222成都工業(yè)學(xué)院 通信工程系畢業(yè)設(shè)計(jì)論文1第 1 章 緒論1.1 設(shè)計(jì)開(kāi)發(fā)背景近年來(lái)隨著計(jì)算機(jī)在社會(huì)領(lǐng)域的滲透和大規(guī)模集成電路的發(fā)展,單片機(jī)的應(yīng)用正在不斷地走向深入,由于它具有功能強(qiáng),體積小,功耗低,價(jià)格便宜,工作可靠,使用方便等特點(diǎn),因此特別適合于與控制有關(guān)的系統(tǒng),越來(lái)越廣泛地應(yīng)用于自動(dòng)控制,智能化儀器,儀表,數(shù)據(jù)采集,軍工產(chǎn)品以及家用電器等各個(gè)領(lǐng)域,單片機(jī)往往是作
5、為一個(gè)核心部件來(lái)使用,再根據(jù)具體硬件結(jié)構(gòu),以及針對(duì)具體應(yīng)用對(duì)象的特點(diǎn)與軟件結(jié)合,以作完善。單片機(jī)應(yīng)用的重要意義還在于,它從根本上改變了傳統(tǒng)的控制系統(tǒng)設(shè)計(jì)思想和設(shè)計(jì)方法。從前必須由模擬電路或數(shù)字電路實(shí)現(xiàn)的大部分功能,現(xiàn)在已能用單片機(jī)通過(guò)軟件方法來(lái)實(shí)現(xiàn)了。這種軟件代替硬件的控制技術(shù)也稱(chēng)為微控制技術(shù),是傳統(tǒng)控制技術(shù)的一次革命。單片機(jī)模塊中最常見(jiàn)的是電子萬(wàn)年歷,電子萬(wàn)年歷是一種用數(shù)字電路技術(shù)實(shí)現(xiàn)時(shí)、分、秒計(jì)時(shí)的裝置,與機(jī)械式時(shí)鐘相比具有更高的準(zhǔn)確性和直觀性,且無(wú)機(jī)械裝置,具有更長(zhǎng)的使用壽命,因此得到了廣泛的使用。電子萬(wàn)年歷是采用數(shù)字電路實(shí)現(xiàn)對(duì)時(shí)、分、秒數(shù)字顯示的計(jì)時(shí)裝置,廣泛用于個(gè)人家庭、車(chē)站、 碼頭
6、辦公室等公共場(chǎng)所,成為人們?nèi)粘I钪胁豢缮俚谋匦杵?由于數(shù)字集成電路的發(fā)展和石英晶體振蕩器的廣泛應(yīng)用,使得電子萬(wàn)年歷的精度,遠(yuǎn)遠(yuǎn)超過(guò)老式的計(jì)時(shí)方法, 電子萬(wàn)年歷的數(shù)字化給人們生產(chǎn)生活帶來(lái)了極大的方便,而且大大地?cái)U(kuò)展了原先的報(bào)時(shí)功能。因此,研究電子萬(wàn)年歷及擴(kuò)大其應(yīng)用,有著非?,F(xiàn)實(shí)的意義。1.2 國(guó)內(nèi)外研究現(xiàn)狀近年來(lái),隨著科學(xué)技術(shù)的迅速發(fā)展,無(wú)論在國(guó)內(nèi)還是國(guó)外,電子萬(wàn)年歷的設(shè)計(jì)方案已經(jīng)越發(fā)成熟,穩(wěn)定性及實(shí)用性有很大的提高,電子萬(wàn)年歷也發(fā)展成為由原來(lái)的只能實(shí)現(xiàn)基本功能到現(xiàn)在市面上集娛樂(lè)性于一身的常見(jiàn)電子產(chǎn)品。現(xiàn)在的電子萬(wàn)年歷產(chǎn)品基本都采用了集成度極高的專(zhuān)用芯片,這大大地降低了產(chǎn)品的設(shè)計(jì)難度,同時(shí)也縮
7、短了產(chǎn)品的生產(chǎn)周期。正是基于電子萬(wàn)年歷很好的開(kāi)放性和可發(fā)揮性,多種多樣的電子萬(wàn)年歷被設(shè)計(jì)出來(lái)。目前市場(chǎng)上有普通萬(wàn)年歷,溫度萬(wàn)年歷,計(jì)算器萬(wàn)年歷,天氣預(yù)報(bào)萬(wàn)年歷,多功能萬(wàn)年歷,世界時(shí)萬(wàn)年歷,掌心萬(wàn)年歷等等。然而,現(xiàn)代的數(shù)碼產(chǎn)品市場(chǎng)更新?lián)Q代的周期越來(lái)越短,所以在設(shè)計(jì)萬(wàn)年歷產(chǎn)品的時(shí)候在完成一些基本功能的情況下,在控制好生產(chǎn)成本的前提下,往產(chǎn)品內(nèi)加入更多的娛樂(lè)功能已經(jīng)成為一種趨勢(shì),這也會(huì)成為制約萬(wàn)年歷產(chǎn)品的受歡迎程度的一個(gè)重要因素。1.3 設(shè)計(jì)需要解決的主要問(wèn)題本設(shè)計(jì)的主要問(wèn)題是公歷轉(zhuǎn)農(nóng)歷的算法問(wèn)題和時(shí)間可調(diào)問(wèn)題,這兩個(gè)問(wèn)題是否能夠成功解決關(guān)系到本次設(shè)計(jì)的成敗。公歷與農(nóng)歷是我國(guó)目前并存的兩種歷法,各有
8、其固有的規(guī)律。農(nóng)歷與月球的運(yùn)行相對(duì)應(yīng)其影響因素多,它的大小月和閏月與天體運(yùn)行有關(guān)計(jì)算十分復(fù)雜,成都工業(yè)學(xué)院 通信工程系畢業(yè)設(shè)計(jì)論文2且每年都不一致。因此要用單片機(jī)實(shí)現(xiàn)公歷與農(nóng)歷的轉(zhuǎn)換用查表法是最方便實(shí)用的辦法。按日查表是速度最快的方法,但單片機(jī)尋址能力有限,不可能采用按日查表的方法。除按日查外,我們可以通過(guò)按年查表的方法,再通過(guò)適當(dāng)?shù)挠?jì)算,來(lái)確定公歷日所對(duì)應(yīng)的農(nóng)歷日期。時(shí)間可調(diào)可以說(shuō)本研究關(guān)鍵的一步。由于系統(tǒng)要在供電狀態(tài)才工作,若斷電一段時(shí)間后再通電,時(shí)間不能實(shí)時(shí)顯示。所以通過(guò)按鍵來(lái)調(diào)時(shí),可達(dá)到實(shí)時(shí)顯示時(shí)間數(shù)據(jù)的功能。1.4 本文主要工作通過(guò)查詢多方面的信息,設(shè)計(jì)一款讀取方便、顯示直觀,功能多
9、樣、電路簡(jiǎn)潔、成本低廉的電子萬(wàn)年歷。 本設(shè)計(jì)要求的電子萬(wàn)年歷不僅能顯示時(shí)間、星期、公歷日期信息,還能顯示農(nóng)歷信息(因?yàn)樵谖覀儑?guó)家,很多節(jié)日都是定在農(nóng)歷的,如年初一、七夕、八月十五等)以及實(shí)現(xiàn)實(shí)時(shí)溫度顯示等功能。在這個(gè)萬(wàn)年歷設(shè)計(jì)系統(tǒng)中,還具有時(shí)間可調(diào)功能,比如我們想知道某一年的某一天的農(nóng)歷時(shí)間,我們可以調(diào)到相應(yīng)的公歷日,則農(nóng)歷就會(huì)根據(jù)公歷日期被系統(tǒng)自動(dòng)轉(zhuǎn)換過(guò)來(lái),再顯示相應(yīng)的農(nóng)歷信息。1.5 本文的組織結(jié)構(gòu)本設(shè)計(jì)先對(duì)系統(tǒng)所需要的主要芯片進(jìn)行選擇和論證,確定了選用AT89S52單片機(jī)作為系統(tǒng)的主要控制芯片,時(shí)鐘芯片DS1302提供時(shí)鐘,數(shù)字式溫度傳感器實(shí)現(xiàn)實(shí)時(shí)溫度顯示,而顯示部分采用的是LED數(shù)碼管
10、動(dòng)態(tài)顯示。接著重點(diǎn)對(duì)相應(yīng)主要模塊的硬件進(jìn)行詳細(xì)的講解,比如AT89S52、DS1302、DS18B20 和顯示部分 7SEG-MPX8-CA 等芯片的引腳功能和工作原理,有利于對(duì)各模塊的理解。然后簡(jiǎn)要地介紹了系統(tǒng)的調(diào)試工具,并進(jìn)行相應(yīng)的測(cè)試分析。在最后給出電路原理圖,以及主程序和部分子程序。成都工業(yè)學(xué)院 通信工程系畢業(yè)設(shè)計(jì)論文3第 2 章 方案選擇與論證2.1 單片機(jī)芯片的選擇與論證 方案一: 采用 89C51 芯片作為硬件核心,采用 Flash ROM,內(nèi)部具有 4KB ROM 存儲(chǔ)空間,能于 3V 的超低壓工作,而且與 MCS-51 系列單片機(jī)完全兼容,但是運(yùn)用于電路設(shè)計(jì)中時(shí)由于不具備 I
11、SP 在線編程技術(shù), 當(dāng)在對(duì)電路進(jìn)行調(diào)試時(shí),由于程序的錯(cuò)誤修改或?qū)Τ绦虻男略龉δ苄枰獰氤绦驎r(shí),對(duì)芯片的多次拔插會(huì)對(duì)芯片造成一定的損壞。 方案二:采用 AT89S52,片內(nèi) ROM 全都采用 Flash ROM;能以 3V 的超底壓工作;同時(shí)也與 MCS-51 系列單片機(jī)完全該芯片內(nèi)部存儲(chǔ)器為 8KB ROM 存儲(chǔ)空間,同樣具有 89C51 的功能,且具有在線編程可擦除技術(shù),當(dāng)在對(duì)電路進(jìn)行調(diào)試時(shí),由于程序的錯(cuò)誤修改或?qū)Τ绦虻男略龉δ苄枰獰氤绦驎r(shí),不需要對(duì)芯片多次拔插,所以不會(huì)對(duì)芯片造成損壞。 所以選擇采用 AT89S52 作為主控制系統(tǒng)。2.2 顯示模塊選擇方案和論證 方案一: 采用 LED
12、 液晶顯示屏,液晶顯示屏的顯示功能強(qiáng)大,可顯示大量文字,圖形,顯示多樣,清晰可見(jiàn),但是價(jià)格昂貴,需要的接口線多,所以在此設(shè)計(jì)中不采用LED 液晶顯示屏. 方案二: 采用點(diǎn)陣式數(shù)碼管顯示,點(diǎn)陣式數(shù)碼管是由八行八列的發(fā)光二極管組成,對(duì)于顯示文字比較適合,如采用在顯示數(shù)字顯得太浪費(fèi),且價(jià)格也相對(duì)較高,所以也不用此種作為顯示. 方案三: 采用 LED 數(shù)碼管動(dòng)態(tài)掃描,LED 數(shù)碼管價(jià)格適中,對(duì)于顯示數(shù)字最合適,而且采用動(dòng)態(tài)掃描法與單片機(jī)連接時(shí),占用的單片機(jī)口線少。 所以采用了 LED 數(shù)碼管作為顯示。2.3 時(shí)鐘芯片的選擇方案和論證 方案一: 直接采用單片機(jī)定時(shí)計(jì)數(shù)器提供秒信號(hào),使用程序?qū)崿F(xiàn)年、月、日
13、、星期、時(shí)、分、秒計(jì)數(shù)。采用此種方案雖然減少芯片的使用,節(jié)約成本,但是,實(shí)現(xiàn)的時(shí)間誤差較大。所以不采用此方案。 方案二: 采用 DS1302 時(shí)鐘芯片實(shí)現(xiàn)時(shí)鐘,DS1302 芯片是一種高性能的時(shí)鐘芯片,可自動(dòng)對(duì)秒、分、時(shí)、日、周、月、年以及閏年補(bǔ)償?shù)哪赀M(jìn)行計(jì)數(shù),而且精度高,位的 RAM 做為數(shù)據(jù)暫存區(qū),工作電壓 2.5V5.5V 范圍內(nèi),2.5V 時(shí)耗電小于300nA。 所以采用 DS1302 作為時(shí)鐘芯片。成都工業(yè)學(xué)院 通信工程系畢業(yè)設(shè)計(jì)論文42.4 溫度傳感器的選擇方案與論證 方案一: 使用熱敏電阻作為傳感器,用熱敏電阻與一個(gè)相應(yīng)阻值電阻相串聯(lián)分壓,利用熱敏電阻阻值隨溫度變化而變化的特性,
14、采集這兩個(gè)電阻變化的分壓值,并進(jìn)行 A/D 轉(zhuǎn)換。 。此設(shè)計(jì)方案需用 A/D 轉(zhuǎn)換電路,增加硬件成本而且熱敏電阻的感溫特性曲線并不是嚴(yán)格線性的,會(huì)產(chǎn)生較大的測(cè)量誤差。 方案二: 采用數(shù)字式溫度傳感器 DS18B20,此類(lèi)傳感器為數(shù)字式傳感器而且僅需要一條數(shù)據(jù)線進(jìn)行數(shù)據(jù)傳輸,易于與單片機(jī)連接,可以去除 A/D 模塊,降低硬件成本,簡(jiǎn)化系統(tǒng)電路。另外,數(shù)字式溫度傳感器還具有測(cè)量精度高、測(cè)量范圍廣等優(yōu)點(diǎn)。 所以采用 DS18B20 作為本次設(shè)計(jì)的溫度傳感器。2.5 電路設(shè)計(jì)最終方案決定 綜上各方案所述,對(duì)此次設(shè)計(jì)的方案選定: 采用 AT89S52 作為主控制系統(tǒng); DS1302 提供時(shí)鐘;DS18B
15、20 數(shù)字式溫度傳感器;LED 數(shù)碼管動(dòng)態(tài)顯示作為顯示模塊。成都工業(yè)學(xué)院 通信工程系畢業(yè)設(shè)計(jì)論文5第 3 章 系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)3.1 電路設(shè)計(jì)框圖本系統(tǒng)以集成芯片為主,以匯編語(yǔ)言為開(kāi)發(fā)語(yǔ)言,通過(guò)對(duì)硬件進(jìn)行軟件編程實(shí)現(xiàn)所需要的功能。系統(tǒng)的模塊圖如圖 31 所示,以下的內(nèi)容就是根據(jù)模塊逐步實(shí)現(xiàn)的。圖 3-1 系統(tǒng)模塊圖模塊說(shuō)明: DS1302 時(shí)鐘模塊可以輸出其當(dāng)前日期及時(shí)間;鍵盤(pán)輸入電路可以調(diào)整日期,時(shí)間及整體的轉(zhuǎn)換;DS18B20 溫度模塊可以測(cè)量當(dāng)前室內(nèi)的溫度;顯示電路則顯示當(dāng)前的系統(tǒng)運(yùn)行情況。3.2 主要電路模塊的設(shè)計(jì)3.2.1 單片機(jī)主控制模板1、AT89S52 的簡(jiǎn)介AT89S52 是
16、一種低功耗,高性能的 CMOS 8 位微處理器,內(nèi)部有 8K 字節(jié)的閃速 PEROM ,該芯片采用 ATMEL 公司高密度、非揮發(fā)性存儲(chǔ)器工藝制成且與工業(yè)標(biāo)準(zhǔn)的 MCS-51 系列的引腳及指令兼容,F(xiàn)LASH 系列存儲(chǔ)器為快速擦寫(xiě)存貯器。相對(duì)于 MCS-51 系列芯片而言,其特點(diǎn)如下 :1、可擦寫(xiě) 1000 次2、全靜態(tài)操作:0Hz.24MHz3、32 根可編程 I/O 口線4、內(nèi)部 RAM 為 256 字節(jié)5、三個(gè) 16 位的定時(shí)/計(jì)數(shù)器6、8 個(gè)中斷源AT89S52 有 40 個(gè)引腳,32 個(gè)外部雙向輸入/輸出(I/O)端口,同時(shí)內(nèi)含 2個(gè)外中斷口,3 個(gè) 16 位可編程定時(shí)計(jì)數(shù)器,2 個(gè)
17、全雙工串行通信口,2 個(gè)讀寫(xiě)口線,AT89S52 可以按照常規(guī)方法進(jìn)行編程,也可以在線編程。其將通用的微處理器和 Flash 存儲(chǔ)器結(jié)合在一起,特別是可反復(fù)擦寫(xiě)的 Flash 存儲(chǔ)器可有效地降低開(kāi)發(fā)成本。AT89S52 芯片圖如圖 3-2 所示。AT89S52主控制模 塊DS1302 時(shí)鐘模塊LED 數(shù)碼管動(dòng)態(tài)掃描顯示模塊溫度采集模塊鍵盤(pán)模塊成都工業(yè)學(xué)院 通信工程系畢業(yè)設(shè)計(jì)論文6圖 3-2 AT89S52 芯片圖2、AT89S52 芯片的管腳、引線與功能(1) 輸入輸出(I/O)引腳介紹:P0 口(32 腳39 腳):是雙向 8 位三態(tài) I/O 口,在外接存儲(chǔ)器時(shí),與地址總線的低 8 位及數(shù)據(jù)
18、總線復(fù)用,能以吸收電流的方式驅(qū)動(dòng) 8 個(gè) TTL 負(fù)載。P1 口(1 腳8 腳):是 8 位準(zhǔn)雙向 I/O 口。由于這種借口輸出沒(méi)有高阻狀態(tài),輸入也不能鎖存,故不是真正的雙向 I/O 口。P1 口能驅(qū)動(dòng)(吸收或輸出電流)4 個(gè) TTL 負(fù)載。P2 口(21 腳28 腳):是 8 位準(zhǔn)雙向 I/O 口。訪問(wèn)外部存儲(chǔ)器時(shí),它可以作為高 8 位地址總線送出高 8 位地址。P2 可以驅(qū)動(dòng)(吸收或輸出電流)4 個(gè)TTL 負(fù)載。P3 口(10 腳17 腳):是 8 位準(zhǔn)雙向 I/O 口,P3 口能驅(qū)動(dòng)(吸收或輸出電流)4 個(gè) TTL 負(fù)載。P3 口除了作為一般的準(zhǔn)雙向通用 I/O 口使用外,每個(gè)引腳還有第
19、二功能。P3 口的 8 條線都定義有第二功能,如表 31 所列。表 31 P3 口的第二功能表引腳第二功能P3.0RXD(串行口輸入端)P3.1TXD(串行口輸出端)P3.2INT0(外部中斷 0 請(qǐng)求輸入端,低電平有效)P3.3INT1(外部中斷 0 請(qǐng)求輸入端,低電平有效)P3.4T0(定時(shí)器/計(jì)數(shù)器 0 的技數(shù)脈沖輸入端)P3.5T1(定時(shí)器/計(jì)數(shù)器 0 的技數(shù)脈沖輸入端)P3.6WR(片外數(shù)據(jù)存儲(chǔ)器寫(xiě)選通信號(hào)輸出端,低電平有效)成都工業(yè)學(xué)院 通信工程系畢業(yè)設(shè)計(jì)論文7P3.7RD(片外數(shù)據(jù)存儲(chǔ)器寫(xiě)選通信號(hào)輸出端,低電平有效)3、AT89S52 的總線結(jié)構(gòu)AT89S52 的管腳除了電源、復(fù)
20、位、時(shí)鐘接入、用戶 I/O 口部分 P3外,其余管腳都是為實(shí)現(xiàn)系統(tǒng)擴(kuò)展而設(shè)置的。這些管腳構(gòu)成了三總線形式,即:(1)地址總線(AB):地址總線寬度為 16 位,因此,其外部存儲(chǔ)器直接地址外圍為 64K 字節(jié)。16 位地址總線由 P0經(jīng)地址鎖存器提供低 8 位地址(A0A7) ;P2口直接提供高 8 位地址(A8A15) 。(2)數(shù)據(jù)總線(DB):數(shù)據(jù)總線寬度為 8 位,由 P0口提供。(3)控制總線 (CB):由部分 P3口的第二功能狀態(tài)和 4 根獨(dú)立控制線RESET、EA、ALE、PSE 組成。AT89S52 結(jié)構(gòu)框圖如圖 3-3 所示。圖 3-3 AT89S52 結(jié)構(gòu)框圖3.2.2 時(shí)鐘模
21、塊電路的設(shè)計(jì)1、DS1302 簡(jiǎn)介DS1302 是 DALLAS 公司推出的涓流充電時(shí)鐘芯片內(nèi)含有一個(gè)實(shí)時(shí)時(shí)鐘/日歷和 31 字節(jié)靜態(tài) RAM。通過(guò)簡(jiǎn)單的串行接口與單片機(jī)進(jìn)行通信,實(shí)時(shí)時(shí)鐘/日歷電路提供秒分時(shí)日月年的信息,每月的天數(shù)和閏年的天數(shù)可自動(dòng)調(diào)整。時(shí)鐘操作可通過(guò) AM/PM 指示決定采用 24 或 12 小時(shí)格式。DS1302 與單片機(jī)之間能簡(jiǎn)單地采用同步串行的方式進(jìn)行通信,僅需用到三個(gè)口線。1.RES 復(fù)位,2.I/O 數(shù)據(jù)線,3.SCLK 串行時(shí)鐘。時(shí)鐘/RAM 的讀/寫(xiě)數(shù)據(jù)以一個(gè)字節(jié)或多達(dá) 31 個(gè)字節(jié)的字符組方式通信。DS1302 工作時(shí)功耗很低,保持?jǐn)?shù)據(jù)和時(shí)鐘信息時(shí)功率小于1
22、mW。具有如下性能:(1)實(shí)時(shí)時(shí)鐘具有能計(jì)算 2100 年之前的秒,分,時(shí),日,星期,月,年的能力,還有閏年調(diào)整的能力。(2)31*8 位暫存數(shù)據(jù)存儲(chǔ) RAM(3)串行 I/O 口方式使得管腳數(shù)量最少(4)寬范圍工作電壓:2.0V5.5V(5)工作電流:2.0V 時(shí),小于 300nA(6)讀/寫(xiě)時(shí)鐘或 RAM 時(shí),有兩種傳送方式:?jiǎn)巫止?jié)傳送和多字節(jié)傳送.(7)8 腳 DIP 封裝或可選的 8 腳 SOIC 封裝(8)簡(jiǎn)單的 3 線串行 I/O 接口(9)與 TTL/COMS 兼容(VCC=5V 時(shí))(10)可選工業(yè)級(jí)溫度范圍:-40oC+85oC成都工業(yè)學(xué)院 通信工程系畢業(yè)設(shè)計(jì)論文82、DS1
23、302 結(jié)構(gòu)與工作原理(1)DS1302 引腳功能如表 3-2 所示。表 3-2 DS1302 引腳功能引腳號(hào)引腳名稱(chēng)功能1Vcc2主電源引腳2,3X1,X2振蕩源,外接 32.768KHz 晶振4RST接地5GND復(fù)位/片選端6I/O串行數(shù)據(jù)輸入/輸出端(雙向)7SCLK串行時(shí)鐘輸入端8Vcc1備用電源(2)時(shí)鐘芯片 DS1302 的工作原理:DS1302 在每次進(jìn)行讀、寫(xiě)程序前都必須初始化,先把 SCLK 端置 “0” ,接著把 RST 端置“1” ,最后才給予 SCLK 脈沖;DS1302 的控制字節(jié),此控制字的位 7 必須置 1,若為 0 則不能把對(duì) DS1302 進(jìn)行讀寫(xiě)數(shù)據(jù)。對(duì)于位
24、 6,若對(duì)程序進(jìn)行讀/寫(xiě)時(shí) RAM=1,對(duì)時(shí)間進(jìn)行讀/寫(xiě)時(shí),CK=0。位 1 至位 5 指操作單元的地址。位 0 是讀/寫(xiě)操作位,進(jìn)行讀操作時(shí),該位為 1;該位為 0 則表示進(jìn)行的是寫(xiě)操作??刂谱止?jié)總是從最低位開(kāi)始輸入/輸出的。 “CH”是時(shí)鐘暫停標(biāo)志位,當(dāng)該位為 1 時(shí),時(shí)鐘振蕩器停止,DS1302 處于低功耗狀態(tài);當(dāng)該位為 0 時(shí),時(shí)鐘開(kāi)始運(yùn)行。 “WP”是寫(xiě)保護(hù)位,在任何的對(duì)時(shí)鐘和 RAM 的寫(xiě)操作之前,WP 必須為 0。當(dāng)“WP”為 1 時(shí),寫(xiě)保護(hù)位防止對(duì)任一寄存器的寫(xiě)操作。(3)DS1302 的控制字節(jié)DS1302 的控制字如表 3-3 所示。控制字節(jié)的最高有效位(位 7)必須是邏輯
25、 1,如果它為 0,則不能把數(shù)據(jù)寫(xiě)入到 DS1302 中;位 6 如果為 0,則表示存取日歷時(shí)鐘數(shù)據(jù),為 1 表示存取 RAM 數(shù)據(jù);位 5 至位 1 指示操作單元的地址;最低有效位(位 0)為 0 表示要進(jìn)行寫(xiě)操作,為 1 表示進(jìn)行讀操作,控制字節(jié)總是從最低位開(kāi)始輸出。表 3-3 控制字節(jié)命令的格式表D7 D6 D5 D4 D3 D2 D1 D01RAM/CKA4A3A2A1A0RD/ W(4) 數(shù)據(jù)輸入輸出(I/O)在控制指令字輸入后的下一個(gè) SCLK 時(shí)鐘的上升沿時(shí),數(shù)據(jù)被寫(xiě)入DS1302,數(shù)據(jù)輸入從低位即位 0 開(kāi)始。同樣,在緊跟 8 位的控制指令字后的下一個(gè) SCLK 脈沖的下降沿讀
26、出 DS1302 的數(shù)據(jù),讀出數(shù)據(jù)時(shí)從低位 0 位到高位7。如圖 3-4。成都工業(yè)學(xué)院 通信工程系畢業(yè)設(shè)計(jì)論文9圖 3-4 DS1302 讀/寫(xiě)時(shí)序圖(5) DS1302 的寄存器DS1302 有 12 個(gè)寄存器,其中有 7 個(gè)寄存器與日歷、時(shí)鐘相關(guān),存放的數(shù)據(jù)位為 BCD 碼形式,其日歷、時(shí)間寄存器及其控制字見(jiàn)表 3-4。表 3-4 DS1302 的日歷、時(shí)間寄存器此外,DS1302 還有年份寄存器、控制寄存器、充電寄存器、時(shí)鐘突發(fā)寄存器及與 RAM 相關(guān)的寄存器等。時(shí)鐘突發(fā)寄存器可一次性順序讀寫(xiě)除充電寄存器外的所有寄存器內(nèi)容。 DS1302 與 RAM 相關(guān)的寄存器分為兩類(lèi):一類(lèi)是單個(gè) R
27、AM單元,共 31 個(gè),每個(gè)單元組態(tài)為一個(gè) 8 位的字節(jié),其命令控制字為C0HFDH,其中奇數(shù)為讀操作,偶數(shù)為寫(xiě)操作;另一類(lèi)為突發(fā)方式下的 RAM 寄存器,此方式下可一次性讀寫(xiě)所有的 RAM 的 31 個(gè)字節(jié),命令控制字為 FEH(寫(xiě))、FFH(讀)。3.2.3 公歷與農(nóng)歷轉(zhuǎn)換模塊1、概述公歷是全世界通用的歷法,以地球繞太陽(yáng)的一周為一年。一年 365 天分為12 個(gè)月,1、3、5、7、8、10、12 月為 31 天,2 月為 28 天,其余月份為 30天。事實(shí)上地球繞太陽(yáng)一周共 365 天 5 小時(shí) 48 分 46 秒,比公歷一年多出 5 小時(shí) 48 分 46 秒,為使年誤差不累積公歷年用閏年
28、法來(lái)消除年誤差。由于每年多出 5 小時(shí) 48 分 46 秒,每 4 年累計(jì)多出 23 小時(shí) 15 分 4 秒,接近 1 天。天文學(xué)家就規(guī)定每 4 年有一個(gè)閏年把 2 月由 28 天改為 29 天,凡是公歷年代能被 4 整除的那一年就是閏年。但是這樣一來(lái)每 4 年又少了 44 分 56 秒為了更準(zhǔn)確地計(jì)時(shí)天文學(xué)家又規(guī)定凡能被 100 整除的年份只有能被 400 整除才是閏年,即每 400 年要減掉 3 個(gè)閏年,經(jīng)過(guò)這樣處理后實(shí)際上每 400 年的誤差只有 2 小時(shí) 53 分 20 秒,已相當(dāng)準(zhǔn)確了。 成都工業(yè)學(xué)院 通信工程系畢業(yè)設(shè)計(jì)論文10農(nóng)歷與公歷不同,農(nóng)歷把月亮繞地球一周作為一月。因?yàn)樵铝晾@
29、地球一周不是一整天,所以農(nóng)歷把月分為大月和小月。大月 30 天,小月 29 天。通過(guò)設(shè)置大小月使農(nóng)歷日始終與月亮與地球的位置相對(duì)應(yīng)。為了使農(nóng)歷的年份與公歷年相對(duì)應(yīng),農(nóng)歷通過(guò)設(shè)置閏月的辦法使它的平均年長(zhǎng)度與公歷年相等。農(nóng)歷是中國(guó)傳統(tǒng)文化的代表之一,并與農(nóng)業(yè)生產(chǎn)聯(lián)系密切,中國(guó)人民特別是廣大農(nóng)民十分熟悉并喜愛(ài)農(nóng)歷。公歷與農(nóng)歷是我國(guó)目前并存的兩種歷法,各有其固有的規(guī)律。農(nóng)歷與月球的運(yùn)行相對(duì)應(yīng)其影響因素多,它的大小月和閏月與天體運(yùn)行有關(guān)計(jì)算十分復(fù)雜,且每年都不一致。因此要用單片機(jī)實(shí)現(xiàn)公歷與農(nóng)歷的轉(zhuǎn)換用查表法是最方便實(shí)用的辦法。51 系列單片機(jī)因其在功能上能滿足大部份對(duì)速度要求不高的應(yīng)用場(chǎng)合的要求且價(jià)格低
30、廉開(kāi)發(fā)工具普及程度高,是目前應(yīng)用最多的單片機(jī)之一。本文介紹一種用 51 單片機(jī)實(shí)現(xiàn)從 1901 年到 2099 年 199 年公歷日到農(nóng)歷日及星期的轉(zhuǎn)換方法。2、基本原理實(shí)現(xiàn)公歷與農(nóng)歷的轉(zhuǎn)換,一般采用查表法,按日查表是速度最快的方法,但單片機(jī)尋址能力有限,不可能采用按日查表的方法。除按日查外,我們可以通過(guò)按年查表的方法,再通過(guò)適當(dāng)?shù)挠?jì)算,來(lái)確定公歷日所對(duì)應(yīng)的農(nóng)歷日期,最大限度地減少表格所占的空間。對(duì)于農(nóng)歷來(lái)說(shuō),大月為 30 天,小月為 29 天,這是固定不變的,這樣我們就可用 1 個(gè) BIT(1 位)表示大小月信息。農(nóng)歷一年,如有閏月為 13 個(gè)月,否則是 12 個(gè)月,所以一年需要用 13 個(gè)
31、 BIT,閏月在農(nóng)歷中所在的月份并不固定,大部分閏月在農(nóng)歷 2-8 月,但也有少量年份在 9 月以后。所以要表示閏月的信息,至少要 4BIT,在這里我們用 4BIT 的值來(lái)表示閏月的月份。值為 0 表示本年沒(méi)有閏月。有了以上信息,還不足以判斷公歷日對(duì)應(yīng)的農(nóng)歷日,因?yàn)檫€需要個(gè)參照日,我們選用農(nóng)歷正月初一所對(duì)應(yīng)的公歷日期作參照日,公歷日最大為31 日,需要 5 BIT 來(lái)表示,而春節(jié)所在的月份不是 1 月就是 2 月,用 1 BIT 就夠了,考慮到表達(dá)方便,我們用 2 BIT 的值直接表示月份。這樣一年的農(nóng)歷信息只用 3 個(gè)字節(jié)就全部包括了。每年對(duì)應(yīng)的 3 字節(jié)數(shù)據(jù)格式說(shuō)明如下: 第一字節(jié) BIT
32、74 位表示閏月月份,值為 0 為無(wú)閏月,BIT30 對(duì)應(yīng)農(nóng)歷 第 14 月的大小。 第二字節(jié) BIT7-0 對(duì)應(yīng)農(nóng)歷第 512 月大小。 第三字節(jié) BIT7-7 表示農(nóng)歷第 13 個(gè)月大小,BIT6-5 表示春節(jié)的公歷月份,BIT40 表示春節(jié)的公歷日期。 月份對(duì)應(yīng)的位為 1 表示本農(nóng)歷月大(30 天),為 0 表示小(29 天)計(jì)算公歷對(duì)應(yīng)的農(nóng)歷日期的方法:先計(jì)算出公歷日離當(dāng)年元旦的天數(shù),然后查表取得當(dāng)年的春節(jié)日期,計(jì)算出春節(jié)離元旦的天數(shù),二者相減即可算出公歷日離春節(jié)的天數(shù),以后只要根據(jù)大小月和閏月信息,減月天數(shù),調(diào)整農(nóng)歷月份,即可推算出公歷日對(duì)應(yīng)的農(nóng)歷日期。如果公歷日不到春節(jié)日期,農(nóng)歷年
33、要比公歷年小一年,農(nóng)歷大小取前一年的信息。農(nóng)歷月從 12 月向前推算。公歷日是非常有規(guī)律的,所以公歷日所對(duì)應(yīng)的星期天可以通過(guò)計(jì)算直接得到,理論上公元 0 年 1 月 1 日為星期日,只要求得公歷日離公元 0 年 1 月 1 日的天數(shù),除 7 后的余數(shù)就是星期天,為了簡(jiǎn)化計(jì)算,采用月校正法,根據(jù)公歷的年月日可直接計(jì)算出星期天。其算法是:日期+年份+所過(guò)閏年數(shù)+月較正數(shù)之和除 7 的余數(shù)就是星期天,但如果是在閏年又不到 3 月份,上述之和要減一天成都工業(yè)學(xué)院 通信工程系畢業(yè)設(shè)計(jì)論文11再除 7。其 1-12 月的校正數(shù)為:6,2,2,5,0,3,5,1,4,6,2,4。年份和閏年數(shù)只計(jì)算 1900
34、 年以后的年份和閏年數(shù),實(shí)際校正數(shù)為:0,3,3,6,1,4,6,2,5,0,3,5。舉例說(shuō)明:用查表法得出公歷 2008 年 3 月 9 日對(duì)應(yīng)的農(nóng)歷及星期信息。1) 查表得 2008 年的數(shù)據(jù)為0 x09,0 x2d,0 x47(0000,1001;0010,1100;0100,0111) 。該數(shù)據(jù)表示該年無(wú)閏月,農(nóng)歷月的 2,3,5,6,8,11,12 月為小月 29 天,1,4,7,9,10 月為大月 30 天。該年春節(jié)在公歷 2 月 7 日。2) 計(jì)算公歷日(2008 年 3 月 9 日)離當(dāng)年元旦的天數(shù):30+29+968。3) 計(jì)算春節(jié)離元旦的天數(shù):30+737。4) 算出公歷日
35、(2008 年 3 月 9 日)離春節(jié)的天數(shù):683731。5) 調(diào)整農(nóng)歷月份:因?yàn)?31301,所以相對(duì)應(yīng)的農(nóng)歷月份是 2 月,農(nóng)歷日是1+12。6) 計(jì)算星期(日期+年份+所過(guò)閏年數(shù)+月較正數(shù)之和除 7 再求余數(shù)):9+(20081900)+(20081900)/4+370綜上所述,公歷日 2008 年 3 月 9 日對(duì)應(yīng)的是農(nóng)歷 2008 年 2 月 2 日星期天。3、程序流程圖成都工業(yè)學(xué)院 通信工程系畢業(yè)設(shè)計(jì)論文12圖 3-5 公農(nóng)歷轉(zhuǎn)換程序流程圖3.2.4 DS18B20 溫度模塊1、概述美國(guó) DALLAS 公司生產(chǎn)的單線數(shù)字溫度傳感器 DS18B20,可把溫度信號(hào)直接轉(zhuǎn)換成串行數(shù)字
36、信號(hào)供微機(jī)處理。由于每片 DS18B20 含有唯一的硅串行數(shù),所成都工業(yè)學(xué)院 通信工程系畢業(yè)設(shè)計(jì)論文13以在一條總線上可掛接任意多個(gè) DS18B20 芯片。從 DS18B20 讀出的信息或?qū)懭隓S18B20 的信息,僅需要一根口線(單線接口) 。讀寫(xiě)及溫度變換功率來(lái)源于數(shù)據(jù)總線,總線本身也可以向所掛接的 DS18B20 供電,而無(wú)需額外電源。DS18B20可提供 912 位溫度讀數(shù),構(gòu)成多點(diǎn)溫度檢測(cè)系統(tǒng)而無(wú)需任何外圍硬件。因此,DS18B20 具有如下性能優(yōu)點(diǎn):?jiǎn)尉€接口:僅需一根口線與 MCU 連接進(jìn)行通信。多個(gè) DS18B20 可以并聯(lián)在惟一的 3 線上,實(shí)現(xiàn)多點(diǎn)組網(wǎng)功能。無(wú)需外圍元件可通過(guò)
37、數(shù)據(jù)線供電,電壓范圍為 3.05.5V。零待機(jī)功耗測(cè)溫范圍:-55 125 。固有測(cè)溫分辨率為 0.5 。通過(guò)編程可實(shí)現(xiàn) 912 位的數(shù)字讀數(shù)方式用戶可自設(shè)定非易失性的報(bào)警上下限值支持多點(diǎn)組網(wǎng)功能,多個(gè) DS18B20 可以并聯(lián)在惟一的三線上,實(shí)現(xiàn)多點(diǎn) 測(cè)溫。報(bào)警搜索命令可識(shí)別哪片 DS1820 超溫度限負(fù)壓特性,電源極性接反時(shí),溫度計(jì)不會(huì)因發(fā)熱而燒毀,但不能正常工作。2、DS18B20 的內(nèi)部結(jié)構(gòu)圖 3-6 是 DS18B20 的內(nèi)部結(jié)構(gòu)圖。 I/OC VDD圖 3-6 DS18B20 內(nèi)部結(jié)構(gòu)(1) 64 位 ROM 結(jié)構(gòu)分為 8 位檢驗(yàn) CRC、48 位序列號(hào)、8 位工廠代碼(10H)。
38、開(kāi)始 8 位是產(chǎn)品類(lèi)型的編號(hào),接著是每個(gè)器件的惟一的序號(hào),共有 48 位,最后8 位是前 56 位的 CRC 校驗(yàn)碼,這也是多個(gè) DS18B20 可以采用一線進(jìn)行通信的原因。 (2) 高速暫存存儲(chǔ)器DS18B20 溫度傳感器的內(nèi)部存儲(chǔ)器包括一個(gè)高速暫存 RAM 和一個(gè)非易失性的可電擦除的 E2PROM。高速 RAM 包含 9 字節(jié)存儲(chǔ)器,前兩個(gè)字節(jié)包含測(cè)得的溫度信息。第 3 和第 4 字節(jié)是 TH 和 TL 的拷貝,是易失的,每次上電復(fù)位時(shí)被刷新。第 5 個(gè)字節(jié)是配置寄存器,它的內(nèi)容用于確定溫度值的數(shù)字轉(zhuǎn)換分辨率,DS18B20 工作時(shí)按此寄存器中的分辨率將溫度轉(zhuǎn)換為相應(yīng)精度的數(shù)值。低 5 位
39、一直都是 1,TM 是測(cè)試模式位,用于設(shè)置 DS18B20 在工作模式還是在測(cè)試模式。64 位 ROM和單線接口存儲(chǔ)器與控制邏輯高速緩存溫度傳感器低溫觸發(fā)器高溫觸發(fā)器8 位 CRC 發(fā)生器成都工業(yè)學(xué)院 通信工程系畢業(yè)設(shè)計(jì)論文14高速暫存 RAM 第 68 字節(jié)未用,表現(xiàn)為全邏輯 1;第 9 字節(jié)讀出的是前面所有8 個(gè)字節(jié)的 CRC 碼,可用來(lái)保證通信正確。 3、DS18B20 的測(cè)溫原理DS18B20 的測(cè)溫原理如圖 3-7,圖中低溫度系數(shù)晶振的振蕩頻率受溫度的影響很小,用于產(chǎn)生固定頻率的脈沖信號(hào)送給減法計(jì)數(shù)器 1,高溫度系數(shù)晶振隨溫度變化其震蕩頻率明顯改變,所產(chǎn)生的信號(hào)作為減法計(jì)數(shù)器 2 的
40、脈沖輸入,圖中還隱含著計(jì)數(shù)門(mén),當(dāng)計(jì)數(shù)門(mén)打開(kāi)時(shí),DS18B20 就對(duì)低溫度系數(shù)振蕩器產(chǎn)生的時(shí)鐘脈沖后進(jìn)行計(jì)數(shù),進(jìn)而完成溫度測(cè)量。計(jì)數(shù)門(mén)的開(kāi)啟時(shí)間由高溫度系數(shù)振蕩器來(lái)決定,每次測(cè)量前,先將-55所對(duì)應(yīng)的基數(shù)分別置入減法計(jì)數(shù)器 1 和溫度寄存器中,減法計(jì)數(shù)器 1 和溫度寄存器被預(yù)置在-55所對(duì)應(yīng)的一個(gè)基數(shù)值。 停止圖 3-7 DS18B20 測(cè)溫原理減法計(jì)數(shù)器 1 對(duì)低溫度系數(shù)晶振產(chǎn)生的脈沖信號(hào)進(jìn)行減法計(jì)數(shù),當(dāng)減法計(jì)數(shù)器 1 的預(yù)置值減到 0 時(shí)溫度寄存器的值將加 1,減法計(jì)數(shù)器 1 的預(yù)置將重新被裝入,減法計(jì)數(shù)器 1 重新開(kāi)始對(duì)低溫度系數(shù)晶振產(chǎn)生的脈沖信號(hào)進(jìn)行計(jì)數(shù),如此循環(huán)直到減法計(jì)數(shù)器 2 計(jì)數(shù)
41、到 0 時(shí),停止溫度寄存器值的累加,此時(shí)溫度寄存器中的數(shù)值即為所測(cè)溫度。圖 3-7 中的斜率累加器用于補(bǔ)償和修正測(cè)溫過(guò)程中的非線性,其輸出用于修正減法計(jì)數(shù)器的預(yù)置值,只要計(jì)數(shù)門(mén)仍未關(guān)閉就重復(fù)上述過(guò)程,直至溫度寄存器值達(dá)到被測(cè)溫度值。另外,由于 DS18B20 單線通信功能是分時(shí)完成的,它有嚴(yán)格的時(shí)隙概念,因此讀寫(xiě)時(shí)序很重要。系統(tǒng)對(duì)DS18B20 的各種操作必須按協(xié)議進(jìn)行。操作協(xié)議為:初始化 DS18B20(發(fā)復(fù)位脈沖)發(fā) ROM 功能命令發(fā)存儲(chǔ)器操作命令處理數(shù)據(jù)。4、DS18B20 與單片機(jī)的接口設(shè)計(jì)DS18B20 可以采用兩種方式供電,一種是采用電源供電方式,此時(shí) DS18B20的 1 腳接
42、地,2 腳作為信號(hào)線,3 腳接電源;另一種是寄生電源供電方式,單片機(jī)端口接單線總線,為保證在有效的 DS18B20 時(shí)鐘周期內(nèi)提供足夠的電流,可用一個(gè) MOSFET 管來(lái)完成對(duì)總線的上拉。當(dāng) DS18B20 處于寫(xiě)存儲(chǔ)器操作和溫度 A/D 變換操作時(shí),總線上必須有強(qiáng)的上拉,上拉開(kāi)啟時(shí)間最大為 10s。采用寄生電源供電方式是 VDD 和 GND 端均接地。由于單線制只有一根線,因此發(fā)送接收口必須是三態(tài)的。本設(shè)計(jì)采用電源供電方式,設(shè)計(jì)電路如圖 3-8 所示。斜率累加器計(jì)數(shù)比較器預(yù)置減法計(jì)數(shù)器 1低溫系數(shù)振蕩器預(yù)置減到 0溫度寄存器高溫度系數(shù)振蕩器減法計(jì)數(shù)器2減到 0成都工業(yè)學(xué)院 通信工程系畢業(yè)設(shè)計(jì)
43、論文15圖 3-8 DS18B20 溫度采集引腳連接3.2.5 時(shí)間可調(diào)模塊1、鍵盤(pán)掃描原理如圖 3-9 所示,鍵盤(pán)是由多個(gè)按鍵組成。首先將與按鍵相接的單片機(jī)接口都置高電平,當(dāng)沒(méi)有按鍵按下時(shí),單片機(jī)和地線之間是不相連的,若第 N 個(gè)鍵被按下,則接這個(gè)鍵的單片機(jī)接口為低電平,通過(guò)查詢接到按鍵的單片機(jī)接口,就知道是第 N 個(gè)按鍵被按下,從而進(jìn)行相應(yīng)程序處理。圖 3-9 按鍵電路設(shè)計(jì)按鍵說(shuō)明: “設(shè)置”:選擇要改變的量,依次為年、月、日、星期、時(shí)、分、秒。 “加”:按一次數(shù)值加一,依次遞增。 “減”:按一次數(shù)值減一,依次遞減。2、按鍵的軟件設(shè)計(jì)思路首先判斷是否有鍵按下,如果有則延時(shí)一段時(shí)間,再判斷是
44、否有鍵按下,其目的是為了消除電路抖動(dòng)和消除干擾信號(hào)。一般按鍵的時(shí)間至少有十幾毫秒,而干擾信號(hào)的時(shí)間都很短,只要兩次判斷都有按鍵按下,才被確認(rèn)為真有鍵按下。當(dāng)確認(rèn)有按鍵按下后,進(jìn)行相應(yīng)的程序處理。3.2.6 顯示模塊的設(shè)計(jì)本設(shè)計(jì)的顯示模塊采用動(dòng)態(tài)掃描顯示,3-8 譯碼器 74LS138 接非門(mén),然后再接到共陽(yáng)數(shù)碼管的 COM 端作為選通位碼信號(hào),每位選擇相應(yīng)的列。74ls47 接共陽(yáng)的 LED 數(shù)碼管的斷碼。顯示連接部分如圖 3-10 所示。圖 3-10 顯示連接部分1、7SEG-MPX8-CA 數(shù)碼管7SEG-MPX8-CA 是共陽(yáng)極數(shù)碼管顯示器,它左下側(cè)的 abcdefg dp 是 LED
45、數(shù)碼管顯示器的 I/O 口,是段選信號(hào),右下側(cè)的 12345678 是它的位選信號(hào),就是從左成都工業(yè)學(xué)院 通信工程系畢業(yè)設(shè)計(jì)論文16到右分別是第一位到第八位,段選信號(hào)與位選信號(hào)分別接到單片機(jī)的不同輸出口。本設(shè)計(jì)段選信號(hào)接到 P1 口,位選信號(hào)接到 P2 口。圖 3-10 是其引腳圖。圖 3-11 7SEG-MPX8-CA2、74LS47 芯片74LS47 是 BCD-7 段數(shù)碼管譯碼器/驅(qū)動(dòng)器,74LS47 的功能用于將 BCD 碼轉(zhuǎn)化成數(shù)碼塊中的數(shù)字,通過(guò)它解碼,可以直接把數(shù)字轉(zhuǎn)換為數(shù)碼管的顯示數(shù)字,從而簡(jiǎn)化了程序,節(jié)約了單片機(jī)的 IO。圖 3-11 為其引腳圖圖 3-12 74LS47 引
46、腳其中,A 到 D 引腳分別接單片機(jī) IO 口,BI/RBO、RBI、LT 接高電平,QA 到QG 依次接數(shù)碼管的段選端。3、74LS138 芯片4LS138 為 3 線8 線譯碼器,其工作原理:當(dāng)一個(gè)選通端(G1)為高電平,另兩個(gè)選通端(/(G2A)和/(G2B))為低電平時(shí),可將地址端(A、B、C)的二進(jìn)制編碼在一個(gè)對(duì)應(yīng)的輸出端以低電平譯出。 利用 G1、/(G2A)和/(G2B)可級(jí)聯(lián)擴(kuò)展成 24 線譯碼器;若外接一個(gè)反相器還可級(jí)聯(lián)擴(kuò)展成 32 線譯碼器。若將選通端中的一個(gè)作為數(shù)據(jù)輸入端時(shí),74LS138 還可作數(shù)據(jù)分配器。其引腳圖如下圖。圖 3-13 74LS138 引腳成都工業(yè)學(xué)院
47、通信工程系畢業(yè)設(shè)計(jì)論文17第 4 章 系統(tǒng)調(diào)試與分析4.1 系統(tǒng)軟件開(kāi)發(fā)一、KEIL 開(kāi)發(fā)工具KEIL S52 標(biāo)準(zhǔn) C 編譯器為 81 微控制器的軟件開(kāi)發(fā)提供了匯編和 C 語(yǔ)言環(huán)境,同時(shí)保留了匯編代碼高效,快速的特點(diǎn)。S52 編譯器的功能不斷增強(qiáng),使你可以更加貼近 CPU 本身,及其它的衍生產(chǎn)品。S52 已被完全集成到 uVision3 的集成開(kāi)發(fā)環(huán)境中,這個(gè)集成開(kāi)發(fā)環(huán)境包含:編譯器,匯編器,實(shí)時(shí)操作系統(tǒng),項(xiàng)目管理器,調(diào)試器。uVision3 IDE 可為它們提供單一而靈活的開(kāi)發(fā)環(huán)境.它可以支持所有 S52 的衍生產(chǎn)品,也可以支持所有兼容的仿真器,同時(shí)支持其它第三方開(kāi)發(fā)工具。因此,S52 V
48、7 版本無(wú)疑是 AT89S52 開(kāi)發(fā)用戶的最佳選擇。二、uVision3 集成開(kāi)發(fā)環(huán)境 1、項(xiàng)目管理工程(project)是由源文件、開(kāi)發(fā)工具選項(xiàng)以及編程說(shuō)明三部分組成的。 一個(gè)單一的 uVision3 工程能夠產(chǎn)生一個(gè)或多個(gè)目標(biāo)程序。產(chǎn)生目標(biāo)程序的源文件構(gòu)成“組” 。開(kāi)發(fā)工具選項(xiàng)可以對(duì)應(yīng)目標(biāo),組或單個(gè)文件。 uVision3 包含一個(gè)器件數(shù)據(jù)庫(kù)(device database),可以自動(dòng)設(shè)置匯編器、編譯器、連接定位器及調(diào)試器選項(xiàng),來(lái)滿足用戶充分利用特定 微控制器的要求,uVision3 可以為片外存儲(chǔ)器產(chǎn)生必要的連接選項(xiàng):確定起始地址和規(guī)模。圖 4-1 uVision3 工作界面2、集成功能
49、uVision3 的強(qiáng)大功能有助于用戶按期完工,具有以下功能:(1)、集成源極瀏覽器利用符號(hào)數(shù)據(jù)庫(kù)使用戶可以快速瀏覽源文件。用詳細(xì)的符號(hào)信息來(lái)優(yōu)化用戶變數(shù)存儲(chǔ)器。(2)、文件尋找功能:在特定文件中執(zhí)行全局文件搜索。(3)、工具菜單:允許在 V3 集成開(kāi)發(fā)環(huán)境下啟動(dòng)用戶功能。(4)、可配置 SVCS 接口:提供對(duì)版本控制系統(tǒng)的入口。成都工業(yè)學(xué)院 通信工程系畢業(yè)設(shè)計(jì)論文18(5)、PCLINT 接口:對(duì)應(yīng)用程序代碼進(jìn)行深層語(yǔ)法分析。(6)、Infineon 的 DAVE 功能:協(xié)助用戶的 CPU 和外部程序。DAVE 工程可被直接輸入 uVision3。4.2 系統(tǒng)硬件開(kāi)發(fā)Proteus ISIS
50、 是英國(guó) Labcenter 公司開(kāi)發(fā)的電路分析與實(shí)物仿真軟件。它運(yùn)行于 Windows 操作系統(tǒng)上,可以仿真、分析(SPICE)各種模擬器件和集成電路,該軟件的特點(diǎn)是:實(shí)現(xiàn)了單片機(jī)仿真和 SPICE 電路仿真相結(jié)合。具有模擬電路仿真、數(shù)字電路仿真、單片機(jī)及其外圍電路組成的系統(tǒng)的仿真、RS232 動(dòng)態(tài)仿真、I2C 調(diào)試器、SPI 調(diào)試器、鍵盤(pán)和 LCD 系統(tǒng)仿真的功能;有各種虛擬儀器,如示波器、邏輯分析儀、信號(hào)發(fā)生器等。支持主流單片機(jī)系統(tǒng)的仿真。目前支持的單片機(jī)類(lèi)型有:68000 系列、8051 系列、AVR 系列、PIC12 系列、PIC16系列、PIC18 系列、Z80 系列、HC11 系
51、列以及各種外圍芯片。提供軟件調(diào)試功能。在硬件仿真系統(tǒng)中具有全速、單步、設(shè)置斷點(diǎn)等調(diào)試功能,同時(shí)可以觀察各個(gè)變量、寄存器等的當(dāng)前狀態(tài),因此在該軟件仿真系統(tǒng)中,也必須具有這些功能;同時(shí)支持第三方的軟件編譯和調(diào)試環(huán)境,如 Keil C51 uVision3 等軟件。具有強(qiáng)大的原理圖繪制功能??傊撥浖且豢罴瘑纹瑱C(jī)和 SPICE 分析于一身的仿真軟件,功能極其強(qiáng)大。圖 4-2 是 Proteus ISIS 軟件的工作界面。圖 4-2 Proteus ISIS 工作界面4.3 測(cè)試分析及設(shè)計(jì)發(fā)展4.3.1 測(cè)試分析電子成年歷是多功能的數(shù)字型,可以看當(dāng)前日期(陰、陽(yáng)歷),時(shí)間,還有溫度的儀器。電子成年
52、歷功能很多,所以對(duì)于它的程序也較為復(fù)雜,所以在編寫(xiě)程序和調(diào)試時(shí)出現(xiàn)了相對(duì)較多的問(wèn)題。最后經(jīng)過(guò)多次的模塊子程序的修改,一步一步的完成,最終解決了軟件。在軟件的調(diào)試過(guò)程中主要遇到的問(wèn)題如下:1燒入程序后,LED 數(shù)碼管顯示閃動(dòng),而且亮度不均勻。解決:首先對(duì)調(diào)用的延時(shí)進(jìn)行逐漸修改,可以解決顯示閃動(dòng)問(wèn)題。其次,由成都工業(yè)學(xué)院 通信工程系畢業(yè)設(shè)計(jì)論文19于本作品使作動(dòng)態(tài)掃描方式顯示的數(shù)字,動(dòng)態(tài)掃描很快,人的肉眼是無(wú)法看出,但是調(diào)用的顯示程序時(shí),如果不在反回時(shí)屏蔽掉最后的附值,則會(huì)出現(xiàn)很亮的現(xiàn)象,所以在顯示的后面加了屏蔽子令,最后解決了此問(wèn)題。2修改時(shí)間、日期時(shí)沒(méi)有農(nóng)歷沒(méi)有自動(dòng)對(duì)應(yīng)上。解決:把不相關(guān)的程序
53、暫時(shí)屏蔽,對(duì)農(nóng)歷的子程序獨(dú)立調(diào)試,發(fā)現(xiàn)在調(diào)用農(nóng)歷自動(dòng)更新時(shí),對(duì)十進(jìn)制和十六進(jìn)制處理不好,所以會(huì)造成錯(cuò)亂。最后把相應(yīng)的十進(jìn)制進(jìn)行修改,使得可以與十六進(jìn)制對(duì)應(yīng),最后解決了此問(wèn)題。4.3.2 本設(shè)計(jì)的發(fā)展首先,是解決軟件上的設(shè)計(jì)問(wèn)題,通過(guò)編程實(shí)現(xiàn)鬧鈴可以實(shí)現(xiàn)語(yǔ)音整點(diǎn)報(bào)時(shí)以及實(shí)時(shí)顯示溫度可精確到一個(gè)小數(shù)位。其次,用貼片芯片代替直插元件,降低系統(tǒng)的設(shè)計(jì)成本。最后,實(shí)現(xiàn)以下三種創(chuàng)新功能:具有上、下課響鈴功能具有防御報(bào)警功能具有娛樂(lè)功能成都工業(yè)學(xué)院 通信工程系畢業(yè)設(shè)計(jì)論文20結(jié) 語(yǔ)本設(shè)計(jì)以 ATMEL 公司的 AT89S52 為主控芯片,配合專(zhuān)用的時(shí)鐘芯片及軟件能穩(wěn)定地顯示當(dāng)前時(shí)間,室內(nèi)溫度及完成公農(nóng)歷轉(zhuǎn)換
54、。本設(shè)計(jì)的方案選擇與當(dāng)前主流的設(shè)計(jì)思想吻合,所用到的模塊具有很高的實(shí)用性。由于硬件設(shè)備問(wèn)題,所以設(shè)計(jì)的硬件以單片機(jī)專(zhuān)用仿真軟件 Protues ISIS 6.9 SP4 為開(kāi)發(fā)平臺(tái),軟件以 keil51 為開(kāi)發(fā)平臺(tái),這為系統(tǒng)的軟硬件調(diào)試提供了很大方便。與市面上的大多數(shù)萬(wàn)年歷以分立元件為主不同,本設(shè)計(jì)大多使用集成芯片。集成芯片的穩(wěn)定性,可靠性及資源利用率都遠(yuǎn)優(yōu)于分立元件。這對(duì)系統(tǒng)的長(zhǎng)時(shí)間穩(wěn)定工作有決定性的作用。相對(duì)于市面上的萬(wàn)年歷只能簡(jiǎn)單顯示公立日期,本設(shè)計(jì)通過(guò)按鍵轉(zhuǎn)換可以查詢當(dāng)前的農(nóng)歷日期。另外,為了充分利用 89S52 及提高系統(tǒng)的實(shí)用性,使用了 Dallas 公司的溫度傳感器 DS18B2
55、0,使系統(tǒng)在完成基本功能的同時(shí)能顯示當(dāng)前溫度。當(dāng)然,任何事情都有雙面性,系統(tǒng)采用了大規(guī)模集成模塊在提高穩(wěn)定性的時(shí)候,也大大地增加了系統(tǒng)的設(shè)計(jì)成本。這對(duì)于生產(chǎn)應(yīng)用是致命的。另外,硬件仿真的時(shí)候采用大多采用了直插封裝,這對(duì)于系統(tǒng)的模型設(shè)計(jì)有很大的不利,在生產(chǎn)應(yīng)用中,現(xiàn)在的直插元件用得越來(lái)越少,取而代之的是貼片芯片。在軟件的設(shè)計(jì)方面,由于實(shí)力問(wèn)題,有些問(wèn)題還是得不到根本的解決,比如說(shuō)在顯示模塊上和按鍵切換上就有一定的缺陷。溫度只能實(shí)時(shí)的顯示當(dāng)前的整數(shù)溫度,不能精確到小數(shù)位,顯示的溫度數(shù)據(jù)誤差較大。相信在以后的工作中會(huì)不斷提高的軟硬件問(wèn)題的能力。通過(guò)這次的鍛煉,我不僅動(dòng)手能力得到了加強(qiáng),更重要的是學(xué)到
56、了很多新的專(zhuān)業(yè)技能知識(shí),經(jīng)驗(yàn)也更加豐富了。我覺(jué)得我還有很多不足的地方,如:基本知識(shí)掌握不牢固、動(dòng)手能力不強(qiáng)、知識(shí)面不夠?qū)?。我?zhēng)取在以后的學(xué)習(xí)當(dāng)中彌補(bǔ)它,不斷的完善自己。雖然期間我們遇到了不少的難題,但是經(jīng)過(guò)自己的努力和他人的幫助,最終還是克服了很多意想不到的困難。 成都工業(yè)學(xué)院 通信工程系畢業(yè)設(shè)計(jì)論文21致 謝 論文經(jīng)過(guò)三個(gè)月后終于完成,在做論文期間,問(wèn)題一個(gè)接著一個(gè),但在宿舍同學(xué)的幫助下,問(wèn)題最后也能迎刃而解。在此對(duì)他們的幫助表示最誠(chéng)摯的感謝。本論文是在我的導(dǎo)師王飛老師的悉心指導(dǎo)下完成的。在此,特別要向本人的指導(dǎo)教師王飛老師致以誠(chéng)摯的謝意。他嚴(yán)謹(jǐn)?shù)闹螌W(xué)精神,精益求精的工作作風(fēng),讓我學(xué)到了許多
57、。從課題的選擇到論文的最終完成,王老師都始終給予我細(xì)心的指導(dǎo)。在論文的修訂上,亦給予了我許多寶貴的修改意見(jiàn),使我在此期間獲益良多,順利的完成了畢業(yè)論文工作。成都工業(yè)學(xué)院 通信工程系畢業(yè)設(shè)計(jì)論文22參考文獻(xiàn)1 王質(zhì)樸,呂運(yùn)鵬. MCS-51 單片機(jī)原理接口與應(yīng)用.北京理工大學(xué)出版社,2009.2 譚浩強(qiáng). C 程序設(shè)計(jì)(第三版).北京:清華大學(xué)出版社,2007.3 魯廣英. 基于單片機(jī)電子萬(wàn)年歷的設(shè)計(jì)與實(shí)現(xiàn).4 應(yīng)錕. 中國(guó)科技博覽.2011 年第 15 期.5 周民標(biāo). 電子世界.2002 年第 6 期.6 沈紅衛(wèi). 基于單片機(jī)的智能系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn),北京:電子工業(yè)出版社.7 李全利. 遲榮強(qiáng)等
58、.單片機(jī)原理及接口技術(shù). 北京:高等教育出版社,2004.18 萬(wàn)福君,潘松峰. 單片微機(jī)原理系統(tǒng)設(shè)計(jì)與應(yīng)用.北京:中國(guó)科學(xué)技術(shù)大學(xué)出版社,2005成都工業(yè)學(xué)院 通信工程系畢業(yè)設(shè)計(jì)論文23附 錄附錄一:系統(tǒng)電路圖成都工業(yè)學(xué)院 通信工程系畢業(yè)設(shè)計(jì)論文24附錄二:系統(tǒng)程序清單CONFIG12 EQU 7FH TEMPH EQU 21H TEMPL EQU 20H REG2 EQU 22H REG3 EQU 23H REG4 EQU 24H DAT EQU P0.7 SCLK EQU P3.4 IO EQU P3.3 RST EQU P3.2 year DATA 66H month DATA 65H
59、 week DATA 64H day DATA 63H hour DATA 62H minute DATA 61H second DATA 60HDS1302_ADDR DATA 32HDS1302_DATA DATA 31H bb bit p3.7 XSOUT BIT P3.6 ORG 0000H LJMP START ORG 001BH LJMP INTT1START: ;初值 LCALL ZJ SETB EA MOV TMOD,#10H ;計(jì)數(shù)器 1,方式 1 MOV TL1,#00H MOV TH1,#00H MOV 32H,#8EH MOV 31H,#00H ;允許寫(xiě) 1302 LC
60、ALL WRITE MOV 32H,#90H MOV 31H,#0A6H ;1302 充電,充電電流 1.1MA LCALL WRITE ;主程序MAIN1: MOV 32H,#8DH ;讀出年 LCALL READ MOV year,31H MOV 32H,#8BH;讀出星期 LCALL READ MOV week,31H MOV 32H,#89H ;讀出月 LCALL READ MOV month,31H MOV 32H,#87H ;讀出日 LCALL READ MOV day,31H MOV 32H,#85H;讀出小時(shí) LCALL READ MOV hour,31H MOV 32H,#8
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 陳老師說(shuō)教育數(shù)學(xué)試卷
- 番茄主要病蟲(chóng)害的危害及針對(duì)性綠色防控對(duì)策實(shí)施
- 貴州地區(qū)的油茶種植現(xiàn)狀及高產(chǎn)栽培技術(shù)的高效實(shí)施方案探討
- 2025年冷墩鋼項(xiàng)目發(fā)展計(jì)劃
- 中外文明交流史知到課后答案智慧樹(shù)章節(jié)測(cè)試答案2025年春牡丹江師范學(xué)院
- 2025年有機(jī)磷系阻燃劑合作協(xié)議書(shū)
- 2017-2018學(xué)年高中生物必修2課時(shí)訓(xùn)練第2章第1節(jié)第1課時(shí)減數(shù)分裂B
- 2025年金屬非切削、成形加工機(jī)械合作協(xié)議書(shū)
- 填浜工程施工方案
- 物理選修3-5教科版全套講義第三章原子核3-2
- 鍋爐安裝改造維修質(zhì)量保證體系文件(手冊(cè)+程序文件+表格+工藝文件匯編)-符合TSG 07-2019特種設(shè)備質(zhì)量保證管理體系
- 學(xué)習(xí)課程方案、課程標(biāo)準(zhǔn)心得體會(huì)
- 成人鼻腸管的留置與維護(hù)(2021團(tuán)體標(biāo)準(zhǔn)解讀)-20221004172843
- SN-T 5370-2022 進(jìn)出口危險(xiǎn)貨物檢驗(yàn)規(guī)程 鋰電池移動(dòng)電源
- 機(jī)械制造質(zhì)量手冊(cè)(一)
- 2024-2030年中國(guó)互聯(lián)網(wǎng)+印刷行業(yè)深度分析及發(fā)展戰(zhàn)略研究咨詢報(bào)告
- 水庫(kù)綠化景觀設(shè)計(jì)項(xiàng)目招標(biāo)文件模板
- 偉大的《紅樓夢(mèng)》智慧樹(shù)知到期末考試答案章節(jié)答案2024年北京大學(xué)
- 小學(xué)校園欺凌行為調(diào)查問(wèn)卷(學(xué)生卷)
- 2024年中儲(chǔ)糧集團(tuán)招聘筆試參考題庫(kù)附帶答案詳解
- 新生兒常見(jiàn)問(wèn)題與處理
評(píng)論
0/150
提交評(píng)論