2023年全國碩士研究生考試考研英語一試題真題(含答案詳解+作文范文)_第1頁
已閱讀1頁,還剩35頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、<p>  課 程 設(shè) 計(jì)</p><p>  2013年 7 月 8日</p><p><b>  課程設(shè)計(jì)任務(wù)書</b></p><p>  課程 單片機(jī)課程設(shè)計(jì) </p>&

2、lt;p>  題目 電子日歷的制作 </p><p>  專業(yè) 測(cè)控技術(shù)與儀器 姓名 學(xué)號(hào) </p><p><b>  一、任務(wù)</b></p>&l

3、t;p>  以AT89C51單片機(jī)為控制核心,利用電子日歷芯片DS1302及LCD液晶顯示屏設(shè)計(jì)出一種具有時(shí)間及日期顯示、預(yù)約定時(shí)等基本功能的電子日歷。</p><p><b>  二、設(shè)計(jì)要求</b></p><p>  [1] 掌握LCD液晶顯示屏的工作原理;</p><p>  2、該電子日歷可以顯示,年、月、日、時(shí)、分、秒及星期等

4、內(nèi)容;</p><p>  3、具有4個(gè)按鍵操作來設(shè)置現(xiàn)在的時(shí)間。操作鍵K1- K6功能如下:</p><p> ?。?)操作鍵K1:進(jìn)入設(shè)置現(xiàn)在的時(shí)間;</p><p> ?。?)操作鍵K2:設(shè)置月;</p><p> ?。?)操作鍵K3:設(shè)置日;</p><p> ?。?)操作鍵K4:設(shè)置小時(shí);</p>

5、<p> ?。?)操作鍵K5:設(shè)置分鐘;</p><p>  (6)操作鍵K6:確認(rèn)完成設(shè)置。</p><p>  4、基本電路包括:單片機(jī)最小系統(tǒng)、LCD顯示電路、蜂鳴器電路、獨(dú)立鍵盤電路等;</p><p>  5、提交設(shè)計(jì)報(bào)告、電路圖及程序源碼。</p><p><b>  三、參考資料</b><

6、;/p><p>  [1] 劉國鈞,陳紹業(yè),王鳳翥.圖書館目錄[M].北京:高等教育出版社,1957.15-18.</p><p>  [2] 劉潤華,劉立山.模擬電子技術(shù)[J].山東:石油大學(xué)出版社,2003.</p><p>  [3] 蘇成富.彩燈控制器[J].北京:電機(jī)電器技術(shù),2000,(01).</p><p>  [4] 祝富林.音

7、樂彩燈電路CS9482[J].北京:電子世界,1995,(12).</p><p>  [5] 彭介華.電子技術(shù)課程設(shè)計(jì)指導(dǎo)[J].北京:高等教育出版社,1997.</p><p>  完成期限 2013.7.1 - 2013.7.10 </p><p>  指導(dǎo)教師

8、 </p><p>  專業(yè)負(fù)責(zé)人 </p><p>  2013年 6月 29 日</p><p><b>  目 錄</b></p><p><b>  第1章 緒論1</b></p><p>  1.1 LED

9、點(diǎn)陣顯示屏概述1</p><p>  1.2 LED顯示屏控制技術(shù)狀況1</p><p>  1.3 本設(shè)計(jì)任務(wù)2</p><p>  第2 章 總體方案論證與設(shè)計(jì)3</p><p>  2.1 LED驅(qū)動(dòng)模塊3</p><p>  2.2 數(shù)據(jù)存儲(chǔ)模塊3</p><p>

10、  2.3 總體硬件組成框圖4</p><p>  第3章 系統(tǒng)硬件設(shè)計(jì)5</p><p>  3.1 LED驅(qū)動(dòng)模塊的硬件設(shè)計(jì)5</p><p>  3.2數(shù)據(jù)存儲(chǔ)電路設(shè)計(jì)6</p><p>  3.3 PC機(jī)通信模塊的設(shè)計(jì)7</p><p>  第4章 系統(tǒng)的軟件設(shè)計(jì)9</p>

11、<p>  4.1 主程序設(shè)計(jì)9</p><p>  4.2 驅(qū)動(dòng)顯示子程序設(shè)計(jì)10</p><p>  第5章 系統(tǒng)調(diào)試與測(cè)試結(jié)果分析12</p><p>  5.1 使用的儀器儀表12</p><p>  5.2 系統(tǒng)調(diào)試12</p><p>  5.3 測(cè)試結(jié)果12</p>

12、;<p><b>  結(jié) 論13</b></p><p><b>  參考文獻(xiàn)14</b></p><p><b>  附錄1 程序15</b></p><p><b>  第1章 緒論</b></p><p>  近年來隨著計(jì)算機(jī)

13、在社會(huì)領(lǐng)域的滲透和大規(guī)模集成電路的發(fā)展,單片機(jī)的應(yīng)用正在不斷地走向深入,由于它具有功能強(qiáng),體積小,功耗低,價(jià)格便宜,工作可靠,使用方便等特點(diǎn),因此特別適合于與控制有關(guān)的系統(tǒng),越來越廣泛地應(yīng)用于自動(dòng)控制,智能化儀器,儀表,數(shù)據(jù)采集,軍工產(chǎn)品以及家用電器等各個(gè)領(lǐng)域,單片機(jī)往往是作為一個(gè)核心部件來使用,在根據(jù)具體硬件結(jié)構(gòu),以及針對(duì)具體應(yīng)用對(duì)象特點(diǎn)的軟件結(jié)合,以作完善。 </p><p>  而51系列單片機(jī)是各單片機(jī)中

14、最為典型和最有代表性的一種,通過本次課程設(shè)計(jì)進(jìn)一步對(duì)單片機(jī)學(xué)習(xí)和應(yīng)用,從而更熟悉單片機(jī)的原理和相關(guān)設(shè)計(jì)并提高了開發(fā)軟、硬件的能力。本設(shè)計(jì)主要設(shè)計(jì)一個(gè)基于80C51單片機(jī)的電子時(shí)鐘,并在LED上顯示相應(yīng)的時(shí)間,通過兩個(gè)控制鍵和4×4鍵盤來實(shí)現(xiàn)時(shí)間的調(diào)節(jié)功能。應(yīng)用Proteus軟件實(shí)現(xiàn)單片機(jī)數(shù)字時(shí)鐘系統(tǒng)的設(shè)計(jì)與仿真。 </p><p>  1.1單片機(jī)發(fā)展概況</p><p>  隨

15、著大規(guī)模集成電路技術(shù)的發(fā)展,可以將CPU、RAM、ROM、定時(shí)器/計(jì)數(shù)器以及輸入/輸出(I/O)接口電路等計(jì)算機(jī)的主要部件集成在一塊集成電路芯片上。這樣組成的芯片級(jí)的微型計(jì)算機(jī)就是“單片微型計(jì)算機(jī)(SingleChipMicrocomputer)”。由于單片機(jī)從功能和形態(tài)來說都是作為控制領(lǐng)域應(yīng)用的要求而誕生的,并且發(fā)展到新一代80C51、M68HC11系列單片機(jī)時(shí),在其中著力擴(kuò)展了各種控制功能,如模/數(shù)(A/D)轉(zhuǎn)換、脈寬調(diào)制(PWM)

16、、計(jì)數(shù)器捕獲/比較邏輯(PCA)、高速I/O口和WDT等,已突破了微型計(jì)算機(jī)的傳統(tǒng)內(nèi)容。所以更準(zhǔn)確的叫法應(yīng)是微控制器(MicroControllerUnit,MCU)。</p><p>  單片機(jī)的發(fā)展大致經(jīng)歷了三代:</p><p>  第一代:以1976年推出的MCS-48系列為代表,其主要的技術(shù)特征是將CPU和計(jì)算機(jī)外圍電路集成到了一個(gè)芯片上,成為與通用CPU分道揚(yáng)鑣的標(biāo)志。<

17、/p><p>  第二代:以MCS-的8051、8052為代表。主要技術(shù)特點(diǎn)是向外部接口電路擴(kuò)展,以實(shí)現(xiàn)微控制器化。代表產(chǎn)品為Intel公司MCS-51,Motorola公司68HC05。</p><p>  第三代:以89C51系列單片機(jī)為代表,這個(gè)時(shí)期的產(chǎn)品以CMOS化為特色,以完善的單片機(jī)的控制功能為己任。89C51是80C51含EEPROM的產(chǎn)品。這兩種單片機(jī)有兩級(jí)或三級(jí)程序存儲(chǔ)器保密

18、系統(tǒng),用以保護(hù)EPROM或EEPROM中的程序,以防止非法復(fù)制。近幾年,單片機(jī)競相采用Flash存儲(chǔ)器。它可以取代PROM、EPROM、OTP和EEPROM。利用Flash存儲(chǔ)器可高速讀/寫的特點(diǎn)實(shí)現(xiàn)在系統(tǒng)編程ISP和在應(yīng)用編程IAP。</p><p>  1.2單片機(jī)原理及應(yīng)用簡介</p><p>  隨著國內(nèi)超大規(guī)模集成電路的出現(xiàn),微處理器及其外圍芯片有了迅速的發(fā)展。集成技術(shù)的最新發(fā)展

19、之一是將CPU和外圍芯片,如程序存儲(chǔ)器、數(shù)據(jù)存儲(chǔ)器、并行、串行I/O口、定時(shí)/計(jì)數(shù)器、中斷控制器及其他控制部件集成在一個(gè)芯片之中,制成單片計(jì)算機(jī)(Single-ChipMicrocomputer)。而近年來推出的一些高檔單片機(jī)還包括有許多特殊功能單元,如A/D、D/A轉(zhuǎn)換器、調(diào)制解調(diào)器、通信控制器、鎖相環(huán)、DMA、浮點(diǎn)運(yùn)算單元等。因此,只要外加一些擴(kuò)展電路及必要的通道接口就可以構(gòu)成各種計(jì)算機(jī)應(yīng)用系統(tǒng),如工業(yè)控制系統(tǒng)、數(shù)據(jù)采集系統(tǒng)、自動(dòng)測(cè)

20、試系統(tǒng)、萬年歷電子表等。</p><p>  單片機(jī)的出現(xiàn),并在各個(gè)技術(shù)領(lǐng)域中得到如此迅猛的發(fā)展,與單片機(jī)構(gòu)成計(jì)算機(jī)應(yīng)用系統(tǒng)所形成的下述特點(diǎn)有關(guān):</p><p>  1、單片機(jī)構(gòu)成的應(yīng)用系統(tǒng)有較大的可靠性。這些可靠性的獲得除了依靠單-3-片機(jī)芯片本身的高可靠性以及應(yīng)用有最少的聯(lián)接外,還可以方便地采用軟、硬件技術(shù)。</p><p>  2、系統(tǒng)擴(kuò)展、系統(tǒng)配置較典型、

21、規(guī)范,容易構(gòu)成各種規(guī)模的應(yīng)用系統(tǒng),應(yīng)用系統(tǒng)有較高的軟、硬件利用系數(shù)。</p><p>  3、由于構(gòu)成的應(yīng)用系統(tǒng)是一個(gè)計(jì)算機(jī)系統(tǒng),相當(dāng)多的測(cè)、控功能由軟件實(shí)現(xiàn),故具有柔性特征,不須改變硬件系統(tǒng)就能適當(dāng)?shù)馗淖兿到y(tǒng)功能。</p><p>  4、有優(yōu)異的性能、價(jià)格比。</p><p>  可以說,對(duì)于廣大的電子應(yīng)用專業(yè)技術(shù)人員,目前國和內(nèi)國外面臨的單片機(jī)應(yīng)用技術(shù),如同6

22、0年代面臨晶體管技術(shù),70年代面臨數(shù)字集成電路一樣。單片機(jī)和可編程門陣列相結(jié)合,構(gòu)成新一代電子應(yīng)用技術(shù)是不可能回避的一項(xiàng)新型的工程應(yīng)用技術(shù)。單片機(jī)是微型計(jì)算機(jī)的一個(gè)重要分枝,單片機(jī)是把中央處理器、隨機(jī)存儲(chǔ)器、只讀存儲(chǔ)器、定時(shí)器/計(jì)數(shù)器、并行接口接口、串行接口、A/D轉(zhuǎn)換器等主要計(jì)算機(jī)部件,集中在一塊集成電路芯片上。雖然只是一個(gè)芯片,但從功能上它就相當(dāng)于一臺(tái)完整的微機(jī)。隨著科學(xué)技術(shù)的迅猛發(fā)展,單片計(jì)集成度高、體積小、運(yùn)算速度快、功耗低、運(yùn)

23、行可靠、價(jià)格低廉等諸多優(yōu)點(diǎn),越來越顯現(xiàn)出來。目前可以說單片機(jī)已經(jīng)滲透到我們的生活的各個(gè)領(lǐng)域,在工業(yè)方面:像過程控制、數(shù)據(jù)采集,機(jī)電一體化、智能化儀器儀表,特別在軍事武器控制方面尤為突出。在日常生活方面,我們使用彩電、洗衣機(jī)、電冰箱,錄放機(jī)、VCD、照相機(jī)、手機(jī)、高級(jí)定時(shí)鬧鐘以及公共汽車上的報(bào)站器等等可以說舉不勝舉。</p><p>  把單片機(jī)的誕生稱為計(jì)算機(jī)發(fā)展史上的一個(gè)重要里程碑并不過分。單片機(jī)的應(yīng)用,使許多

24、領(lǐng)域的技術(shù)水平和自動(dòng)化程度大大提高??梢哉f當(dāng)今世界正在經(jīng)受一場以單片機(jī)技術(shù)為標(biāo)志的新技術(shù)革命浪潮的沖擊。人們需要掌握單片機(jī)知識(shí),跨入單片機(jī)應(yīng)用與開發(fā)領(lǐng)域的大門。我們作為理工科的大學(xué)生,學(xué)習(xí)單片機(jī)課程尤其顯得越來越重要。</p><p>  1.3 本設(shè)計(jì)任務(wù)</p><p>  隨著電子技術(shù)的發(fā)展,人類不斷研究,不斷創(chuàng)新紀(jì)錄。萬年歷目前已經(jīng)不再局限于以書本形式出現(xiàn)。以電腦軟件或者電子產(chǎn)品

25、形式出現(xiàn)的萬年歷被稱為電子萬年歷。與傳統(tǒng)書本形式的萬年歷相比,電子萬年歷得到了越來越廣泛的應(yīng)用,采用電子時(shí)鐘作為時(shí)間顯示已經(jīng)成為一種時(shí)尚。目前市場上各式各樣的電子時(shí)鐘數(shù)不勝數(shù),但多數(shù)是只針對(duì)時(shí)間顯示,功能單</p><p>  一不能滿足人們?nèi)粘I钚枨蟆?</p><p>  本文提出了一種基于AT89C51單片機(jī)的萬年歷設(shè)計(jì)方案,本方案以AT89C51單片機(jī)作為主控核心,與時(shí)鐘芯片DS

26、1302、按鍵、LCD顯示等模塊組成硬件系統(tǒng)。在硬件系統(tǒng)中設(shè)有獨(dú)立按鍵和LED顯示器,能顯示豐的信息,根據(jù)使用者的需要可以隨時(shí)對(duì)時(shí)間進(jìn)行校準(zhǔn)、選擇時(shí)間等,綜上所述此萬年歷具有讀取方便、顯示直觀、功能多樣、電路簡潔、成本低廉等諸多優(yōu)點(diǎn),符合電子儀器儀表的發(fā)展趨勢(shì),具有廣闊的市場前景。 </p><p><b> ?。ㄒ唬δ芤?</b></p><p>  本電子萬

27、年歷能動(dòng)態(tài)顯示年、月、日、星期、小時(shí)、分鐘、秒</p><p>  第2 章 總體方案論證與設(shè)計(jì)</p><p>  本系統(tǒng)采用單片機(jī)AT89C51為控制核心,利用電子日歷芯片DS1302及LCD液晶顯示屏設(shè)計(jì)出一種具有時(shí)間及日期顯示、預(yù)約定時(shí)等基本功能的電子日歷。系統(tǒng)主要包括單片機(jī)最小系統(tǒng)、LCD顯示電路、蜂鳴器電路、獨(dú)立鍵盤電路等;下面對(duì)各模塊的設(shè)計(jì)逐一進(jìn)行論證比較。</p&g

28、t;<p>  1.3.1 技術(shù)可行性 </p><p>  隨著國內(nèi)超大規(guī)模集成電路的出現(xiàn),微處理器及其外圍芯片有了迅速的發(fā)展。集成技術(shù)的最新發(fā)展之一是將CPU和外圍芯片,如程序存儲(chǔ)器、數(shù)據(jù)存儲(chǔ)器、并行I/O口、串行I/O口、定時(shí)/計(jì)數(shù)器、中斷控制器及其他控制部件集成在一個(gè)芯片之中,制成單片計(jì)算機(jī)(Single-Chip Microcomputer)。而近年來推出的一些高檔單片機(jī)還包括有許多特殊

29、功能單元,如A/D、D/A轉(zhuǎn)換器、調(diào)制解調(diào)器、通信控制器、鎖相環(huán)、DMA、浮點(diǎn)運(yùn)算單元、PWM控制輸出單元、PWM輸出時(shí)的死區(qū)可編程控制功能等。因此,只要外加一些擴(kuò)展電路及必要的通道接口就可以構(gòu)成各種計(jì)算機(jī)應(yīng)用系統(tǒng),如工業(yè)流水線控制系統(tǒng)、作為家用電器的主控制器、分布式控制系統(tǒng)的終端節(jié)點(diǎn)或作為其主控制節(jié)點(diǎn)起中繼的作用、數(shù)據(jù)采集系統(tǒng)、自動(dòng)測(cè)試系統(tǒng)等。 </p><p>  單片機(jī)的出現(xiàn),并在各技術(shù)領(lǐng)域中得到如此迅猛的

30、發(fā)展,與單片機(jī)構(gòu)成計(jì)算機(jī)應(yīng)用系統(tǒng)所形成的下述特點(diǎn)有關(guān): </p><p>  1、單片機(jī)構(gòu)成的應(yīng)用系統(tǒng)有較大的可靠性。這些可靠性的獲得除了依靠單片機(jī)芯片本身的高可靠性以及應(yīng)用有最少的聯(lián)接外,還可以方便地采用軟、硬件技術(shù)。 </p><p>  2、系統(tǒng)擴(kuò)展、系統(tǒng)配置較典型、規(guī)范,容易構(gòu)成各種規(guī)模的應(yīng)用系統(tǒng),應(yīng)用系統(tǒng)有較高的軟、硬件利用系數(shù)。 </p><p>  3

31、、由于構(gòu)成的應(yīng)用系統(tǒng)是一個(gè)計(jì)算機(jī)系統(tǒng),相當(dāng)多的測(cè)、控功能由軟件實(shí)現(xiàn),故具有柔性特征,不須改變硬件系統(tǒng)就能適當(dāng)?shù)馗淖兿到y(tǒng)功能。 </p><p>  4、有優(yōu)異的性能、價(jià)格比。 </p><p>  1.3.2 單片機(jī)的選擇 </p><p>  方案一:采用傳統(tǒng)的AT89C51作為電機(jī)的控制核心。單片機(jī)算術(shù)運(yùn)算功能強(qiáng),軟件編程靈活、自由度大,可用軟件編程實(shí)現(xiàn)各種算法

32、和邏輯控制,并且由于其功耗低、體積小、技術(shù)成熟和成本低等優(yōu)點(diǎn),使其在各個(gè)領(lǐng)域應(yīng)用廣泛。 </p><p>  方案二:采用FTC10F04單片機(jī),還帶有非易失性Flash程序存儲(chǔ)器。它是一種高性能、低功耗的8位CMOS微處理芯片,市場應(yīng)用最多。其主要特點(diǎn)如下:8KB Flash ROM,可以擦除1000次以上,數(shù)據(jù)保存10年。 </p><p>  由于本系統(tǒng)對(duì)CPU運(yùn)算速度要求很高,需要

33、執(zhí)行很復(fù)雜的運(yùn)算,方案一成本比較低,適合做設(shè)計(jì),方案二運(yùn)算速度高,性能好,所以兩種方案都有可取之處。選用方案一作為主方案,方案二作為備用方案。 </p><p>  1.3.3 顯示模塊的選擇 </p><p>  方案一:使用液晶顯示屏顯示時(shí)間數(shù)字。 液晶顯示屏(LCD)具有輕薄短小、低耗電量、無輻射危險(xiǎn),平面直角顯示以及影象穩(wěn)定不閃爍等優(yōu)勢(shì),

34、可視面積大,畫面效果好,分辨率高,抗干擾能力強(qiáng)等特點(diǎn)。但由于液晶是以點(diǎn)陣的模式顯示各種符號(hào),需要利用控制芯片創(chuàng)建字符庫,編程工作量大,控制器的資源占用較多,其成本也偏高。在使用時(shí),不能有靜電干擾,否則易燒壞液晶的顯示芯片,不易維護(hù)。 </p><p>  方案二:使用傳統(tǒng)的LED數(shù)碼管顯示。 數(shù)碼管具有:低能耗、低損耗、低壓、壽命長、耐老化、防曬、防潮、防火、防高(低)溫,對(duì)外界環(huán)境要求低,易于維護(hù),同時(shí)其精度比

35、較高,稱重輕,精確可靠,操作簡單。數(shù)碼管采用BCD編碼顯示數(shù)字,程序編譯容易,資源占用較少。 </p><p>  根據(jù)以上的論述,采用方案二。在本系統(tǒng)中,我們采用了八段四位一體數(shù)碼管串口的動(dòng)態(tài)顯示,由于顯示位數(shù)較多,故應(yīng)使用顯示驅(qū)動(dòng),在本設(shè)計(jì)中采用MAX7219顯示驅(qū)動(dòng)芯片。 </p><p>  1.3.4 鍵盤模塊的選擇 </p><p>  在對(duì)日期和時(shí)間進(jìn)

36、行切換,對(duì)日期和時(shí)間進(jìn)行調(diào)節(jié)校準(zhǔn)過程中,系統(tǒng)需要產(chǎn)生激勵(lì)電流,因此需要用按鍵。 </p><p>  方案一:使用獨(dú)立式鍵盤。獨(dú)立式鍵盤是指直接用I/O口線構(gòu)成的單個(gè)按鍵電路。獨(dú)立式按鍵電路配置靈活,軟件結(jié)構(gòu)簡單。 </p><p>  方案二:使用矩陣式鍵盤。矩陣式鍵盤是由行線和列線組成,按鍵位于行、列的交叉點(diǎn)上,行線、列線分別連接到按鍵開關(guān)的兩端。其特點(diǎn)是簡單且不增加成本,這種鍵盤適合

37、按鍵數(shù)量較多的場合。 </p><p>  根據(jù)以上的論述,因本系統(tǒng)需要的按鍵不多,星期加1鍵,日期加1鍵,月數(shù)加1鍵,年數(shù)加1鍵,秒數(shù)加1鍵,分?jǐn)?shù)加1鍵,時(shí)數(shù)加1鍵,時(shí)間/日期切換鍵,要求簡單。所以采用方案一獨(dú)立式鍵盤。 </p><p>  2.3總體硬件組成框圖</p><p>  按照系統(tǒng)設(shè)計(jì)功能的要求,初步確定系統(tǒng)由主控模塊、時(shí)控模塊、顯示驅(qū)動(dòng)及顯示模塊和

38、鍵盤接口模塊共4個(gè)模塊組成,電路系統(tǒng)構(gòu)成框圖如圖所示。</p><p>  圖2-1 總體硬件組成框圖</p><p>  主控芯片使用51系列AT89C51單片機(jī),時(shí)鐘芯片使用美國DALLAS公司推出的一種高性能、低功耗、帶RAM的實(shí)時(shí)時(shí)鐘DS1302。采用DS1302作為計(jì)時(shí)芯片,可以做到計(jì)時(shí)準(zhǔn)確。更重要的是,DS1302可以在很小電流的后備電源(2.5~5.5V電源,再2.5V時(shí)耗

39、電小于300nA),而且DS1302 可以編程選擇多種充電電流來隊(duì)后備電源進(jìn)行慢速充電,可以保證后備電源基本不耗電。顯示驅(qū)動(dòng)采用MAX7219,MAX7219 是微處理器和共陰極八段八位LED 數(shù)碼管顯示、圖條/柱圖顯示或64 點(diǎn)陣顯示接口的小型串行輸入/輸出芯片。片內(nèi)包括BCD 譯碼器、多路掃描控制器、字和位驅(qū)動(dòng)器和8×8 靜態(tài)RAM。外部只需要一個(gè)電阻設(shè)置所有LED 顯示器字段電流。MAX7219 和微處理器只需三根導(dǎo)線連

40、接,每位顯示數(shù)字有一個(gè)地址由微處理器寫入。允許使用者選擇每位是BCD 譯碼或不譯碼。使用者還可選擇停機(jī)模式、數(shù)字亮度控制、從1~8 選擇掃描位數(shù)和對(duì)所有LED 顯示器的測(cè)試模式。顯示模塊采用普通的共陰極四位一體八段LED數(shù)碼管。 </p><p>  第3章 系統(tǒng)硬件設(shè)計(jì)</p><p>  為使該模塊化LED顯示屏控制系統(tǒng)具有更加方便和靈活性,我們對(duì)系統(tǒng)的硬件做了精心設(shè)計(jì)。硬件電路包

41、括LED驅(qū)動(dòng)模塊、數(shù)據(jù)存儲(chǔ)模塊、PC機(jī)通信模塊等三大模塊。</p><p>  3.1 系統(tǒng)硬件概述</p><p>  3.1.1主控制器AT89C51 </p><p>  ATMEL公司生產(chǎn)的AT89C51單片機(jī)采用高性能的靜態(tài)80C51設(shè)計(jì),并采用先進(jìn)工藝制造,還帶有非易失性Flash程序存儲(chǔ)器。它是一種高性能、低功耗的8位CMOS微處理芯片,市場應(yīng)用最多

42、。其主要特點(diǎn)如下: 8KB Flash ROM,可以擦除1000次以上,數(shù)據(jù)保存10年。 </p><p>  ● 256字節(jié)內(nèi)部RAM; </p><p>  ● 電源控制模式; </p><p>  ● 時(shí)鐘可停止和恢復(fù); </p><p><b>  ● 空閑模式; </b></p><p>

43、;<b>  ● 掉電模式; </b></p><p><b>  ● 6個(gè)中斷源; </b></p><p>  ● 4個(gè)中斷優(yōu)先級(jí); </p><p>  ● 4個(gè)8位I/O口; </p><p>  ● 全雙工增強(qiáng)型TUAR; </p><p>  ● 3個(gè)16位定時(shí)/

44、計(jì)數(shù)器:T0、T1(標(biāo)準(zhǔn)80C51)和增加的T2(捕獲和比較) </p><p>  ● 全靜態(tài)工作方式:0~24MHZ </p><p>  2.2.3 顯示驅(qū)動(dòng)MAX7219 </p><p>  ● MAX7219 和單片計(jì)算機(jī)連接有三條引線(DIN、CLK、LOAD),采用16 位數(shù)據(jù)串行移位接收方式 </p><p>  ● 八位L

45、ED 顯示、圖條/柱圖顯示或64 點(diǎn)陣顯示 </p><p>  ● 包括BCD 譯碼器、多路掃描控制器、字和位驅(qū)動(dòng)器和8×8 靜態(tài)RAM </p><p>  ● 可選擇停機(jī)模式、數(shù)字亮度控制、從1~8 選擇掃描位數(shù)和對(duì)所有LED 顯示器的測(cè)試模式 </p><p>  ● 最多能驅(qū)動(dòng)8 位LED 顯示器 </p><p>  ●

46、 內(nèi)部RAM 地址01~08H 分別對(duì)應(yīng)于DIG0~DIG7。 </p><p>  ● 掃描界限寄存器(地址0BH):該寄存器中D0~D3 位數(shù)據(jù)設(shè)定值為0~7H,設(shè)定值表示顯示器動(dòng)態(tài)掃描個(gè)數(shù)位1~8。 </p><p>  ● 停機(jī)寄存器(地址0CH):當(dāng)D0=0 時(shí),MAX721 處于停機(jī)狀態(tài);當(dāng)D0=1 時(shí),處于正常工作狀態(tài)。 </p><p>  ● 顯示

47、測(cè)試寄存器(地址0FH):當(dāng)D0=0時(shí),MAX7219 按設(shè)定模式正常工作;當(dāng)D0=1 時(shí),處于測(cè)試狀態(tài)。在該狀態(tài)下,不管MAX7219 處于什么模式,全部LED 將按最大亮度顯示。 </p><p>  ● 亮度寄存器(地址0AH):亮度可以用硬件和軟件兩種方法調(diào)節(jié)亮度寄存器中的D0~D3位可以控制LED 顯示器的亮度。 MAX7219 通過D11~D84 位地址位譯碼,可尋址14 個(gè)內(nèi)部寄存器,分別是8 個(gè)L

48、ED 顯示位寄存器,5 個(gè)控制寄存器和1 個(gè)空操作寄存器。 </p><p>  LED 顯示寄存器由內(nèi)部8 × 8 靜態(tài)RAM 構(gòu)成,操作者可直接對(duì)位寄存器進(jìn)行個(gè)別尋址, 以刷新和保持?jǐn)?shù)據(jù), 只要V +超過2 V(一般為+ 5V)。 控制寄存器包括: 譯碼模式, 顯示亮度調(diào)節(jié), 掃描限制(選擇掃描位數(shù)),關(guān)斷和顯示測(cè)試寄存器。 MAX7219 的驅(qū)動(dòng)程序首先必須對(duì)5 個(gè)控制寄存器初始設(shè)置即初始化,

49、各控制寄存器設(shè)置含義如下:譯碼模式選擇寄存器(地址= F9H);MAX7219 有兩種譯碼方式:B 譯碼方式和不譯碼方式。當(dāng)選擇不譯碼時(shí), 8 個(gè)數(shù)據(jù)為分別一一對(duì)應(yīng)7 個(gè)段和小數(shù)點(diǎn)位;B 譯碼方式是BCD 譯碼,直接送數(shù)據(jù)就可以顯示。實(shí)際應(yīng)用中可以按位設(shè)置選擇B 譯碼或是不譯碼方式。 掃描限制寄存器: 地址= FBH;用于設(shè)置顯示的LED 個(gè)數(shù)( 1 ~8 ) , 比如當(dāng)設(shè)置為0xX4 時(shí),LED 0~5 顯示。 亮度調(diào)節(jié)寄存器: 地址

50、= FAH;共有16 級(jí)選擇,用于LED 顯示亮度的強(qiáng)弱設(shè)置。 關(guān)斷模式寄存器:地址= FCH;有兩種模式選擇:一種是關(guān)斷狀態(tài)模式(D0 = 0);一種是正常操作狀態(tài)(D0 = 1),通常選擇正常操作狀態(tài)。 顯示測(cè)試寄存器:地址= FF</p><p>  2.3主要單元電路的設(shè)計(jì)</p><p><b>  2.1顯示電路 </b></p><p

51、>  顯示部分采用普通的共陰數(shù)碼管顯示,兩個(gè)四位一體八段LED顯示數(shù)碼管和一個(gè)一位LED數(shù)碼管設(shè)計(jì)時(shí)數(shù)碼管同時(shí)掃描,顯示時(shí)采用串行口輸出段碼,用MAX7219驅(qū)動(dòng)數(shù)碼管。 </p><p>  圖2.1 MAX7219 </p><p><b>  2.2鍵盤接口 </b></p><p>  鍵盤在單片機(jī)系統(tǒng)中是一個(gè)很重

52、要的部件。為了輸入數(shù)據(jù)、查詢和控制系統(tǒng)的工作狀態(tài),都要用到鍵盤,鍵盤是人工干預(yù)計(jì)算機(jī)的主要手段。 </p><p>  2.2.1按鍵開關(guān)去抖動(dòng)問題 </p><p>  按鍵開關(guān)在電路中的連接如圖所示。按鍵未按下時(shí),A點(diǎn)電位為高電平5V;按鍵按下時(shí),A點(diǎn)電位為低電平。A點(diǎn)電位就用于向CPU傳遞按鍵的開關(guān)狀態(tài)。但是由于按鍵的結(jié)構(gòu)為機(jī)械彈性開關(guān),在按鍵按下和斷開時(shí),觸點(diǎn)在閉合和斷開瞬間還會(huì)接

53、觸不穩(wěn)定,引起A點(diǎn)電平不穩(wěn)定,如圖2-11b所示,鍵盤的抖動(dòng)時(shí)間一般為5~10ms,抖動(dòng)現(xiàn)象會(huì)引起CPU對(duì)一次鍵操作進(jìn)行多次處理,從而可能產(chǎn)生錯(cuò)誤。因此必須設(shè)法消除抖動(dòng)的不良后果。 </p><p>  圖2.2 鍵操作和鍵抖動(dòng) </p><p>  消除抖動(dòng)的不良后果的方法有硬、軟件兩種。為了節(jié)省硬件,通常在單片機(jī)系統(tǒng)中,一般不采用硬件方法消除鍵的抖動(dòng),而是用軟件消除抖動(dòng)的方法。根據(jù)抖

54、動(dòng)特性,在第一次檢測(cè)到按鍵按下后,執(zhí)行一段延時(shí)5~10ms讓前延抖動(dòng)消失后再一次檢測(cè)鍵的狀態(tài),如果仍保持閉合狀態(tài)電平,則確認(rèn)真正有鍵按下。當(dāng)檢測(cè)到按鍵釋放后,也要給5~10ms的延時(shí),待后延抖動(dòng)消失后才轉(zhuǎn)入該鍵處理程序。 </p><p><b>  2.3時(shí)鐘電路 </b></p><p>  2.3.1 DS1302工作方式簡介及數(shù)據(jù)操作原理 </p>

55、;<p>  DS1302時(shí)鐘芯片包括實(shí)時(shí)時(shí)鐘/日歷和31字節(jié)的靜態(tài)RAM。它經(jīng)過一個(gè)簡單的串行接口與微處理器通信。實(shí)時(shí)時(shí)鐘/日歷提供秒、分、時(shí)、日、周、月和年等信息。對(duì)于小于31天的月和月末的日期自動(dòng)進(jìn)行調(diào)整,還包括閏年校正的功能。時(shí)鐘的運(yùn)行可以采用24<小>時(shí)或帶AM/PM的12小時(shí)格式。采用三線接口與CPU進(jìn)行同步通信,并可采用突發(fā)方式一次傳送多字節(jié)的時(shí)鐘信號(hào)或RAM數(shù)據(jù)。 </p><

56、;p>  DS1302有Vcc1(主電源)/ Vcc2(后備電源)雙電源引腳,由Vcc1或Vcc2中較大者供電。 </p><p>  圖2.3 DS1302</p><p>  DS1302在任何數(shù)據(jù)傳送時(shí)必須先初始化,把RST腳置為高電平,然后把8位地址和命令字裝入移位寄存器,數(shù)據(jù)在SCLK的上升沿被訪問到。在開始8個(gè)時(shí)鐘周期,把命令字節(jié)裝入移位寄存器后,另外的時(shí)鐘周期在讀操

57、作時(shí)輸出數(shù)據(jù),在寫操作時(shí)寫入數(shù)據(jù)。上電運(yùn)行時(shí),在Vcc≥2.5V之前,RST腳必須保持低電平。只有在SCLK為低電平時(shí),才能將RST置為高電平。 </p><p>  DS1302的控制字如圖所示??刂谱止?jié)的最高有效位(位7)必須是邏輯1,如果它為0,則不能把數(shù)據(jù)寫入到DS1302中。位6如果為0,則表示存取日歷時(shí)鐘數(shù)據(jù);為1則表示存取RAM數(shù)據(jù)。位5~1(A4~A0)指示操作單元的地址。最低有效位(位0)如果為

58、0,則表示要進(jìn)行寫操作;為1表示進(jìn)行讀操作。控制字節(jié)總是從最低位開始輸入/輸出。 </p><p>  DS1302共有12個(gè)寄存器,其中有7個(gè)寄存器與日歷、時(shí)鐘相關(guān),存放的數(shù)據(jù)位為BCD碼形式。其日歷、時(shí)間寄存器及其控制字如下表所示,其中奇數(shù)為讀操作,偶數(shù)為寫操作。 </p><p>  時(shí)鐘暫停:秒寄存器的位7定義位時(shí)鐘暫停位。當(dāng)它為1時(shí),DS1302停止振蕩,進(jìn)入低功耗的備份方式,通

59、常在對(duì)DS1302進(jìn)行寫操作時(shí)(如進(jìn)入時(shí)鐘調(diào)整程序),停止振蕩。當(dāng)它為0時(shí),時(shí)鐘將開始啟動(dòng)。 </p><p>  AM-PM/12-24小時(shí)方式:小時(shí)寄存器的位7定義為12或24小時(shí)方式選擇位。它為高電平時(shí),選擇12小時(shí)方式。在此方式下,位5為第二個(gè)10小時(shí)位(20~23h)。 </p><p>  DS1302的晶振選用32768Hz,電容推薦值為6pF。因?yàn)檎袷庮l率較低,也可以不接電

60、容,對(duì)計(jì)時(shí)精度影響不大。 </p><p>  第4章 系統(tǒng)的軟件設(shè)計(jì)</p><p>  電子萬年歷的程序主要包括3個(gè)方面的內(nèi)容:一是DS1302從單片機(jī)中讀取數(shù)據(jù)進(jìn)行計(jì)數(shù),二是利用按鍵進(jìn)行時(shí)間的調(diào)整,三是MAX7219從單片機(jī)中讀取數(shù)據(jù)驅(qū)動(dòng)LED數(shù)碼管顯示時(shí)間。 </p><p>  AT89C51單片機(jī)主要I/O口的分配,P2.0-P2.2分別接MAX721

61、9的DIN,LOAD,CLK三個(gè)功能端,P3接查詢式按鍵,P1.0-P1.2分別接DS1302的CLK,IO,RST端。</p><p><b>  4.1 主程序設(shè)計(jì)</b></p><p>  圖5-1為單片機(jī)電子日歷的主流程圖。其具體的工作流程如下:系統(tǒng)通電后,對(duì)系統(tǒng)進(jìn)行復(fù)位初始化處理,然后控制主機(jī)AT89C51單片機(jī)從時(shí)鐘芯片DS1302中讀取時(shí)間,存儲(chǔ)到單片

62、機(jī)中,并顯示到LED數(shù)碼管上。顯示的時(shí)間如果與實(shí)際時(shí)間一樣,則結(jié)束,如果不一樣,則進(jìn)行下一步操作。系統(tǒng)一直掃描是否有鍵按下,當(dāng)有按鍵S1按下后,系統(tǒng)進(jìn)入時(shí)間設(shè)定模式,并對(duì)不準(zhǔn)確的時(shí)間進(jìn)行設(shè)定和調(diào)整,直到設(shè)定完成后,則將設(shè)定后的時(shí)間顯示在LED數(shù)碼管上。 </p><p>  4.1.1顯示驅(qū)動(dòng)程序流程圖</p><p>  4.2.2時(shí)間控制流程圖</p><p>

63、  圖5-2為電子日歷的時(shí)間產(chǎn)生流程圖,即DS1302操作流程圖。其具體的工作流程為:系統(tǒng)通電后,開始初始化操作,使得DS1302不具備寫保護(hù)的模式,同時(shí)當(dāng)復(fù)位端產(chǎn)生一個(gè)高電平時(shí),對(duì)DS1302進(jìn)行寫地址,并延遲一段時(shí)間,向該地址寫數(shù)據(jù),同時(shí)地址增加,如果數(shù)據(jù)寫完沒有寫完,則繼續(xù)對(duì)DS1302進(jìn)行寫地址操作,否則進(jìn)行下一步操作,當(dāng)給復(fù)位端一個(gè)高電平后,對(duì)DS1302寫地址,同時(shí)延遲一段時(shí)間后,將該地址的數(shù)據(jù)讀出來,同時(shí)地址增加,如果數(shù)據(jù)

64、沒有讀完,則繼續(xù)對(duì)DS1302進(jìn)行寫地址操作,否則即數(shù)據(jù)已經(jīng)讀完,則將讀取出來的數(shù)據(jù)顯示出來,并進(jìn)行返回操作。 </p><p>  第5章 系統(tǒng)調(diào)試與測(cè)試結(jié)果分析</p><p>  5.1 使用的儀器儀表 </p><p>  數(shù)字萬用表        DT9203</p><p>  單片機(jī)仿真器       WAVE6000&l

65、t;/p><p>  燒寫器 GF2100</p><p>  雙蹤穩(wěn)壓穩(wěn)流電源     DH1718E-5</p><p><b>  5.2 系統(tǒng)調(diào)試</b></p><p>  根據(jù)系統(tǒng)設(shè)計(jì)方案,本系統(tǒng)的調(diào)試共分為三大部分:硬件調(diào)試,軟件調(diào)試和軟硬件聯(lián)調(diào)。由于在系統(tǒng)設(shè)計(jì)中采用模塊

66、設(shè)計(jì)法,所以方便對(duì)各電路模塊功能進(jìn)行逐級(jí)測(cè)試:LED驅(qū)動(dòng)模塊的調(diào)試,數(shù)據(jù)存儲(chǔ)模塊的調(diào)試,PC機(jī)通信模塊的調(diào)試等,最后將各模塊組合后進(jìn)行整體測(cè)試。</p><p><b>  5.2.1硬件調(diào)試</b></p><p>  對(duì)各個(gè)模塊的功能進(jìn)行調(diào)試,主要調(diào)試各模塊能否實(shí)現(xiàn)指定的功能。</p><p><b>  5.2.2軟件調(diào)試<

67、;/b></p><p>  軟件調(diào)試采用單片機(jī)仿真器WAVE6000L及微機(jī),將編好的程序進(jìn)行調(diào)試,主要是檢查語法錯(cuò)誤。</p><p>  5.2.3硬件軟件聯(lián)調(diào)</p><p>  將調(diào)試好的硬件和軟件進(jìn)行聯(lián)調(diào),主要調(diào)試系統(tǒng)的實(shí)現(xiàn)功能。</p><p><b>  5.3 測(cè)試結(jié)果</b></p>

68、;<p>  此次系統(tǒng)設(shè)計(jì)結(jié)果較好,LED顯示屏能很好的顯示信息。LED顯示屏由八塊8*8的LED小模塊組成,整個(gè)顯示屏可以顯示兩個(gè)16*16的漢字,漢字從右到左移動(dòng)顯示,顯示亮度也正好。</p><p><b>  結(jié) 論</b></p><p>  針對(duì)傳統(tǒng)漢字顯示系統(tǒng)顯示方式單一,字模更換難度大的問題,設(shè)計(jì)了本系統(tǒng),系統(tǒng)是以AT89C52單片機(jī)為

69、核心,采用并行ISP下載,串行數(shù)據(jù)傳輸、動(dòng)態(tài)掃描技術(shù),利用人眼視覺暫留現(xiàn)象實(shí)現(xiàn)漢字移動(dòng)顯示并可與PC機(jī)進(jìn)行通信的16*64LED漢字顯示屏。</p><p>  系統(tǒng)總體電路由通信電路,驅(qū)動(dòng)電路和外部存儲(chǔ)電路構(gòu)成。通信電路由MAX232進(jìn)行電平轉(zhuǎn)換實(shí)現(xiàn)單片機(jī)與上位機(jī)的通信,完成將字模向外部字模數(shù)組的傳遞過程。74LS154和74HC595共同作用完成對(duì)顯示屏的驅(qū)動(dòng),實(shí)現(xiàn)字模信息于LED點(diǎn)陣上小燈亮滅的轉(zhuǎn)變過程。7

70、4LS373和EEPROM2864完成外部數(shù)據(jù)存儲(chǔ)功能。</p><p>  通過軟硬件的仿真調(diào)試,實(shí)現(xiàn)了本次設(shè)計(jì)的基本功能:漢字的左移顯示,并可與上位機(jī)進(jìn)行通信,實(shí)現(xiàn)顯示漢字的更新。但在實(shí)際應(yīng)用中,功能不僅僅于此,通過對(duì)程序的稍做修改,可以實(shí)現(xiàn)漢字的靜態(tài)顯示,左移,右移的顯示,以及根據(jù)要求來控制移動(dòng)速度和每次移動(dòng)的距離,并且都可以和上位機(jī)進(jìn)行通信實(shí)現(xiàn)漢字的更新。</p><p><

71、b>  參考文獻(xiàn)</b></p><p>  [1] 吳杰.基于ISP 技術(shù)的電子公告牌系統(tǒng)[J].科技資訊2008.NO.14:83-87.</p><p>  [2] 殷曉安,吳明亮.基于單片機(jī)的LED點(diǎn)陣顯示條屏控制系統(tǒng)設(shè)計(jì)[J].2008,4月.154-155.</p><p>  [3] M.R.Krames,O.B. Shchekin,

72、 R. Mueller-Mach, et al,“Status and Future High-Power Light-Emitting Diodes for Solid-State Lighting,”[J] Journal of Display Technology, vol. 3,No. 2, pp. 160-175, June 2007.</p><p>  [4] 田金云.基于單片機(jī)的LED 漢字點(diǎn)陣顯

73、示系統(tǒng)設(shè)計(jì)[J].《工業(yè)控制計(jì)算機(jī)》.2008 (6):87-88.</p><p>  [5] 李川,汪秋蒙.ISP技術(shù)的原理及實(shí)現(xiàn)方法[J].科技資訊.2007,35期:93-94.</p><p>  [6] 萬光毅.單片機(jī)實(shí)驗(yàn)與實(shí)踐教程[M]. 北京:北京航空航天大學(xué)出版社.2005.1.</p><p>  [7] 張毅剛.單片機(jī)原理及應(yīng)用[M]. 北京:

74、高等教育出版社.2003:160-190.</p><p>  [8] 諸昌鈐.LED 顯示屏系統(tǒng)原理及工程技術(shù)[M]. 成都:電子科技大學(xué)出版社.2000.</p><p>  [9] 張紅.基于單片機(jī)控制的LED 點(diǎn)陣顯示屏系統(tǒng)[J]. 微計(jì)算機(jī)信息.2009.25期 1-2卷:92-93.</p><p>  [10] Philips .74HC595 .da

75、tasheet.Philips Semiconductors .2003 Jun 25</p><p>  [11] 胡燁,姚鵬翼,陳明.Protel 99SE原理圖與PCB設(shè)計(jì)教程[M].機(jī)械工業(yè)出版社.2005:23-99.</p><p>  [12] 馬忠梅.單片機(jī)的C 語言應(yīng)用程序設(shè)計(jì)[M].北京:北京航空航天大學(xué)出版社.2006</p><p>  [1

76、3] Labcenter Electronics.Intelligent Schematic User Manual[M].Labcenter Elec- tronics,2006:34-167.</p><p>  [14] 周潤景.基于Proteus的電路與單片機(jī)仿真系統(tǒng)設(shè)計(jì)與仿真[M]. 北京:北京航空航天大學(xué)出版社. 2005.</p><p>  [15] 金炯泰,金奎煥. 如何

77、使用KEIL8051C編譯器[M ]. 北京:北京航空航天大學(xué)出版社.2002.</p><p><b>  附錄1 程序</b></p><p><b>  程序代碼: </b></p><p>  #include<reg52.h> </p><p>  #define uchar

78、unsigned char </p><p>  #define uint unsigned int </p><p>  sbit rs=P3^5; //"數(shù)據(jù)/命令" </p><p>  sbit lcden=P3^4; //"液晶使能" </p><p>  sb

79、it s1=P3^0; //"三個(gè)按鍵" </p><p>  sbit s2=P3^1; </p><p>  sbit s3=P3^2; </p><p>  sbit spk=P3^7; //"蜂鳴器" </p><p>  sbit ala=P3^3; sbi

80、t alaon=P2^6; </p><p>  sbit alaoff=P2^7; //"鬧鈴" </p><p>  uchar count,s1num,s4num,flag,flag1,flag2,flag3,flag4,flag5; </p><p>  char miao,shi,fen,nian,yue,ri,day

81、,miao1,fen1,shi1; </p><p>  uchar code table[]=" 2008-08-08 MON"; //"初始" </p><p>  uchar code table1[]=" 00:00:00"; </p><p>  uchar code table2

82、[]="MONTUEWEDTHUFRISATSUN"; </p><p>  uchar table3[12]={31,29,31,30,31,30,31,31,30,31,30,31}; </p><p>  uchar code table4[]=" ALARM "; </p><p>  uchar co

83、de table5[]=" 20 - -"; </p><p>  void delay(uint z) //"延時(shí)函數(shù)1ms" </p><p><b>  { </b></p><p>  uint x,y; </p><p>  for(x=z;x>

84、0;x--) </p><p>  for(y=110;y>0;y--); </p><p><b>  } </b></p><p>  void write_com(uchar com) //"寫命令" </p><p><b>  { </b></

85、p><p><b>  rs=0; </b></p><p><b>  lcden=0; </b></p><p><b>  P0=com; </b></p><p>  delay(5); </p><p><b>  lcden=1; &l

86、t;/b></p><p>  delay(5); </p><p>  lcden=0; </p><p><b>  } </b></p><p>  void write_date(uchar date) //"寫數(shù)據(jù)" </p><p><b&

87、gt;  { </b></p><p><b>  rs=1; </b></p><p><b>  lcden=0; </b></p><p><b>  P0=date; </b></p><p>  delay(5); </p><p>

88、;<b>  lcden=1; </b></p><p>  delay(5); </p><p>  lcden=0; </p><p><b>  } </b></p><p>  void init() //"初始化函數(shù)" </p><

89、;p><b>  { </b></p><p>  uchar num; flag1=1; </p><p><b>  flag2=0; </b></p><p><b>  flag3=0; </b></p><p><b>  flag4=0; <

90、/b></p><p><b>  nian=8; </b></p><p><b>  yue=8; </b></p><p><b>  ri=8; </b></p><p><b>  shi1=0; </b></p><p

91、><b>  fen1=0; </b></p><p><b>  miao1=0; </b></p><p><b>  shi=0; </b></p><p><b>  fen=0; </b></p><p><b>  miao=0

92、; </b></p><p><b>  day=1; </b></p><p><b>  lcden=0; </b></p><p><b>  spk=0; </b></p><p>  write_com(0x38); </p><p&g

93、t;  write_com(0x0c); </p><p>  write_com(0x06); </p><p>  write_com(0x01); </p><p>  write_com(0x80); </p><p>  for(num=0;num<16;num++) </p><p><b>

94、;  { </b></p><p>  write_date(table[num]); </p><p>  delay(5); </p><p><b>  } </b></p><p>  write_com(0x80+0x40); </p><p>  for(num=0;num

95、<13;num++) </p><p><b>  { </b></p><p>  write_date(table1[num]); </p><p>  delay(5); </p><p><b>  } </b></p><p>  TMOD=0x01; <

96、;/p><p>  TH0=(65536-50000)/256; </p><p>  TL0=(65536-50000)%256; </p><p><b>  EA=1; </b></p><p><b>  ET0=1; </b></p><p><b>  TR

97、0=1; </b></p><p><b>  } </b></p><p>  void write_sfm(uchar add,uchar date) //"寫時(shí)分秒在第二行" </p><p><b>  { </b></p><p>  uchar s

98、hi,ge; </p><p>  shi=date/10; ge=date%10; </p><p>  write_com(0x80+0x40+add); </p><p>  write_date(0x30+shi); </p><p>  write_date(0x30+ge); </p><p><b

99、>  } </b></p><p>  void write_nyr(uchar add,uchar date) //"寫年月日在第一行" </p><p><b>  { </b></p><p>  uchar shi,ge; </p><p>  shi=date/10

100、; </p><p>  ge=date%10; </p><p>  write_com(0x80+add); </p><p>  write_date(0x30+shi); </p><p>  write_date(0x30+ge); </p><p><b>  } </b></p

101、><p>  void displayday(char day1) //"顯示星期" </p><p><b>  { </b></p><p>  uchar num,num1; </p><p>  switch(day1) </p><p><b>

102、  { </b></p><p>  case 1:num=0;break; </p><p>  case 2:num=3;break; </p><p>  case 3:num=6;break; </p><p>  case 4:num=9;break; </p><p>  case 5:num

103、=12;break; </p><p>  case 6:num=15;break; </p><p>  case 7:num=18;break; </p><p>  default: ; </p><p><b>  } </b></p><p>  write_com(0x80+13);

104、</p><p>  for(num1=num+3;num<num1;num++) </p><p><b>  { </b></p><p>  write_date(table2[num]); </p><p>  delay(5); </p><p><b>  }

105、</b></p><p>  write_com(0x80+13); </p><p><b>  } </b></p><p>  void alarm() </p><p><b>  { </b></p><p>  uchar num; </p>

106、;<p>  if(ala==0) </p><p><b>  { </b></p><p>  delay(5); if(ala==0) </p><p><b>  { </b></p><p><b>  flag=1; </b></p>

107、<p><b>  flag3=1; </b></p><p>  while(!ala); </p><p>  if(flag1) </p><p><b>  { </b></p><p>  write_com(0x80); </p><p>  for(

108、num=0;num<16;num++) </p><p><b>  { </b></p><p>  write_date(table4[num]); </p><p>  delay(5); </p><p><b>  } </b></p><p>  write

109、_sfm(4,shi1); </p><p>  write_sfm(7,fen1); </p><p>  write_sfm(10,miao1); </p><p>  write_com(0x80+0x40+6); </p><p>  write_date(':'); </p><p>  de

110、lay(5); </p><p>  write_com(0x80+0x40+9); </p><p>  delay(5); </p><p>  write_date(':'); </p><p><b>  flag1=0; </b></p><p><b>  }

111、 </b></p><p><b>  s4num++; </b></p><p>  if(s4num==1) </p><p><b>  { </b></p><p>  write_com(0x80+0x40+10); </p><p>  write_c

112、om(0x0f); </p><p><b>  } </b></p><p>  if(s4num==2) </p><p><b>  { </b></p><p>  write_com(0x80+0x40+7); </p><p><b>  } </

113、b></p><p>  if(s4num==3) </p><p><b>  { </b></p><p>  write_com(0x80+0x40+4); </p><p><b>  } </b></p><p>  if(s4num==4) </p&g

114、t;<p><b>  { </b></p><p>  s4num=0; flag=0; </p><p><b>  flag1=1; </b></p><p><b>  flag3=0; </b></p><p>  write_com(0x80)

115、; </p><p>  for(num=0;num<10;num++) </p><p><b>  { </b></p><p>  write_date(table5[num]); </p><p>  delay(5); </p><p><b>  } </b>

116、;</p><p>  write_com(0x0c); </p><p><b>  } </b></p><p><b>  } </b></p><p><b>  } </b></p><p>  if(s4num!=0) </p>

117、<p><b>  { </b></p><p>  if(s2==0) </p><p><b>  { </b></p><p>  delay(5); </p><p>  if(s2==0) </p><p><b>  {

118、</b></p><p>  while(!s2); </p><p>  if(s4num==1) //"秒增" </p><p><b>  { </b></p><p><b>  miao1++; </b></p><p> 

119、 if(miao1==60) </p><p><b>  miao1=0; </b></p><p>  write_sfm(10,miao1); </p><p>  write_com(0x80+0x40+10); </p><p><b>  } </b></p><p&

120、gt;  if(s4num==2) //"分增" </p><p><b>  { </b></p><p><b>  fen1++; </b></p><p>  if(fen1==60) </p><p><b>  fen1=0; </b>

121、;</p><p>  write_sfm(7,fen1); </p><p>  write_com(0x80+0x40+7); </p><p><b>  } </b></p><p>  if(s4num==3) //"時(shí)增" </p><p><b&g

122、t;  { </b></p><p><b>  shi1++; </b></p><p>  if(shi1==24) shi1=0; </p><p>  write_sfm(4,shi1); </p><p>  write_com(0x80+0x40+4); </p>&l

123、t;p><b>  } </b></p><p><b>  } </b></p><p><b>  } </b></p><p>  if(s3==0) //"秒減" </p><p><b>  { </b>&

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 眾賞文庫僅提供信息存儲(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)論