電氣自動(dòng)化專業(yè) 基于單片機(jī)的多功能數(shù)字電子鐘的設(shè)計(jì)和實(shí)現(xiàn)

上傳人:文*** 文檔編號(hào):47268467 上傳時(shí)間:2021-12-18 格式:DOCX 頁(yè)數(shù):33 大小:533.04KB
收藏 版權(quán)申訴 舉報(bào) 下載
電氣自動(dòng)化專業(yè) 基于單片機(jī)的多功能數(shù)字電子鐘的設(shè)計(jì)和實(shí)現(xiàn)_第1頁(yè)
第1頁(yè) / 共33頁(yè)
電氣自動(dòng)化專業(yè) 基于單片機(jī)的多功能數(shù)字電子鐘的設(shè)計(jì)和實(shí)現(xiàn)_第2頁(yè)
第2頁(yè) / 共33頁(yè)
電氣自動(dòng)化專業(yè) 基于單片機(jī)的多功能數(shù)字電子鐘的設(shè)計(jì)和實(shí)現(xiàn)_第3頁(yè)
第3頁(yè) / 共33頁(yè)

下載文檔到電腦,查找使用更方便

20 積分

下載資源

還剩頁(yè)未讀,繼續(xù)閱讀

資源描述:

《電氣自動(dòng)化專業(yè) 基于單片機(jī)的多功能數(shù)字電子鐘的設(shè)計(jì)和實(shí)現(xiàn)》由會(huì)員分享,可在線閱讀,更多相關(guān)《電氣自動(dòng)化專業(yè) 基于單片機(jī)的多功能數(shù)字電子鐘的設(shè)計(jì)和實(shí)現(xiàn)(33頁(yè)珍藏版)》請(qǐng)?jiān)谘b配圖網(wǎng)上搜索。

1、基于單片機(jī)的多功能數(shù)字電子鐘的設(shè)計(jì) 摘要:自從很久很久以前,人們就已經(jīng)對(duì)時(shí)間這一方面已經(jīng)有所重視了,人們對(duì)于時(shí)鐘有很大的依賴性,認(rèn)為時(shí)鐘可以使得自己清楚的了解到現(xiàn)在是幾點(diǎn)幾分,從而使得人們可以更好地利用時(shí)間,而且也可以意識(shí)到時(shí)間在一點(diǎn)一點(diǎn)的流逝,就可以意識(shí)到時(shí)間的寶貴性、珍貴性,這樣的話就不會(huì)再隨意的浪費(fèi)時(shí)間了。隨著科技的進(jìn)步,時(shí)鐘也在變得越來(lái)越科學(xué)化,而且現(xiàn)在已經(jīng)滲入了每一個(gè)人的生活之中,幾乎所有的地方都可以運(yùn)用到時(shí)鐘了。本文主要研究的就是一個(gè)基于單片機(jī)的多功能數(shù)字電子時(shí)鐘的一個(gè)設(shè)計(jì)方案,并且對(duì)于一些其中的原理進(jìn)行一定探究和分析,從而可以使得人們可以對(duì)其有一個(gè)更好的了解和認(rèn)知。 Abst

2、ract: Since a long time ago, people have attached importance to the aspect of time. People have a great dependence on clocks. They think that clocks can make themselves understand clearly what time it is now, so that people can make better use of time, and they can also realize the preciousness of t

3、ime as it passes by little by little. Sex, preciousness, so that you wont waste your time at will. With the progress of science and technology, clocks are becoming more and more scientific, and now infiltrated into everyones life, almost all places can use clocks. This paper mainly studies a design

4、scheme of multi-function digital and electronic clock based on MCU, and explores and analyses some of the principles, so that people can have a better understanding and recognition of it. 目錄 一、序言 3 二、單片機(jī)的含義及其應(yīng)用 4 2.1單片機(jī)的含義 4 2.2單片機(jī)的存儲(chǔ)器 5 2.2.1程序存儲(chǔ)空間 5 2.2.2數(shù)據(jù)存儲(chǔ)空間 5 2.3單片機(jī)的應(yīng)用 6 三、總體方案及原理

5、8 四、單片機(jī)電子時(shí)鐘設(shè)計(jì)仿真分析和研究 9 4.1單片機(jī)的應(yīng)用仿真分析 9 4.2 電子時(shí)鐘的仿真 9 4.3 單片機(jī)調(diào)試仿真軟件 10 4.4 堅(jiān)定單片機(jī)對(duì)電子時(shí)鐘的研究信心 12 4.5 注意單片機(jī)的理論與實(shí)踐相結(jié)合 12 4.5.1 實(shí)驗(yàn)平臺(tái) 12 4.5.2 智能電子時(shí)鐘的系統(tǒng)構(gòu)成 13 五、 電子時(shí)鐘設(shè)計(jì) 13 5.1 main模塊 13 5.2 DS18B20模塊 22 5.3 lcd12864模塊 24 5.4 key模塊 26 六、單片機(jī)實(shí)驗(yàn)分析 27 總結(jié) 28 致謝 29 參考文獻(xiàn) 30 一、序言 對(duì)于現(xiàn)在這個(gè)社會(huì)

6、來(lái)說,時(shí)間對(duì)于我們每個(gè)人來(lái)說都已經(jīng)變得越來(lái)越重要了,只有遵守時(shí)間或者是重視時(shí)間的人才有可能取得成功,所以說我們需要珍惜時(shí)間,并且認(rèn)真地看待時(shí)間和遵守時(shí)間,這已經(jīng)成為了在現(xiàn)在社會(huì)中發(fā)展進(jìn)步的一個(gè)重要的基礎(chǔ)。因此我們就可以認(rèn)識(shí)到,時(shí)間和別的東西不一樣,雖然說它不是一個(gè)具體的實(shí)物,然后使得我們可以看到它,但是它確實(shí)很重要,其重要性是別的東西都比不上的。隨著經(jīng)濟(jì)的發(fā)展,科技的進(jìn)步,對(duì)于電子時(shí)鐘來(lái)說也取得了一系列的發(fā)展,現(xiàn)在的時(shí)鐘已經(jīng)變得更加的高科技化,而且也滲透在我們生活的方方面面,所有的活動(dòng)都離不開電子鐘了,因?yàn)殡娮隅娍梢允沟梦覀儗?duì)時(shí)間有一定的概念,并且因此重視時(shí)間,珍惜時(shí)間,從而就可以大大的提高自

7、己的辦事效率或者是學(xué)習(xí)效率。隨著時(shí)間的流逝,人們?cè)谏钪袑?duì)于時(shí)間的概念也越來(lái)越重了,一直都保持一個(gè)清醒的時(shí)間觀念去對(duì)待生活中的每一部分。因此,我們可以看到時(shí)鐘給我們的生活帶來(lái)多大的好處,那么對(duì)于時(shí)鐘的發(fā)展來(lái)說,更加科學(xué)化,更加準(zhǔn)確的展示已經(jīng)成為了現(xiàn)在時(shí)鐘發(fā)展的一個(gè)方向,那么怎樣才可以將時(shí)鐘的展示達(dá)到一個(gè)這樣好的效果,這就是我們需要研究的課題了。 在以前我們用來(lái)計(jì)算時(shí)間的一個(gè)東西叫做石英晶體的振蕩器,是用來(lái)計(jì)算時(shí)間的一個(gè)工具,這個(gè)東西的準(zhǔn)確率特別的高,并且還具有一定的穩(wěn)定性,這樣就會(huì)使得時(shí)鐘在進(jìn)行走表的時(shí)候不會(huì)搖搖晃晃,松松垮垮的了。有很多的那種電子鐘都是利用的石英技術(shù)來(lái)達(dá)到可以準(zhǔn)確計(jì)算時(shí)間的

8、這個(gè)效果的,因?yàn)闀r(shí)鐘的指針在走的時(shí)候會(huì)更加的準(zhǔn)確一點(diǎn)。而且它還有一個(gè)好處,那就是使用了這個(gè)石英技術(shù)的話,我們一般不需要人為的去調(diào)整時(shí)間,它只要調(diào)整一次之后,之后就不會(huì)因?yàn)槟承┩饨绲脑蚨沟盟闹羔樧呖旎蛘咦呗?,?huì)一直保持一個(gè)規(guī)律的頻率去進(jìn)行走位。這樣一來(lái)在使用這個(gè)石英今天來(lái)記錄時(shí)間的話,也是非常的簡(jiǎn)便,而且相對(duì)來(lái)說比較準(zhǔn)確了。還有一種新型的時(shí)鐘,就是它是利用單片機(jī)的原理,再加上數(shù)字電子鐘的原理,將二者進(jìn)行了一個(gè)有機(jī)的合理的結(jié)合,使得兩者可以通過集成電路在記錄時(shí)間的時(shí)候就會(huì)更加的準(zhǔn)確,并且更加的科學(xué)化。其實(shí)這種電子時(shí)鐘的原理并沒有什么太大的變化,只是將傳統(tǒng)的那種時(shí)間表達(dá)的方式給替換成了采用譯碼

9、表示,這樣的話就會(huì)使得在時(shí)間表達(dá)方面變得更加的準(zhǔn)確,并且精確度達(dá)到一定的高度。而且它還使用了一種顯示屏來(lái)將之前傳統(tǒng)的那種指針給代替了,這樣的話就可以使得時(shí)間可以很清楚明了的顯示出來(lái),基本上不會(huì)存在什么誤差了,而且這樣也很方便人們?nèi)ビ^看現(xiàn)在的時(shí)間是多少。它的精準(zhǔn)度體現(xiàn)在它現(xiàn)在不僅僅可以顯示時(shí)間和分鐘,它現(xiàn)在還可以顯示出來(lái)秒數(shù),這樣的話,就可以使得我們能夠得到更加精準(zhǔn)的時(shí)間,而且對(duì)時(shí)間進(jìn)行調(diào)對(duì)的時(shí)候也更加方便了。電子鐘現(xiàn)在的靈活性使得它在很多的地方都得到了一定的運(yùn)用,比如說電腦里面,電腦中就用到了這樣的一個(gè)小小的電子鐘,不過不要看它小它,它的作用可是真的很重要的,它可以保證計(jì)算機(jī)得以正常的工作,如

10、果沒有它的話,計(jì)算機(jī)可能也就不能正常工作了。 不過根據(jù)我們平常人口中所談的那些鐘表,通常情況下說的鐘表都不是單片機(jī)里面使用的鐘表,只是我們?nèi)粘I钪行枰褂玫?、很常見的那種鐘表。在一般的應(yīng)用系統(tǒng)中,特別是在單片機(jī)的系統(tǒng)里面,鐘表有好多個(gè)不同的含義和作用,一般能夠分成兩種:第一種的時(shí)鐘主要是為了使得某種程序可以得到好好的工作和運(yùn)行,并且對(duì)其有一定的控制功能,使它可以隨時(shí)發(fā)出一種信號(hào),這種信號(hào)通常有兩部分組成,第一部分就是一個(gè)叫做晶振的東西,另一種就是晶振的外圈電路所組成的,這兩個(gè)部分進(jìn)行結(jié)合從而產(chǎn)生一種信號(hào)。我們都知道晶振是有一個(gè)功能的,就是它可以有一定的震動(dòng)功能,并且存在一個(gè)固定的頻率,然后

11、這個(gè)頻率就可以對(duì)單片機(jī)運(yùn)行的工作頻率有一個(gè)速度上面的決定,單片機(jī)的快和慢都是由晶振的振動(dòng)來(lái)進(jìn)行決定的,所以說這個(gè)時(shí)候時(shí)鐘就起到了一個(gè)很重要的作用。第二種時(shí)鐘就是它可以在單片機(jī)系統(tǒng)中存在一定的定時(shí)功能,就是可以預(yù)先設(shè)定一下時(shí)間,從而使得到某個(gè)規(guī)定的時(shí)間之后,就會(huì)產(chǎn)生一定的變化,使得我們對(duì)其它的軟件進(jìn)行一個(gè)更好的運(yùn)用。這一種時(shí)鐘是通過一個(gè)軟件來(lái)完成的,而軟件是由程序組成的,所以說我們對(duì)單片機(jī)的運(yùn)行進(jìn)行一定程序方面的編程,然后因?yàn)槌绦蚶锩媸怯兄噶钣?jì)數(shù)器,這樣的話就可以利用這個(gè)功能部件,使得我們可以實(shí)現(xiàn)單片機(jī)系統(tǒng)中時(shí)鐘的定時(shí)功能了。定時(shí)功能的實(shí)現(xiàn)需要我們?nèi)ベI一個(gè)專門在計(jì)算機(jī)中使用的一個(gè)時(shí)鐘芯片,這樣的

12、話才可以使得這個(gè)功能得以更好的實(shí)現(xiàn)。 二、單片機(jī)的含義及其應(yīng)用 2.1單片機(jī)的含義 單片機(jī)說的簡(jiǎn)單一點(diǎn)的話,它就是一個(gè)在計(jì)算機(jī)系統(tǒng)上面集成的一塊小小的芯片,不過它雖然芯片的體積很小,但是絕大部分的功能都集成在這個(gè)小小的芯片上面,而且也可以很好的實(shí)現(xiàn)一些它該應(yīng)有的那些功能,并不會(huì)因?yàn)轶w積小而使得它那些功能不夠完善。單片機(jī)系統(tǒng)所能實(shí)現(xiàn)那些功能也是比較完整的一般來(lái)說一個(gè)計(jì)算機(jī)可以實(shí)現(xiàn)哪些功能,單片機(jī)就差不多可以完全實(shí)現(xiàn),單片機(jī)也相當(dāng)于一個(gè)小小的電腦了,它里面包括一些基本的部件,比如說CPU,內(nèi)存,外存等等。除了這些基本的部件,它里面還有一些額外接入的一些功能器件,比如說它有一些通話方面的接口、

13、定時(shí)時(shí)鐘,還有其它方面的接口等等這些外圍設(shè)備,使得單片機(jī)的功能變得越來(lái)越完善?,F(xiàn)在對(duì)于一個(gè)比較強(qiáng)大的單片機(jī)系統(tǒng)來(lái)說,它可以將好多之前不可能完成的任務(wù)都集成在一塊,比如說可以輸出聲響,可以輸出圖片等這些比較難的設(shè)計(jì)都已經(jīng)成為了現(xiàn)實(shí)。單片機(jī)還有另外一個(gè)名字,就是叫做微控制器,它的功能非常強(qiáng)大,并不是單單為了解決某一個(gè)問題而進(jìn)行的設(shè)計(jì),而是為了解決某一類問題,反正總而言之,一個(gè)單片機(jī)雖然體積小,但是它可以實(shí)現(xiàn)很多功能,相當(dāng)于一臺(tái)功能完善的計(jì)算機(jī)。總結(jié)下來(lái),單片機(jī)一共有以下這幾個(gè)優(yōu)點(diǎn):?jiǎn)纹瑱C(jī)的體積小重量輕,而且在價(jià)格方面也很便宜。而且現(xiàn)在單片機(jī)還可以為工作和學(xué)習(xí)都提供了很大的幫助,使得我們現(xiàn)在的條件越

14、來(lái)越便利。單片機(jī)的發(fā)展歷程很早,它到現(xiàn)在已經(jīng)經(jīng)過了三個(gè)階段了,而且在功能方面已經(jīng)發(fā)展的越來(lái)越成熟,比如說現(xiàn)在的抗干擾能力比之前更強(qiáng),加密性也比之前更強(qiáng)了,而且在功耗方面也變得低了很多,由于單片機(jī)這些的優(yōu)點(diǎn),就使得這個(gè)單片機(jī)已經(jīng)被越來(lái)越多的人使用,它的市場(chǎng)也變得很廣泛了。 利用單片機(jī)的功能,將這些功能運(yùn)用到多功能電子鐘上面就可以使得電子鐘有一個(gè)更好的發(fā)展。比如說現(xiàn)在的多功能電子鐘已經(jīng)有了更加強(qiáng)大的功能,比如說它可以將時(shí)間00:00:00到23:59:59區(qū)域間進(jìn)行任意設(shè)置這樣的話就保證了它一特別高的精準(zhǔn)度而且還可以利用控制電路再控制電路的控制下,保持將時(shí)間將時(shí)鐘進(jìn)行一定的維持、清零、校時(shí)等等。

15、而且在這次的基于單片機(jī)的數(shù)字電子時(shí)鐘的設(shè)計(jì)中,我們對(duì)電路還有一定的對(duì)電路的惡顯示日期時(shí)間溫度等都有一定的額,調(diào)整和設(shè)計(jì)主要想要達(dá)到的目的就是可以將時(shí)間進(jìn)行很準(zhǔn)確的顯示,并且可以完成手動(dòng)校對(duì)的功能,而且在時(shí)間的顯示方面采用的是二十四小時(shí)制,這樣就更加的方便和準(zhǔn)確了,有鬧鐘方面的設(shè)計(jì),還有對(duì)溫度方面可以進(jìn)行一定的檢測(cè)。 2.2單片機(jī)的存儲(chǔ)器 所有的單片機(jī)在內(nèi)存的設(shè)計(jì)方面都是不同的,一般情況下,它可以分成兩種類型,第一個(gè)就是可以將程序和數(shù)據(jù)存儲(chǔ)器進(jìn)行分類存儲(chǔ),第二種就是把程序和數(shù)據(jù)內(nèi)存存在一起。這兩種如果用科學(xué)一點(diǎn)的說法的話,就是第一種被稱為哈佛結(jié)構(gòu),第二種被稱為普林斯頓結(jié)構(gòu)。本文中采用的單片機(jī)

16、的結(jié)構(gòu)式采用的哈佛結(jié)構(gòu)的單片機(jī)。 2.2.1程序存儲(chǔ)空間 程序方面的存儲(chǔ)對(duì)于存儲(chǔ)空間是按照一定的間隔來(lái)進(jìn)行分類的,比如說它是采用十六進(jìn)制進(jìn)行的,所以就可以在所有的棱0000H至0FFFH之間,分成內(nèi)部和外部?jī)煞N,一般可以根據(jù)電瓶的高或者低來(lái)進(jìn)行區(qū)分,如果電瓶高的地方就表示的是內(nèi)部的存儲(chǔ)電瓶低的地方表示的就是外部的存儲(chǔ)。在這些的間隔中,程序存儲(chǔ)的空間可以反映到所有程序的內(nèi)存里面,如果在這個(gè)范圍之外的話,那么高電平或者低電平都是外部的存儲(chǔ)空間了,就不占用內(nèi)部的了。 2.2.2數(shù)據(jù)存儲(chǔ)空間 內(nèi)部的數(shù)據(jù)存儲(chǔ)空間指的就是它有256個(gè)字節(jié),然后并且將這256個(gè)字節(jié)分成了低字節(jié)和高字節(jié),第一節(jié)指的是

17、低于128個(gè)字節(jié)的內(nèi)容,高字節(jié)指的是高于128個(gè)字節(jié)的內(nèi)容。在一般情況下都是可以輸入或者是輸出128個(gè)字節(jié)的數(shù)據(jù)的。雖然說內(nèi)部數(shù)據(jù)存儲(chǔ)空間是比較小的,它的容量很小,不能存儲(chǔ)太多的東西,但是它的功能很大,因?yàn)樗梢詫⒄麄€(gè)的存儲(chǔ)空間分成三個(gè)工作區(qū)域,將這三個(gè)工作區(qū)域進(jìn)行一個(gè)合理的劃分之后,它們就會(huì)進(jìn)行有序的工作方面的處理,就不會(huì)產(chǎn)生混亂的結(jié)果。一般情況下內(nèi)部存儲(chǔ)空間中有好多個(gè)寄存器,但是在同一個(gè)時(shí)間內(nèi),只能工作一組寄存器,就是說不可以是兩組寄存器同時(shí)工作。因?yàn)檫@樣的話就有可能使得設(shè)備出現(xiàn)故障的問題,所以為了保證數(shù)據(jù)的安全性和設(shè)備的安全性,一定要控制寄存器在工作的時(shí)候只能是唯一的一組。寄存器的分類的

18、話是從在內(nèi)部存儲(chǔ)程序中,按照字節(jié)的數(shù)量來(lái)進(jìn)行區(qū)分的,高于128個(gè)字節(jié)的數(shù)據(jù)就會(huì)進(jìn)行分別開來(lái),這樣的話,根據(jù)這些寄存器還有內(nèi)部存儲(chǔ)的數(shù)據(jù),我們就可以將數(shù)據(jù)和計(jì)算機(jī)中的存儲(chǔ)有一定的映射存在。 2.3單片機(jī)的應(yīng)用 現(xiàn)在在不同的情況之下,我們知道使用單片機(jī)的時(shí)候它所表現(xiàn)的效果和功能都是不一樣的,因?yàn)槊恳粋€(gè)所使用的設(shè)備都是有區(qū)別的。在現(xiàn)在由于科技發(fā)展的進(jìn)步和經(jīng)濟(jì)發(fā)展的越來(lái)越快,人們對(duì)單片機(jī)方面的需求也就更加的廣泛了。漸漸地,單片機(jī)已經(jīng)進(jìn)入到了人們生活中的每一個(gè)角落,每一個(gè)部分。就比如說一些環(huán)衛(wèi)工人會(huì)利用單片機(jī)其對(duì)周圍的一些花草樹木進(jìn)行管理;警察叔叔會(huì)利用單片機(jī)完成一定的報(bào)警系統(tǒng)的方面的設(shè)置;還有就是

19、一些工廠會(huì)利用單片機(jī)的控制功能對(duì)一些設(shè)備的更新進(jìn)行加工和完善。所以現(xiàn)在單片機(jī)的使用已經(jīng)對(duì)人們來(lái)說已經(jīng)是非常普遍的了,而且它也可以給人們的生活帶來(lái)了很大的積極影響。在網(wǎng)絡(luò)中利用單片機(jī)和一些物理方面的接口進(jìn)行通信,這樣的話就會(huì)使得我們所使用的那些接口的傳輸速率變得越來(lái)越快,然后我們就會(huì)更加方便的去將信息和計(jì)算機(jī)里面的信息進(jìn)行交換,這樣的一個(gè)接口為我們的計(jì)算機(jī)方面和通信設(shè)備方面搭建一個(gè)網(wǎng)橋,然后就會(huì)使得信息更加方便的傳輸,不管是像手機(jī)里面或者是電話里面還是其它方便傳輸都很方便。和DSP相比的話,單片機(jī)的價(jià)格是比較低的,所以它的適用范圍比DSP要廣一點(diǎn)。雖然說DSP也是一個(gè)比較特殊單片機(jī),如果想要了解

20、單片機(jī)的話,就得了解DSP這一個(gè)工作原理,不過因?yàn)镈SP的產(chǎn)量是比較小的,然后它也屬于一個(gè)低端市場(chǎng)的產(chǎn)品,所以說比較更加容易使我們?nèi)ダ斫夂徒邮埽绻胍葘W(xué)習(xí)單片機(jī)的話,對(duì)于DSP的了解是很重要的。單片機(jī)在現(xiàn)在這些設(shè)備中使用的已經(jīng)非常廣泛了,不管是在一些玩具里面,或者是在一些家具里面,它都有一定的運(yùn)用,所以說它具有非常非常廣泛的一個(gè)商用價(jià)值價(jià)值很高,所以說隨著社會(huì)的發(fā)展,單片機(jī)的發(fā)展也在變得越來(lái)越快,人們的衣食住行都可能會(huì)需要單片機(jī)的功能。在很早以前我們就有一個(gè)結(jié)論,就是已經(jīng)離不開計(jì)算機(jī)了,計(jì)算機(jī)的功能對(duì)我們有很大的幫助,但現(xiàn)在來(lái)說,單片機(jī)的功能對(duì)我們的幫助也變得越來(lái)越大。如果沒有單片機(jī)這一個(gè)

21、系統(tǒng)的話,那我們可能有很多的想要完成的事情都完成不了,然后在一定程度上,科技方面也不會(huì)有這么大的提高。比如說現(xiàn)在利用單片機(jī),我們將我們的醫(yī)療設(shè)備還有一些經(jīng)濟(jì)方面的發(fā)展都變得越來(lái)越先進(jìn)了,而且它使用單片機(jī)的范圍有真的很廣,比如說在計(jì)算機(jī)網(wǎng)絡(luò)方面,工業(yè)制造方面,家電方面等等,都對(duì)單片機(jī)有一定的運(yùn)用,而且經(jīng)過實(shí)踐表明單片機(jī)的功能真的是對(duì)我們的生活有很大的幫助的,所以說使用單片機(jī)可以讓我們的工作效率或者學(xué)習(xí)效率得到很大的提高,并且對(duì)于我們付出的那些成本和時(shí)間進(jìn)相應(yīng)的都會(huì)得到減少。單片機(jī)的發(fā)展是現(xiàn)代社會(huì)發(fā)展的一個(gè)趨勢(shì),它將會(huì)發(fā)展的越來(lái)越好的,其發(fā)展前景和發(fā)展市場(chǎng)將會(huì)越來(lái)越廣泛。 三、總體方案及原理

22、這個(gè)設(shè)計(jì)主要的想達(dá)到的目的和結(jié)果是:根據(jù)課本上的理論方面的知識(shí),并且在通過自己的理解之后,利用實(shí)際存在的物體來(lái)表示,并且解決我們實(shí)際上需要完成的一系列問題。從而來(lái)達(dá)到單片機(jī)的功能,然后好好的使用它并且展示出它的最大的性能和優(yōu)點(diǎn)。這就需要大家可以很好的理解其原理和很好的把握它其中一些重要的運(yùn)用方法和存在的一些設(shè)計(jì)的觀念方式。把握了這些具體方法以后,就可以為之后在電子電路設(shè)計(jì)中做一些預(yù)先的籌備工作了,這樣就可以在一定狀況下保證實(shí)驗(yàn)的準(zhǔn)確可行性,然后會(huì)為探究實(shí)驗(yàn)、開發(fā)電子系列的產(chǎn)品打基礎(chǔ)并且做一個(gè)很好的鋪墊作用。 功能方面的要求說明是:這個(gè)多功能數(shù)字電子鐘通常狀況下使用三個(gè)兩位一體的共陽(yáng)極LED數(shù)

23、碼管,用來(lái)展示這其中的時(shí)、分、秒。然后當(dāng)電子鐘一連上電的時(shí)候,就可以把它給展示出來(lái)了。它分別利用三個(gè)按鍵來(lái)調(diào)對(duì)時(shí)間或者是鬧鐘,這三個(gè)按鍵依次是K1、K2、K3,這里面K1的鍵是功能挑選按鍵,按一回它就可以調(diào)成小時(shí),按兩回的話就是調(diào)成分鐘了,假如按三回的話,那就是轉(zhuǎn)到鬧鐘里面,調(diào)整里面的小時(shí)了,還能夠連續(xù)的按四下,按四下的話就是調(diào)整鬧鐘里面的分鐘,按五回之后鐘表就恢復(fù)到原界面開始正常運(yùn)行了。而K2鍵的功能就是在數(shù)值上加一下,K3鍵就是在數(shù)值上減一下。 總體方案及工作原理說明:這個(gè)設(shè)計(jì)使用的是STC單片機(jī)芯片和LED顯示器,還有一個(gè)獨(dú)立式的按鍵,這三者結(jié)合成的的多功能電子鐘。在這個(gè)設(shè)計(jì)里面是使用

24、的單片機(jī)的內(nèi)部定時(shí)器定時(shí),程序框圖如下圖所示: 設(shè)計(jì)原理 這個(gè)設(shè)計(jì)使用的是STC單片機(jī)其中一個(gè)型號(hào)來(lái)作這個(gè)系統(tǒng)的控制版塊。單片機(jī)可以把其它的型號(hào)里面的數(shù)據(jù)通過各種計(jì)算機(jī)中的軟件來(lái)進(jìn)行運(yùn)行和處理,這樣就會(huì)把需要的數(shù)據(jù)傳輸?shù)斤@示的模塊,這樣就完成了時(shí)鐘、鬧鐘和溫度等方面的顯示。把LCD液晶的顯示器來(lái)當(dāng)作顯示模塊,這樣就用它來(lái)把單片機(jī)里面?zhèn)鞒隽说哪切?shù)據(jù)清清楚楚的給展示出來(lái),而且再把這些數(shù)據(jù)展現(xiàn)出來(lái)的數(shù)據(jù)給豐富化。而這些操縱鐘,在顯示電路的里面,基本上最重要的就是通過按鈕來(lái)完成不同數(shù)據(jù)的展示要求中的不同的挑選和轉(zhuǎn)換功能。 四、單片機(jī)電子時(shí)鐘設(shè)計(jì)仿真分析和研究 4.1單片機(jī)的應(yīng)用仿真分析

25、 就拿該單片機(jī)來(lái)說,本文中設(shè)計(jì)的整個(gè)電路里面,總體來(lái)說有電路的顯示模塊、內(nèi)部的電路模塊和電子時(shí)鐘的按鍵模塊。電子時(shí)鐘最主要的就是用按鍵去調(diào)整時(shí)間的,而且利用電子管來(lái)顯示時(shí)間。通過單片機(jī)的實(shí)際程序的運(yùn)行,去調(diào)整每個(gè)數(shù)據(jù)的展示的數(shù)量和內(nèi)容。按鍵的功能是通過使用不同的鍵來(lái)調(diào)整時(shí)間。時(shí)間要在12分鐘以內(nèi),不能超過60秒。比如說較長(zhǎng)時(shí)間的按住某個(gè)按鍵就能去調(diào)整各種的功能方面的設(shè)置,按鍵的時(shí)間長(zhǎng)短,則對(duì)時(shí)間方面的調(diào)整也不同等等。當(dāng)然還有開關(guān)設(shè)計(jì)的按鍵。這些設(shè)計(jì)原理是通過單片機(jī)的模擬電路、C語(yǔ)言方面的知識(shí)和數(shù)字電路這三者的結(jié)合,功能的實(shí)現(xiàn)都是利用單片機(jī)的這三大知識(shí)理論。這三個(gè)基礎(chǔ)的理論中電路設(shè)計(jì)有很重要的意

26、義。大家應(yīng)該都了解這三大理論知識(shí),給單片機(jī)的發(fā)展做一個(gè)良好的基墊。對(duì)于單片機(jī)的學(xué)習(xí)更加不能不掌握C語(yǔ)言和VB編程的知識(shí)。這些對(duì)于單片機(jī)的發(fā)展必須掌握這幾種技術(shù),單片機(jī)才可以更好地適用于電子鐘的仿真方面的設(shè)計(jì)。 4.2 電子時(shí)鐘的仿真 首先要先去選擇仿真的組合部件,這是很重要的一個(gè)步驟,否則倘若設(shè)備不太好的話,仿真就不能夠真正的完成所需的結(jié)果了,而且挑選的組件必須是完善的、不用破壞性的,因?yàn)槿绻贿m合的話,結(jié)果將不會(huì)達(dá)到想要的效果了。選擇正確的組件后,我們得在Keil里面測(cè)試一下這個(gè)程序。假如說程序優(yōu)良的話,我們可以對(duì)其進(jìn)行模擬。之后在執(zhí)行編程的時(shí)候,能通過對(duì)仿真軟件的仿真調(diào)試的功能去讓

27、程序?qū)崿F(xiàn)一定的調(diào)整,使得程序的構(gòu)造越來(lái)越合理化。仿真和調(diào)試的過程中,必須考慮這幾個(gè)問題部分:(1)應(yīng)依據(jù)時(shí)間的基準(zhǔn)維持程序和振蕩電路中的晶體頻率。(2)保證仿真的精度就得在做中間處理切斷問題的時(shí)候,一定要減去定時(shí)器里面的的中斷程序的時(shí)間。(3)應(yīng)很多次的去調(diào)試數(shù)碼管的發(fā)光時(shí)間,保證其顯示的成果,防止它出現(xiàn)閃爍的狀況。然后我們要根據(jù)Proteus軟件來(lái)描述電子時(shí)鐘的電路的示意圖,并且在很多次的去找出存在的問題然后加以改善。原理圖中最核心的一部分便是驅(qū)動(dòng)器芯片。數(shù)碼管的顯示屏里面有這四個(gè)按鈕、蜂鳴器、時(shí)鐘芯片等。另外,還在電路圖中詳盡的闡釋了晶振電路和單片機(jī)的復(fù)位電路。器件方面的說明:DS1302

28、是由美國(guó)達(dá)拉斯開發(fā)的。它的性能很高,以至于使同行的人都非常驚奇,它的功耗也很低,也使得它本人提高了名譽(yù)和聲譽(yù)。它還有RAM的實(shí)時(shí)時(shí)鐘的功能,它還有最佳的定時(shí)能力,能夠從直接跳到年分方面的計(jì)時(shí)功能里看到。還有就是它還有非常特殊的通信方法,那便是三線接口和核心微控制器芯片這兩個(gè)結(jié)合在一起,然后再通信,時(shí)鐘信號(hào)的傳送特別的高效,同時(shí)它能夠去傳送很多個(gè)字節(jié)和應(yīng)對(duì)突發(fā)的狀況。相同的RAM數(shù)據(jù)也是這樣。該軟件已經(jīng)升級(jí)了很多次。應(yīng)用:89C51單片機(jī)是電子時(shí)鐘的中央處理器。源程序在加載的時(shí)候電路會(huì)控制數(shù)據(jù)的輸入和輸出。MAX7219會(huì)接通MCU和數(shù)碼管。盡管在時(shí)間展示器件里面唯有一個(gè)單獨(dú)的數(shù)碼管,但我們挑選

29、的是高端數(shù)碼管。并且是用鍵盤來(lái)調(diào)節(jié)或者是輸入時(shí)間和日期。DS1302是系統(tǒng)里面的定時(shí)器芯片,具有定時(shí)的功能。它錄用的是年、月、日、小時(shí)、秒等的時(shí)間。而蜂鳴器起的是鬧鐘的作用。單片機(jī)晶振電路及復(fù)位電路都是屬于電路部分的,可對(duì)信號(hào)數(shù)據(jù)進(jìn)行傳送。 4.3 單片機(jī)調(diào)試仿真軟件 第一步我們必須去清楚調(diào)試仿真軟件過程中源文件的輸入:在Keil軟件中,有一個(gè)文本編輯器源程序?qū)⒂糜诰庉?。處理起?lái)很簡(jiǎn)便,但是因?yàn)槭菍I(yè)的軟件。編輯器在File-New中被打開。然后去開創(chuàng)一個(gè)新項(xiàng)目,在Project-New uVision項(xiàng)目中打開它-Atmel-AT89C51-OK。我們一開始會(huì)不太熟悉。我們?nèi)耘f需要有

30、一個(gè)扎實(shí)的英語(yǔ)底子,但最好的做法是,我們得連續(xù)在不停的學(xué)習(xí)。在這個(gè)過程中我們一定要重視一個(gè)問題,那便是建設(shè)項(xiàng)目很容易被消失掉,必須要把它放在一個(gè)異常突出的地方才可以,不然工作就不能夠順順利利的運(yùn)行了。之后再所開創(chuàng)的項(xiàng)目后面需要輸入源代碼。怎樣輸入呢?挑選位于左側(cè)窗口子目錄里面的SourceGroup 1,再通過按擊右鍵去單擊快捷菜單,挑選AddFileGroup(SourceGroup1)。再接著在AddFileDialog中,我們尋找文件,就是被我們存在匯編程序里面的文件。添加步驟中我們應(yīng)該把文件類型去做一個(gè)修改,不然源文件將不會(huì)再出現(xiàn)了。在認(rèn)定選擇源文件的時(shí)候,按Add或者是雙擊.在模擬的

31、時(shí)候還需要使用一個(gè)軟件Proteus。它能夠用于Windows的操作系統(tǒng),可以完成對(duì)所有集成電路探析模擬器的分析和物理仿真。其最厲害的一個(gè)功能是把單片機(jī)與SPICB分析結(jié)合在一起.完成了最佳的電子鐘設(shè)計(jì),有要求的情況下還有利用世界上最先進(jìn)、最高級(jí)的嵌入式系統(tǒng)設(shè)計(jì)和仿真平臺(tái)里面最好的仿真軟件。不管是對(duì)數(shù)字電路還是模擬電路等進(jìn)行仿真,并且還有對(duì)PCB設(shè)計(jì)的調(diào)試,這樣都能完成眼下最完善、最嚴(yán)格的要求。還有就是它的仿真和調(diào)試都是利用實(shí)時(shí)系統(tǒng)來(lái)管制的,這樣差不多是所有的仿真工具里面是最厲害的了。還有就是為了保證完成仿真,還必須有另一個(gè)軟件,即Keil C5Lu-Vision 2。它的編譯和仿真環(huán)境是排在

32、第一個(gè)的。它不僅僅能夠使用C語(yǔ)言的編入,還能支持其余的不同語(yǔ)言,就像匯編語(yǔ)言等等其它的語(yǔ)言。最后在編程的過程里面,由于其界面容易、操作也很簡(jiǎn)易,不需要去學(xué)習(xí)如何使用它,所以減少了仿真時(shí)間,提高仿真的效率。最重要的是,它的微處理器和仿真電路能同一時(shí)間在虛擬原理模型圖上去做其它的編程和調(diào)試,而且可以利用電機(jī)、LED等突出的方法去實(shí)時(shí)展現(xiàn)效果。 4.4 堅(jiān)定單片機(jī)對(duì)電子時(shí)鐘的研究信心 單片機(jī)的發(fā)展越來(lái)越快,不過實(shí)際的單片機(jī)學(xué)習(xí)過程卻很艱難。開發(fā)人員在硬件上面必須有一套先進(jìn)的學(xué)習(xí)和開發(fā)工具,再把理論和實(shí)踐結(jié)合在一起,這個(gè)也應(yīng)該成為軟件中重點(diǎn)。軟件應(yīng)先去了解理論與實(shí)踐的結(jié)合。不管是電子鐘的還是

33、其它實(shí)體的應(yīng)用,單片機(jī)都必須有很強(qiáng)的通用性能,因此必須學(xué)會(huì)去進(jìn)行實(shí)踐并且一直探究下去。 4.5 注意單片機(jī)的理論與實(shí)踐相結(jié)合 單片機(jī)里面一定要重視編程。書籍中的編程看起來(lái)好像特別簡(jiǎn)單,不過在電子時(shí)鐘的設(shè)計(jì)中使用單片機(jī)并不是一件特別簡(jiǎn)單的事情。我們必須要去一直測(cè)試才能得到正確的結(jié)果,目的是本人親自實(shí)現(xiàn)一個(gè)可操作的程序。計(jì)劃的變成不單單要相關(guān)知識(shí),還要自己的思想。它一定要把個(gè)人創(chuàng)新點(diǎn)和看法寫入方案。創(chuàng)造力和創(chuàng)意一般情況下是單片機(jī)發(fā)明成功最重要的部分。不管是HT68F40單片機(jī)或者AVR單片機(jī)都給電子鐘的生產(chǎn)施加壓力,單片機(jī)是不是能給無(wú)線互聯(lián)網(wǎng)技術(shù)帶來(lái)很大的改變?,F(xiàn)在的科學(xué)技術(shù)一直再持續(xù)進(jìn)步

34、,單片機(jī)的優(yōu)點(diǎn)太多了,比如體積比較小,重量比較輕,抗干擾能力比較強(qiáng),和其它的部件去做對(duì)比的話,它的環(huán)境要求也不高,還擁有這樣多的好處,因此一定會(huì)受到人們的廣泛熱愛,在現(xiàn)代技術(shù)發(fā)展的許多方面似乎有著很大的發(fā)展前景,不單單是那些簡(jiǎn)單的電子器件 4.5.1 實(shí)驗(yàn)平臺(tái) 圖1的實(shí)驗(yàn)平臺(tái)能實(shí)現(xiàn)了智能電子鐘的各個(gè)功能,不僅僅方便了學(xué)生對(duì)單片機(jī)實(shí)驗(yàn)的研發(fā)。也減小學(xué)生實(shí)驗(yàn)成本,減少了實(shí)驗(yàn)完成的時(shí)間,使學(xué)生在很少的時(shí)間里了解超級(jí)多的單片機(jī)方面的知識(shí)。 4.5.2 智能電子時(shí)鐘的系統(tǒng)構(gòu)成 該系統(tǒng)以AT89C51當(dāng)做核心的控制芯片,這個(gè)系統(tǒng)實(shí)現(xiàn)了日歷的定時(shí)、定時(shí)和鬧鐘功能。該系統(tǒng)還使用的是矩陣鍵盤

35、和紅外遙控器兩者結(jié)合共同完成控制的,還可以對(duì)數(shù)字時(shí)鐘去做調(diào)整,修改數(shù)據(jù),修改鬧鐘,整點(diǎn)提醒,使用蜂鳴器來(lái)敲響鬧鐘。 五、電子時(shí)鐘設(shè)計(jì) 5.1 main模塊 30/54#include#include#include #include#include#include sbitBuzz= P2^3,//定 義蜂鳴器的接口 unsigned char K1_ cnt=0, //記錄K1連續(xù)按下的次數(shù)unsigned ch

36、ar Hint .cnt=-0, unsigned char code Hint1[]-"Press SET to ch-//Press K1 to set,unsigned char code Hint2]-"ange Time&Alarml,unsigned char code Hint3]="Alarm setting unsigned char code Hint4]=" ,十個(gè)空格unsigned int Year 2010,Year_ tmp, unsigned char Month=4,Day=30,Week Hour=9,Min=59

37、,Sec=50, /復(fù)位的時(shí)間初值unsigned char A Hour=10,A Min=1; unsigned char Month tmp,Day. tmp,Hour_ tmp,unsigned char Min tmp;unsigned char Sec_ tmp, unsigned char A Hour tmp,A Min tmp,unsigned char key, bit Alarm F=1; /鬧鐘開 狀態(tài)標(biāo)志位 unsigned char bsstile(unsigned int y),//函數(shù)聲 明判斷是否閏年un

38、signed char temp_ bisextil(unsigned int y), //圖數(shù)聲明,判斷是否閏年 unsigned char temp_ Day_ Max(unsigned char m)//函數(shù)聲明,判斷當(dāng)月天數(shù)unsigned char Day_ Max(unsigned char m);//函數(shù)聲明,判斷當(dāng)月天數(shù) unsigned char Week Calculate(unsigned int y,unsigned char m,unsigned char d)//函數(shù)聲明,計(jì)算星期 void Timer0_ InitO;

39、//函數(shù)聲明,定時(shí)器TO初始化void Normal DisplayO, /函數(shù)聲 明,正常顯示模式void Aarm JudgeO, //函數(shù)聲 明,判斷鬧鈴狀態(tài)void Setting MenuO, /函數(shù)聲明,進(jìn)入設(shè)定菜單 void stting_ Displayunsigned char )/函數(shù)聲明,顯示設(shè)定模式void Key_ Action(unsigned char e), /函數(shù)聲明,響應(yīng)鍵盤輸入void AlarmO, /函數(shù)聲明,啟動(dòng)鬧鈴mainO{

40、t(,/?.EItE8DS18B205J$61CLCD_InitQ;,HTELCD602IJ361C User_Defined_CharO,1/tEXFFELCD1602JCGRAMwhile(1) Alarm_JudgeO; ReadtemperatureO,i#DS18B20t8Ckey=Key__ScanQ;### if(key==K2)118↑##ТК2,J?JТFgХЖ?#фtbtAlarm_F=~Alarm_F, if(key==K3)#3#TK3,J1Jt#1LCD1602(LH#LCDEt) LCD_InitO, User_Defined__CharO, if(

41、keyK1)/1↑#K1tX1T K1__cnt++;.//K1_cntiaRK139T69X5if(K1__cnt==10)K1__cnt=2; if(K1_cnt1)1/#K1_cnt#F1Setting_MenuQ,#AiE#$ if(K1_cnt>1)1/#RK1_cnttf1Setting_Display(K1__cnt);#/i#Bt+]i#t Key_Action(K1_cnt);,_//#K1_cntB)iQj2BdmETif(K1_cnt=0)//#K1_cnt#foNormal_DisplayO;//i#.AiE5s7#t voidTimer0_InitQ/EB

42、HtE03JtAYLTMOD=0x11,i*5dJfI0x4C00 //幵源中斷 EI0-1; 幵定吋器o中斷 nMOD-0x11; /沒置定肘器 oエ作在方式1 (16位〉THO=0x3c, /it數(shù)初値カ655360000-15536,即3cb0HTL0-0xb0, TR0=1;后劫定肘器 o void Timer0IntO nterrupt 1 using 3 . /定吋器o中斷服努程序 static unsigned char counto=0,TR0=0, TH0+-0x3G, 1L0+-0xb0+7, /ト信肘囘俁差,此裃信値是通辻調(diào)試得知TR0=1,count

43、0+t, ffcout= -20/満- -秒 courto=0;Sectt; fSeo -60 /溝- -分狆 Sec=0,Mintt, ifQMin= -60 /満一小肘 Min-O,Hourt+; iRHour-24) /満一 天 HourD,Day+t; ifODay>Day_ MexMorth》/満一個(gè)月(先判斷當(dāng)月最大天數(shù) ) Day-1;Montht+; ifQMonth>12) /溝一年 } Month-l;Yeartt; } } void Normal DisplayO 1正常且示狀恣{ Set_ Po

44、sitionco,o); /沒亶 濕示地址Write_ Datac0x04〉, /墨示空格 Write_ DataCYer10000x30, /昆示年的千位數(shù)(數(shù)字+30H等于所対座ASCI礙》 Write_ DatCYeu910001000x30, /晝示年的百位數(shù) Write DaCar610006100y100x30 /晝示年的十位數(shù)Write_ DtCar:61000910010030 /昆示年的個(gè)位數(shù)Write_ Data-9, /昆示- Wrte. DataQMorth1040x30; /濕示月的十位數(shù)Write DataQM

45、onth96100x30), 昆示月 的個(gè)位數(shù)Write DataCり; /濕示. Wrte, DataDay1040x30〉晝示日的十位數(shù)Write DataCDay9610+0x30, /品示日的個(gè) 位數(shù)Write_ Data(0x04〉, /昆示空格 Write_ Data(0x02〉 I1濕示-個(gè)心形圏案Week-Week. CalculateCYear MonthDay;switchCWeek) //昆示星期數(shù){ case o: Write. DataCM,Write_ DataCoO,Write DataCnybreak,1/昆示星期一

46、 case I Wrile DataTWrite DataCu》.Write DataCe9.breaks/昆示星期ニ case2: Write. Data"WyWrite DataCeWrite_ DataCdyjbreak,/昆示星期三 case3: Write_ Data(T>,Write_ Data(t)Write. Data(upbreaks,濕示星期四 case4: Write. DatcF》Write. Datacr;Write_ DataGib,break,/濕示星期五 cases: Write DatacCS

47、yWrite Dataca,Write_ Dtactb,break,/昆示星期六 case6: Write, Data(SWrite Datau)Write DataChy.brek, /顯示星期天default:break, SetPosition(1,0);/設(shè)置顯示地址Write_Data(0x04>.1顯示空格 Wrte_DataHour/10+0x30),1顯示時(shí)的十位數(shù)Wnte_DataHour%10+0x30)/顯示時(shí)的個(gè)位數(shù)Write_Data(");/顯示 Write,DataQMin/10+0x30)./顯示分的十位數(shù)Wrte_DataQMir%610

48、+0x30),/顯示分的個(gè)位數(shù)WriteDataC),//顯示, Write_Data(Sec/10+0x30)./顯示秒的十位數(shù)WriteData(Sec%610+0x30),//顯示秒的個(gè)位數(shù)if(AlarmF//如果鬧鐘開啟WriteData(0x01),1/顯示開鬧鐘符號(hào)else Write_Data(0x04)/顯示空格Write_Data(0x04>顯示空格 Write_Data(tens+0x30),1/顯示溫度的十位數(shù)Write_Data(units+0x30),11顯示溫度的個(gè)位數(shù)WriteData(0x2e),/顯示小數(shù)點(diǎn) Wrte,Dataldecile+0x30

49、)//顯示溫度的十分位Write_Daita(0x00),/顯示攝氏度符號(hào)》 voidSting,MeruO Set_Position(0,0),/設(shè)置顯示地址writeStringHint1); Set_Position(1,0),1設(shè)置顯示地址WriteString(Hint2). Yeartmp-Year,Monthtmp-Month,Day_tmp=-Day,Hour_tmp-=HourMintmp=Min,Sectmp=Sec; AHourtmp=AHour,AMintmp=AMin,1/使用過渡數(shù)據(jù) voidstting.Displayunsignedchre)1間設(shè)

50、定模式,被選到的數(shù)據(jù)前出現(xiàn)右方向三角 if(c<8) Set.Position(0,0,/指向ICD第--行首地址 Write_String(Hn3);1顯示提示語(yǔ)"Alamstting,Set_Positioc(,0),/設(shè)置顯示地址if(c--8) Write_Data(0x03>,/顯示右三角符號(hào)if(c=-9) Wite_Data(0x04);1/顯示空格 Write_Data(AHouwr_tmp/10+0x30)./顯示鬧鐘時(shí)的十位數(shù)Write_Data(AHour.tmp%610+0x30)顯示閑鐘時(shí)的個(gè)位數(shù) if(B WiteDataC),//顯示.:if(==

51、9) Write_Data(Ox03),1/顯示右三角符號(hào) WriteDataCAMintmp/10+0x30),顯示鬧鐘分的十位數(shù)WteDataCAMntmp%10+0x30),顯示鬧鐘分的個(gè)位數(shù)Write_StingHin4)/后面的位置顯示空格,避免使用清屏指令} voidKeyActon(unsignedchar。/執(zhí)行鍵盤輸入 ifkey-=K3)/如果按K3,則被選中對(duì)象自加1,//保持?jǐn)?shù)據(jù)變化范圍合乎實(shí)際 switch(c) case2 Year_tmp++jif(Tear_tmp>2100)Yeartmp=2008,SettingDisplay(K1_cn);D

52、elay1mS(200)break, case3; Monthtmp++;fQMonthtmp>12)Monthtmp-1,Setting.Display(K1cn)Delay1m(200>;break,case4:{Daytmp++, if(Day_tmp>temp_Day.MaxQMonthtm))Day_tnp=1, SettingDisplay(K1cn)Delay1m(200),breax, Hour tmp+ ,ifHour tmp>23)Hour tmp=0,Setting Display(K1_ cnt),Delay1mS(200),break, case6:

53、Min tmp++;ifQMin tmp>59)Min tmp=0; Setting. DisplayK1 cn)Delay1mS(200)break, case7: Sec tmp+,;ifSec tmp>59)Sec tmp=0; Setting Display(K1 cnt), DelayImS(200),break} case8: A Hour tmp++;if(A Hour tmp>23)A Hour tmp=0;Setting Display(K1. cn)Delay1mS(200)break,}case9: A Min tp++,if(A Min _tmp>59)A

54、. Min tmp=0,Setting DisplayKI cn)Delay1mS(200);break, default break, fkey-K4) //如果按K4,則被選中對(duì)象自減1,1/保持?jǐn)?shù)據(jù)變化范圍合乎實(shí)際 switch(c) case2 Year tmp--i(Year tmp- -1900>Year tmp- 2008;Setting. Display(K1_ cmD),Delay1mS(200);break, case 3: Month tnp-.fQM4onth tmp- =0)Morth tmp=12,Setting Display(K1 cn)Dela

55、ym(200),brak, case4: {Day_tmp-i.Da_tmp-0)Daytmptemp,Day,Max(Monthtmp),SettingDisplayCK1cn),Delay1m(20)break, case5: Hour_tmp++;if(Hourtmp--255)Hour.tmp-23;Setting.Display/K1_cnt),Delay1mS(200)break; case6: Mintmp++;jf0Mdintmp-255)Mintmp=59,SettingDisplayCK1cn),Delay1mS(200)break, case7: Sec_

56、tm--,if(Sec.tmp=255)Seetmp=59, SettingDisplayCK1_cnt);Delay1mSC200),break case8: AHour,t--.i_.Hourtmp-255)AHou,tmp=23,SettingDisplayKIcnt),Delay1mS(200),break case9: AMintmp--if(.Mintmp-255)Mintmp=23,SettingDisplay(Kicn),Delay1m(200)breakx defaultbeaik ifakey-KS&&K1_cnt=-0)/如果按下K5,則退出時(shí)間設(shè)定模式,設(shè)

57、定生效 Year-Yeartmp,MonthMonthtmp,Day=-Day_tmp,Hour-Hourtmp,Min=Mintmp,Sec=Sectmp,AHour=AHourtmpAMin=AMintmp,KI__cnt=0; elseifkey-K6)/如果按下K6,則退出時(shí)間設(shè)定模式,設(shè)定無(wú)效K1_cnt=0, unsigned char bssteunsignede intg) 11判斷是否閏年 unsigned char Feb_ day,ify%4- 0&&y961001=0)Feb day=29; else f(6100 -0&y9400

58、0)Feb_ day-2%;eise Feb_ day=28,return Feb_ dey, unsigned char temp. bstil(unsinede imty) 1判斷是否閏年 unsigned char Feb_ day,ifyY%4= -0&xy%61001=0)Feb_ day=29, eise if96100 -0&&x9%400- 0) Feb_ day=29,eise Feb_ day=28,retum Feb_ day,} unsigned char temp. Da

59、y, Max(unsigned charm) 1判斷當(dāng) 月天數(shù) unsigned char d,switch(m) case1:d=31; case 2: d-temp_ bsextile(Year),csse3:d=31;case4: d=30;caseS: d=31;case6. d=30;case7:d=31,case8. d=31, case9:d=30;case10d-31,case11:d=30;case12.d=31;defaultbreak,}retumd unsignedcharDayMax(unsignedcharm)11判斷當(dāng)

60、月天數(shù) unsignedchard,switch(m) case1:d=31, case2.d=issetile(Yer),case3;d=31;case4:d=30;case5d=31;case6:d=30,case7:d=31,case8.d=31,case9d=30,case10:d=31;case11:d=30;Icase12:d=31;defaultbreak,}rebumd,} /*計(jì)算星期幾用基姆拉爾森計(jì)算公式: W=(d+2*m+3*(m+)/5+y+y/4-y/100+y400)67 在公式中d表示日期中的日數(shù),m表示月份數(shù),y表示年數(shù)。注意:在公式中有個(gè)與其它公

61、式不同的地方: 把一月和二月看成是上一年的十三月和十四月,例如果是2004-1-10則換算成2003-13-10來(lái)代入公式計(jì)算。*/, unsignedcharWeekCalculate(unsignedinty,unsigmnedcharmyunsigmedchard unsignedcharw, if(m-1lm=-2)> y-m+=12,) w=(d+2*m+3*(m+1)y5+y+y/4y/100+y/400)%7.returnw, voidAlarm,JudgeO1判斷鬧鈴是否應(yīng)該響 1fAlam_F一1&&HourA_Hour&&MinAMin&&Sec<10>/

62、/用鐘響十秒鐘 Buzz=0, Delay1mS(00,Buzz=1, Delay1mS(100),Buzz=0; ifMin-0&&Sec-0》//整點(diǎn)發(fā)出提示音 Buz=0, Delay1mS(100),Buzz=1; DelayimS(00) 5.2 DS18B20模塊 fincludesbitDQ-P2^4,bitflag.init=0; unsignedinttensuitsdecile,tmp;floattmprt, voidDS18B20_initO flag_ int=1; 1初始化成功杯志位 ,oカ成功DQ-l; /DQ夏位Del

63、ay_ us(8》 DQ=0, /拉低DQ Delay_ u8C0)/52》I挺吋484us (此信號(hào)要求480us~960us)DQ=1; 釋放DQ Delay_ us(8);,1延吋 6lus (在測(cè)到IO引腳上的_上升沿之后DS18B20等待l5us-6ous 并且接著岌送存在脈沖160-240u的低鬼平信號(hào)〉 flag_ init-DQ, Delay_ usC10125X 誕吋241usDS18B20 友送存在脈神的/低鬼平信號(hào)60-240us) unsigned char Readonechao /洟一 -↑字蘆 unsigned char i=0;unsigned char dat=0,fori-8ji0ji- DQ-0;dab>=1;DQ=1;iDQ datl-0x80, Delay_ usG5)砥肘 6lus (所有獎(jiǎng)肘伺片的最短持綾期限カ6us,各個(gè)遠(yuǎn)肘恂片之向必須有最短カ1us 的恢夏肘囘) retum dat;} void Wnteonecharlunsigned chardat〉/寫- -個(gè)宇蘆{ unsigned char i=0;fo

展開閱讀全文
溫馨提示:
1: 本站所有資源如無(wú)特殊說明,都需要本地電腦安裝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ù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
5. 裝配圖網(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ì)自己和他人造成任何形式的傷害或損失。

相關(guān)資源

更多
正為您匹配相似的精品文檔
關(guān)于我們 - 網(wǎng)站聲明 - 網(wǎng)站地圖 - 資源地圖 - 友情鏈接 - 網(wǎng)站客服 - 聯(lián)系我們

copyright@ 2023-2025  zhuangpeitu.com 裝配圖網(wǎng)版權(quán)所有   聯(lián)系電話:18123376007

備案號(hào):ICP2024067431號(hào)-1 川公網(wǎng)安備51140202000466號(hào)


本站為文檔C2C交易模式,即用戶上傳的文檔直接被用戶下載,本站只是中間服務(wù)平臺(tái),本站所有文檔下載所得的收益歸上傳人(含作者)所有。裝配圖網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)上載內(nèi)容本身不做任何修改或編輯。若文檔所含內(nèi)容侵犯了您的版權(quán)或隱私,請(qǐng)立即通知裝配圖網(wǎng),我們立即給予刪除!