萬(wàn)年歷的C實(shí)現(xiàn)設(shè)計(jì)課設(shè)_第1頁(yè)
萬(wàn)年歷的C實(shí)現(xiàn)設(shè)計(jì)課設(shè)_第2頁(yè)
萬(wàn)年歷的C實(shí)現(xiàn)設(shè)計(jì)課設(shè)_第3頁(yè)
萬(wàn)年歷的C實(shí)現(xiàn)設(shè)計(jì)課設(shè)_第4頁(yè)
萬(wàn)年歷的C實(shí)現(xiàn)設(shè)計(jì)課設(shè)_第5頁(yè)
已閱讀5頁(yè),還剩36頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、Good is good, but better carries it.精益求精,善益求善。萬(wàn)年歷的C實(shí)現(xiàn)設(shè)計(jì)課設(shè)萬(wàn)年歷的C實(shí)現(xiàn)設(shè)計(jì)課設(shè) 萬(wàn)年歷的C實(shí)現(xiàn)設(shè)計(jì) 120812班 呂相相摘 要古人依靠日冕、漏刻記錄時(shí)間,而隨著現(xiàn)代科技的發(fā)展,電子萬(wàn)年歷已經(jīng)成為日漸流行的日常計(jì)時(shí)工具。本文研究的萬(wàn)年歷系統(tǒng)擬用STC89C51單片機(jī)控制,以DS1302時(shí)鐘芯片計(jì)時(shí)、1602液晶屏顯示。系統(tǒng)主要由單片機(jī)控制電路,顯示電路以及校正電路三個(gè)模塊組成。本文闡述了系統(tǒng)的硬件工作原理,所應(yīng)用的各個(gè)接口模塊的功能以及其工作過(guò)程,論證了設(shè)計(jì)方案理論的可行性。系統(tǒng)程序采用C語(yǔ)言編寫(xiě),經(jīng)Keil軟件進(jìn)行調(diào)試后在Proteu

2、s軟件中進(jìn)行仿真測(cè)試,可以顯示年、月、日、星期、時(shí)、分、秒,并具有校準(zhǔn)功能和與即時(shí)時(shí)間同步的功能。實(shí)驗(yàn)結(jié)果表明此萬(wàn)年歷實(shí)現(xiàn)后具有讀取方便、顯示直觀(guān)、功能多樣、電路簡(jiǎn)潔等諸多優(yōu)點(diǎn),符合電子儀器儀表的發(fā)展趨勢(shì),具有廣闊的市場(chǎng)前景。關(guān)鍵詞:萬(wàn)年歷 單片機(jī) DS1302 lcd1602 目 錄第一章 前言01.1引言(課題研究的意義)01.2本課題主要的研究工作01.2.1研究?jī)?nèi)容01.3本章小結(jié)1第二章 單片機(jī)的概述22.1單片機(jī)的定義和特點(diǎn)22.1.1單片機(jī)的定義2單片機(jī)是以一個(gè)大規(guī)模集成電路為主組成的微型計(jì)算機(jī),在一個(gè)芯片內(nèi)含有計(jì)算機(jī)的基本功能部件:中央處理器CPU、存儲(chǔ)器和I/O接口,CPU通

3、過(guò)內(nèi)部的總線(xiàn)和存儲(chǔ)器、I/O接口相連。22.1.2單片機(jī)的特點(diǎn)22.2單片機(jī)的發(fā)展現(xiàn)狀和發(fā)展趨勢(shì)22.3編程語(yǔ)言的選擇32.4本章小結(jié)3第三章 設(shè)計(jì)要求和方案論證43.1 設(shè)計(jì)要求43.2 單片機(jī)芯片的選擇方案和論證43.3 顯示模塊選擇方案和論證43.4時(shí)鐘芯片的選擇方案和論證53.5 電路設(shè)計(jì)最終方案決定53.6本章小結(jié)5第四章 系統(tǒng)的硬件設(shè)計(jì)與實(shí)現(xiàn)64.1 電路設(shè)計(jì)框圖64.2 系統(tǒng)硬件概述64.3 主要單元電路的設(shè)計(jì)64.3.1 STC89C52單片機(jī)簡(jiǎn)介6P3.0P3.7:P3口是一個(gè)具有內(nèi)部上拉電阻的8位雙向I/O口。作為輸出口,每位能驅(qū)動(dòng)4個(gè)TTL邏輯電平。P3口亦作為STC89

4、C52特殊功能(第二功能)使用。在flash編程和校驗(yàn)時(shí),P3口也接收一些控制信號(hào)。84.3.2 單片機(jī)主控制模塊的設(shè)計(jì)84.3.3 時(shí)鐘電路模塊的設(shè)計(jì)104.3.4獨(dú)立式鍵盤(pán)設(shè)計(jì)12 顯示模塊的設(shè)計(jì)124.4本章小結(jié)14第五章 系統(tǒng)的軟件設(shè)計(jì)155.1程序流程圖155.1.1 系統(tǒng)總流程圖155.1.2 DS1302時(shí)鐘程序流程圖155.1.3 LCD顯示程序流程圖16圖5.3 LCD顯示程序流程圖175.2程序的設(shè)計(jì)175.2.1 DS1302讀寫(xiě)程序175.2.2液晶顯示程序185.3本章小結(jié)18第六章 結(jié)束語(yǔ)19參考文獻(xiàn)20附錄一:系統(tǒng)原理圖21附錄二:系統(tǒng)程序223636第一章 前言

5、1.1引言(課題研究的意義)萬(wàn)年歷是我國(guó)古代傳說(shuō)中最古老的一部太陽(yáng)歷。為紀(jì)念歷法編撰者萬(wàn)年的功績(jī),便將這部歷法命名為“萬(wàn)年歷”。而現(xiàn)在所使用的萬(wàn)年歷,實(shí)際上就是記錄一定時(shí)間范圍內(nèi)(比如100年或更多)的具體陽(yáng)歷或陰歷的日期的年歷,方便有需要的人查詢(xún)使用,與原始?xì)v法并無(wú)直接聯(lián)系。而隨著微電子技術(shù)的高速發(fā)展,人類(lèi)用于計(jì)時(shí)的工具也在不斷發(fā)展更新,單片機(jī)技術(shù)的出現(xiàn)使得萬(wàn)年歷有了新的發(fā)展方向。單片機(jī)以其體積小、功能全、性?xún)r(jià)比高等諸多優(yōu)點(diǎn),在工業(yè)控制、家用電器、通信設(shè)備、信息處理、尖端武器等各種測(cè)控領(lǐng)域的應(yīng)用中獨(dú)占鰲頭,單片機(jī)開(kāi)發(fā)技術(shù)已成為電子信息、電氣、通信、自動(dòng)化、機(jī)電一體化等專(zhuān)業(yè)技術(shù)人員必須掌握的技

6、術(shù)。目前世界上單片機(jī)年產(chǎn)量已達(dá)十多億片,通常是當(dāng)年微處理器產(chǎn)量的4-5倍以上。用最少的芯片就能實(shí)現(xiàn)最強(qiáng)大的功能,這是將來(lái)電子產(chǎn)品的主流方向,它將無(wú)可置疑地一步步取代其它同類(lèi)產(chǎn)品,其數(shù)量之大和應(yīng)用面之廣,是其它任何類(lèi)型的計(jì)算機(jī)所無(wú)法比擬的。以基于單片機(jī)的萬(wàn)年歷作為設(shè)計(jì)的課題,因?yàn)樗泻芎玫拈_(kāi)放性和可發(fā)揮性,對(duì)作者的要求比較高,不僅考察了對(duì)單片機(jī)的掌握能力而且強(qiáng)調(diào)了對(duì)單片機(jī)擴(kuò)展的應(yīng)用。另外液晶顯示的萬(wàn)年歷已經(jīng)越來(lái)越流行,特別適合在家庭居室、辦公室、大廳、會(huì)議室、車(chē)站和廣場(chǎng)等地方使用,它具有顯示清晰直觀(guān)、走時(shí)準(zhǔn)確、可以進(jìn)行夜視等功能,并且還可以擴(kuò)展出其它多種功能。所以,電子萬(wàn)年歷作為設(shè)計(jì)課題很有價(jià)值

7、。1.2本課題主要的研究工作本論文主要研究基于單片機(jī)的萬(wàn)年歷設(shè)計(jì)。當(dāng)程序執(zhí)行后,LCD顯示即時(shí)時(shí)間、年月日、星期。設(shè)置3個(gè)操作鍵:KEY1,設(shè)置鍵;KEY2,上調(diào)鍵;KEY3,下調(diào)鍵。本設(shè)計(jì)的主要內(nèi)容:1、了解單片機(jī)技術(shù)的發(fā)展現(xiàn)狀,熟悉萬(wàn)年歷各模塊的工作原理;2、選擇適當(dāng)?shù)男酒驮骷_定系統(tǒng)電路,繪制電路原理圖,尤其是各接口電路;3、熟悉單片機(jī)使用方法和C語(yǔ)言的編程規(guī)則,編寫(xiě)出相應(yīng)模塊的應(yīng)用程序。1.2.1研究?jī)?nèi)容設(shè)計(jì)目標(biāo):使基于STC89C52單片機(jī)的萬(wàn)年歷實(shí)現(xiàn)以下三個(gè)功能:1、具有年、月、日、星期、時(shí)、分、秒等功能;2、具備年、月、日、星期、時(shí)、分、秒校準(zhǔn)功能;3、具有與即時(shí)時(shí)間同步的

8、功能。1.2.2論文章節(jié)安排:第一章:前言是介紹了基于STC89C52單片機(jī)的萬(wàn)年歷研究意義,重點(diǎn)闡述了本課題的研究?jī)?nèi)容和研究工作。第二章:?jiǎn)纹瑱C(jī)的概述主要闡述了單片機(jī)系統(tǒng)的定義以及單片機(jī)系統(tǒng)的發(fā)展現(xiàn)狀和發(fā)展趨勢(shì)。因?yàn)橹挥袑?duì)單片機(jī)有了更深入的了解,才能設(shè)計(jì)出更好的單片機(jī)控制系統(tǒng)。本章的結(jié)尾是對(duì)單片機(jī)C語(yǔ)言編程的介紹。第三章:主要介紹了設(shè)計(jì)要求和課題器件選擇的論證方案。第四章:硬件基礎(chǔ)中主要描述了萬(wàn)年歷的各個(gè)模塊的硬件設(shè)計(jì)方案,并結(jié)合各個(gè)元器件和相應(yīng)的硬件原理圖進(jìn)行分析,最后展示為了實(shí)現(xiàn)研究目標(biāo)所需要的全部硬件基礎(chǔ)。第五章:軟件基礎(chǔ)主要羅列了實(shí)現(xiàn)萬(wàn)年歷各個(gè)功能的C語(yǔ)言程序的流程圖,并分別對(duì)其進(jìn)行

9、了解釋和分析,最后把各個(gè)C語(yǔ)言子程序在巧妙結(jié)合在一起,共同控制整個(gè)系統(tǒng),也就形成了實(shí)現(xiàn)研究目標(biāo)所需要的所有軟件基礎(chǔ)。第六章:結(jié)束語(yǔ)主要是對(duì)本次實(shí)驗(yàn)研究的總結(jié),提出本次實(shí)驗(yàn)的不足之處以及相應(yīng)的改進(jìn)方法,以便后人繼續(xù)深入研究。1.3本章小結(jié)本章是論文的前言部分,著重介紹了萬(wàn)年歷的研究意義。然后介紹了本文所要解決的實(shí)際問(wèn)題及意義,以及要電子萬(wàn)年歷系統(tǒng)要實(shí)現(xiàn)的功能和方法。最后簡(jiǎn)單地描述了本論文的整體框架和論文章節(jié)的安排。第二章 單片機(jī)的概述目前單片機(jī)滲透到了我們生活的各個(gè)領(lǐng)域,幾乎很難找到哪個(gè)領(lǐng)域沒(méi)有單片機(jī)的蹤跡。我們常用的數(shù)碼產(chǎn)品,如MP3、MP4、手機(jī)、數(shù)碼相機(jī)、錄像機(jī)、攝像機(jī),導(dǎo)彈的導(dǎo)航裝置,飛

10、機(jī)上各種儀表的控制,計(jì)算機(jī)的網(wǎng)絡(luò)通訊與數(shù)據(jù)傳輸,工業(yè)自動(dòng)化過(guò)程的實(shí)時(shí)控制和數(shù)據(jù)處理,廣泛使用的各種智能IC卡,民用豪華轎車(chē)的安全保障系統(tǒng),空調(diào)、冰箱、全自動(dòng)洗衣機(jī)的控制,以及遠(yuǎn)程控制玩具、電子寵物等等,這些都離不開(kāi)單片機(jī)。更不用說(shuō)自動(dòng)控制領(lǐng)域中的機(jī)器人、智能儀表、醫(yī)療器械了。單片機(jī)具有結(jié)構(gòu)簡(jiǎn)單、控制功能強(qiáng)、可靠性高、體積小、價(jià)格低等優(yōu)點(diǎn),因而在許多行業(yè)都得到了廣泛應(yīng)用,并且在諸多領(lǐng)域中都發(fā)揮了無(wú)可比擬的巨大作用。2.1單片機(jī)的定義和特點(diǎn)2.1.1單片機(jī)的定義 單片機(jī)是以一個(gè)大規(guī)模集成電路為主組成的微型計(jì)算機(jī),在一個(gè)芯片內(nèi)含有計(jì)算機(jī)的基本功能部件:中央處理器CPU、存儲(chǔ)器和I/O接口,CPU通過(guò)

11、內(nèi)部的總線(xiàn)和存儲(chǔ)器、I/O接口相連。2.1.2單片機(jī)的特點(diǎn)單片機(jī)以其卓越的性能,得到了廣泛的應(yīng)用,已深入到各個(gè)領(lǐng)域。單片機(jī)應(yīng)用在控制領(lǐng)域中,具有如下特點(diǎn):?jiǎn)纹瑱C(jī)具有集成度高,通用性好,功能強(qiáng),特別是體積小,重量輕,耗能低,成本低,可靠性高,種類(lèi)多,型號(hào)全,抗干擾能力強(qiáng)和使用方便等獨(dú)特優(yōu)點(diǎn),在數(shù)字、智能化方面有廣泛的用途。最重要的是可以采用C語(yǔ)言開(kāi)發(fā)環(huán)境,具有友好的人機(jī)互交環(huán)境。大多數(shù)單片機(jī)都提供基于C語(yǔ)言開(kāi)發(fā)平臺(tái),并提供大量的函數(shù)供使用,這使產(chǎn)品的開(kāi)發(fā)周期、代碼可讀性、可移植性都大為提高。2.2單片機(jī)的發(fā)展現(xiàn)狀和發(fā)展趨勢(shì)單片機(jī)的發(fā)展趨勢(shì):低功耗CMOS化;微型單片化;主流與多品種共存;單片機(jī)從

12、8位、16位到32位,數(shù)不勝數(shù),應(yīng)有盡有,有與主流C51系列兼容的,也有不兼容的,但它們各具特色,互成互補(bǔ),為單片機(jī)的應(yīng)用提供廣闊的天地。 縱觀(guān)單片機(jī)的發(fā)展過(guò)程,可以預(yù)示單片機(jī)的發(fā)展趨勢(shì),大致有:1)低功耗CMOS化 MCS-51系列的8051推出時(shí)的功耗達(dá)630mW,而現(xiàn)在的單片機(jī)普遍都在100mW左右,隨著對(duì)單片機(jī)功耗要求越來(lái)越低,現(xiàn)在的各個(gè)單片機(jī)制造商基本都采用了CMOS(互補(bǔ)金屬氧化物半導(dǎo)體工藝)。像80C51就采用了HMOS(即高密度金屬氧化物半導(dǎo)體工藝)和CHMOS(互補(bǔ)高密度金屬氧化物半導(dǎo)體工藝)。2)微型單片化 現(xiàn)在的產(chǎn)品普遍要求體積小、重量輕,這就要求單片機(jī)除了功能強(qiáng)和功耗低

13、外,還要求其體積要小?,F(xiàn)在的許多單片機(jī)都具有多種封裝形式,其中SMD(表面封裝)越來(lái)越受歡迎,使得由單片機(jī)構(gòu)成的系統(tǒng)正朝微型化方向發(fā)展。3)主流與多品種共存 現(xiàn)在雖然單片機(jī)的品種繁多,各具特色,但仍以80C51為核心的單片機(jī)占主流,兼容其結(jié)構(gòu)和指令系統(tǒng)的有PHILIPS公司的產(chǎn)品,ATMEL公司的產(chǎn)品和中國(guó)的STC單片機(jī)。所以C8051為核心的單片機(jī)占據(jù)了半壁江山。而Microchip公司的PIC精簡(jiǎn)指令集(RISC)也有著強(qiáng)勁的發(fā)展勢(shì)頭,中國(guó)臺(tái)灣的HOLTEK公司近年的單片機(jī)產(chǎn)量與日俱增,與其低價(jià)質(zhì)優(yōu)的優(yōu)勢(shì),占據(jù)一定的市場(chǎng)分額。此外還有MOTOROLA公司的產(chǎn)品,日本幾大公司的專(zhuān)用單片機(jī)。在

14、一定的時(shí)期內(nèi),這種情形將得以延續(xù),將不存在某個(gè)單片機(jī)一統(tǒng)天下的壟斷局面,走的是依存互補(bǔ),相輔相成、共同發(fā)展的道路。2.3編程語(yǔ)言的選擇在1972年,美國(guó)貝爾實(shí)驗(yàn)室的D.M.Ritchie在B語(yǔ)言的基礎(chǔ)上最終設(shè)計(jì)出了一種新的語(yǔ)言,他取了BCPL的第二個(gè)字母作為這種語(yǔ)言的名字,這就是C語(yǔ)言。在眾多的程序設(shè)計(jì)語(yǔ)言中,C語(yǔ)言簡(jiǎn)潔緊湊,語(yǔ)言表達(dá)能力強(qiáng),其結(jié)構(gòu)化的流程控制有助于編制結(jié)構(gòu)良好的程序,。C語(yǔ)言程序經(jīng)編譯后生成的目標(biāo)程序代碼效率高,幾乎可以與匯編語(yǔ)言媲美。C語(yǔ)言既具備高級(jí)語(yǔ)言使用方便、接近自然語(yǔ)言和數(shù)學(xué)語(yǔ)言的特性,同時(shí)也具備對(duì)計(jì)算機(jī)硬件系統(tǒng)的良好操縱和控制能力,用C語(yǔ)言開(kāi)發(fā)產(chǎn)品可以大大縮短開(kāi)發(fā)周

15、期。C語(yǔ)言可移植性好,一個(gè)C語(yǔ)言源程序可以不做改動(dòng),或者稍加改動(dòng),就可以從一種型號(hào)的計(jì)算機(jī)移轉(zhuǎn)到另外一種型號(hào)的計(jì)算機(jī)上編譯運(yùn)行。因此,C語(yǔ)言被廣泛應(yīng)用于各類(lèi)系統(tǒng)軟件和應(yīng)用軟件的開(kāi)發(fā)。所以本系統(tǒng)以C語(yǔ)言進(jìn)行軟件設(shè)計(jì),增加了程序的可讀性和可移植性,便于擴(kuò)展和更改,軟件的設(shè)計(jì)采用模塊化結(jié)構(gòu),使程序設(shè)計(jì)的邏輯關(guān)系更加簡(jiǎn)潔了。2.4本章小結(jié)本章主要介紹了單片機(jī)的定義和特點(diǎn),重點(diǎn)描述了單片機(jī)發(fā)展現(xiàn)狀和未來(lái)的發(fā)展趨勢(shì),最后簡(jiǎn)單地介紹了選擇的編程語(yǔ)言。第三章 設(shè)計(jì)要求和方案論證3.1 設(shè)計(jì)要求1、 具備在液晶上顯示年、月、日、星期、時(shí)、分、秒的功能;2、 具備年、月、日、星期、時(shí)、分、秒校準(zhǔn)功能;3、 具有與

16、即時(shí)時(shí)間同步的功能;3.2 單片機(jī)芯片的選擇方案和論證方案一:采用AT89S51芯片作為硬件核心,內(nèi)部具有4KB ROM 存儲(chǔ)空間,能于3V的超低壓工作,而且與MCS-51系列單片機(jī)完全兼容,但是運(yùn)用于電路設(shè)計(jì)中時(shí)由于不具備ISP在線(xiàn)編程技術(shù),所以在對(duì)電路進(jìn)行調(diào)試時(shí),由于程序的錯(cuò)誤修改或?qū)Τ绦虻男略龉δ苄枰獰氤绦驎r(shí),對(duì)芯片的多次拔插會(huì)對(duì)芯片造成一定的損壞。方案二:采用STC89C52芯片,STC89C52是一種低功耗、高性能的8位CMOS微控制器,具有8K的可編程Flash存儲(chǔ)器。同樣具有AT89S51的功能,且具有在線(xiàn)編程可擦除技術(shù),當(dāng)對(duì)電路進(jìn)行調(diào)試時(shí),由于程序的錯(cuò)誤修改或?qū)Τ绦虻男略龉δ?/p>

17、需要燒入程序時(shí),不需要對(duì)芯片多次拔插,所以不會(huì)對(duì)芯片造成損壞,因此選擇采用STC89C52作為主控制系統(tǒng)核心。3.3 顯示模塊選擇方案和論證方案一:采用LED數(shù)碼管動(dòng)態(tài)掃描,LED數(shù)碼管價(jià)格適中,對(duì)于顯示數(shù)字合適,采用動(dòng)態(tài)掃描法與單片機(jī)連接時(shí),雖然占用的單片機(jī)口線(xiàn)少,但連線(xiàn)還需要花費(fèi)一點(diǎn)時(shí)間,所以也不用此種作為顯示。方案二:采用點(diǎn)陣式數(shù)碼管顯示,點(diǎn)陣式數(shù)碼管是由八行八列的發(fā)光二極管組成,對(duì)于顯示文字比較適合,若采用在顯示數(shù)字顯得太浪費(fèi),且價(jià)格也相對(duì)較高,所以在此也不用此種作為顯示。方案三:采用1602液晶顯示屏,該液晶顯示屏的顯示功能強(qiáng)大,內(nèi)置192種字符,可顯示大量符號(hào)、數(shù)字,清晰可見(jiàn),而且

18、功率消耗小壽命長(zhǎng)抗干擾能力強(qiáng)。所以在此設(shè)計(jì)中采用1602液晶顯示屏。3.4時(shí)鐘芯片的選擇方案和論證方案一:直接采用單片機(jī)定時(shí)計(jì)數(shù)器提供秒信號(hào),使用程序?qū)崿F(xiàn)年、月、日、星期、時(shí)、分、秒計(jì)數(shù)。采用此種方案雖然減少芯片的使用,節(jié)約成本,但是,實(shí)現(xiàn)的時(shí)間誤差較大,所以不采用此方案。方案二:采用DS1302時(shí)鐘芯片實(shí)現(xiàn)時(shí)鐘,DS1302芯片是一種高性能的時(shí)鐘芯片,可自動(dòng)對(duì)秒、分、時(shí)、日、周、月、年進(jìn)行計(jì)數(shù),而且精度高,位的RAM做為數(shù)據(jù)暫存區(qū),工作電壓2.5V5.5V范圍內(nèi),2.5V時(shí)耗電小于300nA。所以本設(shè)計(jì)采用DS1302時(shí)鐘芯片。3.5 電路設(shè)計(jì)最終方案決定綜上各方案所述,對(duì)此次作品的方案選定

19、: 采用STC89C52作為主控制芯片,DS1302時(shí)鐘芯片計(jì)時(shí),LCD1602作為顯示模塊。3.6本章小結(jié) 本章主要介紹了系統(tǒng)要實(shí)現(xiàn)的功能和萬(wàn)年歷系統(tǒng)硬件平臺(tái)的選擇,比較了主控模塊,時(shí)鐘模塊,顯示模塊中不同器件的優(yōu)劣,最后確定了電路設(shè)計(jì)的整體方案。這也是完成設(shè)計(jì)的先決條件。第四章 系統(tǒng)的硬件設(shè)計(jì)與實(shí)現(xiàn)4.1 電路設(shè)計(jì)框圖根據(jù)上章確定的方案給出了系統(tǒng)整體的設(shè)計(jì)框圖:圖4.1系統(tǒng)結(jié)構(gòu)框圖為使時(shí)鐘走時(shí)與標(biāo)準(zhǔn)時(shí)間一致,校時(shí)電路是必不可少的,鍵盤(pán)模塊用來(lái)校正液晶上顯示的時(shí)間;STC89C52單片機(jī)通過(guò)輸出各種電脈沖信號(hào)來(lái)驅(qū)動(dòng)控制各部分正常工作;而系統(tǒng)的時(shí)間數(shù)據(jù)則最終通過(guò)液晶模塊顯示出來(lái)。4.2 系統(tǒng)硬

20、件概述本電路是以STC89C52單片機(jī)為控制核心,該芯片具有在線(xiàn)編程功能,功耗低,能在3.3V的超低壓下工作;時(shí)鐘芯片采用DS1302,它是一款高性能、低功耗、自帶RAM的實(shí)時(shí)時(shí)鐘芯片,具有使用壽命長(zhǎng),精度高和功耗低等特點(diǎn),同時(shí)具有掉電自動(dòng)保存功能,可以對(duì)年、月、日、星期、時(shí)、分、秒進(jìn)行計(jì)時(shí),具有閏年補(bǔ)償功能,其工作電壓為2.5V5.5V;顯示部份使用1602液晶顯示屏來(lái)實(shí)現(xiàn),該顯示屏具有低功耗、壽命長(zhǎng)、可靠性高的特點(diǎn),其工作電壓為5v。4.3 主要單元電路的設(shè)計(jì)4.3.1 STC89C52單片機(jī)簡(jiǎn)介STC89C52是一種低功耗、高性能的8位CMOS微控制器,具有8K的可編程Flash 存儲(chǔ)器

21、。使用高密度非易失性存儲(chǔ)器技術(shù)制造,與工業(yè)80C51產(chǎn)品指令和引腳完全兼容。片上Flash允許程序存儲(chǔ)器在系統(tǒng)可編程,亦適于常規(guī)編程器。在單芯片上,擁有靈巧的8位CPU和在線(xiàn)系統(tǒng)可編程Flash,使得STC89C52為眾多嵌入式控制應(yīng)用系統(tǒng)提供高靈活、超有效的解決方案。STC89C52具有以下標(biāo)準(zhǔn)功能:8K字節(jié)Flash,256字節(jié)RAM,32位I/O 口線(xiàn),看門(mén)狗定時(shí)器,2個(gè)數(shù)據(jù)指針,三個(gè)16位定時(shí)器/計(jì)數(shù)器,一個(gè)6向量2級(jí)中斷結(jié)構(gòu),全雙工串行口,片內(nèi)晶振及時(shí)鐘電路。另外,STC89C52可降至0Hz靜態(tài)邏輯操作,支持2種軟件可選擇節(jié)電模式??臻e模式下,CPU 停止工作,允許RAM、定時(shí)器/

22、計(jì)數(shù)器、串口、中斷繼續(xù)工作。掉電保護(hù)方式下,RAM內(nèi)容被保存,振蕩器被凍結(jié),單片機(jī)一切工作停止,直到下一個(gè)中斷或硬件復(fù)位為止。引腳排列如圖4.2所示。圖4.2 STC89C52引腳圖從引腳功能來(lái)看,可將引腳分為三部分:1、電源及時(shí)鐘引腳VCC:接+5V電源;VSS:接地;XTAL1和XTAL2:時(shí)鐘引腳,外接晶體引線(xiàn)端。當(dāng)使用芯片內(nèi)部時(shí)鐘時(shí),此兩引腳端用于外接石英晶體和微調(diào)電容;當(dāng)使用外部時(shí)鐘時(shí),用于接外部時(shí)鐘脈沖信號(hào)。2、控制引腳RST/VPT:RST是復(fù)位信號(hào)輸入端,VPT是備用電源輸入端。當(dāng)RST輸入端保持2個(gè)機(jī)器周期以上高電平時(shí),單片機(jī)完成復(fù)位初始化操作。當(dāng)主電源VCC發(fā)生故障而突然下

23、降到一定低電壓或斷電時(shí),第2功能VPT將為片內(nèi)RAM提供電源以保護(hù)片內(nèi)RAM中的信息不丟失。ALE/PROG:地址鎖存允許信號(hào)輸出端。在存取外存儲(chǔ)器時(shí),用于鎖存低8位地址信號(hào)。當(dāng)單片機(jī)正常工作后,ALE端就會(huì)周期性地以時(shí)鐘振蕩頻率的1/6固定頻率向外輸出正脈沖信號(hào)。此引腳的第2功能PROG是對(duì)片內(nèi)帶有4K字節(jié)EPROM的8751固化程序時(shí),作為編程脈沖輸入端。PSEN:程序存儲(chǔ)允許輸出端。是片外程序存儲(chǔ)器的讀選通信號(hào),低電平有效。CPU從外部程序存儲(chǔ)器取指令時(shí),PSEN信號(hào)會(huì)自動(dòng)產(chǎn)生負(fù)脈沖,作為外部程序存儲(chǔ)器的選通信號(hào)。EA/VPP:程序存儲(chǔ)器地址允許輸入端。當(dāng)EA為高電平時(shí),CPU執(zhí)行片內(nèi)程

24、序存儲(chǔ)器指令,但當(dāng)PC中的值超過(guò)0FFFFH時(shí),將自動(dòng)轉(zhuǎn)向執(zhí)行片外程序存儲(chǔ)器指令;當(dāng)EA為低電平時(shí),CPU只執(zhí)行片外程序存儲(chǔ)器指令。對(duì)8031單片機(jī),EA必須接低電平。在8751中,當(dāng)對(duì)片內(nèi)EPROM編程時(shí),該端接21V的編程電壓。3、I/O口引腳P0.0P0.7:P0口是一個(gè)8位漏極開(kāi)路的雙向I/O口。作為輸出口,每位能驅(qū)動(dòng)8個(gè)TTL邏輯電平。對(duì)P0端口寫(xiě)“1”時(shí),引腳用作高阻抗輸入。當(dāng)訪(fǎng)問(wèn)外部程序和數(shù)據(jù)存儲(chǔ)器時(shí),P0口也被作為低8位地址/數(shù)據(jù)復(fù)用。P1.0P1.7:P1口是一個(gè)具有內(nèi)部上拉電阻的8位雙向I/O口。作為輸出口,每位能驅(qū)動(dòng)4個(gè)TTL邏輯電平。此外,P1.0和P1.2分別作定時(shí)器

25、/計(jì)數(shù)器2的外部計(jì)數(shù)輸入(P1.0/T2)和時(shí)器/計(jì)數(shù)器2的觸發(fā)輸入(P1.1/T2EX)。在flash編程和校驗(yàn)時(shí),P1口接收低8位地址字節(jié)。P2.0P2.7:P2口是一個(gè)具有內(nèi)部上拉電阻的8位雙向I/O口。作為輸出口,每位能驅(qū)動(dòng)4個(gè)TTL邏輯電平。在訪(fǎng)問(wèn)外部程序存儲(chǔ)器或用16位地址讀取外部數(shù)據(jù)存儲(chǔ)器時(shí),P2口送出高八位地址。在使用8位地址訪(fǎng)問(wèn)外部數(shù)據(jù)存儲(chǔ)器時(shí),P2口輸出P2鎖存器的內(nèi)容。在flash編程和校驗(yàn)時(shí),P2口也接收高8位地址字節(jié)和一些控制信號(hào)。P3.0P3.7:P3口是一個(gè)具有內(nèi)部上拉電阻的8位雙向I/O口。作為輸出口,每位能驅(qū)動(dòng)4個(gè)TTL邏輯電平。P3口亦作為STC89C52特

26、殊功能(第二功能)使用。在flash編程和校驗(yàn)時(shí),P3口也接收一些控制信號(hào)。4.3.2 單片機(jī)主控制模塊的設(shè)計(jì)本設(shè)計(jì)中單片機(jī)主要負(fù)責(zé)對(duì)外設(shè)的控制和各個(gè)功能模塊間的協(xié)調(diào),沒(méi)有復(fù)雜的數(shù)據(jù)計(jì)算,因此,8位的51系列單片機(jī)足以勝任。51單片機(jī)以其低廉的價(jià)格以及較出色的性能成了很多控制系統(tǒng)的首選。它具有豐富的內(nèi)部資源,較大的數(shù)據(jù)、程序存儲(chǔ)區(qū)。一個(gè)典型的單片機(jī)最小系統(tǒng)一般由時(shí)鐘電路、復(fù)位電路、電源指示燈和外部擴(kuò)展接口等部分組成,本系統(tǒng)也不例外,當(dāng)單片機(jī)具備了這些最基本的條件后,就可以正常工作了。單片機(jī)最小系統(tǒng)復(fù)位、晶振電路簡(jiǎn)介1、復(fù)位電路的設(shè)計(jì)復(fù)位電路是使單片機(jī)的CPU或系統(tǒng)中的其他部件處于某一確定的初始

27、狀態(tài),并從這上狀態(tài)開(kāi)始工作。(1)單片機(jī)常見(jiàn)的復(fù)位電路通常單片機(jī)復(fù)位電路有兩種:上電復(fù)位電路,按鍵復(fù)位電路。上電復(fù)位電路:上電復(fù)位是單片機(jī)上電時(shí)復(fù)位操作,保證單片機(jī)上電后立即進(jìn)入規(guī)定的復(fù)位狀態(tài)。它利用的是電容充電的原理來(lái)實(shí)現(xiàn)的。按鍵復(fù)位電路:它不僅具有上電復(fù)位電路的功能,同時(shí)它的操作比上電復(fù)位電路的操作要簡(jiǎn)單的多。如果要實(shí)現(xiàn)復(fù)位的話(huà),只要按下RESET鍵即可。它主要是利用電阻的分壓來(lái)實(shí)現(xiàn)的在此設(shè)計(jì)中,采用的按鍵復(fù)位電路。按鍵復(fù)位電路如圖4.3所示。圖4.3 復(fù)位電路 (2)復(fù)位電路工作原理上電復(fù)位要求接通電源后,單片機(jī)自動(dòng)實(shí)現(xiàn)復(fù)位操作。上電瞬間RESET引腳獲得高電平,隨著電容的充電,RERS

28、T引腳的高電平將逐漸下降。RERST引腳的高電平只要能保持足夠的時(shí)間(2個(gè)機(jī)器周期),單片機(jī)就可以進(jìn)行復(fù)位操作。上電與按鍵均有效的復(fù)位電路不僅在上電時(shí)可以自動(dòng)復(fù)位,而且在單片機(jī)運(yùn)行期間,利用按鍵也可以完成復(fù)位操作2、晶振電路的設(shè)計(jì)晶振電路用于產(chǎn)生單片機(jī)工作所需要的時(shí)鐘信號(hào),而時(shí)序所研究的是指令執(zhí)行中各信號(hào)之間的相互關(guān)系。單片機(jī)本身就如一個(gè)復(fù)雜的同步時(shí)序電路,為了保證同步工作方式的實(shí)現(xiàn),電路應(yīng)在唯一的時(shí)鐘信號(hào)控制下嚴(yán)格地工作。通常在引腳Xl和X2跨接石英晶體和兩個(gè)補(bǔ)償電容構(gòu)成自激振蕩器,如圖4.4中X2、C3、C4。可以根據(jù)情況選擇6MHz、12MHz或24MHz等頻率的石英晶體,補(bǔ)償電容通常選

29、擇30pF左右的瓷片電容。 圖4.4 時(shí)鐘振蕩電路4.3.3 時(shí)鐘電路模塊的設(shè)計(jì)DS1302是DALLAS公司推出的涓流充電時(shí)鐘芯片,內(nèi)含有一個(gè)實(shí)時(shí)時(shí)鐘/日歷和31字節(jié)靜態(tài)RAM,通過(guò)簡(jiǎn)單的串行接口與單片機(jī)進(jìn)行通信。圖4.5所示為DS1302的引腳排列,其中VCC1為后備電源,VCC2為主電源。所以在主電源關(guān)閉的情況下,也能保持時(shí)鐘的連續(xù)運(yùn)行。DSX1和DSX2是振蕩源,外接32.768KHz晶振用來(lái)為芯片提供計(jì)時(shí)脈沖。RST是復(fù)位/片選線(xiàn),通過(guò)把RST輸入驅(qū)動(dòng)置高電平來(lái)啟動(dòng)所有的數(shù)據(jù)傳送。RST輸入有兩種功能:首先,RST接通控制邏輯,允許地址/命令序列送入移位寄存器;其次,RST提供終止單

30、字節(jié)或多字節(jié)數(shù)據(jù)的傳送手段。當(dāng)RST為高電平時(shí),所有的數(shù)據(jù)傳送被初始化,允許對(duì)DS1302進(jìn)行操作。如果在傳送過(guò)程中RST置為低電平,則會(huì)終止此次數(shù)據(jù)傳送,I/O引腳變?yōu)楦咦钁B(tài)。上電行動(dòng)時(shí),在VCC大于等于2.5V之前,RST必須保持低電平。在SCLK為低電平時(shí),才能將RST置為高電平,I/O為串行數(shù)據(jù)輸入端(雙向)。SCLK始終是輸入端。圖4.5 DS1302的硬件接線(xiàn)圖時(shí)鐘芯片DS1302的工作原理:(1) DS1302的控制字節(jié)DS1302控制字節(jié)的高有效位(位7)必須是邏輯1,如果它為0,則不能把數(shù)據(jù)寫(xiě)入DS1302中,位6如果0,則表示存取日歷時(shí)鐘數(shù)據(jù),為1表示存取RAM數(shù)據(jù);位5至

31、位1指示操作單元的地址;最低有效位(位0)如為0表示要進(jìn)行寫(xiě)操作,為1表示進(jìn)行讀操作,控制字節(jié)總是從最低位開(kāi)始輸出(2) 數(shù)據(jù)輸入輸出(I/O)在控制指令字輸入后的下一個(gè)SCLK時(shí)鐘的上升沿時(shí),數(shù)據(jù)被寫(xiě)入DS1302,數(shù)據(jù)輸入從低位即位0開(kāi)始。同樣,在緊跟8位的控制指令字后的下一個(gè)SCLK脈沖的下降沿讀出DS1302的數(shù)據(jù),讀出數(shù)據(jù)時(shí)從低位0位到高位7。(3) DS1302的寄存器DS1302有12個(gè)寄存器,其中有7個(gè)寄存器與日歷、時(shí)鐘相關(guān),存放的數(shù)據(jù)位為BCD碼形式?!癈H”是時(shí)鐘暫停標(biāo)志位,當(dāng)該位為1時(shí),時(shí)鐘振蕩器停止,DS1302處于低功耗狀態(tài);當(dāng)該位為0時(shí),時(shí)鐘開(kāi)始運(yùn)行?!癢P”是寫(xiě)保

32、護(hù)位,在任何的對(duì)時(shí)鐘和RAM的寫(xiě)操作之前,“WP”必須為0。當(dāng)“WP”為1時(shí),寫(xiě)保護(hù)位防止對(duì)任一寄存器的寫(xiě)操作。此外,DS1302 還有年份寄存器、控制寄存器、充電寄存器、時(shí)鐘突發(fā)寄存器及與RAM相關(guān)的寄存器等。時(shí)鐘突發(fā)寄存器可一次性順序讀寫(xiě)除充電寄存器外的所有寄存器內(nèi)容。DS1302與RAM相關(guān)的寄存器分為兩類(lèi):一類(lèi)是單個(gè)RAM單元,共31個(gè),每個(gè)單元組態(tài)為一個(gè)8位的字節(jié),其命令控制字為C0HFDH,其中奇數(shù)為讀操作,偶數(shù)為寫(xiě)操作;另一類(lèi)為突發(fā)方式下的RAM寄存器,此方式下可一次性讀寫(xiě)所有的RAM的31個(gè)字節(jié),命令控制字為FEH(寫(xiě))、FFH(讀)。4.3.4獨(dú)立式鍵盤(pán)設(shè)計(jì)實(shí)現(xiàn)鍵盤(pán)控制的方法

33、有多種,在本系統(tǒng)中,我們采用了STC89C52單片機(jī)來(lái)進(jìn)行控制,因?yàn)閱纹瑱C(jī)可以很好的解決鍵抖動(dòng)。由若干個(gè)按鍵組成一個(gè)鍵盤(pán),其電路結(jié)構(gòu)可分為獨(dú)立式鍵盤(pán)和矩陣式鍵盤(pán)兩種。本設(shè)計(jì)采用的是獨(dú)立式鍵盤(pán)。鍵盤(pán)的工作方式可分為編程控制方式和中斷控制方式。CPU在一個(gè)工作周期內(nèi),利用完成其他任務(wù)的空余時(shí)間,調(diào)用鍵盤(pán)掃描子程序,經(jīng)程序查詢(xún),若無(wú)鍵操作,則返回;若有鍵操作,則進(jìn)而判斷是哪個(gè)鍵,并執(zhí)行相應(yīng)的鍵處理程序。這種方式為編程掃描方式。由于單片機(jī)在正常應(yīng)用過(guò)程中,可能會(huì)經(jīng)常進(jìn)行鍵操作,因而編程控制方式使CPU經(jīng)常處于工作狀態(tài), 在進(jìn)行本次設(shè)計(jì)中,只涉及到了設(shè)置、上調(diào)、下調(diào)三個(gè)功能。因此采用獨(dú)立式鍵盤(pán)。如下圖所

34、示:圖4.6按鍵的設(shè)計(jì) 顯示模塊的設(shè)計(jì)本設(shè)計(jì)中由于要對(duì)時(shí)間、溫度進(jìn)行顯示,所以選擇液晶顯示屏1602模塊作為輸出。1602字符型LCD通常有14條引腳線(xiàn)或16條引腳線(xiàn)的LCD,多出來(lái)的2條線(xiàn)是背光電源線(xiàn)。它可以顯示兩行,每行16個(gè)字符,采用單+5V電源供電,外圍電路配置簡(jiǎn)單,價(jià)格便宜,具有很高的性?xún)r(jià)比。1602液晶模塊內(nèi)部的字符發(fā)生存儲(chǔ)器(CGROM)已經(jīng)存儲(chǔ)了160個(gè)不同的點(diǎn)陣字符圖形,這些字符有:阿拉伯?dāng)?shù)字、英文字母的大小寫(xiě)、常用的符號(hào)、和日文假名等,每一個(gè)字符都有一個(gè)固定的代碼,比如大寫(xiě)的英文字母“A”的代碼是01000001B(41H),顯示時(shí)模塊把地址41H中的點(diǎn)陣字符圖形顯示出來(lái),

35、我們就能看到字母“A”。 管腳功能如表4-1所示:表4-1 LCD1602引腳功能引腳符號(hào)功能說(shuō)明1VSS一般接地2VDD接電源(+5V)3VL液晶顯示器對(duì)比度調(diào)整端。4RSRS為寄存器選擇。5R/WR/W為讀寫(xiě)信號(hào)線(xiàn)。6ENE(或EN)端為使能(enable)端,下降沿使能。7DB0低4位三態(tài)、 雙向數(shù)據(jù)總線(xiàn) 0位(最低位)8DB1低4位三態(tài)、 雙向數(shù)據(jù)總線(xiàn) 1位9DB2低4位三態(tài)、 雙向數(shù)據(jù)總線(xiàn) 2位10DB3低4位三態(tài)、 雙向數(shù)據(jù)總線(xiàn) 3位11DB4高4位三態(tài)、 雙向數(shù)據(jù)總線(xiàn) 4位12DB5高4位三態(tài)、 雙向數(shù)據(jù)總線(xiàn) 5位13DB6高4位三態(tài)、 雙向數(shù)據(jù)總線(xiàn) 6位14DB7高4位三態(tài)、

36、雙向數(shù)據(jù)總線(xiàn) 7位(最高位)15BL+背光電源正極16BL-背光電源負(fù)極LCD1602主要管腳介紹:V0為液晶顯示器對(duì)比度調(diào)整端,接正電源時(shí)對(duì)比度最弱,接地電源時(shí)對(duì)比度最高,對(duì)比度過(guò)高時(shí)會(huì)產(chǎn)生鬼影使用時(shí)可以通過(guò)一個(gè)10K的電位器調(diào)整對(duì)比度。RS為寄存器選擇端,高電平時(shí)選擇數(shù)據(jù)寄存器,低電平時(shí)選擇指令寄存器。RW為讀寫(xiě)信號(hào)線(xiàn)端,高電平時(shí)進(jìn)行讀操作,低電平時(shí)進(jìn)行寫(xiě)操作。當(dāng)RS和RW共同為低電平時(shí)可以寫(xiě)入指令或者顯示地址;當(dāng)RS為高電平RW 為低電平時(shí)可以寫(xiě)入數(shù)據(jù)。E為使能端,當(dāng)E端由高電平跳變成低電平時(shí),液晶模塊執(zhí)行命令。將L1602的RS端和P2.0,R/W端和P2.1, E 端和P2.2相連,

37、當(dāng)RS=0時(shí),對(duì)LCD1602寫(xiě)入指令;當(dāng)RS=1時(shí),對(duì)LCD1602寫(xiě)入數(shù)據(jù)。當(dāng)R/W端接高電平時(shí)芯片處于讀數(shù)據(jù)狀態(tài),反之處于寫(xiě)數(shù)據(jù)狀態(tài),E端為使能信號(hào)端。當(dāng)R/W為高電平,E端也為高電平,RS為低電平時(shí),液晶顯示屏顯示需要顯示的示數(shù)。圖4.7為1602液晶顯示屏與單片機(jī)的硬件連接圖。圖4.7 LCD液晶與單片機(jī)硬件連線(xiàn)圖 4.4本章小結(jié)本章主要介紹了系統(tǒng)硬件設(shè)計(jì),其中對(duì)時(shí)鐘芯片DS1302、1602液晶顯示屏和STC89C52最小系統(tǒng)的晶振及復(fù)位電路設(shè)計(jì)做了詳細(xì)闡述。此外還介紹了各模塊和單片機(jī)的連接方法、其特性及電路原理,最后確定系統(tǒng)的整體硬件設(shè)計(jì)方案。第五章 系統(tǒng)的軟件設(shè)計(jì)5.1程序流程

38、圖5.1.1 系統(tǒng)總流程圖系統(tǒng)總流程圖如圖5.1所示。流程圖分析:首先系統(tǒng)初始化,系統(tǒng)開(kāi)始運(yùn)行,當(dāng)有設(shè)置鍵按下時(shí)進(jìn)入修改時(shí)間模式,無(wú)按鍵按下時(shí)讀取時(shí)間、溫度等數(shù)據(jù)送入液晶屏顯示;在修改時(shí)間模式下設(shè)置時(shí)間完成后再送數(shù)據(jù)到液晶屏顯示。圖5.1系統(tǒng)總流程圖5.1.2 DS1302時(shí)鐘程序流程圖時(shí)鐘流程圖如圖5.2所示。流程圖分析:DS1302開(kāi)始計(jì)時(shí)時(shí),首先進(jìn)行初始化,當(dāng)有中斷信號(hào)時(shí),讀取時(shí)鐘芯片的數(shù)據(jù)送入液晶屏顯示。這時(shí)若有設(shè)置鍵按下時(shí),進(jìn)行時(shí)間修改,完成后將數(shù)據(jù)送入時(shí)鐘芯片;若沒(méi)有按鍵按下,則直接存入EPROM,送入液晶屏顯示。圖5.2 時(shí)鐘流程圖5.1.3 LCD顯示程序流程圖顯示程序流程圖如

39、圖5.3。流程圖分析:首先對(duì)1602顯示屏進(jìn)行初始化(初始化大約持續(xù)10ms左右),然后檢查忙信號(hào),若BF=0,則獲得顯示RAM的地址,寫(xiě)入相應(yīng)的數(shù)據(jù)顯示;若BF=1,則代表模塊正在進(jìn)行內(nèi)部操作,不接受任何外部指令和數(shù)據(jù),直到BF=0為止。圖5.3 LCD顯示程序流程圖5.2程序的設(shè)計(jì)5.2.1 DS1302讀寫(xiě)程序DS1302是SPI總線(xiàn)驅(qū)動(dòng)方式。它不僅要向寄存器寫(xiě)入控制字,還需要讀取相應(yīng)寄存器的數(shù)據(jù)。要想與DS1302通信,首先要先了解DS1302的控制字。DS1302的控制字如圖5.4所示。圖5.4 DS1302的控制字控制字總是從最低位開(kāi)始輸出。在控制字指令輸入后的下一個(gè)SCLK時(shí)鐘的

40、上升沿時(shí),數(shù)據(jù)被寫(xiě)入DS1302,數(shù)據(jù)輸入從最低位(0位)開(kāi)始。同樣,在緊跟8位的控制字指令后的下一個(gè)SCLK脈沖的下降沿,讀出DS1302的數(shù)據(jù),讀出的數(shù)據(jù)也是從最低位到最高位。數(shù)據(jù)讀寫(xiě)時(shí)序如圖5.5、5.6所示。圖5.5 單字節(jié)讀圖5.6 單字節(jié)寫(xiě)在進(jìn)行任何數(shù)據(jù)傳輸時(shí),RST必須被置高電平,每個(gè)SCLK為上升沿時(shí)數(shù)據(jù)被輸入,下降沿時(shí)數(shù)據(jù)被輸出。先把RST置低,禁止數(shù)據(jù)傳輸,SCLK置低,清零時(shí)鐘總線(xiàn),RST再置高,允許數(shù)據(jù)傳輸。傳送完成后,RST置低,禁止字節(jié)的傳送。程序見(jiàn)附錄二。5.2.2液晶顯示程序1602通過(guò)D0D7的8位數(shù)據(jù)端傳輸數(shù)據(jù)和指令,其模塊內(nèi)的控制器有11條控制指令。當(dāng)液晶

41、顯示屏的接口電路與單片機(jī)系統(tǒng)I/O按照并行數(shù)據(jù)傳輸方式連接完成以后,即可以對(duì)STC89C52單片機(jī)進(jìn)行編程。在液晶屏完成顯示之前首先要對(duì)液晶進(jìn)行初始化。程序見(jiàn)附錄二。5.3本章小結(jié)本章對(duì)基于單片機(jī)的萬(wàn)年歷系統(tǒng)軟件模塊進(jìn)行設(shè)計(jì),先對(duì)該系統(tǒng)進(jìn)行了整體流程的設(shè)計(jì),給出了設(shè)計(jì)的流程圖,隨后介紹了各模塊的子程序。對(duì)一些模塊常用的函數(shù)進(jìn)行了解釋?zhuān)@一切都構(gòu)成了這個(gè)系統(tǒng)的軟件基礎(chǔ)。第六章 結(jié)束語(yǔ)至此,畢業(yè)設(shè)計(jì)的所有內(nèi)容就介紹完了,通過(guò)本次課程設(shè)計(jì)較系統(tǒng)地掌握有關(guān)單片機(jī)控制的設(shè)計(jì)思想和設(shè)計(jì)方法,主要對(duì)STC89C52的結(jié)構(gòu)、功能、內(nèi)部資源等了解并對(duì)其進(jìn)行測(cè)試和加以應(yīng)用的知識(shí)得到學(xué)習(xí)。進(jìn)行這次畢業(yè)設(shè)計(jì),從最簡(jiǎn)單

42、的查資料、了解各個(gè)元件的功能起步,再確定設(shè)計(jì)方案、畫(huà)流程圖、編寫(xiě)程序到最后進(jìn)行仿真測(cè)試,這次課題設(shè)計(jì)可以說(shuō)成功完成。系統(tǒng)的硬件、軟件設(shè)計(jì)合理,功能完備,運(yùn)行穩(wěn)定、可靠。實(shí)驗(yàn)結(jié)果表明此萬(wàn)年歷實(shí)現(xiàn)后具有讀取方便、顯示直觀(guān)、功能多樣、電路簡(jiǎn)潔、等諸多優(yōu)點(diǎn),符合電子儀器儀表的發(fā)展趨勢(shì),具有廣闊的市場(chǎng)前景。在整個(gè)設(shè)計(jì)過(guò)程中,充分發(fā)揮了人的主觀(guān)能動(dòng)性,提高了自學(xué)能力,學(xué)到了許多沒(méi)學(xué)到的知識(shí)。程序編寫(xiě)中,由于思路不清晰,開(kāi)始時(shí)遇到了很多的問(wèn)題,經(jīng)過(guò)靜下心來(lái)思考查資料,和同學(xué)討論,向老師請(qǐng)教,理清了思路,完成對(duì)程序的編寫(xiě)。通過(guò)設(shè)計(jì)提高了對(duì)單片機(jī)的認(rèn)識(shí),進(jìn)一步熟悉和掌握單片機(jī)的結(jié)構(gòu)及工作原理。通過(guò)實(shí)際程序設(shè)計(jì)和

43、調(diào)試,逐步掌握模塊化程序設(shè)計(jì)方法和調(diào)試技術(shù),提高軟件設(shè)計(jì)、調(diào)試能力;通過(guò)這次設(shè)計(jì)熟悉以單片機(jī)核心的應(yīng)用系統(tǒng)開(kāi)發(fā)的全過(guò)程,掌握硬件電路設(shè)計(jì)的基本方法和技術(shù),掌握相關(guān)電路參數(shù)的計(jì)算方法。最終較好的完成了設(shè)計(jì),達(dá)到了預(yù)期的目的,完了最初的設(shè)想。但是由于時(shí)間和個(gè)人能力的原因,整個(gè)系統(tǒng)看起來(lái)還是顯得非常的簡(jiǎn)單,只實(shí)現(xiàn)了一些最基本的功能,還有許多不足和可以擴(kuò)展的地方。例如實(shí)現(xiàn)公歷和農(nóng)歷的轉(zhuǎn)換、鬧鐘報(bào)時(shí)等,這些有待以后來(lái)彌補(bǔ),還望各位老師予以指正和修改。參考文獻(xiàn)1 張友德,趙志英,涂時(shí)亮,單片微型機(jī)原理、應(yīng)用與實(shí)驗(yàn) ,復(fù)旦大學(xué)出版社,2008.5,第5版,第4次印刷2 趙亮,侯國(guó)銳,單片機(jī)C語(yǔ)言編程與實(shí)例

44、,人民郵電出版社 ,2003.9,第1版,第1次印刷3 高鵬,安濤,寇懷成,電路設(shè)計(jì)與制版protel99入門(mén)與提高 ,人民郵電出版社 ,2006.7第1版,第34次印刷4 譚浩強(qiáng),C程序設(shè)計(jì) M.(第三版) ,清華大學(xué)出版社,2005,第3版5 李朝青,單片機(jī)原理及接口技術(shù) ,北京航空航天大學(xué)出版社,2004.7,第1版,第13次印刷6 康光華,電子技術(shù)基礎(chǔ)模擬部分 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);/時(shí)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. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論