單片機(jī)電子萬(wàn)年歷系統(tǒng)的設(shè)計(jì)與研究_第1頁(yè)
單片機(jī)電子萬(wàn)年歷系統(tǒng)的設(shè)計(jì)與研究_第2頁(yè)
單片機(jī)電子萬(wàn)年歷系統(tǒng)的設(shè)計(jì)與研究_第3頁(yè)
單片機(jī)電子萬(wàn)年歷系統(tǒng)的設(shè)計(jì)與研究_第4頁(yè)
單片機(jī)電子萬(wàn)年歷系統(tǒng)的設(shè)計(jì)與研究_第5頁(yè)
已閱讀5頁(yè),還剩38頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、陜西理工學(xué)院畢業(yè)設(shè)計(jì)引 言電子時(shí)鐘已成為人們?nèi)粘I钪斜夭豢缮俚奈锲?,廣泛用于家庭以及車站、碼頭、劇院、辦公室等公共場(chǎng)所,給人們的生活、學(xué)習(xí)、工作、娛樂帶來(lái)了極大的方便。隨著電子技術(shù)的發(fā)展,人們已不再滿足于鐘表原先簡(jiǎn)單的計(jì)時(shí)功能,希望出現(xiàn)一些新的功能,諸如日歷的顯示、鬧鐘的應(yīng)用等,以帶來(lái)更大的方便。因此,研究實(shí)用電子時(shí)鐘及其擴(kuò)展應(yīng)用,有著非?,F(xiàn)實(shí)的意義,具有很大的實(shí)用價(jià)值。由于數(shù)字集成電路技術(shù)的發(fā)展和采用了先進(jìn)的石英技術(shù),現(xiàn)代電子時(shí)鐘具有走時(shí)準(zhǔn)確、性能穩(wěn)定、制作維修簡(jiǎn)單等優(yōu)點(diǎn),彌補(bǔ)了傳統(tǒng)鐘表的許多不足之處。我們利用單片機(jī)技術(shù)設(shè)計(jì)制作的電子萬(wàn)年歷, 可以很方便的由軟件編程進(jìn)行功能的調(diào)整和改進(jìn),使

2、其在能夠準(zhǔn)確顯示年、月、日、時(shí)間、星期的同時(shí),還能具有很多其他的功能。如設(shè)定鬧鐘、重要節(jié)日的顯示等,有一定的新穎性和實(shí)用性,同時(shí)體積小、計(jì)時(shí)準(zhǔn)確,使用也更為方便,具有技術(shù)更新周期短、成本低、開放靈活等優(yōu)點(diǎn)。單片機(jī)自1976年由intel公司推出mcs-48開始,迄今已有二十多年了。由于單片機(jī)集成度高、功能強(qiáng)、可靠性高、體積小、功耗地、使用方便、價(jià)格低廉等一系列優(yōu)點(diǎn),目前已經(jīng)滲入到人們工作和生活的方方面面,幾乎“無(wú)處不在,無(wú)所不為”。單片機(jī)的應(yīng)用領(lǐng)域已從面向工業(yè)控制、通訊、交通、智能儀表等迅速發(fā)展到家用消費(fèi)產(chǎn)品、辦公自動(dòng)化、汽車電子、pc機(jī)外圍以及網(wǎng)絡(luò)通訊等廣大領(lǐng)域。其應(yīng)用于儀器儀表中顯得更為優(yōu)

3、越。以單片機(jī)制成的電子時(shí)鐘具有計(jì)時(shí)準(zhǔn)確,功耗低的優(yōu)點(diǎn)。從而得到了各界領(lǐng)域的廣泛應(yīng)用。單片機(jī)正處在微控制器的全面發(fā)展階段,各公司的產(chǎn)品在盡量兼容的同時(shí),向高速,強(qiáng)運(yùn)算能力,尋址范圍大以及小型廉價(jià)方面發(fā)展。單片機(jī)的發(fā)展推動(dòng)了應(yīng)用系統(tǒng)的發(fā)展,應(yīng)用系統(tǒng)的發(fā)展又反過(guò)來(lái)對(duì)單片機(jī)提出了更高要求,從而促進(jìn)單片機(jī)的發(fā)展。單片機(jī)正向著功能更強(qiáng),速度更快,功耗更低,輻射更小的方向發(fā)展。隨著集成度的不斷提高,把眾多的外圍功能器件集成在片內(nèi)已經(jīng)具備了充分的條件。這也是單片機(jī)以后發(fā)展的重要趨勢(shì)。at89s52是美國(guó)atmel公司生產(chǎn)的低電壓、高性能cmos 8位單片機(jī),片內(nèi)含8kb的可反復(fù)檫寫的程序存儲(chǔ)器和256b的隨機(jī)

4、存取數(shù)據(jù)存儲(chǔ)器(ram),器件采用atmel公司的高密度、非易失性存儲(chǔ)技術(shù)生產(chǎn),兼容標(biāo)準(zhǔn)mcs-51指令系統(tǒng),片內(nèi)配置通用8位中央處理器(cpu)和flash存儲(chǔ)單元,功能強(qiáng)大的at89s52單片機(jī)可靈活應(yīng)用于各種控制領(lǐng)域。美國(guó)dallas公司推出的低功耗實(shí)時(shí)時(shí)鐘芯片ds12c887。它可以對(duì)年、月、日、周日、時(shí)、分、秒進(jìn)行計(jì)時(shí),還具有閏年補(bǔ)償?shù)榷喾N功能,而且ds12c887的使用壽命長(zhǎng),誤差小。對(duì)于數(shù)字電子萬(wàn)年歷采用直觀的數(shù)字顯示,可以同時(shí)顯示年、月、日、周日、時(shí)、分、秒和溫度等信息,還具有時(shí)間校準(zhǔn)等功能。該電路采用at89s52單片機(jī)作為核心,功耗小,能在3v的低壓工作,電壓可選用35v電

5、壓供電。本文通過(guò)對(duì)一個(gè)基于單片機(jī)的能實(shí)現(xiàn)萬(wàn)年歷功能電子時(shí)鐘的設(shè)計(jì),從而達(dá)到學(xué)習(xí)、了解單片機(jī)相關(guān)指令在各方面的應(yīng)用。系統(tǒng)由主控制器at89s52、時(shí)鐘電路ds12c887、數(shù)字式溫度傳感器ds18b20、點(diǎn)陣式lcd12863顯示電路、按鍵電路等部分構(gòu)成,能實(shí)現(xiàn)時(shí)鐘日歷顯示,能進(jìn)行時(shí)、分、秒的顯示,重要節(jié)日的顯示等功能。1 設(shè)計(jì)要求與方案論證1.1 設(shè)計(jì)要求 具備年、月、日、星期、時(shí)、分、秒等功能; 時(shí)間與陽(yáng)歷能夠自動(dòng)關(guān)聯(lián); 具備溫度計(jì)量與重要節(jié)日顯示功能; 具備年、月、日、星期、時(shí)、分、秒校準(zhǔn)功能。1.2 系統(tǒng)基本方案選擇和論證1.2.1 單片機(jī)芯片的選擇方案和論證方案一: 采用89c51芯片

6、作為硬件核心,采用flash rom,內(nèi)部具有4kb rom 存儲(chǔ)空間,能以3v的超低壓工作,而且與mcs-51系列單片機(jī)完全兼容,但是運(yùn)用于電路設(shè)計(jì)中時(shí)由于不具備isp在線編程技術(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ì)芯片

7、多次拔插,由此不會(huì)對(duì)芯片造成損壞。所以選擇采用at89s52作為主控制系統(tǒng)。1.2.2 顯示模塊選擇方案和論證方案一:采用led數(shù)碼管動(dòng)態(tài)掃描,led數(shù)碼管價(jià)格適中,對(duì)于顯示數(shù)字合適,而且采用動(dòng)態(tài)掃描法與單片機(jī)連接時(shí),占用的單片機(jī)口線少。但led數(shù)碼管不能顯示漢字且連線復(fù)雜,所以此設(shè)計(jì)不采用led數(shù)碼管作為顯示。方案二: 采用點(diǎn)陣式數(shù)碼管顯示,點(diǎn)陣式數(shù)碼管是由八行八列的發(fā)光二極管組成,對(duì)于顯示文字也比較適合,但線路連接相當(dāng)復(fù)雜,所以也不用點(diǎn)陣式數(shù)碼管作為顯示。方案三: 采用點(diǎn)陣式lcd12864顯示,點(diǎn)陣式lcd12864的顯示功能強(qiáng)大,可顯示大量文字,圖形,顯示多樣,清晰可見,且線路連接方便

8、,所以在此設(shè)計(jì)中采用點(diǎn)陣式lcd12864。1.2.3 時(shí)鐘芯片的選擇方案和論證方案一:直接采用單片機(jī)定時(shí)計(jì)數(shù)器提供秒信號(hào),使用程序?qū)崿F(xiàn)年、月、日、星期、時(shí)、分、秒計(jì)數(shù)。采用此種方案雖然減少芯片的使用,節(jié)約成本,但是,實(shí)現(xiàn)的時(shí)間誤差較大。所以不采用此方案。方案二:采用ds12c887時(shí)鐘芯片實(shí)現(xiàn)時(shí)鐘,ds12c887芯片是一種高性能的時(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。1.2.4 溫度傳感器的選擇方案與論證方案一:使用熱敏電阻作為傳感器,用熱敏電阻與一個(gè)相應(yīng)阻值

9、電阻相串聯(lián)分壓,利用熱敏電阻阻值隨溫度變化而變化的特性,采集這兩個(gè)電阻變化的分壓值,并進(jìn)行a/d轉(zhuǎn)換。此設(shè)計(jì)方案需用a/d轉(zhuǎn)換電路,增加硬件成本而且熱敏電阻的感溫特性曲線并不是嚴(yán)格線性的,會(huì)產(chǎn)生較大的測(cè)量誤差。方案二:采用數(shù)字式溫度傳感器ds18b20,此類傳感器為數(shù)字式傳感器而且僅需要一條數(shù)據(jù)線進(jìn)行數(shù)據(jù)傳輸,易于與單片機(jī)連接,可以去除a/d模塊,降低硬件成本,簡(jiǎn)化系統(tǒng)電路。另外,數(shù)字式溫度傳感器還具有測(cè)量精度高、測(cè)量范圍廣等優(yōu)點(diǎn)。1.3 電路設(shè)計(jì)最終方案決定綜上各方案所述,對(duì)此次作品的方案選定: 采用at89s52作為主控制系統(tǒng);時(shí)鐘芯片ds12c887提供時(shí)鐘計(jì)數(shù);點(diǎn)陣式lcd12864為

10、顯示。2 系統(tǒng)的硬件設(shè)計(jì)與實(shí)現(xiàn)2.1 電路設(shè)計(jì)框圖 模鍵盤塊at89s52主控制模塊點(diǎn)陣式lcd12864顯示模塊 溫度采集模塊ds12c887時(shí)鐘模塊圖2.1 電路設(shè)計(jì)框圖2.2 系統(tǒng)硬件概述本電路是由at89s52單片機(jī)為控制核心,具有在線編程功能,低功耗,能在3v超低壓工作;時(shí)鐘電路由ds12887提供,它是一種高性能、低功耗、帶ram的實(shí)時(shí)時(shí)鐘電路,它可以對(duì)年、月、日、周日、時(shí)、分、秒進(jìn)行計(jì)時(shí),具有閏年補(bǔ)償功能,工作電壓為2.5v5.5v。采用三線接口與cpu進(jìn)行同步通信,并可采用突發(fā)方式一次傳送多個(gè)字節(jié)的時(shí)鐘信號(hào)或ram數(shù)據(jù)。ds12c887內(nèi)部有一個(gè)31*8的用于臨時(shí)性存放數(shù)據(jù)的r

11、am寄存器??僧a(chǎn)生年、月、日、周日、時(shí)、分、秒,具有使用壽命長(zhǎng),精度高和低功耗等特點(diǎn),同時(shí)具有掉電自動(dòng)保存功能;顯示部份由液晶顯示屏12864構(gòu)成。2.3 主要單元電路的設(shè)計(jì)2.3.1 單片機(jī)主控制模塊的設(shè)計(jì)at89s52單片機(jī)為40引腳雙列直插芯片,有四個(gè)i/o口p0、p1、p2、p3, mcs-51單片機(jī)共有4個(gè)8位的i/o口(p0、p1、p2、p3),每一條i/o線都能獨(dú)立地作輸出或輸入。單片機(jī)的最小系統(tǒng)如圖2.2所示,18引腳和19引腳接時(shí)鐘電路,xtal1接外部晶振和微調(diào)電容的一端,在片內(nèi)它是振蕩器倒相放大器的輸入,xtal2接外部晶振和微調(diào)電容的另一端,在片內(nèi)它是振蕩器倒相放大器的

12、輸出。第9引腳為復(fù)位輸入端,接上電容,電阻及開關(guān)后夠上電復(fù)位電路,20引腳為接地端,40引腳為電源端。圖2.2 主控制系統(tǒng)2.3.2 時(shí)鐘電路模塊的設(shè)計(jì)圖2.3示出ds12887的引腳排列,gnd、 vcc:直流電源,其中vcc接+5v輸入,gnd接地,當(dāng)vcc輸入為+5v時(shí),用戶可以訪問(wèn)ds12c887內(nèi)ram中的數(shù)據(jù),并可對(duì)其進(jìn)行讀、寫操作;當(dāng)vcc的輸入小于+4.25v時(shí),禁止用戶對(duì)內(nèi)部ram進(jìn)行讀、寫操作,此時(shí)用戶不能正確獲取芯片內(nèi)的時(shí)間信息;當(dāng)vcc的輸入小于+3v時(shí), ds12c887會(huì)自動(dòng)將電源發(fā)換到內(nèi)部自帶的鋰電池上,以保證內(nèi)部的電路能夠正常工作。mot是模式選擇腳,接地選用i

13、ntel模式。ad0ad7是復(fù)用地址數(shù)據(jù)總線,與單片機(jī)p0口連接。cs是片選輸入,低電平有效。圖2.3 ds12c887的引腳圖2.3.3 溫度采集模塊設(shè)計(jì)如圖2.4所示。采用數(shù)字式溫度傳感器ds18b20,它是數(shù)字式溫度傳感器,具有測(cè)量精度高,電路連接簡(jiǎn)單特點(diǎn),此類傳感器僅需要一條數(shù)據(jù)線進(jìn)行數(shù)據(jù)傳輸,使用p3.1口與ds18b20的i/o口連接加一個(gè)上拉電阻,vcc接電源,vss接地。圖2.4 ds18b20溫度采集2.3.4 電路原理及說(shuō)明(1) 時(shí)鐘芯片ds12c887的工作原理ds12c887能夠自動(dòng)產(chǎn)生世紀(jì)、年、月、日、時(shí)、分、秒等時(shí)間信息,其內(nèi)部又增加了世紀(jì)寄存器,從而利用硬件電路

14、解決子“千年”問(wèn)題; ds12c887中自帶有鋰電池,外部掉電時(shí),其內(nèi)部時(shí)間信息還能夠保持10年之久;對(duì)于一天內(nèi)的時(shí)間記錄,有12小時(shí)制和24小時(shí)制兩種模式。在12小時(shí)制模式中,用am和pm區(qū)分上午和下午;時(shí)間的表示方法也有兩種,一種用二進(jìn)制數(shù)表示,一種是用bcd碼表示;ds12c887中帶有128字節(jié) ram,其中有11字節(jié)ram用來(lái)存儲(chǔ)時(shí)間信息,4字節(jié)ram用來(lái)存儲(chǔ)ds12c887的控制信息,稱為控制寄存器,113字節(jié)通用ram使用戶使用;此外用戶還可對(duì)ds12c887進(jìn)行編程以實(shí)現(xiàn)多種方波輸出,并可對(duì)其內(nèi)部的三路中斷通過(guò)軟件進(jìn)行屏蔽。 (2) ds12c88的引腳功能 gnd、 vcc:

15、直流電源,其中vcc接+5v輸入,gnd接地;mot:模式選擇腳,接gnd選用的是intel模式;ad0ad7:復(fù)用地址數(shù)據(jù)總線,與p0口相連接;irq:中斷請(qǐng)求輸入,低電平有效,與外部中斷int0連接;ds/rd:數(shù)據(jù)選擇或讀輸入腳,與p17口連接;r/w:讀/寫輸入端,與p16口相連接;as:地址選通輸入腳,與p15口連接;cs:片選輸入,低電平有效,與p14口連接.(3) ds12c887的存儲(chǔ)功能表2.1 ds12c887的存儲(chǔ)功能地址功能取值范圍十進(jìn)制數(shù)取值范圍二進(jìn)制bcd碼0秒059003b00591秒鬧鐘059003b00592分059003b00593分鬧鐘059003b005

16、9412小時(shí)模式012010c am,818c pm0112am,8192pm24小時(shí)模式023001700235時(shí)鬧鐘,12小時(shí)制112010c am,818c pm0112am,8192pm時(shí)鬧鐘,24小時(shí)制023001700236星期幾(星期天=1131011f01318月112010c01129年0990063009910控制寄存器a11控制寄存器b12控制寄存器c13控制寄存器d50世紀(jì)099na19,202.3.5 顯示模塊的設(shè)計(jì)(1) 點(diǎn)陣式lcd12864的工作原理點(diǎn)陣式lcd12864-0402b是一種具有4位/8位并行、2線或3線串行多種接口方式,

17、內(nèi)部含有國(guó)標(biāo)一級(jí)、二級(jí)簡(jiǎn)體中文字庫(kù)的點(diǎn)陣圖形液晶顯示模塊;其顯示分辨率為12864, 內(nèi)置8192個(gè)16*16點(diǎn)漢字,和128個(gè)16*8點(diǎn)ascii字符集.利用該模塊靈活的接口方式和簡(jiǎn)單、方便的操作指令,可構(gòu)成全中文人機(jī)交互圖形界面??梢燥@示84行1616點(diǎn)陣的漢字. 也可完成圖形顯示.低電壓低功耗是其又一顯著特點(diǎn)。由該模塊構(gòu)成的液晶顯示方案與同類型的圖形點(diǎn)陣液晶顯示模塊相比,不論硬件電路結(jié)構(gòu)或顯示程序都要簡(jiǎn)潔得多。(2) 點(diǎn)陣式lcd12864的讀寫時(shí)序圖圖2.6 串口數(shù)據(jù)線模式數(shù)據(jù)傳輸過(guò)程(3) 點(diǎn)陣式lcd12864顯示如圖2.7所示,采用點(diǎn)陣式lcd12864顯示,vss、r/w(si

18、d)、k接地;vdd、reset、psb、a接高電平;rs(cs)、e(sclk)分別與p10和p11連接;db0db7與p2口相連。圖2.7 點(diǎn)陣式lcd12864顯示3 系統(tǒng)的軟件設(shè)計(jì)3.1 程序流程框圖圖3.1主程序流程圖 圖3.2 計(jì)算陽(yáng)歷程序流程圖圖3.3時(shí)間調(diào)整程序流程圖3.2 子程序的設(shè)計(jì)3.2.1 ds18b20溫度子程序第 43 頁(yè) 共 43 頁(yè) config12 equ 7fh temph equ 21h templ equ 20h reg2 equ 22h reg3 equ 23h reg4 equ 24h dat equ p0.7toutou: lcall chushi

19、 lcall rdtemp mov a,templ anl a,#11110000b mov templ,a mov a,temph anl a,#00000111b orl a,templ swap a mov 25h,a mov a,25h mov b,#64h div ab mov a,b mov b,#0ah div ab swap a orl a,b mov 10h,a retchushi: lcall reset mov a,#0cch lcall write111 mov a,#4eh lcall write111 mov a,#config12 lcall write111 r

20、etrdtemp: lcall reset mov a,#0cch lcall write111 mov a,#44h lcall write111 lcall dl1ms lcall reset mov a,#0cch lcall write111 mov a,#0beh lcall write111 lcall erad111 mov templ,a lcall erad111 mov temph,a retreset:la: setb dat mov 52h,#200lb: clr dat djnz 52h,lb setb dat mov 52h,#30lc: djnz 52h,lc c

21、lr c orl c,dat jc lb mov 58h,#80ld: orl c,dat jc lp djnz 58h,ld sjmp lalp: mov 52h,#250lf: djnz 52h,lf retwrite111: mov 53h,#8w51ha: setb dat mov 54h,#8 rrc a clr datw52ha: djnz 54h,w52ha mov dat,c mov 54h,#30w53ha: djnz 54h,w53ha djnz 53h,w51ha setb dat reterad111: clr ea mov 58h,#8rd1a: clr dat mo

22、v 54h,#6 nop setb datrd2a: djnz 54h,rd2a mov c,dat rrc a mov 55h,#30rd3a: djnz 55h,rd3a djnz 58h,rd1a setb dat ret3.2.2 ds12c887子程序?qū)?2c887程序write: clr sclk nop setb rst nop mov a,32h mov r4,#8write1: rrc a ;送地址給12c887 nop nop clr sclk nop nop nop mov io,c nop nop nop setb sclk nop nop djnz r4,write1

23、 clr sclk nop mov a,31h mov r4,#8write2: rrc a nop ;送數(shù)據(jù)給12c887 clr sclk nop nop mov io,c nop nop nop setb sclk nop nop djnz r4,write2 clr rst ret;讀12c887程序read: clr sclk nop nop setb rst nop mov a,32h mov r4,#8read1: rrc a ;送地址給12c887 nop mov io,c nop nop nop setb sclk nop nop nop clr sclk nop nop d

24、jnz r4,read1 mov r4,#8read2: clr sclk nop ;從12c887中讀出數(shù)據(jù) nop nop mov c,io nop nop nop nop nop rrc a nop nop nop nop setb sclk nop djnz r4,read2 mov 31h,a clr rst ret4 結(jié) 論4.1 在實(shí)際中遇到的問(wèn)題及解決方案4.1.1 硬 件電子萬(wàn)年歷的電路系統(tǒng)較大,對(duì)于連線方面不可輕視,龐大的電路系統(tǒng)中只要出現(xiàn)一處錯(cuò)誤,則會(huì)對(duì)系統(tǒng)運(yùn)行造成很大的不便,而且電路的交線較多,對(duì)于各種芯片的引腳要特別注意處理,否則很容易接錯(cuò)引腳而是電路不能正常工作。在

25、電子萬(wàn)年歷的設(shè)計(jì)最初調(diào)試中遇到了很多的問(wèn)題?;叵脒@些問(wèn)題只要認(rèn)真多思考都是可以避免的,以下為主要的問(wèn)題:(1) 點(diǎn)正式lcd12864a、k腳連接混淆,致使顯示屏顯示微弱。解決:a管腳接電源,k管腳接地,即可解決此為題。(2) 對(duì)萬(wàn)年歷修改時(shí)間或日期時(shí),有時(shí)按鍵下去并無(wú)任何作用。解決:對(duì)系統(tǒng)斷電,用萬(wàn)用表測(cè)試,發(fā)現(xiàn)按鍵與單片機(jī)接口處出現(xiàn)多處斷路,重新連接此處線路,即可解決問(wèn)題。(3) 點(diǎn)正式lcd12864顯示屏?xí)r常出現(xiàn)顯示停滯或顯示亂碼。解決:檢查線路,ds12c887的ad1-ad7管腳與p0口相連接,p0口出未加上;上拉驅(qū)動(dòng)電阻,故選用九針500歐姆排阻作為p0口驅(qū)動(dòng)電阻,即可解決此問(wèn)題

26、。4.1.2 軟 件電子萬(wàn)年歷是多功能的數(shù)字型、可以看當(dāng)前日期、時(shí)間、溫度的儀器。電子萬(wàn)年歷功能繁多,對(duì)于它的程序也較為復(fù)雜,所以在編寫程序和調(diào)試時(shí)出現(xiàn)了相對(duì)較多的問(wèn)題。最后經(jīng)過(guò)多次的模塊子程序的修改,一步一步的完成,最終解決了軟件。在軟件的調(diào)試過(guò)程中主要遇到的問(wèn)題如下:(1)燒入程序后,點(diǎn)陣式lcd2864顯示閃動(dòng),而且亮度不均勻。解決:首先對(duì)調(diào)用的延時(shí)進(jìn)行逐漸修改,可以解決顯示閃動(dòng)問(wèn)題。其次,由于本設(shè)計(jì)使用動(dòng)態(tài)掃描方式顯示的數(shù)字,動(dòng)態(tài)掃描很快,人的肉眼是無(wú)法看出,但是調(diào)用的顯示程序時(shí),如果不在反回時(shí)屏蔽掉最后的附值,則會(huì)出現(xiàn)很亮的現(xiàn)象,所以在顯示的后面加了屏蔽子令,最后解決了此問(wèn)題。(2)

27、修改時(shí)間、日期時(shí)時(shí)間與日期沒有自動(dòng)對(duì)應(yīng)上。解決:把不相關(guān)的程序暫時(shí)屏蔽,日歷的子程序獨(dú)立調(diào)試,發(fā)現(xiàn)在調(diào)用日歷自動(dòng)更新時(shí),對(duì)十進(jìn)制和十六進(jìn)制處理不好,所以會(huì)造成錯(cuò)亂。最后把相應(yīng)的十進(jìn)制進(jìn)行修改,使得可以與十六進(jìn)制對(duì)應(yīng),最后解決了此問(wèn)題。 (3)加入溫度的程序后,溫度顯示部分只顯示ds18b20的初始值85.0。 解決:由于ds18b20是串行通信數(shù)據(jù),只用一個(gè)口線傳輸,在處理采集的模擬信號(hào)時(shí)需要一定的時(shí)間,當(dāng)把萬(wàn)年歷的程序相接入時(shí),會(huì)對(duì)延時(shí)有很大的影響。所以在調(diào)用溫度子程序時(shí),先關(guān)閉定時(shí)器1中斷允許,在溫度子程序返回時(shí)再打開定時(shí)器1中斷允許。最終解決了此問(wèn)題。4.2 調(diào)試小結(jié)經(jīng)過(guò)多次反復(fù)的測(cè)試與

28、分析,對(duì)電路的原理及功能更加熟悉,同時(shí)提高了電路設(shè)計(jì)能力以及對(duì)電路分析能力.尤其在軟件的編程方面得到進(jìn)一步提高,對(duì)編程能力得到加強(qiáng).最重要的是所學(xué)的理論知識(shí)得到了很大的提高與鞏固。4.3 萬(wàn)年歷部分成品圖片圖4.2 萬(wàn)年歷實(shí)物圖片 總結(jié)本文的電子萬(wàn)年歷系統(tǒng)以單片機(jī)at89s52為基礎(chǔ),加以外圍電路。利用時(shí)鐘芯片ds12c887作為時(shí)鐘計(jì)時(shí)電路,做到計(jì)時(shí)準(zhǔn)確無(wú)誤;數(shù)字傳感器ds18b20作為溫度采樣系統(tǒng),采集處理溫度:點(diǎn)陣式lcd12864作為信息顯示屏,工作穩(wěn)定,字符清晰,字體美觀,亮度適中。三個(gè)月的畢業(yè)設(shè)計(jì),在老師的指導(dǎo)下已經(jīng)順利結(jié)束了。通過(guò)對(duì)本課題的研究和設(shè)計(jì),從中了解到進(jìn)行一項(xiàng)工程設(shè)計(jì)的

29、大體過(guò)程,了解了如何根據(jù)項(xiàng)目的指標(biāo)要求,分析實(shí)現(xiàn)設(shè)計(jì)方案,并且優(yōu)選,了解如何通過(guò)硬件、軟件設(shè)計(jì)實(shí)現(xiàn)這一方案。在設(shè)計(jì)的過(guò)程中,我學(xué)到了好多在書本里沒有的知識(shí),知道了接手一個(gè)新項(xiàng)目時(shí)應(yīng)該如何去考慮它,采取什么樣的方法,如何去確定,如何去取舍。我不僅較好的完成了畢業(yè)設(shè)計(jì)的任務(wù)要求,而且積累了一些實(shí)踐經(jīng)驗(yàn),具有一定的實(shí)用價(jià)值。在實(shí)踐過(guò)程中,發(fā)覺自己過(guò)去所學(xué)在實(shí)際應(yīng)用中還是遠(yuǎn)遠(yuǎn)不夠的,且有時(shí)軟件的理論設(shè)計(jì)是可行的,但在客觀實(shí)踐中往往會(huì)出現(xiàn)人為干擾等一系列不可預(yù)知的問(wèn)題。但通過(guò)自己不斷的查閱資料和詢問(wèn)老師和同學(xué),并不斷實(shí)踐,這樣,理論與實(shí)際就很好的聯(lián)系起來(lái),最終克服了困難。這點(diǎn)我感受頗深。最后,這次設(shè)計(jì)可

30、以說(shuō)是對(duì)自己在大學(xué)四年中所學(xué)知識(shí)的一次總結(jié)和檢驗(yàn),所學(xué)的東西基本上用到了,從而才覺得原來(lái)所學(xué)的每門功課都是有聯(lián)系的,在實(shí)際設(shè)計(jì)與操作中增加了新知識(shí)。但是因此也讓自己了解到自己的一些薄弱環(huán)節(jié),這就促使我必須彌補(bǔ)它們。這對(duì)以后的工作學(xué)習(xí),也是很有益處的??傊?,這次設(shè)計(jì)讓我受益匪淺,我將在今后的工作學(xué)習(xí)中繼續(xù)發(fā)揚(yáng)努力進(jìn)取的精神,使自己的知識(shí)儲(chǔ)備和實(shí)踐能力得到更大的提高!致 謝在畢業(yè)設(shè)計(jì)即將完成之際,我向曾經(jīng)給于我?guī)椭椭С值娜吮硎局孕牡母兄x!感謝我的母校陜西理工學(xué)院,給我提供了這么好的學(xué)習(xí)和生活環(huán)境,在學(xué)校學(xué)習(xí)和生活的日子是我一生中一段難忘的經(jīng)歷!感謝我的導(dǎo)師張立眾老師。本次畢業(yè)設(shè)計(jì)是在張立眾老師的

31、親切關(guān)懷和悉心指導(dǎo)下完成的。他嚴(yán)肅的科學(xué)態(tài)度,嚴(yán)謹(jǐn)?shù)闹螌W(xué)精神,精益求精的工作作風(fēng),深深地感染和激勵(lì)著我。張老師不僅在學(xué)業(yè)上給我以精心指導(dǎo),同時(shí)還在思想、生活上給我以無(wú)微不至的關(guān)懷,在此謹(jǐn)向張老師致以誠(chéng)摯的謝意和崇高的敬意。我還要感謝在一起愉快的度過(guò)畢業(yè)論文小組的同學(xué)們,正是由于你們的幫助和支持,我才能克服一個(gè)一個(gè)的困難和疑惑,直至畢業(yè)設(shè)計(jì)的順利完成。同時(shí),我要感謝電氣工程系的各位老師,正是由于他們的傳道、授業(yè)、解惑,讓我學(xué)到了專業(yè)知識(shí),并從他們身上學(xué)到了如何求知治學(xué)、如何為人處事。另外,感謝電氣工程系10屆同學(xué)的幫助和勉勵(lì)。同窗之誼和手足之情,我將終生難忘!路漫漫其修遠(yuǎn)兮,吾將上下而求索。我愿

32、在未來(lái)的學(xué)習(xí)和工作過(guò)程中,以更加豐厚的成果來(lái)答謝曾經(jīng)關(guān)心、幫助和支持過(guò)我的所有領(lǐng)導(dǎo)、老師、同學(xué)、和朋友。在畢業(yè)設(shè)計(jì)即將完成之際,我的心情無(wú)法平靜,從開始進(jìn)入課題到論文的順利完成,有多少可敬的師長(zhǎng)、同學(xué)、朋友給了我無(wú)言的幫助,在這里請(qǐng)接受我誠(chéng)摯的謝意!最后,我要感謝培養(yǎng)我長(zhǎng)大含辛茹苦的父母,謝謝你們! 參考文獻(xiàn)1 華成英.模擬電子技術(shù)基礎(chǔ).高等教育出版社,20052 閻 石.數(shù)字電子技術(shù)基礎(chǔ).高等教育出版社,20063 邱關(guān)源.電路.高等教育出版,20064 何立民.單片機(jī)原理應(yīng)用與接口技術(shù).北京航空航天大學(xué)出版社,20045 譚浩強(qiáng).c語(yǔ)言程序設(shè)計(jì)(第三版).清華大學(xué)出版社,20066 李建忠

33、.單片微型機(jī)原理與應(yīng)用.西安電子科技大學(xué)出版社,2004.7 李增國(guó).傳感器與檢測(cè)技術(shù).北京航空航天大學(xué)出版社.2009.8 房小翠 ,王金鳳.單片微型計(jì)算機(jī)與機(jī)電接口技術(shù).北京國(guó)防工業(yè)出版社,2002.9 孫育才.atmel新型at89s52系列單片機(jī)及其應(yīng)用.清華大學(xué)出版社,2005.at89s52 英文資料descriptionthe at89s52 is a low-power, high-performance cmos 8-bit microcomputer with 8k bytes of flash programmable and erasable read only mem

34、ory (perom). the device is manufactured using atmels high-density nonvolatile memory technology and is compatible with the industry-standard 80c51 and 80c52 instruction set and pinout. the on-chip flash allows the program memory to be reprogrammed in-system or by a conventional nonvolatile memory pr

35、ogrammer. by combining a versatile 8-bit cpu with flash on a monolithic chip, the atmel at89s52 is a powerful microcomputer which provides a highly-flexible and cost-effective solution to many embedded control applications.pin configurationsthe at89s52 provides the following standard features: 8k by

36、tes of flash, 256 bytes of ram, 32 i/o lines, three 16-bittimer/counters, a six-vector two-level interrupt architecture, a full-duplex serial port, on-chip oscillator, and clock circuitry. in addition, the at89s52 is designed with static logic for operation down to zero frequency and supports two so

37、ftware selectable power saving modes. the idle mode stops the cpu while allowing the ram, timer/counters, serial port, and interrupt system to continue functioning. the power-down mode saves the ram contents butfreezes the oscillator, disabling all other chip functions until the next hardware reset.

38、pin descriptionvcc supply voltage.gndground.port 0port 0 is an 8-bit open drain bi-directional i/o port. as an output port, each pin can sink eight ttl inputs. when 1s are written to port 0 pins, the pins can be used as highimpedance inputs. port 0 can also be configured to be the multiplexed loword

39、er address/data bus during accesses to external program and data memory. in this mode, p0 has internalpullups.port 0 also receives the code bytes during flash programming and outputs the code bytes during program verification. external pullups are required during program verification. port 1port 1 i

40、s an 8-bit bi-directional i/o port with internal pullups. the port 1 output buffers can sink/source four ttl inputs. when 1s are written to port 1 pins, they are pulled high by the internal pullups and can be used as inputs. as inputs, port 1 pins that are externally being pulled low will source cur

41、rent() because of the internal pullups. in addition, p1.0 and p1.1 can be configured to be the timer/counter 2 external count input (p1.0/t2) and the timer/counter 2 trigger input (p1.1/t2ex), respectively, as shown in the following table.port 1 also receives the low-order address bytes during flash

42、 programming and verification.port pinalternate functionsp1.0 t2(external count input to timer/counter2)p1.1t2ex(timer/counter2 capture/reload trigger and direction control)port 2port 2 is an 8-bit bi-directional i/o port with internal pullups. the port 2 output buffers can sink/source four ttl inpu

43、ts. when 1s are written to port 2 pins, they are pulled high by the internal pullups and can be used as inputs. as inputs, port 2 pins that are externally being pulled low will source current () because of the internal pullups. port 2 emits the high-order address byte during fetches from external pr

44、ogram memory and during accesses to external data memory that use 16-bit addresses (movx dptr). in this application, port 2 uses strong internal pullups when emitting 1s. during accesses to external data memory that use 8-bit addresses (movx ri), port 2 emits the contents of the p2 special function

45、register. port 2 also receives the high-order address bits and some control signals during flash programming and verification.port 3port 3 is an 8-bit bi-directional i/o port with internal pullups. the port 3 output buffers can sink/source four ttl inputs. when 1s are written to port 3 pins, they ar

46、e pulled high by the internal pullups and can be used as inputs. as inputs, port 3 pins that are externally being pulled low will source current () because of the pullups.port 3 also serves the functions of various special features of the at89c51, as shown in the following table.port 3 also receives

47、 some control signals for flash programming and verification. port pin alternate functionsp3.0rxd(serial input port)p3.1txd(serial output port)p3.2int0(external interruput0)p3.3int1(external interruput1)p3.4t0(timer 0 external input)p3.5t1(timer 1 external input)p3.6wr(external data memory write str

48、ode)p3.7rd(external data memory read strobe)rstreset input. a high on this pin for two machine cycles while the oscillator is running resets the device. ale/address latch enable is an output pulse for latching the low byte of the address during accesses to external memory. this pin is also the progr

49、am pulse input () during flash programming. in normal operation, ale is emitted at a constant rate of 1/6 the oscillator frequency and may be used for external timing or clocking purposes. note, however, that one ale pulse is skipped during each access to external data memory. if desired, ale operat

50、ion can be disabled by setting bit 0 of sfr location 8eh. with the bit set, ale is active only during a movx or movc instruction. otherwise, the pin is weakly pulled high. setting the ale-disable bit has no effect if the microcontroller is in external execution mode.program store enable is the read

51、strobe to external program memory. when the at89s52 is executing code from external program memory, is activated twice each machine cycle, except that two activations are skipped during each access to external data memory./vppexternal access enable. must be strapped to gnd in order to enable the dev

52、ice to fetch code from external program memory locations starting at 0000h up to ffffh.note, however, that if lock bit 1 is programmed, will be internally latched on reset. should be strapped to for internal program executions.this pin also receives the 12-volt programming enable voltage () during f

53、lash programming when 12-volt programming is selected.xtal1input to the inverting oscillator amplifier and input to the internal clock operating circuit.xtal2output from the inverting oscillator amplifier.資料中文翻譯產(chǎn)品描述at89s52是美國(guó)atmel公司生產(chǎn)的低功耗,高性能coms 8位單片機(jī),片內(nèi)含8k bytes的可反復(fù)擦寫的flash只讀程序存儲(chǔ)器和256 bytes的隨機(jī)存取數(shù)據(jù)存儲(chǔ)器(ram),器件采用atmel公司的高密度、非易是失性存儲(chǔ)技術(shù)生產(chǎn),與標(biāo)準(zhǔn)mcs51指令系統(tǒng)及8052產(chǎn)品引腳兼容,片內(nèi)置通用8位中央處理器(cpu)和flash存儲(chǔ)單元,功能強(qiáng)大at89s52單片機(jī)適用許多較為復(fù)雜控制應(yīng)用場(chǎng)合。功能特性概述at89s52提供以下標(biāo)準(zhǔn)功能:8k字節(jié)flash閃速存儲(chǔ)器,256字節(jié)內(nèi)部ram,32個(gè)i/o口線,3個(gè)16位定時(shí)/計(jì)數(shù)器,一個(gè)6向量?jī)杉?jí)中斷結(jié)構(gòu),一個(gè)全雙工串行通信口,片內(nèi)振蕩器及時(shí)鐘電路。同時(shí),at89s52可將至0 hz的靜態(tài)邏輯操作,并支持兩種軟件可選的結(jié)點(diǎn)工作模式??臻e方式停止cpu工

溫馨提示

  • 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)論