版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、<p><b> 摘 要</b></p><p> 設(shè)計(jì)了一款基于AT89S52的智能數(shù)字鐘,該鐘表由主控模塊、定時模塊、溫度檢測模塊和顯示模塊構(gòu)成。主控模塊由主控芯片AT89S52、晶振電路和復(fù)位電路構(gòu)成;定時模塊采用時鐘芯片DS1302實(shí)現(xiàn)精確定時;用溫度傳感器DS18B20作為溫度采集源,檢測當(dāng)前溫度;用液晶顯示器12864顯示年、月、日、時間及溫度。該鐘表具有智能顯示
2、溫度和節(jié)假日提示功能??墒謩釉O(shè)置和修改年、月、日、時、分、秒等,結(jié)構(gòu)簡單,操作方便,準(zhǔn)確度高。</p><p> 關(guān)鍵詞:單片機(jī);時鐘芯片;溫度傳感器;液晶顯示器;智能數(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 定時模塊電路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 元器件的檢測與安裝20</p><p> 6.1.1元器件的檢測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)今社會,時間和空間的不足是人類面臨的眾多問題之一。然作為新一代技術(shù)人才的我們勢必會面臨這一嚴(yán)峻的民生問題。圍繞這個
12、問題,我將我的設(shè)計(jì)定為智能數(shù)字鐘設(shè)計(jì)。鐘表作為顯示時間的工具其本身并不能給人們帶來想要抓住時間的急迫感,若是將時鐘時間顯示精確到分、秒,那么這種時間飛逝的重壓就會迫使人們?nèi)ビ行У乩盟?。?dāng)然若在鐘表中融入了其他人們?nèi)粘9ぷ鞒鲂斜仨毜墓δ?,并以智能而簡單的形式被運(yùn)用??梢源蟠鬄槲覀児?jié)省出是空間來。</p><p> 隨著我國科技的飛速發(fā)展,電子行業(yè)也在同一時間里不斷地推層出新,電子產(chǎn)品全方面的進(jìn)行了改善和提升。不
13、管是外觀,還是內(nèi)部功能都在不斷地進(jìn)行改進(jìn),提高了其性價比。這一過程都在大力的推動現(xiàn)代化的發(fā)展。而基于AT89S52的智能數(shù)字鐘體現(xiàn)了現(xiàn)代化電子產(chǎn)業(yè)的高性價比。成本低,電路簡單,功能齊全(能同時顯示溫度、時間、日期以及節(jié)假日)。對于現(xiàn)在的家庭生活中,具有了相當(dāng)普遍性和實(shí)用性,成為了人們生活的必需品。此電路采用了單片機(jī)AT89S52、溫度傳感器DS18B20、時鐘芯片DS1302、12864液晶顯示器,電路設(shè)計(jì)合理,使得電路簡單,操作方便,
14、美觀大方。</p><p> 2 選題背景及意義</p><p> 隨著社會的發(fā)展,人們對生活的要求越來越高,當(dāng)然數(shù)字鐘也就成為了其中所要求的一個部分。傳統(tǒng)的時鐘已經(jīng)不能滿足人們對它的要求,智能數(shù)字鐘在性能和式樣上都有本質(zhì)上的提高。本產(chǎn)品針對這一需求,設(shè)計(jì)了一款智能數(shù)字鐘,它由單片機(jī)控制,功能更強(qiáng)大,能更好的滿足現(xiàn)代社會需求。早期運(yùn)用的時間控制器都是用模擬電路設(shè)計(jì)制作的,準(zhǔn)確性及各方
15、面的性能都不是很理想。隨著單片機(jī)性價比的不斷提高,新的產(chǎn)品應(yīng)用越來越廣泛,取代了昔日的模擬化產(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ī)來作為核心控制器件,可以通過它的時鐘信號進(jìn)行計(jì)時實(shí)現(xiàn)計(jì)時功能,將其時間數(shù)據(jù)經(jīng)單片機(jī)輸出,利用12864液晶顯示器顯示出來。通過鍵盤
16、可以進(jìn)行顯示數(shù)據(jù)的修改。輸出顯示器可用液晶顯示級數(shù)和動態(tài)數(shù)碼顯示技術(shù)。這種具有人們所需要的智能化特性的產(chǎn)品為人們節(jié)省了大量時間和空間,擴(kuò)大了數(shù)字化的范圍,為家庭數(shù)字化奠定了基礎(chǔ)。</p><p> 3 方案論證與選擇</p><p> 3.1 方案論證 </p><p> 論證了主控制模塊、顯示模塊、控制按鍵模塊,介紹各個模塊選擇的核心部件的主要功能及特點(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ū)懞煤笤俜诺骄幊唐髦芯帉懀趴梢赃M(jìn)行硬件電路的調(diào)試,如果程序編寫出現(xiàn)了問題,電路調(diào)試就會很麻煩,而且該單片機(jī)的
18、可編存儲只有4KB,為避免存儲不足的現(xiàn)象出現(xiàn),不予采用該方案。</p><p> 方案二:采用AT89S52來實(shí)現(xiàn)該電路,AT89S52與AT89C51器件比較,該芯片內(nèi)既有Flash ROM ,又能與MCS—51系列單片機(jī)兼容,而且具備ISP在線編程技術(shù),這樣一方面能降低成本,另一方面又能簡單芯片的讀寫操作,避免芯片的損壞。而且該芯片內(nèi)存8KB能充分滿足該設(shè)計(jì)的需求。</p><p>
19、 綜上所述,采用方案二的AT89S52作為主控模塊。</p><p> 3.1.2 顯示模塊的論證與選擇</p><p> 方案一:采用LED靜態(tài)數(shù)碼管顯示,但LED顯示信息有限,且其外圍電路較為復(fù)雜,會過多的占用單片機(jī)的I/O端口,因此也不予采用該方案。</p><p> 方案二:采用點(diǎn)陣顯示,它由八行八列的發(fā)光二極管集成在一起,可用于顯示漢字、數(shù)字以及少
20、量的圖像,但是外圍電路復(fù)雜,焊接很麻煩,容易出錯,顯示圖文信息效果也不理想。因此不考慮此方案。</p><p> 方案三: 采用LCD12864液晶顯示,該顯示器顯示清晰、效果好,能顯示多樣化的信息.且能同時顯示文字和圖像。外圍電路簡單使得本設(shè)計(jì)美觀大方。因此顯示模塊采用該種方案。</p><p> 通過比較采用方案三的LCD12864作為顯示模塊。</p><p
21、> 3.1.3 控制按鍵模塊的論證與選擇</p><p> 方案一:選取陣列式按鍵,采用該方案編程比較困難,且在電路中浪費(fèi)過多的按鍵,因此排除該方案。</p><p> 方案二:采取獨(dú)立式按鍵,該方案易于控制且編程簡單,易于理解,按鍵數(shù)量也很適用,因此控制按鍵模塊采用此方案。</p><p><b> 3.2 方案選擇</b>&l
22、t;/p><p> 經(jīng)過方案論證與比較,選擇以AT89S52作為主控制芯片,采用12864液晶作為顯示器件,以自制5V直流穩(wěn)壓電源做電源模塊,獨(dú)立式按鍵作按鍵模塊,DS1302為定時來源,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> 分別對本設(shè)計(jì)中的直流穩(wěn)壓電源部分、按鍵模塊電路、定時模塊、溫度采集模塊、顯示模塊以及主控制模塊電路進(jìn)行原理介紹,以及各部分主要元器件的介紹及應(yīng)用說明。</p><p> 4.1.1 直流穩(wěn)壓電源</p><p> 圖4.1是一個+5V的直流穩(wěn)壓電源,本設(shè)計(jì)中的AT89S52
24、和12864液晶顯示器需要+5V的直流電壓,設(shè)計(jì)該穩(wěn)壓電源。該電源由濾波電路、穩(wěn)壓電路組成。見圖3-2所示。</p><p> 圖4.1 直流穩(wěn)壓電源電路圖</p><p> 電路工作原理:220V的市電,經(jīng)過變壓器變?yōu)?5V的交流電,再經(jīng)過橋式整流和濾波電容在固定式三端穩(wěn)壓器LM7805的1(Vin)腳和2(Vout)腳之間形成得到近視直流的電信號(該電壓會受到市電和負(fù)載的影響,因此
25、很不穩(wěn)定),此電壓再經(jīng)過穩(wěn)壓管7805得到一個+5V的穩(wěn)定的電壓。電路中C6和C8分別為輸入和輸出端的濾波電容,電容越大濾波效果越好,一般C6采用2200 µF,但在實(shí)際中2200 µF的電容比較難找到,因此采用了1000µF和470µF來代替,并且能滿足電路需求。C7和C9在電路中起到濾除高頻干擾的作用,C7和C9一般采用0.1µF。</p><p> 該電路
26、中JMP1處接入的是經(jīng)變壓器變壓,橋式整流后為12V的脈動直流電信號。</p><p> 下面介紹7805的部分相關(guān)參數(shù):</p><p> 圖4.2 7805實(shí)物圖</p><p> 7805為三端正穩(wěn)壓器電路,TO-220F封裝,能提供多種固定的輸出電壓,應(yīng)用范圍廣。內(nèi)含過流、過熱和過載保護(hù)電路。帶散熱片時,輸出電流可達(dá)1A。雖然是固定穩(wěn)壓電路,但可通過外
27、接元件從而可獲得不同的電壓和電流。</p><p> 使用7805需注意一下幾點(diǎn):</p><p> ?。?)輸入輸出電壓差不能太大,否則會使其轉(zhuǎn)換效率急速降低,而且容易擊穿損壞; </p><p> ?。?)輸出電流不能太大, 7805的極限值是1.5A。大電流的輸出,散熱片的尺寸要足夠大,否則會導(dǎo)致高溫保護(hù)或熱擊穿; </p><p>
28、 ?。?)輸入輸出壓差也不能太小,太小效率很差。 </p><p> 4.1.2 按鍵模塊電路</p><p> 按鍵模塊電路主要是由四個輕觸式控制按鍵組成,按鍵電路如圖 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ī)的控制,可通過不同按鍵的接通實(shí)現(xiàn)相應(yīng)的功能(參數(shù)設(shè)置、初始化等)置參數(shù)。輕觸式案件的結(jié)構(gòu)很簡單,使用時只需要接其中兩個引腳即可。</p><p> 開機(jī)后,按下開關(guān)S3和S5,電路進(jìn)入初始化狀體,初始化完成過后,按下開關(guān)S4進(jìn)入調(diào)節(jié)模式,依次按下S4設(shè)置年、月、日、星期、時、分、秒,S3遞增調(diào)節(jié),S5遞減調(diào)節(jié),按下S2退出調(diào)節(jié)模式,顯示屏上正常顯示。</p><
30、p> 4.1.3 定時模塊電路</p><p> 圖4.4 定時模塊電路原理圖</p><p> DS1302將產(chǎn)生的信號送到單片機(jī)內(nèi)P2端口,通過單片機(jī)的控制,使電路具備顯示萬年歷的功能。</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腳接串行時鐘。</p><p> DS1302內(nèi)含有一個實(shí)時時鐘/日歷和31 字節(jié)靜態(tài)RAM ,通過簡單的串行接口與單片機(jī)進(jìn)行通信實(shí)時時鐘/日歷電路,提供秒、分、時、日、日期、月、年的信息。每月的天數(shù)和閏年的天數(shù)可自動調(diào)整時鐘操作,可通過AM/PM 指示決定采用24 或12
32、 小時格式。DS1302 與單片機(jī)之間能簡單地采用同步串行的方式進(jìn)行通信,僅需用到三個口線1腳 RES 復(fù)位、2 腳I/O 數(shù)據(jù)線、3腳 SCLK串行時鐘時鐘/RAM 的讀/寫數(shù)據(jù)。以一個字節(jié)或多達(dá)31 個字節(jié)的字符組方式通信,DS1302 工作時功耗很低,保持?jǐn)?shù)據(jù)和時鐘信息時功率也小于1mW。</p><p> 4.1.4 溫度采集模塊</p><p> 圖4.6 溫度控制部分&l
33、t;/p><p> DS18B20將采集到的信號送入單片機(jī)P2.2,給電路提供一個溫度數(shù)據(jù)。R2為上拉電阻,為其提供能量,有必要時還可以接上外接+5V電源,有些電路僅僅靠4.7K的上拉電阻是不能提供足夠的能量的,比如采用多個DS18B20來采集溫度數(shù)據(jù)。溫度采集電路還可將DS18B20的1腳和3腳同時接地,但是這樣有可能由于電壓的不足而造成溫度讀書不準(zhǔn)確。如圖中的接法即使電源電壓只有4V電路也可以正常工作,DS18
34、B20采集的溫度數(shù)據(jù)也不會有很大的誤差,因此采用圖中的接法是最佳的選擇。</p><p> 下圖為DS18B20的引腳排列圖</p><p> 圖4.7 溫度傳感器DS18B20引腳排列圖</p><p> 每只DS18B20都可以設(shè)置成兩種供電方式,即數(shù)據(jù)總線供電方式和外部供電方式。采取數(shù)據(jù)總線供電凡是可以節(jié)省一根導(dǎo)線,但完成溫度測量的時間較長;采取外部供電
35、凡是則多用一根導(dǎo)線,但測量速度較快。</p><p> DS1820 測溫范圍-55℃ ~ +125℃,以0.5℃遞增。DS18B20 通過一個單線接口發(fā)送或接收信息,因此在中央微處理器和DS18B20 之間僅需一條連接線(加上地線)。用于讀寫和溫度轉(zhuǎn)換的電源可以從數(shù)據(jù)線本身獲得,無需外部電源。該元件的三只引腳GND、VDD、DQ,分別是,接地、電源、數(shù)據(jù)輸入/輸出腳。</p><p>
36、 DS18B20的極限使用條件:各引腳對地電壓-0.5~+7.0V;工作溫度 -55~+125℃;儲存溫度:-55~+125℃;焊接溫度: 260℃/10秒。在實(shí)際的操作中一定要考慮這些條件,避免由于誤操作而造成原件損壞或最終功能不能完全實(shí)現(xiàn)。</p><p> 4.1.5 顯示模塊電路</p><p> 圖4.8液晶模塊引腳圖</p><p> 上圖為液
37、晶接口電路原理圖,液晶顯示器要正常工作,則需要給液晶加上一個電源和地,12864液晶顯示器1腳和20腳接地,7—14腳為數(shù)據(jù)端,接入單片機(jī)的P0端口,4、5、6腳分別為LCD驅(qū)動電壓輸入端、信號的選擇端以及信號的使能端,分別接入單片機(jī)的15、16、14腳。在實(shí)際應(yīng)用中,很少有人直接設(shè)計(jì)LCD顯示驅(qū)動器,LCD顯示模塊就是將,LCD顯示器、背光原、線路板以及驅(qū)動電路等部件集為一個整體,來作為獨(dú)立部件使用,其特點(diǎn)是,功能強(qiáng)、易于控制、接口簡
38、單、多用于單片機(jī)控制電路中。</p><p> 根據(jù)表4.1中12684液晶顯示器的各項(xiàng)級數(shù)指標(biāo)以及參數(shù),對在電路中對液晶進(jìn)行相應(yīng)的連接,使其通過AT89S52的控制實(shí)現(xiàn)顯示的效果。</p><p> 表4.1 12864引腳功能說明</p><p> 12864液晶顯示器主要技術(shù)參數(shù):電源:VDD 3.3V~+5V(內(nèi)置升壓電路,無需負(fù)壓),顯示內(nèi)容 12
39、8列*64行,與MCµ接:8位或4位并行/3位串行,配置LED背光,多種軟件功能光標(biāo)顯示、畫面移位、自定義字符、睡眠模式等,邏輯工作電壓(VDD)4.5~5.5V,電源地(GND)0V,工作溫度(Ta)0~60℃(常溫)/-20~75℃(寬溫)。</p><p> 4.1.6 主控模塊</p><p> 該部分采用AT89S52來作為核心元件來控制各部分。</p>
40、;<p> 該模塊要正常工作必須先給單片機(jī)加上一個+5V的電源。還有一些基本的接線,18和19腳之間接一12MHZ的晶振和兩個30PF的電容,兩個30PF的電容的作用是為了讓12MHz的晶振更容易起振,,31腳、40腳接電源,9腳接一10K的電阻、10µF電容和一輕觸開關(guān)(即復(fù)位電路),20腳接地,使用的同時在P0端口要接上拉電阻。以上所有的準(zhǔn)備工作都不能忽視,必須操作恰當(dāng),否則單片機(jī)不能正常工作甚至燒壞。&l
41、t;/p><p> 圖4.9 單片機(jī)小系統(tǒng)電路原理圖</p><p> 單片機(jī)復(fù)位是使CPµ合系統(tǒng)中的其它功能都處于一個確定的初始狀態(tài),并從這個初始的狀態(tài)開始工作。單片機(jī)在剛接通電源、斷電后以及發(fā)生故障后都需要復(fù)位。復(fù)位在該電路中不僅起到了上電復(fù)位的作用,同時對系統(tǒng)的可控性有很大的作用。</p><p> XTAL1和XTAL2分別是片內(nèi)振蕩的反相放大器
42、輸入端和輸出端,使用外部振蕩器時,外部振蕩信號應(yīng)直接加到XTAL1,XTAL2則懸空,內(nèi)部方式時,時鐘發(fā)生器對振蕩脈沖二分頻,當(dāng)晶振為12MHz,時鐘頻率為6MHz,晶振的頻率可以在1MHz—24MHz內(nèi)選擇。電容取30PF左右。系統(tǒng)的時鐘電路設(shè)計(jì)是采用的內(nèi)部方式,即利用芯片內(nèi)部的振蕩電路。本設(shè)計(jì)中單片機(jī)內(nèi)部有一個用于構(gòu)成振蕩器的高增益反相放大器。該放大器與作為反相放大器的片外晶振構(gòu)成一個自激振蕩器。外接晶振和C4、C5構(gòu)成并聯(lián)諧振回路
43、,接入放大器反饋回路中。該電路中對電容沒有嚴(yán)格的要求,但是該電容的大小會影響晶振頻率高低、穩(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存儲器(壽命:1000寫/擦循環(huán))</p><p> ?。?)全靜態(tài)工作:0Hz-33KHz</p><p> ?。?)三級程序存儲器保密鎖定</p><p> ?。?)32條可編程I/O口線</p><p> (5)三個16位定時器/計(jì)數(shù)器</p><
45、;p><b> (6)8個中斷源</b></p><p> ?。?)全雙工µART串行通道</p><p> (8)低功耗的閑置和掉電模式</p><p> ?。?)掉點(diǎn)后中斷可喚醒</p><p> (10)看門狗定時器</p><p><b> ?。?1)雙數(shù)據(jù)
46、指針</b></p><p><b> ?。?2)掉電標(biāo)識符</b></p><p> AT89S52各引腳功能說明:</p><p><b> VCC:供電電壓。</b></p><p><b> GND:接地。 </b></p><p
47、> P0口:P0口為一個8位漏級開路雙向I/O口,作為輸出口,每位能驅(qū)動8個TTL邏輯電平。當(dāng)P1口的管腳第一次寫1時,被定義為高阻輸入。P0能夠用于外部程序數(shù)據(jù)存儲器,它可以被定義為數(shù)據(jù)/地址的第八位。在FIASH編程時,P0 口作為原碼輸入口,當(dāng)FIASH進(jìn)行校驗(yàn)時,P0輸出原碼,此時P0外部必須被拉高。</p><p> P1口:P1口是一個具有內(nèi)部上拉電阻的8位雙向I/O口,P1輸出緩沖器能驅(qū)動
48、4個TTL邏輯電平。對P1端口寫“1”時,內(nèi)部上拉電阻把端口拉高,此時可以作為輸入口使用。作為輸入使用時,被外部拉低的引腳由于內(nèi)部電阻的原因,將輸出電流(IIL)。此外,P1.0和P1.2分別作定時器/計(jì)數(shù)器2的外部計(jì)數(shù)輸入(P1.0/T2)和時器/計(jì)數(shù)器2的觸發(fā)輸入(P1.1/T2EX),具體如下表所示。</p><p> 在flash編程和校驗(yàn)時,P1口接收低8位地址字節(jié)。</p><p
49、> P2口:P2口為一個內(nèi)部上拉電阻的8位雙向I/O口,P2口緩沖器可接收,輸出4個TTL門電流,當(dāng)P2口被寫“1”時,其管腳被內(nèi)部上拉電阻拉高,且作為輸入。并因此作為輸入時,P2口的管腳被外部拉低,將輸出電流。這是由于內(nèi)部上拉的緣故。P2口當(dāng)用于外部程序存儲器或16位地址外部數(shù)據(jù)存儲器進(jìn)行存取時,P2口輸出地址的高八位。在給出地址“1”時,它利用內(nèi)部上拉優(yōu)勢,當(dāng)對外部八位地址數(shù)據(jù)存儲器進(jìn)行讀寫時,P2口輸出其特殊功能寄存器的內(nèi)
50、容。P2口在FLASH編程和校驗(yàn)時接收高八位地址信號和控制信號。 </p><p> P3口:P3口是一個
51、具有內(nèi)部上拉電阻的8位雙向I/O口,P2輸出緩沖器能驅(qū)動4個TTL 邏輯電平。對P3 端口寫“1”時,內(nèi)部上拉電阻把端口拉高,此時可以作為輸入口使用。作為輸入使用時,被外部拉低的引腳由于內(nèi)部電阻的原因,將輸出電流(IIL)。P3口亦作為AT89S52特殊功能(第二功能)使用,如下表所示。</p><p> 在flash編程和校驗(yàn)時,P3口也接收一些控制信號。</p><p> RST:
52、 復(fù)位輸入。晶振工作時,RST腳持續(xù)2個機(jī)器周期高電平將使單片機(jī)復(fù)位??撮T狗計(jì)時完成后,RST腳輸出96個晶振周期的高電平。特殊寄存器AµXR(地址8EH)上的DISRTO位可以使此功能無效。DISRTO默認(rèn)狀態(tài)下復(fù)位高電平有效。</p><p> ALE/:地址鎖存控制信號(ALE)是訪問外部程序存儲器時,鎖存低8位地址</p><p> XTAL1:振蕩器反相放大器和內(nèi)部
53、時鐘發(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語言進(jìn)行編程。為了使編程結(jié)構(gòu)清晰,采用各個模塊單獨(dú)編程,最后實(shí)現(xiàn)各個模塊
54、的綜合連接。主程序的框架由鍵盤掃描程序構(gòu)成,各個功能模塊程序嵌入到各個按鍵的子程序中,通過對按鍵的不斷掃描來確定跳轉(zhuǎn)到哪個功能模塊。對于鍵盤模塊,采用掃描法循環(huán)掃描。對于溫度顯示則利用DS18B20的控制字要求嚴(yán)格編寫,DS1302的程序也按照芯片的規(guī)格要求編寫。</p><p> 5.2 系統(tǒng)工作原理</p><p> 該設(shè)計(jì)由一個核心元件AT89S52控制溫度、時鐘、日期等的顯示。
55、</p><p> 本設(shè)計(jì)采用溫度讀數(shù)準(zhǔn)確的DS18B20來作為溫度采集模塊,它采集溫度的范圍寬(工作溫度: -55~+125℃),時鐘電路采用誤差小的DS1302來作為定時來源,它一周的誤差約為3秒。經(jīng)AT89S52進(jìn)行控制各個模塊,P0、P3口用來接顯示部分,通過單片機(jī)的控制使12864液晶顯示器上顯示出時間、日、溫度等,P1口用于接控制按鍵部分,該部分采用獨(dú)立輕觸式按鍵,通過控制實(shí)現(xiàn)各個功能 ,P2口接時
56、鐘芯片DS1302和溫度傳感器DS18B20作定時和溫度數(shù)據(jù)源采集。</p><p> 5.3 系統(tǒng)主程序流程圖</p><p> 數(shù)字鐘開機(jī)后,進(jìn)入初始狀態(tài),通過調(diào)節(jié)各個開關(guān)按鈕來修改數(shù)據(jù)。</p><p> 下圖中Y表示按下開關(guān),N表示開關(guān)沒有按下。</p><p> 開機(jī)后,按下S3進(jìn)入數(shù)據(jù)調(diào)節(jié)模式,重復(fù)按S3可將預(yù)設(shè)參數(shù)進(jìn)行轉(zhuǎn)
57、換,這是顯示屏上會顯示相對應(yīng)的調(diào)節(jié)項(xiàng),這時按下開關(guān)S2可進(jìn)行參數(shù)加設(shè)置,按下開關(guān)S4可進(jìn)行參數(shù)減設(shè)置,當(dāng)參數(shù)設(shè)置完成后按下開關(guān)S1,退出該模式,電路進(jìn)入正常顯示狀態(tài)。</p><p> 圖3.12 主程序流程圖</p><p><b> 6 安裝與調(diào)試</b></p><p> 6.1 元器件的檢測與安裝</p><
58、p> 包括硬件和軟件的安裝調(diào)試,從對這兩種安裝調(diào)試進(jìn)行操作后,最終實(shí)現(xiàn)電路的功能,達(dá)到本設(shè)計(jì)的要求。</p><p> 6.1.1元器件的檢測</p><p> 主要元器件的檢查如下。</p><p> 二極管:用萬用的電阻擋測量二極管,根據(jù)二極管“正向?qū)?,反向截止”的特點(diǎn)測出二極管的好壞和極性。</p><p> 輕觸式開
59、關(guān):用萬用表電阻檔測量開關(guān)中相隔較遠(yuǎn)的兩只引腳,按下開關(guān)電阻小,放開按鈕電阻無窮大。來判別其好壞。</p><p> 電阻器:用萬表電阻檔測量電阻的實(shí)際阻值,并與標(biāo)值比較是否基本相符。</p><p> 固定電容器:用萬用表電阻檔檢查容量有無漏電現(xiàn)象(小電容1µF),電解電容器(1µF以下)的容量均正常(用低電阻擋,依據(jù)充、放電的實(shí)際情況來進(jìn)行判別和估計(jì))。<
60、/p><p> 單片機(jī):單片機(jī)的好壞從表面上是檢測不出來的,只有通過將其安裝在電路中,將程序加載后,看能不能實(shí)現(xiàn)功能,依此來判斷單片機(jī)是否是好的。</p><p> 溫度傳感器和時鐘芯片的檢測也不能從直觀上鑒定,因此,它們的檢測與單片機(jī)的檢測相同。都是通過加載程序后再看是否能實(shí)現(xiàn)功能來判別其好壞。</p><p> 6.1.2元器件的安裝</p>&
61、lt;p> 由于使用的是萬用板來制作產(chǎn)品,因此,原件的位置是很重要的,一定要將原件分布得合理,不僅要美觀,更加需要方便今后的焊接和調(diào)試等工作。因此,在安裝元器件之前需要在板子上進(jìn)行“理論”分布,即用2B鉛筆在電路板上勾畫出各原件之間的連線,將原件分布合理,使連線盡量少、美觀。同時要便于檢測。</p><p> 經(jīng)過嚴(yán)格的構(gòu)思后,將元器件安裝(焊接)在印制板上之前,要仔細(xì)檢查元器件。在檢查的同時可熟悉器件
62、的規(guī)格,型號及結(jié)構(gòu)特點(diǎn),另一方面應(yīng)確認(rèn)元器件是否完好,以避免人為故障的發(fā)生。</p><p> 6.2 系統(tǒng)硬件的安裝與調(diào)試</p><p> 由于本設(shè)計(jì)分了很多模塊,因此在將各個模塊都完成后,需要對各部分進(jìn)行相應(yīng)的連接,在安裝各模塊的同時,可以更熟悉電路。在安裝好各個部分模塊后,需要再次對電路進(jìn)行檢測,利用萬用表等實(shí)驗(yàn)器材對電路的整體進(jìn)行檢測。避免由于接線錯誤因此故障。</p&
63、gt;<p> 焊接好的電路一定要經(jīng)過嚴(yán)格的檢查,由于本設(shè)計(jì)采用的是萬用板,因此在檢測時務(wù)必要仔細(xì)。檢查萬用板上有無多余的錫點(diǎn)避免造成短路現(xiàn)象,各跳線有無錯接現(xiàn)象或者接觸不良的現(xiàn)象,虛焊情況也得作相應(yīng)的檢查并作必要的處理。各元器件的引腳是否接正確,電源、地是否已接完善等。</p><p> 安裝:將各模塊的跳線接好,注意引腳。各模塊的供電端和接地端,接入單片機(jī)的引腳一定要認(rèn)清引腳好,避免接錯,造
64、成不必要的損失。</p><p> 調(diào)試:檢測引腳電壓是否正常,按鍵是否接好,電路中有無短路,虛焊。在硬件電路無誤情況下,接入電源,系統(tǒng)就可以正常工作了,打開顯示器開關(guān)產(chǎn)品就可以實(shí)現(xiàn)相應(yīng)功能。</p><p> 6.3 系統(tǒng)軟件的安裝與調(diào)試</p><p> 打開Keil µvision2軟件,首先在菜單Project中選擇New Project,設(shè)
65、立文件夾,保存文件名,在彈出的對話框中選擇Atmel公司的AT89S52單片機(jī)。然后在File菜單中選擇New,在彈出的對話框中編輯所需C語言程序。程序初步完成后,點(diǎn)擊保存,并設(shè)置文件名為***.c。然后用鼠標(biāo)右鍵單擊Soµrce groµp 1選擇Add Files Groµp‘Soµrce groµp1’,程序中命令字符變成綠色。經(jīng)過編輯,確定程序無誤后,用鼠標(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)無誤后,打開PROTEµS仿真軟件,畫出所設(shè)計(jì)的電路圖,檢查電路,在電路無誤后導(dǎo)入Keil µvis
67、ion2軟件生成的HEX文件,點(diǎn)擊運(yùn)行,這時就可以在PROTEµS仿真軟件中進(jìn)行仿真了。在編譯調(diào)試完成后,可以通過編程器,就可以將所編譯的正確程序?qū)懭氲紸T89S52單片機(jī)中了,軟件安裝調(diào)試結(jié)束。</p><p><b> 總 結(jié)</b></p><p> 在大學(xué)的學(xué)習(xí)過程中,畢業(yè)設(shè)計(jì)是一個重要的環(huán)節(jié),是我們步入社會參與實(shí)際項(xiàng)目的一個大好機(jī)會,是對我們
68、兩年多的學(xué)習(xí)的一次大檢閱。</p><p> 通過自己堅(jiān)持不懈的努力終于一步一步的看到了成果,心中升起了一面旗幟——喜悅!制作產(chǎn)品是一個很困難的過程,但是當(dāng)產(chǎn)品成功的同時我們收獲的卻遠(yuǎn)比付出的多,通過自己的研發(fā)、制作、調(diào)試等一系列工作,在讓自己的專業(yè)水平得到提升的同時,更加鍛煉了我們的毅力,那是永遠(yuǎn)的財富!</p><p> 此次畢業(yè)設(shè)計(jì)是我們走向社會的一個開端,為我們以后自主的做項(xiàng)目
69、奠定了一個良好的基礎(chǔ)。在這次的產(chǎn)品制作過程中,受益匪淺,希望這次的設(shè)計(jì)是一個很好的開端,以后能有更多的這種機(jī)會。</p><p><b> 致 謝</b></p><p> 本設(shè)計(jì)是在導(dǎo)師xxx老師的悉心指導(dǎo)和嚴(yán)格督促下完成的,在這里對x老師表示最衷心的感謝!入學(xué)以來,x老師曾作為我的專業(yè)老師給我講課,在各個方面都給了我很大的關(guān)心和幫助,他淵博的學(xué)識、嚴(yán)謹(jǐn)?shù)闹螌W(xué)
70、態(tài)度一直感染和熏陶著我們。三年來,x老師一直對我們嚴(yán)格要求,為我們提供了良好的學(xué)習(xí)環(huán)境和實(shí)際動手的機(jī)會。在論文完成之際,謹(jǐn)向陳老師表示我最真誠的謝意!</p><p> 感謝所有的老師,沒有你們的嚴(yán)格要求和悉心指導(dǎo),就沒有如今獨(dú)立的我,在此,向你們致以最高的敬意!</p><p> 最后,我要特別感謝我朋友,這么多天來,他們在一直在鼓勵我,給了我無窮的力量,謝謝您們!</p>
71、;<p><b> 參考文獻(xiàn)</b></p><p> [1] 于潤偉.數(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].電子測量與儀器學(xué)報,2007年.</p><p> [5] 史俊杰.田慶安.開關(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例簡析[M].北京:中國電力出版社,2004年.</p><p> [8] 彭介華.電子技術(shù)課程設(shè)計(jì)指導(dǎo)[M].西安:電子工業(yè)出版社,1996年.</p><p> [9] 余家春.protel99電路設(shè)計(jì)[M].北京:中國鐵道出版社,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> //鍵盤接口</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時鐘接口</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;//定義時間映射全局變量(專用寄存器)</p><p> bit w = 0; //調(diào)時標(biāo)志位</p><p> static unsigned char menu = 0;//定義靜態(tài)小時更新用數(shù)據(jù)變量</p><p> static unsigned char keys = 0;//定義靜態(tài)小時更新用數(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ù)庫</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(" 國際海豹日 "); }//3月</p><p> if ( mo == 0x03 && dd == 0x03 ){ Lcd_word(" 全國愛耳日 "); }</p><p> if ( mo == 0x03 && dd == 0x08 ){ Lcd_word("
91、 3.8婦女節(jié) "); }</p><p> if ( mo == 0x03 && dd == 0x12 ){ Lcd_word(" 植樹節(jié) "); }</p><p> if ( mo == 0x03 && dd == 0x14 ){ Lcd_word(" 國際警察日 &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(" 國際航海日 "); }</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; 勞動節(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(" 國際護(hù)士節(jié) "); }</p><p> if ( mo == 0x05 && dd == 0x05 ){ Lcd_word("近日注意母親節(jié) "); }<
99、;/p><p> if ( mo == 0x05 && dd == 0x15 ){ Lcd_word(" 國際家庭日 "); }</p><p> if ( mo == 0x05 && dd == 0x31 ){ Lcd_word(" 世界無煙日 "); }</p><p>
100、 if ( mo == 0x06 && dd == 0x01 ){ Lcd_word(" 國際兒童節(jié) "); }//6</p><p> if ( mo == 0x06 && dd == 0x05 ){ Lcd_word(" 世界環(huán)境日 "); }</p><p> if ( mo == 0x
101、06 && dd == 0x26 ){ Lcd_word(" 國際禁毒日 "); }</p><p> if ( mo == 0x06 && dd == 0x06 ){ Lcd_word(" 全國愛眼日 "); }</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)爭記念日 "); }</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(" 中國男子節(jié) "); }</p>&l
105、t;p> if ( mo == 0x08 && dd == 0x15 ){ Lcd_word("抗戰(zhàn)勝利記念日 "); }</p><p> if ( mo == 0x09 && dd == 0x10 ){ Lcd_word(" 中國教師節(jié) "); }//9</p><p> if ( mo ==
106、 0x09 && dd == 0x18 ){ Lcd_word("九·一八事變記念"); }</p><p> if ( mo == 0x09 && dd == 0x20 ){ Lcd_word(" 國際愛牙日 "); }</p><p> if ( mo == 0x09 && d
107、d == 0x27 ){ Lcd_word(" 世界旅游日 "); }</p><p> if ( mo == 0x10 && dd == 0x01 ){ Lcd_word(" 中國國慶節(jié) "); }//10</p><p> if ( mo == 0x10 && dd == 0x04 ){ Lcd
108、_word(" 世界動物日 "); }</p><p> if ( mo == 0x10 && dd == 0x24 ){ Lcd_word(" 聯(lián)合國日 "); }</p><p> if ( mo == 0x10 && dd == 0x12 ){ Lcd_word("明天國際教師節(jié)
109、 "); }</p><p> if ( mo == 0x10 && dd == 0x13 ){ Lcd_word(" 國際教師節(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(" 圣誕快樂 "); }</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ù) 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ū)動</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. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 基于at89s52的多功能數(shù)字鐘畢業(yè)論文
- 基于at89s52數(shù)字電子鐘設(shè)計(jì)畢業(yè)論文
- 基于at89s52的數(shù)字電子鐘的設(shè)計(jì)
- 基于AT89S52的數(shù)字電子鐘的設(shè)計(jì)(定稿).doc
- 基于at89s52智能風(fēng)扇設(shè)計(jì)畢業(yè)論文
- 基于AT89S52的數(shù)字電子鐘的設(shè)計(jì)(1稿).doc
- 基于at89s52單片機(jī)的數(shù)字電子鐘設(shè)計(jì)畢業(yè)論文
- 畢業(yè)設(shè)計(jì)---基于at89c52多功能數(shù)字鐘的設(shè)計(jì)與仿真
- 基于at89s52數(shù)字鬧鐘設(shè)計(jì)研究畢業(yè)論文
- 基于AT89S52的數(shù)字電子鐘的設(shè)計(jì)(2稿).doc
- 畢業(yè)論文-基于at89s52的數(shù)字電子鐘的設(shè)計(jì)【精校排版】
- 基于at89s52的數(shù)字電壓表設(shè)計(jì)畢業(yè)論文
- 基于at89s52單片機(jī)的多功能數(shù)字電子鐘設(shè)計(jì)畢業(yè)論文
- 基于at89s52的汽車智能剎車系統(tǒng)設(shè)計(jì)畢業(yè)論文
- 數(shù)字鐘畢業(yè)設(shè)計(jì)---可調(diào)數(shù)字鐘設(shè)計(jì)
- 基于at89s52智能語音溫度計(jì)設(shè)計(jì)畢業(yè)論文
- 基于at89s52的多功能設(shè)計(jì)時鐘畢業(yè)設(shè)計(jì)
- 基于at89s52的直流數(shù)字電壓表設(shè)計(jì)畢業(yè)論文
- 基于at89s52單片機(jī)的智能小車設(shè)計(jì)報告
- 單片機(jī)畢業(yè)設(shè)計(jì)外文翻譯--at89s52
評論
0/150
提交評論