【《基于單片機(jī)的電子萬(wàn)年歷設(shè)計(jì)與實(shí)現(xiàn)》12000字(論文)】_第1頁(yè)
【《基于單片機(jī)的電子萬(wàn)年歷設(shè)計(jì)與實(shí)現(xiàn)》12000字(論文)】_第2頁(yè)
【《基于單片機(jī)的電子萬(wàn)年歷設(shè)計(jì)與實(shí)現(xiàn)》12000字(論文)】_第3頁(yè)
【《基于單片機(jī)的電子萬(wàn)年歷設(shè)計(jì)與實(shí)現(xiàn)》12000字(論文)】_第4頁(yè)
【《基于單片機(jī)的電子萬(wàn)年歷設(shè)計(jì)與實(shí)現(xiàn)》12000字(論文)】_第5頁(yè)
已閱讀5頁(yè),還剩30頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

付費(fèi)下載

下載本文檔

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

文檔簡(jiǎn)介

基于單片機(jī)的電子萬(wàn)年歷設(shè)計(jì)與實(shí)現(xiàn)【摘要】在當(dāng)代飛速發(fā)展的工作與生活中,時(shí)間的重要性與每個(gè)人都有非常密切的關(guān)系,每個(gè)人都受到時(shí)間的影響。我們必須對(duì)時(shí)間有一個(gè)度量,因此產(chǎn)生了萬(wàn)年歷。萬(wàn)年歷的發(fā)展是非常迅速的,從剛開始的機(jī)械式萬(wàn)年歷到現(xiàn)在普遍用到的數(shù)字式可調(diào)萬(wàn)年歷,即使現(xiàn)在萬(wàn)年歷千奇百怪,但是它們都只是完成一種功能就是計(jì)時(shí)。在人們的使用過(guò)程中,發(fā)現(xiàn)了萬(wàn)年歷的功能太單一,沒有更大程度上達(dá)到人們的需求。因此在這里人們把一些輔助功能加入萬(wàn)年歷的設(shè)計(jì)中去。在本文中所設(shè)計(jì)的萬(wàn)年歷具有自動(dòng)走時(shí)功能、按鍵調(diào)節(jié)功能、溫度實(shí)時(shí)監(jiān)測(cè)功能等。本設(shè)計(jì)應(yīng)用STC89C52芯片作為核心,采用C語(yǔ)言進(jìn)行編程,實(shí)現(xiàn)以下功能:小時(shí)、分、秒、年、月、日的顯示和實(shí)時(shí)溫度檢測(cè)。該設(shè)計(jì)的電子萬(wàn)年歷由DS1302時(shí)鐘電路、LCD1602顯示電路、KEY按鍵調(diào)整電路和DS18B20溫度檢測(cè)電路四部分組成。本系統(tǒng)共設(shè)計(jì)四個(gè)按鍵,其中包括:一個(gè)模式鍵,用來(lái)選定被修改的數(shù)字,兩個(gè)調(diào)整鍵(一個(gè)“加”鍵和一個(gè)“減”鍵,)和一個(gè)確認(rèn)鍵。當(dāng)按下模式鍵,選定要調(diào)整的數(shù)字時(shí),“加”、“減”可以使數(shù)據(jù)調(diào)整到所需要調(diào)整的狀態(tài),最后利用確認(rèn)鍵完成日期時(shí)間的修改。利用溫度傳感器DS18B20測(cè)量周圍環(huán)境溫度以及人體表面溫度。最終使用LCD1602芯片完成日期時(shí)間、溫度顯示的功能。本設(shè)計(jì)中日期顯示精度為1秒、溫度顯示精度0.5℃。本設(shè)計(jì)中利用KEIL編程實(shí)現(xiàn)對(duì)接入單片機(jī)為基礎(chǔ)的時(shí)鐘、溫度傳感器、按鍵等電路的地址搜索,并在顯示模塊上實(shí)時(shí)顯示采集到的數(shù)據(jù),并具有數(shù)據(jù)存儲(chǔ)功能。該設(shè)計(jì)安裝比較方便、抗干擾能力強(qiáng)、制作相對(duì)簡(jiǎn)單、成本低、靈敏度高、安全可靠。關(guān)鍵詞:STC89S52;時(shí)鐘日歷芯片DS1302;溫度傳感器DS18B20;顯示器LCD1602目錄TOC\o"1-3"\h\u11092第一章緒論 第一章緒論1.1課題研究的背景、意義和目的本世紀(jì)是數(shù)字化的高速發(fā)展時(shí)代,而C語(yǔ)言單片機(jī)在數(shù)字化時(shí)代扮演著重要的角色。電子萬(wàn)年歷的研究與開發(fā)是信息化時(shí)代的重中之重,且應(yīng)用的場(chǎng)地非常的廣泛,具體應(yīng)用在學(xué)校教室、事業(yè)單位、公司企業(yè)、軍隊(duì)等、運(yùn)動(dòng)場(chǎng)地、公園等場(chǎng)合,可以出現(xiàn)在人們生活的每一個(gè)角落。萬(wàn)年歷最基本的就是有時(shí)間有日期等顯示,方便人們根據(jù)顯示做自己要做的事物。所以說(shuō)電子萬(wàn)年歷的開發(fā)能夠滿足大家對(duì)日常時(shí)間信息的基本需求。由于科技信息技術(shù)的不斷發(fā)展,使得電子萬(wàn)年歷快速并廣泛的應(yīng)用于市場(chǎng)中去。隨著科學(xué)技術(shù)的飛速發(fā)展,人們從觀察太陽(yáng)的走向、鐘擺的幅度頻率到現(xiàn)在電子萬(wàn)年歷,人類不斷探索、不斷研究、不斷創(chuàng)新,才創(chuàng)造出了更為完善的萬(wàn)年歷系統(tǒng)。電子萬(wàn)年歷的發(fā)展是可以同時(shí)顯示年、月、日、時(shí)、分、秒和溫度等信息,為了讀取方便,顯示直觀、功能多樣、電路簡(jiǎn)潔,從而融入了多種先進(jìn)的電子技術(shù)打造的現(xiàn)代數(shù)字計(jì)時(shí)產(chǎn)品。具有這些優(yōu)點(diǎn)的萬(wàn)年歷具有廣闊的市場(chǎng)前景,非常符合現(xiàn)實(shí)意義,它的出現(xiàn)帶來(lái)了鐘表計(jì)時(shí)業(yè)界跨越性的進(jìn)步。本文采用STC89C52作為本設(shè)計(jì)的核心CPU,也是因?yàn)镾TC89C52功率消耗小而且能在低電壓的環(huán)境中工作(可選用3V至5V的電壓供電)。本設(shè)計(jì)通過(guò)對(duì)51系列單片機(jī)進(jìn)行編程及硬件電路設(shè)計(jì),能進(jìn)一步掌握單片機(jī)的組成,使按鍵對(duì)P0至P3口的應(yīng)用,蜂鳴器模塊的應(yīng)用,溫度模塊的應(yīng)用,定時(shí)中斷器的編寫及應(yīng)用,對(duì)之前學(xué)習(xí)的單片機(jī)課程進(jìn)行應(yīng)用,掌握Protues8仿真軟件以及用keiL4軟件編寫程序的方法。即就是:(1)掌握51單片機(jī)的理論與編程技巧;(2)學(xué)會(huì)軟、硬件的設(shè)計(jì)、調(diào)試與優(yōu)化;(3)學(xué)會(huì)系統(tǒng)框架和程序編寫的思路;(4)掌握使單片機(jī)要實(shí)現(xiàn)的數(shù)據(jù)信息在LCD1602液晶顯示模塊上動(dòng)態(tài)顯示;1.2國(guó)內(nèi)外研究現(xiàn)狀與發(fā)展電子萬(wàn)年歷采用獨(dú)立芯片控制各模塊的數(shù)據(jù)運(yùn)行,以LED屏顯示日期、時(shí)間、星期、節(jié)氣以及溫度等日常信息。其內(nèi)部硬件與硬件,硬件與軟件之間的兼容性,表現(xiàn)為L(zhǎng)ED顯示屏是靜態(tài)還是動(dòng)態(tài),顯示時(shí)是否出現(xiàn)抖動(dòng)、斷點(diǎn)等情況。電子萬(wàn)年歷的技術(shù)已經(jīng)進(jìn)入到了人們學(xué)習(xí)、工作和生活的方方面面,它向著微小型、超高效型以及數(shù)字電路微型化方向發(fā)展。(1)通過(guò)對(duì)電子萬(wàn)年歷行業(yè)的市場(chǎng)增長(zhǎng)率、產(chǎn)品品種、競(jìng)爭(zhēng)數(shù)量、需求增長(zhǎng)率、技術(shù)變革、用戶購(gòu)買行為等判別此行業(yè)所處的發(fā)展階段;(2)通過(guò)對(duì)電子萬(wàn)年歷行業(yè)的需求狀況、供應(yīng)狀況以及進(jìn)出口狀況來(lái)判斷行業(yè)的供需平衡,以便掌握市場(chǎng)飽和度;(3)通過(guò)對(duì)電子萬(wàn)年歷行業(yè)購(gòu)買者的討價(jià)還價(jià)能力、供應(yīng)商的討價(jià)還價(jià)能力、替代產(chǎn)品的替代能力、行業(yè)內(nèi)競(jìng)爭(zhēng)能力等,掌握該行業(yè)的利潤(rùn)水平;(4)電子萬(wàn)年歷行業(yè)的競(jìng)爭(zhēng)企業(yè)數(shù)量、從業(yè)人數(shù)、企業(yè)產(chǎn)值、銷售產(chǎn)值、銷售收入、盈利能力、償債能力、運(yùn)營(yíng)能力等。(5)電子萬(wàn)年歷市場(chǎng)競(jìng)爭(zhēng)主體企業(yè)。包括企業(yè)產(chǎn)品狀況、業(yè)務(wù)狀況、財(cái)務(wù)狀況、競(jìng)爭(zhēng)策略、市場(chǎng)份額、競(jìng)爭(zhēng)力等;(6)電子萬(wàn)年歷行業(yè)的市場(chǎng)營(yíng)銷。包括營(yíng)銷理念、營(yíng)銷策略、營(yíng)銷模式、銷售渠道、產(chǎn)品策略等。Proteus仿真基于單片機(jī)AT89C51的電子萬(wàn)年歷XE"[]"XE"[]"\y"[1]"[1]中,作者單純的設(shè)計(jì)了時(shí)間顯示,沒有設(shè)計(jì)溫度、按鍵防抖及斷電保護(hù)的功能,采用的芯片功能也比較落后,采用了按鍵,但是設(shè)置的按鍵較少,功能受限;在基于AT89S51單片機(jī)的萬(wàn)年歷設(shè)計(jì)與實(shí)現(xiàn)[2]中作者沒有設(shè)計(jì)溫度信息、按鍵防抖以及斷電保護(hù)功能,顯示的數(shù)據(jù)比較單一;在DesignofElectronicCalendarBasedonMCU[21]中,作者所使用的主處理器與我們所見的處理器有所不同,同時(shí)缺少溫度顯示、按鍵防抖以及按鍵較少。通過(guò)上述資料的案例對(duì)比以后并了解和搜集相關(guān)資料和文獻(xiàn)發(fā)現(xiàn),在以前的設(shè)計(jì)中所涉及的按鍵大多都沒有溫度顯示、按鍵防抖功能以及斷電保護(hù)功能,然而本設(shè)計(jì)中均解決了這些功能,使顯示更加準(zhǔn)確、安全,不用擔(dān)心斷電數(shù)據(jù)丟失的情況,也增加了按鍵,使功能更加強(qiáng)大,顯示的數(shù)據(jù)信息更加多樣化。以上就是國(guó)內(nèi)外電子萬(wàn)年歷的設(shè)計(jì)研究所應(yīng)用的技術(shù)以及存在的主要問題。本設(shè)計(jì)現(xiàn)在主要的研究方向是:時(shí)鐘實(shí)時(shí)動(dòng)態(tài)顯示、溫度實(shí)時(shí)記錄,使人們更直觀的觀測(cè)到實(shí)時(shí)信息,這也是人們當(dāng)前最主要的需求。1.3論文主要內(nèi)容及結(jié)構(gòu)安排本次課程設(shè)計(jì)的題目為:基于單片機(jī)的電子萬(wàn)年力設(shè)計(jì)與制作,其具體內(nèi)容的要求如下:(1)能夠在電路板上的顯示模塊1602上設(shè)計(jì)出電子萬(wàn)年歷;(2)設(shè)計(jì)通信串口協(xié)議;(3)能夠通過(guò)串口將時(shí)間信息發(fā)送到單片機(jī)上;(4)可以設(shè)置時(shí)鐘的年、月、日、時(shí)、分、秒;(5)可以向顯示模塊實(shí)時(shí)發(fā)布溫度信息;(6)設(shè)計(jì)按鍵的防抖功能;(7)斷電時(shí)能自動(dòng)走時(shí)。整個(gè)系統(tǒng)要設(shè)計(jì)按鍵和顯示器,利用單片機(jī)和時(shí)鐘芯片DS1302進(jìn)行通信獲取時(shí)間,通過(guò)DS18B20溫度傳感器獲取實(shí)時(shí)溫度信息。主要結(jié)構(gòu)安排順序如下:第一章主要敘述了電子萬(wàn)年歷研究背景、目的意義以及國(guó)內(nèi)外的研究現(xiàn)狀;第二章則主要介紹了題目與設(shè)計(jì)要求各模塊的方案選擇,按照各模塊的功能分別進(jìn)行詳細(xì)的分析討論,最終選取本設(shè)計(jì)所需的各個(gè)模塊;第三章主要討論本設(shè)計(jì)的硬件電路設(shè)計(jì)部分各模塊的詳細(xì)介紹以及總體硬件電路框圖設(shè)計(jì);第四章是電子萬(wàn)年歷的軟件設(shè)計(jì)部分,包括keil軟件、proteus軟件的使用,主要是利用C語(yǔ)言進(jìn)行程序的編寫,完成電路的測(cè)量功能。第五章為總結(jié)分析,總結(jié)本課題設(shè)計(jì)的設(shè)計(jì)流程及總體思路,在設(shè)計(jì)過(guò)程中所遇到的問題及解決辦法,以及軟硬件調(diào)試過(guò)程和方法。第二章設(shè)計(jì)方案選擇2.1引言本設(shè)計(jì)由主控制芯片STC89C52、時(shí)鐘模塊DS1302、顯示模塊LCD1602、溫度模塊DS18B20、按鍵模塊、蜂鳴器電路和復(fù)位電路等組成的單片機(jī)萬(wàn)年歷,可同時(shí)顯示年、月、日、時(shí)、分、秒實(shí)時(shí)時(shí)間和實(shí)時(shí)溫度等信息,[5]通過(guò)功能鍵和加1、減1鍵,對(duì)以上信息進(jìn)行設(shè)置。使用STC89C52單片機(jī)來(lái)控制DS1302時(shí)鐘芯片,對(duì)年、月、日、時(shí)、分、秒進(jìn)行計(jì)時(shí),采用DS18B20溫度傳感器檢測(cè)實(shí)時(shí)溫度信息,通過(guò)LCD1602顯示器來(lái)顯示年、月、日、時(shí)、分、秒和實(shí)時(shí)溫度的信息。本系統(tǒng)還涉及到四個(gè)按鍵:選擇控制鍵、加1鍵、減1鍵、確認(rèn)鍵。選擇控制鍵是對(duì)時(shí)間日期進(jìn)行選擇來(lái)起到控制作用(時(shí)、分、秒、年、月、日);減1鍵即就是當(dāng)選擇鍵選擇到對(duì)應(yīng)的參數(shù)(時(shí)、分、秒、年、月、日),按下減1鍵,該數(shù)據(jù)減一,同樣的加1鍵,即對(duì)所控制到的參數(shù)進(jìn)行加一;確認(rèn)鍵是對(duì)所修改的數(shù)據(jù)進(jìn)行確定,使時(shí)間按自己修改的參數(shù)開始正常走時(shí)。2.2設(shè)計(jì)方案的選擇2.2.1主控制系統(tǒng)選擇要求方案一:采用STC89C52系統(tǒng)。STC89C52是一種低功耗、高性能微控制器。具有8位可編程Flash存儲(chǔ)器,支持5V電壓。STC89C52改進(jìn)了許多技術(shù),具有傳統(tǒng)單片機(jī)上不具備的功能。在單芯片上,STC89C52使得大部分嵌入式控制系統(tǒng)具有靈活度高、有效性好。方案二:采用STC98C51處理器。STC89C51電壓為4.5V-5.5V,是EPROM,STC89C51具有4K在系統(tǒng)可編程Flash存儲(chǔ)器,且STC89C51沒有定時(shí)器,所以說(shuō)效果功能比較差。鑒于STC89C52是一種低功耗、高性能的微處理器,成本更低,可以說(shuō)52是51的增強(qiáng)型,因此本設(shè)計(jì)選用方案一。2.2.2溫度傳感器選擇要求要求實(shí)時(shí)采集和記錄使用者的體表溫度,溫度采樣率不低于10次/分鐘,溫度測(cè)量誤差絕對(duì)值不大于0.5℃。方案一:LMT70芯片溫度采集模塊是±0.05℃精密模擬體溫計(jì),帶有輸出使能引腳的超小型、高精度、低功耗互補(bǔ)金屬氧化物半導(dǎo)體(CMOS)模擬溫度傳感器,但價(jià)格昂貴,屬于高精度元器件。方案二:DS18B20溫度采集系統(tǒng),其溫度精度±0.5℃,具有耐磨耐碰、體積小、封裝形式多樣,提供9至12位可編程設(shè)備溫度讀數(shù),延時(shí)時(shí)間為45μs寫操作,讀操作延時(shí)為30μs,價(jià)格便宜,適合本系統(tǒng)使用。根據(jù)本題題目中溫度測(cè)量精度要求,DS18B20溫度傳感器模塊符合題中要求,故選擇方案二。2.2.3時(shí)鐘模塊選擇要求方案一:采用時(shí)鐘芯片DS1302。DS1302芯片具有涓細(xì)電流、充電低功耗的實(shí)時(shí)時(shí)鐘芯片。它可以自動(dòng)計(jì)時(shí)(年、月、日、周、時(shí)、分、秒),是非常常見的,且體積較小、功率損耗小、成本低、應(yīng)用廣泛。方案二:采用時(shí)鐘芯片DS1337。DS1337時(shí)鐘芯片是一種低功耗、且采用二進(jìn)制轉(zhuǎn)十進(jìn)制碼(BCD)的萬(wàn)年歷芯片,它帶有兩個(gè)可編程的定時(shí)鬧鐘和一個(gè)可編程的方波輸出。DS1337能提供年、月、日、時(shí)、分、秒、星期等信息。使用該芯片使得編程復(fù)雜、成本較高、且實(shí)現(xiàn)功能比較困難。經(jīng)過(guò)比對(duì)分析,DS1302時(shí)鐘芯片價(jià)格便宜且常見并應(yīng)用廣泛,可實(shí)現(xiàn)此設(shè)計(jì)的功能要求,故選擇方案一DS1302時(shí)鐘芯片。2.2.4顯示模塊的選擇要求方案一:采用LCD1602顯示屏。LCD1602是一種工業(yè)字符型液晶,能夠同時(shí)顯示16×2個(gè)字符。LCD1602液晶顯示的原理是利用液晶所產(chǎn)生的物理特性,通過(guò)恒定電壓對(duì)其顯示區(qū)域?qū)嵭锌刂?,通電就?huì)有顯示數(shù)據(jù)。LCD1602液晶屏的特點(diǎn)為:數(shù)字式接口、顯示質(zhì)量高、體積小、重量輕、功耗低、成本較低。①數(shù)字式接口:LCD1602類型的液晶屏都是數(shù)字式的,接口簡(jiǎn)易、操作方便;②顯示質(zhì)量高:LCD1602每一幀在接收到信號(hào)后就一直保持某種色彩和亮度,發(fā)光穩(wěn)定、畫質(zhì)高、延時(shí)小且不會(huì)抖動(dòng)閃爍;③體積小、重量輕:LCD1602液晶模塊通過(guò)顯示屏內(nèi)的正負(fù)電極來(lái)控制液晶分子移動(dòng)的狀態(tài)來(lái)達(dá)到顯示目的,在重量上比相同顯示面積的顯示屏要輕很多;④功耗低:LCD1602液晶屏的主要功耗是消耗在其內(nèi)部的正負(fù)電極和驅(qū)動(dòng)IC上,因而耗電量和其它顯示屏比較起來(lái)要少得多。方案二:采用LED數(shù)碼管動(dòng)態(tài)掃描。LED數(shù)碼管價(jià)格適中,對(duì)于顯示數(shù)字也最合適,而且采用動(dòng)態(tài)掃描法與單片機(jī)連接時(shí),占用的單片機(jī)串口較少。但是由于數(shù)碼管動(dòng)態(tài)掃描需要借助74LS164移位寄存器進(jìn)行移位,在電路調(diào)試時(shí)往往會(huì)有很多意外情況,且占用大量電路板面積,所以不太適用于本設(shè)計(jì),制作起來(lái)麻煩??紤]到編程以及本設(shè)計(jì)中對(duì)精度以及方便程度的要求,所以選用方案一LCD1602顯示屏進(jìn)行本系統(tǒng)的數(shù)據(jù)顯示。2.3本章小結(jié)本章主要介紹了各個(gè)模塊的原理分析、性價(jià)比以及應(yīng)用到本設(shè)計(jì)的適合程度來(lái)進(jìn)行模塊選取。通過(guò)上述的硬件模塊的比對(duì)分析后選擇出所要應(yīng)用于本設(shè)計(jì)的模塊,然后進(jìn)行模塊搭建并組合起來(lái),再進(jìn)行整體的焊接工作,搭建、焊接完成后檢查是否有搭建錯(cuò)位、漏焊、虛焊等情況,如若沒有這些情況,即硬件電路設(shè)計(jì)任務(wù)完成,可進(jìn)行下一步工作。第三章系統(tǒng)軟硬件設(shè)計(jì)3.1引言本章主要是對(duì)本設(shè)計(jì)所要用到的各個(gè)模塊的原理介紹,本設(shè)計(jì)所用到的元器件清單如下表3-1模塊名稱型號(hào)數(shù)量(個(gè)/塊)51單片機(jī)STC89C521溫度DS18B201時(shí)鐘DS13021顯示屏LCD16021按鍵矩陣按鍵4電源按鍵1晶振12MHZ1表3-13.2硬件系統(tǒng)總體框圖本設(shè)計(jì)主要由單片機(jī)、鍵盤、數(shù)碼管顯示接口電路、蜂鳴器電路和復(fù)位電路構(gòu)成,設(shè)計(jì)的總體方案如圖3-1所示:圖3-1總體方案3.3硬件電路設(shè)計(jì)3.3.1STC89C52主控制系統(tǒng)STC89C52是具有低功率損耗、性能高、控制功能更全面的微控制器CPU。并具有8位可編程Flash存儲(chǔ)器,支持5V的超低電壓。STC89C52單片機(jī)已改進(jìn)了許多控制性能,使得單片機(jī)具有以前傳統(tǒng)單片機(jī)不具備的功能。STC89C52使得大部分嵌入式控制系統(tǒng)具有靈活度高、有效性好。片上Flash允許程序存儲(chǔ)器在系統(tǒng)可編程。STC89C52具有以下標(biāo)準(zhǔn)功能:8K字節(jié)Flash、256字節(jié)RAM、32位輸入輸出接口、定時(shí)器、2個(gè)數(shù)據(jù)指針、三個(gè)16位定時(shí)計(jì)數(shù)器、一個(gè)6向量2級(jí)中斷結(jié)構(gòu)、全雙工串行接口、晶振及時(shí)鐘電路。[13]STC89C52單片機(jī)的仿真原理圖和引腳實(shí)物圖如圖3-2(a)、圖3-2(b)所示。圖3-2(a)STC89C52仿真原理圖圖3-2(b)STC89C52實(shí)物圖其中主要應(yīng)用到的引腳口介紹:(1)P0口的第一功能是作為最基本的輸入輸出接口功能,第二功能是在單片機(jī)訪問外存儲(chǔ)器時(shí),能分別提供低8位地址和高8位的雙向數(shù)據(jù)。(2)P1口是8位準(zhǔn)雙向I/O口,51子系列中P1只能用作一般I/O口,52子系列中P1.0和P1.1引腳還具有第二功能。(3)P2口是8位準(zhǔn)雙向I/O口,第二功能是在CPU訪問外部存儲(chǔ)器時(shí),作為高8位地址總線,輸出高8位地址。(4)P3口是8位準(zhǔn)雙向I/O口,其第一功能等同于P0口的第一功能,第二功能是中斷信號(hào)和外部數(shù)據(jù)存儲(chǔ)器的讀寫控制信號(hào)。(5)RES,復(fù)位信號(hào)高電平有效。3.3.2溫度DS18B20電路模塊DS18B20是人們常用的溫度傳感器。其特點(diǎn)包括:體積小、成本低、精度高、抗干擾能力強(qiáng)等特點(diǎn),主要根據(jù)應(yīng)用場(chǎng)合的不同進(jìn)行外觀的改變,可用于電纜溝測(cè)溫、鍋爐表面測(cè)溫、室內(nèi)機(jī)房測(cè)溫、農(nóng)產(chǎn)品庫(kù)測(cè)溫等各種有限溫度場(chǎng)合,適用于各種狹小空間的設(shè)備測(cè)溫并以數(shù)字形式顯現(xiàn)。獨(dú)特的接線口,可用數(shù)據(jù)總線供電,電壓范圍3.0V至5.5V無(wú)需備用電源,測(cè)量溫度范圍為-55℃至+125℃。在-10℃至+85℃范圍內(nèi)精度為±0.5℃。DS18B20是數(shù)字型溫度傳感器可以提供9至12位。由于DS18B20溫度傳感器僅有一條通信線口,所以中央微處理器與DS18B20只有一條連接線口。為讀寫以及溫度轉(zhuǎn)換時(shí)的功率消耗其本身將獲得能量,不需要外接電源。因?yàn)橐粋€(gè)DS18B20包含一個(gè)獨(dú)特的序號(hào),多個(gè)DS18B20可以同時(shí)存在于一條總線。這樣就使得溫度傳感器放置在許多不同的地方。DS18B20采用通信線接口一,主要提供以下功能命令之一:讀ROM、ROM匹配、搜索ROM、跳過(guò)ROM、報(bào)警檢查。DS18B20芯片的仿真原理圖和管腳實(shí)物圖如圖3-3(a)、圖3-3(b)所示。圖3-3(a)DS18B20仿真原理圖圖3-3(b)DS18B20實(shí)物圖3.3.3時(shí)鐘DS1302電路模塊DS1302時(shí)鐘模塊具有低功耗、高性能、實(shí)時(shí)的時(shí)鐘電路,它可以對(duì)年、月、日、時(shí)、分、秒進(jìn)行計(jì)時(shí)工作,工作電壓為3V~6V,并且采用三線接口與CPU同步通信。DS1302內(nèi)部有一個(gè)31×8用于臨時(shí)存放數(shù)據(jù)的隨機(jī)存儲(chǔ)寄存器。DS1302與DS1202相比較時(shí),可以看出DS1302增加了主備用雙電源引腳,同時(shí)還提供了對(duì)備用電源進(jìn)行涓細(xì)電流充電的能力。DS1302的引腳排列:VCC1為備用電源,VCC2為主用電源。在主電源關(guān)閉的情況下,也能保持時(shí)鐘的持續(xù)運(yùn)行(掉電走時(shí)功能)。DS1302由VCC1或VCC2兩者中優(yōu)先級(jí)高者供電。當(dāng)VCC2大于VCC1+0.2V時(shí),VCC2給DS1302供電,當(dāng)VCC2小于VCC1+0.2V時(shí),DS1302由VCC1供電。X1和X2是起振源,外接32.768kHz晶振。RST是復(fù)位電路,且輸入有兩種功能:(1)RST接通控制邏輯,允許地址/命令序列送入移位寄存器;(2)RST提供終止單字節(jié)或多字節(jié)數(shù)據(jù)的傳送。當(dāng)RST為高電平時(shí),所有的數(shù)據(jù)傳送先被初始化,然后對(duì)DS1302進(jìn)行數(shù)據(jù)操作。當(dāng)RST置為低電平時(shí),則會(huì)終止此次數(shù)據(jù)傳送,I/O引腳變?yōu)楦咦钁B(tài)。DS1302模塊的仿真電路圖和實(shí)物圖如圖3-4(a)、圖3-4(b)所示。圖3-4(a)DS1302仿真電路圖圖3-4(b)DS1302實(shí)物圖3.3.4顯示屏LCD1602電路模塊LCD1602是一種工業(yè)字符型液晶,能夠同時(shí)顯示16×2即32個(gè)字符(即兩行數(shù)據(jù)顯示),每行可輸入16個(gè)字節(jié)符號(hào)。LCD1602顯示屏的顯示原理是根據(jù)液晶的物理特性,通過(guò)上電后的電流對(duì)顯示區(qū)域進(jìn)行控制,有電就有顯示。1602顯示模塊是一種專門用來(lái)顯示數(shù)字、字母、常見符號(hào)等的點(diǎn)陣式的顯示模塊。它由若干個(gè)5×7或者5×11的點(diǎn)陣字符位構(gòu)成,每字符位之間有一個(gè)點(diǎn)距的距離,每行之間也有一定的距離,起到了字符間距和行間距的作用。LCD1602模塊的仿真電路圖和實(shí)物圖如圖3-5(a)、圖3-5(b)所示。圖3-5(a)LCD1602仿真電路圖圖3-5(b)LCD1602實(shí)物圖3.3.5晶振電路模塊晶振電路是維持單片機(jī)最小系統(tǒng)運(yùn)行的基本電路模塊,它為單片機(jī)提供時(shí)鐘脈沖信號(hào),沒有時(shí)鐘電路,單片機(jī)則不能正常工作。單片機(jī)的晶振電路由振蕩器電路和分頻器電路兩部分組成。其中,振蕩電路又包括反相器、電容和并聯(lián)石英晶體三部分組成,它的主要功能是產(chǎn)生振蕩脈沖。而要得到所需要的時(shí)鐘信號(hào)就要用到振蕩脈沖的分頻電路。圖中引腳XTAL1、引腳XTAL2分別為輸入端和輸出端。在這2個(gè)引腳上外接石英晶體振蕩器和C1、C2電容就可形成振蕩回路。晶體的振蕩頻率對(duì)振蕩器頻率起決定性的作用,由于電容容值的大小對(duì)起振的振蕩頻率有微弱影響,所以可以用C1、C2兩只電容來(lái)進(jìn)行頻率微調(diào)。晶振仿真電路原理圖如圖3-6所示。圖3-6晶振仿真電路3.3.6蜂鳴器電路模塊蜂鳴器是一種電子模擬報(bào)警(告警)器,本設(shè)計(jì)采用蜂鳴器來(lái)判斷按鍵是否按下的提醒電路,當(dāng)按鍵按下時(shí)發(fā)出“滴”的提示音時(shí),表示按鍵按下時(shí)有效。蜂鳴器由單片機(jī)的輸入輸出端口控制,驅(qū)動(dòng)電路主要是一個(gè)“PNP”型三極管對(duì)電流進(jìn)行功率放大來(lái)驅(qū)動(dòng)蜂鳴器工作,使其產(chǎn)生人耳分貝內(nèi)的提示音。蜂鳴器仿真電路原理圖如圖3-7所示。圖3-7蜂鳴器仿真電路3.3.7按鍵電路模塊單片機(jī)應(yīng)用系統(tǒng)中的按鍵或鍵盤都是以開關(guān)狀態(tài)來(lái)設(shè)置控制功能或輸入數(shù)據(jù)。為了方便設(shè)置溫度、日期、時(shí)間的報(bào)警閾值的修改,本系統(tǒng)一共涉及了4個(gè)按鍵(選擇鍵K1、減鍵K2、加鍵K3、確認(rèn)鍵K4)。鍵盤電路如圖3-8所示。圖3-8按鍵電路模塊3.3.8復(fù)位電路系統(tǒng)單片機(jī)的復(fù)位仿真原理圖如圖3-9所示,用途相當(dāng)于各類電子產(chǎn)品的重啟功能,比如電腦的開關(guān)機(jī)按鈕、手機(jī)重啟按鈕、紅路燈控制鍵等,所以單片機(jī)也是一樣的原理。在單片機(jī)運(yùn)行過(guò)程中,經(jīng)常會(huì)出現(xiàn)單片機(jī)故障卡殼,程序下載時(shí)調(diào)用錯(cuò)誤等問題,此時(shí)就需要復(fù)位(重啟)按鍵來(lái)重新運(yùn)行單片機(jī)。復(fù)位電路主要由電容電阻并聯(lián),并利用電容充放電時(shí)電壓不能突變的特性。本設(shè)計(jì)中采用了兩種方法進(jìn)行復(fù)位:一個(gè)是外部手動(dòng)開關(guān)復(fù)位和開機(jī)復(fù)位。圖3-9復(fù)位仿真電路3.4本章小結(jié)本章主要描述了主系統(tǒng)STC89C52、溫度傳感器DS18B20、時(shí)鐘DS1302、顯示器LCD1602、晶振12kHz、蜂鳴器、按鍵(本系統(tǒng)設(shè)計(jì)4個(gè)按鍵:選擇鍵K1、減鍵K2、加鍵K3、確認(rèn)鍵K4)、復(fù)位電路等各個(gè)電路的系統(tǒng)原理和基礎(chǔ)性能指標(biāo),通過(guò)各個(gè)電路模塊的基本原理,能夠使本設(shè)計(jì)更好的進(jìn)行軟件編譯及硬件電路的搭建工作,使各個(gè)模塊所需的數(shù)據(jù)信息準(zhǔn)確無(wú)誤的顯示。第四章軟件電路設(shè)計(jì)4.1引言通過(guò)上一章各硬件電路模塊原理的介紹,本章根據(jù)各模塊原理進(jìn)行軟件編程,并介紹KEIL4、proteus8軟件程序的應(yīng)用方法,來(lái)進(jìn)行程序編寫和仿真電路設(shè)計(jì),設(shè)計(jì)仿真電路時(shí),注意連線要求以及技術(shù)參數(shù)數(shù)值。接下來(lái)詳細(xì)分析各模塊的程序設(shè)計(jì)以及實(shí)現(xiàn)的功能。4.2軟件應(yīng)用程序4.2.1KEIL4軟件簡(jiǎn)介Keil4是以C語(yǔ)言為主的軟件開發(fā)系統(tǒng)的程序編譯軟件,并且兼容性能非常好。Keil4提供了包括C語(yǔ)言編譯器、匯編語(yǔ)言、鏈接器、數(shù)據(jù)庫(kù)管理和一個(gè)功能強(qiáng)大的仿真調(diào)試器等在內(nèi)的完整開發(fā)方案,通過(guò)一個(gè)集成開發(fā)環(huán)境將這些部分組合在一起。此處簡(jiǎn)單介紹一下KeiL4工程的建立。[13](1)要建立一個(gè)工程文件,首先選擇菜單欄中的“Project”然后單擊“NewProject”,軟件的菜單欄如圖4-1所示。圖4-1菜單欄(2)選擇建立的工程要保存的路徑并根據(jù)自己的需求輸入工程名為:“電子萬(wàn)年歷”首拼大寫字母命名,如圖4-2所示。圖4-2“保存新工程”對(duì)話框(3)選擇本設(shè)計(jì)要用到的單片機(jī)系列型號(hào)“STC89C52”如圖4-3所示圖4-3(a)“單片機(jī)系列型號(hào)”(4)建立文件,選擇菜單中的“File”再單擊“New”,出現(xiàn)的對(duì)話框界面如圖4-4所示。圖4-4新建文件對(duì)話框界面(5)保存文件時(shí)在文件后方加入“.C”后綴,并且添加文件到所建的工程下,保存文件截圖如圖4-5(a)所示,添加文件顯示界面如圖4-5(b)所示,右鍵雙擊“SourceGroup1”進(jìn)行添加。圖4-5(a)保存文件界面圖4-5(b)添加文件界面4.2.2Protues8軟件簡(jiǎn)介Proteus8軟件是英國(guó)LabCenterElectronics公司出版的EDA工具軟件,它不僅具有其它EDA工具軟件的仿真功能,還能仿真單片機(jī)及外圍器件。它是目前比較好的仿真單片機(jī)及外圍器件的工具,[13]最起碼可以很好的仿真51系列類型的單片機(jī)。在protues8仿真軟件內(nèi)繪制好原理圖后,調(diào)用已編譯好的程序代碼“.hex”文件,可以在protues8的原理圖中看到仿真圖的運(yùn)行狀態(tài)和過(guò)程。(1)Keil4中生成后綴為“.hex”的文件界面如圖4-7所示。圖4-7生成hex文件界面(2)Protues8中加載“.hex”文件,在Protues8軟件中繪制的本設(shè)計(jì)仿真電路圖界面中單擊“STC89C52”單片機(jī),打開的界面如圖4-8所示,并按要求勾選或加載所需的信息。圖4-8加載“.hex”文件界面4.3各模塊程序設(shè)計(jì)4.3.1DS1302時(shí)鐘子程序DS1302具有兩種讀寫模式,字節(jié)模式和突發(fā)模式。DS1302共有12位寄存器,其中有7位寄存器與時(shí)鐘、日歷相關(guān),存放的數(shù)據(jù)位為BCD碼形式,但BCD碼必須轉(zhuǎn)十進(jìn)制才能直接使用,否則會(huì)出現(xiàn)代碼錯(cuò)亂、數(shù)據(jù)信息顯示錯(cuò)誤。[12]時(shí)鐘子程序如下:voidread1302dat(){ucharm,f,s,r,y,n;分別儲(chǔ)存秒、分、小時(shí)、日、月、年ucharReadValue;從1302讀取的數(shù)據(jù)進(jìn)行儲(chǔ)存ReadValue=ReadSetb1302(0x81);/讀秒寄存器m=((ReadValue&0x70)>>4)*10+(ReadValue&0x0F);/將讀出數(shù)據(jù)轉(zhuǎn)化ReadValue=ReadSetb1302(0x83);/讀分寄存器f=((ReadValue&0x70)>>4)*10+(ReadValue&0x0F);ReadValue=ReadSetb1302(0x85);/讀時(shí)寄存器s=((ReadValue&0x70)>>4)*10+(ReadValue&0x0F);ReadValue=ReadSet1302(0x87);/讀日寄存器r=((ReadValue&0x70)>>4)*10+(ReadValue&0x0F);ReadValue=ReadSet1302(0x89);/讀月寄存器y=((ReadValue&0x70)>>4)*10+(ReadValue&0x0F);ReadValue=ReadSet1302(0x8d);/讀年寄存器n=((ReadValue&0xF0)>>4)*10+(ReadValue&0x0F);year=n;month=y;day=r;hour=s;min=f;sec=m;}時(shí)鐘子程序的流程圖如下圖4-9所示:開始開始開關(guān)否開關(guān)是斷電保護(hù)顯示模塊顯示斷電保護(hù)顯示模塊顯示“年月日時(shí)分秒”結(jié)束結(jié)束圖4-9時(shí)鐘子程序流程圖4.3.2DS18B20溫度子程序DS18B20溫度傳感器測(cè)溫的方式原理:用高溫度數(shù)值的振蕩器確定一個(gè)周期,內(nèi)部計(jì)數(shù)器在這個(gè)周期內(nèi)對(duì)一個(gè)低溫度的振蕩器的脈沖進(jìn)行計(jì)數(shù)來(lái)得到溫度值。DS18B20工作原理同DS1820工作原理大致相同,但溫度值的位數(shù)由于分辨率的不同而不同,且溫度轉(zhuǎn)換延時(shí)由2秒減少至750毫秒。[9]讀取溫度的子程序如下所示:voidInit_DS18B20(void){unsigncharx=0;DQ=1;DQ復(fù)位del_DS18B20(8);延時(shí)DQ=0;del_DS18B20(80);延時(shí)>480usDQ=1;del_DS18B20(14);x=DQ;延時(shí)后如果x=0時(shí)則初始化成功,x=1時(shí)則初始化失敗del_DS18B20(20);}溫度子程序的流程圖如下圖4-10所示:開始開始開關(guān)開關(guān)是顯示模塊顯示顯示模塊顯示溫度信息“顯示精度為±0.5℃”結(jié)束結(jié)束圖4-10溫度子程序流程圖4.3.3按鍵子程序按鍵模塊的軟件程序比起溫度模塊和時(shí)鐘模塊還是比較簡(jiǎn)單的。按鍵模塊的設(shè)計(jì),最關(guān)鍵的關(guān)鍵是消除按鍵抖動(dòng)(按鍵延時(shí))。通常的按鍵開關(guān)都為機(jī)械彈性開關(guān),當(dāng)開關(guān)按鍵斷開或閉合時(shí),由于機(jī)械觸點(diǎn)的彈性作用,所以導(dǎo)致在開關(guān)按鍵按下時(shí)并不會(huì)立刻連接通電,在開關(guān)按鍵彈起時(shí)也不會(huì)突然一下子斷開連接的電源。[8]因此在開關(guān)按鍵按下或彈起的瞬間均伴隨明顯可觀的延時(shí),為了減少或減輕這種情況,本設(shè)計(jì)的做法就是按鍵消抖(也就是縮短按鍵延時(shí)時(shí)間)。按鍵的消抖有兩種:硬件和軟件消抖。因?yàn)橛布缎枰砑佑布骷?,所占用的空間會(huì)增大,也會(huì)增加焊接時(shí)的工作量,因此本設(shè)計(jì)采用軟件消抖的方法。軟件消抖:當(dāng)開關(guān)按鍵按下后執(zhí)行一個(gè)延時(shí)程序?yàn)?ms至10ms的延時(shí),讓前沿抖動(dòng)消失后再一次檢測(cè)按鍵的按下狀態(tài),如果按鍵仍保持閉合狀態(tài),則確定為真正有鍵按下;當(dāng)檢測(cè)到按鍵釋放彈起后進(jìn)行5ms至10ms的延時(shí),待后沿抖動(dòng)完全消失后才能轉(zhuǎn)入該按鍵的處理程序。按鍵的子程序如下:voidkey_cou(){Sta_Set=1;if(Sta_Set==0)Delay(2);while(Sta_Set==0){if(cou==11)cou=0;elsecou++:brack;}while(Sta_Set==0);}按鍵子程序流程圖如圖4-11所示:開始開始開關(guān)開關(guān)是四個(gè)按鍵:按鍵消抖四個(gè)按鍵:按鍵消抖確定按鍵控制按鍵-控制按鍵+選擇按鍵確定按鍵控制按鍵-控制按鍵+選擇按鍵控制時(shí)鐘控制時(shí)鐘“年月日時(shí)分秒”信息結(jié)束結(jié)束圖4-11按鍵子程序流程圖4.3.4LCD1602顯示子程序LCD1602顯示模塊的讀寫操作、屏幕和光標(biāo)的操作都是通過(guò)指令編程來(lái)實(shí)現(xiàn)其功能的。(說(shuō)明:1為高電平、0為低電平)。指令1:清顯示。指令2:光標(biāo)復(fù)位。指令3:光標(biāo)和顯示模式設(shè)置。指令4:顯示開關(guān)控制。指令5:光標(biāo)或顯示移位。指令6:功能設(shè)置命令。指令7:字符發(fā)生器RAM地址設(shè)置。指令8:DRAM地址設(shè)置。指令9:讀忙信號(hào)和光標(biāo)地址。指令10:寫數(shù)據(jù)。指令11:讀數(shù)據(jù)。[16]顯示屏的子程序如下:voiddelay1(void){inti;Writecom(0x80,1);for(i=0;i<16;i++){WriteDate(str[i]);}}顯示模塊子程序的流程圖如圖4-12所示:開始開始開關(guān)開關(guān)是顯示模塊顯示:溫度,時(shí)間顯示模塊顯示:溫度,時(shí)間結(jié)束結(jié)束圖4-10顯示模塊子程序流程圖4.4仿真結(jié)果分析用proteus8軟件畫出所要實(shí)現(xiàn)功能的仿真圖并進(jìn)行布線,使圖能夠美觀和直觀,為了實(shí)現(xiàn)功能將程序內(nèi)容生成“.HEX”文件下載到仿真系統(tǒng)的主系統(tǒng)中,再將溫度子程序調(diào)用到溫度仿真模塊中來(lái)實(shí)現(xiàn)本設(shè)計(jì)要求的數(shù)據(jù)信息。在PROTUES8中仿真的總體電路圖如圖4-9所示。圖4-9總體仿真電路圖4.5本章小結(jié)通過(guò)上面對(duì)系統(tǒng)結(jié)構(gòu)和功能的分析,可以清晰的了解在電子萬(wàn)年歷系統(tǒng)的設(shè)計(jì)過(guò)程。首先對(duì)系統(tǒng)進(jìn)行初始化設(shè)計(jì),然后單片機(jī)檢測(cè)外部的時(shí)鐘芯片、溫度傳感器、顯示器等,通過(guò)對(duì)單片機(jī)的程序編寫是各個(gè)模塊的數(shù)據(jù)信息通過(guò)顯示器LCD1602進(jìn)行顯示。程序流程圖如下圖4-10所示:開始開始電源開關(guān)電源開關(guān)否是STC89C52STC89C52溫度DS18B20時(shí)鐘DS1302溫度DS18B20時(shí)鐘DS1302日期時(shí)間溫度自動(dòng)校準(zhǔn)日期時(shí)間溫度自動(dòng)校準(zhǔn)顯示模塊LCD1602顯示模塊LCD1602結(jié)束結(jié)束圖4-10系統(tǒng)流程圖第五章總結(jié)5.1調(diào)試步驟(1)在KEIL中調(diào)試程序①打開KEIL4軟件,新建一個(gè)工程文件并取名(自定義文件名并記住,為方便調(diào)用),不用加后綴;②選擇STC89C52單片機(jī)作為主控制芯片;③在文件選項(xiàng)中新建一個(gè)空白文檔,并寫下源程序;④點(diǎn)擊另存為在剛剛建立的工程文件中,并且加后綴“.C”;⑤在左面的窗口中點(diǎn)擊“AddFilesto”,選擇剛才新建的文件點(diǎn)擊“Add”;⑥在工具選項(xiàng)中設(shè)置晶振頻率12KHz,并創(chuàng)建勾選“.HEX”文件;⑦最終對(duì)編譯程序,如果編譯結(jié)果中發(fā)現(xiàn)錯(cuò)誤,單擊錯(cuò)誤即可找到錯(cuò)誤程序的地址,再重新修改程序,待檢查無(wú)誤后再進(jìn)行編譯并保存。(2)在Proteus8中繪制好本設(shè)計(jì)的仿真電路原理圖,并將編譯無(wú)誤的源程序后綴為“.hex”的文件調(diào)用到原理圖中的STC89C52單片機(jī)中進(jìn)行仿真,看是否能實(shí)現(xiàn)功能。(3)對(duì)電路板進(jìn)行各元器件焊接及模塊搭建,實(shí)際動(dòng)手操作并按所設(shè)計(jì)的功能鍵檢查功能是否達(dá)到所要求的標(biāo)準(zhǔn)。5.2調(diào)試中的問題和解決方法5.2.1硬件調(diào)試在硬件測(cè)試以及調(diào)試過(guò)程中一定會(huì)遇到許多障礙,要認(rèn)真仔細(xì)的分析是焊接問題還是元器件本身存在的問題,我們經(jīng)常碰到的問題以及解決方案如下所述:(1)認(rèn)真檢查電路板看是否有短路、斷路以及焊接電位點(diǎn)錯(cuò)誤的現(xiàn)象,如果有及時(shí)進(jìn)行重新焊接并用萬(wàn)用表進(jìn)行測(cè)量,注意防止虛焊以及焊盤脫落的問題。(2)檢查完畢后開始接通電源,查看LCD1602是否有顯示,顯示是否達(dá)到預(yù)期的效果。在檢查電路時(shí)發(fā)現(xiàn)有無(wú)各電平位置是否產(chǎn)生短路,但由于虛焊和焊盤脫落導(dǎo)致其并無(wú)電氣連接,只能對(duì)焊腳進(jìn)行在加工,虛焊再次進(jìn)行焊接,有焊盤脫落現(xiàn)象的時(shí)候應(yīng)將該電位的焊接點(diǎn)焊接到同等電位上然后用萬(wàn)用表再次進(jìn)行測(cè)量,直到硬件電路完全沒有問題。5.2.2軟件調(diào)試由于本系統(tǒng)涉及到多個(gè)模塊程序的子程序以及各模塊芯片的程序編寫。首先必須完成對(duì)可以編程芯片的控制,并且對(duì)這些模塊芯片的控制指令要熟記并理解其算法,但最重要的是程序編寫的大致思路。其次對(duì)芯片的讀寫都需要在相應(yīng)的觸發(fā)沿到來(lái)時(shí)才能進(jìn)行。由于DS18B20是串行通信數(shù)據(jù),只有一個(gè)傳輸線口,但在處理采集的模擬信號(hào)時(shí)需要一定的時(shí)間來(lái)完成該工作,會(huì)對(duì)延時(shí)有較高要求,因此要進(jìn)行縮短延時(shí)來(lái)達(dá)到要求。5.3總結(jié)分析根據(jù)上文中所描述的就是基于單片機(jī)的電子萬(wàn)年歷設(shè)計(jì)與制作的全部過(guò)程,經(jīng)過(guò)對(duì)實(shí)物以及對(duì)軟件程序設(shè)計(jì)的多次測(cè)試與結(jié)果比對(duì)分析,使得對(duì)本設(shè)計(jì)的電路原理及各模塊功能更加熟悉,同時(shí)提高了設(shè)計(jì)能力以及對(duì)電路的分析能力。經(jīng)過(guò)此次的設(shè)計(jì)過(guò)程,能更好的認(rèn)識(shí)電路、認(rèn)識(shí)各模塊的參數(shù)以及性能。在硬件電路方面,詳細(xì)剖析了各個(gè)模塊/芯片的選擇依據(jù)以及為什么選擇該模塊的理由,對(duì)多種方案進(jìn)行了全面的比對(duì)分析。從各元器件的性能參數(shù)和硬件電路搭建后的測(cè)試結(jié)果來(lái)看,硬件電路的設(shè)計(jì)是比較完整的,本設(shè)計(jì)所要實(shí)現(xiàn)的功能基本都能完整的展現(xiàn)出了。參考文獻(xiàn)[1]王懷平,王仁波,胡開明.Proteus仿真基于單片機(jī)AT89C51的電子萬(wàn)年歷[J].科技廣場(chǎng),2008,(10):197-198.[2]鄭琪.基于51單片機(jī)的萬(wàn)年歷及溫度顯示系統(tǒng)[J].硅谷,2010.(7):19.[3]劉彥華,邢鵬康.基于AT89S51單片機(jī)的萬(wàn)年歷設(shè)計(jì)與實(shí)現(xiàn)[J].數(shù)字技術(shù)與應(yīng)用,2010,(10):11.[4]高云霞,何鑒,高冬梅.基于ATC89C54的多功能電子萬(wàn)年歷設(shè)計(jì)[J].制造業(yè)自動(dòng)化,2012,34(17):82-84.[5]王語(yǔ)園,張?chǎng)?基于51單片機(jī)的電子萬(wàn)年歷系統(tǒng)的設(shè)計(jì)[J].科技創(chuàng)新與應(yīng)用,2016,(19):51.[6]許亮,劉通.基于51單片機(jī)的新型萬(wàn)年歷設(shè)計(jì)[J].棗莊學(xué)院學(xué)報(bào),2017,34(5):81-84.[7]淡海英.基于AT89C51控制的電子萬(wàn)年歷系統(tǒng)設(shè)計(jì)[J],陜西國(guó)防職業(yè)技術(shù)學(xué)院學(xué)報(bào),2014,24(1):38-40.[8]劉磊.基于STM32的電子萬(wàn)年歷系統(tǒng)設(shè)計(jì)[J].科技資訊,2015,13(1):20.[9]蘭聰花.基于單片機(jī)的多功能數(shù)字萬(wàn)年歷設(shè)計(jì)[J].無(wú)線互聯(lián)科技,2016,(7):21-22.[10]翟朝霞,金國(guó)華,劉劍橋,畢勝,馬寶山.基于單片機(jī)的多功能電子萬(wàn)年歷系統(tǒng)[J].數(shù)字技術(shù)與應(yīng)用,2019,37(10):134-135.[11]吳玉玉,楊瑞珍,馬得秀,龐文琦,趙巖,逯玉蘭.基于單片機(jī)的電子萬(wàn)年歷設(shè)計(jì)[J].電子測(cè)試,2018,(23):31-32.[12]李景景,陳攀攀,尹光花.基于單片機(jī)的可檢測(cè)危害氣體的電子萬(wàn)年歷設(shè)計(jì)[J].電子世界,2020,(14):116-117[13]郭占苗.基于STC89C52萬(wàn)年歷的仿真與設(shè)計(jì)[J].微型電腦應(yīng)用,2017,33(02):30-34.[14]王銳.基于單片機(jī)的萬(wàn)年歷設(shè)計(jì)[J].信息技術(shù),2014(09):213-216.[15]曹姣.基于單片機(jī)的多功能電子萬(wàn)年歷設(shè)計(jì)[J].伺服控制,2012(07):78-80.[16]張銀慧.基于單片機(jī)的帶農(nóng)歷顯示的電子萬(wàn)年歷設(shè)計(jì)[J].數(shù)碼世界,2018(04):331-332.[17]張政,路陽(yáng).基于AT89C51單片機(jī)控制的萬(wàn)年歷探究[J].電子技術(shù)與軟件工程,2014(04):144.[18]劉春燕,晁勤,袁鐵江,魏麗麗.多功能數(shù)字萬(wàn)年歷的設(shè)計(jì)[J].自動(dòng)化應(yīng)用,2013(01):39-41.[19]王慶喜.基于單片機(jī)的萬(wàn)年歷制作[J].福建電腦,2017,33(12):40-41+52.[20]王成.基于單片機(jī)的智能萬(wàn)年歷的設(shè)計(jì)[J].中小企業(yè)管理與科技(中旬刊),2017(04):167-168.[21]YongHong.DesignofElectronicCalendarBasedonMCU[J].IOPConferenceSeries:EarthandEnvironmentalScience,2019,234(1).附錄一:總體電路原理圖附錄二:整體硬件實(shí)物圖附錄三:源程序#include"delay.h"#include"main.h"#include"LCD1602.h"#include"EEPROM.h"#include"ds18b20.h"#include"ds1302.h"/**********************************************/u8date1[16];u8date2[16];bitshow_flag=0;u8MODE=0;sbitK1=P3^2;sbitK2=P3^3;sbitK3=P3^4;sbitK4=P3^5;sbitbeep=P3^6;voiddip(){ date1[0]=''; date1[1]=''; date1[2]=''; date1[3]='2'; date1[4]='0'; date1[5]=(yuar/10%10)+0x30; date1[6]=(yuar%10)+0x30; date1[7]='/'; date1[8]=(month/10%10)+0x30; date1[9]=(month%10)+0x30; date1[10]='/'; date1[11]=(day/10%10)+0x30; date1[12]=(day%10)+0x30; date1[13]=''; date1[14]=''; date1[15]='';//date1[15]=(MODE%10)+0x30;//第二行顯示 date2[0]=(hour/10%10)+0x30; date2[1]=(hour%10)+0x30; date2[2]=':'; date2[3]=(min/10%10)+0x30; date2[4]=(min%10)+0x30; date2[5]=':'; date2[6]=(sec/10%10)+0x30; date2[7]=(sec%10)+0x30; date2[8]=''; date2[9]=''; date2[10]=''; date2[11]=(WD_data/100%10)+0x30; date2[12]=(WD_data/10%10)+0x30; date2[13]='.'; date2[14]=(WD_data%10)+0x30; date2[15]='C'; switch(MODE){ case1: if(show_flag) { date1[5]=(yuar/10%10)+0x30; date1[6]=(yuar%10)+0x30; } else { date1[5]=''; date1[6]=''; } break; case2: if(show_flag) { date1[8]=(month/10%10)+0x30; date1[9]=(month%10)+0x30; } else { date1[8]=''; date1[9]=''; } break; case3: if(show_flag) { date1[11]=(day/10%10)+0x30; date1[12]=(day%10)+0x30; } else { date1[11]=''; date1[12]=''; } break; case4: if(show_flag) { date2[0]=(hour/10%10)+0x30; date2[1]=(hour%10)+0x30; } else { date2[0]=''; date2[1]=''; } break; case5: if(show_flag) { date2[3]=(min/10%10)+0x30; date2[4]=(min%10)+0x30; } else { date2[3]=''; date2[4]=''; } break; case6: if(show_flag) { date2[6]=(sec/10%10)+0x30; date2[7]=(sec%10)+0x30; } else { date2[6]=''; date2[7]=''; } break; default: break;} LCD_disp_string(0,0,date1); LCD_disp_string(0,1,date2);}voidset_timer(){ switch(MODE) { case0: read1302dat();//讀取時(shí)間 break; case1: if(K3==0) { delay_ms(50); if(K3==0) { beep=0; yuar++; if(yuar>99)yuar=0; } while(!K3); beep=1; } if(K2==0) { delay_ms(50); if(K2==0) { beep=0; if(yuar>=1)yuar--; elseyuar=99; } while(!K2); beep=1; } break; case2: if(K3==0) { delay_ms(50); if(K3==0) { beep=0; month++; if(month>12)month=1; } while(!K3); beep=1; } if(K2==0) { delay_ms(50); if(K2==0) { beep=0; if(month>=2)month--; elsemonth=12; } while(!K2); beep=1; } break; case3: if(K3==0) { delay_ms(50); if(K3==0) { beep=0; day++; if(day>31)day=1; } while(!K3); beep=1; } if(K2==0) { delay_ms(50); if(K2==0) { beep=0; if(day>=2)day--; elseday=31; } while(!K2); beep=1; } break; case4: if(K3==0) { delay_ms(50); if(K3==0) { beep=0; hour++; if(hour>23)hour=0; } while(!K3); beep=1; } if(K2==0) { delay_ms(50); if(K2==0) { beep=0; if(hour>=1)hour--; elsehour=23; } while(!K2); beep=1; } break; case5: if(K3==0) { delay_ms(50); if(K3==0) { beep=0; min++; if(min>

溫馨提示

  • 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ù)覽,若沒有圖紙預(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)論