課程設計(論文)基于51單片機的電子萬年歷_第1頁
課程設計(論文)基于51單片機的電子萬年歷_第2頁
課程設計(論文)基于51單片機的電子萬年歷_第3頁
課程設計(論文)基于51單片機的電子萬年歷_第4頁
課程設計(論文)基于51單片機的電子萬年歷_第5頁
已閱讀5頁,還剩12頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、基于51單片機的電子萬年歷制作【摘 要】本次設計就是設計一款萬年歷,以at89s52單片機為核心,配備數碼管顯示模塊、按鍵等功能模塊。分別采用a/d轉換器tlc1549和溫度傳感器lm35來實現的。萬年歷采用24小時制方式顯示時間,在數碼管上顯示年、月、日、小時、分鐘、秒等功能。設計的核心主要包括硬件設計和軟件編程兩個方面。硬件電路設計主要包括中央處理單元電路、時鐘電路、執(zhí)行電路等幾部分。軟件用匯編語言來實現,主要包括主程序、鍵盤掃描子程序、時間設置子程序等軟件模塊?!揪w 論】萬年歷,就是記錄一定時間范圍內(比如100年或更多)的具體陽歷與陰歷的日期的年歷,方便有需要的人查詢使用。萬年只是一種

2、象征,表示時間跨度大。這次設計通過對萬年歷系統(tǒng)的設計,詳細介紹了51 單片機應用中的按鍵處理、數碼管顯示原理、動態(tài)和靜態(tài)顯示原理、定時中斷、a/d轉換等原理。該系統(tǒng)能夠顯示年、月、日、小時、分鐘、秒、星期、農歷、溫度,通過按鍵可以修改時間和設定鬧鐘等功能。此系統(tǒng)結構簡單、功能齊全,具有一定的推廣價值。 系統(tǒng)說明1.1方案選擇l 方案一:采用日歷時鐘芯片ds12887來產生時間,數據經單片機處理后送到數碼管顯示。ds12887內部有晶體振蕩器、振蕩電路、充電電路和可充電鋰電池。此外,片內有114b的ram。l 方案二:采用純單片機制作。方案一中因為有了日歷時鐘芯片,這就使得單片機的軟件部分簡單很

3、多。但是考慮到芯片成本高,因此采用方案二。1.2 系統(tǒng)方框圖:如圖1-1所示: 圖1-1 系統(tǒng)方框圖1.3 說明系統(tǒng)由51系列單片機at89s52、按鍵、溫度采集、數碼管顯示、鬧鐘報時,電源等部分構成。單片機部分包括時鐘電路、復位電路;按鍵部分能夠實現對時間的調整和定時時間的設定。四個按鍵的功能分別為:退出、鬧鐘、設置、修改。溫度采集部分包括溫度傳感器、a/d轉換。傳感器采樣進來的信號經a/d轉換后送給單片機,經軟件處理后送至7段共陽數碼管顯示。一旦定時時間到,外接電路中的音樂芯片就會發(fā)出響聲。電源部分共輸出2個電壓,9v和5v。9v電壓給tl431提供電源,5v電壓給各個芯片提供電源。 電路

4、模塊說明2.1 單片機電路2.1.1 時鐘電路時鐘系統(tǒng)是單片機的心臟,在本次設計中,包括中央處理器在內的所有單片機都是時鐘系統(tǒng)所提供的節(jié)拍工作的。 時鐘電路由外接諧振器的時鐘振蕩器、時鐘發(fā)生器及關斷控制信號等組成。時鐘振蕩器是單片機的時鐘源,時鐘發(fā)生器對振蕩器的輸出信號進行二分頻。 cpu的時鐘振蕩信號有兩個來源:一是采用內部振蕩器,此時需要在xtal1和xtal2腳連接一只頻率范圍為033mhz的晶體振蕩或陶瓷振蕩器及兩只30pf電容。二是采用外部振蕩,此時應將外部振蕩器的輸出信號接至xtal1腳,將xtal2腳浮空。利用單片機內部的定時功能來實現時鐘的走時,通過編程實現每50毫秒產生一次中

5、斷,中斷20次后,秒單元加1,秒單元加到60時,跳回到零再繼續(xù)加,同時分單元加1。以次類推,從而實現秒、分、小時、年的走時。本次設計中采用的是內部振蕩器,頻率為12mhz的晶體振蕩器及30pf的瓷片電容。如圖2-1所示。 圖2-1時鐘電路2.1.2復位電路復位是指在規(guī)定的條件下,單片機自動將cpu以及與程序運行相關的主要功能部件、i/o口等設置為確定初始狀態(tài)的過程。如果電路參數不符合規(guī)定的條件或干擾導致單片機不能正確的復位,系統(tǒng)將無法進行正常的工作,因此,復位電路除了要符合廠家規(guī)定的參數外,還要濾除可能的干擾。at89s52單片機內部有一個由施密特觸發(fā)器等組成的復位電路。復位信號是從其9腳,即

6、rst腳輸入的。at89s52單片機規(guī)定,當其處于正常工作狀態(tài),且振蕩器工作穩(wěn)定后,在rst端有從高電平到低電平,且高電平時間大于兩個機器周期的復位信號時,cpu將完成對系統(tǒng)的復位。有兩點需要注意:一、復位信號是高電平有效,二、高電平的保持時間必須大于兩個機器周期,可見高電平保持時間與振蕩頻率有關。本次設計中采用上電復位電路,上電復位是指在系統(tǒng)上電時,rst端自動產生復位所需要的信號將單片機復位,本次設計中的上電復位電路如圖所示。上電時,rst端高電平的維持時間取決于r(1k)和c(22uf)的值。要使單片機可靠的復位,設計中使其維持的時間足夠長。如圖2-2所示。 圖2-2 復位電路2.2 溫

7、度采集電路2.2.1 溫度傳感器該系統(tǒng)采用lm35作為溫度傳感器,lm35系列是精密集成電路溫度傳感器,其輸出的電壓線性地與攝氏溫度成正比。因此,lm35比按絕對溫標校準的線性溫度傳感器優(yōu)越得多。lm35系列傳感器生產制作時已經過校準,輸出電壓與攝氏溫度一一對應,使用極為方便。靈敏度為10.0mv/,精度在0.4至0.8(-55至+150溫度范圍內),重復性好,低輸出阻抗,線性輸出和內部精密校準使其與讀出或控制電路接口簡單和方便,可單電源和正負電源工作。 圖2-3 lm35的管腳 圖2-4 lm35的電路 特性:1、在攝氏溫度下直接校準2、+10.0mv/的線性刻度系數3、確保0.5的精度(在

8、25)4、額定溫度范圍為-55至+1505、適合于遠程應用6、工作電壓范圍寬,4v至30v7、低功耗,小于60ua8、在靜止空氣中,自熱效應低,小于0.08的自熱9、非線性僅為1/410、輸出阻抗,通過1ma電流時僅為0.1 極限參數:電源電壓 輸出電壓 輸出電流+35v0.2v +6v1.0 100ma2.3.2 a/d轉換l 方案一:采用ad0809ad0809是一種8路模擬輸入8位數字輸出的逐次逼近法a/d器件,可以測量多路的模擬輸入,但也占用比較多的i/o資源。l 方案二:采用tlc1549tlc1549是一種1路模擬輸入帶串行控制的10位模數轉換器,轉換精度高,由于采用串行輸入方式占

9、用比較少的i/o資源。這次設計只需一路的模擬輸入,轉換精度高要求比較高,因此選用方案二。從溫度傳感器采集進來的電壓信號進入到a/d轉換器以形成單片機便于處理的數字信號。在該設計中,采用了美國ti公司生產的10位模數轉換器tlc1549。它采用cmos工藝,具有內在的采樣和保持,采用差分基準電壓高阻輸入,抗干擾,可按比例量程校準轉換范圍,總不可調整誤差達到()1lsb max(4.8mv),占地面積小等特點。其引腳圖見圖2-5。圖2-5 tlc1549的管腳排列其工作原理為:在芯片選擇(/cs)無效情況下,i/o clock最初被禁止且data out處于高阻狀態(tài)。當串行接口把/cs拉至有效時,

10、轉換時序開始允許i/o clock工作并使data out脫離高阻狀態(tài)。串行接口然后把i/o clock 序列提供給i/o clock并從data out接收前次轉換結果。i/o clock從主機串行接口接收長度在10和16個時鐘之間的輸入序列。開始10個i/o時鐘提供采樣模擬輸入的控制時序。在/cs的下降沿,前次轉換的msb出現10個時鐘長度 ,那么在10個時鐘的下降沿,內部邏輯把data out拉至低電平以確保其余位的值為零。在正常進行的轉換周期內,規(guī)定時間內/cs端高電平至低電平的跳變可終止改周期,器件返回初始狀態(tài)(輸出數據寄存器的內容保持為前次轉換結果)。由于可能破壞輸出數據,所以在接

11、近轉換完成時要小心防于止/cs被拉至低電平。時序圖如圖2-6所示。 圖2-6 tlc1549工作時的時序圖由于它采用串行輸出的方式,占地面積小,方便靈活,與單片機的接口簡單,所以應用非常廣泛。電路如圖2-7所示。 圖2-7 a/d轉換電路2.3 按鍵電路l 方案一:采用陣列式鍵盤 此類鍵盤是采用行列掃描方式,當按鍵較多時可以減少占用單片機的i/o口數目。 l 方案二:采用獨立式按鍵電路 每個鍵單獨占有一根i/o接口線,每個i/o口的工作狀態(tài)互不影響,此類鍵盤采用端口直接掃描方式。但是當按鍵較多時占用單片機的i/o數目較多。本系統(tǒng)只需四個按鍵,因此選擇方案二。 如果按鍵采用中斷的話,可以使單片機

12、工作更加靈活、效率更高。由于該系統(tǒng)要用到4個按鍵,考慮到單片機的中斷資源不夠,所以就只用外部int0和int1中斷,另外2個按鍵接p1.0和p1.1口。電路如圖2-8所示。 圖2-8 按鍵電路2.4 顯示電路l 方案一:采用動態(tài)顯示 這種工作方式是分時輪流選通數碼管的公共端,使得各個數碼管輪流導通。當所有數碼管依次顯示一遍后,軟件控制循環(huán),使每位顯示器分時點亮。這種方式不但能提高數碼管的發(fā)光效率,并且由于各個數碼管的字段線是并聯(lián)使用的,因而大大簡化了硬件線路。 各個數碼管雖然是分時輪流通電,但由于發(fā)光數碼管具有余輝特性及人眼具有視覺暫留作用,所以適當選取循環(huán)掃描頻率時,看上去所有數碼管是同時點

13、亮的,察覺不出有閃爍現象。l 方案二:采用靜態(tài)顯示數碼管工作在靜態(tài)顯示方式下,共陰極或共陽極點連接在一起接地或高電平。每位的段選線與一個8位并行口相連。只要在該位的段選線上保持段選碼電平,該位就能保持相應的顯示字符。該工作方式常采用串行口設定方式0輸出,外接74ls164移位寄存器構成顯示電路。 由于該系統(tǒng)用到的數碼管很多,要分3行顯示,如果采用動態(tài)顯示的話,單片機的i/o口資源明顯不夠。而采用靜態(tài)顯示的話,一個數碼管就要對應一片74ls164芯片,這使得成本要花費很多。綜合考慮后,決定采用動態(tài)顯示和靜態(tài)顯示相結合的方法。 采用3片74ls164級聯(lián)的方法來帶動21個數碼管顯示。第一行中年、月

14、、日的段選線串接在一起接到第一片74ls164,第二行中小時、分鐘、秒、星期的段選線串接在一起接到第二片74ls164,第三行中農歷月、日、溫度的段選線串接在一起接到第三片74ls164。第一片的a、b腳由單片機的rxd腳輸入,第二片的a、b腳接到第一片的qh,第三片的a、b腳接到第二片的qh。三片的clk腳共同接到單片機的txd。位選通信號用8個三極管來控制。千年與十時、農歷十月相連接至w1;百年與時、農歷月相連接至w2;十年與十分、農歷十日相連接至w3;年與分、農歷日相連接至w4;十月與十秒、溫度十位相連接至w5;月與秒、溫度個位相連接至w6;十日與星期相連接至w7;日個位接至w8。發(fā)送第

15、1個數據時,數據暫存在第一片164芯片中;發(fā)送第2個數據時,第1個數據就移到第二片164芯片,而第2個數據就存在第一片芯片中;發(fā)送第3個數據時,第1個數據就移到第三片芯片,第2個數據移到第二片芯片,而第3個數據就存在第一片芯片中。當連續(xù)發(fā)送完3個數據后,把w1打開,這時就顯示第1列的3個數;當第2次發(fā)送完3個數據后,把w2打開,就顯示第2列的3個數;依此下去就可以顯示全部的數據。w1-w8由p2口來控制選通,當選通速度很快時,肉眼就看不出有閃爍現象。電路如圖2-9所示。 圖2-9 顯示電路2.5 電源電路 該部分有2個輸出電壓,9v和5v。220v交流市電通過電源變壓器變換成交流12v低壓,再

16、經過橋式整流電路d1d4和濾波電容2200uf的整流和濾波,在固定式三端穩(wěn)壓器lm7809的vin和gnd兩端形成一個并不十分穩(wěn)定的直流電壓(該電壓常常會因為市電電壓的波動或負載的變化等原因而發(fā)生變化)。此直流電壓經過lm7809的穩(wěn)壓和100uf電容的濾波后,便在穩(wěn)壓電源的輸出產生了精度高、穩(wěn)定度好的直流輸出9v電壓。9v電壓給可調分流基準芯片tl431提供電源。tl431的主要作用是給a/d轉換芯片tlc1549提供比較精確的參考電壓。9v電源再經過lm7805穩(wěn)壓后,給各個芯片提供電源。電路見圖2-10。三端穩(wěn)壓器是標準化、系列化的通用線性穩(wěn)壓電源集成電路,以其體積小、成本低、性能好、工

17、作可靠性高、使用簡捷等特點,成為目前穩(wěn)壓電源中應用最為廣泛的一種單片式集成穩(wěn)壓器件。三端穩(wěn)壓器的工作原理(以78系列為例)如下:它與一般分立元件組成的串聯(lián)式穩(wěn)壓電路基本相似。不同的是增加了啟動電路、保護電路和恒流源。啟動電路是為恒流源建立工作點而設置的。恒流源隨著在基準電壓形成和誤差放大器電路中,是為了使穩(wěn)壓器能夠在比較大的電壓變化范圍內正常可靠工作。在芯片內設置了兩種較完善的保護電路:一是過流保護,一是過熱保護。圖2-10 電源電路德州儀器公司生產的tl431是一個有良好的熱穩(wěn)定性能的三端可調分流基準源。它的輸出電壓用兩個電阻就可以任意地設置到從vref(2.5v)到36v范圍內的任何值。該

18、器件的典型動態(tài)阻抗為0.2。圖2-11是該器件的符號。3個引腳分別為:陰極(cathode)、 陽極(anode)和參考端(ref)。它在恒壓電路中的應用如圖2-12所示。 圖2-11 tl431圖 圖2-12 tl431的電路編程輸出電壓,達36伏 電壓參考源誤差:典型+/-0.4%25 低動態(tài)輸出阻抗,典型為0.22歐 1.0毫安至100毫安的灌電流能力 典型值為50ppm/的等效全范圍溫度系數 在整個額定工作溫度范圍內可進行工作溫度補償 低輸出噪聲電壓tl431的內部含有一個2.5v的基準電壓,所以當在ref端引入輸出反饋時,器件可以通過從陰極到陽極很寬范圍的分流,控制輸出電壓。如圖2-

19、13所示的電路,當r1和r2的阻值確定時,兩者對vo的分壓引入反饋,若v o增大,反饋量增大,tl431的分流也就增加,從而又導致vo下降。顯見,這個深度的負反饋電路必然在vi等于基準電壓處穩(wěn)定,此時vo=(1+r1/r2)vref。選擇不同的r1和r2的值可以得到從2.5v到36v范圍內的任意電壓輸出,特別地,當r1=r2時,vo=5v。需要注意的是,在選擇電阻時必須保證tl431工作的必要條件,就是通過陰極的電流要大于1 ma 。在該系統(tǒng)中,2個電阻都取1k,主要是給tlc1549提供+5v的參考電壓。電路如圖2-13所示。圖2-13 tl431所構成的電路在該系統(tǒng)中還需加一個掉電保護。掉

20、電保護通??刹捎靡韵氯N方法:一是加接不間斷電源,讓整個系統(tǒng)在掉電時繼續(xù)工作;二是采用備份電源,掉電后保護系統(tǒng)中全部或部分數據存儲單元的內容;三是采用eeprom來保存數據。由于第一種方法體積大、成本高,對單片機系統(tǒng)來說,不宜采用。第二種方法是根據實際需要,掉電時保存一些必要的數據,使系統(tǒng)在電源恢復后,能夠繼續(xù)執(zhí)行程序,因而經濟實用,故大量采用。eeprom既具有rom掉電不丟失數據的特點,又有ram隨機讀寫的特點。但由于其讀寫速度與讀寫次數的限制,使得eeprom不能完全代替ram。考慮到成本等各方面問題,該系統(tǒng)只外接一個蓄電池。當掉電后,二極管導通,這時電源由蓄電池來提供。 2.6 鬧鐘電

21、路l 方案一:采用蜂鳴器聲音指示。蜂鳴器又分無源和有源兩種。前者需要輸入聲音頻率信號才能正常發(fā)聲,后者則需外加適當直流電源電壓就可以了。l 方案二:采用發(fā)光二極管來代表鬧鐘鬧鈴。l 方案三:外接音樂芯片。一旦定時時間到,單片機就給音樂芯片一個觸發(fā)脈沖,使芯片工作發(fā)出響聲。這三種方案的電路都很簡單,但考慮到方案一中蜂鳴器發(fā)出的響聲不悅耳,因此不采用;方案二用發(fā)光二極管起不到很好的報警提示作用,故也不采用。方案三雖外接音樂芯片使成本提高,但可以起到很好的報警作用,因此采用方案三。2.7 總電路圖:(見圖2-14) 圖2-14 總電路圖3. 程序流程圖3.1主程序流程圖 3.2按鍵掃描程序流程圖3.

22、3設置時間程序流程圖(int0中斷) 3.4修改時間程序流程圖(int1中斷) 3.5時間程序流程圖(t0中斷)3.6溫度采集程序流程圖 3.7鬧鐘程序流程圖3.8公歷轉農歷程序流程圖4.系統(tǒng)調試和設計效果4.1系統(tǒng)調試硬件調試的主要任務是排除硬件故障,其中包括設計錯誤和工藝性錯誤。由于在做板過程中出了點錯誤,導致腐蝕板出現挺多斷線。經萬用表檢查,手工慢慢焊接好后接入電源。再用萬用表檢查各個芯片管腳的電壓是否達到正常的工作電壓,然后判斷是否有存在短路現象等,經一步步修改后把硬件調試好。程序的調試是采用一個模塊一個模塊地進行,首先單獨調試各功能子程序,檢驗程序是否能夠實現預期的功能等;最后逐步將

23、各子程序聯(lián)接起來總調。聯(lián)調需要注意的是,各程序模塊間能否正確傳遞參數,特別要注意各子程序的現場保護與恢復。在程序調試過程當中,主要是判斷進位的問題。要調試它在大小月中進位會不會出現錯誤,尤其是十六進制和十進制之間的問題。有時候沒考慮清楚,在運算過程當中就會經常出現錯誤。在顯示部分中,我是把第一行顯示寫好后,再寫第二行,然后第三行,再把這三行顯示結合在一起。在溫度采集中,要把傳感器采集進來的信號經過a/d轉換后,再進行乘法和除法運算,bcd碼轉換。還有就是判斷閏年和閏月的問題,公歷紀年法中,能被4整除的大多是閏年,能被100整除而不能被400整除的年份不是閏年,能被3200整除的也不是閏年。4.2使用說明剛上電時,由于單片機復位后i/o口輸出高電平,音樂芯片就觸發(fā)導通發(fā)出響聲。4個按鍵的功能分別為:退出、鬧鐘、設置、修改。退出鍵:當數碼管顯示鬧鐘時間時,按下退出鍵后,顯示就切換到當前時間,同時設置鍵中選擇的要修改

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論