基于at89s52的智能數(shù)字鐘畢業(yè)設(shè)計(jì)_第1頁(yè)
已閱讀1頁(yè),還剩49頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、<p><b>  摘 要</b></p><p>  設(shè)計(jì)了一款基于AT89S52的智能數(shù)字鐘,該鐘表由主控模塊、定時(shí)模塊、溫度檢測(cè)模塊和顯示模塊構(gòu)成。主控模塊由主控芯片AT89S52、晶振電路和復(fù)位電路構(gòu)成;定時(shí)模塊采用時(shí)鐘芯片DS1302實(shí)現(xiàn)精確定時(shí);用溫度傳感器DS18B20作為溫度采集源,檢測(cè)當(dāng)前溫度;用液晶顯示器12864顯示年、月、日、時(shí)間及溫度。該鐘表具有智能顯示

2、溫度和節(jié)假日提示功能??墒謩?dòng)設(shè)置和修改年、月、日、時(shí)、分、秒等,結(jié)構(gòu)簡(jiǎn)單,操作方便,準(zhǔn)確度高。</p><p>  關(guān)鍵詞:?jiǎn)纹瑱C(jī);時(shí)鐘芯片;溫度傳感器;液晶顯示器;智能數(shù)字鐘</p><p>  AT89S52 based Digital Clock Design of Intelligent</p><p><b>  Abstract</b&g

3、t;</p><p>  has designed one section based on at89S52 intelligent digit clock, this clock and watch by the master control module, fixed time the module, the temperature examines the module and the display mo

4、dule constitution. Master control module by master control chip AT89S52, crystal oscillator electric circuit and reset circuit constitution; Fixed time the module uses clock chip DS1302 to realize precisely fixed time; G

5、athers the source with temperature sensor DS18B20 as the temperature, the examination</p><p>  Keyword:SCM; clock chip; liquid crystal display; temperature ; Intelligent digital clock </p><p>&l

6、t;b>  目 錄</b></p><p><b>  1 引 言1</b></p><p>  2 選題背景及意義2</p><p>  3 方案論證與選擇3</p><p>  3.1 方案論證3</p><p>  3.1.1 主控模塊的論證與選擇3<

7、/p><p>  3.1.2 顯示模塊的論證與選擇3</p><p>  3.1.3 控制按鍵模塊的論證與選擇4</p><p>  3.2 方案選擇4</p><p>  4 硬件電路的設(shè)計(jì)5</p><p>  4.1 單元電路的設(shè)計(jì)5</p><p>  4.1.1 直流穩(wěn)壓電源

8、5</p><p>  4.1.2 按鍵模塊電路6</p><p>  4.1.3 定時(shí)模塊電路7</p><p>  4.1.4 溫度采集模塊8</p><p>  4.1.5 顯示模塊電路10</p><p>  4.1.6 主控模塊12</p><p>  5 軟件設(shè)計(jì)18&

9、lt;/p><p>  5.1 總體系統(tǒng)軟件設(shè)計(jì)18</p><p>  5.2 系統(tǒng)工作原理18</p><p>  5.3 系統(tǒng)主程序流程圖18</p><p>  6 安裝與調(diào)試20</p><p>  6.1 元器件的檢測(cè)與安裝20</p><p>  6.1.1元器件的檢測(cè)2

10、0</p><p>  6.1.2元器件的安裝20</p><p>  6.2 系統(tǒng)硬件的安裝與調(diào)試21</p><p>  6.3 系統(tǒng)軟件的安裝與調(diào)試22</p><p><b>  總 結(jié)23</b></p><p><b>  致 謝24</b><

11、/p><p><b>  參考文獻(xiàn)25</b></p><p>  基于AT89S52的智能數(shù)字鐘設(shè)計(jì)</p><p><b>  1 引 言</b></p><p>  在高速發(fā)展的現(xiàn)今社會(huì),時(shí)間和空間的不足是人類面臨的眾多問(wèn)題之一。然作為新一代技術(shù)人才的我們勢(shì)必會(huì)面臨這一嚴(yán)峻的民生問(wèn)題。圍繞這個(gè)

12、問(wèn)題,我將我的設(shè)計(jì)定為智能數(shù)字鐘設(shè)計(jì)。鐘表作為顯示時(shí)間的工具其本身并不能給人們帶來(lái)想要抓住時(shí)間的急迫感,若是將時(shí)鐘時(shí)間顯示精確到分、秒,那么這種時(shí)間飛逝的重壓就會(huì)迫使人們?nèi)ビ行У乩盟?。?dāng)然若在鐘表中融入了其他人們?nèi)粘9ぷ鞒鲂斜仨毜墓δ埽⒁灾悄芏?jiǎn)單的形式被運(yùn)用。可以大大為我們節(jié)省出是空間來(lái)。</p><p>  隨著我國(guó)科技的飛速發(fā)展,電子行業(yè)也在同一時(shí)間里不斷地推層出新,電子產(chǎn)品全方面的進(jìn)行了改善和提升。不

13、管是外觀,還是內(nèi)部功能都在不斷地進(jìn)行改進(jìn),提高了其性價(jià)比。這一過(guò)程都在大力的推動(dòng)現(xiàn)代化的發(fā)展。而基于AT89S52的智能數(shù)字鐘體現(xiàn)了現(xiàn)代化電子產(chǎn)業(yè)的高性價(jià)比。成本低,電路簡(jiǎn)單,功能齊全(能同時(shí)顯示溫度、時(shí)間、日期以及節(jié)假日)。對(duì)于現(xiàn)在的家庭生活中,具有了相當(dāng)普遍性和實(shí)用性,成為了人們生活的必需品。此電路采用了單片機(jī)AT89S52、溫度傳感器DS18B20、時(shí)鐘芯片DS1302、12864液晶顯示器,電路設(shè)計(jì)合理,使得電路簡(jiǎn)單,操作方便,

14、美觀大方。</p><p>  2 選題背景及意義</p><p>  隨著社會(huì)的發(fā)展,人們對(duì)生活的要求越來(lái)越高,當(dāng)然數(shù)字鐘也就成為了其中所要求的一個(gè)部分。傳統(tǒng)的時(shí)鐘已經(jīng)不能滿足人們對(duì)它的要求,智能數(shù)字鐘在性能和式樣上都有本質(zhì)上的提高。本產(chǎn)品針對(duì)這一需求,設(shè)計(jì)了一款智能數(shù)字鐘,它由單片機(jī)控制,功能更強(qiáng)大,能更好的滿足現(xiàn)代社會(huì)需求。早期運(yùn)用的時(shí)間控制器都是用模擬電路設(shè)計(jì)制作的,準(zhǔn)確性及各方

15、面的性能都不是很理想。隨著單片機(jī)性價(jià)比的不斷提高,新的產(chǎn)品應(yīng)用越來(lái)越廣泛,取代了昔日的模擬化產(chǎn)品。單片機(jī)系列產(chǎn)品的應(yīng)用大到工業(yè)控制,小到日常生活。它功能強(qiáng)大,體積小,質(zhì)量輕,靈活好用,配以適當(dāng)?shù)慕涌谛酒?,可以?gòu)造各種各樣、功能各異的微電子產(chǎn)品。 單片機(jī)在智能數(shù)字鐘中的應(yīng)用已經(jīng)具有相當(dāng)普遍的意義。本設(shè)計(jì)以單片機(jī)來(lái)作為核心控制器件,可以通過(guò)它的時(shí)鐘信號(hào)進(jìn)行計(jì)時(shí)實(shí)現(xiàn)計(jì)時(shí)功能,將其時(shí)間數(shù)據(jù)經(jīng)單片機(jī)輸出,利用12864液晶顯示器顯示出來(lái)。通過(guò)鍵盤(pán)

16、可以進(jìn)行顯示數(shù)據(jù)的修改。輸出顯示器可用液晶顯示級(jí)數(shù)和動(dòng)態(tài)數(shù)碼顯示技術(shù)。這種具有人們所需要的智能化特性的產(chǎn)品為人們節(jié)省了大量時(shí)間和空間,擴(kuò)大了數(shù)字化的范圍,為家庭數(shù)字化奠定了基礎(chǔ)。</p><p>  3 方案論證與選擇</p><p>  3.1 方案論證 </p><p>  論證了主控制模塊、顯示模塊、控制按鍵模塊,介紹各個(gè)模塊選擇的核心部件的主要功能及特點(diǎn)

17、。 </p><p>  3.1.1 主控模塊的論證與選擇</p><p>  方案一:采用AT89C51,AT89C51芯片內(nèi)部有ROM,且片內(nèi)ROM全部采用Flash ROM,它能在3V的超低電壓下工作,與MCS—51系列單片機(jī)完全兼容,但其不具備ISP在線編程技術(shù),需要把程序?qū)懞煤笤俜诺骄幊唐髦芯帉?xiě),才可以進(jìn)行硬件電路的調(diào)試,如果程序編寫(xiě)出現(xiàn)了問(wèn)題,電路調(diào)試就會(huì)很麻煩,而且該單片機(jī)的

18、可編存儲(chǔ)只有4KB,為避免存儲(chǔ)不足的現(xiàn)象出現(xiàn),不予采用該方案。</p><p>  方案二:采用AT89S52來(lái)實(shí)現(xiàn)該電路,AT89S52與AT89C51器件比較,該芯片內(nèi)既有Flash ROM ,又能與MCS—51系列單片機(jī)兼容,而且具備ISP在線編程技術(shù),這樣一方面能降低成本,另一方面又能簡(jiǎn)單芯片的讀寫(xiě)操作,避免芯片的損壞。而且該芯片內(nèi)存8KB能充分滿足該設(shè)計(jì)的需求。</p><p>

19、  綜上所述,采用方案二的AT89S52作為主控模塊。</p><p>  3.1.2 顯示模塊的論證與選擇</p><p>  方案一:采用LED靜態(tài)數(shù)碼管顯示,但LED顯示信息有限,且其外圍電路較為復(fù)雜,會(huì)過(guò)多的占用單片機(jī)的I/O端口,因此也不予采用該方案。</p><p>  方案二:采用點(diǎn)陣顯示,它由八行八列的發(fā)光二極管集成在一起,可用于顯示漢字、數(shù)字以及少

20、量的圖像,但是外圍電路復(fù)雜,焊接很麻煩,容易出錯(cuò),顯示圖文信息效果也不理想。因此不考慮此方案。</p><p>  方案三: 采用LCD12864液晶顯示,該顯示器顯示清晰、效果好,能顯示多樣化的信息.且能同時(shí)顯示文字和圖像。外圍電路簡(jiǎn)單使得本設(shè)計(jì)美觀大方。因此顯示模塊采用該種方案。</p><p>  通過(guò)比較采用方案三的LCD12864作為顯示模塊。</p><p

21、>  3.1.3 控制按鍵模塊的論證與選擇</p><p>  方案一:選取陣列式按鍵,采用該方案編程比較困難,且在電路中浪費(fèi)過(guò)多的按鍵,因此排除該方案。</p><p>  方案二:采取獨(dú)立式按鍵,該方案易于控制且編程簡(jiǎn)單,易于理解,按鍵數(shù)量也很適用,因此控制按鍵模塊采用此方案。</p><p><b>  3.2 方案選擇</b>&l

22、t;/p><p>  經(jīng)過(guò)方案論證與比較,選擇以AT89S52作為主控制芯片,采用12864液晶作為顯示器件,以自制5V直流穩(wěn)壓電源做電源模塊,獨(dú)立式按鍵作按鍵模塊,DS1302為定時(shí)來(lái)源,DS18B20作溫度采集源。確定系統(tǒng)組成框圖如圖3.1所示。</p><p><b>  圖3.1 系統(tǒng)框圖</b></p><p>  4 硬件電路的設(shè)計(jì)&

23、lt;/p><p>  4.1 單元電路的設(shè)計(jì)</p><p>  分別對(duì)本設(shè)計(jì)中的直流穩(wěn)壓電源部分、按鍵模塊電路、定時(shí)模塊、溫度采集模塊、顯示模塊以及主控制模塊電路進(jìn)行原理介紹,以及各部分主要元器件的介紹及應(yīng)用說(shuō)明。</p><p>  4.1.1 直流穩(wěn)壓電源</p><p>  圖4.1是一個(gè)+5V的直流穩(wěn)壓電源,本設(shè)計(jì)中的AT89S52

24、和12864液晶顯示器需要+5V的直流電壓,設(shè)計(jì)該穩(wěn)壓電源。該電源由濾波電路、穩(wěn)壓電路組成。見(jiàn)圖3-2所示。</p><p>  圖4.1 直流穩(wěn)壓電源電路圖</p><p>  電路工作原理:220V的市電,經(jīng)過(guò)變壓器變?yōu)?5V的交流電,再經(jīng)過(guò)橋式整流和濾波電容在固定式三端穩(wěn)壓器LM7805的1(Vin)腳和2(Vout)腳之間形成得到近視直流的電信號(hào)(該電壓會(huì)受到市電和負(fù)載的影響,因此

25、很不穩(wěn)定),此電壓再經(jīng)過(guò)穩(wěn)壓管7805得到一個(gè)+5V的穩(wěn)定的電壓。電路中C6和C8分別為輸入和輸出端的濾波電容,電容越大濾波效果越好,一般C6采用2200 µF,但在實(shí)際中2200 µF的電容比較難找到,因此采用了1000µF和470µF來(lái)代替,并且能滿足電路需求。C7和C9在電路中起到濾除高頻干擾的作用,C7和C9一般采用0.1µF。</p><p>  該電路

26、中JMP1處接入的是經(jīng)變壓器變壓,橋式整流后為12V的脈動(dòng)直流電信號(hào)。</p><p>  下面介紹7805的部分相關(guān)參數(shù):</p><p>  圖4.2 7805實(shí)物圖</p><p>  7805為三端正穩(wěn)壓器電路,TO-220F封裝,能提供多種固定的輸出電壓,應(yīng)用范圍廣。內(nèi)含過(guò)流、過(guò)熱和過(guò)載保護(hù)電路。帶散熱片時(shí),輸出電流可達(dá)1A。雖然是固定穩(wěn)壓電路,但可通過(guò)外

27、接元件從而可獲得不同的電壓和電流。</p><p>  使用7805需注意一下幾點(diǎn):</p><p>  (1)輸入輸出電壓差不能太大,否則會(huì)使其轉(zhuǎn)換效率急速降低,而且容易擊穿損壞; </p><p> ?。?)輸出電流不能太大, 7805的極限值是1.5A。大電流的輸出,散熱片的尺寸要足夠大,否則會(huì)導(dǎo)致高溫保護(hù)或熱擊穿; </p><p>

28、  (3)輸入輸出壓差也不能太小,太小效率很差。 </p><p>  4.1.2 按鍵模塊電路</p><p>  按鍵模塊電路主要是由四個(gè)輕觸式控制按鍵組成,按鍵電路如圖 4.3所示。</p><p>  圖4.3 按鍵模塊電路原理圖</p><p>  圖中,S2、S3、S4、S5分別接單片機(jī)AT89S52的P1口的P1.0、P1.1

29、、P1.2、P1.3,經(jīng)單片機(jī)的控制,可通過(guò)不同按鍵的接通實(shí)現(xiàn)相應(yīng)的功能(參數(shù)設(shè)置、初始化等)置參數(shù)。輕觸式案件的結(jié)構(gòu)很簡(jiǎn)單,使用時(shí)只需要接其中兩個(gè)引腳即可。</p><p>  開(kāi)機(jī)后,按下開(kāi)關(guān)S3和S5,電路進(jìn)入初始化狀體,初始化完成過(guò)后,按下開(kāi)關(guān)S4進(jìn)入調(diào)節(jié)模式,依次按下S4設(shè)置年、月、日、星期、時(shí)、分、秒,S3遞增調(diào)節(jié),S5遞減調(diào)節(jié),按下S2退出調(diào)節(jié)模式,顯示屏上正常顯示。</p><

30、p>  4.1.3 定時(shí)模塊電路</p><p>  圖4.4 定時(shí)模塊電路原理圖</p><p>  DS1302將產(chǎn)生的信號(hào)送到單片機(jī)內(nèi)P2端口,通過(guò)單片機(jī)的控制,使電路具備顯示萬(wàn)年歷的功能。</p><p>  下圖為DS1302的管腳配置圖。</p><p>  圖4.5 DS1302管腳圖</p><p&

31、gt;  各管腳描述如下:1、8腳為電源供電管腳, 2、3腳接32.768KHz的晶振,4腳接地,5腳為復(fù)位端,6腳為數(shù)據(jù)輸入/輸出引腳,7腳接串行時(shí)鐘。</p><p>  DS1302內(nèi)含有一個(gè)實(shí)時(shí)時(shí)鐘/日歷和31 字節(jié)靜態(tài)RAM ,通過(guò)簡(jiǎn)單的串行接口與單片機(jī)進(jìn)行通信實(shí)時(shí)時(shí)鐘/日歷電路,提供秒、分、時(shí)、日、日期、月、年的信息。每月的天數(shù)和閏年的天數(shù)可自動(dòng)調(diào)整時(shí)鐘操作,可通過(guò)AM/PM 指示決定采用24 或12

32、 小時(shí)格式。DS1302 與單片機(jī)之間能簡(jiǎn)單地采用同步串行的方式進(jìn)行通信,僅需用到三個(gè)口線1腳 RES 復(fù)位、2 腳I/O 數(shù)據(jù)線、3腳 SCLK串行時(shí)鐘時(shí)鐘/RAM 的讀/寫(xiě)數(shù)據(jù)。以一個(gè)字節(jié)或多達(dá)31 個(gè)字節(jié)的字符組方式通信,DS1302 工作時(shí)功耗很低,保持?jǐn)?shù)據(jù)和時(shí)鐘信息時(shí)功率也小于1mW。</p><p>  4.1.4 溫度采集模塊</p><p>  圖4.6 溫度控制部分&l

33、t;/p><p>  DS18B20將采集到的信號(hào)送入單片機(jī)P2.2,給電路提供一個(gè)溫度數(shù)據(jù)。R2為上拉電阻,為其提供能量,有必要時(shí)還可以接上外接+5V電源,有些電路僅僅靠4.7K的上拉電阻是不能提供足夠的能量的,比如采用多個(gè)DS18B20來(lái)采集溫度數(shù)據(jù)。溫度采集電路還可將DS18B20的1腳和3腳同時(shí)接地,但是這樣有可能由于電壓的不足而造成溫度讀書(shū)不準(zhǔn)確。如圖中的接法即使電源電壓只有4V電路也可以正常工作,DS18

34、B20采集的溫度數(shù)據(jù)也不會(huì)有很大的誤差,因此采用圖中的接法是最佳的選擇。</p><p>  下圖為DS18B20的引腳排列圖</p><p>  圖4.7 溫度傳感器DS18B20引腳排列圖</p><p>  每只DS18B20都可以設(shè)置成兩種供電方式,即數(shù)據(jù)總線供電方式和外部供電方式。采取數(shù)據(jù)總線供電凡是可以節(jié)省一根導(dǎo)線,但完成溫度測(cè)量的時(shí)間較長(zhǎng);采取外部供電

35、凡是則多用一根導(dǎo)線,但測(cè)量速度較快。</p><p>  DS1820 測(cè)溫范圍-55℃ ~ +125℃,以0.5℃遞增。DS18B20 通過(guò)一個(gè)單線接口發(fā)送或接收信息,因此在中央微處理器和DS18B20 之間僅需一條連接線(加上地線)。用于讀寫(xiě)和溫度轉(zhuǎn)換的電源可以從數(shù)據(jù)線本身獲得,無(wú)需外部電源。該元件的三只引腳GND、VDD、DQ,分別是,接地、電源、數(shù)據(jù)輸入/輸出腳。</p><p>

36、  DS18B20的極限使用條件:各引腳對(duì)地電壓-0.5~+7.0V;工作溫度 -55~+125℃;儲(chǔ)存溫度:-55~+125℃;焊接溫度: 260℃/10秒。在實(shí)際的操作中一定要考慮這些條件,避免由于誤操作而造成原件損壞或最終功能不能完全實(shí)現(xiàn)。</p><p>  4.1.5 顯示模塊電路</p><p>  圖4.8液晶模塊引腳圖</p><p>  上圖為液

37、晶接口電路原理圖,液晶顯示器要正常工作,則需要給液晶加上一個(gè)電源和地,12864液晶顯示器1腳和20腳接地,7—14腳為數(shù)據(jù)端,接入單片機(jī)的P0端口,4、5、6腳分別為L(zhǎng)CD驅(qū)動(dòng)電壓輸入端、信號(hào)的選擇端以及信號(hào)的使能端,分別接入單片機(jī)的15、16、14腳。在實(shí)際應(yīng)用中,很少有人直接設(shè)計(jì)LCD顯示驅(qū)動(dòng)器,LCD顯示模塊就是將,LCD顯示器、背光原、線路板以及驅(qū)動(dòng)電路等部件集為一個(gè)整體,來(lái)作為獨(dú)立部件使用,其特點(diǎn)是,功能強(qiáng)、易于控制、接口簡(jiǎn)

38、單、多用于單片機(jī)控制電路中。</p><p>  根據(jù)表4.1中12684液晶顯示器的各項(xiàng)級(jí)數(shù)指標(biāo)以及參數(shù),對(duì)在電路中對(duì)液晶進(jìn)行相應(yīng)的連接,使其通過(guò)AT89S52的控制實(shí)現(xiàn)顯示的效果。</p><p>  表4.1 12864引腳功能說(shuō)明</p><p>  12864液晶顯示器主要技術(shù)參數(shù):電源:VDD 3.3V~+5V(內(nèi)置升壓電路,無(wú)需負(fù)壓),顯示內(nèi)容 12

39、8列*64行,與MCµ接:8位或4位并行/3位串行,配置LED背光,多種軟件功能光標(biāo)顯示、畫(huà)面移位、自定義字符、睡眠模式等,邏輯工作電壓(VDD)4.5~5.5V,電源地(GND)0V,工作溫度(Ta)0~60℃(常溫)/-20~75℃(寬溫)。</p><p>  4.1.6 主控模塊</p><p>  該部分采用AT89S52來(lái)作為核心元件來(lái)控制各部分。</p>

40、;<p>  該模塊要正常工作必須先給單片機(jī)加上一個(gè)+5V的電源。還有一些基本的接線,18和19腳之間接一12MHZ的晶振和兩個(gè)30PF的電容,兩個(gè)30PF的電容的作用是為了讓12MHz的晶振更容易起振,,31腳、40腳接電源,9腳接一10K的電阻、10µF電容和一輕觸開(kāi)關(guān)(即復(fù)位電路),20腳接地,使用的同時(shí)在P0端口要接上拉電阻。以上所有的準(zhǔn)備工作都不能忽視,必須操作恰當(dāng),否則單片機(jī)不能正常工作甚至燒壞。&l

41、t;/p><p>  圖4.9 單片機(jī)小系統(tǒng)電路原理圖</p><p>  單片機(jī)復(fù)位是使CPµ合系統(tǒng)中的其它功能都處于一個(gè)確定的初始狀態(tài),并從這個(gè)初始的狀態(tài)開(kāi)始工作。單片機(jī)在剛接通電源、斷電后以及發(fā)生故障后都需要復(fù)位。復(fù)位在該電路中不僅起到了上電復(fù)位的作用,同時(shí)對(duì)系統(tǒng)的可控性有很大的作用。</p><p>  XTAL1和XTAL2分別是片內(nèi)振蕩的反相放大器

42、輸入端和輸出端,使用外部振蕩器時(shí),外部振蕩信號(hào)應(yīng)直接加到XTAL1,XTAL2則懸空,內(nèi)部方式時(shí),時(shí)鐘發(fā)生器對(duì)振蕩脈沖二分頻,當(dāng)晶振為12MHz,時(shí)鐘頻率為6MHz,晶振的頻率可以在1MHz—24MHz內(nèi)選擇。電容取30PF左右。系統(tǒng)的時(shí)鐘電路設(shè)計(jì)是采用的內(nèi)部方式,即利用芯片內(nèi)部的振蕩電路。本設(shè)計(jì)中單片機(jī)內(nèi)部有一個(gè)用于構(gòu)成振蕩器的高增益反相放大器。該放大器與作為反相放大器的片外晶振構(gòu)成一個(gè)自激振蕩器。外接晶振和C4、C5構(gòu)成并聯(lián)諧振回路

43、,接入放大器反饋回路中。該電路中對(duì)電容沒(méi)有嚴(yán)格的要求,但是該電容的大小會(huì)影響晶振頻率高低、穩(wěn)定性、起振速度和溫度穩(wěn)定性。因此電路中接12MHz的晶振,電容選取為30PF的陶瓷電容。</p><p>  圖4.10 單片機(jī)AT89S52各引腳排列圖</p><p>  AT89S52主要性能特點(diǎn):</p><p>  8031CPµ與MCS-52 兼容<

44、;/p><p> ?。?)8K字節(jié)可編程FLASH存儲(chǔ)器(壽命:1000寫(xiě)/擦循環(huán))</p><p>  (2)全靜態(tài)工作:0Hz-33KHz</p><p> ?。?)三級(jí)程序存儲(chǔ)器保密鎖定</p><p>  (4)32條可編程I/O口線</p><p> ?。?)三個(gè)16位定時(shí)器/計(jì)數(shù)器</p><

45、;p><b> ?。?)8個(gè)中斷源</b></p><p>  (7)全雙工µART串行通道</p><p> ?。?)低功耗的閑置和掉電模式</p><p>  (9)掉點(diǎn)后中斷可喚醒</p><p> ?。?0)看門(mén)狗定時(shí)器</p><p><b> ?。?1)雙數(shù)據(jù)

46、指針</b></p><p><b>  (12)掉電標(biāo)識(shí)符</b></p><p>  AT89S52各引腳功能說(shuō)明:</p><p><b>  VCC:供電電壓。</b></p><p><b>  GND:接地。 </b></p><p

47、>  P0口:P0口為一個(gè)8位漏級(jí)開(kāi)路雙向I/O口,作為輸出口,每位能驅(qū)動(dòng)8個(gè)TTL邏輯電平。當(dāng)P1口的管腳第一次寫(xiě)1時(shí),被定義為高阻輸入。P0能夠用于外部程序數(shù)據(jù)存儲(chǔ)器,它可以被定義為數(shù)據(jù)/地址的第八位。在FIASH編程時(shí),P0 口作為原碼輸入口,當(dāng)FIASH進(jìn)行校驗(yàn)時(shí),P0輸出原碼,此時(shí)P0外部必須被拉高。</p><p>  P1口:P1口是一個(gè)具有內(nèi)部上拉電阻的8位雙向I/O口,P1輸出緩沖器能驅(qū)動(dòng)

48、4個(gè)TTL邏輯電平。對(duì)P1端口寫(xiě)“1”時(shí),內(nèi)部上拉電阻把端口拉高,此時(shí)可以作為輸入口使用。作為輸入使用時(shí),被外部拉低的引腳由于內(nèi)部電阻的原因,將輸出電流(IIL)。此外,P1.0和P1.2分別作定時(shí)器/計(jì)數(shù)器2的外部計(jì)數(shù)輸入(P1.0/T2)和時(shí)器/計(jì)數(shù)器2的觸發(fā)輸入(P1.1/T2EX),具體如下表所示。</p><p>  在flash編程和校驗(yàn)時(shí),P1口接收低8位地址字節(jié)。</p><p

49、>  P2口:P2口為一個(gè)內(nèi)部上拉電阻的8位雙向I/O口,P2口緩沖器可接收,輸出4個(gè)TTL門(mén)電流,當(dāng)P2口被寫(xiě)“1”時(shí),其管腳被內(nèi)部上拉電阻拉高,且作為輸入。并因此作為輸入時(shí),P2口的管腳被外部拉低,將輸出電流。這是由于內(nèi)部上拉的緣故。P2口當(dāng)用于外部程序存儲(chǔ)器或16位地址外部數(shù)據(jù)存儲(chǔ)器進(jìn)行存取時(shí),P2口輸出地址的高八位。在給出地址“1”時(shí),它利用內(nèi)部上拉優(yōu)勢(shì),當(dāng)對(duì)外部八位地址數(shù)據(jù)存儲(chǔ)器進(jìn)行讀寫(xiě)時(shí),P2口輸出其特殊功能寄存器的內(nèi)

50、容。P2口在FLASH編程和校驗(yàn)時(shí)接收高八位地址信號(hào)和控制信號(hào)。 </p><p>  P3口:P3口是一個(gè)

51、具有內(nèi)部上拉電阻的8位雙向I/O口,P2輸出緩沖器能驅(qū)動(dòng)4個(gè)TTL 邏輯電平。對(duì)P3 端口寫(xiě)“1”時(shí),內(nèi)部上拉電阻把端口拉高,此時(shí)可以作為輸入口使用。作為輸入使用時(shí),被外部拉低的引腳由于內(nèi)部電阻的原因,將輸出電流(IIL)。P3口亦作為AT89S52特殊功能(第二功能)使用,如下表所示。</p><p>  在flash編程和校驗(yàn)時(shí),P3口也接收一些控制信號(hào)。</p><p>  RST:

52、 復(fù)位輸入。晶振工作時(shí),RST腳持續(xù)2個(gè)機(jī)器周期高電平將使單片機(jī)復(fù)位??撮T(mén)狗計(jì)時(shí)完成后,RST腳輸出96個(gè)晶振周期的高電平。特殊寄存器AµXR(地址8EH)上的DISRTO位可以使此功能無(wú)效。DISRTO默認(rèn)狀態(tài)下復(fù)位高電平有效。</p><p>  ALE/:地址鎖存控制信號(hào)(ALE)是訪問(wèn)外部程序存儲(chǔ)器時(shí),鎖存低8位地址</p><p>  XTAL1:振蕩器反相放大器和內(nèi)部

53、時(shí)鐘發(fā)生電路的輸入端。</p><p>  XTAL2:振蕩器反相放大器的輸出端。</p><p><b>  5 軟件設(shè)計(jì)</b></p><p>  5.1 總體系統(tǒng)軟件設(shè)計(jì)</p><p>  為利于該設(shè)計(jì)的智能化的實(shí)現(xiàn)和提高編程效率,采用C語(yǔ)言進(jìn)行編程。為了使編程結(jié)構(gòu)清晰,采用各個(gè)模塊單獨(dú)編程,最后實(shí)現(xiàn)各個(gè)模塊

54、的綜合連接。主程序的框架由鍵盤(pán)掃描程序構(gòu)成,各個(gè)功能模塊程序嵌入到各個(gè)按鍵的子程序中,通過(guò)對(duì)按鍵的不斷掃描來(lái)確定跳轉(zhuǎn)到哪個(gè)功能模塊。對(duì)于鍵盤(pán)模塊,采用掃描法循環(huán)掃描。對(duì)于溫度顯示則利用DS18B20的控制字要求嚴(yán)格編寫(xiě),DS1302的程序也按照芯片的規(guī)格要求編寫(xiě)。</p><p>  5.2 系統(tǒng)工作原理</p><p>  該設(shè)計(jì)由一個(gè)核心元件AT89S52控制溫度、時(shí)鐘、日期等的顯示。

55、</p><p>  本設(shè)計(jì)采用溫度讀數(shù)準(zhǔn)確的DS18B20來(lái)作為溫度采集模塊,它采集溫度的范圍寬(工作溫度: -55~+125℃),時(shí)鐘電路采用誤差小的DS1302來(lái)作為定時(shí)來(lái)源,它一周的誤差約為3秒。經(jīng)AT89S52進(jìn)行控制各個(gè)模塊,P0、P3口用來(lái)接顯示部分,通過(guò)單片機(jī)的控制使12864液晶顯示器上顯示出時(shí)間、日、溫度等,P1口用于接控制按鍵部分,該部分采用獨(dú)立輕觸式按鍵,通過(guò)控制實(shí)現(xiàn)各個(gè)功能 ,P2口接時(shí)

56、鐘芯片DS1302和溫度傳感器DS18B20作定時(shí)和溫度數(shù)據(jù)源采集。</p><p>  5.3 系統(tǒng)主程序流程圖</p><p>  數(shù)字鐘開(kāi)機(jī)后,進(jìn)入初始狀態(tài),通過(guò)調(diào)節(jié)各個(gè)開(kāi)關(guān)按鈕來(lái)修改數(shù)據(jù)。</p><p>  下圖中Y表示按下開(kāi)關(guān),N表示開(kāi)關(guān)沒(méi)有按下。</p><p>  開(kāi)機(jī)后,按下S3進(jìn)入數(shù)據(jù)調(diào)節(jié)模式,重復(fù)按S3可將預(yù)設(shè)參數(shù)進(jìn)行轉(zhuǎn)

57、換,這是顯示屏上會(huì)顯示相對(duì)應(yīng)的調(diào)節(jié)項(xiàng),這時(shí)按下開(kāi)關(guān)S2可進(jìn)行參數(shù)加設(shè)置,按下開(kāi)關(guān)S4可進(jìn)行參數(shù)減設(shè)置,當(dāng)參數(shù)設(shè)置完成后按下開(kāi)關(guān)S1,退出該模式,電路進(jìn)入正常顯示狀態(tài)。</p><p>  圖3.12 主程序流程圖</p><p><b>  6 安裝與調(diào)試</b></p><p>  6.1 元器件的檢測(cè)與安裝</p><

58、p>  包括硬件和軟件的安裝調(diào)試,從對(duì)這兩種安裝調(diào)試進(jìn)行操作后,最終實(shí)現(xiàn)電路的功能,達(dá)到本設(shè)計(jì)的要求。</p><p>  6.1.1元器件的檢測(cè)</p><p>  主要元器件的檢查如下。</p><p>  二極管:用萬(wàn)用的電阻擋測(cè)量二極管,根據(jù)二極管“正向?qū)ǎ聪蚪刂埂钡奶攸c(diǎn)測(cè)出二極管的好壞和極性。</p><p>  輕觸式開(kāi)

59、關(guān):用萬(wàn)用表電阻檔測(cè)量開(kāi)關(guān)中相隔較遠(yuǎn)的兩只引腳,按下開(kāi)關(guān)電阻小,放開(kāi)按鈕電阻無(wú)窮大。來(lái)判別其好壞。</p><p>  電阻器:用萬(wàn)表電阻檔測(cè)量電阻的實(shí)際阻值,并與標(biāo)值比較是否基本相符。</p><p>  固定電容器:用萬(wàn)用表電阻檔檢查容量有無(wú)漏電現(xiàn)象(小電容1µF),電解電容器(1µF以下)的容量均正常(用低電阻擋,依據(jù)充、放電的實(shí)際情況來(lái)進(jìn)行判別和估計(jì))。<

60、/p><p>  單片機(jī):?jiǎn)纹瑱C(jī)的好壞從表面上是檢測(cè)不出來(lái)的,只有通過(guò)將其安裝在電路中,將程序加載后,看能不能實(shí)現(xiàn)功能,依此來(lái)判斷單片機(jī)是否是好的。</p><p>  溫度傳感器和時(shí)鐘芯片的檢測(cè)也不能從直觀上鑒定,因此,它們的檢測(cè)與單片機(jī)的檢測(cè)相同。都是通過(guò)加載程序后再看是否能實(shí)現(xiàn)功能來(lái)判別其好壞。</p><p>  6.1.2元器件的安裝</p>&

61、lt;p>  由于使用的是萬(wàn)用板來(lái)制作產(chǎn)品,因此,原件的位置是很重要的,一定要將原件分布得合理,不僅要美觀,更加需要方便今后的焊接和調(diào)試等工作。因此,在安裝元器件之前需要在板子上進(jìn)行“理論”分布,即用2B鉛筆在電路板上勾畫(huà)出各原件之間的連線,將原件分布合理,使連線盡量少、美觀。同時(shí)要便于檢測(cè)。</p><p>  經(jīng)過(guò)嚴(yán)格的構(gòu)思后,將元器件安裝(焊接)在印制板上之前,要仔細(xì)檢查元器件。在檢查的同時(shí)可熟悉器件

62、的規(guī)格,型號(hào)及結(jié)構(gòu)特點(diǎn),另一方面應(yīng)確認(rèn)元器件是否完好,以避免人為故障的發(fā)生。</p><p>  6.2 系統(tǒng)硬件的安裝與調(diào)試</p><p>  由于本設(shè)計(jì)分了很多模塊,因此在將各個(gè)模塊都完成后,需要對(duì)各部分進(jìn)行相應(yīng)的連接,在安裝各模塊的同時(shí),可以更熟悉電路。在安裝好各個(gè)部分模塊后,需要再次對(duì)電路進(jìn)行檢測(cè),利用萬(wàn)用表等實(shí)驗(yàn)器材對(duì)電路的整體進(jìn)行檢測(cè)。避免由于接線錯(cuò)誤因此故障。</p&

63、gt;<p>  焊接好的電路一定要經(jīng)過(guò)嚴(yán)格的檢查,由于本設(shè)計(jì)采用的是萬(wàn)用板,因此在檢測(cè)時(shí)務(wù)必要仔細(xì)。檢查萬(wàn)用板上有無(wú)多余的錫點(diǎn)避免造成短路現(xiàn)象,各跳線有無(wú)錯(cuò)接現(xiàn)象或者接觸不良的現(xiàn)象,虛焊情況也得作相應(yīng)的檢查并作必要的處理。各元器件的引腳是否接正確,電源、地是否已接完善等。</p><p>  安裝:將各模塊的跳線接好,注意引腳。各模塊的供電端和接地端,接入單片機(jī)的引腳一定要認(rèn)清引腳好,避免接錯(cuò),造

64、成不必要的損失。</p><p>  調(diào)試:檢測(cè)引腳電壓是否正常,按鍵是否接好,電路中有無(wú)短路,虛焊。在硬件電路無(wú)誤情況下,接入電源,系統(tǒng)就可以正常工作了,打開(kāi)顯示器開(kāi)關(guān)產(chǎn)品就可以實(shí)現(xiàn)相應(yīng)功能。</p><p>  6.3 系統(tǒng)軟件的安裝與調(diào)試</p><p>  打開(kāi)Keil µvision2軟件,首先在菜單Project中選擇New Project,設(shè)

65、立文件夾,保存文件名,在彈出的對(duì)話框中選擇Atmel公司的AT89S52單片機(jī)。然后在File菜單中選擇New,在彈出的對(duì)話框中編輯所需C語(yǔ)言程序。程序初步完成后,點(diǎn)擊保存,并設(shè)置文件名為***.c。然后用鼠標(biāo)右鍵單擊Soµrce groµp 1選擇Add Files Groµp‘Soµrce groµp1’,程序中命令字符變成綠色。經(jīng)過(guò)編輯,確定程序無(wú)誤后,用鼠標(biāo)點(diǎn)擊Options

66、for Target,在Target菜單中設(shè)置晶振為12MHz,在Oµt pµt中添加Create Hex Fi選項(xiàng),輸出Hex文件。如圖5.1所示。</p><p><b>  圖5.1程序調(diào)試</b></p><p>  確認(rèn)無(wú)誤后,打開(kāi)PROTEµS仿真軟件,畫(huà)出所設(shè)計(jì)的電路圖,檢查電路,在電路無(wú)誤后導(dǎo)入Keil µvis

67、ion2軟件生成的HEX文件,點(diǎn)擊運(yùn)行,這時(shí)就可以在PROTEµS仿真軟件中進(jìn)行仿真了。在編譯調(diào)試完成后,可以通過(guò)編程器,就可以將所編譯的正確程序?qū)懭氲紸T89S52單片機(jī)中了,軟件安裝調(diào)試結(jié)束。</p><p><b>  總 結(jié)</b></p><p>  在大學(xué)的學(xué)習(xí)過(guò)程中,畢業(yè)設(shè)計(jì)是一個(gè)重要的環(huán)節(jié),是我們步入社會(huì)參與實(shí)際項(xiàng)目的一個(gè)大好機(jī)會(huì),是對(duì)我們

68、兩年多的學(xué)習(xí)的一次大檢閱。</p><p>  通過(guò)自己堅(jiān)持不懈的努力終于一步一步的看到了成果,心中升起了一面旗幟——喜悅!制作產(chǎn)品是一個(gè)很困難的過(guò)程,但是當(dāng)產(chǎn)品成功的同時(shí)我們收獲的卻遠(yuǎn)比付出的多,通過(guò)自己的研發(fā)、制作、調(diào)試等一系列工作,在讓自己的專業(yè)水平得到提升的同時(shí),更加鍛煉了我們的毅力,那是永遠(yuǎn)的財(cái)富!</p><p>  此次畢業(yè)設(shè)計(jì)是我們走向社會(huì)的一個(gè)開(kāi)端,為我們以后自主的做項(xiàng)目

69、奠定了一個(gè)良好的基礎(chǔ)。在這次的產(chǎn)品制作過(guò)程中,受益匪淺,希望這次的設(shè)計(jì)是一個(gè)很好的開(kāi)端,以后能有更多的這種機(jī)會(huì)。</p><p><b>  致 謝</b></p><p>  本設(shè)計(jì)是在導(dǎo)師xxx老師的悉心指導(dǎo)和嚴(yán)格督促下完成的,在這里對(duì)x老師表示最衷心的感謝!入學(xué)以來(lái),x老師曾作為我的專業(yè)老師給我講課,在各個(gè)方面都給了我很大的關(guān)心和幫助,他淵博的學(xué)識(shí)、嚴(yán)謹(jǐn)?shù)闹螌W(xué)

70、態(tài)度一直感染和熏陶著我們。三年來(lái),x老師一直對(duì)我們嚴(yán)格要求,為我們提供了良好的學(xué)習(xí)環(huán)境和實(shí)際動(dòng)手的機(jī)會(huì)。在論文完成之際,謹(jǐn)向陳老師表示我最真誠(chéng)的謝意!</p><p>  感謝所有的老師,沒(méi)有你們的嚴(yán)格要求和悉心指導(dǎo),就沒(méi)有如今獨(dú)立的我,在此,向你們致以最高的敬意!</p><p>  最后,我要特別感謝我朋友,這么多天來(lái),他們?cè)谝恢痹诠膭?lì)我,給了我無(wú)窮的力量,謝謝您們!</p>

71、;<p><b>  參考文獻(xiàn)</b></p><p>  [1] 于潤(rùn)偉.數(shù)字系統(tǒng)設(shè)計(jì)[M].北京:機(jī)械工業(yè)出版社,2006年.</p><p>  [2] 李雅軒.模擬電子技術(shù)[M].西安:西安電子科技大學(xué)出版社,2000年.</p><p>  [3] 蔣立平.模擬電路與數(shù)字電路.北京:北京工業(yè)出版社,2004.</p

72、><p>  [4] 葉剛.基于DS18B20溫度控制系統(tǒng)的設(shè)計(jì)[J].電子測(cè)量與儀器學(xué)報(bào),2007年.</p><p>  [5] 史俊杰.田慶安.開(kāi)關(guān)穩(wěn)壓電源原理、設(shè)計(jì)及實(shí)用電路(修訂版)[M] .西安:西安電子科技大學(xué)出版社,2005年.</p><p>  [6] 彭為. 單片機(jī)典型系統(tǒng)設(shè)計(jì)實(shí)例精選[M].北京:電子工業(yè)出版社,2006.</p>

73、<p>  [7] 張延琪.常用電子電路280例簡(jiǎn)析[M].北京:中國(guó)電力出版社,2004年.</p><p>  [8] 彭介華.電子技術(shù)課程設(shè)計(jì)指導(dǎo)[M].西安:電子工業(yè)出版社,1996年.</p><p>  [9] 余家春.protel99電路設(shè)計(jì)[M].北京:中國(guó)鐵道出版社,2003年.</p><p>  [10] 余永權(quán).ATMEL89系列單

74、片機(jī)應(yīng)用技術(shù)[M].北京:北京航空航天大學(xué)出版社,2002年.</p><p><b>  附 錄</b></p><p>  附錄1 電路原理圖</p><p><b>  附錄2 原件清單</b></p><p>  附錄3 基于AT89S52的智能數(shù)字鐘程序</p>&

75、lt;p>  #include<reg52.h></p><p>  #include<string.h></p><p>  #include<intrins.h></p><p><b>  //液晶接口</b></p><p>  #defineDat_PortP0&l

76、t;/p><p>  sbitLCD_RS=P3^5;</p><p>  sbitLCD_RW=P3^6;</p><p>  sbitLCD_EN=P3^4;</p><p><b>  //溫度接口</b></p><p>  sbitDQ=P2^2;</p>&l

77、t;p><b>  //鍵盤(pán)接口</b></p><p>  sbit KEY1 = P1^0; //左上</p><p>  sbit KEY2 = P1^1; //左下</p><p>  sbit KEY3 = P1^2; //右上</p><p>  sbit KEY4 = P1^3; //右下&l

78、t;/p><p>  sbit KEYI = P1^4;</p><p>  //定義DS1302時(shí)鐘接口</p><p>  sbit clock_clk = P2 ^ 1;</p><p>  sbit clock_dat = P2 ^ 0;</p><p>  sbit clock_Rst = P2 ^ 5;<

79、/p><p><b>  //數(shù)碼管鎖存口</b></p><p>  sbit dula=P2^6;</p><p>  sbit wela=P2^7;</p><p>  sbit JD=P0^6;</p><p>  sbit FM=P2^3;</p><p>  //定

80、義累加器A中的各位</p><p>  sbit a0 = ACC ^ 0;</p><p>  sbit a1 = ACC ^ 1;</p><p>  sbit a2 = ACC ^ 2;</p><p>  sbit a3 = ACC ^ 3;</p><p>  sbit a4 = ACC

81、^ 4;</p><p>  sbit a5 = ACC ^ 5;</p><p>  sbit a6 = ACC ^ 6;</p><p>  sbit a7 = ACC ^ 7;</p><p><b>  //定義全局變量</b></p><p>  unsigned char

82、yy,mo,dd,xq,hh,mm,ss;//定義時(shí)間映射全局變量(專用寄存器)</p><p>  bit w = 0; //調(diào)時(shí)標(biāo)志位</p><p>  static unsigned char menu = 0;//定義靜態(tài)小時(shí)更新用數(shù)據(jù)變量</p><p>  static unsigned char keys = 0;//定義靜態(tài)小時(shí)更新用數(shù)據(jù)變量<

83、;/p><p>  static unsigned char timecount = 0;//定義靜態(tài)軟件計(jì)數(shù)器變量</p><p>  void ioin() //繼電器、數(shù)碼管鎖存</p><p><b>  {</b></p><p><b>  FM=0; </b></p>

84、<p><b>  wela=1;</b></p><p><b>  P0 = 1; </b></p><p>  JD = 0; </p><p><b>  wela=0;</b></p><p><b>  dula=1;</b>

85、</p><p><b>  P0=0;</b></p><p><b>  dula=0;</b></p><p><b>  }</b></p><p><b>  //函數(shù)聲明區(qū)</b></p><p>  void Writ

86、e_Cmd(unsigned char cmd);</p><p>  void Lcd_word(unsigned char *str);</p><p>  void days (void) </p><p>  { //公歷節(jié)日數(shù)據(jù)庫(kù)</p><p>  Write_Cmd(0x80);</p><p>  

87、Lcd_word("[Dis] [Set]");</p><p>  Write_Cmd(0x98);</p><p>  if ( mo == 0x01 && dd == 0x01 ){ Lcd_word("Happy New Year!!"); }//1月</p><p>  if ( mo ==

88、 0x01 && dd == 0x28 ){ Lcd_word(" 世界麻風(fēng)日 "); }</p><p>  if ( mo == 0x02 && dd == 0x02 ){ Lcd_word(" 世界濕地日 "); }//2月</p><p>  if ( mo == 0x02 &&

89、 dd == 0x13 ){ Lcd_word(" 明天情人節(jié)了 "); }</p><p>  if ( mo == 0x02 && dd == 0x14 ){ Lcd_word(" 今天是情人節(jié) "); }</p><p>  if ( mo == 0x03 && dd == 0x01 ){ Lcd_w

90、ord(" 國(guó)際海豹日 "); }//3月</p><p>  if ( mo == 0x03 && dd == 0x03 ){ Lcd_word(" 全國(guó)愛(ài)耳日 "); }</p><p>  if ( mo == 0x03 && dd == 0x08 ){ Lcd_word("

91、 3.8婦女節(jié) "); }</p><p>  if ( mo == 0x03 && dd == 0x12 ){ Lcd_word(" 植樹(shù)節(jié) "); }</p><p>  if ( mo == 0x03 && dd == 0x14 ){ Lcd_word(" 國(guó)際警察日 &qu

92、ot;); }</p><p>  if ( mo == 0x03 && dd == 0x15 ){ Lcd_word(" 消費(fèi)者權(quán)益日 "); }</p><p>  if ( mo == 0x03 && dd == 0x17 ){ Lcd_word(" 國(guó)際航海日 "); }</p&g

93、t;<p>  if ( mo == 0x03 && dd == 0x21 ){ Lcd_word(" 世界森林日 "); }</p><p>  if ( mo == 0x03 && dd == 0x22 ){ Lcd_word(" 世界水日 "); }</p><p>  

94、if ( mo == 0x03 && dd == 0x23 ){ Lcd_word(" 世界氣象日 "); }</p><p>  if ( mo == 0x03 && dd == 0x24 ){ Lcd_word("世界防治結(jié)核病日"); }</p><p>  if ( mo == 0x04 &

95、& dd == 0x01 ){ Lcd_word("愚人節(jié) 小心上當(dāng)"); }//4</p><p>  if ( mo == 0x04 && dd == 0x07 ){ Lcd_word(" 世界衛(wèi)生日 "); }</p><p>  if ( mo == 0x04 && dd == 0x0

96、8 ){ Lcd_word(" 復(fù)活節(jié) "); }</p><p>  if ( mo == 0x04 && dd == 0x13 ){ Lcd_word(" 黑色星期五 "); }</p><p>  if ( mo == 0x05 && dd == 0x01 ){ Lcd_word(&q

97、uot; 勞動(dòng)節(jié) 放假 "); }//5</p><p>  if ( mo == 0x05 && dd == 0x04 ){ Lcd_word(" 青年節(jié) "); }</p><p>  if ( mo == 0x05 && dd == 0x08 ){ Lcd_word(" 世界紅十字

98、日 "); }</p><p>  if ( mo == 0x05 && dd == 0x12 ){ Lcd_word(" 國(guó)際護(hù)士節(jié) "); }</p><p>  if ( mo == 0x05 && dd == 0x05 ){ Lcd_word("近日注意母親節(jié) "); }<

99、;/p><p>  if ( mo == 0x05 && dd == 0x15 ){ Lcd_word(" 國(guó)際家庭日 "); }</p><p>  if ( mo == 0x05 && dd == 0x31 ){ Lcd_word(" 世界無(wú)煙日 "); }</p><p>

100、  if ( mo == 0x06 && dd == 0x01 ){ Lcd_word(" 國(guó)際兒童節(jié) "); }//6</p><p>  if ( mo == 0x06 && dd == 0x05 ){ Lcd_word(" 世界環(huán)境日 "); }</p><p>  if ( mo == 0x

101、06 && dd == 0x26 ){ Lcd_word(" 國(guó)際禁毒日 "); }</p><p>  if ( mo == 0x06 && dd == 0x06 ){ Lcd_word(" 全國(guó)愛(ài)眼日 "); }</p><p>  if ( mo == 0x06 && dd

102、 == 0x13 ){ Lcd_word("近日注意父親節(jié) "); }</p><p>  if ( mo == 0x06 && dd == 0x15 ){ Lcd_word("近日注意父親節(jié) "); }</p><p>  if ( mo == 0x07 && dd == 0x01 ){ Lcd_word(&qu

103、ot;香港回歸記念日 "); }//7</p><p>  if ( mo == 0x07 && dd == 0x07 ){ Lcd_word("抗日戰(zhàn)爭(zhēng)記念日 "); }</p><p>  if ( mo == 0x07 && dd == 0x11 ){ Lcd_word(" 世界人口日 ")

104、; }</p><p>  if ( mo == 0x08 && dd == 0x01 ){ Lcd_word(" 八一建軍節(jié) "); }//8</p><p>  if ( mo == 0x08 && dd == 0x08 ){ Lcd_word(" 中國(guó)男子節(jié) "); }</p>&l

105、t;p>  if ( mo == 0x08 && dd == 0x15 ){ Lcd_word("抗戰(zhàn)勝利記念日 "); }</p><p>  if ( mo == 0x09 && dd == 0x10 ){ Lcd_word(" 中國(guó)教師節(jié) "); }//9</p><p>  if ( mo ==

106、 0x09 && dd == 0x18 ){ Lcd_word("九·一八事變記念"); }</p><p>  if ( mo == 0x09 && dd == 0x20 ){ Lcd_word(" 國(guó)際愛(ài)牙日 "); }</p><p>  if ( mo == 0x09 && d

107、d == 0x27 ){ Lcd_word(" 世界旅游日 "); }</p><p>  if ( mo == 0x10 && dd == 0x01 ){ Lcd_word(" 中國(guó)國(guó)慶節(jié) "); }//10</p><p>  if ( mo == 0x10 && dd == 0x04 ){ Lcd

108、_word(" 世界動(dòng)物日 "); }</p><p>  if ( mo == 0x10 && dd == 0x24 ){ Lcd_word(" 聯(lián)合國(guó)日 "); }</p><p>  if ( mo == 0x10 && dd == 0x12 ){ Lcd_word("明天國(guó)際教師節(jié)

109、 "); }</p><p>  if ( mo == 0x10 && dd == 0x13 ){ Lcd_word(" 國(guó)際教師節(jié) "); }</p><p>  if ( mo == 0x11 && dd == 0x11 ){ Lcd_word(" 世界青年節(jié) "); }//11<

110、/p><p>  if ( mo == 0x11 && dd == 0x17 ){ Lcd_word(" 世界學(xué)生節(jié) "); }</p><p>  if ( mo == 0x12 && dd == 0x01 ){ Lcd_word(" 世界艾滋病日 "); }//12</p><p>

111、  if ( mo == 0x12 && dd == 0x23 ){ Lcd_word(" 明晚平安夜 "); }</p><p>  if ( mo == 0x12 && dd == 0x24 ){ Lcd_word(" 今晚平安夜 "); }</p><p>  if ( mo == 0x12 &a

112、mp;& dd == 0x25 ){ Lcd_word(" 圣誕快樂(lè) "); }</p><p>  if ( mo == 0x12 && dd == 0x31 ){ Lcd_word(" 明日新年 "); }</p><p><b>  else{ </b></p>

113、<p>  if ( hh >= 0x04 && hh < 0x06 ){ Lcd_word("★★__▲▲__凌晨"); }</p><p>  if ( hh >= 0x06 && hh < 0x08 ){ Lcd_word("☆○__▲△__早晨"); }</p><p>

114、  if ( hh >= 0x08 && hh < 0x12 ){ Lcd_word("__●__▲▲__上午"); }</p><p>  if ( hh == 0x12) { Lcd_word("____▲●▲__中午"); }</p><p>  if ( hh >= 0x13 &

115、amp;& hh < 0x18 ){ Lcd_word("__▲▲__●__下午"); }</p><p>  if ( hh >= 0x18 && hh < 0x22 ){ Lcd_word("△▲__●☆__晚上"); }</p><p>  if ( hh >= 0x22 &&

116、 hh <= 0x23 ){ Lcd_word("△▲__★☆__夜里"); }</p><p>  if ( hh >= 0x00 && hh < 0x04 ){ Lcd_word("__★▲▲★__深夜"); }</p><p><b>  }</b></p><p&g

117、t;<b>  }</b></p><p>  void Delay_ms(unsigned int a)//延時(shí)函數(shù) 1MS/次</p><p><b>  {</b></p><p>  unsigned char i;</p><p>  while( --a != 0)</p>

118、<p><b>  {</b></p><p>  for(i = 0; i < 125; i++);</p><p>  } </p><p><b>  }</b></p><p>  //12864液晶模塊驅(qū)動(dòng)</p><p>

119、  void chek_busy()</p><p><b>  {</b></p><p>  unsigned char temp; //狀態(tài)信息(判斷是否忙)</p><p>  LCD_RS=0; // RS = 0;</p><p>  LCD_RW=1; // RW = 1;</p>&

120、lt;p>  LCD_EN=1; // E = 1;</p><p><b>  do</b></p><p><b>  {</b></p><p>  temp = Dat_Port;</p><p>  Dat_Port = 0xFF;</p><p><

溫馨提示

  • 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ù)僅提供信息存儲(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)論