版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、 多功能智能時(shí)鐘系統(tǒng)設(shè)計(jì)作者姓名:XXX專業(yè)名稱:XXXX指導(dǎo)教師:XX講師基于LCD的多功能智能時(shí)鐘系統(tǒng)設(shè)計(jì)摘要隨著對(duì)時(shí)間的要求越來(lái)越精確,人們創(chuàng)造了時(shí)鐘。現(xiàn)在,電子時(shí)鐘更是人類最基本,最必不可少的一個(gè)工具。在上個(gè)世紀(jì),電子時(shí)鐘大多數(shù)采用的是分離元件。而這樣制造出來(lái)的電子時(shí)鐘體積龐大,使用起來(lái)也很麻煩。隨著科技和電子行業(yè)的飛速發(fā)展,現(xiàn)在的電路都是高度集成的。不僅節(jié)約空間資源,成本也很低。然電子產(chǎn)品給我們的生活帶來(lái)了更多的便利。本設(shè)計(jì)的主控系統(tǒng)采用的是單片機(jī),利用它自帶的定時(shí)器來(lái)進(jìn)行設(shè)計(jì)。單片機(jī)具有成本低廉、體積小、操作簡(jiǎn)便等優(yōu)點(diǎn)。它能夠形成各式各樣的自動(dòng)控制系統(tǒng)。設(shè)計(jì)中將采用單片機(jī)中最為典型
2、也是我們?cè)谡n堂上學(xué)習(xí)過(guò)的51系列的單片機(jī),本次設(shè)計(jì)以STC89C51單片機(jī)為核心,以時(shí)鐘芯片DS1302為依托,借助外圍少量的按鍵電路實(shí)時(shí)校準(zhǔn),通過(guò)LCD1602液晶顯示器來(lái)顯示日期和時(shí)間。在程序的部分,我采用的是C語(yǔ)言來(lái)進(jìn)行編寫(xiě)。使用C語(yǔ)言更有利于我的理解,編寫(xiě)以及修改。本論文主要從系統(tǒng)設(shè)計(jì)方案的選擇,硬件、軟件部分的介紹說(shuō)明以及實(shí)物的演示上來(lái)詳細(xì)的描述了整個(gè)設(shè)計(jì)的大致內(nèi)容。設(shè)計(jì)主要研究的是智能時(shí)鐘以及日歷顯示功能。我們利用了單片機(jī)的控制能力和時(shí)鐘芯片的及時(shí)通信的特點(diǎn),按鍵來(lái)控制時(shí)間和日歷在液晶顯示屏上的顯示。最后,在整點(diǎn)的時(shí)候通過(guò)蜂鳴器進(jìn)行報(bào)時(shí)。關(guān)鍵詞:?jiǎn)纹瑱C(jī) 電子時(shí)鐘 C語(yǔ)言- III
3、-AbstractWith the demand for more precise, people create a clock. Now, the electronic clock is human the most basic, most essential as a tool. In the last century, most electronic clock use is separation of components. And this produced electronic clock bulky, use is also very troublesome. Along wit
4、h the rapid development of science and technology and electronic industry, now circuit are height integrated. Not only save space resource, cost is also very low. Although electronic products to our life brought more convenience. Procedures will be used in the design of the main control system is a
5、single chip, using its own timer design. SCM has low cost, the volume is small, easy to operate, etc. It can form a variety of automatic control system. The design uses a microcontroller is the most typical and I were in the classroom study of 51 series microcontroller, the design STC89C51 microcont
6、roller as the core to the clock chip DS1302 as the basis, by means of a peripheral small amounts of key circuit real-time calibration through LCD1602 LCD display to display the date and time. In part, I use C language to write. The use of C language is more conducive to my understanding, writing and
7、 revision. This paper mainly from the selection of the design scheme of the system, hardware, software part of the description and physical demonstration up detailed describes the general content of the whole design. Design is the main research is intelligent clock and calendar display function. We
8、use the MCU control can timely communication of power and clock chip keys to control the time and calendar on the LCD screen display. Finally, when the whole point of the buzzer timekeeping.Keywords: single chip microcomputer, electronic clock, C language目錄摘要IAbstractII目錄III前言11 論文設(shè)計(jì)概述21.1 設(shè)計(jì)任務(wù)21.2
9、設(shè)計(jì)要求21.3 系統(tǒng)整體框圖22 系統(tǒng)方案選擇42.1 總體方案設(shè)計(jì)42.2 主要模塊的方案設(shè)計(jì)42.2.1 主控芯片方案42.2.2 顯示模塊方案53 系統(tǒng)模塊電路介紹及設(shè)計(jì)63.1 單片機(jī)模塊63.1.1 單片機(jī)基礎(chǔ)知識(shí)介紹63.1.2 STC89C51介紹73.1.3 單片機(jī)最小系統(tǒng)電路93.2 時(shí)鐘模塊113.2.1 DS1302介紹113.2.2 DS1302電路原理133.3 液晶顯示模塊133.3.1 LCD1602引腳及說(shuō)明133.3.2 LCD1602電路原理153.4 蜂鳴器報(bào)警模塊153.5 矩形按鍵電路模塊164 系統(tǒng)軟件設(shè)計(jì)184.1 軟件設(shè)計(jì)流程184.2 系統(tǒng)設(shè)
10、計(jì)程序214.2.1 主程序224.2.2 LCD1602驅(qū)動(dòng)程序224.2.3 DS1302驅(qū)動(dòng)程序225 系統(tǒng)仿真結(jié)果及說(shuō)明235.1 仿真軟件介紹235.1.1 Protues軟件介紹235.1.2 Keil軟件介紹245.2 時(shí)鐘系統(tǒng)的仿真256 系統(tǒng)實(shí)物調(diào)試及結(jié)果276.1 系統(tǒng)實(shí)物276.1 系統(tǒng)實(shí)物調(diào)試結(jié)果及說(shuō)明27總結(jié)30參考文獻(xiàn)31致謝32附件1 主程序33附件2 LCD1602驅(qū)動(dòng)程序36附件3 DS1302驅(qū)動(dòng)程序39前言現(xiàn)在,電子產(chǎn)業(yè)隨著科學(xué)技術(shù)的發(fā)展而變得日益強(qiáng)大。單片機(jī)的集成度也越來(lái)越高,體積也越來(lái)越小。技術(shù)的進(jìn)步促使人們對(duì)智能鬧鐘的研究和應(yīng)用的重視度極度提高,這樣
11、人們對(duì)時(shí)鐘設(shè)備的要求也越來(lái)越高,又加上微處理器ARM、FPGA、DSP的廣泛應(yīng)用,電子技術(shù)更是得到了極大地提高。單片機(jī)的使用是十分靈活的,可以用于很多方面,論文中用到STC89C51的優(yōu)勢(shì)是:功耗十分的低、成本便宜、硬件設(shè)計(jì)簡(jiǎn)單,工業(yè)控制、傳感器技術(shù),數(shù)據(jù)采集、智能控制、儀器儀表等領(lǐng)域中。集成電路是電子工業(yè)時(shí)代的重要發(fā)明,其中以單片機(jī)的出現(xiàn)最為明顯,它的出現(xiàn)使自動(dòng)控制和智能控制各方飛速的發(fā)展。單片機(jī)智能時(shí)鐘的優(yōu)點(diǎn)是體積小、價(jià)格低、可靠性高、功能全。我們廣泛的用它在各種智能控制儀器定時(shí)與時(shí)間測(cè)量中,使這些儀器到達(dá)高度的自動(dòng)化,鍵盤取代了傳統(tǒng)的智能儀器中那些開(kāi)關(guān)和旋鈕,測(cè)試人員通過(guò)選擇相應(yīng)的按鍵來(lái)
12、測(cè)試,這樣就會(huì)省掉很多麻煩的人工調(diào)試過(guò)程。智能儀器能夠完成自我自動(dòng)校準(zhǔn),自動(dòng)選擇合適的測(cè)量范圍,大部分能自動(dòng)調(diào)整測(cè)試點(diǎn),這樣就給我們帶來(lái)了極大方便,同時(shí)精度也相應(yīng)的提高了幾百倍。另外,在電子科技領(lǐng)域,時(shí)間作為重要的參數(shù)之一,許多電參數(shù)的測(cè)量方案、結(jié)果都與他的測(cè)量有著不可分割的密切關(guān)系,所以他被廣泛的應(yīng)用在科研、工業(yè)控制、教學(xué)、測(cè)量?jī)x器中。- 31 -1 論文設(shè)計(jì)概述1.1 設(shè)計(jì)任務(wù)利用Proteus格式的單片機(jī)硬件編程平臺(tái)上的時(shí)鐘芯片DS1302和液晶顯示器LCD1602實(shí)現(xiàn)一個(gè)“多功能智能時(shí)鐘系統(tǒng)”。1.2 設(shè)計(jì)要求1. 設(shè)置“啟動(dòng)”、“停止”、時(shí)鐘顯示功能設(shè)置”、“日歷顯示功能設(shè)置”等按鍵
13、,要求上電初始蜂鳴器鳴叫、繼電器、電動(dòng)機(jī)、數(shù)碼管都不工作,按下啟動(dòng)鍵后開(kāi)始進(jìn)入“起始狀態(tài)”,此時(shí)LED燈按500ms間隔全亮全滅,硬件其余部件均不工作,只有在按下啟動(dòng)鍵后,再按下“時(shí)鐘顯示功能設(shè)置”和“日歷顯示功能設(shè)置”才進(jìn)入“時(shí)鐘顯示”和“日歷顯示”狀態(tài),此時(shí)在LCD1602屏幕上顯示相應(yīng)的時(shí)鐘和日期。2. 要求顯示數(shù)字的格式為:比如2012年5月2日的顯示格式為02-05-12;12點(diǎn)25分30秒的顯示格式為12-25-30。3. 擴(kuò)展該智能時(shí)鐘系統(tǒng)的功能,實(shí)現(xiàn)每到59分57秒開(kāi)始進(jìn)行整點(diǎn)報(bào)時(shí),蜂鳴器鳴響3秒鐘。1.3 系統(tǒng)整體框圖整個(gè)系統(tǒng)主要由六部分組成:主控模塊,時(shí)鐘模塊,矩陣按鍵模塊
14、,LED模塊,蜂鳴器報(bào)警模塊,液晶顯示模塊。系統(tǒng)整體框圖如圖1.1所示。LED電路STC89C51時(shí)鐘芯片DS1302液晶LCD1602矩陣電路蜂鳴器電路圖1.1 系統(tǒng)整體框圖2 系統(tǒng)方案選擇2.1 總體方案設(shè)計(jì)拿到此次設(shè)計(jì)題目之后,我通過(guò)翻看以前的教材,借閱書(shū)籍收集了大量的資料,并在反復(fù)的論證以及老師的建議下,確定了最終的系統(tǒng)設(shè)計(jì)方案。我采用的是STC系列的89C51做主控芯片,時(shí)鐘芯片采用的是DS1302,通過(guò)矩陣鍵盤來(lái)對(duì)系統(tǒng)進(jìn)行操作,最后再以LCD1602來(lái)做為液晶顯示輸出結(jié)果。2.2 主要模塊的方案設(shè)計(jì)介紹主控芯片模塊以及顯示模塊的方案設(shè)計(jì)。2.2.1 主控芯片方案方案一:如果選用我們
15、熟悉的STC89C51單片機(jī)當(dāng)作主控芯片。這款芯片的價(jià)錢低,使用起來(lái)較為方便。它的功能能夠滿足本次設(shè)計(jì)的需求。這款芯片適合此次設(shè)計(jì)。方案二:如果選用市面上的MSP430F149系列單片機(jī)當(dāng)作我們的主控芯片。這類單片機(jī)的運(yùn)算速度很快,是一款內(nèi)置12位ADC的高性能且能耗低的16位單片機(jī)。但是因?yàn)樗某杀靖?,并且它是用TPFQ來(lái)進(jìn)行封裝的,所以得利用PCB版圖來(lái)制版,不適合我們手工焊接。這些種種原因極大的提高了我們此次設(shè)計(jì)的難度和成本。通常,這類單片機(jī)適用于手持等設(shè)備,不適合我們開(kāi)發(fā)項(xiàng)目。方案三:如果選用ARM公司的STM32系列當(dāng)作主控的芯片。此系統(tǒng)中沒(méi)有必用到這么高級(jí)的主控。因?yàn)槲覀冞@次畢業(yè)設(shè)
16、計(jì)所要用到的系統(tǒng)主控芯片必須要滿足我們?cè)O(shè)計(jì)要求的運(yùn)算能力,還要有成本低廉,功耗低,體積小,使用起來(lái)方便等特點(diǎn)。所以我們不管是從價(jià)格還是我們芯片的各項(xiàng)性能指標(biāo)上,討論得出第一種方案是最適合我們此次的設(shè)計(jì)方案。2.2.2 顯示模塊方案方案一:選用LCD1602字符液晶作為顯示模塊,它不僅成本相對(duì)低廉之外,它還有利于用戶控制。因?yàn)樗梢栽谝壕厦骘@示數(shù)字與字符的信息。同時(shí),它在后期驅(qū)動(dòng)程序的編寫(xiě)上也較為容易,滿足本次設(shè)計(jì)要求。 方案二:選用LCD128x64液晶作為顯示的模塊。它可以實(shí)現(xiàn)字符的顯示,也可以顯示出圖片,但是圖片色彩只能是黑白,且精度不高,而且成本也很高。此次設(shè)計(jì)中不用對(duì)圖片進(jìn)行顯示,所
17、以對(duì)整個(gè)顯示的設(shè)計(jì)效果不適合。方案三:選擇主控為TFT的帶字庫(kù)的320x240的彩色液晶作為顯示模塊 ,可以顯示出我們經(jīng)常使用的的漢字、ASCII碼、并且他的液晶屏的分辨率高、同時(shí)也可以描繪出彩色的圖片。但在此系統(tǒng)中我們只需要簡(jiǎn)單的字符顯示,且考慮到價(jià)格的因素,所以不考慮用此芯片作為顯示。方案四:采用數(shù)碼管顯示。數(shù)碼管的設(shè)計(jì)復(fù)雜且后期驅(qū)動(dòng)程序難寫(xiě),還有連接時(shí)需要很多的I/O口。不適合開(kāi)發(fā)此項(xiàng)目。綜合以上方案,我們選擇了方案一作為顯示器。3 系統(tǒng)模塊電路介紹及設(shè)計(jì)本設(shè)計(jì)的系統(tǒng)模塊電路大致分為以下幾部分,下面為大家分別來(lái)介紹這幾個(gè)模塊電路的主要信息。3.1 單片機(jī)模塊單片機(jī)是一個(gè)微型的計(jì)算機(jī)系統(tǒng)。
18、它是一種高度集成的芯片。它將CPU,RAM,ROM,定時(shí)器、中斷系統(tǒng)、計(jì)數(shù)器等功能集成起來(lái)。由于單片機(jī)的高度集成,體積小,實(shí)用性強(qiáng),運(yùn)算效率高,價(jià)格便宜以及使用起來(lái)較為方便。所以本次設(shè)計(jì)中,系統(tǒng)采用STC89C51單片機(jī)作為主控芯片。3.1.1 單片機(jī)基礎(chǔ)知識(shí)介紹1. 單片機(jī)的定義單片機(jī)是一個(gè)高度集成了CPU,RAM,ROM,內(nèi)部和外部總線的微型且完整的計(jì)算機(jī)系統(tǒng)。單片機(jī)是通過(guò)導(dǎo)入程序來(lái)實(shí)現(xiàn)指定的功能。所以單片機(jī)也是十分的智能化。雖然單片機(jī)只是一塊小小的芯片,但是它卻擁有價(jià)格便宜,運(yùn)算效率高,實(shí)用性強(qiáng),性能好,集成度高,體積小,使用方便,質(zhì)量輕等優(yōu)點(diǎn)。所以,在學(xué)習(xí)和生產(chǎn)中,單片機(jī)受到了大量的使
19、用者的青睞。單片機(jī)在工業(yè)發(fā)展中被使用的相當(dāng)廣泛。單片機(jī)從早期的8位或4位發(fā)展到16位。隨著科技的飛速發(fā)展,在90年代,16位的單片機(jī)迅速的取代了16位的單片機(jī),并且延用至今。到現(xiàn)在為止,32位單片機(jī)晶振的頻率已經(jīng)超過(guò)了300兆赫茲,價(jià)格也越來(lái)越便宜,得到了廣泛的應(yīng)用。單片機(jī)也因?yàn)殡y度不大,易于理解,使用簡(jiǎn)單等原因作為我們電子專業(yè)的一個(gè)非常重要的學(xué)習(xí)和實(shí)踐的內(nèi)容。在本次的設(shè)計(jì)中,采用STC89C51單片機(jī)做出的一個(gè)多功能智能時(shí)鐘系統(tǒng),使用C語(yǔ)言編程,將程序?qū)氲较到y(tǒng)內(nèi),再反復(fù)進(jìn)行調(diào)試。最終實(shí)現(xiàn)所要求的功能。2. 單片機(jī)的運(yùn)用單片機(jī)不僅應(yīng)用于我們的教學(xué)當(dāng)中,在我們生活生產(chǎn)的各種電子產(chǎn)品中,都能看到
20、單片機(jī)的影子。應(yīng)用領(lǐng)域大致有以下幾點(diǎn):一、由于單片機(jī)的功耗小,體積小,效率高,使用起來(lái)也十分的方便,所以在各類的儀器儀表和精密的測(cè)量設(shè)備中,比如說(shuō)示波器等,都有單片機(jī)的存在。二、同時(shí),單片機(jī)的用途在醫(yī)療領(lǐng)域中的使用情況也是十分的常見(jiàn)。比如說(shuō)是血糖儀,超聲儀,血液細(xì)胞分析儀,血壓計(jì)等等。三、單片機(jī)在我們家電里面的應(yīng)用更可謂是無(wú)所不在。大到電視機(jī),空調(diào),冰箱,洗衣機(jī),小到照相機(jī),手機(jī),電子秤,計(jì)算器都集成有單片機(jī)。隨著我們的家電越來(lái)越智能化。而單片機(jī)因?yàn)榧啥雀?,可靠性高,功能好,體積小,功耗低等優(yōu)點(diǎn),更加受到各個(gè)生產(chǎn)廠家的青睞。四、各個(gè)商場(chǎng)的智能報(bào)警系統(tǒng),電梯的智能控制以及便民的自助繳費(fèi)系統(tǒng)等等
21、都是利用單片機(jī)可以形成多鐘多樣的控制系統(tǒng)的特點(diǎn)。所以,在工業(yè)領(lǐng)域中,它能夠得到廣泛的應(yīng)用和使用者的認(rèn)可。五、單片機(jī)為計(jì)算機(jī)通信,提供了一個(gè)良好的物質(zhì)條件。比如說(shuō)在地鐵站里,工作人員使用的無(wú)線對(duì)講機(jī),各個(gè)學(xué)校寢室里面使用的交換機(jī)還有單元樓下面的呼叫系統(tǒng)等等。可見(jiàn),單片機(jī)對(duì)于我們生活生產(chǎn)來(lái)說(shuō)是多么的重要。為我們提供了很大的便利。當(dāng)然在這次設(shè)計(jì)的多功能智能時(shí)鐘系統(tǒng)中,單片機(jī)也起到了至關(guān)重要的作用,隨著科技的發(fā)展,單片機(jī)的性能也越來(lái)越好。不管是在設(shè)計(jì)還是操作中,都為我?guī)?lái)了很多的便利。3.1.2 STC89C51介紹1. STC89C51的主要特性單片機(jī)的主要特性如表3.1所示。表3.1 STC89C
22、51主要特性表2. STC89C51芯片介紹許多硬件設(shè)計(jì)中都有單片機(jī)的存在,因?yàn)樗幊毯?jiǎn)單靈活的特點(diǎn),得到大量用戶的認(rèn)可。STC89C51引腳圖如圖3.1所示。圖3.1 STC89C51引腳圖下面介紹一下其中一些引腳功能:Vcc和Vss: Vcc接5V電壓,Vss:P20接地。3.1.3 單片機(jī)最小系統(tǒng)電路單片機(jī)的最小系統(tǒng)電路主要是由晶振電路和復(fù)位電路構(gòu)成。接下來(lái),分別來(lái)介紹這兩部分電路。1. 晶體振蕩電路如果想要單片機(jī)能夠正常工作的話,我們就得保證晶振能夠起振并且使用恰當(dāng)?shù)木д耠娙荨T诒敬卧O(shè)計(jì)中,我采用的是11.0592MHz的晶振,和兩個(gè)大小為33pF的電容。其中,一個(gè)的作用是通過(guò)XTAL
23、1接口提供諧振頻率。另一個(gè)則是為了能在XTAL2口輸出波形為正弦波的高頻信號(hào)。晶振電路如圖3.2所示。圖3.2 STC89C51晶振電路圖2. 復(fù)位電路除了要保證晶振電路的正確以外,我們還應(yīng)該關(guān)注復(fù)位電路的設(shè)計(jì)是否得當(dāng)。復(fù)位操作就相當(dāng)于是初始化。在許多的意外情況導(dǎo)致系統(tǒng)出錯(cuò)時(shí),復(fù)位操作通常都能夠幫我們解決問(wèn)題。外部復(fù)位電路的復(fù)位方式分為兩種,一種是手動(dòng)復(fù)位,另一種是上電復(fù)位。在本次的設(shè)計(jì)中,我采用的是手動(dòng)復(fù)位的方式。手動(dòng)復(fù)位電路的設(shè)計(jì)原理和思路比較簡(jiǎn)單易懂,我們只需要通過(guò)按下在VCC和復(fù)位端之間的按鍵來(lái)將VCC的正5伏的高電平傳入到復(fù)位端。只要兩邊電路保持連通的時(shí)間超過(guò)10ms,那么單片機(jī)就會(huì)
24、進(jìn)入到復(fù)位狀態(tài)。復(fù)位電路如圖3.3所示。圖3.3 STC89C51復(fù)位電路復(fù)位后,PC=0000H。所以,程序一般會(huì)從0000H開(kāi)始執(zhí)行。單片機(jī)復(fù)位時(shí)各寄存器的狀態(tài)如表3.2所示。表3.2 單片機(jī)復(fù)位時(shí)的狀態(tài)表3.2 時(shí)鐘模塊本次設(shè)計(jì)中采用的是由美國(guó)DALLAS推出的DS1302時(shí)鐘芯片。3.2.1 DS1302介紹DS1302是由美國(guó)一家公司推出的一款能夠?qū)r(shí)間進(jìn)行設(shè)計(jì)的軟件,它存儲(chǔ)著時(shí)間、年月日、閏年讀取等功能。和我們?nèi)粘I钪兴褂玫碾娮颖聿畈欢唷T谠O(shè)計(jì)中采用此芯片的主要原因是它的能耗低,且滿足實(shí)時(shí)性。工作電壓寬為2.5V5.5V。與主控進(jìn)行通信時(shí)采用三線同步式,數(shù)據(jù)傳送方式獨(dú)特,能夠同
25、時(shí)傳送多個(gè)數(shù)據(jù)字節(jié)。內(nèi)部存在很多的RAM寄存器,在通信時(shí)只需要讀取寄存器就可以知道時(shí)間等數(shù)據(jù)信息。因其具有價(jià)格便宜,使用簡(jiǎn)單的特點(diǎn),所以DS1302是現(xiàn)在在教學(xué)中的使用較為流行。在本次設(shè)計(jì)中,我們使用STC89C51往DS1302里面寫(xiě)入時(shí)間來(lái)進(jìn)行時(shí)間設(shè)置,也從DS1302里面讀取出時(shí)間,所讀取出的時(shí)間通過(guò)LCD1602顯示出來(lái)。實(shí)現(xiàn)了時(shí)鐘系統(tǒng)的一個(gè)基本功能,我們所使用到的DS1302的功能包括了對(duì)年、月、日以及時(shí)、分、秒的計(jì)時(shí)。接下來(lái),我們對(duì)DS1302的各個(gè)引腳進(jìn)行具體的說(shuō)明。引腳如圖3.4所示。圖3.4 DS1302引腳DS1302的各個(gè)引腳的具體功能如表3.3所示。表3.3 DS130
26、2各個(gè)引腳的功能3.2.2 DS1302電路原理時(shí)鐘模塊的電路如圖3.5所示。圖3.5 DS1302電路原理圖3.3 液晶顯示模塊設(shè)計(jì)中通過(guò)液晶顯示屏將時(shí)鐘的年月日及時(shí)間顯示出來(lái)。3.3.1 LCD1602引腳及說(shuō)明LCD1602的使用方法較為簡(jiǎn)單方便。我們?cè)诋?huà)PCB的時(shí)候,只需要留一排插針就好了,在焊接實(shí)物的時(shí)候,只需要將液晶顯示器插上去就行了。這一部分,需要我們做的最重要的事就是將驅(qū)動(dòng)程序編寫(xiě)好,能夠在顯示屏上顯示我們想要的內(nèi)容。由于LCD1602液晶顯示器的開(kāi)發(fā)應(yīng)用簡(jiǎn)單,所以在本次設(shè)計(jì)中選擇它來(lái)作為顯示屏是最為合適不過(guò)了的。而我們具體采用的是字符型的兩行16字的液晶顯示器。LCD1602
27、液晶顯示器采用了標(biāo)準(zhǔn)的16腳接口。其中引腳如圖3.6所示。引腳功能如表3.4所示: 圖3.6 LCD1602引腳表3.4 LCD引腳功能 3.3.2 LCD1602電路原理LCD 1602與微處理器的連接電路如圖3.7所示。圖3.7 LCD1602與微處理器的連接電路其中,在這部分電路設(shè)計(jì)的時(shí)候,我設(shè)計(jì)了一個(gè)滑動(dòng)變阻器和一個(gè)電阻?;瑒?dòng)變阻器的作用是調(diào)整LCD1602背光的亮度。電阻則是起到保護(hù)整個(gè)電路的作用,防止電流過(guò)大,造成元器件的損壞。3.4 蜂鳴器報(bào)警模塊多功能智能時(shí)鐘系統(tǒng)設(shè)計(jì)中,添加了整點(diǎn)報(bào)時(shí)的功能,采用蜂鳴器作聲音報(bào)警。報(bào)警電路如圖3.8所示:圖3.8 蜂鳴器報(bào)警電路3.5 矩形按鍵
28、電路模塊人機(jī)界面是智能化設(shè)計(jì)中必不可少的部分,本設(shè)計(jì)有兩部分的人機(jī)界面。LCD1602液晶顯示界面,另一部分則是鍵盤輸入采集。本設(shè)計(jì)中采用矩陣鍵盤按鍵對(duì)時(shí)間值和日期值進(jìn)行設(shè)置。在設(shè)計(jì)中我們采用單片機(jī)來(lái)對(duì)矩陣按鍵進(jìn)行掃描,然后得到相應(yīng)的值,來(lái)加減時(shí)間值和日期值。液晶上同時(shí)可以看到時(shí)間值和日期值的改變。設(shè)計(jì)中采用一個(gè)矩陣鍵盤,相對(duì)來(lái)說(shuō)是十分的簡(jiǎn)單的,且價(jià)格十分的便宜,主控芯片的處理壓力不大,滿足設(shè)計(jì)的同時(shí)又能合理的利用資源。設(shè)計(jì)電路圖如圖3.9所示。圖3.9 按鍵電路4 系統(tǒng)軟件設(shè)計(jì)4.1 軟件設(shè)計(jì)流程本次設(shè)計(jì)的內(nèi)容是一個(gè)多功能的智能系統(tǒng)。這是一個(gè)基于單片機(jī)的設(shè)計(jì)。在編寫(xiě)程序的時(shí)候,我們采用的是總
29、分結(jié)構(gòu)。先將主程序編寫(xiě)出來(lái)。再根據(jù)不同的功能模塊進(jìn)行程序的編寫(xiě)。這樣的方式有利于我們后期調(diào)試的時(shí)候,能夠更加快速準(zhǔn)確的定位到問(wèn)題的所在。編寫(xiě)程序之前,應(yīng)該先畫(huà)出流程圖。理清楚每個(gè)功能是怎樣通過(guò)程序一步一步來(lái)實(shí)現(xiàn)的。所以流程圖對(duì)于編程來(lái)說(shuō)是至關(guān)重要的。有了流程圖,我們的程序該怎么去寫(xiě)都已經(jīng)一目了然了,大大的提高了我們編程的效率。下面一一來(lái)介紹時(shí)鐘系統(tǒng)中主要模塊的程序流程圖。圖4.1 主程序流程圖圖4.2 DS1302實(shí)時(shí)控制芯片流程圖圖4.3 LCD1602液晶顯示控制流程圖4.2 系統(tǒng)設(shè)計(jì)程序本次的時(shí)鐘系統(tǒng)設(shè)計(jì)中,編程語(yǔ)言我采用的是C語(yǔ)言。由于之前在課堂上我們專門學(xué)習(xí)過(guò)C語(yǔ)言,對(duì)C語(yǔ)言也有一定
30、的了解。再加上C語(yǔ)言相比匯編語(yǔ)言可讀性更高,更加利于我們理解。所以,我最終選擇C語(yǔ)言作為此次程序的編程語(yǔ)言。在程序設(shè)計(jì)的時(shí)候,因?yàn)橹耙呀?jīng)將主程序和各個(gè)模塊的流程圖畫(huà)出來(lái)了。所以我們?cè)诰帉?xiě)程序的時(shí)候?yàn)槲覀儙?lái)了很大的便利。有了流程圖,加上老師給我的程序模塊,再根據(jù)需要實(shí)現(xiàn)的功能,自己再對(duì)程序進(jìn)行編寫(xiě)。通過(guò)Keil軟件將我編寫(xiě)的代碼編譯為機(jī)器能夠識(shí)別的機(jī)器碼,再利用Protues軟件將程序?qū)氲椒抡骐娐穲D,根據(jù)得到的結(jié)果來(lái)對(duì)電路和程序進(jìn)行修改調(diào)整,經(jīng)過(guò)反反復(fù)復(fù)的修改,最終實(shí)現(xiàn)其功能。我們?cè)谶M(jìn)行設(shè)計(jì)的時(shí)候也有一定的技巧,比如說(shuō),我們先將單片機(jī)配置好,再把編寫(xiě)好的LCD驅(qū)動(dòng)程序?qū)нM(jìn)去,看功能是否能夠
31、實(shí)現(xiàn)。然后再將時(shí)鐘模塊以及其他模塊的程序分別導(dǎo)入進(jìn)去,一一來(lái)檢驗(yàn),程序是否能夠準(zhǔn)確的運(yùn)行。4.2.1 主程序具體程序參見(jiàn)附錄1。4.2.2 LCD1602驅(qū)動(dòng)程序具體程序參見(jiàn)附錄2。4.2.3 DS1302驅(qū)動(dòng)程序具體程序參見(jiàn)附錄3。 5 系統(tǒng)仿真結(jié)果及說(shuō)明5.1 仿真軟件介紹在本次設(shè)計(jì)中,主要采用的是Protues以及Keil這兩款軟件,下面會(huì)分別來(lái)介紹這兩款軟件。5.1.1 Protues軟件介紹Protues是一款由一家英國(guó)電子公司開(kāi)發(fā)的,在Windows操作系統(tǒng)上運(yùn)行的可以對(duì)電路進(jìn)行分析以及對(duì)實(shí)物進(jìn)行仿真的軟件。這款軟件優(yōu)于其他EDA工具,還有一個(gè)更加重要的原因,就是Protues還能
32、夠仿真單片機(jī)和外圍的器件。所以不管是在單片機(jī)的開(kāi)發(fā)應(yīng)用中,還是單片機(jī)的教學(xué)中,Protues已經(jīng)成為了仿真的首選軟件。Protues除了具有簡(jiǎn)單且實(shí)用性強(qiáng)的ISIS原理布圖,ARES PCB布線和SPICE仿真的基本功能外,還能夠通過(guò)鍵盤,LED燈等外設(shè)讓使用者進(jìn)行與電路的實(shí)時(shí)交互仿真,以及通過(guò)仿真單片機(jī),直接在原理圖上導(dǎo)入程序,并且能夠得到輸出的結(jié)果。Protues也為我們提供了大量的使用資源。其中仿真的元件就包含數(shù)字,模擬,直流,交流等等,且其數(shù)量就上千種。除了豐富的仿真元器件資源,而且還蘊(yùn)藏了豐富的仿真儀表資源。其中就包括了電壓表,電流表,示波器,信號(hào)發(fā)生器等等。不僅僅是存在了這么多的仿
33、真儀器,而且還具有一個(gè)圖像顯示功能,可以讓我們更加直觀的看到線路上的信號(hào)的變化情況。甚至比實(shí)際的示波器具有更多的功能。同時(shí),這些儀器還能提供參數(shù)的一個(gè)理想狀態(tài)下的指標(biāo),這樣我們?cè)谑褂眠@款軟件時(shí),會(huì)更加的便捷。Protues也可以在電路上使用模擬信號(hào)和數(shù)字信號(hào)進(jìn)行測(cè)試。Protues除了強(qiáng)大的功能外,還因其能直觀的看見(jiàn)模擬的實(shí)物運(yùn)行的過(guò)程和結(jié)果,所以不管是在生產(chǎn)應(yīng)用還是在教學(xué)工作中,Protues這款軟件使用的情況相當(dāng)?shù)膹V泛。并且,這款軟件也為使用者們提供了一個(gè)十分便利的平臺(tái)。這讓我們?cè)趯W(xué)習(xí)的過(guò)程中,能夠更好地去實(shí)踐,去創(chuàng)造。在本次設(shè)計(jì)中,我們便采用了Protues軟件對(duì)時(shí)鐘系統(tǒng)進(jìn)行了仿真。在使
34、用過(guò)程中,操作簡(jiǎn)單易學(xué)。而且電路中所需要的元器件在軟件的元件庫(kù)中都能順利找到。這款軟件對(duì)我們的原理圖的正確性,合理性都進(jìn)行了檢驗(yàn)。導(dǎo)入之前通過(guò)Keil編譯后的程序,再利用仿真的實(shí)驗(yàn)儀器對(duì)時(shí)間和日歷顯示,LED閃爍,以及蜂鳴器的整點(diǎn)報(bào)時(shí)進(jìn)行了測(cè)試。有了這款軟件,對(duì)元器件的采購(gòu)又有了新的選擇。5.1.2 Keil軟件介紹Keil是由美國(guó)一家公司研發(fā)的MCU軟件開(kāi)發(fā)系統(tǒng)。Keil現(xiàn)在是一款主流的集成開(kāi)發(fā)調(diào)試工具,它的庫(kù)函數(shù)十分的豐富,功能也很強(qiáng)大。它主要的功能還是我們輸入的源程序代碼變成機(jī)器能夠識(shí)別的機(jī)器碼。Keil利用uVision將C編譯器,庫(kù)管理,宏匯編和仿真調(diào)試器組合的一個(gè)完整的開(kāi)發(fā)方案。我
35、們此次設(shè)計(jì)使用Keil軟件是在Windows XP的環(huán)境下運(yùn)行的。在設(shè)計(jì)中,我選擇的是C語(yǔ)言來(lái)進(jìn)行編寫(xiě)程序。因?yàn)樵诖笠坏臅r(shí)候?qū)iT學(xué)習(xí)過(guò)C語(yǔ)言的課程,所以自己有一定的基礎(chǔ)。再加上C語(yǔ)言相較匯編語(yǔ)言,更加簡(jiǎn)單易懂,便于我們編寫(xiě)。以下是Keil軟件具體的操作步驟:(一)新建工程:打開(kāi)Keil軟件,在屏幕上面的菜單選項(xiàng)中點(diǎn)擊“工程”,然后在下拉菜單中點(diǎn)擊“新建工程”選項(xiàng)。在彈出的文本框內(nèi),先選擇保存的路徑并輸入工程文件的名字,點(diǎn)擊“保存”。(二)選擇單片機(jī)型號(hào):在彈出的頁(yè)面內(nèi)選擇我們本次所采用的型號(hào)為“STC89C51”的單片機(jī)。然后點(diǎn)擊“確定”。(三)新建文件:在屏幕上方的菜單欄點(diǎn)擊“新建”,在下拉
36、菜單中點(diǎn)擊“新建項(xiàng)目”。再點(diǎn)擊“保存”按鈕,選擇文件名右側(cè)的文本輸入框內(nèi)輸入文件并填寫(xiě)正確的擴(kuò)展名。點(diǎn)擊“保存”。(四)將文件添加進(jìn)工程:在屏幕左側(cè)的文本框內(nèi),右鍵點(diǎn)擊工程下的文件夾,在彈出的下拉菜單選項(xiàng)中選擇添加文件到*,然后在彈出的文本框內(nèi)選擇之前新建的文件。(五)運(yùn)行:輸入我們之前編好的C語(yǔ)言程序,在屏幕上面的菜單選項(xiàng)中點(diǎn)擊“工程”,然后在下拉菜單中點(diǎn)擊“建造目標(biāo)選項(xiàng)”,編譯成功后,再點(diǎn)擊“調(diào)試菜單”,在下拉菜單中點(diǎn)擊“開(kāi)始/停止調(diào)試”。(六)調(diào)試:點(diǎn)擊“調(diào)試”按鈕,在下拉菜單中點(diǎn)擊“運(yùn)行”,然后再次點(diǎn)擊“調(diào)試”按鈕,在下拉菜單中點(diǎn)擊“停止運(yùn)行”選項(xiàng),通過(guò)寄存器窗口、存儲(chǔ)器窗口以及外圍設(shè)
37、備窗口等就可以看到程序運(yùn)行后的結(jié)果。5.2 時(shí)鐘系統(tǒng)的仿真首先,使用Altium Designer軟件,完成了時(shí)鐘系統(tǒng)的完整電路圖。在老師的指導(dǎo)和幫助下,把電路圖修改好。然后在使用Protues軟件重新將電路原理圖畫(huà)出來(lái)。由于之前已經(jīng)畫(huà)過(guò)電路圖,所以再次畫(huà)的時(shí)候,效率也很高,并且正確性也達(dá)到要求。完整電路圖如圖5.1所示。圖5.1 時(shí)鐘系統(tǒng)電路原理圖在完成了電路原理圖后,就開(kāi)始著手準(zhǔn)備程序。由于考慮到易用,我們選擇的是Keil軟件來(lái)進(jìn)行編程。因?yàn)檫@個(gè)系統(tǒng)分為幾大模塊。所以我們的程序也是按照所劃分的這些模塊來(lái)一一進(jìn)行編寫(xiě)。我們的思路是首先編寫(xiě)主程序,然后再編寫(xiě)LCD程序,時(shí)鐘程序,報(bào)警程序等。將
38、LCD程序編好后,在主程序中調(diào)用LCD程序。再將主程序加載到Protues里面的仿真電路里面。觀察LCD液晶顯示器是否開(kāi)始工作,再根據(jù)實(shí)際遇到的一些問(wèn)題,修改程序,并進(jìn)行調(diào)試。最終,將其功能實(shí)現(xiàn)。接下來(lái)的時(shí)鐘程序,報(bào)警程序等等也采用同樣的方法對(duì)其進(jìn)行仿真和修改。在調(diào)試的過(guò)程中,我們采用的是一部分一部分的去實(shí)現(xiàn)功能。這樣做有一個(gè)最明顯的好處,就是便于我們發(fā)現(xiàn)問(wèn)題。如果我們一開(kāi)始就將所有程序都寫(xiě)在一起,那么出現(xiàn)問(wèn)題后,我們很難定位到出現(xiàn)問(wèn)題的程序具體在哪一部分。程序分開(kāi)來(lái)寫(xiě)也便于我們學(xué)習(xí)和理解,畢竟在之前的學(xué)習(xí)中,我們接觸的代碼量少,對(duì)代碼理解起來(lái)也較為困難。所以我們?cè)诰帉?xiě)程序的時(shí)候,采用這種方法
39、,能大大的提高我們的效率。在設(shè)計(jì)中我們遇到了許多的問(wèn)題。其中有幾點(diǎn)很值得我們的注意,就是不要遺漏單片機(jī)的復(fù)位電路和晶振電路。不然單片機(jī)無(wú)法正常的工作。還有就是,注意其他模塊電路的正負(fù)極不能接反了。在proteus軟件中進(jìn)行智能時(shí)鐘電路原理圖的繪制,繪制結(jié)果如圖5.2所示。圖中采用的主控芯片是STC公司出品的STC89C51,加上LCD1602液晶顯示電路和一個(gè)矩陣鍵盤組成,加上一些外圍的蜂鳴器和LED提示電路,圖中的左下部的那個(gè)芯片為時(shí)鐘芯片DS1302,時(shí)鐘芯片右部為蜂鳴器,原理圖中還有單片機(jī)的晶振電路和單片機(jī)的復(fù)位電路。在此次設(shè)計(jì)中,主要實(shí)現(xiàn)的功能有:上電后,蜂鳴器鳴叫,LED燈亮,再進(jìn)入
40、到初始化頁(yè)面后,LED燈以500ms的頻率閃爍,通過(guò)按鍵的操作在液晶屏上顯示時(shí)間和日期。顯示數(shù)字的格式為比如2012年5月2日的顯示格式為02-05-12;12點(diǎn)25分30秒的顯示格式為12-25-30。最后擴(kuò)展了一個(gè)整點(diǎn)報(bào)時(shí)的功能。在59分57秒時(shí),蜂鳴器開(kāi)始報(bào)警,報(bào)警時(shí)間持續(xù)3秒,報(bào)警在00分00秒停止。6 系統(tǒng)實(shí)物調(diào)試及結(jié)果6.1 系統(tǒng)實(shí)物系統(tǒng)實(shí)物如圖6.1所示:圖6.1 智能時(shí)鐘實(shí)物6.1 系統(tǒng)實(shí)物調(diào)試結(jié)果及說(shuō)明1. 插上電源,進(jìn)入初始界面。在液晶顯示屏上顯示:WelcomeRTC,LED燈亮,如圖6.2所示。圖6.2 進(jìn)入系統(tǒng)初始界面2. LCD液晶顯示器顯示時(shí)間和日期。如圖6.3所
41、示。圖6.3 時(shí)間和日歷顯示3. LED燈按照500ms的頻率閃爍。如圖6.4所示。圖6.4 LED閃爍總結(jié)本次設(shè)計(jì)我做的是一個(gè)基于LCD的多功能智能時(shí)鐘系統(tǒng)。雖然在以前的課程中學(xué)習(xí)過(guò)怎么畫(huà)電路圖,PCB,仿真,也學(xué)習(xí)過(guò)編程,焊過(guò)板子。但是我卻沒(méi)有將這些事情聯(lián)系起來(lái)完完整整的做過(guò)一個(gè)項(xiàng)目。通過(guò)這次自己獨(dú)立的完成設(shè)計(jì),我收獲到了很多。不僅對(duì)以前學(xué)習(xí)的知識(shí)有了一個(gè)鞏固,而且也更加了解做一個(gè)單片機(jī)系統(tǒng)的實(shí)物應(yīng)該注意哪些問(wèn)題。在這個(gè)時(shí)鐘系統(tǒng)設(shè)計(jì)中,采用什么型號(hào)的單片機(jī),顯示器和時(shí)鐘芯片。經(jīng)過(guò)幾番思考,在考慮了價(jià)格,效率,實(shí)用性等因素后,最終決定。在選擇方案時(shí),通過(guò)在網(wǎng)上查找資料,咨詢黃老師后,我對(duì)這幾
42、款芯片又有了更深入的了解。在系統(tǒng)模塊電路和軟件的設(shè)計(jì)中,通過(guò)查找書(shū)本上的資料以及黃老師的指導(dǎo)下,還算進(jìn)行的順利。對(duì)各個(gè)模塊電路的功能,程序?qū)崿F(xiàn)的功能都有了一定的了解。雖然在之前的課程中使用過(guò)Keil和Protues這兩款軟件,但是對(duì)這兩款軟件的使用也很不熟悉。所以在后面仿真的時(shí)候,自己也下了很大的功夫,查閱資料,咨詢老師。然后在電腦上實(shí)際操作軟件,慢慢的,對(duì)這兩款軟件的使用熟練起來(lái)。最終也順利完成仿真。在本次設(shè)計(jì)中,我得到了很多收獲。不僅僅是對(duì)單片機(jī),電路,程序這些知識(shí)的掌握,更多的是讓我懂得了遇到問(wèn)題后,不逃避,積極解決的道理。雖然在這次的設(shè)計(jì)中,不是一帆風(fēng)順,遇到了很多問(wèn)題,但是最后在我的
43、不懈努力下這些問(wèn)題也被一一的解決了。參考文獻(xiàn)1 王昌平. 電子時(shí)鐘設(shè)計(jì)M. 電大理工學(xué)報(bào), 2008.2 李軍. 單片機(jī)技術(shù)基礎(chǔ)M. 電子科技大學(xué)出版社, 2004.3 王同洲,郭云華. 基于單片機(jī)的電子時(shí)鐘系統(tǒng)M. 中國(guó)傳媒大學(xué)學(xué)報(bào),2007.4 李宇忠, 徐宏飛. 電子時(shí)鐘系統(tǒng)M. 西安電子科技大學(xué)出版社, 2003. 5 彭小軍,周功海. C語(yǔ)言編程技巧M. 浙江電工高專學(xué)報(bào), 2009.6 翟小文, 劉儒南. 多功能時(shí)鐘M. 西安理工電子學(xué)院學(xué)報(bào), 2008.7 徐林波, 李云英. 基于單片機(jī)的多功能智能時(shí)鐘M. 自然與科學(xué), 2005.8 戴勇凌. 時(shí)鐘的設(shè)計(jì)M. 國(guó)外電子元器件,
44、2007.9 何萍萍. 可調(diào)控的時(shí)鐘系統(tǒng)M. 中國(guó)電子現(xiàn)代化, 2009. 致謝畢業(yè)設(shè)計(jì)已經(jīng)完成了,這意味著我的大學(xué)四年的學(xué)習(xí)生活即將畫(huà)上一個(gè)圓滿的句號(hào)。不管是在學(xué)習(xí)還是生活中,感謝這四年來(lái),所有幫助過(guò)的老師和同學(xué)。正是因?yàn)槟銈兊膸椭?,我才能快速的成長(zhǎng)起來(lái)。從一個(gè)剛進(jìn)大學(xué)懵懵懂懂,稚氣未脫的小孩變成了知道自己要主動(dòng)學(xué)習(xí),做事也不再莽撞,為人也應(yīng)該謙虛低調(diào)的大人。雖然即將離開(kāi)學(xué)校,但是這并不意味著不用再學(xué)習(xí)了。反而,在以后的工作中,還有更多的東西需要我們?nèi)フJ(rèn)真學(xué)習(xí),更應(yīng)該努力的去奮斗。通過(guò)實(shí)際的工作來(lái)累積自己的經(jīng)驗(yàn),通過(guò)大量的學(xué)習(xí)來(lái)提升自己的能力。并且,還要去學(xué)習(xí)新的東西,跟上社會(huì)發(fā)展的腳步。這
45、樣才不會(huì)被社會(huì)淘汰。感謝這四年來(lái),班里的每一位同學(xué)。是你們讓我在學(xué)校感受到了家的溫暖,感受到了同學(xué)和同學(xué)之間的深厚的友誼。更要感謝每一位教過(guò)我的老師。你們不僅教授了我們知識(shí),更多的是教會(huì)了我們做人的道理。在這里,我要鄭重的感謝一個(gè)人,就是我的指導(dǎo)老師XX老師。不僅教會(huì)了我學(xué)習(xí)的方法,還教會(huì)了我遇到困難的時(shí)候,如何去解決問(wèn)題,而不是去逃避困難。感謝黃宇老師,正是因?yàn)樗唤z不茍的教學(xué)態(tài)度,豐富的教學(xué)經(jīng)驗(yàn),全面悉心的指導(dǎo)下,我才能順利的完成本次的設(shè)計(jì)。附件1 主程序-43-/* 文件名: main.c* Copyright 成都理工大學(xué)工程技術(shù)學(xué)院電計(jì)系* 創(chuàng)建人: xx* 日期: 2015.02.
46、01* 修改人: xx* 日期: 2015.05.01 * 描述: 系統(tǒng)主函數(shù)* 全局變量:待顯示十進(jìn)制數(shù)組*/#include "common.h"#include "uart.h"#include "timer.h"#include "lcd1602.h"#include "ds18b20.h"#include "button.h"#include "display.h"#include "warning.h"#include &q
47、uot;ds1302.h"uchar Disp_Dec12=0;/電壓電流緩沖器uchar Disp_Num12=0;sbit Buzzer=P33;sbit Led=P34;/*函數(shù)名稱: SysInit功 能: 系統(tǒng)程序初始化函數(shù),串口初始化和定時(shí)器初始化參 數(shù): 無(wú)參數(shù)返回值 : 無(wú)*/void SysInit(void) P1=0XFF; Init_DS1302(); /*定時(shí)器初始化*/ Timer_Init();/*函數(shù)名稱: main功 能: 主程序中包括adc0809的啟動(dòng),AD數(shù)據(jù)采集和數(shù)據(jù)處理過(guò)程 再有串口發(fā)送給PC機(jī)打印。參 數(shù): 無(wú)參數(shù)返回值 : 無(wú)*/voi
48、d main(void) static uchar KeyTemp=0; static bit KeyStart=0;/啟動(dòng)鍵標(biāo)志 static uchar KeyFunc=0,KeyFunc1=0; /功能選擇鍵:1控制LED燈全亮全滅/*系統(tǒng)初始化*/ SysInit();/*關(guān)蜂鳴器*/ Led=1; Buzzer=0;/*LCD1602初始化*/ write_LCD_Command(0x38); /顯示模式設(shè)置 write_LCD_Command(0x01); /清屏 write_LCD_Command(0x06); /字符進(jìn)入模式:屏幕不動(dòng),字符后移 write_LCD_Comman
49、d(0x0c); /顯示開(kāi),關(guān)光標(biāo) ShowString(2,1,12,"Welcome-RTC"); while(1) KeyTemp=KeyScan();/*注釋:按鍵分成兩級(jí):第一級(jí)是啟停鍵,第二級(jí)是功能鍵*/ if(KeyTemp=1) KeyStart=1;KeyFunc=0;Led=!Led; write_LCD_Command(0x01); if(KeyTemp=2) KeyFunc=1; if(KeyTemp=3) KeyFunc1=1; if(KeyTemp=4) KeyStart=0;KeyFunc=0;KeyFunc1=0;write_LCD_Comm
50、and(0x01);ShowString(2,1,12,"Welcome-RTC"); if (KeyStart=1) if (ReadFlag1) Led=!Led;ReadFlag1=0; if(KeyStart&&KeyFunc) if(ReadFlag)ReadFlag=0;DatClkProc(); Disp_Dec0=84; Disp_Dec1=105; Disp_Dec2=58; Disp_Dec3=hou/16; Disp_Dec4=hou&0x0f; Disp_Dec5=45; Disp_Dec6=min/16; Disp_Dec7
51、=min&0x0f; Disp_Dec8=45; Disp_Dec9=sec/16; Disp_Dec10=sec&0x0f; ShowTem(2,1,11,Disp_Dec);if(KeyStart&&KeyFunc1) if(ReadFlag)ReadFlag=0;DatCalProc(); Disp_Num0=67; Disp_Num1=97; Disp_Num2=58; Disp_Num3=day/16; Disp_Num4=day&0x0f; Disp_Num5=45; Disp_Num6=mon/16; Disp_Num7=mon&0x0f; Disp_Num8=45; Disp_Num9=year/16; Disp_Num10=year&0x0f; ShowTem(
溫馨提示
- 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ù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 行政總廚個(gè)人述職報(bào)告
- 糖尿病護(hù)理方案
- 3.3.1鹽類的水解酸堿性高二上學(xué)期化學(xué)人教版(2019)選擇性必修1
- 足跟痛的診斷與治療
- 保護(hù)牙齒小班安全教案反思
- 荷塘月色說(shuō)課稿
- 安踏企業(yè)五年戰(zhàn)略規(guī)劃
- 生物物理學(xué)實(shí)驗(yàn)室安全操作
- 機(jī)場(chǎng)租賃合同
- 健身中心土地租賃協(xié)議
- 肯布蘭佳領(lǐng)導(dǎo)力發(fā)展戰(zhàn)略課程
- 26個(gè)標(biāo)點(diǎn)符號(hào)大全
- GB/T 9115.1-2000平面、突面對(duì)焊鋼制管法蘭
- GB/T 7322-2017耐火材料耐火度試驗(yàn)方法
- GB/T 30790.2-2014色漆和清漆防護(hù)涂料體系對(duì)鋼結(jié)構(gòu)的防腐蝕保護(hù)第2部分:環(huán)境分類
- GB/T 19811-2005在定義堆肥化中試條件下塑料材料崩解程度的測(cè)定
- 第5課 文化變革 美術(shù)發(fā)展 課件 【高效課堂+備課精研】 高一美術(shù)魯美版美術(shù)鑒賞
- pep 三年級(jí)英語(yǔ)課本人物介紹PPT課
- 2023年北京清華附中小升初考試數(shù)學(xué)真題及答案
- 希沃優(yōu)化大師操作培訓(xùn)
- 氧氣吸入法(課堂)課件
評(píng)論
0/150
提交評(píng)論