基于單片機電子萬年歷_的設計畢業(yè)論文
《基于單片機電子萬年歷_的設計畢業(yè)論文》由會員分享,可在線閱讀,更多相關(guān)《基于單片機電子萬年歷_的設計畢業(yè)論文(41頁珍藏版)》請在裝配圖網(wǎng)上搜索。
廣西工學院2011屆畢業(yè)論文 基于單片機的電子萬年歷 編號: 畢業(yè)設計(論文)說明書 課題名稱:基于單片機的電子萬年歷設計 院 (系): 計算機工程系 專 業(yè): 通信工程 班 級: 通信072班 學生姓名: 黃 董 學 號: 200700402056 指導教師: 袁 浩 浩 2011年 05月25日 II 摘 要 電子萬年歷是一種應用非常廣泛日常計時工具,對現(xiàn)代社會越來越重要。此電子萬年歷在硬件方面主要采用STC89C52單片機作為主控核心,由DS1302時鐘芯片提供時鐘、1602LCD液晶顯示屏顯示。STC89C52單片機是由Atmel公司推出的,功耗小,電壓可選用4~6V電壓供電;DS1302時鐘芯片是美國DALLAS公司推出的低功耗實時時鐘芯片,它可以對年、月、日、星期、時、分、秒進行計時,還具有閏年補償?shù)榷喾N功能,而且DS1302的使用壽命長,誤差?。粚τ跀?shù)字電子萬年歷采用直觀的數(shù)字顯示,數(shù)字顯示是采用的1602LED液晶顯示屏來顯示,可以同時顯示年、月、日、星期、時、分、秒等信息。此外,該電子萬年歷還具有時間校準等功能。在軟件方面,主要包括日歷程序、時間調(diào)整程序,顯示程序等。所有程序編寫完成后,在Keil軟件中進行調(diào)試,確定沒有問題后,燒寫到單片機上進行測試。 此設計主要由時鐘芯片DS1302和溫度傳感器DS18B20采集數(shù)據(jù)到單片機進行處理再通過LCD1602顯示出來,本論文主要研究了液晶顯示器LCD及時鐘芯片DS1302,溫度傳感器DS18B20與單片機之間的硬件互聯(lián)及通信,對數(shù)種硬件連接方案進行了詳盡的比較,在軟件方面對日歷算法也進行了論述。 關(guān)鍵詞:單片機;DS1302;DS18B20;LCD1602 Abstract Electronic calendar is a widely used tool for the daily time, more and more important in modern society. The electronic calendar in terms of hardware as the main control mainly STC89C52 microcontroller core, provided by the DS1302 clock chip clock, 1602LCD LCD display. STC89C52 microcontroller by Atmel introduced, the power consumption, voltage can be selected 4 ~ 6V voltage power supply; DS1302 clock chip introduced in the United States DALLAS low-power real time clock chip, which can be year, month, day, week, hours, minutes and seconds time, but also has leap-year compensation, and other functions, and the DS1302s long life, small error; for digital electronic calendar using an intuitive digital display, digital display is used 1602LED LCD screen to display, you can also shows year, month, day, week, hours, minutes, seconds and other information. In addition, the electronic calendar is also a time calibration and other functions. In terms of software, including calendar, time to adjust procedures, display procedures. All programming is completed, the Keil software debugging, make sure that no problem, programmed into the microcontroller for testing. This design mainly by the clock chip DS1302 temperature sensor to the microcontroller DS18B20 collect data for processing and then through the LCD1602 display, this thesis, the liquid crystal display LCD and clock chip DS1302, temperature sensor and microcontroller DS18B20 interconnection and communication between the hardware on Several hardware connection scheme for a detailed comparison of algorithms in software on the calendar have also been discussed. Key words: SCM; DS1302; DS18B20; LCD1602 目 錄 摘 要 I Abstract II 第 1 章 緒 論 1 1.1課題背景 1 1.2 課題意義 1 1.3國內(nèi)外現(xiàn)狀及水平 1 第2章基于單片機萬年歷的方案研究 2 2.1 系統(tǒng)基本方案選擇和論證 2 2.1.1 單片機芯片的選擇 2 2.1.2 顯示模塊選擇方案和論證 3 2.1.3 時鐘芯片的選擇方案和論證 3 2.1.4 溫度傳感器的選擇方案與論證 3 2.2 電路設計最終方案決定 4 2.3 DS1302,DS18B20和LCD1602的原理及說明 4 2.3.1 LCD1602工作原理及說明 4 2.3.2 DS1302原理及說明 5 2.3.3 DS18B20工作原理及說明 6 第3章 系統(tǒng)的硬件設計與實現(xiàn) 7 3.1電路設計框圖 7 3.2系統(tǒng)硬件概述 8 3.3 主要模塊電路的設計 8 3.3.1 STC89C52單片機主控制模塊的設計 8 3.3.2時鐘電路模塊的設計 10 3.3.3溫度采集模塊設計 11 3.3.4 顯示模塊的設計 12 3.4各模塊電路原理圖 12 3.4.1電源電路 12 3.4.2復位電路 12 3.4.3振蕩電路 13 3.4.4溫度采集電路 13 3.4.5通信電路 14 3.4.6顯示電路 15 3.4.7鍵盤電路 15 第4章 系統(tǒng)的軟件設計 16 4.1 程序流程框圖: 16 第5章 系統(tǒng)測試 18 5.1 硬件測試 18 5.2 軟件測試 18 結(jié)束語 19 致謝 19 參考文獻 20 附錄1:程序 22 37 第 1 章 緒 論 1.1課題背景 在當代繁忙的工作與生活中,時間與我們每一個人都有非常密切的關(guān)系,每個人都受到時間的影響,隨著社會、科技的發(fā)展,人類得知時間,從觀太陽、擺鐘到現(xiàn)在電子鐘,不斷研究、創(chuàng)新。為了在觀測時間的同時,能夠了解其它與人類密切相關(guān)的信息,比如溫度、星期、日期等,電子萬年歷誕生了,它集時間、日期、星期和溫度功能于一身,具有讀取方便、顯示直觀、功能多樣、電路簡潔等諸多優(yōu)點,符合電子儀器儀表的發(fā)展趨勢。伴隨著電子技術(shù)的迅速發(fā)展,特別是隨大規(guī)模集成電路出現(xiàn),給人類生活帶來了根本性的改變。由其是單片機技術(shù)的應用產(chǎn)品已經(jīng)走進了千家萬戶。電子萬年歷的出現(xiàn)給人們的生活帶來的諸多方便,作為一種附加功能,現(xiàn)在越來越廣泛的被應用于各種電子產(chǎn)品中,具有廣闊的市場前景。 1.2 課題意義 電子萬年歷作為電子類小產(chǎn)品不僅是市場上的寵兒,也是是單片機設計培訓中一個很實用的題目。因為這個課題有很好的開放性和可發(fā)揮性,對制作者的要求比較高,不僅考察了對單片機的掌握能力更加強調(diào)了對單片機擴展的應用。而且要求設計的電子萬年歷在操作上力求簡潔,功能上盡量齊全,顯示界面也要出色。所以,電子萬年歷制作無論從實用目的,還是從培養(yǎng)能力的角度來看都是很有價值的畢業(yè)設計課題。本電子萬年歷的設計在硬件方面主要采用STC89C52單片機作為主控核心,由DS1302時鐘芯片提供時鐘、1602LCD液晶顯示屏顯示。STC89C52單片機是由Atmel公司推出的,功耗小,電壓可選用4~6V電壓供電;DS1302時鐘芯片是美國DALLAS公司推出的低功耗實時時鐘芯片,它可以對年、月、日、星期、時、分、秒進行計時,而且DS1302的使用壽命長,誤差?。粩?shù)字顯示是采用的LED液晶顯示屏來顯示,可以同時顯示年、月、日、星期、時、分、秒等信息。此外,該電子萬年歷還具有時間校準等功能。在軟件方面,主要包括日歷程序、時間調(diào)整程序,顯示程序等。所有程序編寫完成后,在Keil軟件中進行調(diào)試,確定沒有問題后,燒寫到單片機上進行測試。最后在老師同學的幫助以及自己的努力下完成了此次電子萬年歷的設計。 1.3國內(nèi)外現(xiàn)狀及水平 諸如定時自動報警、按時自動打鈴、時間程序自動控制、定時廣播、自動起閉路燈、定時開關(guān)烘箱、通斷動力設備、甚至各種定時電氣的自動啟用等,但是所有這些,都是以鐘表數(shù)字化為基礎的。因此,研究萬年歷及擴大其應用,有著非?,F(xiàn)實的意義。它可以對年、月、日、周日、時、分、秒進行計時,對于數(shù)字電子萬年歷采用直觀的數(shù)字顯示,可以同時顯示年、月、日、周日、時、分、秒等信息,還具有時間校準等功能。 綜上所述此萬年歷具有讀取方便、顯示直觀、功能多樣、電路簡潔、成本低廉等諸多優(yōu)點,符合電子儀器儀表的發(fā)展趨勢,具有廣闊的市場前景。近些年我國也開始重視對電子萬年歷的開發(fā)與設計,讓更多的電子時鐘能夠走進人民生活,跟多人能夠應用到功能強大,精度高的電子時鐘。但是仍然存在很多問題。 中國電子萬年歷產(chǎn)業(yè)發(fā)展出現(xiàn)的問題中,許多情況不容樂觀,如產(chǎn)業(yè)結(jié)構(gòu)不合理、產(chǎn)業(yè)集中于勞動力密集型產(chǎn)品;技術(shù)密集型產(chǎn)品明顯落后于發(fā)達工業(yè)國家;生產(chǎn)要素決定性作用正在削弱;產(chǎn)業(yè)能源消耗大、產(chǎn)出率低、環(huán)境污染嚴重、對自然資源破壞力大;企業(yè)總體規(guī)模偏小、技術(shù)創(chuàng)新能力薄弱、管理水平落后等。 從什么角度分析中國電子萬年歷產(chǎn)業(yè)的發(fā)展狀況?以什么方式評價中國電子萬年歷產(chǎn)業(yè)的發(fā)展程度?中國電子萬年歷產(chǎn)業(yè)的發(fā)展定位和前景是什么?中國電子萬年歷產(chǎn)業(yè)發(fā)展與當前經(jīng)濟熱點問題關(guān)聯(lián)度如何……諸如此類,都是電子萬年歷產(chǎn)業(yè)發(fā)展必須面對和解決的問題——中國電子萬年歷產(chǎn)業(yè)發(fā)展已到了岔口;中國電子萬年歷產(chǎn)業(yè)生產(chǎn)企業(yè)急需選擇發(fā)展方向。 中國電子萬年歷產(chǎn)業(yè)發(fā)展研究報告闡述了世界電子萬年歷產(chǎn)業(yè)的發(fā)展歷程,分析了中國電子萬年歷產(chǎn)業(yè)發(fā)展現(xiàn)狀與差距,開創(chuàng)性地提出了“新型電子萬年歷產(chǎn)業(yè)” 及替代品產(chǎn)業(yè)概念,在此基礎上,從四個維度即“以人為本”、“科技創(chuàng)新”、“環(huán)境友好”和“面向未來”準確地界定了“新型電子萬年歷產(chǎn)業(yè)” 及替代產(chǎn)品的內(nèi)涵。根據(jù)“新型電子萬年歷產(chǎn)業(yè)” 及替代品的評價體系和量化指標體系,從全新的角度對中國電子萬年歷產(chǎn)業(yè)發(fā)展進行了推演和精準預測,在此基礎上,對中國的行政區(qū)劃和四大都市圈的電子萬年歷產(chǎn)業(yè)發(fā)展進行了全面的研究。 第2章基于單片機萬年歷的方案研究 2.1 系統(tǒng)基本方案選擇和論證 2.1.1 單片機芯片的選擇 本設計采用STC89C52芯片作為硬件核心,該芯片采用Flash ROM,內(nèi)部具有8KB ROM存儲空間,相對于本設計而言程序空間完全夠用。能于5V電壓工作,而且與MCS-51系列單片機完全兼容,而且運用于電路設計中時具備ISP在線編程技術(shù),當在對電路進行調(diào)試時,由于程序的錯誤修改或?qū)Τ绦虻男略龉δ苄枰獰氤绦驎r,避免芯片的多次拔插對芯片造成的損壞。 2.1.2 顯示模塊選擇方案和論證 方案一: 采用點陣式數(shù)碼管顯示,點陣式數(shù)碼管是由八行八列的發(fā)光二極管組成,對于顯示文字比較適合,如采用在顯示數(shù)字顯得太浪費,且價格也相對較高,所以也不用此種作為顯示。 方案二: 采用LED數(shù)碼管動態(tài)掃描,LED數(shù)碼管價格雖適中,對于顯示數(shù)字也最合適,而且采用動態(tài)掃描法與單片機連接時,占用的單片機口線少。但是由于數(shù)碼管動態(tài)掃描需要借助74LS164移位寄存器進行移位,該芯片在電路調(diào)試時往往會有很多障礙,所以不采用LED數(shù)碼管作為顯示。 方案三: 采用LCD液晶顯示屏,液晶顯示屏的顯示功能強大,可顯示大量文字,圖形,顯示多樣,清晰可見,對于電子萬年歷而言,一個1602的液晶屏即可,價格也還能接受,需要的接口線較多,但會給調(diào)試帶來諸多方便,所以此設計中采用LCD1602液晶顯示屏作為顯示模塊。 2.1.3 時鐘芯片的選擇方案和論證 方案一: 直接采用單片機定時計數(shù)器提供秒信號,使用程序?qū)崿F(xiàn)年、月、日、星期、時、分、秒計數(shù)。采用此種方案雖然可以減少時鐘芯片的使用,節(jié)約成本,但是,實現(xiàn)的時間誤差較大。所以不采用此方案。 方案二: 采用DS1302時鐘芯片實現(xiàn)時鐘,DS1302是美國DALLAS公司推出的一種高性能、低功耗、帶RAM的實時時鐘電路,它可以對年、月、日、周日、時、分、秒進行計時,工作電壓為2.5V~5.5V。采用三線接口與CPU進行同步通信,并可采用突發(fā)方式一次傳送多個字節(jié)的時鐘信號或RAM數(shù)據(jù)。DS1302內(nèi)部有一個318的用于臨時性存放數(shù)據(jù)的RAM寄存器。DS1302是DS1202的升級產(chǎn)品,與DS1202兼容,但增加了主電源/后背電源雙電源引腳,同時提供了對后背電源進行涓細電流充電的能力。主要特點是采用串行數(shù)據(jù)傳輸,可為掉電保護電源提供可編程的充電功能,并且可以關(guān)閉充電功能。采用普通32.768kHz晶振。因此,本設計中采用DS1302提供時鐘。 2.1.4 溫度傳感器的選擇方案與論證 方案一: 使用熱敏電阻作為傳感器,用熱敏電阻與一個相應阻值電阻相串聯(lián)分壓,利用熱敏電阻阻值隨溫度變化而變化的特性,采集這兩個電阻變化的分壓值,并進行A/D轉(zhuǎn)換。此設計方案需用A/D轉(zhuǎn)換電路,增加硬件成本而且熱敏電阻的感溫特性曲線并不是嚴格線性的,會產(chǎn)生較大的測量誤差。 方案二: 采用數(shù)字式溫度傳感器DS18B20,此類傳感器為數(shù)字式傳感器而且僅需要一條數(shù)據(jù)線進行數(shù)據(jù)傳輸,易于與單片機連接,可以避免A/D模數(shù)轉(zhuǎn)換模塊,降低硬件成本,簡化系統(tǒng)電路。另外,數(shù)字式溫度傳感器還具有測量精度高、測量范圍廣等優(yōu)點。因此,本設計DS18B20溫度傳感器作為溫度采集模塊。 2.2 電路設計最終方案決定 綜上各模塊的選擇方案與論證,確定最后的主要硬件資源如下:采用STC89C52作為主控制系統(tǒng);DS1302提供時鐘;DS18B20作為數(shù)字式溫度傳感器;LCD1602液晶屏作為顯示。 2.3 DS1302,DS18B20和LCD1602的原理及說明 2.3.1 LCD1602工作原理及說明 (1)寄存器選擇控制 1602字符型LCD通常有14條引腳線或16條引腳線的LCD,多出來的2條線是背光電源線。1602液晶模塊內(nèi)部的字符發(fā)生存儲器(CGROM)已經(jīng)存儲了160個不同的點陣字符,圖形寄存器選擇控制表如表2.1所示: 表2.1 LCD1602寄存器選擇控制表 RS R/W 操作說明 0 0 寫入指令寄存器(清屏指令等) 0 1 讀busy flag,以及讀取位址計數(shù)器(DB0~DB6)的值 1 0 寫入數(shù)據(jù)寄存器(顯示各字型等) 1 1 從數(shù)據(jù)寄存器讀取數(shù)據(jù) (2)指令集 1602通過D0~D7的8位數(shù)據(jù)端傳輸數(shù)據(jù)和指令。顯示模式設置(初始化)00111000[0x38]設置162顯示,57點陣,8位數(shù)據(jù)接口;顯示開關(guān)及光標設置:(初始化) 00001DCBD顯示(1有效)、C光標顯示(1有效)、B光標閃爍(1有效)。000001NS N=1(讀或?qū)懸粋€字符后地址指針加1并且光標加1),N=0(讀或?qū)懸粋€字符后地址指針減1并且光標減1),S=1且N=1(當寫一個字符后,整屏顯示左移),S=0當寫一個字符后,整屏顯示不移動。數(shù)據(jù)指針設置:數(shù)據(jù)首地址為80H,所以數(shù)據(jù)地址為80H+地址碼(0-27H,40-67H)。其他設置:01H(顯示清屏,數(shù)據(jù)指針=0,所有顯示=0);02H(顯示回車,數(shù)據(jù)指針=0)。 2.3.2 DS1302原理及說明 (1) 時鐘芯片DS1302的工作原理 DS1302在每次進行讀、寫程序前都必須初始化,先把SCLK端置 “0”,接著把RST端置“1”,最后才給予SCLK脈沖;讀/寫時序如下圖2.2所示。圖2.1為DS1302的控制字,此控制字的位7必須置1,若為0則不能把對DS1302進行讀寫數(shù)據(jù)。對于位6,若對程序進行讀/寫時RAM=1,對時間進行讀/寫時,CK=0。位1至位5指操作單元的地址。位0是讀/寫操作位,進行讀操作時,該位為1;該位為0則表示進行的是寫操作??刂谱止?jié)總是從最低位開始輸入/輸出的。表2.2為DS1302的日歷、時間寄存器內(nèi)容:“CH”是時鐘暫停標志位,當該位為1時,時鐘振蕩器停止,DS1302處于低功耗狀態(tài);當該位為0時,時鐘開始運行?!癢P”是寫保護位,在任何的對時鐘和RAM的寫操作之前,WP必須為0。當“WP”為1時,寫保護位防止對任一寄存器的寫操作。 (2) DS1302的控制字 DS1302的控制字如圖2.1所示??刂谱止?jié)的高有效位(位7)必須是邏輯1,如果它為0,則不能把數(shù)據(jù)寫入DS1302中,位6如果0,則表示存取日歷時鐘數(shù)據(jù),為1表示存取RAM數(shù)據(jù);位5至位1指示操作單元的地址;最低有效位(位0)如為0表示要進行寫操作,為1表示進行讀操作,控制字節(jié)總是從最低位開始輸出。 圖2.1 DS1302的控制字 (3) 數(shù)據(jù)輸入輸出 在控制指令字輸入后的下一個SCLK時鐘的上升沿時,數(shù)據(jù)被寫入DS1302,數(shù)據(jù)輸入從低位即位0開始。同樣,在緊跟8位的控制指令字后的下一個SCLK脈沖的下降沿讀出DS1302的數(shù)據(jù),讀出數(shù)據(jù)時從低位0位到高位7。如下圖2.2所示: 圖2.2 DS1302讀與寫的時序圖 (3) DS1302的寄存器 DS1302有12個寄存器,其中有7個寄存器與日歷、時鐘相關(guān),存放的數(shù)據(jù)位為BCD碼形式,其日歷、時間寄存器及其控制字見表2.2。 表2.2 DS1302的日歷、時間寄存器 此外,DS1302 還有年份寄存器、控制寄存器、充電寄存器、時鐘突發(fā)寄存器及與RAM相關(guān)的寄存器等。時鐘突發(fā)寄存器可一次性順序讀寫除充電寄存器外的所有寄存器內(nèi)容。 DS1302與RAM相關(guān)的寄存器分為兩類:一類是單個RAM單元,共31個,每個單元組態(tài)為一個8位的字節(jié),其命令控制字為C0H~FDH,其中奇數(shù)為讀操作,偶數(shù)為寫操作;另一類為突發(fā)方式下的RAM寄存器,此方式下可一次性讀寫所有的RAM的31個字節(jié),命令控制字為FEH(寫)、FFH(讀)。 2.3.3 DS18B20工作原理及說明 DS18B20的讀寫時序和測溫原理與DS1820相同,只是得到的溫度值的位數(shù)因分辨率不同而不同,且溫度轉(zhuǎn)換時的延時時間由2s減為750ms。 DS18B20測溫原理如圖2.3所示。圖中低溫度系數(shù)晶振的振蕩頻率受溫度影響很小,用于產(chǎn)生固定頻率的脈沖信號送給計數(shù)器1。高溫度系數(shù)晶振隨溫度變化其振蕩率明顯改變,所產(chǎn)生的信號作為計數(shù)器2的脈沖輸入。計數(shù)器1和溫度寄存器被預置在-55℃所對應的一個基數(shù)值。計數(shù)器1對低溫度系數(shù)晶振產(chǎn)生的脈沖信號進行減法計數(shù),當計數(shù)器1的預置值減到0時,溫度寄存器的值將加1,計數(shù)器1的預置將重新被裝入,計數(shù)器1重新開始對低溫度系數(shù)晶振產(chǎn)生的脈沖信號進行計數(shù),如此循環(huán)直到計數(shù)器2計數(shù)到0時,停止溫度寄存器值的累加,此時溫度寄存器中的數(shù)值即為所測溫度。圖2.3中的斜率累加器用于補償和修正測溫過程中的非線性,其輸出用于修正計數(shù)器1的預置值。 圖2.3 DS18B20測溫原理框圖 第3章 系統(tǒng)的硬件設計與實現(xiàn) 3.1電路設計框圖 本系統(tǒng)的電路系統(tǒng)框圖如圖3.1所示。STC89C52單片機對DS1302和DS18B20寫入控制字并讀取相應的數(shù)據(jù),繼而控制LCD1602作出對應的顯示。 LCD1602液晶顯示模塊 STC89C52主控模塊 按鍵控制模塊 DS1302時鐘模塊 溫度采集模塊 圖3.1 系統(tǒng)硬件框圖 3.2系統(tǒng)硬件概述 本電路是由STC89C52單片機作為控制核心,能在5V電壓工作,STC89C52是一個低功耗,高性能CMOS 8位單片機,片內(nèi)含8kBytes ISP(In-system programmable)的可反復擦寫1000次的Flash只讀程序存儲器,器件采用ATMEL公司的高密度、非易失性存儲技術(shù)制造,兼容標準MCS-51指令系統(tǒng)及80C52引腳結(jié)構(gòu),芯片內(nèi)集成了通用8位中央處理器和ISP Flash存儲單元,功能強大的微型計算機的STC89C52可為許多嵌入式控制應用系統(tǒng)提供高性價比的解決方案;時鐘電路由DS1302提供,它是一種高性能、低功耗、帶RAM的實時時鐘電路,它可以對年、月、日、周、時、分、秒進行計時,具有閏年補償功能,工作電壓為2.5V~5.5V。采用三線接口與CPU進行同步通信,并可采用突發(fā)方式一次傳送多個字節(jié)的時鐘信號或RAM數(shù)據(jù)。DS1302內(nèi)部有一個31*8的用于臨時性存放數(shù)據(jù)的RAM寄存器??僧a(chǎn)生年、月、日、周、時、分、秒,具有使用壽命長,精度高和低功耗等特點,同時具有掉電自動保存功能;溫度的采集由DS18B20完成,它具有獨特的單線接口方式,DS18B20在與微處理器連接時僅需要一條口線即可實現(xiàn)微處理器與DS18B20的雙向通訊,測溫范圍 -55℃~+125℃,固有測溫分辨率0.5℃,支持多點組網(wǎng)功能,多個DS18B20可以并聯(lián)在唯一的三線上,最多只能并聯(lián)8個,如果數(shù)量過多,會使供電電源電壓過低,從而造成信號傳輸?shù)牟环€(wěn)定,實現(xiàn)多點測溫,工作電源:3~5V/DC,在使用中不需要任何外圍元件;顯示部份由LCD1602液晶顯示器完成,該顯示器為工業(yè)字符型液晶,能夠同時顯示16x02即32個字符(16列2行)。 3.3 主要模塊電路的設計 3.3.1 STC89C52單片機主控制模塊的設計 STC系列單片機是由STMicroelectronics 公司生產(chǎn),并有宏晶公司做大陸代理的。本設計使用STC89C52作為控制核心,其管腳兼容其他51系列的單片機,以下對STC89C52進行簡單講解。 STC89C52單片機包含中央處理器、程序存儲器(ROM)、數(shù)據(jù)存儲器(RAM)、定時/計數(shù)器、并行接口、串行接口和中斷系統(tǒng)等幾大單元及數(shù)據(jù)總線、地址總線和控制總線等三大總線。采用40Pin封裝的雙列直接DIP結(jié)構(gòu),圖3.2是它們的引腳配置,40個引腳中,正電源和地線兩根,外置石英振蕩器的時鐘線兩根,4組8位共32個I/O口,中斷口線與P3口線復用?,F(xiàn)在對各引腳功能說明如下(圖3.2): 圖3.2 STC89C52單片機管腳圖 (1)主電源引腳 Vcc :接+5V電源正端。 Vss :接+5V電源地端。 (2)輸入/輸出引腳 P.0~P0.7:P0口的8個引腳。在不接片外存儲器與不擴展I/O接口時,可作為準雙向輸入/輸出接口。在接有片外存儲器或擴展I/O接口時,P0口分時復用為低8位地址總線和雙向數(shù)據(jù)總線。 P1.0~P1.7:P1口的8個引腳??勺鳛闇孰p向I/O接口使用。對于52子系列,P1.0 與 P1.1還有第二種功能:P1.0 可用作定時器/計數(shù)器2的計數(shù)脈沖輸入端T2。P1.1可用作定時器/計數(shù)器2的外部控制端T2EX。 P2.0~P2.7:P2口的8個引腳??勺鳛闇孰p向I/O接口;有接有片外存儲器或擴展I/O接口且尋址范圍超過256個字節(jié)時,P2口用作高8位地址總線。 P3.0~P3.7:P3口的8個引腳。除作為準雙向I/O接口使用外,還具有第二種功能 ,詳見表3.1。 表3.1 P3口第二功能表 引腳 第二功能 P3.0 P3.1 P3.2 P3.3 P3.4 P3.5 P3.6 P3.7 RXD(串行口輸入) TXD(串行口輸出) INT0(外部中斷0輸入) INT1(外部中斷1輸入) T0(定時器0的外部輸入) T1(定時器1的外部輸入) WR(片外數(shù)據(jù)存儲器寫控制信號) RD(片外數(shù)據(jù)存儲器讀控制信號) (3)控制總線 ALE/PROG:地址鎖存有效信號輸出端。在訪問片外程序存儲器期間,每機器周期該信號出現(xiàn)兩次,其下降沿用于控制鎖存P0口輸出的低8位地址。對于片內(nèi)含EPROM的機型,在編程期間,此引腳用作編程脈沖PROG的輸入端。 PSEN:片外程序存儲器讀選通信號輸出端,或稱片外取指信號輸出端。在向片外程序存儲器讀取指令或常數(shù)期間,每個機器周期該信號兩次有效(低電平),以通過數(shù)據(jù)總線P0口讀回指令或常數(shù)。在訪問片外數(shù)據(jù)存儲器期間,PSEN信號將不出現(xiàn)。 RST/V:(RST 是 RETET 簡略寫法。)是復位端。單片機的振蕩器工作時,該引腳上出現(xiàn)持續(xù)兩個機器周期的高電平就可實現(xiàn)復位操作,使單片機回復到初始狀態(tài)。上電時,考慮到振蕩器有一定的起振時間,該引腳上高電平必須持續(xù)10ms以上才能保證有效復位。 Vcc掉電期間,該引腳如接備用電源VPD(電壓范圍+4.5V至+5.5V),可用于保存片內(nèi)RAM中的數(shù)據(jù)。當Vcc下降到某規(guī)定值以下VPD,便向片內(nèi)RAM供電。 EA/VDD:片外程序存儲器選用端。該引腳有效(低電平)時只選用片外程序存儲器,否則計算機上電或6復位后先選用片內(nèi)程序存儲器。 (4)外接晶振引腳 XTAL1:片內(nèi)反相放大器輸入端。 XTAL2:片內(nèi)反相放大器輸出端。外接晶體時,XTAL1和 XTAL2各接晶體的一端,借外接晶體與片內(nèi)反相放大器構(gòu)成振蕩器。 圖3.3單片機最小系統(tǒng) 3.3.2時鐘電路模塊的設計 DS1302 是美國DALLAS公司推出的一種高性能、低功耗、帶RAM的實時時鐘芯片,它可以對年、月、日、周、時、分、秒進行計時,工作電壓為2.5V~5.5V。采用三線接口與CPU進行同步通信,并可采用突發(fā)方式一次傳送多個字節(jié)的時鐘信號或RAM數(shù)據(jù)。DS1302內(nèi)部有一個318的用于臨時性存放數(shù)據(jù)的RAM寄存器。DS1302是DS1202的升級產(chǎn)品,與DS1202兼容,但增加了主電源/后背電源雙電源引腳,同時提供了對后背電源進行涓細電流充電的能力。 DS1302的引腳排列,其中Vcc1為后備電源,Vcc2為主電源。在主電源關(guān)閉的情況下,也能保持時鐘的連續(xù)運行。DS1302由Vcc1或Vcc2兩者中的較大者供電。當Vcc2大于Vcc1+0.2V時,Vcc2給DS1302供電。當Vcc2小于Vcc1時,DS1302由Vcc1供電。X1和X2是振蕩源,外接32.768kHz晶振。RST是復位/片選線,通過把RST輸入驅(qū)動置高電平來啟動所有的數(shù)據(jù)傳送。RST輸入有兩種功能:首先,RST接通控制邏輯,允許地址/命令序列送入移位寄存器;其次,RST提供終止單字節(jié)或多字節(jié)數(shù)據(jù)的傳送手段。當RST為高電平時,所有的數(shù)據(jù)傳送被初始化,允許對DS1302進行操作。如果在傳送過程中RST置為低電平,則會終止此次數(shù)據(jù)傳送,I/O引腳變?yōu)楦咦钁B(tài)。上電運行時,在Vcc>2.0V之前,RST必須保持低電平。只有在SCLK為低電平時,才能將RST置為高電平。I/O為串行數(shù)據(jù)輸入輸出端(雙向),SCLK為時鐘輸入端。DS1302的控制字節(jié)的最高有效位(位7)必須是邏輯1,如果它為0,則不能把數(shù)據(jù)寫入DS1302中,位6如果為0,則表示存取日歷時鐘數(shù)據(jù),為1表示存取RAM數(shù)據(jù);位5至位1指示操作單元的地址;最低有效位(位0)如為0表示要進行寫操作,為1表示進行讀操作,控制字節(jié)總是從最低位開始輸出。 在控制指令字輸入后的下一個SCLK時鐘的上升沿時,數(shù)據(jù)被寫入DS1302,數(shù)據(jù)輸入從低位即位0開始。同樣,在緊跟8位的控制指令字后的下一個SCLK脈沖的下降沿讀出DS1302的數(shù)據(jù),讀出數(shù)據(jù)時從低位0位到高位7。DS1302有12個寄存器,其中有7個寄存器與日歷、時鐘相關(guān),存放的數(shù)據(jù)位為BCD碼形式。此外,DS1302還有年份寄存器、控制寄存器、充電寄存器、時鐘突發(fā)寄存器及與RAM相關(guān)的寄存器等。時鐘突發(fā)寄存器可一次性順序讀寫除充電寄存器外的所有寄存器內(nèi)容。DS1302與RAM相關(guān)的寄存器分為兩類:一類是單個RAM單元,共31個,每個單元組態(tài)為一個8位的字節(jié),其命令控制字為C0H~FDH,其中奇數(shù)為讀操作,偶數(shù)為寫操作;另一類為突發(fā)方式下的RAM寄存器,此方式下可一次性讀寫所有的RAM的31個字節(jié),命令控制字為FEH(寫)、FFH(讀)。DS1302與CPU的連接需要三條線,即SCLK(7)、I/O(6)、RST(5)。實際上,在調(diào)試程序時可以不加電容器,只加一個32.768kHz 的晶振即可。只是選擇晶振時,不同的晶振,誤差也較大。另外,還可以在上面的電路中加入DS18B20,同時顯示實時溫度。只要占用CPU一個口線即可。 3.3.3溫度采集模塊設計 采用數(shù)字式溫度傳感器DS18B20,它是數(shù)字式溫度傳感器,具有測量精度高,電路連接簡單特點,此類傳感器僅需要一條數(shù)據(jù)線進行數(shù)據(jù)傳輸,使用P3.5與DS18B20的I/O口連接加一個上拉電阻,Vcc接電源,Vss接地。獨特的一線接口,只需要一條口線通信多點能力,簡化了分布式溫度傳感應用無需外部元件可用數(shù)據(jù)總線供電,電壓范圍為3.0V至5.5V無需備用電源 測量溫度范圍為-55度至+125度。-10度至+85度范圍內(nèi)精度為0.5度溫度傳感器可編程的分辨率為9~12位。 3.3.4 顯示模塊的設計 采用LCD1602液晶顯示器,單片機P0口作為數(shù)據(jù)輸出口,通過10R的上拉電阻連接到VCC,VCC接5V電源,GND接地。GND為液晶顯示器對比度調(diào)整端,可以通過滑動變阻器RH1調(diào)顯示器的對比度(對比度過高時會產(chǎn)生“鬼影”,使用時可以通過一個10K的電位器調(diào)整對比度)。RS為寄存器選擇,高電平1時選擇數(shù)據(jù)寄存器、低電平0時選擇指令寄存器。R/W為讀寫信號線,高電平(1)時進行讀操作,低電平(0)時進行寫操作。E(或EN)端為使能(enable)端,下降沿使能。DB0-DB7為雙向數(shù)據(jù)總線,同時最高位DB7也是忙信號檢測位。BLA、BLK分別為顯示器背光燈的正、負極。 3.4各模塊電路原理圖 3.4.1電源電路 由USB接口供5V電壓,此電源電路能夠給單片機提供穩(wěn)定的電壓,使系統(tǒng)能夠穩(wěn)定工作如圖3.7所示 圖3.7電源電路 3.4.2復位電路 無論用戶使用哪種類型的單片機 ,總要涉及到單片機復位電路的設計。而單片機復位電路設計的好壞,直接影響到整個系統(tǒng)工作的可靠性。許多用戶在設計完單片機系統(tǒng),并在實驗室調(diào)試成功后,在現(xiàn)場卻出現(xiàn)了“死機”、“程序走飛”等現(xiàn)象,這主要是單片機的復位電路設計不可靠引起的,本電路設計采用可靠的手動復位方式,單片機復位電路如圖3.8所示 圖3.8復位電路 3.4.3振蕩電路 對于一個高可靠性的系統(tǒng)設計,晶體的選擇非常重要。在振蕩回路中,晶體既不能過激勵(容易產(chǎn)生高次諧波)也不能欠激勵(不容易起振)。晶體的選擇至少必須考慮:諧振頻點,負載電容,激勵功率,溫度特性,長期穩(wěn)定性。 在本設計中采用了11.0592MHZ的晶振。這樣有利于得到?jīng)]有誤差的波特率。特別是用于串口通信時,選用這種晶振比較好。單片機振蕩電路如圖圖3.9所示。 圖3.9震蕩電路 3.4.4溫度采集電路 單片機使用VCC與上拉電阻RDS1相連,再與DS18B20的2號引腳相接,上拉電阻取值4.7K。溫度傳感器采用外部供電方案,由1、3引腳提供電源。電路圖如下圖3.10: 圖3.10溫度采集電路 3.4.5通信電路 通信電路主要由MAX232芯片構(gòu)成,如下圖3.11所示。MAX232的T1IN引腳接在單片機TXD的P3.1引腳控制。TTL電平從單片機的TXD端發(fā)出,經(jīng)過MAX232轉(zhuǎn)換為RS-232電平后從MAX232的T1OUT引腳發(fā)出,再經(jīng)過隨板配送的交叉串口線后,連接至PC機的串口座的第二引腳RXD端,至此計算機收到數(shù)據(jù)。PC機發(fā)送數(shù)據(jù)時從PC機串口座第三腳TXD端發(fā)出數(shù)據(jù),再逆向流向單片機的RXD端P3.0接收數(shù)據(jù)。 圖3.11串口通信電路 3.4.6顯示電路 顯示電路由1602液晶接口插槽組成,如下圖3.12所示。液晶顯示器R/W端直接接地,表示只允許寫入,而不可以從中讀取。使能端E由單片機P0.7引腳控制,數(shù)據(jù)/命令選擇端由單片機的P2.6引腳控制。偏壓信號VL端與滑動變阻器RH1相連,通過RH1可以調(diào)節(jié)顯示器的顯示對比度。RD1主要用于限流作用,起到一定的保護作用。顯示器數(shù)據(jù)端口與單片機的P0對應相連,單片機通過P0口可以向顯示器中輸入控制命令或要顯示的字符。 圖3.12顯示電路 3.4.7鍵盤電路 按鍵電路由3個按鍵組 成,主要是用于調(diào)節(jié)時間,日期和星期如圖3.13所示。 圖3.13按鍵電路 第4章 系統(tǒng)的軟件設計 4.1 程序流程框圖: 開始 初始化DS1302,溫度 鍵盤掃描 是否有按鍵按下 時鐘停止 Y 功能調(diào)節(jié) N Flag=1? 時鐘顯示 獲取溫度并顯示溫度 結(jié)束 Y Y N 圖4.1主程序流程圖 主程序流程圖如上圖4.1所示。由于LCD1602,DS18B20,DS1302的數(shù)據(jù)讀取及指令寫入函數(shù)均已在各自的頭文件中完成,在主程序中只須引用即可。 由于在硬件電路方面上設計了時間調(diào)整按鍵和開關(guān),因此應有對應的時間調(diào)整程序。時間調(diào)整程序的流程圖如圖4.2所示。 圖4.2 時間調(diào)整程序流程圖 第5章 系統(tǒng)測試 5.1 硬件測試 在調(diào)試硬件時遇到過很多問題,但只要細心、認真檢查這些問題都是可以避免的,主要問題及解決辦法現(xiàn)列如下: (1) 認真檢查電路是否有短路的地方,線與線之間,管腳刺破鄰近的漆包線之間是否連接在一起,有的話要用刀劃開,或者重新焊接。 (2) 檢查完畢后接通電源后LCD1602沒有正確的顯示。在不通電狀態(tài)下用萬用表檢測電路是否正常連接,在檢查回路時發(fā)現(xiàn)有的點之間看似連接,但由于虛焊導致其并無電氣連接,只能對焊腳進行在加工直到解決問題。 5.2 軟件測試 由于本系統(tǒng)涉及到多個子程序,多個芯片的編程。首先必須對可編程芯片的控制字即其控制指令要熟記于心。其次,芯片很多都有時鐘輸入端,需要晶振支持。對芯片的讀寫都需要在相應的觸發(fā)沿到來時才能進行。由于DS18B20是串行通信數(shù)據(jù),只用一個口線傳輸,在處理采集的模擬信號時需要一定的時間,會對延時有較高要求。所以在調(diào)用溫度子程序時,先關(guān)閉定時器1中斷允許,在溫度子程序反回時再打開定時器1中斷允許。 結(jié)束語 以上所述即是基于單片機電子萬年歷的設計全過程,經(jīng)過多次的反復測試與分析,對電路的原理及功能更加熟悉,同時提高了設計能力與及對電路的分析能力.經(jīng)過此設計,基本完成了設計任務的要求。硬件層面而言操作相對簡單,界面比較友好。 在硬件電路方面,詳盡解析了各個獨立元件的選擇依據(jù),對數(shù)種方案進行了全面的比較。在時鐘芯片的選擇上,若直接采用單片機定時計數(shù)器提供秒信號,使用程序?qū)崿F(xiàn)年、月、日、星期、時、分、秒計數(shù)。采用此種方案雖然可以減少時鐘芯片的使用,節(jié)約成本,但是,實現(xiàn)的時間誤差較大。因此采用專業(yè)的時鐘芯片DS1302,它可以對年、月、日、周日、時、分、秒進行計時,主要特點是采用串行數(shù)據(jù)傳輸,可為掉電保護電源提供可編程的充電功能;在顯示模塊的選擇上,若采用LED數(shù)碼管動態(tài)掃描,LED數(shù)碼管價格雖適中,對于顯示數(shù)字也最合適,而且采用動態(tài)掃描法與單片機連接時,占用的單片機口線少。但是由于數(shù)碼管動態(tài)掃描需要借助74LS164移位寄存器進行移位,該芯片在電路調(diào)試時往往會有很多障礙,因此本次設計選擇了LCD1602,液晶顯示屏的顯示功能強大,可顯示大量文字,圖形,顯示多樣,清晰可見;在溫度采集模塊的選擇上,沒有采用熱敏電阻,因為設計方案需用A/D轉(zhuǎn)換電路,增加硬件成本而且熱敏電阻的感溫特性曲線并不是嚴格線性的,會產(chǎn)生較大的測量誤差。最后選擇了DS18B20,此類傳感器為數(shù)字式傳感器而且僅需要一條數(shù)據(jù)線進行數(shù)據(jù)傳輸,易于與單片機連接,可以避免A/D模數(shù)轉(zhuǎn)換模塊,降低硬件成本,簡化系統(tǒng)電路。另外,數(shù)字式溫度傳感器還具有測量精度高、測量范圍廣等優(yōu)點。從元件性能和組裝電路后的測試結(jié)果來看,硬件電路的設計是比較成功的,各個功能都能實現(xiàn)了。 致謝 在廣西工學院的四年學習時間即將過去,四年時間并不算長,但對我而言,是磨礪青春、揮灑書生意氣的四年,也是承受師恩、增長才干、提高學識的四年。我將以積極的面貌重新投入到火熱的工作和事業(yè)中。在此,謹對培育我的母校、教導我的老師、幫助我的同學們致予最誠摯的謝意和敬意。 這次課程設計,我一直很努力地去做,過程中得到了老師的悉心指導和同學們大力支持和熱心幫助,并對我的設計提出許多有益的建議,在此對他們表示衷心的感謝。同時也要感謝學校能給我這次機會去嘗試自己設計一些東西,使自己所學專業(yè)知識與實踐相結(jié)合。最后也要感謝有關(guān)我參考過的文獻的作者,是他們?yōu)槲姨峁┲R的源泉,使我最終能順利地完成這次課程設計。 在畢業(yè)之際,我衷心地同學和朋友們在以后的人生道路上越走越寬廣,也深深相信在未來的日子里我們將一路攜手前行,會遇到很多的碰撞和交流,我們將始終記得我們曾在廣西工學院同窗學習,這將是我克服困難、不斷前進的精神動力。 參考文獻 [1]胡乾斌,李光斌,李玲,喻紅.單片微型計算機原理與應用.華中科技大學出版社,1996. [2]劉勇.數(shù)字電路.電子工業(yè)出版社,2004. [3]陳正振.電子電路設計與制作.廣西交通職業(yè)技術(shù)學院信息工程系,2007. [4]楊子文.單片機原理及應用.西安電子科技大學出版社,2006. [5]王萍.電子技術(shù)實驗教程.機械工業(yè)出版社,2009. [6]沈紅衛(wèi).單片機應用系統(tǒng)設計實例與分析,北京:北京航空航天大學出版社.2003 [7]李光飛.單片機課程設計實例指導,北京:北京航空航天大學出版社. 2004 [8]王法能.單片機原理及應用,科學出版社. 2004 [9]樓然苗,李光飛.51系列單片機設計實例[M].北京航空航天大學出版社,2003. [10]朱定華,戴汝平.單片微機原理與應用[M].清華大學出版社,2003. [11]胡漢才.單片機原理與接口技術(shù)[M].清華大學出版社,2004. [12]余家春.Protel 99 SE電路設計實用教程[M].中國鐵道出版社,2004. [13]張培仁.基于匯編語言編程MCS-51單片機原理與應用.北京:清華大學出版社,2003. [14]T.Someya,J.Small,P.Kim,C.Nuckolls,J.T.Yardley.Alcohol vapor sensors based on single-walled carbon nanotube field effect transistors[M].Nano Letters,2003. [15]M.Penza et al.Alcohol detection using carbon nanotubes acoustic and optical sensors[M].Applied Physics Letters,2004. [16]F.Rettig,R.Moos.Direct thermoelectric gas sensors Design aspects and first gas sensors[M].Sens Actuators B,2007. 附錄1:程序 #include- 配套講稿:
如PPT文件的首頁顯示word圖標,表示該PPT已包含配套word講稿。雙擊word圖標可打開word文檔。
- 特殊限制:
部分文檔作品中含有的國旗、國徽等圖片,僅作為作品整體效果示例展示,禁止商用。設計者僅對作品中獨創(chuàng)性部分享有著作權(quán)。
- 關(guān) 鍵 詞:
- 基于 單片機 電子 萬年歷 設計 畢業(yè)論文
裝配圖網(wǎng)所有資源均是用戶自行上傳分享,僅供網(wǎng)友學習交流,未經(jīng)上傳用戶書面授權(quán),請勿作他用。
鏈接地址:http://www.820124.com/p-7113611.html