版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領
文檔簡介
1、Good is good, but better carries it.精益求精,善益求善。萬年歷的C實現(xiàn)設計課設萬年歷的C實現(xiàn)設計課設 萬年歷的C實現(xiàn)設計 120812班 呂相相摘 要古人依靠日冕、漏刻記錄時間,而隨著現(xiàn)代科技的發(fā)展,電子萬年歷已經(jīng)成為日漸流行的日常計時工具。本文研究的萬年歷系統(tǒng)擬用STC89C51單片機控制,以DS1302時鐘芯片計時、1602液晶屏顯示。系統(tǒng)主要由單片機控制電路,顯示電路以及校正電路三個模塊組成。本文闡述了系統(tǒng)的硬件工作原理,所應用的各個接口模塊的功能以及其工作過程,論證了設計方案理論的可行性。系統(tǒng)程序采用C語言編寫,經(jīng)Keil軟件進行調(diào)試后在Proteu
2、s軟件中進行仿真測試,可以顯示年、月、日、星期、時、分、秒,并具有校準功能和與即時時間同步的功能。實驗結(jié)果表明此萬年歷實現(xiàn)后具有讀取方便、顯示直觀、功能多樣、電路簡潔等諸多優(yōu)點,符合電子儀器儀表的發(fā)展趨勢,具有廣闊的市場前景。關鍵詞:萬年歷 單片機 DS1302 lcd1602 目 錄第一章 前言01.1引言(課題研究的意義)01.2本課題主要的研究工作01.2.1研究內(nèi)容01.3本章小結(jié)1第二章 單片機的概述22.1單片機的定義和特點22.1.1單片機的定義2單片機是以一個大規(guī)模集成電路為主組成的微型計算機,在一個芯片內(nèi)含有計算機的基本功能部件:中央處理器CPU、存儲器和I/O接口,CPU通
3、過內(nèi)部的總線和存儲器、I/O接口相連。22.1.2單片機的特點22.2單片機的發(fā)展現(xiàn)狀和發(fā)展趨勢22.3編程語言的選擇32.4本章小結(jié)3第三章 設計要求和方案論證43.1 設計要求43.2 單片機芯片的選擇方案和論證43.3 顯示模塊選擇方案和論證43.4時鐘芯片的選擇方案和論證53.5 電路設計最終方案決定53.6本章小結(jié)5第四章 系統(tǒng)的硬件設計與實現(xiàn)64.1 電路設計框圖64.2 系統(tǒng)硬件概述64.3 主要單元電路的設計64.3.1 STC89C52單片機簡介6P3.0P3.7:P3口是一個具有內(nèi)部上拉電阻的8位雙向I/O口。作為輸出口,每位能驅(qū)動4個TTL邏輯電平。P3口亦作為STC89
4、C52特殊功能(第二功能)使用。在flash編程和校驗時,P3口也接收一些控制信號。84.3.2 單片機主控制模塊的設計84.3.3 時鐘電路模塊的設計104.3.4獨立式鍵盤設計12 顯示模塊的設計124.4本章小結(jié)14第五章 系統(tǒng)的軟件設計155.1程序流程圖155.1.1 系統(tǒng)總流程圖155.1.2 DS1302時鐘程序流程圖155.1.3 LCD顯示程序流程圖16圖5.3 LCD顯示程序流程圖175.2程序的設計175.2.1 DS1302讀寫程序175.2.2液晶顯示程序185.3本章小結(jié)18第六章 結(jié)束語19參考文獻20附錄一:系統(tǒng)原理圖21附錄二:系統(tǒng)程序223636第一章 前言
5、1.1引言(課題研究的意義)萬年歷是我國古代傳說中最古老的一部太陽歷。為紀念歷法編撰者萬年的功績,便將這部歷法命名為“萬年歷”。而現(xiàn)在所使用的萬年歷,實際上就是記錄一定時間范圍內(nèi)(比如100年或更多)的具體陽歷或陰歷的日期的年歷,方便有需要的人查詢使用,與原始歷法并無直接聯(lián)系。而隨著微電子技術(shù)的高速發(fā)展,人類用于計時的工具也在不斷發(fā)展更新,單片機技術(shù)的出現(xiàn)使得萬年歷有了新的發(fā)展方向。單片機以其體積小、功能全、性價比高等諸多優(yōu)點,在工業(yè)控制、家用電器、通信設備、信息處理、尖端武器等各種測控領域的應用中獨占鰲頭,單片機開發(fā)技術(shù)已成為電子信息、電氣、通信、自動化、機電一體化等專業(yè)技術(shù)人員必須掌握的技
6、術(shù)。目前世界上單片機年產(chǎn)量已達十多億片,通常是當年微處理器產(chǎn)量的4-5倍以上。用最少的芯片就能實現(xiàn)最強大的功能,這是將來電子產(chǎn)品的主流方向,它將無可置疑地一步步取代其它同類產(chǎn)品,其數(shù)量之大和應用面之廣,是其它任何類型的計算機所無法比擬的。以基于單片機的萬年歷作為設計的課題,因為它有很好的開放性和可發(fā)揮性,對作者的要求比較高,不僅考察了對單片機的掌握能力而且強調(diào)了對單片機擴展的應用。另外液晶顯示的萬年歷已經(jīng)越來越流行,特別適合在家庭居室、辦公室、大廳、會議室、車站和廣場等地方使用,它具有顯示清晰直觀、走時準確、可以進行夜視等功能,并且還可以擴展出其它多種功能。所以,電子萬年歷作為設計課題很有價值
7、。1.2本課題主要的研究工作本論文主要研究基于單片機的萬年歷設計。當程序執(zhí)行后,LCD顯示即時時間、年月日、星期。設置3個操作鍵:KEY1,設置鍵;KEY2,上調(diào)鍵;KEY3,下調(diào)鍵。本設計的主要內(nèi)容:1、了解單片機技術(shù)的發(fā)展現(xiàn)狀,熟悉萬年歷各模塊的工作原理;2、選擇適當?shù)男酒驮骷?,確定系統(tǒng)電路,繪制電路原理圖,尤其是各接口電路;3、熟悉單片機使用方法和C語言的編程規(guī)則,編寫出相應模塊的應用程序。1.2.1研究內(nèi)容設計目標:使基于STC89C52單片機的萬年歷實現(xiàn)以下三個功能:1、具有年、月、日、星期、時、分、秒等功能;2、具備年、月、日、星期、時、分、秒校準功能;3、具有與即時時間同步的
8、功能。1.2.2論文章節(jié)安排:第一章:前言是介紹了基于STC89C52單片機的萬年歷研究意義,重點闡述了本課題的研究內(nèi)容和研究工作。第二章:單片機的概述主要闡述了單片機系統(tǒng)的定義以及單片機系統(tǒng)的發(fā)展現(xiàn)狀和發(fā)展趨勢。因為只有對單片機有了更深入的了解,才能設計出更好的單片機控制系統(tǒng)。本章的結(jié)尾是對單片機C語言編程的介紹。第三章:主要介紹了設計要求和課題器件選擇的論證方案。第四章:硬件基礎中主要描述了萬年歷的各個模塊的硬件設計方案,并結(jié)合各個元器件和相應的硬件原理圖進行分析,最后展示為了實現(xiàn)研究目標所需要的全部硬件基礎。第五章:軟件基礎主要羅列了實現(xiàn)萬年歷各個功能的C語言程序的流程圖,并分別對其進行
9、了解釋和分析,最后把各個C語言子程序在巧妙結(jié)合在一起,共同控制整個系統(tǒng),也就形成了實現(xiàn)研究目標所需要的所有軟件基礎。第六章:結(jié)束語主要是對本次實驗研究的總結(jié),提出本次實驗的不足之處以及相應的改進方法,以便后人繼續(xù)深入研究。1.3本章小結(jié)本章是論文的前言部分,著重介紹了萬年歷的研究意義。然后介紹了本文所要解決的實際問題及意義,以及要電子萬年歷系統(tǒng)要實現(xiàn)的功能和方法。最后簡單地描述了本論文的整體框架和論文章節(jié)的安排。第二章 單片機的概述目前單片機滲透到了我們生活的各個領域,幾乎很難找到哪個領域沒有單片機的蹤跡。我們常用的數(shù)碼產(chǎn)品,如MP3、MP4、手機、數(shù)碼相機、錄像機、攝像機,導彈的導航裝置,飛
10、機上各種儀表的控制,計算機的網(wǎng)絡通訊與數(shù)據(jù)傳輸,工業(yè)自動化過程的實時控制和數(shù)據(jù)處理,廣泛使用的各種智能IC卡,民用豪華轎車的安全保障系統(tǒng),空調(diào)、冰箱、全自動洗衣機的控制,以及遠程控制玩具、電子寵物等等,這些都離不開單片機。更不用說自動控制領域中的機器人、智能儀表、醫(yī)療器械了。單片機具有結(jié)構(gòu)簡單、控制功能強、可靠性高、體積小、價格低等優(yōu)點,因而在許多行業(yè)都得到了廣泛應用,并且在諸多領域中都發(fā)揮了無可比擬的巨大作用。2.1單片機的定義和特點2.1.1單片機的定義 單片機是以一個大規(guī)模集成電路為主組成的微型計算機,在一個芯片內(nèi)含有計算機的基本功能部件:中央處理器CPU、存儲器和I/O接口,CPU通過
11、內(nèi)部的總線和存儲器、I/O接口相連。2.1.2單片機的特點單片機以其卓越的性能,得到了廣泛的應用,已深入到各個領域。單片機應用在控制領域中,具有如下特點:單片機具有集成度高,通用性好,功能強,特別是體積小,重量輕,耗能低,成本低,可靠性高,種類多,型號全,抗干擾能力強和使用方便等獨特優(yōu)點,在數(shù)字、智能化方面有廣泛的用途。最重要的是可以采用C語言開發(fā)環(huán)境,具有友好的人機互交環(huán)境。大多數(shù)單片機都提供基于C語言開發(fā)平臺,并提供大量的函數(shù)供使用,這使產(chǎn)品的開發(fā)周期、代碼可讀性、可移植性都大為提高。2.2單片機的發(fā)展現(xiàn)狀和發(fā)展趨勢單片機的發(fā)展趨勢:低功耗CMOS化;微型單片化;主流與多品種共存;單片機從
12、8位、16位到32位,數(shù)不勝數(shù),應有盡有,有與主流C51系列兼容的,也有不兼容的,但它們各具特色,互成互補,為單片機的應用提供廣闊的天地。 縱觀單片機的發(fā)展過程,可以預示單片機的發(fā)展趨勢,大致有:1)低功耗CMOS化 MCS-51系列的8051推出時的功耗達630mW,而現(xiàn)在的單片機普遍都在100mW左右,隨著對單片機功耗要求越來越低,現(xiàn)在的各個單片機制造商基本都采用了CMOS(互補金屬氧化物半導體工藝)。像80C51就采用了HMOS(即高密度金屬氧化物半導體工藝)和CHMOS(互補高密度金屬氧化物半導體工藝)。2)微型單片化 現(xiàn)在的產(chǎn)品普遍要求體積小、重量輕,這就要求單片機除了功能強和功耗低
13、外,還要求其體積要小?,F(xiàn)在的許多單片機都具有多種封裝形式,其中SMD(表面封裝)越來越受歡迎,使得由單片機構(gòu)成的系統(tǒng)正朝微型化方向發(fā)展。3)主流與多品種共存 現(xiàn)在雖然單片機的品種繁多,各具特色,但仍以80C51為核心的單片機占主流,兼容其結(jié)構(gòu)和指令系統(tǒng)的有PHILIPS公司的產(chǎn)品,ATMEL公司的產(chǎn)品和中國的STC單片機。所以C8051為核心的單片機占據(jù)了半壁江山。而Microchip公司的PIC精簡指令集(RISC)也有著強勁的發(fā)展勢頭,中國臺灣的HOLTEK公司近年的單片機產(chǎn)量與日俱增,與其低價質(zhì)優(yōu)的優(yōu)勢,占據(jù)一定的市場分額。此外還有MOTOROLA公司的產(chǎn)品,日本幾大公司的專用單片機。在
14、一定的時期內(nèi),這種情形將得以延續(xù),將不存在某個單片機一統(tǒng)天下的壟斷局面,走的是依存互補,相輔相成、共同發(fā)展的道路。2.3編程語言的選擇在1972年,美國貝爾實驗室的D.M.Ritchie在B語言的基礎上最終設計出了一種新的語言,他取了BCPL的第二個字母作為這種語言的名字,這就是C語言。在眾多的程序設計語言中,C語言簡潔緊湊,語言表達能力強,其結(jié)構(gòu)化的流程控制有助于編制結(jié)構(gòu)良好的程序,。C語言程序經(jīng)編譯后生成的目標程序代碼效率高,幾乎可以與匯編語言媲美。C語言既具備高級語言使用方便、接近自然語言和數(shù)學語言的特性,同時也具備對計算機硬件系統(tǒng)的良好操縱和控制能力,用C語言開發(fā)產(chǎn)品可以大大縮短開發(fā)周
15、期。C語言可移植性好,一個C語言源程序可以不做改動,或者稍加改動,就可以從一種型號的計算機移轉(zhuǎn)到另外一種型號的計算機上編譯運行。因此,C語言被廣泛應用于各類系統(tǒng)軟件和應用軟件的開發(fā)。所以本系統(tǒng)以C語言進行軟件設計,增加了程序的可讀性和可移植性,便于擴展和更改,軟件的設計采用模塊化結(jié)構(gòu),使程序設計的邏輯關系更加簡潔了。2.4本章小結(jié)本章主要介紹了單片機的定義和特點,重點描述了單片機發(fā)展現(xiàn)狀和未來的發(fā)展趨勢,最后簡單地介紹了選擇的編程語言。第三章 設計要求和方案論證3.1 設計要求1、 具備在液晶上顯示年、月、日、星期、時、分、秒的功能;2、 具備年、月、日、星期、時、分、秒校準功能;3、 具有與
16、即時時間同步的功能;3.2 單片機芯片的選擇方案和論證方案一:采用AT89S51芯片作為硬件核心,內(nèi)部具有4KB ROM 存儲空間,能于3V的超低壓工作,而且與MCS-51系列單片機完全兼容,但是運用于電路設計中時由于不具備ISP在線編程技術(shù),所以在對電路進行調(diào)試時,由于程序的錯誤修改或?qū)Τ绦虻男略龉δ苄枰獰氤绦驎r,對芯片的多次拔插會對芯片造成一定的損壞。方案二:采用STC89C52芯片,STC89C52是一種低功耗、高性能的8位CMOS微控制器,具有8K的可編程Flash存儲器。同樣具有AT89S51的功能,且具有在線編程可擦除技術(shù),當對電路進行調(diào)試時,由于程序的錯誤修改或?qū)Τ绦虻男略龉δ?/p>
17、需要燒入程序時,不需要對芯片多次拔插,所以不會對芯片造成損壞,因此選擇采用STC89C52作為主控制系統(tǒng)核心。3.3 顯示模塊選擇方案和論證方案一:采用LED數(shù)碼管動態(tài)掃描,LED數(shù)碼管價格適中,對于顯示數(shù)字合適,采用動態(tài)掃描法與單片機連接時,雖然占用的單片機口線少,但連線還需要花費一點時間,所以也不用此種作為顯示。方案二:采用點陣式數(shù)碼管顯示,點陣式數(shù)碼管是由八行八列的發(fā)光二極管組成,對于顯示文字比較適合,若采用在顯示數(shù)字顯得太浪費,且價格也相對較高,所以在此也不用此種作為顯示。方案三:采用1602液晶顯示屏,該液晶顯示屏的顯示功能強大,內(nèi)置192種字符,可顯示大量符號、數(shù)字,清晰可見,而且
18、功率消耗小壽命長抗干擾能力強。所以在此設計中采用1602液晶顯示屏。3.4時鐘芯片的選擇方案和論證方案一:直接采用單片機定時計數(shù)器提供秒信號,使用程序?qū)崿F(xiàn)年、月、日、星期、時、分、秒計數(shù)。采用此種方案雖然減少芯片的使用,節(jié)約成本,但是,實現(xiàn)的時間誤差較大,所以不采用此方案。方案二:采用DS1302時鐘芯片實現(xiàn)時鐘,DS1302芯片是一種高性能的時鐘芯片,可自動對秒、分、時、日、周、月、年進行計數(shù),而且精度高,位的RAM做為數(shù)據(jù)暫存區(qū),工作電壓2.5V5.5V范圍內(nèi),2.5V時耗電小于300nA。所以本設計采用DS1302時鐘芯片。3.5 電路設計最終方案決定綜上各方案所述,對此次作品的方案選定
19、: 采用STC89C52作為主控制芯片,DS1302時鐘芯片計時,LCD1602作為顯示模塊。3.6本章小結(jié) 本章主要介紹了系統(tǒng)要實現(xiàn)的功能和萬年歷系統(tǒng)硬件平臺的選擇,比較了主控模塊,時鐘模塊,顯示模塊中不同器件的優(yōu)劣,最后確定了電路設計的整體方案。這也是完成設計的先決條件。第四章 系統(tǒng)的硬件設計與實現(xiàn)4.1 電路設計框圖根據(jù)上章確定的方案給出了系統(tǒng)整體的設計框圖:圖4.1系統(tǒng)結(jié)構(gòu)框圖為使時鐘走時與標準時間一致,校時電路是必不可少的,鍵盤模塊用來校正液晶上顯示的時間;STC89C52單片機通過輸出各種電脈沖信號來驅(qū)動控制各部分正常工作;而系統(tǒng)的時間數(shù)據(jù)則最終通過液晶模塊顯示出來。4.2 系統(tǒng)硬
20、件概述本電路是以STC89C52單片機為控制核心,該芯片具有在線編程功能,功耗低,能在3.3V的超低壓下工作;時鐘芯片采用DS1302,它是一款高性能、低功耗、自帶RAM的實時時鐘芯片,具有使用壽命長,精度高和功耗低等特點,同時具有掉電自動保存功能,可以對年、月、日、星期、時、分、秒進行計時,具有閏年補償功能,其工作電壓為2.5V5.5V;顯示部份使用1602液晶顯示屏來實現(xiàn),該顯示屏具有低功耗、壽命長、可靠性高的特點,其工作電壓為5v。4.3 主要單元電路的設計4.3.1 STC89C52單片機簡介STC89C52是一種低功耗、高性能的8位CMOS微控制器,具有8K的可編程Flash 存儲器
21、。使用高密度非易失性存儲器技術(shù)制造,與工業(yè)80C51產(chǎn)品指令和引腳完全兼容。片上Flash允許程序存儲器在系統(tǒng)可編程,亦適于常規(guī)編程器。在單芯片上,擁有靈巧的8位CPU和在線系統(tǒng)可編程Flash,使得STC89C52為眾多嵌入式控制應用系統(tǒng)提供高靈活、超有效的解決方案。STC89C52具有以下標準功能:8K字節(jié)Flash,256字節(jié)RAM,32位I/O 口線,看門狗定時器,2個數(shù)據(jù)指針,三個16位定時器/計數(shù)器,一個6向量2級中斷結(jié)構(gòu),全雙工串行口,片內(nèi)晶振及時鐘電路。另外,STC89C52可降至0Hz靜態(tài)邏輯操作,支持2種軟件可選擇節(jié)電模式??臻e模式下,CPU 停止工作,允許RAM、定時器/
22、計數(shù)器、串口、中斷繼續(xù)工作。掉電保護方式下,RAM內(nèi)容被保存,振蕩器被凍結(jié),單片機一切工作停止,直到下一個中斷或硬件復位為止。引腳排列如圖4.2所示。圖4.2 STC89C52引腳圖從引腳功能來看,可將引腳分為三部分:1、電源及時鐘引腳VCC:接+5V電源;VSS:接地;XTAL1和XTAL2:時鐘引腳,外接晶體引線端。當使用芯片內(nèi)部時鐘時,此兩引腳端用于外接石英晶體和微調(diào)電容;當使用外部時鐘時,用于接外部時鐘脈沖信號。2、控制引腳RST/VPT:RST是復位信號輸入端,VPT是備用電源輸入端。當RST輸入端保持2個機器周期以上高電平時,單片機完成復位初始化操作。當主電源VCC發(fā)生故障而突然下
23、降到一定低電壓或斷電時,第2功能VPT將為片內(nèi)RAM提供電源以保護片內(nèi)RAM中的信息不丟失。ALE/PROG:地址鎖存允許信號輸出端。在存取外存儲器時,用于鎖存低8位地址信號。當單片機正常工作后,ALE端就會周期性地以時鐘振蕩頻率的1/6固定頻率向外輸出正脈沖信號。此引腳的第2功能PROG是對片內(nèi)帶有4K字節(jié)EPROM的8751固化程序時,作為編程脈沖輸入端。PSEN:程序存儲允許輸出端。是片外程序存儲器的讀選通信號,低電平有效。CPU從外部程序存儲器取指令時,PSEN信號會自動產(chǎn)生負脈沖,作為外部程序存儲器的選通信號。EA/VPP:程序存儲器地址允許輸入端。當EA為高電平時,CPU執(zhí)行片內(nèi)程
24、序存儲器指令,但當PC中的值超過0FFFFH時,將自動轉(zhuǎn)向執(zhí)行片外程序存儲器指令;當EA為低電平時,CPU只執(zhí)行片外程序存儲器指令。對8031單片機,EA必須接低電平。在8751中,當對片內(nèi)EPROM編程時,該端接21V的編程電壓。3、I/O口引腳P0.0P0.7:P0口是一個8位漏極開路的雙向I/O口。作為輸出口,每位能驅(qū)動8個TTL邏輯電平。對P0端口寫“1”時,引腳用作高阻抗輸入。當訪問外部程序和數(shù)據(jù)存儲器時,P0口也被作為低8位地址/數(shù)據(jù)復用。P1.0P1.7:P1口是一個具有內(nèi)部上拉電阻的8位雙向I/O口。作為輸出口,每位能驅(qū)動4個TTL邏輯電平。此外,P1.0和P1.2分別作定時器
25、/計數(shù)器2的外部計數(shù)輸入(P1.0/T2)和時器/計數(shù)器2的觸發(fā)輸入(P1.1/T2EX)。在flash編程和校驗時,P1口接收低8位地址字節(jié)。P2.0P2.7:P2口是一個具有內(nèi)部上拉電阻的8位雙向I/O口。作為輸出口,每位能驅(qū)動4個TTL邏輯電平。在訪問外部程序存儲器或用16位地址讀取外部數(shù)據(jù)存儲器時,P2口送出高八位地址。在使用8位地址訪問外部數(shù)據(jù)存儲器時,P2口輸出P2鎖存器的內(nèi)容。在flash編程和校驗時,P2口也接收高8位地址字節(jié)和一些控制信號。P3.0P3.7:P3口是一個具有內(nèi)部上拉電阻的8位雙向I/O口。作為輸出口,每位能驅(qū)動4個TTL邏輯電平。P3口亦作為STC89C52特
26、殊功能(第二功能)使用。在flash編程和校驗時,P3口也接收一些控制信號。4.3.2 單片機主控制模塊的設計本設計中單片機主要負責對外設的控制和各個功能模塊間的協(xié)調(diào),沒有復雜的數(shù)據(jù)計算,因此,8位的51系列單片機足以勝任。51單片機以其低廉的價格以及較出色的性能成了很多控制系統(tǒng)的首選。它具有豐富的內(nèi)部資源,較大的數(shù)據(jù)、程序存儲區(qū)。一個典型的單片機最小系統(tǒng)一般由時鐘電路、復位電路、電源指示燈和外部擴展接口等部分組成,本系統(tǒng)也不例外,當單片機具備了這些最基本的條件后,就可以正常工作了。單片機最小系統(tǒng)復位、晶振電路簡介1、復位電路的設計復位電路是使單片機的CPU或系統(tǒng)中的其他部件處于某一確定的初始
27、狀態(tài),并從這上狀態(tài)開始工作。(1)單片機常見的復位電路通常單片機復位電路有兩種:上電復位電路,按鍵復位電路。上電復位電路:上電復位是單片機上電時復位操作,保證單片機上電后立即進入規(guī)定的復位狀態(tài)。它利用的是電容充電的原理來實現(xiàn)的。按鍵復位電路:它不僅具有上電復位電路的功能,同時它的操作比上電復位電路的操作要簡單的多。如果要實現(xiàn)復位的話,只要按下RESET鍵即可。它主要是利用電阻的分壓來實現(xiàn)的在此設計中,采用的按鍵復位電路。按鍵復位電路如圖4.3所示。圖4.3 復位電路 (2)復位電路工作原理上電復位要求接通電源后,單片機自動實現(xiàn)復位操作。上電瞬間RESET引腳獲得高電平,隨著電容的充電,RERS
28、T引腳的高電平將逐漸下降。RERST引腳的高電平只要能保持足夠的時間(2個機器周期),單片機就可以進行復位操作。上電與按鍵均有效的復位電路不僅在上電時可以自動復位,而且在單片機運行期間,利用按鍵也可以完成復位操作2、晶振電路的設計晶振電路用于產(chǎn)生單片機工作所需要的時鐘信號,而時序所研究的是指令執(zhí)行中各信號之間的相互關系。單片機本身就如一個復雜的同步時序電路,為了保證同步工作方式的實現(xiàn),電路應在唯一的時鐘信號控制下嚴格地工作。通常在引腳Xl和X2跨接石英晶體和兩個補償電容構(gòu)成自激振蕩器,如圖4.4中X2、C3、C4??梢愿鶕?jù)情況選擇6MHz、12MHz或24MHz等頻率的石英晶體,補償電容通常選
29、擇30pF左右的瓷片電容。 圖4.4 時鐘振蕩電路4.3.3 時鐘電路模塊的設計DS1302是DALLAS公司推出的涓流充電時鐘芯片,內(nèi)含有一個實時時鐘/日歷和31字節(jié)靜態(tài)RAM,通過簡單的串行接口與單片機進行通信。圖4.5所示為DS1302的引腳排列,其中VCC1為后備電源,VCC2為主電源。所以在主電源關閉的情況下,也能保持時鐘的連續(xù)運行。DSX1和DSX2是振蕩源,外接32.768KHz晶振用來為芯片提供計時脈沖。RST是復位/片選線,通過把RST輸入驅(qū)動置高電平來啟動所有的數(shù)據(jù)傳送。RST輸入有兩種功能:首先,RST接通控制邏輯,允許地址/命令序列送入移位寄存器;其次,RST提供終止單
30、字節(jié)或多字節(jié)數(shù)據(jù)的傳送手段。當RST為高電平時,所有的數(shù)據(jù)傳送被初始化,允許對DS1302進行操作。如果在傳送過程中RST置為低電平,則會終止此次數(shù)據(jù)傳送,I/O引腳變?yōu)楦咦钁B(tài)。上電行動時,在VCC大于等于2.5V之前,RST必須保持低電平。在SCLK為低電平時,才能將RST置為高電平,I/O為串行數(shù)據(jù)輸入端(雙向)。SCLK始終是輸入端。圖4.5 DS1302的硬件接線圖時鐘芯片DS1302的工作原理:(1) DS1302的控制字節(jié)DS1302控制字節(jié)的高有效位(位7)必須是邏輯1,如果它為0,則不能把數(shù)據(jù)寫入DS1302中,位6如果0,則表示存取日歷時鐘數(shù)據(jù),為1表示存取RAM數(shù)據(jù);位5至
31、位1指示操作單元的地址;最低有效位(位0)如為0表示要進行寫操作,為1表示進行讀操作,控制字節(jié)總是從最低位開始輸出(2) 數(shù)據(jù)輸入輸出(I/O)在控制指令字輸入后的下一個SCLK時鐘的上升沿時,數(shù)據(jù)被寫入DS1302,數(shù)據(jù)輸入從低位即位0開始。同樣,在緊跟8位的控制指令字后的下一個SCLK脈沖的下降沿讀出DS1302的數(shù)據(jù),讀出數(shù)據(jù)時從低位0位到高位7。(3) DS1302的寄存器DS1302有12個寄存器,其中有7個寄存器與日歷、時鐘相關,存放的數(shù)據(jù)位為BCD碼形式?!癈H”是時鐘暫停標志位,當該位為1時,時鐘振蕩器停止,DS1302處于低功耗狀態(tài);當該位為0時,時鐘開始運行?!癢P”是寫保
32、護位,在任何的對時鐘和RAM的寫操作之前,“WP”必須為0。當“WP”為1時,寫保護位防止對任一寄存器的寫操作。此外,DS1302 還有年份寄存器、控制寄存器、充電寄存器、時鐘突發(fā)寄存器及與RAM相關的寄存器等。時鐘突發(fā)寄存器可一次性順序讀寫除充電寄存器外的所有寄存器內(nèi)容。DS1302與RAM相關的寄存器分為兩類:一類是單個RAM單元,共31個,每個單元組態(tài)為一個8位的字節(jié),其命令控制字為C0HFDH,其中奇數(shù)為讀操作,偶數(shù)為寫操作;另一類為突發(fā)方式下的RAM寄存器,此方式下可一次性讀寫所有的RAM的31個字節(jié),命令控制字為FEH(寫)、FFH(讀)。4.3.4獨立式鍵盤設計實現(xiàn)鍵盤控制的方法
33、有多種,在本系統(tǒng)中,我們采用了STC89C52單片機來進行控制,因為單片機可以很好的解決鍵抖動。由若干個按鍵組成一個鍵盤,其電路結(jié)構(gòu)可分為獨立式鍵盤和矩陣式鍵盤兩種。本設計采用的是獨立式鍵盤。鍵盤的工作方式可分為編程控制方式和中斷控制方式。CPU在一個工作周期內(nèi),利用完成其他任務的空余時間,調(diào)用鍵盤掃描子程序,經(jīng)程序查詢,若無鍵操作,則返回;若有鍵操作,則進而判斷是哪個鍵,并執(zhí)行相應的鍵處理程序。這種方式為編程掃描方式。由于單片機在正常應用過程中,可能會經(jīng)常進行鍵操作,因而編程控制方式使CPU經(jīng)常處于工作狀態(tài), 在進行本次設計中,只涉及到了設置、上調(diào)、下調(diào)三個功能。因此采用獨立式鍵盤。如下圖所
34、示:圖4.6按鍵的設計 顯示模塊的設計本設計中由于要對時間、溫度進行顯示,所以選擇液晶顯示屏1602模塊作為輸出。1602字符型LCD通常有14條引腳線或16條引腳線的LCD,多出來的2條線是背光電源線。它可以顯示兩行,每行16個字符,采用單+5V電源供電,外圍電路配置簡單,價格便宜,具有很高的性價比。1602液晶模塊內(nèi)部的字符發(fā)生存儲器(CGROM)已經(jīng)存儲了160個不同的點陣字符圖形,這些字符有:阿拉伯數(shù)字、英文字母的大小寫、常用的符號、和日文假名等,每一個字符都有一個固定的代碼,比如大寫的英文字母“A”的代碼是01000001B(41H),顯示時模塊把地址41H中的點陣字符圖形顯示出來,
35、我們就能看到字母“A”。 管腳功能如表4-1所示:表4-1 LCD1602引腳功能引腳符號功能說明1VSS一般接地2VDD接電源(+5V)3VL液晶顯示器對比度調(diào)整端。4RSRS為寄存器選擇。5R/WR/W為讀寫信號線。6ENE(或EN)端為使能(enable)端,下降沿使能。7DB0低4位三態(tài)、 雙向數(shù)據(jù)總線 0位(最低位)8DB1低4位三態(tài)、 雙向數(shù)據(jù)總線 1位9DB2低4位三態(tài)、 雙向數(shù)據(jù)總線 2位10DB3低4位三態(tài)、 雙向數(shù)據(jù)總線 3位11DB4高4位三態(tài)、 雙向數(shù)據(jù)總線 4位12DB5高4位三態(tài)、 雙向數(shù)據(jù)總線 5位13DB6高4位三態(tài)、 雙向數(shù)據(jù)總線 6位14DB7高4位三態(tài)、
36、雙向數(shù)據(jù)總線 7位(最高位)15BL+背光電源正極16BL-背光電源負極LCD1602主要管腳介紹:V0為液晶顯示器對比度調(diào)整端,接正電源時對比度最弱,接地電源時對比度最高,對比度過高時會產(chǎn)生鬼影使用時可以通過一個10K的電位器調(diào)整對比度。RS為寄存器選擇端,高電平時選擇數(shù)據(jù)寄存器,低電平時選擇指令寄存器。RW為讀寫信號線端,高電平時進行讀操作,低電平時進行寫操作。當RS和RW共同為低電平時可以寫入指令或者顯示地址;當RS為高電平RW 為低電平時可以寫入數(shù)據(jù)。E為使能端,當E端由高電平跳變成低電平時,液晶模塊執(zhí)行命令。將L1602的RS端和P2.0,R/W端和P2.1, E 端和P2.2相連,
37、當RS=0時,對LCD1602寫入指令;當RS=1時,對LCD1602寫入數(shù)據(jù)。當R/W端接高電平時芯片處于讀數(shù)據(jù)狀態(tài),反之處于寫數(shù)據(jù)狀態(tài),E端為使能信號端。當R/W為高電平,E端也為高電平,RS為低電平時,液晶顯示屏顯示需要顯示的示數(shù)。圖4.7為1602液晶顯示屏與單片機的硬件連接圖。圖4.7 LCD液晶與單片機硬件連線圖 4.4本章小結(jié)本章主要介紹了系統(tǒng)硬件設計,其中對時鐘芯片DS1302、1602液晶顯示屏和STC89C52最小系統(tǒng)的晶振及復位電路設計做了詳細闡述。此外還介紹了各模塊和單片機的連接方法、其特性及電路原理,最后確定系統(tǒng)的整體硬件設計方案。第五章 系統(tǒng)的軟件設計5.1程序流程
38、圖5.1.1 系統(tǒng)總流程圖系統(tǒng)總流程圖如圖5.1所示。流程圖分析:首先系統(tǒng)初始化,系統(tǒng)開始運行,當有設置鍵按下時進入修改時間模式,無按鍵按下時讀取時間、溫度等數(shù)據(jù)送入液晶屏顯示;在修改時間模式下設置時間完成后再送數(shù)據(jù)到液晶屏顯示。圖5.1系統(tǒng)總流程圖5.1.2 DS1302時鐘程序流程圖時鐘流程圖如圖5.2所示。流程圖分析:DS1302開始計時時,首先進行初始化,當有中斷信號時,讀取時鐘芯片的數(shù)據(jù)送入液晶屏顯示。這時若有設置鍵按下時,進行時間修改,完成后將數(shù)據(jù)送入時鐘芯片;若沒有按鍵按下,則直接存入EPROM,送入液晶屏顯示。圖5.2 時鐘流程圖5.1.3 LCD顯示程序流程圖顯示程序流程圖如
39、圖5.3。流程圖分析:首先對1602顯示屏進行初始化(初始化大約持續(xù)10ms左右),然后檢查忙信號,若BF=0,則獲得顯示RAM的地址,寫入相應的數(shù)據(jù)顯示;若BF=1,則代表模塊正在進行內(nèi)部操作,不接受任何外部指令和數(shù)據(jù),直到BF=0為止。圖5.3 LCD顯示程序流程圖5.2程序的設計5.2.1 DS1302讀寫程序DS1302是SPI總線驅(qū)動方式。它不僅要向寄存器寫入控制字,還需要讀取相應寄存器的數(shù)據(jù)。要想與DS1302通信,首先要先了解DS1302的控制字。DS1302的控制字如圖5.4所示。圖5.4 DS1302的控制字控制字總是從最低位開始輸出。在控制字指令輸入后的下一個SCLK時鐘的
40、上升沿時,數(shù)據(jù)被寫入DS1302,數(shù)據(jù)輸入從最低位(0位)開始。同樣,在緊跟8位的控制字指令后的下一個SCLK脈沖的下降沿,讀出DS1302的數(shù)據(jù),讀出的數(shù)據(jù)也是從最低位到最高位。數(shù)據(jù)讀寫時序如圖5.5、5.6所示。圖5.5 單字節(jié)讀圖5.6 單字節(jié)寫在進行任何數(shù)據(jù)傳輸時,RST必須被置高電平,每個SCLK為上升沿時數(shù)據(jù)被輸入,下降沿時數(shù)據(jù)被輸出。先把RST置低,禁止數(shù)據(jù)傳輸,SCLK置低,清零時鐘總線,RST再置高,允許數(shù)據(jù)傳輸。傳送完成后,RST置低,禁止字節(jié)的傳送。程序見附錄二。5.2.2液晶顯示程序1602通過D0D7的8位數(shù)據(jù)端傳輸數(shù)據(jù)和指令,其模塊內(nèi)的控制器有11條控制指令。當液晶
41、顯示屏的接口電路與單片機系統(tǒng)I/O按照并行數(shù)據(jù)傳輸方式連接完成以后,即可以對STC89C52單片機進行編程。在液晶屏完成顯示之前首先要對液晶進行初始化。程序見附錄二。5.3本章小結(jié)本章對基于單片機的萬年歷系統(tǒng)軟件模塊進行設計,先對該系統(tǒng)進行了整體流程的設計,給出了設計的流程圖,隨后介紹了各模塊的子程序。對一些模塊常用的函數(shù)進行了解釋,這一切都構(gòu)成了這個系統(tǒng)的軟件基礎。第六章 結(jié)束語至此,畢業(yè)設計的所有內(nèi)容就介紹完了,通過本次課程設計較系統(tǒng)地掌握有關單片機控制的設計思想和設計方法,主要對STC89C52的結(jié)構(gòu)、功能、內(nèi)部資源等了解并對其進行測試和加以應用的知識得到學習。進行這次畢業(yè)設計,從最簡單
42、的查資料、了解各個元件的功能起步,再確定設計方案、畫流程圖、編寫程序到最后進行仿真測試,這次課題設計可以說成功完成。系統(tǒng)的硬件、軟件設計合理,功能完備,運行穩(wěn)定、可靠。實驗結(jié)果表明此萬年歷實現(xiàn)后具有讀取方便、顯示直觀、功能多樣、電路簡潔、等諸多優(yōu)點,符合電子儀器儀表的發(fā)展趨勢,具有廣闊的市場前景。在整個設計過程中,充分發(fā)揮了人的主觀能動性,提高了自學能力,學到了許多沒學到的知識。程序編寫中,由于思路不清晰,開始時遇到了很多的問題,經(jīng)過靜下心來思考查資料,和同學討論,向老師請教,理清了思路,完成對程序的編寫。通過設計提高了對單片機的認識,進一步熟悉和掌握單片機的結(jié)構(gòu)及工作原理。通過實際程序設計和
43、調(diào)試,逐步掌握模塊化程序設計方法和調(diào)試技術(shù),提高軟件設計、調(diào)試能力;通過這次設計熟悉以單片機核心的應用系統(tǒng)開發(fā)的全過程,掌握硬件電路設計的基本方法和技術(shù),掌握相關電路參數(shù)的計算方法。最終較好的完成了設計,達到了預期的目的,完了最初的設想。但是由于時間和個人能力的原因,整個系統(tǒng)看起來還是顯得非常的簡單,只實現(xiàn)了一些最基本的功能,還有許多不足和可以擴展的地方。例如實現(xiàn)公歷和農(nóng)歷的轉(zhuǎn)換、鬧鐘報時等,這些有待以后來彌補,還望各位老師予以指正和修改。參考文獻1 張友德,趙志英,涂時亮,單片微型機原理、應用與實驗 ,復旦大學出版社,2008.5,第5版,第4次印刷2 趙亮,侯國銳,單片機C語言編程與實例
44、,人民郵電出版社 ,2003.9,第1版,第1次印刷3 高鵬,安濤,寇懷成,電路設計與制版protel99入門與提高 ,人民郵電出版社 ,2006.7第1版,第34次印刷4 譚浩強,C程序設計 M.(第三版) ,清華大學出版社,2005,第3版5 李朝青,單片機原理及接口技術(shù) ,北京航空航天大學出版社,2004.7,第1版,第13次印刷6 康光華,電子技術(shù)基礎模擬部分 M.(第五版) ,高等教育出版社.2005,第5版附錄一:系統(tǒng)原理圖附錄二:系統(tǒng)程序主程序:#include#includelcd1602.h#includeds1302.h#includeds18b20.huchar code
45、 str=Tempe:;uint flag=1,s1num=0;sbit key=P20;/溫度顯示建sbit k1=P21;sbit k2=P22;sbit k3=P23;void LcdDisplay1()write_com(0x80+0X44);write_date(0+TIME2/16);/時write_date(0+(TIME2&0x0f); write_date(-);write_date(0+TIME1/16);write_date(0+(TIME1&0x0f); /分write_date(-);write_date(0+(TIME0&0x7f)/16);write_date(0
46、+(TIME0&0x0f);/秒write_com(0x80);write_date(2);write_date(0);write_date(0+TIME6/16);write_date(0+(TIME6&0x0f);write_date(-);write_date(0+TIME4/16);write_date(0+(TIME4&0x0f);write_date(-);write_date(0+TIME3/16);write_date(0+(TIME3&0x0f);write_com(0x8D);write_week(TIME5&0x07); void keyscan()if(key=0)de
47、lay(5);if(key=0)while(!key);flag=!flag; if(k1=0)delay(5);if(k1=0)while(!k1);Ds1302Write(0x8E,0X00);Ds1302Write(0x80,TIME0|0X80);LcdDisplay1();s1num+;switch(s1num)case 1:write_com(0x80+0x40+9); write_com(0x0f); break;case 2:write_com(0x80+0x40+6); break;case 3:write_com(0x80+15); break;case 4:write_com(0x80+10); break;case 5:write_com(0x80+7); break;case 6:write_com(0x80+4); break;case 7:s1num=0; Ds1302Write(0x80,TIME0&0X7F); write_com(0x0c); break;if(s1num!=0)if(k2=0)while(!k2);switch(s1num) case 1:TIME1+;if(TIME1&0X0f)=0X0A) TIME1=(TIME1+0x10)&0xf0;i
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024物流配送員勞動協(xié)議3篇
- 2024版網(wǎng)絡游戲開發(fā)與運營權(quán)轉(zhuǎn)讓合同2篇
- 2024押證不押車商業(yè)地產(chǎn)項目貸款合同范本9篇
- 2025年度建筑安全評價與施工監(jiān)理一體化合同范本3篇
- 2025廠區(qū)食堂承包合同:廠區(qū)文化建設與餐飲服務融合協(xié)議3篇
- 二零二五版北京市金融行業(yè)勞動合同法實施標準2篇
- 2024離婚財產(chǎn)分割保險保障合同
- 2024施工現(xiàn)場環(huán)境信息公開與共享協(xié)議3篇
- 2025年MLB棒球帽定制加工及品牌合作框架協(xié)議3篇
- 2025年度智能制造生產(chǎn)線操作工勞動合同3篇 - 副本
- 2024版?zhèn)€人私有房屋購買合同
- 2025年山東光明電力服務公司招聘筆試參考題庫含答案解析
- 《神經(jīng)發(fā)展障礙 兒童社交溝通障礙康復規(guī)范》
- 2025年中建六局二級子企業(yè)總經(jīng)理崗位公開招聘高頻重點提升(共500題)附帶答案詳解
- 2024年5月江蘇省事業(yè)單位招聘考試【綜合知識與能力素質(zhì)】真題及答案解析(管理類和其他類)
- 注漿工安全技術(shù)措施
- 《食品與食品》課件
- 2024年世界職業(yè)院校技能大賽“食品安全與質(zhì)量檢測組”參考試題庫(含答案)
- 讀書分享會《白夜行》
- 2023上海高考英語詞匯手冊單詞背誦默寫表格(復習必背)
- 人民軍隊歷史與優(yōu)良傳統(tǒng)(2024)學習通超星期末考試答案章節(jié)答案2024年
評論
0/150
提交評論