多功能電子萬(wàn)年歷設(shè)計(jì)_畢業(yè)論文.doc
《多功能電子萬(wàn)年歷設(shè)計(jì)_畢業(yè)論文.doc》由會(huì)員分享,可在線閱讀,更多相關(guān)《多功能電子萬(wàn)年歷設(shè)計(jì)_畢業(yè)論文.doc(71頁(yè)珍藏版)》請(qǐng)?jiān)谘b配圖網(wǎng)上搜索。
1、論文題目:多功能電子萬(wàn)年歷的設(shè)計(jì)學(xué) 院 電氣工程學(xué)院 多功能電子萬(wàn)年歷設(shè)計(jì)專業(yè):自動(dòng)化 姓名: 指導(dǎo)老師:摘 要 隨著科學(xué)技術(shù)的快速發(fā)展,縱觀太陽(yáng)、擺鐘到現(xiàn)在電子鐘,人類不斷研究,不斷創(chuàng)新進(jìn)步。目前,單片機(jī)技術(shù)的應(yīng)用產(chǎn)品已經(jīng)走進(jìn)了千家萬(wàn)戶。多功能電子萬(wàn)年歷的出現(xiàn)給人們的生活帶來(lái)了諸多方便。此產(chǎn)品是基于STC89C52RC單片機(jī)的日歷顯示系統(tǒng),它能顯示公歷年、月、日,以及時(shí)、分、秒、溫度、星期等信息,而且還具有調(diào)整時(shí)間,溫度采集,鬧鐘及個(gè)性化的鬧鈴等功能。系統(tǒng)所用的時(shí)鐘日歷芯片DS1302具有高性能、低功耗、接口簡(jiǎn)單的特點(diǎn),使本系統(tǒng)電路簡(jiǎn)化,編程方便,同時(shí)功能也很強(qiáng)。采用STC89C52RC單片
2、機(jī)的萬(wàn)年歷系統(tǒng)可以很好的改善傳統(tǒng)采用模擬電路引起的計(jì)時(shí)不準(zhǔn)確,不可靠,一致性差等問(wèn)題。此系統(tǒng)計(jì)時(shí)精確,價(jià)格低廉,可以廣泛應(yīng)用在生活,學(xué)習(xí)和工作等任何領(lǐng)域,并且起到重要作用。 關(guān)鍵詞:萬(wàn)年歷,單片機(jī),時(shí)鐘芯片,溫度芯片70ABSTRACTAlong with the technical fast development, time passing, to from the view sun, the pendulum clock to the present electron clock, the humanity studies unceasingly, innovates unceasing
3、ly the record. At present, the monolithic integrated circuit technologys application product already entered everyone. The electronic ten thousand calendars appearances have brought conveniently many for peoples life.This design is one based on STC89C52RC single-chip microcomputer calendar display s
4、ystem, it can demonstrate years, the month, the date of the Gregorian calendar, and hour, minute, second, temperature, week and so on. Moreover it has also provided the lunar calendar information, adjustable time pattern, temperature sample, alarm system, individual quarter-bell and so on. The syste
5、m clock calendar DS1302 with high performance, low power consumption and simple interface features Circuit enable the system to streamline programming convenience, but also highly functional. The problems of inaccurate, unreliable, and the uniform inferior can be come up when you use the analogous c
6、ircuit. However, it can be improved when you use the clock system based on STC89C52RC single-chip microcomputer. The system time accurate, low cost and can be widely applied to the life, study and work in any field, and has played an important role. Key words:The Electronic Calendar Clock, Single-ch
7、ip Microcomputer, The Time Calendar Clock, Temperature Chip目錄ABSTRACT31 緒論81.1多功能電子萬(wàn)年歷的研究背景與意義81.2多功能電子萬(wàn)年歷的發(fā)展現(xiàn)狀91.3論文研究的內(nèi)容91.4 本設(shè)計(jì)進(jìn)行的主要工作101.5本多功能電子萬(wàn)年歷系統(tǒng)主要要實(shí)現(xiàn)的功能102單片機(jī)的簡(jiǎn)介112.1單片機(jī)的介紹113 方案設(shè)計(jì)與論證133.1單片機(jī)芯片設(shè)計(jì)與論證133.2 電源模塊設(shè)計(jì)與論證143.3 按鍵控制模塊設(shè)計(jì)與論證143.4 時(shí)鐘模塊設(shè)計(jì)與論證153.5 溫度采集模塊的設(shè)計(jì)與論證153.6 顯示模塊設(shè)計(jì)與論證154 系統(tǒng)的硬件設(shè)計(jì)17
8、4.1 主控芯片STC89C52RC與復(fù)位電路和時(shí)鐘振蕩電路174.1.1 STC89C52RC的概述174.1.2復(fù)位電路和時(shí)鐘振蕩電路194.2 時(shí)鐘芯片DS1302接口設(shè)計(jì)和性能分析204.2.1 DS1302性能簡(jiǎn)介204.2.2 DS1302接口電路設(shè)計(jì)214.3 溫度芯片DS18B20接口設(shè)計(jì)和性能分析254.3.1 DS18B20的性能介紹254.3.2 DS18B20的接口電路設(shè)計(jì)264.4 鬧鐘模塊系統(tǒng)設(shè)計(jì)于性能分析264.4.1 AT24C02器件分析274.4.2 接口電路的設(shè)計(jì)284.5 LCD顯示模塊284.5.1 LCM1602的特性及使用說(shuō)明284.5.2 LCM
9、1602與STC89C52RC單片機(jī)的接口電路304.6 按鍵模塊設(shè)計(jì)314.7蜂鳴器設(shè)計(jì)325 軟件設(shè)計(jì)345.1 軟件總體部分的設(shè)計(jì)345.2 LCD驅(qū)動(dòng)及液晶顯示365.3 按鍵識(shí)別及處理365.4 溫度數(shù)據(jù)采集365.5 時(shí)間數(shù)據(jù)采集385.6 鬧鐘程序406 系統(tǒng)的測(cè)試42總 結(jié)45致 謝46參考文獻(xiàn)47附 錄48 1 緒論1.1多功能電子萬(wàn)年歷的研究背景與意義伴隨著單片機(jī)和電子技術(shù)的快速發(fā)展,人類不斷研究,不斷創(chuàng)新紀(jì)錄。萬(wàn)年歷已經(jīng)不像以前那樣以書(shū)本形式出現(xiàn)。以電子產(chǎn)品形式或者電腦軟件形式出現(xiàn),并附加有溫度、濕度監(jiān)控以及鬧鈴提示功能的萬(wàn)年歷被稱為多功能電子萬(wàn)年歷。與先前的書(shū)本形式的萬(wàn)
10、年歷相比,多功能電子萬(wàn)年歷成為了各個(gè)電子產(chǎn)品的一部分而得到了廣泛的應(yīng)用,如在手機(jī)、電腦、空調(diào)等電子電氣產(chǎn)品中大量使用。采用電子時(shí)鐘作為時(shí)間顯示已經(jīng)成為一種時(shí)尚。目前市場(chǎng)上各式各樣的電子時(shí)鐘數(shù)不勝數(shù),但多數(shù)是只針對(duì)時(shí)間顯示,功能單一不能滿足人們?nèi)粘I钚枨?。本文提出了一種基于STC89C52RC單片機(jī)的多功能電子萬(wàn)年歷設(shè)計(jì)方案,采用一個(gè)LCD顯示。本方案以STC89C52RC單片機(jī)作為主控核心,與時(shí)鐘芯片DS1302、溫度芯片DS18B20、鬧鐘模塊、鬧鐘設(shè)置存儲(chǔ)模塊、按鍵、LCD顯示等模塊組成硬件系統(tǒng)。在硬件系統(tǒng)中設(shè)有4個(gè)獨(dú)立按鍵和一個(gè)LCD顯示器,能顯示豐富的信息,根據(jù)使用者的需要可以隨時(shí)對(duì)
11、時(shí)間進(jìn)行校準(zhǔn)、選擇時(shí)間、星期、溫度顯示以及提醒等.總體來(lái)說(shuō)多功能電子萬(wàn)年歷具有讀取方便、顯示直觀、功能多樣、電路簡(jiǎn)潔、成本低廉等諸多優(yōu)點(diǎn),符合電子儀器儀表的發(fā)展趨勢(shì),具有廣闊的市場(chǎng)前景。1.2多功能電子萬(wàn)年歷的發(fā)展現(xiàn)狀隨著微電子技術(shù)的高速發(fā)展,單片機(jī)在國(guó)民經(jīng)濟(jì)的個(gè)人領(lǐng)域得到了廣泛的運(yùn)用。單片機(jī)開(kāi)發(fā)技術(shù)已成為電子信息、電氣、通信、自動(dòng)化、機(jī)電一體化等專業(yè)技術(shù)人員必須掌握的技術(shù)。國(guó)內(nèi)企業(yè)為了獲得更大的投資收益,在生產(chǎn)規(guī)模和產(chǎn)品質(zhì)量上不斷提升,開(kāi)發(fā)單片機(jī)呈必然趨勢(shì)。二十一世紀(jì)的今天,具有代表性的計(jì)時(shí)產(chǎn)品就是電子萬(wàn)年歷,它是近代世界鐘表業(yè)界的第三次革命。前兩次革命是擺和擺輪游絲的發(fā)明,以及石英晶體振蕩
12、器的應(yīng)用,第三次革命就是單片機(jī)數(shù)碼計(jì)時(shí)技術(shù)的應(yīng)用(電子萬(wàn)年歷),使得從原來(lái)傳統(tǒng)指針計(jì)時(shí)的方式發(fā)展為人們?nèi)粘8鼮槭煜さ囊构鈹?shù)字顯示方式,直觀明了,并增加了全自動(dòng)日期,星期,溫度以及其他日常附屬信息的顯示功能,它更符合消費(fèi)者的生活需求!因此,電子萬(wàn)年歷的出現(xiàn)帶來(lái)了鐘表計(jì)時(shí)業(yè)界跨越性的進(jìn)步。1.3論文研究的內(nèi)容本設(shè)計(jì)采用STC89C52RC芯片作為系統(tǒng)主要芯片,能以的超低的3.3V電壓工作,而且能夠和51單片機(jī)系列完全兼容,該芯片內(nèi)部存儲(chǔ)器ROM為8KB 存儲(chǔ)空間。具有和51系列單片機(jī)一樣的功能,并且具有可擦除可在線編程技術(shù)。用LCD數(shù)碼管動(dòng)態(tài)顯示,LCD數(shù)碼管價(jià)格適中,對(duì)于顯示數(shù)字合適,且采用動(dòng)態(tài)
13、掃描法與單片機(jī)連接時(shí),占用單片機(jī)接口線少。采用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í)耗電小于300mA。因此采用STC89C52RC單片機(jī)作為此設(shè)計(jì)的主要芯片,且作品的精度高,成本低,易于制作研究。1.4 本設(shè)計(jì)進(jìn)行的主要工作(1)分析多功能電子萬(wàn)年歷的運(yùn)行原理;(2)設(shè)計(jì)多功能電子萬(wàn)年歷的總原理圖;(3)根據(jù)多功能電子萬(wàn)年歷的原理圖選擇各個(gè)模塊的芯片;(4)設(shè)計(jì)多功能電子萬(wàn)年歷的總流程圖和各個(gè)模塊的流程圖;(5)根據(jù)多功能電子
14、萬(wàn)年歷的總流程圖和各個(gè)模塊的流程圖,用C程序語(yǔ)言編寫(xiě)程序;(6)根據(jù)多功能電子萬(wàn)年歷的原理圖連接硬件電路做出實(shí)物;(8)對(duì)多功能電子萬(wàn)年歷進(jìn)行硬件測(cè)試;(9)實(shí)現(xiàn)總體設(shè)計(jì)目標(biāo)。1.5本多功能電子萬(wàn)年歷系統(tǒng)主要要實(shí)現(xiàn)的功能(1)設(shè)計(jì)一個(gè)萬(wàn)年歷可以顯示年、月、日、時(shí)、分、秒、星期,具有調(diào)整日期和時(shí)間功能,可以與即時(shí)時(shí)間同步;(2)具有鬧鈴設(shè)置功能,可以設(shè)置任意時(shí)間鬧鈴,發(fā)出報(bào)警信息;(3)具有溫度采集功能,可以采集-55-125之內(nèi)的溫度,并且顯示在LCD上。2單片機(jī)的簡(jiǎn)介2.1單片機(jī)的介紹單片機(jī)作為一個(gè)微型計(jì)算機(jī)而得到的集成電路芯片。它運(yùn)用特大規(guī)模集成技術(shù)將:具有數(shù)據(jù)處理能力的CPU、含程序存儲(chǔ)
15、器ROM和數(shù)據(jù)存儲(chǔ)器RAM、輸入、輸出口電路(I/O接口)集成在同一塊芯片,構(gòu)成一個(gè)小巧而又很完善的微型計(jì)算機(jī)系統(tǒng),在程序語(yǔ)言的控制下能準(zhǔn)確、高效而又迅速地完成程序設(shè)計(jì)者需要完成的任務(wù)。因此說(shuō),一個(gè)單片機(jī)就具有了能夠組成計(jì)算機(jī)的全部的功能。然而單片機(jī)又和單板機(jī)(一種能夠?qū)⑽⑻幚砥鞯男酒?、存?chǔ)器芯的芯片、輸入輸出接口芯片安裝在同一個(gè)印制電路板上的微型的計(jì)算機(jī))不相同,早先的單片機(jī)芯片在沒(méi)有開(kāi)發(fā)完全之前,它只是一種能夠具備極強(qiáng)功能的超大規(guī)模集成電路,倘若對(duì)它能夠進(jìn)行應(yīng)用開(kāi)發(fā),單片機(jī)便可以成為一個(gè)小型的微型計(jì)算機(jī)控制系統(tǒng),然而它與單板機(jī)或個(gè)人電腦(PC機(jī))有著本質(zhì)的區(qū)別。不同的單片機(jī)有著不同的硬件特
16、征和軟件特征。單片機(jī)芯片的內(nèi)部結(jié)構(gòu)決定了其硬件特征,某種單片機(jī)被用戶使用之前,用戶必須了解這種類型產(chǎn)品是否滿足想要實(shí)現(xiàn)的功能和應(yīng)用系統(tǒng)的特性以及指標(biāo)。這期中的技術(shù)特征包括:功能特性、控制特性以及電氣特性等等。軟件特征指的是指令系統(tǒng)特性和開(kāi)發(fā)支持環(huán)境,指令特性就是輸入輸出特性、單片機(jī)的尋址方式、數(shù)據(jù)處理和邏輯處理方式、和對(duì)電源的要求等。開(kāi)發(fā)支持環(huán)境:支持軟件、指令的兼容及可移植性以及硬件資源。想要開(kāi)發(fā)自己的應(yīng)用系統(tǒng)而要使用某型號(hào)單片機(jī),掌握其技術(shù)特征和結(jié)構(gòu)特征是必不可少的。數(shù)字電路或復(fù)雜電子線路構(gòu)成的控制系統(tǒng)可以用單片機(jī)控制系統(tǒng)取代是之簡(jiǎn)單化、易操作。就可以軟件控制來(lái)實(shí)現(xiàn),且能夠?qū)崿F(xiàn)智能化和模塊
17、化。現(xiàn)在單片機(jī)控制范圍無(wú)所不在,比如家用電器、過(guò)程控制、通信產(chǎn)品、智能儀器儀表和專用控制裝置等等,單片機(jī)被廣泛的應(yīng)用在各行各業(yè)。誠(chéng)然,單片機(jī)的應(yīng)用意義遠(yuǎn)遠(yuǎn)超過(guò)了其應(yīng)用范疇和由此帶來(lái)的經(jīng)濟(jì)效益,更為重要的是它已從根本上改變了傳統(tǒng)的設(shè)計(jì)思想和控制方法。這是控制技術(shù)領(lǐng)域的一次革命,也是一座重要的里程碑。3 方案設(shè)計(jì)與論證按照系統(tǒng)設(shè)計(jì)的要求,初步確定系統(tǒng)由電源模塊、時(shí)鐘模塊、顯示模塊、鍵盤接口模塊、溫度測(cè)量模塊和鬧鐘模塊共六個(gè)模塊組成,電路系統(tǒng)構(gòu)成模塊框圖如圖3.1所示。SCT89C52RC電源模塊溫度采集模塊獨(dú)立按鍵鬧鐘模塊顯示模塊時(shí)鐘模塊圖3.1硬件電路模塊框圖3.1單片機(jī)芯片設(shè)計(jì)與論證方案一:
18、采用AT89C51芯片作為主控芯片,內(nèi)部具有4KB ROM 存儲(chǔ)空間,能于3V的超低電壓工作,就是可以和51系列的單片機(jī)可以完全兼容,但是當(dāng)其運(yùn)行在電路設(shè)計(jì)中的時(shí)候由于不能具備ISP在線編程的技術(shù);方案二:采用STC89C52RC芯片作為硬件的核心,,能以的超低的3.3V電壓工作,而且能夠和51單片機(jī)系列完全兼容,該芯片內(nèi)部存儲(chǔ)器ROM為8KB 存儲(chǔ)空間。具有和51系列單片機(jī)一樣的功能,并且具有ISP在線可擦除可在線編程技術(shù);綜合考慮,采用STC89C52RC作為主控芯片,它的內(nèi)部存儲(chǔ)空間更大,且具有ISP在線編程技術(shù),可節(jié)省成本。3.2 電源模塊設(shè)計(jì)與論證方案一:采用USB電源線接電腦USB
19、口為系統(tǒng)提供電源,攜帶不方便,成本高;方案二:采用獨(dú)立的5V電源,為單片機(jī)及外部電路提供電源,能提供較為穩(wěn)定的電壓及足夠的功率,制作簡(jiǎn)單,成本較低、便于攜帶;考慮系統(tǒng)為一個(gè)便攜式用品,方案一不便于攜帶,故采用方案二。3.3 按鍵控制模塊設(shè)計(jì)與論證方案一:采用矩陣鍵盤,由于按鍵多可實(shí)現(xiàn)數(shù)值的直接鍵入,但在系統(tǒng)中需要CPU不間斷的對(duì)其端口掃描;方案二:采用獨(dú)立按鍵,查詢簡(jiǎn)單,程序處理簡(jiǎn)單,可節(jié)省CPU資源;因系統(tǒng)中所需按鍵不多,為了釋放更多的CPU占有時(shí)間,故采用方案二。3.4 時(shí)鐘模塊設(shè)計(jì)與論證方案一:采用直接的單片機(jī)定時(shí)/計(jì)數(shù)器提供所需的秒信號(hào),編程程序來(lái)實(shí)現(xiàn)秒、分、時(shí)、日、周、月、年的計(jì)數(shù)。
20、采用這一種方案雖然可以減少所用的芯片的數(shù)量和節(jié)約成本,但其實(shí)現(xiàn)后的時(shí)間誤差較大不準(zhǔn)確;方案二:采用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;綜合考慮制作難度及精度,故采用方案二。3.5 溫度采集模塊的設(shè)計(jì)與論證方案一:采用溫度傳感器(如熱敏電阻或AD590),再經(jīng)AD轉(zhuǎn)換得到數(shù)字信號(hào)。雖然價(jià)格低廉,但精度不高,電路較復(fù)雜;方案二:采用數(shù)字式溫度傳感器DS18B20,它能直接讀出被測(cè)溫度,并且可根據(jù)實(shí)際要
21、求通過(guò)簡(jiǎn)單的編程實(shí)現(xiàn)9-12位的數(shù)字值讀數(shù)方式,雖然價(jià)格較貴,但精確度高,誤差在1左右;綜合考慮,采用方案二,用DS18B20溫度芯片,采用單總線訪問(wèn),降低成本、降低制作難度且可節(jié)省單片機(jī)寶貴的GPIO資源。3.6 顯示模塊設(shè)計(jì)與論證方案一:采用LED的方法,雖然亮度較高、成本低,但電路連接復(fù)雜,;方案二:采用LCD的方法,具有硬件制作簡(jiǎn)單可直接與單片機(jī)接口,LCM1602可顯示32個(gè)字符,采用LCD的缺點(diǎn)是亮度不夠;比較以上兩種方案,采用方案二,由于本多功能電子萬(wàn)年歷是一種小型系統(tǒng),采用獨(dú)立電源供電,因此采用LCD顯示也可以簡(jiǎn)單化電路連接。4 系統(tǒng)的硬件設(shè)計(jì)4.1 主控芯片STC89C52R
22、C與復(fù)位電路和時(shí)鐘振蕩電路4.1.1 STC89C52RC的概述 STC89C52RC 單片機(jī)是以52內(nèi)核為主的單片機(jī)系列,STC單片機(jī)是宏晶公司生產(chǎn)的產(chǎn)品(單時(shí)鐘/機(jī)器周期)的單片機(jī),是具有特別強(qiáng)的抗干擾、高速、低功耗的新生代的8052單片機(jī),它的指令代碼是可以全部兼容傳統(tǒng)8051,但速度比51快812倍,內(nèi)部集成了MAX810的專門用的復(fù)位電路。4路PWM和8路的高速的10位A、D轉(zhuǎn)換,針對(duì)電機(jī)/強(qiáng)干的擾控制場(chǎng)合。STC89C52RC單片機(jī)引腳如下圖:圖4.1 STC89C52RC單片機(jī)引腳如下圖STC89C52RC單片機(jī)主要性能:(1)高速:1個(gè)時(shí)鐘/機(jī)器周期,增強(qiáng)的8051,速度比傳統(tǒng)
23、的8051快812 倍;(2)低功耗的設(shè)計(jì):空閑模式,掉電模式(喚醒可由外部中斷);(3)工作頻率:040MHz,相當(dāng)于頻率為08MHz的一般8051;(4)時(shí)鐘:可由外部的晶振或者內(nèi)部的RC振蕩器,在ISP環(huán)境下下載用戶編程程序事設(shè)計(jì);(5)16K的字節(jié)的芯片內(nèi)部Flash程序存儲(chǔ)器,擦出讀寫(xiě)次數(shù)可以在10萬(wàn)次以上;(6)芯片內(nèi)部RAM數(shù)據(jù)存儲(chǔ)器:512個(gè)字節(jié);(7)芯片內(nèi)部有EEPROM 功能;(8)ISP / IAP,在系統(tǒng)和應(yīng)用可編程時(shí),無(wú)需編程器和仿真器;(9)16位定時(shí)器和2個(gè)硬件,兼容普通8051的定時(shí)器;(10)有WDT看門狗功能;(11)SPI的通信端口為高速的;(12)串口
24、為UART(雙全工異步),和普通8051兼容的串口;(13)結(jié)構(gòu)采用了較為先進(jìn)的指令集,和8051普通指令集相兼容,4組8個(gè)8位通用的工作寄存器,有硬件乘除法指令;(14)通用I/O 口(27/23/15 個(gè)),復(fù)位后為: 準(zhǔn)雙向口/ 弱上拉(普通80C51 傳統(tǒng)I/O 口);(15)有四種模式可供設(shè)置:準(zhǔn)雙向口/ 弱上拉,推挽/ 強(qiáng)上拉,僅為輸入/ 高阻,開(kāi)漏每一個(gè)I/O 口的驅(qū)動(dòng)能力都可達(dá)到20mA,但是整個(gè)芯片的電流最大不能超過(guò)55mA。4.1.2復(fù)位電路和時(shí)鐘振蕩電路 (1) 復(fù)位電路:按鍵的手動(dòng)式復(fù)位就是通過(guò)使復(fù)位端經(jīng)電阻(R)與VCC接通而后來(lái)實(shí)現(xiàn)的,與單片機(jī)接口圖如圖4.2圖4.
25、2復(fù)位電路與單片機(jī)接口圖(2) 時(shí)鐘振蕩電路:本多功能電子萬(wàn)年歷時(shí)鐘振蕩電路采用的是內(nèi)部時(shí)鐘方式的電路,此電路可以通過(guò)調(diào)節(jié)電容C0和C1的大小對(duì)頻率進(jìn)行微調(diào),是之達(dá)到技術(shù)要求,與單片機(jī)的接口電路如圖4.3:圖4.3時(shí)鐘振蕩電路與STC89C52RC單片機(jī)的接口電路4.2 時(shí)鐘芯片DS1302接口設(shè)計(jì)和性能分析4.2.1 DS1302性能簡(jiǎn)介DS1302是Dallas公司生產(chǎn)的一種實(shí)時(shí)時(shí)鐘芯片。它通過(guò)串行方式與單片機(jī)進(jìn)行數(shù)據(jù)傳送,能夠向單片機(jī)提供包括秒、分、時(shí)、日、月、年等在內(nèi)的實(shí)時(shí)時(shí)間信息,并可對(duì)月末日期、閏年天數(shù)自動(dòng)進(jìn)行調(diào)整;它還擁有用于主電源和備份電源的雙電源引腳,在主電源關(guān)閉的情況下,也
26、能保持時(shí)鐘的連續(xù)運(yùn)行。另外,它還能提供31字節(jié)的用于高速數(shù)據(jù)暫存的RAM。DS1302的時(shí)鐘芯片內(nèi)部主要包括:振蕩器、控制邏輯電路、移位寄存器。DS1302和單片機(jī)系統(tǒng)之間的數(shù)據(jù)傳送依靠的是SCLK、RST、I/O,三根端口線就可以完成。它工作時(shí)的過(guò)程為:首先系統(tǒng)RST這個(gè)引腳驅(qū)動(dòng)到高電平,然后在SCLK時(shí)鐘脈沖作用下,通過(guò)I/O口向DS1302輸入命令和地址字節(jié),而后在SCLK時(shí)鐘脈沖信號(hào)的配合下,從I/O引腳讀出或?qū)懭胂嚓P(guān)的數(shù)據(jù)的字節(jié)。所以,它和單片機(jī)二者之間的數(shù)據(jù)傳送是很容易實(shí)現(xiàn)的,DS1302的管腳排結(jié)構(gòu)圖如圖4.2。DS1302引腳說(shuō)明: 圖4.4 DS1302引腳圖腳X1,X2 3
27、2.768kHz晶振引腳GND 地線RST 復(fù)位端I/O 數(shù)據(jù)輸入/輸出端口SCLK 串行時(shí)鐘端口VCC1 慢速充電引腳VCC2 電源引腳 4.2.2 DS1302接口電路設(shè)計(jì)(1)時(shí)鐘芯片DS1302的接口電路和工作原理圖4.5 DS1302與單片機(jī)的接口電路圖4.5為DS1302的接口電路,其中VCC1為后備電源,VCC2為主電源。VCC1在單電源去提供電能的系統(tǒng)中可以采用提供低電源,而且可以提供低功率的電池的備份了。VCC2在采用雙電源提供電能系統(tǒng)中就是充當(dāng)主電源來(lái)運(yùn)用,其在這一種運(yùn)用地方式中VCC1就連接到備份地電源,以致于在沒(méi)有主電源地情況之下能確保保存時(shí)間信息以及數(shù)據(jù)。DS1302
28、由VCC1或VCC2 兩者中較大者供電。當(dāng)VCC2大于VCC1+0.2V時(shí),VCC2給DS1302供電。當(dāng)VCC2小于VCC1時(shí),DS1302由VCC1供電。DS1302在每次進(jìn)行讀、寫(xiě)程序前都必須初始化,先把SCLK端置 “0”,接著把RST端置“1”,最后才給予SCLK脈沖。表1為DS1302的控制字,此控制字的位7必須置1,若為0則不能對(duì)DS1302進(jìn)行讀寫(xiě)數(shù)據(jù)。對(duì)于位6,若對(duì)時(shí)間進(jìn)行讀/寫(xiě)時(shí),CK=0,對(duì)程序進(jìn)行讀/寫(xiě)時(shí)RAM=1。位1至位5指操作單元的地址。位0是讀/寫(xiě)操作位,進(jìn)行讀操作時(shí),該位為1;進(jìn)行寫(xiě)操作時(shí),該位為0??刂谱止?jié)總是從最低位開(kāi)始輸入/輸出的。表2為DS1302的日
29、歷、時(shí)間寄存器內(nèi)容:“CH”是時(shí)鐘暫停標(biāo)志位,當(dāng)該位為1時(shí),時(shí)鐘振蕩器停止,DS1302處于低功耗狀態(tài);當(dāng)該位為0時(shí),時(shí)鐘開(kāi)始運(yùn)行?!癢P”是寫(xiě)保護(hù)位,在任何的對(duì)時(shí)鐘和RAM的寫(xiě)操作之前,“WP”必須為0。當(dāng)“WP”為1時(shí),寫(xiě)保護(hù)位防止對(duì)任一寄存器的寫(xiě)操作。(2)DS1032的控制字DS1302它的控制字由表-1所表示??刂谱止?jié)的高有效位(位7)一定是邏輯1,倘若它為0,則就不可能把數(shù)據(jù)寫(xiě)入到DS1302中去。位6若為0,則表示的就是存取日歷的時(shí)鐘數(shù)據(jù),為1,則表示存取的RAM數(shù)據(jù)。位5到位1指示的是操作單元地址。最低有效位(位0)若為1,則表示進(jìn)行讀操作,為0,則表示進(jìn)行寫(xiě)操作。控制字節(jié)一直
30、是從最低位輸出開(kāi)始的。表1 DS1302的控制字格式(3)數(shù)據(jù)輸入/輸出(I/O口)從控制指令字輸入之后的下一個(gè)時(shí)鐘脈沖的上升沿,數(shù)據(jù)開(kāi)始就被寫(xiě)入了DS1302,數(shù)據(jù)的輸入從位0開(kāi)始。同樣的,從接下來(lái)的8位的控制指令字后的下一個(gè)時(shí)鐘脈沖的下降沿,開(kāi)始讀出DS1302的數(shù)據(jù),讀出這些數(shù)據(jù)時(shí)從低位(0位)到高位(7)。如下圖4.6所示。圖4.6 DS1302讀/寫(xiě)時(shí)序圖(4)DS1302的寄存器DS1302的寄存器有12,其中的7個(gè)寄存器可以和日歷以及時(shí)鐘有關(guān)聯(lián),存放的形式就是以數(shù)據(jù)位為BCD碼的形式,它的時(shí)間和日歷的寄存器以及其控制字可以見(jiàn)表2。表2 DS1302的日歷和時(shí)間寄存器此外,DS13
31、02 還有寄存年份的寄存器、充電量、控制等寄存器、與內(nèi)外部的RAM相關(guān)的寄存器及和時(shí)鐘突發(fā)的寄存器們等。時(shí)鐘突發(fā)的寄存器可以一次性的順序讀寫(xiě),除充電的寄存器之外的其他所有的寄存器的內(nèi)容。 DS1302和RAM關(guān)聯(lián)的寄存器是可以分成為兩大類:其中之一就是單個(gè)的RAM單元(31個(gè)),每一個(gè)單元組由一個(gè)的8位的字節(jié)組成。它的命令 控制字是C0HFDH,這中間奇數(shù)為讀操作,偶數(shù)則為寫(xiě)操作;而另一類是突發(fā)地方式下地(RAM)寄存器,這種方式下可以一次性的讀/寫(xiě)出所有RAM的31個(gè)的所以字節(jié),它的命令控制字是FEH(寫(xiě))、FFH(讀)。4.3 溫度芯片DS18B20接口設(shè)計(jì)和性能分析4.3.1 DS18B
32、20的性能介紹(1)DS18B20的主要特性:DS18B20的溫度傳感器是由美國(guó)DALLAS半導(dǎo)體公司最新推出的,它一種改進(jìn)型的智能溫度傳感器,和普通熱敏電阻等元件相比,它可以直接的讀出被測(cè)量的溫度,而且能夠根據(jù)實(shí)際情況的要求通過(guò)簡(jiǎn)單的程序編程來(lái)實(shí)現(xiàn)9-12位的數(shù)字值讀取方式。在現(xiàn)場(chǎng)的溫度可以直接以一線總線的數(shù)字方式來(lái)傳輸,很好地提高了系統(tǒng)的抗干擾的能力。它可以適應(yīng)于惡劣地環(huán)境的現(xiàn)場(chǎng)的溫度的測(cè)量。就像:雪地環(huán)境測(cè)量以及測(cè)量溫度類消費(fèi)電子產(chǎn)品等。和早前一代的產(chǎn)品不同的是新的產(chǎn)品可以支持3.3V5.5V的電壓范圍,使系統(tǒng)設(shè)計(jì)更靈活、更簡(jiǎn)單、更方便。它的性能特點(diǎn)可歸納如下: 獨(dú)創(chuàng)的單線式接口僅需要一
33、個(gè)端口引腳進(jìn)行通信; 測(cè)溫范圍在-55到125,分辨率最大可達(dá)0.0625; 采用了3線制與單片機(jī)相連,減少了外部硬件電路; 零待機(jī)功耗; 可通過(guò)數(shù)據(jù)線供電,電壓范圍在3.3V-5.5V; 用戶可定義的非易失性溫度報(bào)警設(shè)置; 報(bào)警搜索命令識(shí)別并標(biāo)志超過(guò)程序限定溫度(溫度報(bào)警條件)的器件; 負(fù)電壓特性,電源極性接反時(shí),溫度計(jì)不會(huì)因發(fā)熱燒毀,只是不能正常工作。(2)DS18B20工作原理:DS18B20的讀、寫(xiě)時(shí)序與之測(cè)溫原理和以前的DS1820相同,只不過(guò)是得到的溫度的數(shù)值的位數(shù)因?yàn)榉直嫘什煌槐M同的,而且溫度轉(zhuǎn)換時(shí)候的延遲時(shí)間由2s減少到750ms。圖示中的低溫系數(shù)的晶振的振蕩的頻率,它受
34、溫度變化的影響非常小,運(yùn)用在產(chǎn)生固定的其頻率地脈沖送給其計(jì)數(shù)器1。高溫度的系數(shù)的晶振隨著溫度的變化其振蕩頻率很明顯發(fā)生了改變,所產(chǎn)生的信號(hào)作為計(jì)數(shù)器2的脈沖輸入。計(jì)數(shù)器1和溫度寄存器被預(yù)置在55所對(duì)應(yīng)的一個(gè)基數(shù)值。計(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ù)到0時(shí),停止溫度寄存器值的累加,此時(shí)溫度寄存器中的數(shù)值即為所測(cè)溫度。4.3.2 DS18B20的接口電路設(shè)計(jì)如圖4.7所示,該系統(tǒng)中采用數(shù)字式溫度傳感器DS18B20,具有測(cè)量
35、精度高,電路連接簡(jiǎn)單特點(diǎn),此類傳感器僅需要一條數(shù)據(jù)線進(jìn)行數(shù)據(jù)傳輸,用P2.3與DS18B20的DQ口連接,VCC接電源,GND接地。 圖4.7溫度傳感器DS18B20接口電路4.4 鬧鐘模塊系統(tǒng)設(shè)計(jì)于性能分析此部分硬件上利用AT24C02存儲(chǔ)鬧鐘時(shí)間,普通蜂鳴器作為鬧鈴播放器件。4.4.1 AT24C02器件分析(1)AT24C02的特性: 與400KHz I2C 總線兼容; 到6.0 伏工作電壓范圍; 低功耗CMOS 技術(shù); 寫(xiě)保護(hù)功能當(dāng) WP 為高電平時(shí)進(jìn)入寫(xiě)保護(hù)狀態(tài); 自定時(shí)擦寫(xiě)周期; 1,000,000 編程/擦除周期; 腳DIP SOIC 或TSSOP 封裝; 溫度范圍商業(yè)級(jí)工業(yè)級(jí)和
36、汽車級(jí)。(2)AT24C02功能說(shuō)明AT24C02支持的是I2C 為總線數(shù)據(jù)的傳送協(xié)議。I2C 的總線協(xié)議規(guī)定:發(fā)送器為把數(shù)據(jù)傳輸?shù)娇偩€的器件;接收器為接收總線數(shù)據(jù)的器件。數(shù)據(jù)傳送的控制是由產(chǎn)生串行時(shí)鐘以及所有起始停止信號(hào)的主器件決定的。主器件與從器件都是能夠作為接收器或發(fā)送器的,但是由主器件控制傳送、發(fā)送或接收數(shù)據(jù)的模式通過(guò)器件的地址輸入端口A0、A1 和A2 可以實(shí)現(xiàn)將最多8個(gè)24WC01和24WC02 器件連接到總線上。引腳圖腳描述如下:圖4.8 AT24C02引腳圖A0 A1 A2 器件地址選擇SDA 串行數(shù)據(jù)和地址SCL 串行時(shí)鐘WP 寫(xiě)保護(hù) VCC +1.8V6.0GND 接地4.
37、4.2 接口電路的設(shè)計(jì) AT24C02與單片機(jī)的接口電路如圖4.7所示:4.9 AT24C02與STC89C52RC的接口電路4.5 LCD顯示模塊4.5.1 LCM1602的特性及使用說(shuō)明(1)LCM1602的接口信號(hào)說(shuō)明表表3 LCM1602的接口信號(hào)編號(hào)引腳符號(hào)功能說(shuō)明編號(hào)引腳符號(hào)功能說(shuō)明1VSS電源地9D2DATA I/O2VDD電源正極10D3DATA I/O3VL液晶顯示的偏壓信號(hào)11D4DATA I/O4RS數(shù)據(jù)/命令選擇端(H/L)12D5DATA I/O5R/W讀/寫(xiě)選擇端(H/L)13D6DATA I/O6E使能信號(hào)14D7DATA I/O7D0DATA I/O15BLA背
38、光正極8D1DATA I/O16BLK背光負(fù)極(2)基本地操作時(shí)序如下: 讀狀態(tài):RS=L,RW=H,E=H; 寫(xiě)指令:RS=L,RW=L,D0D7=指令碼,E=高脈沖; 讀數(shù)據(jù):RS=H,RW=H,E=H; 寫(xiě)數(shù)據(jù):RS=H,RW=L,D0D7=數(shù)據(jù),E=高脈沖。(3)初始化地設(shè)置: 顯示的模式設(shè)置如下表4表4顯示的模式設(shè)置指令碼功能00111000設(shè)置16X2顯示,5X7點(diǎn)陣,8位的數(shù)據(jù)接口 顯示開(kāi)/關(guān)以及光標(biāo)設(shè)置如表5表5 顯示開(kāi)/關(guān)以及光標(biāo)設(shè)置指令碼功能00001DCBD=1 開(kāi)開(kāi)顯示; D=0 關(guān)掉顯示C=1 顯示出來(lái)光標(biāo);C=0 不會(huì)顯示光標(biāo)B=1 光標(biāo)要閃爍;B=0 光標(biāo)不會(huì)顯示
39、000001NSN=1 當(dāng)讀或著是寫(xiě)一個(gè)字符之后地址指針就加1,并且光標(biāo)也加1;N=0 當(dāng)讀或著是寫(xiě)一個(gè)字符之后地址指針就減1,并且光標(biāo)也減1;S=1 當(dāng)要寫(xiě)一個(gè)字符,整個(gè)的屏幕就會(huì)顯示左移4.5.2 LCM1602與STC89C52RC單片機(jī)的接口電路接口電路如圖4.8所示: 圖4.10 LCM1602的接口電路圖LCD的D0D7分別接單片機(jī)的的P0口,作為數(shù)據(jù)線,因?yàn)镻0口內(nèi)部沒(méi)有上拉電阻,所以外部另外加上10K的上拉電阻;P2.0P2.2分別接LCD的RS、RW、E三個(gè)控制管腳;RV1用來(lái)調(diào)節(jié)LCD的顯示灰度;BLK、BLA為背光的陰極和陽(yáng)極,接上相應(yīng)電平即點(diǎn)亮背光燈。4.6 按鍵模塊設(shè)
40、計(jì)本系統(tǒng)用到了5個(gè)按鍵,其中一個(gè)用作系統(tǒng)手動(dòng)復(fù)位,另外4個(gè)采用獨(dú)立按鍵,該種接法查詢簡(jiǎn)單,程序處理簡(jiǎn)單,可節(jié)省CPU資源,按鍵電路如圖4.11所示,4個(gè)獨(dú)立按鍵分別與單片機(jī)的P1.4、P1.5、P1.6、P2.7接口相連。圖4.11 按鍵電路(1) 對(duì)以上4個(gè)按鍵作簡(jiǎn)要說(shuō)明:S2SET(時(shí)間設(shè)置鍵),S3UP鍵,S4DOWN鍵,S5SET1(鬧鐘設(shè)置鍵)。SET鍵:按下SET鍵進(jìn)入時(shí)間校準(zhǔn)狀態(tài),按一下進(jìn)入秒調(diào)整,兩下分調(diào)整,依此類推可進(jìn)行各年月日,時(shí)分秒以及星期的校準(zhǔn);UP鍵:當(dāng)SET鍵按下時(shí),UP進(jìn)行SET選定項(xiàng)(如:小時(shí))的加操作;DOWN鍵:當(dāng)SET鍵按下時(shí),DOWN進(jìn)行SET選定項(xiàng)(如
41、:小時(shí))的減操作;SET1鍵:當(dāng)SET鍵按下時(shí),此鍵功能為設(shè)置鬧鐘時(shí)間和開(kāi)關(guān)鬧鐘功能。(2)按鍵消抖設(shè)置:由于從鍵按下到接觸穩(wěn)定要經(jīng)過(guò)數(shù)毫秒的抖動(dòng),鍵松開(kāi)時(shí)也有同樣的問(wèn)題,這樣會(huì)引起一次按鍵多次讀數(shù),因此需要消除抖動(dòng)來(lái)解決這個(gè)問(wèn)題。解決鍵的抖動(dòng)可使用軟件或硬件的方法。鍵數(shù)較多時(shí),采用軟件延時(shí)的方法。本產(chǎn)品按鍵較少可實(shí)驗(yàn)R-S觸發(fā)器來(lái)克服抖動(dòng),如下圖所示:圖4.12 R-S觸發(fā)器按鍵消抖電路圖4.7蜂鳴器設(shè)計(jì)為鬧鐘響鈴而設(shè)計(jì)的蜂鳴器電路圖如圖4.13所示:圖4.13蜂鳴器電路圖在本設(shè)計(jì)中,蜂鳴器連接關(guān)系如圖所示單片機(jī)T1腳輸出接Q1基極,通過(guò)控制Q1導(dǎo)通或截止來(lái)控制蜂鳴器上是否有電流,從而發(fā)出聲
42、音。當(dāng)前的時(shí)間值等于設(shè)定的鬧鈴時(shí)間值的時(shí)候,蜂鳴器會(huì)發(fā)出聲音報(bào)警。5 軟件設(shè)計(jì)整個(gè)軟件系統(tǒng)采用C語(yǔ)言編程,主要實(shí)現(xiàn)以下功能:(1)LCD的驅(qū)動(dòng);(2)按鍵的識(shí)別處理;(3)溫度的采集;(4)時(shí)間數(shù)據(jù)的采集;(5)鬧鈴的設(shè)置。5.1 軟件總體部分的設(shè)計(jì)程序從main()函數(shù)開(kāi)始運(yùn)行,隨后對(duì)LCD、DS18B20、DS1302、鬧鐘模塊等器件進(jìn)行初始化操作并對(duì)標(biāo)志位賦初值,隨后進(jìn)入while(1)循環(huán)中運(yùn)行按鍵掃描程序及液晶顯示程序,詳細(xì)程序見(jiàn)附錄B。(1)主程序流程圖如圖5.1初始化標(biāo)志位DS1302初始化鬧鐘模塊初始化LCD1602初始化DS18B20初始化模式標(biāo)志位done=?調(diào)整模式LCD
43、顯示模塊鬧鐘模塊按鍵掃描模塊=0=1程序開(kāi)始圖5.1 主函數(shù)流程圖5.2 LCD驅(qū)動(dòng)及液晶顯示LCD驅(qū)動(dòng):LCD的驅(qū)動(dòng)包括初始化操作、寫(xiě)指令、寫(xiě)數(shù)據(jù)、顯示模塊的設(shè)定等操作。LCM1602有以下幾個(gè)基本時(shí)序: 讀狀態(tài):RS=L,RW=H,E=H; 寫(xiě)指令:RS=L,RW=L,D0D7=指令碼,E=高脈沖; 讀數(shù)據(jù):RS=H,RW=H,E=H; 寫(xiě)數(shù)據(jù):RS=H,RW=L,D0D7=數(shù)據(jù),E=高脈沖;驅(qū)動(dòng)函數(shù)是根據(jù)這幾個(gè)基本時(shí)序來(lái)完成的,下面是LCD的幾個(gè)主要驅(qū)動(dòng)函數(shù)(詳細(xì)見(jiàn)附錄): LCD_Write() *功能:LCD寫(xiě)指令/數(shù)據(jù); LCD_Initial() *功能:LCD初始化; Goto
44、XY(unsigned char x, unsigned char y)*功能:字符顯示的位置; Print(unsigned char *str) *功能:輸出字符串到LCD。5.3 按鍵識(shí)別及處理本設(shè)計(jì)中按鍵采用查詢法識(shí)別按鍵,程序簡(jiǎn)單。本系統(tǒng)中含有四個(gè)調(diào)整按鍵,分別命名為SET、UP、DOWN、SET1。在主函數(shù)里面查詢SET、SET1P兩個(gè)按鍵是否按下,UP、DOWN鍵的功能由SET和SET1鍵激活。這樣設(shè)計(jì)可以減少CPU的工作量,下面簡(jiǎn)單介紹本設(shè)計(jì)中鍵盤掃描程序(以偽代碼的形式),詳細(xì)見(jiàn)附錄B中。5.4 溫度數(shù)據(jù)采集由于DS18B20的單線通信功能是分時(shí)完成的,而且會(huì)有很嚴(yán)格的時(shí)隙的
45、概念,因此讀/寫(xiě)時(shí)序就會(huì)顯的很重要。整個(gè)系統(tǒng)對(duì)于DS18B20的每一種種操作必須按協(xié)議進(jìn)行。操作協(xié)議為:初始化DS18B20(發(fā)復(fù)位的脈沖信號(hào))發(fā)ROM的功能命令發(fā)存儲(chǔ)操作命令處理此次數(shù)據(jù)。根據(jù)單總線操作協(xié)議,首先要對(duì)DS18B20進(jìn)行初始化,而初始化有嚴(yán)格的時(shí)序控制,即總線控制器(TX)發(fā)出一個(gè)復(fù)位脈沖(至少480us的低電平),然后釋放總線進(jìn)入接收狀態(tài),總線由5.1K上拉電阻上拉為高電平,探測(cè)到I/O引腳上的上升沿后,DS18B20等待15us60us后,然后發(fā)出一個(gè)存在脈沖(60us240us的低電平信號(hào))。下面是幾個(gè)驅(qū)動(dòng)函數(shù):(1)Init_DS18B20(void) *功能:DS18
46、B20初始化(2)ReadTemp(void) *功能:讀取溫度值溫度采集模塊流程圖如圖5.2所示:開(kāi)始DS18B20初始化溫度采集送STC89C52RC處理LCM1602顯示是否超范圍?YN圖5.2溫度采集模塊流程圖5.5 時(shí)間數(shù)據(jù)采集串行的DS1302時(shí)鐘芯片的期中主要包括了控制邏輯、移位寄存器、實(shí)時(shí)時(shí)鐘、振蕩器以及內(nèi)、外部RAM。要是任意的數(shù)據(jù)傳送初始化,就應(yīng)把RST置為高電平,而且還應(yīng)該給移位寄存器裝入8位的提供地址和命令信息。數(shù)據(jù)應(yīng)該串行輸入在脈沖信號(hào)(SCLK)的上升沿。不管是發(fā)生讀周期還是寫(xiě)周期,也不管是傳送的方式是單個(gè)字節(jié)的傳送或是多字節(jié)的傳送,開(kāi)始時(shí)候的8位指定的四十個(gè)字節(jié)中
47、的那一個(gè)將被其訪問(wèn)。在初始八個(gè)時(shí)鐘周期之后就把命令字裝入到移位的寄存器,之外的時(shí)鐘正在讀操作時(shí)的輸出/輸入的數(shù)據(jù)。時(shí)鐘脈沖(SCLK)的數(shù)量在單個(gè)字節(jié)方式下應(yīng)該8加8,其在多個(gè)字節(jié)的方式下最大可以能夠達(dá)到248的數(shù)。(1)DS1302的時(shí)鐘部分子程序主要涉及以下幾個(gè)主要函數(shù):void DS1302InputByte(unsigned char d); *功能:實(shí)時(shí)的時(shí)鐘寫(xiě)到里面一字節(jié)(內(nèi)部函數(shù))unsigned char DS1302OutputByte(void); *功能:實(shí)時(shí)的時(shí)鐘讀取一個(gè)字節(jié)(內(nèi)部函數(shù))Write1302() *功能:DS1302寫(xiě)到里面數(shù)據(jù)函數(shù)Read1302() *
48、功能:讀取DS1302某某地址地?cái)?shù)void DS1302_GetTime(SYSTEMTIME *Time)。 *功能:獲取時(shí)鐘芯片的時(shí)鐘數(shù)據(jù)到自定義的結(jié)構(gòu)型數(shù)組(2)時(shí)間程序的流程圖如圖5.3所示:開(kāi)始結(jié)束初始化DS1302讀時(shí)間和日期調(diào)整時(shí)間和日期NLCM1602顯示需要調(diào)整時(shí)間嗎?Y是否繼續(xù)顯示NY圖5.3時(shí)間程序的流程圖5.6 鬧鐘程序這一部分的實(shí)現(xiàn)是采用E2PROM存儲(chǔ)器來(lái)儲(chǔ)存鬧鐘信息,因?yàn)樗哂械綦娙阅鼙4鏀?shù)據(jù)的特性。所以本設(shè)計(jì)中把鬧鐘信息寫(xiě)先寫(xiě)入AT24C02存儲(chǔ)器中,然后在程序中讀出數(shù)據(jù)與當(dāng)前時(shí)間進(jìn)行比較,如果相等則發(fā)出鬧鐘警告。如果要對(duì)鬧鐘值進(jìn)行修改,可通過(guò)幾個(gè)按鍵進(jìn)行,系統(tǒng)
49、能根據(jù)用戶的設(shè)定自動(dòng)更新鬧鐘信息。鬧鐘程序的流程圖如圖5.4所示:將所定時(shí)間寫(xiě)入存儲(chǔ)器響鈴繼續(xù)響鈴?fù)V鬼戔徥欠裢V刽[鈴當(dāng)前時(shí)間與所定時(shí)間是否相等鬧鈴是否響夠10sYYYNNN開(kāi)始圖5.4鬧鐘程序的流程圖6 系統(tǒng)的測(cè)試本多功能電子萬(wàn)年歷實(shí)物如圖6.1和6.2所示圖6.1 多功能電子萬(wàn)年歷實(shí)物圖圖6.2 初始開(kāi)啟實(shí)物圖(1)時(shí)間、日期和鬧鈴設(shè)置的測(cè)試:打開(kāi)開(kāi)關(guān)顯示器顯示初始化數(shù)據(jù),按時(shí)間調(diào)節(jié)按鈕,光標(biāo)會(huì)從秒位開(kāi)始閃爍,進(jìn)入設(shè)定調(diào)整狀態(tài)。此時(shí)按加按鈕,當(dāng)前數(shù)字就可改變。按一次,數(shù)字加1。此時(shí),調(diào)整的位一直在閃爍,直到再次按時(shí)間設(shè)置按鈕,光標(biāo)跳到下一位閃爍。調(diào)整順序依次為:秒、分、時(shí)、星期、日期、月份
50、、年。當(dāng)年份點(diǎn)整結(jié)束后按時(shí)間設(shè)置按鈕退出,光標(biāo)停止閃爍,退出設(shè)定調(diào)整狀態(tài)。按下鬧鈴設(shè)置按鈕,光標(biāo)從鬧鈴開(kāi)關(guān)狀態(tài)“ON”開(kāi)始閃爍;接下來(lái)的調(diào)整與前面時(shí)間日期設(shè)置相同。測(cè)試實(shí)物圖如圖6.3、6.4所示:圖6.3 實(shí)物調(diào)試時(shí)間、日期、星期、溫度顯示圖圖6.4實(shí)物調(diào)式鬧鈴顯示圖計(jì)時(shí)器最關(guān)鍵的是計(jì)時(shí)的精度。電子萬(wàn)年歷中DS1302電路使用專用的晶振,經(jīng)測(cè)試制作的電子萬(wàn)年歷,一個(gè)小時(shí)快了1s左右,誤差較大,實(shí)驗(yàn)設(shè)計(jì)中可換用標(biāo)準(zhǔn)晶振或用軟件進(jìn)行修正。(2)鬧鈴設(shè)定的響鈴測(cè)試:測(cè)試地點(diǎn)五號(hào)樓613,2013年5月10號(hào):表6鬧鈴設(shè)定的響鈴測(cè)試比較表時(shí)間本產(chǎn)品時(shí)間設(shè)置鬧鈴時(shí)間14點(diǎn)20分鬧鈴開(kāi)始響鈴時(shí)間14點(diǎn)2
51、0分1秒(3)溫度的測(cè)試:測(cè)試地點(diǎn)五號(hào)樓613,2013年5月10號(hào):表7 間隔5分鐘同一地點(diǎn)溫度采集比較時(shí)間實(shí)際測(cè)量本產(chǎn)品測(cè)量14點(diǎn)23.523.114點(diǎn)5分23.223.9通過(guò)比較本產(chǎn)品采集的溫度和溫度計(jì)采集的溫度,兩者之間溫度值相差不大,因此本產(chǎn)品可以完成溫度采集的要求。通過(guò)調(diào)式證實(shí)本系統(tǒng)可以完成上文介紹的有共能,但在測(cè)試過(guò)程中發(fā)現(xiàn)本系統(tǒng)沒(méi)有記憶功能???結(jié)論文首先對(duì)本設(shè)計(jì)作了簡(jiǎn)要描述,隨后提出了不同的設(shè)計(jì)方案,經(jīng)過(guò)論證最后確定該設(shè)計(jì)采用電源模塊、時(shí)鐘模塊、顯示模塊、鍵盤接口模塊、溫度測(cè)量模塊和鬧鐘模塊共六個(gè)模塊組成,接著分別從硬件系統(tǒng)和軟件系統(tǒng)兩方面對(duì)基于單片機(jī)的電子萬(wàn)年歷設(shè)計(jì)作了詳細(xì)
52、論述,另外還簡(jiǎn)要介紹了一下系統(tǒng)的調(diào)試。在整個(gè)設(shè)計(jì)過(guò)程中,硬件方面主要設(shè)計(jì)了STC89C52RC單片機(jī)的最小系統(tǒng)、DS1302接口電路、DS18B20接口電路、鬧鐘及LCD顯示;軟件方面借助各個(gè)渠道的資料,主要設(shè)計(jì)了陽(yáng)歷數(shù)據(jù)讀取程序、陽(yáng)歷轉(zhuǎn)陰歷程序、溫度采集程序、鬧鈴程序以及LCD顯示程序;系統(tǒng)的調(diào)試主要是通過(guò)一塊STC89C52RC開(kāi)發(fā)板,再借助于Keil、STC以及少許自己搭建的外圍電路實(shí)現(xiàn)的;再此過(guò)程中,分步調(diào)試時(shí)顯示出了陽(yáng)歷的日期及時(shí)間,還有實(shí)時(shí)溫度,集中調(diào)試時(shí)沒(méi)有達(dá)到預(yù)期效果。但在此過(guò)程中培養(yǎng)了自己的動(dòng)手能力。此多功能電子萬(wàn)年歷具有讀顯示直觀、功能多樣、電路簡(jiǎn)潔、成本低廉等諸多優(yōu)點(diǎn),符
53、合電子儀器儀表的發(fā)展趨勢(shì),具有廣闊的市場(chǎng)前景。致 謝經(jīng)過(guò)幾個(gè)月的探索與努力,在指導(dǎo)老師的精心指導(dǎo)寫(xiě),終于完成了畢業(yè)設(shè)計(jì)及論文。在論文完成之際,我的心情萬(wàn)分激動(dòng)。從論文的選題、資料的收集到論文的撰寫(xiě)編排整個(gè)過(guò)程中,我得到了許多的熱情幫助。其中無(wú)不凝聚著指導(dǎo)老師王老師的汗水和心血,在此本人深表感謝!首先我要感謝我的畢業(yè)論文指導(dǎo)老師王濤老師,從論文最初的選題,到后來(lái)的開(kāi)題報(bào)告,直到論文完成的整個(gè)過(guò)程都的到了王老師的精心指導(dǎo)。王老師認(rèn)真仔細(xì)的學(xué)風(fēng)、踏實(shí)勤儉的工作態(tài)度每時(shí)每刻都激勵(lì)著我要努力的學(xué)習(xí),并將鞭策我在未來(lái)的工作中銳意進(jìn)取、奮發(fā)努力。導(dǎo)師的指導(dǎo)將使我終生受益。還要對(duì)所有授課老師表示深深的謝意!感
54、謝我的各位同學(xué)和朋友,只因?yàn)橛心銈兾业恼撐膶?xiě)作才能順利文成!再者我要感謝各位到場(chǎng)老師,是你們?cè)诎倜χ谐槌鰰r(shí)間來(lái)對(duì)我的論文進(jìn)行指導(dǎo),你們的意見(jiàn)和建議將是我一生的財(cái)富!最后,再次向所有關(guān)心我、幫助我、支持我的人們表示深深的謝意!參考文獻(xiàn)1張萌.單片機(jī)應(yīng)用系統(tǒng)開(kāi)發(fā)綜合實(shí)例M. 北京:清華大學(xué)出版社,2007.7.2樓然苗.單片機(jī)課程設(shè)計(jì)指導(dǎo)M. 北京:北京航空航天大學(xué)出版社,2007.7.3沈德金.MCS51系列單片機(jī)接口電路與應(yīng)用程序?qū)嵗齅. 北京:北京航空航天大學(xué)出版社,1991.4.4 朱思榮51單片機(jī)實(shí)現(xiàn)公歷與農(nóng)歷、星期的轉(zhuǎn)換Z.當(dāng)當(dāng)電子網(wǎng).5 AT24WC01/02/04/08/16 1
55、K/2K/4K/8K/16K 位串行E2PROMD.廣州周立功單片機(jī)有限公司.6 DS1302 Trickle Charge Timekeeping Chip datasheetD.7 馬忠梅.籍順心等單片機(jī)的C語(yǔ)言應(yīng)用程序設(shè)計(jì)M北京航空航天大學(xué)出版社, 2001年.8 陳明熒,8051單片機(jī)課程設(shè)計(jì)實(shí)訓(xùn)教程M北京:清華大學(xué)出版社.9 何立民單片機(jī)高級(jí)教程M北京:北京航空航天大學(xué)出版社,2003年.10 新編單片機(jī)原理與應(yīng)用(第二版).西安電子科技大學(xué)出版社,2007.2.11 李廣弟. 單片機(jī)原理及應(yīng)用M 北京航空航天大學(xué)出版社,2004年.12 王越明.電子萬(wàn)年歷的設(shè)計(jì)J.黑龍江科技信息,
56、2004年.13 SCM1602 LCM 使用說(shuō)明書(shū)DB.長(zhǎng)沙:長(zhǎng)沙太陽(yáng)人電子有限公司.14 趙亮. 單片機(jī)C語(yǔ)言編程與實(shí)例M 人民郵電出版社,2003年.15 http:/. 16 http:/.17 http:/.附 錄附錄A 源程序:#include #include intrins.h#include 24c02.h#define uchar unsigned char#define uint unsigned intuchar code tabe1=20 - -; /液晶一直顯示的字符uchar code tabe2= : : ;uchar code tabe3=Alarm set:
57、;uchar miao,fen,shi,nian,yue,ri,week,wendu_shi,wendu_ge,wendu_shu,variate,alarm_shi,alarm_fen,alarm_miao;uchar flag=1,count=0,flag_up=0,flag_down=0,flag_alarm=0,alarm_on,alarm_count=0,done=0;uint wendu;/定義IOsbit DQ = P10; /ds18b20溫度傳送數(shù)據(jù)IO口sbit ds1302_rst = P11; /1302復(fù)位sbit ds1302_io = P12; /數(shù)據(jù)輸入輸出sb
58、it ds1302_sclk= P13; /串行時(shí)鐘sbit alarm_out = P36;sbit lcd1602_rs = P20; / 1602命令、數(shù)據(jù)選擇sbit lcd1602_rw = P21; / 1602寫(xiě)sbit lcd1602_e = P22; / 1602使能sbit set = P24;/選擇按鍵sbit up = P25;/加sbit down= P26;/減sbit nao = P27;sbit ACC0=ACC0;sbit ACC7=ACC7;/延時(shí)void delay(uchar x)uchar y,z;for(z=x;z0;z-)for(y=110;y0;y-);void delay1()_nop_();_nop_();ds18b20_delay(uchar xus) /延時(shí)xuswhile(xus-);/*ds18b20*/void ds18b20_init() /DS18B20初始化uchar x=0; DQ=1;ds18b20_delay(8);DQ=0;ds18b20_delay(80);DQ=1;ds18b20_delay(14);x=DQ;ds18b20_delay(20);void write_onechar(uchar dat) /寫(xiě)一字節(jié)uchar i;for(i=8;i0;i
- 溫馨提示:
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. 裝配圖網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 六級(jí)上冊(cè)科學(xué)ppt課件-誰(shuí)選擇了它們-教科版
- 護(hù)理核心制度培訓(xùn)一_圖文課件
- 部編《池子與河流》課件
- SWOT分析法(非常全面)課件
- 主題班會(huì)我的成長(zhǎng)目標(biāo)課件
- 城市交通擁堵及治理總結(jié)課件
- 輸血相關(guān)性急性肺損傷課件
- 議論文的謀篇布局與論點(diǎn)的提出ppt課件
- 六級(jí)上冊(cè)科學(xué)ppt課件-地球的近鄰——月球-冀人版
- 疾病預(yù)防、冬季保暖-課件
- 中考英語(yǔ)語(yǔ)法復(fù)習(xí)之狀語(yǔ)從句ppt課件集4
- 《百分?jǐn)?shù)的意義和讀寫(xiě)》參考ppt課件
- 主題班會(huì)堅(jiān)持就是勝利課件
- 第二章--用人單位對(duì)大學(xué)生的要求概況ppt課件
- 教科版六年級(jí)科學(xué)上冊(cè)第三單元檢測(cè)卷(含答案)課件