數(shù)字鐘畢業(yè)論文_第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><b>  前言1</b></p><p>  第1章 方案的實(shí)現(xiàn)與設(shè)計(jì)方案2</p><p>  1.1硬件概述及設(shè)計(jì)要求2</p><p>  1.2 方案的選擇和論證2</p><p>  1.2.1

2、單片機(jī)芯片的選擇方案和論證2</p><p>  1.2.2 顯示電路的選擇方案和論證5</p><p>  1.2.3 溫度傳感器的選擇方案和論證5</p><p>  1.2.4 時(shí)鐘電路的選擇方案和論證6</p><p>  1.2.5 復(fù)位電路的選擇方案和論證6</p><p>  1.2.6 按鍵電

3、路的選擇方案和論證7</p><p>  1.3 多功能時(shí)間顯示控制裝置設(shè)計(jì)最終方案決定7</p><p>  第2章 多功能時(shí)間顯示控制裝置的硬件系統(tǒng)設(shè)計(jì)8</p><p>  2.1 多功能時(shí)間顯示控制裝置的主機(jī)電路設(shè)計(jì)8</p><p>  2.1.1 系統(tǒng)控制芯片CPU(AT89C52 )8</p><p

4、>  2.1.2 系統(tǒng)時(shí)鐘電路設(shè)計(jì)10</p><p>  2.1.3 溫度采集模塊設(shè)計(jì)13</p><p>  2.1.4顯示電路設(shè)計(jì)13</p><p>  2.1.5 復(fù)位電路設(shè)計(jì)14</p><p>  2.2 電源設(shè)計(jì)15</p><p>  2.3 按鍵控制模塊設(shè)計(jì)15</p>

5、<p>  第3章 多功能時(shí)間顯示控制裝置的程序設(shè)計(jì)16</p><p>  3.1 主控模塊設(shè)計(jì)16</p><p>  3.2 基本顯示模塊設(shè)計(jì)16</p><p>  3.3 時(shí)間設(shè)定模塊設(shè)計(jì)17</p><p>  第4章 系統(tǒng)的調(diào)試及結(jié)果18</p><p>  4.1 測(cè)試儀器18

6、</p><p>  4.2 軟件調(diào)試18</p><p>  4.3 硬件調(diào)試19</p><p>  4.4 調(diào)試結(jié)果19</p><p><b>  第5章 結(jié)論20</b></p><p><b>  參考文獻(xiàn)21</b></p><p&

7、gt;<b>  致謝22</b></p><p>  附錄1:系統(tǒng)設(shè)計(jì)原理圖23</p><p>  附錄2:完整的C語(yǔ)言源程序清單24</p><p><b>  前言</b></p><p>  多功能時(shí)間顯示控制裝置已成為人們?nèi)粘I钪斜夭豢缮俚谋匦杵?,廣泛應(yīng)用于個(gè)人家庭以及車站,碼頭

8、,劇場(chǎng),辦公室等公共場(chǎng)所,給人們的生活,學(xué)習(xí),工作,娛樂(lè)帶來(lái)極大的方便。由于數(shù)字集成電路技術(shù)的發(fā)展和采用了先進(jìn)的石英技術(shù),使多功能時(shí)間顯示控制裝置具有走時(shí)準(zhǔn)確,性能穩(wěn)定,攜帶方便等優(yōu)點(diǎn),它還用于計(jì)時(shí),自動(dòng)報(bào)時(shí)及自動(dòng)控制等各個(gè)領(lǐng)域。</p><p>  近年來(lái)隨著計(jì)算機(jī)在社會(huì)和生活領(lǐng)域中的應(yīng)用范圍越來(lái)越廣泛,大規(guī)模集成電路的迅速發(fā)展,單片機(jī)的應(yīng)用正在不斷深入。由于它具有功能強(qiáng),體積小,地功耗,價(jià)格便宜,工作可靠等特

9、點(diǎn),因此特別適用于與控制有關(guān)的系統(tǒng),越來(lái)越廣泛地應(yīng)用于智能化儀表,數(shù)據(jù)采集等各個(gè)領(lǐng)域,其中,單片機(jī)往往作為核心部件來(lái)使用。</p><p>  美國(guó)DALLAS公司推出的具有涓細(xì)電流充電能的低功耗實(shí)時(shí)時(shí)鐘電路DS1302[1)2]。它可以對(duì)年,月,日,星期,時(shí),分,秒進(jìn)行計(jì)時(shí),而且DS1302的使用壽命長(zhǎng),誤差小。對(duì)于多功能時(shí)間顯示控制裝置采用直觀的數(shù)字顯示,可以同時(shí)顯示年,月,日,周日,時(shí),分,秒和溫度等信息。

10、該電路采用AT89C52單片機(jī)作為核心,功耗小,能在3V的低壓工作,電壓可選用3-5V電壓供電。</p><p>  鐘表的數(shù)字化給人們生產(chǎn)生活帶來(lái)了極大的方便,而且大大地?cái)U(kuò)展了鐘表原先的報(bào)時(shí)功能。諸如定時(shí)自動(dòng)報(bào)警、按時(shí)自動(dòng)打鈴、時(shí)間程序自動(dòng)控制、定時(shí)廣播、自動(dòng)起閉路燈、定時(shí)開(kāi)關(guān)烘箱、通斷動(dòng)力設(shè)備、甚至各種定時(shí)電氣的自動(dòng)啟用等,所有這些,都是以鐘表數(shù)字化為基礎(chǔ)的。因此,研究多功能時(shí)間顯示控制裝置及擴(kuò)大其應(yīng)用,有著

11、非常現(xiàn)實(shí)的意義。</p><p>  綜上所述,此功能時(shí)間顯示控制裝置具有讀取方便,顯示直觀,功能多樣,電路簡(jiǎn)潔,成本低廉等諸多優(yōu)點(diǎn),符合電子儀器儀表的發(fā)展趨勢(shì),具有廣闊的市場(chǎng)前景。 </p><p>  第1章 方案的實(shí)現(xiàn)與設(shè)計(jì)方案</p><p>  1.1硬件概述及設(shè)計(jì)要求</p><p>  本電路是由AT89C52單片機(jī)為控制核心,

12、具有在線編程功能,低功耗,能在3V超低壓工作;時(shí)鐘電路有DS1302提供,它是一種高性能,低功耗,帶RAM的實(shí)時(shí)時(shí)鐘電路,它可以對(duì)年,月,日,星期,時(shí),分,秒進(jìn)行計(jì)時(shí),工作電壓為2.5V-5.5V。采用三線接口與CPU進(jìn)行同步通信,并可采用突發(fā)方式一次傳送多個(gè)字節(jié)的時(shí)鐘信號(hào)或RAM數(shù)據(jù)。DS1302內(nèi)部有一個(gè)31*8的用于臨時(shí)性存放數(shù)據(jù)的RAM寄存器,可產(chǎn)生年,月,日,周日,時(shí),分,秒,具有使用壽命長(zhǎng),精度高和低功耗等特點(diǎn),同時(shí)具有掉電

13、自動(dòng)保存功能;溫度的采集由DS18B20構(gòu)成;顯示部分由LCD液晶顯示屏顯示。圖1-1為多功能時(shí)間顯示控制裝置的系統(tǒng)原理框圖。</p><p>  圖1-1 系統(tǒng)原理框圖</p><p>  設(shè)計(jì)要求:具有年,月,日,星期,時(shí),分,秒等功能;具有溫度計(jì)功能;具備年,月,日,星期,時(shí),分,秒控制校準(zhǔn)功能。</p><p>  1.2 方案的選擇和論證</p>

14、;<p>  1.2.1 單片機(jī)芯片的選擇方案和論證</p><p>  單片機(jī)微型計(jì)算機(jī)是微型計(jì)算機(jī)的一個(gè)重要分支,也是頗具生命力的機(jī)種。單片機(jī)微型計(jì)算機(jī)簡(jiǎn)稱單片機(jī),特別適應(yīng)于控制領(lǐng)域,故又稱為微控制器。通常,單片機(jī)是利用半導(dǎo)體集成技術(shù)將中央處理單元CPU和一定容量的數(shù)據(jù)存儲(chǔ)器RAM,程序存儲(chǔ)器ROM,定時(shí)/計(jì)數(shù)器T/C,并行輸入輸出接口I/O和串行通信接口等多個(gè)功能部件集成在一塊芯片上。<

15、/p><p>  由于MCS-51[3]系列單片機(jī)具有體積小,功能全,價(jià)廉,面向控制,應(yīng)用軟件豐富,技術(shù)在不斷更新,開(kāi)發(fā)應(yīng)用方便等優(yōu)點(diǎn),可以適應(yīng)各個(gè)應(yīng)用領(lǐng)域的不同需要,因而具有極強(qiáng)的競(jìng)爭(zhēng)力和生命力,應(yīng)用前景廣闊。MCS-51系列單片機(jī)無(wú)論在片內(nèi)RAM,ROM容量,種類和數(shù)量還是在系列擴(kuò)展功能,指令系統(tǒng)功能等方面都有很大增強(qiáng)。單片機(jī)經(jīng)過(guò)1,2,3代的發(fā)展,正朝著多功能,高性能,低電壓,低功耗,低價(jià)格,大存儲(chǔ)量,強(qiáng)I/O

16、功能及較好的結(jié)構(gòu)兼容性方向發(fā)展。其發(fā)展趨勢(shì)不外乎一下幾個(gè)方面:</p><p><b>  1.多功能</b></p><p>  單片機(jī)中盡可能地把所需要的存儲(chǔ)器和I/O口都集成災(zāi)一塊芯片上,使得單片機(jī)可以實(shí)現(xiàn)更多的功能,比如A/D,PWM,PCA(可編程計(jì)數(shù)器陣列),WDT(監(jiān)視定時(shí)器—看家狗),高速I/O口及計(jì)數(shù)器的捕獲/比較邏輯等。有的單片機(jī)針對(duì)某一應(yīng)用領(lǐng)域,

17、集成了相關(guān)的控制設(shè)備,以減少應(yīng)用系統(tǒng)的芯片數(shù)量。</p><p><b>  2.高效率和高性能</b></p><p>  為了提高執(zhí)行速度和執(zhí)行效率,單片機(jī)開(kāi)始使用RISC,流水線和DSP的設(shè)計(jì)技術(shù),使單片機(jī)的性能有了明顯的提高,表現(xiàn)為:?jiǎn)纹瑱C(jī)的時(shí)鐘頻率得到提高;同樣頻率的單片機(jī)運(yùn)行效率也有了很大的提高;由于集成度的提高,單片機(jī)的尋址能力,片內(nèi)ROM(FLASH)

18、和RAM的容量都突破了以往的數(shù)量和限制。由于系統(tǒng)資源和系統(tǒng)復(fù)雜程度的增加,開(kāi)始使用高級(jí)語(yǔ)言(如C語(yǔ)言)來(lái)開(kāi)發(fā)單片機(jī)的程序。使用高級(jí)語(yǔ)言可以降低開(kāi)發(fā)難度,縮短開(kāi)發(fā)周期,增強(qiáng)軟件的可讀性和可移植性,便于改進(jìn)和擴(kuò)充功能。</p><p><b>  3.低電壓和低功效</b></p><p>  單片機(jī)的嵌入式應(yīng)用決定了低電壓和低功效的特征十分重要。由于CMOS等工藝的大量

19、采用,很多單片機(jī)可以在更低的電壓下工作(1.2V或0.9V),功耗已經(jīng)降低到uA級(jí)。這些特性使得單片機(jī)系統(tǒng)可以再更小的電源的支持下工作更長(zhǎng)的時(shí)間。</p><p><b>  4.低價(jià)格</b></p><p>  單片機(jī)應(yīng)用面廣,使用數(shù)量大,帶來(lái)的直接好處就是成本的降低。目前,世界各大公司為了提高競(jìng)爭(zhēng)力,在提高單片機(jī)性能的同時(shí),十分注意降低產(chǎn)品的價(jià)格。</p&

20、gt;<p>  下面大致介紹一下單片機(jī)的主要應(yīng)用領(lǐng)域和特點(diǎn):</p><p><b>  1.家用電器領(lǐng)域</b></p><p>  用單片機(jī)控制系統(tǒng)取代傳統(tǒng)的模擬和數(shù)字控制電路,使家用電器(如洗衣機(jī),空調(diào),冰箱,微波爐,電視機(jī)等)功能更完善,更加智能化和易于使用。</p><p><b>  2.辦公自動(dòng)化領(lǐng)域&l

21、t;/b></p><p>  單片機(jī)作為嵌入式系統(tǒng)廣泛應(yīng)用于現(xiàn)代辦公設(shè)備,如計(jì)算機(jī)的鍵盤,磁盤驅(qū)動(dòng),打印機(jī),復(fù)印機(jī),電話機(jī)和傳真機(jī)等。</p><p><b>  3.商業(yè)應(yīng)用領(lǐng)域</b></p><p>  商業(yè)應(yīng)用系統(tǒng)部分與家用和辦公應(yīng)用系統(tǒng)相似,但更加注重設(shè)備的穩(wěn)定性、可靠性和安全性。商用系統(tǒng)中廣泛使用的電子計(jì)量?jī)x器、收款機(jī)、條形

22、碼閱讀器、安全監(jiān)測(cè)系統(tǒng)、空氣調(diào)節(jié)系統(tǒng)和冷凍保鮮系統(tǒng)等,都采用了單片機(jī)構(gòu)成的專用系統(tǒng)。與通用計(jì)算機(jī)相比,這些系統(tǒng)由于比較封閉,可以更有效地防止病毒和電磁干擾等,可靠性更高。</p><p>  4.智能儀表與集成智能傳感器</p><p>  目前在各種電氣測(cè)量?jī)x表中普遍采用了單片機(jī)應(yīng)用系統(tǒng)來(lái)代替?zhèn)鹘y(tǒng)的測(cè)量系統(tǒng),使得測(cè)量系統(tǒng)具有存儲(chǔ)、數(shù)據(jù)處理、查詢及聯(lián)網(wǎng)等智能功能。將單片機(jī)和傳感器相結(jié)合,可

23、以構(gòu)成新一代的智能傳感器。它將傳感器變換后的物理量作進(jìn)一步的變化和處理,使其成為數(shù)字信號(hào),可以遠(yuǎn)距離傳輸并與計(jì)算機(jī)接口。</p><p>  5.現(xiàn)代交通與航空航天領(lǐng)域</p><p>  通常應(yīng)用于電子綜合顯示系統(tǒng)、動(dòng)力監(jiān)控系統(tǒng)、自動(dòng)駕駛系統(tǒng)、通信系統(tǒng)以及運(yùn)行監(jiān)視系統(tǒng)等。這些領(lǐng)域?qū)w積、功耗、穩(wěn)定性和實(shí)時(shí)性的要求往往比商用系統(tǒng)還要高,因此采用單片機(jī)系統(tǒng)更加重要。 </p>

24、<p><b>  方案一:</b></p><p>  采用89C51芯片作為硬件核心,采用Flash ROM,片內(nèi)具有128B RAM存儲(chǔ)空間和4KB ROM存儲(chǔ)空間,能在3V的超低壓工作,而且與MCS-51系列單片機(jī)完全兼容,但是運(yùn)用于電路設(shè)計(jì)中時(shí)由于不具備ISP在線編程技術(shù),當(dāng)在對(duì)電路進(jìn)行調(diào)試時(shí),由于程序的錯(cuò)誤修改或?qū)Τ绦虻男略龉δ苄枰獰氤绦驎r(shí),對(duì)芯片的多次拔插會(huì)對(duì)芯片造

25、成一定的損壞。</p><p><b>  方案二:</b></p><p>  采用AT89C52芯片作為硬件核心,采用Flash ROM,能以3V的超低壓工作;同時(shí)比89C51具有更多的存儲(chǔ)空間,AT89C52芯片內(nèi)部存儲(chǔ)器為8KB ROM存儲(chǔ)空間,同樣具有89C51的功能,且具有在線編程可擦除技術(shù)。當(dāng)在對(duì)電路進(jìn)行調(diào)試時(shí),由于程序的錯(cuò)誤修改或?qū)Τ绦虻男略龉δ苄枰獰?/p>

26、入程序時(shí),不需要對(duì)芯片多次拔插,所以不會(huì)對(duì)芯片造成損壞。</p><p>  1.2.2 顯示電路的選擇方案和論證</p><p><b>  方案一:</b></p><p>  采用的的方式用LED數(shù)碼管顯示測(cè)試結(jié)果。LED顯示時(shí)用發(fā)光二極管顯示字段的顯示器件,它由8個(gè)發(fā)光二極管構(gòu)成,通過(guò)不同的組合可以用來(lái)顯示0-9,A-F及小數(shù)點(diǎn)。<

27、;/p><p>  LED數(shù)碼管有靜態(tài)掃描和動(dòng)態(tài)掃描兩種驅(qū)動(dòng)方式,靜態(tài)驅(qū)動(dòng)的工作原理是每一個(gè)LED顯示器用一個(gè)I/O端口驅(qū)動(dòng),或者使用如BCD碼二-十進(jìn)制譯碼器進(jìn)行驅(qū)動(dòng)。靜態(tài)驅(qū)動(dòng)的優(yōu)點(diǎn)是編程簡(jiǎn)單,顯示亮度高,缺點(diǎn)是耗電大,占用I/O端口也多,實(shí)際應(yīng)用時(shí)增加了硬件的復(fù)雜性,顯示位數(shù)多時(shí)很少采用。動(dòng)態(tài)驅(qū)動(dòng)與單片機(jī)連接時(shí),雖然占用的單片機(jī)口線少,但是連接需要花費(fèi)一點(diǎn)時(shí)間,所以也不用此種作為顯示。</p>&l

28、t;p><b>  方案二:</b></p><p>  采用點(diǎn)陣式數(shù)碼管[4]顯示,點(diǎn)陣式數(shù)碼管是由八行八列的發(fā)光二極管組成,對(duì)于顯示文字比較適合,如采用在顯示數(shù)字顯得太浪費(fèi),且價(jià)格也相對(duì)較高,所以也不用此種顯示方法。</p><p><b>  方案三:</b></p><p>  采用LCD液晶顯示屏,液晶顯示

29、屏的顯示功能強(qiáng)大,可顯示大量文字,圖形,顯示多樣,清晰可見(jiàn),省了很多麻煩,所以在此設(shè)計(jì)中采用LCD1602液晶顯示屏。LCD1602為工業(yè)字符型液晶,顯示容量很大,為16×2即32個(gè)字符;LCD1602芯片的工作電壓為4.5-5.5V,芯片工作電流在5V工作電壓的情況下芯片工作電流為2mA,模塊的最佳工作電壓為5V,顯示字符的尺寸為2.95×4.35(W×H)mm。此次設(shè)計(jì)采用此種顯示方式。</p&g

30、t;<p>  1.2.3 溫度傳感器的選擇方案和論證</p><p><b>  方案一:</b></p><p>  使用熱敏電阻作為傳感器,用熱敏電阻與一個(gè)相應(yīng)阻值電阻相串聯(lián)分壓,利用熱敏電阻阻值隨溫度變化而變化的特性,采集這兩個(gè)電阻變化的分壓值,并進(jìn)行A/D轉(zhuǎn)換。此設(shè)計(jì)方案需用A/D轉(zhuǎn)換電路,增加硬件成本而且熱敏電阻的感溫特性曲線并不是嚴(yán)格線性的

31、,會(huì)產(chǎn)生較大的測(cè)量誤差。</p><p><b>  方案二:</b></p><p>  采用數(shù)字式溫度傳感器DS18B20[5)6],如圖1-2所示。此類傳感器為數(shù)字式傳感器而且僅需要一條數(shù)據(jù)線進(jìn)行數(shù)據(jù)傳輸,易于與單片機(jī)連接,可以去除A/D模塊,降低硬件成本,簡(jiǎn)化系統(tǒng)電路。另外,數(shù)字式溫度傳感器還是具有測(cè)量精度高,測(cè)量范圍廣等優(yōu)點(diǎn)。</p><

32、p>  圖1-2 DS18B20溫度采集芯片</p><p>  1.2.4 時(shí)鐘電路的選擇方案和論證</p><p><b>  方案一:</b></p><p>  直接采用單片機(jī)定時(shí)器提供秒信號(hào),使用程序?qū)崿F(xiàn)年,月,日,星期,時(shí),分,秒計(jì)數(shù)。采用此種方案雖然減少芯片的使用,節(jié)約成本。但是,實(shí)現(xiàn)的時(shí)間誤差較大,而且調(diào)節(jié)時(shí)不容易實(shí)現(xiàn)時(shí)間

33、的準(zhǔn)確調(diào)節(jié)。所以不采用此方案。</p><p><b>  方案二:</b></p><p>  采用DS1302時(shí)鐘芯片實(shí)現(xiàn)時(shí)鐘[8],DS1302芯片是一種高性能的時(shí)鐘芯片,可自動(dòng)對(duì)秒,分,時(shí),日,周,月,年以及閏年補(bǔ)償?shù)哪赀M(jìn)行計(jì)數(shù),而且精度高,位的RAM作為數(shù)據(jù)暫存區(qū),工作電壓2.5V-5.5V范圍內(nèi),2.5V時(shí)耗電小于300nA。故采用此種時(shí)鐘方式。</

34、p><p>  1.2.5 復(fù)位電路的選擇方案和論證</p><p>  AT89C52的復(fù)位方式可以是上電復(fù)位如圖1-3(a)所示,也可以是手動(dòng)復(fù)位如圖1-3(a)所示。此外,RESET/V還是一復(fù)用腳,V掉電期間,此腳可接上備用電源,以保證單片機(jī)內(nèi)部RAM的數(shù)據(jù)不丟失。</p><p><b>  (b)</b></p><

35、p><b>  圖1-3 復(fù)位電路</b></p><p><b>  方案一:</b></p><p>  上電復(fù)位:上電自動(dòng)復(fù)位電路是一種簡(jiǎn)單的復(fù)位電路,只要在RST復(fù)位引腳接一個(gè)電容到VCC,接一個(gè)電阻到地就可以了。上電復(fù)位是指在給系統(tǒng)上電時(shí),復(fù)位電路通過(guò)電容加到RST復(fù)位引腳一個(gè)短暫的高電平信號(hào),這個(gè)復(fù)位信號(hào)隨著VCC對(duì)電容的充電過(guò)

36、程而回落,所以RST引腳復(fù)位的高電平維持時(shí)間取決于電容的充電時(shí)間。為了保證系統(tǒng)安全可靠的復(fù)位,RST引腳的高電平信號(hào)必須維持足夠長(zhǎng)的時(shí)間。上電自動(dòng)復(fù)位是通過(guò)外部復(fù)位電路的電容充電來(lái)實(shí)現(xiàn)的。只要VCC的上升時(shí)間不超過(guò)1ms,就可以實(shí)現(xiàn)自動(dòng)上電復(fù)位。</p><p><b>  方案二:</b></p><p>  手動(dòng)復(fù)位即開(kāi)關(guān)復(fù)位,只要按下開(kāi)關(guān)按鈕,倒相器即輸出高電平

37、,復(fù)位有效。手動(dòng)復(fù)位方式快捷,方便,所以此次設(shè)計(jì)采用手動(dòng)復(fù)位方式。</p><p>  1.2.6 按鍵電路的選擇方案和論證</p><p>  鍵盤是人與單片機(jī)打交道的主要設(shè)備,按鍵的讀取容易引起誤動(dòng)作。可采用軟件去抖動(dòng)的方法處理[9]。軟件的觸點(diǎn)在閉合和斷開(kāi)的時(shí)候會(huì)產(chǎn)生抖動(dòng),這時(shí)觸點(diǎn)的邏輯電平是不穩(wěn)定的,如果不采取妥善處理的話,將引起按鍵命令錯(cuò)誤或重復(fù)執(zhí)行,在這里采用軟件延時(shí)的方法來(lái)避

38、開(kāi)抖動(dòng)。</p><p><b>  方案一:</b></p><p>  采用獨(dú)立式鍵盤,獨(dú)立式鍵盤是直接用I/O口線構(gòu)成的單元按鍵開(kāi)關(guān)電路,其特點(diǎn)是每個(gè)按鍵獨(dú)立占用一根I/O口線,每個(gè)按鍵的工作不會(huì)影響其他I/O口線的狀態(tài)。但是當(dāng)所需按鍵數(shù)量多時(shí),會(huì)占用過(guò)多的I/O口。</p><p><b>  方案二:</b>&l

39、t;/p><p>  采用矩陣鍵盤,因?yàn)閱纹瑱C(jī)的I/O口有限,顯然,在按鍵數(shù)量過(guò)多時(shí),矩陣鍵盤較之獨(dú)立式按鍵鍵盤要節(jié)省很多I/O口線,但必須將行線,列線信號(hào)配合起來(lái)做適當(dāng)處理,才能確定閉合鍵的位置。</p><p>  基于以上分析,此次設(shè)計(jì)采用方案一獨(dú)立式按鍵,因?yàn)楸敬卧O(shè)計(jì)中僅使用到4個(gè)按鍵。</p><p>  1.3 多功能時(shí)間顯示控制裝置設(shè)計(jì)最終方案決定<

40、/p><p>  綜上各方案所述,對(duì)此次畢業(yè)設(shè)計(jì)的方案選定,采用AT89C52作為主控制系統(tǒng),DS1302提供時(shí)鐘,數(shù)字式溫度傳感器DS18B20,LCD液晶顯示屏作為顯示模塊。</p><p>  第2章 多功能時(shí)間顯示控制裝置的硬件系統(tǒng)設(shè)計(jì)</p><p>  2.1 多功能時(shí)間顯示控制裝置的主機(jī)電路設(shè)計(jì)</p><p>  多功能時(shí)間顯示控

41、制裝置最終確定方案的組成框圖如圖2-1所示。</p><p>  圖2-1 最終方案系統(tǒng)框圖</p><p>  2.1.1 系統(tǒng)控制芯片CPU(AT89C52 )</p><p>  AT89C52[10]單片機(jī)為40引腳雙列直插芯片共有4個(gè)8位的I/O口(P0,P1,P2,P3),每一條I/O線都能獨(dú)立地作輸入和輸出。</p><p> 

42、 單片機(jī)的最小系統(tǒng)如下圖2-2所示,18引腳和19引腳接時(shí)鐘電路,XTAL1接外部晶振和微調(diào)電容的一端,在片內(nèi)它是振蕩器倒相放大器的輸入,XTAL2接外部晶振和微調(diào)電容的另一端,在片內(nèi)它是振蕩器倒相放大器的輸出。第9引腳為復(fù)位輸入端,接上電容,電阻及開(kāi)關(guān)后夠上電復(fù)位電路,20引腳為接地端,40引腳為電源端。</p><p>  AT89C52單片機(jī)內(nèi)部結(jié)構(gòu):</p><p>  AT89C

43、52單片機(jī)包含中央處理器,存儲(chǔ)器(RAM,ROM/EPROM),I/O,中斷系統(tǒng)等幾大單元及數(shù)據(jù)總線,地址總線和控制總線三大總線,下面加以說(shuō)明:</p><p>  中央處理器:CPU是整個(gè)單片機(jī)的核心部件,是8位數(shù)據(jù)寬度的處理器,能同時(shí)處理8位二進(jìn)制數(shù)據(jù)或代碼。CPU負(fù)責(zé)控制,指揮和調(diào)度整個(gè)單元系統(tǒng)協(xié)調(diào)的功作,完成運(yùn)算和控制輸入輸出等操作。</p><p>  存儲(chǔ)器:AT89C52內(nèi)部

44、有128個(gè)8位用戶數(shù)據(jù)存儲(chǔ)單元和128個(gè)專用寄存器單元,它們是統(tǒng)一編址的。專用寄存器只能用于存放控制指令數(shù)據(jù),用戶只能訪問(wèn),而不能用于存放用戶數(shù)據(jù)。所以,用戶能使用的RAM只有128個(gè),可存放讀寫的數(shù)據(jù),運(yùn)算的中間結(jié)果或者用戶定義的字形表。AT89C52共有4096個(gè)8位掩膜ROM,用于存放用戶程序,原始數(shù)據(jù)或表格。</p><p>  定時(shí)/計(jì)數(shù)器:AT89C52有兩個(gè)16位的可編程定時(shí)/計(jì)數(shù)器,以實(shí)現(xiàn)定時(shí)或計(jì)

45、數(shù)產(chǎn)生中斷用于控制程序轉(zhuǎn)向。</p><p>  圖2-2 主控制系統(tǒng)AT89C52引腳圖</p><p>  并行輸入輸出(I/O)口:AT89C52共有4組8位I/O(P0,P1,P2和P3),用于對(duì)外部數(shù)據(jù)的傳輸。</p><p>  1.P0端口[P0.0-P0.7] P0是一個(gè)8位漏極開(kāi)路型雙向I/O端口,端口置1(對(duì)端口寫1)時(shí)作高阻抗輸入端。作為輸出口

46、時(shí)能驅(qū)動(dòng)8個(gè)TTL。對(duì)內(nèi)部Flash程序存儲(chǔ)器編程時(shí),接收指令字節(jié);校驗(yàn)程序時(shí)輸出指令字節(jié),要求外接上拉電阻。在訪問(wèn)外部程序和外部數(shù)據(jù)存儲(chǔ)器時(shí),P0口是分時(shí)轉(zhuǎn)換的地址(低8位)/數(shù)據(jù)總線,訪問(wèn)期間內(nèi)部的上拉電阻起作用。</p><p>  2.P1端口[P1.0-P1.7] P1是一個(gè)帶有內(nèi)部上拉電阻的8位雙向I/0端口。輸出時(shí)可驅(qū)動(dòng)4個(gè)TTL。端口置1時(shí),內(nèi)部上拉電阻將端口拉到高電平,作輸入用。對(duì)內(nèi)部Flash

47、程序存儲(chǔ)器編程時(shí),接收低8位地址信息。</p><p>  3.P2端口[P2.0-P2.7] P2是一個(gè)帶有內(nèi)部上拉電阻的8位雙向I/0端口。輸出時(shí)可驅(qū)動(dòng)4個(gè)TTL。端口置1時(shí),內(nèi)部上拉電阻將端口拉到高電平,作輸入用。對(duì)內(nèi)部Flash程序存儲(chǔ)器編程時(shí),接收高8位地址和控制信息。在訪問(wèn)外部程序和16位外部數(shù)據(jù)存儲(chǔ)器時(shí),P2口送出高8位地址。而在訪問(wèn)8位地址的外部數(shù)據(jù)存儲(chǔ)器時(shí)其引腳上的內(nèi)容在此期間不會(huì)改變。<

48、/p><p>  4.P3端口[P3.0-P3.7] P2是一個(gè)帶有內(nèi)部上拉電阻的8位雙向I/0端口。輸出時(shí)可驅(qū)動(dòng)4個(gè)TTL。端口置1時(shí),內(nèi)部上拉電阻將端口拉到高電平,作輸入用。</p><p>  對(duì)內(nèi)部Flash程序存儲(chǔ)器編程時(shí),接控制信息。除此之外P3端口還用于一些專門功能,具體請(qǐng)看表2-1。</p><p>  表2-1 P3口功能說(shuō)明</p>&

49、lt;p>  全雙工串行口:AT89C52內(nèi)置一個(gè)全雙工串行通信口,用于與其它設(shè)備間的串行數(shù)據(jù)傳送,該串行口既可以用作異步通信收發(fā)器,也可以當(dāng)同步移位器使用。</p><p>  中斷系統(tǒng):AT89C52具備完善的中斷功能,有兩個(gè)外中斷,兩個(gè)定時(shí)/計(jì)數(shù)器中斷和一個(gè)串行中斷,外滿足不同的控制要求,并具有2級(jí)的優(yōu)先級(jí)別選擇。</p><p>  時(shí)鐘電路:AT89C52內(nèi)置最高頻率達(dá)12

50、MHz的時(shí)鐘電路,用于產(chǎn)生整個(gè)單片機(jī)運(yùn)行的脈沖時(shí)序,但AT89C52單片機(jī)需外置震蕩電容(一般在30PF左右)。此次設(shè)計(jì)選用30PF電容,12MHz晶振形成并聯(lián)諧振電路,電容C4,C5對(duì)振蕩頻率有微小影響,可起頻率微調(diào)作用。</p><p>  2.1.2 系統(tǒng)時(shí)鐘電路設(shè)計(jì)</p><p>  圖2-3為DS1302的接線圖,其中VCC為后備電源,VDD為主電源。在主電源關(guān)閉的情況下,也能

51、保持時(shí)鐘的連續(xù)運(yùn)行。DS1302由VCC或 VDD兩者中的較大者供電。當(dāng)VDD大于VCC+0.2V時(shí),VDD給DS1302供電。當(dāng)VDD小于VCC時(shí),DS1302由VCC供電。2,3腳分別為X1,X2是振蕩源,外接32KHz晶振。RST是復(fù)位/片選線,通過(guò)把RST輸入驅(qū)動(dòng)置高電平來(lái)啟動(dòng)所有的數(shù)據(jù)傳送。RST輸入有兩種功能:首先,RST接通控制邏輯,允許地址/命令序列送入移位寄存器;其次,RST提供終止單字節(jié)或多字節(jié)數(shù)據(jù)的傳送手段。當(dāng)RS

52、T為高電平時(shí),所有的數(shù)據(jù)傳送,I/O引腳變?yōu)楦咦钁B(tài)。上電運(yùn)行時(shí),在Vcc大于等于2.5V之前,RST必須保持低電平。當(dāng)SCLK為低電平時(shí),才能將RST置為高電平,I/O為串行數(shù)據(jù)輸入端(雙向)。SCLK始終是輸入端。</p><p>  圖2-3 DS1302的接線圖</p><p>  1.時(shí)鐘芯片DS1302的工作原理:</p><p>  DS1302在每次進(jìn)

53、行讀、寫程序前都必須初始化,先把SCLK端置 “0”,接著把RST端置“1”,最后才給予SCLK脈沖[11]。表2-2為DS1302的控制字,此控制字的位7必須置1,若為0則不能把對(duì)DS1302進(jìn)行讀寫數(shù)據(jù)。對(duì)于位6,若對(duì)程序進(jìn)行讀/寫時(shí)RAM=1,對(duì)時(shí)間進(jìn)行讀/寫時(shí),CK=0。位1至位5指操作單元的地址。位0是讀/寫操作位,進(jìn)行讀操作時(shí),該位為1;該位為0則表示進(jìn)行的是寫操作。控制字節(jié)總是從最低位開(kāi)始輸入/輸出的。表2-4為DS130

54、2的日歷、時(shí)間寄存器內(nèi)容:“CH”是時(shí)鐘暫停標(biāo)志位,當(dāng)該位為1時(shí),時(shí)鐘振蕩器停止,DS1302處于低功耗狀態(tài);當(dāng)該位為0時(shí),時(shí)鐘開(kāi)始運(yùn)行?!癢P”是寫保護(hù)位,在任何的對(duì)時(shí)鐘和RAM的寫操作之前,WP必須為0。當(dāng)“WP”為1時(shí),寫保護(hù)位防止對(duì)任一寄存器的寫操作。</p><p>  2.DS1302的控制字節(jié)</p><p>  DS1302的控制字如表2-2所示。控制字節(jié)的高有效位(位7)

55、必須是邏輯1,如果它為0,則不能把數(shù)據(jù)寫入DS1302中,位6如果0,則表示存取日歷時(shí)鐘數(shù)據(jù),為1表示存取RAM數(shù)據(jù);位5至位1指示操作單元的地址;最低有效位(位0)如為0表示要進(jìn)行寫操作,為1表示進(jìn)行讀操作,控制字節(jié)總是從最低位開(kāi)始輸出。</p><p>  表2-2 DS1302的控制字格式</p><p>  RAM

56、 RD</p><p>  1 /CK A4 A3 A2 A1 A0 /WR </p><p>  3.數(shù)據(jù)輸入輸出(I/O)</p><p>  在控制指令字輸入后的下一個(gè)SCLK時(shí)鐘的上升沿時(shí),數(shù)據(jù)被寫入DS1302,數(shù)據(jù)輸入從低位即位0開(kāi)始。同樣,在緊跟8位的控制指令字后的下一個(gè)SCLK脈沖的下降沿讀出DS

57、1302的數(shù)據(jù),讀出數(shù)據(jù)時(shí)從低位0位到高位7,如表2-3所示。</p><p>  表2-3 DS1302輸入輸出仿真</p><p>  4.DS1302的寄存器</p><p>  DS1302有12個(gè)寄存器,其中有7個(gè)寄存器與日歷、時(shí)鐘相關(guān),存放的數(shù)據(jù)位為BCD碼形式,其日歷、時(shí)間寄存器及其控制字見(jiàn)表2-4所示。</p><p>  表

58、2-4 DS1302的日歷,時(shí)間寄存器</p><p>  此外,DS1302 還有年份寄存器、控制寄存器、充電寄存器、時(shí)鐘突發(fā)寄存器及與RAM相關(guān)的寄存器等。時(shí)鐘突發(fā)寄存器可一次性順序讀寫除充電寄存器外的所有寄存器內(nèi)容。 DS1302與RAM相關(guān)的寄存器分為兩類:一類是單個(gè)RAM單元,共31個(gè),每個(gè)單元組態(tài)為一個(gè)8位的字節(jié),其命令控制字為C0H~FDH,其中奇數(shù)為讀操作,偶數(shù)為寫操作;另一類為突發(fā)方式下的RAM

59、寄存器,此方式下可一次性讀寫所有的RAM的31個(gè)字節(jié),命令控制字為FEH(寫)、FFH(讀)。</p><p>  2.1.3 溫度采集模塊設(shè)計(jì)</p><p>  如圖2-4所示為DS18B20溫度采集芯片的接線圖,該設(shè)計(jì)采用數(shù)字式溫度傳感芯片DS18B20,它是數(shù)字式溫度傳感器,具有測(cè)量精度高,電路連接簡(jiǎn)單特點(diǎn),此類傳感器僅需要一條數(shù)據(jù)線進(jìn)行數(shù)據(jù)傳輸,使用P2.0與DS18B20的DQ

60、口連接Vcc接電源。在DQ口接上4.7K電阻防止電流過(guò)大,保證DS18B20正常工作。</p><p>  圖2-4 DS18B20接線圖</p><p>  2.1.4顯示電路設(shè)計(jì)</p><p>  表2-5為L(zhǎng)CD1602的引腳功能說(shuō)明。</p><p>  表2-5 LCD1602的引腳說(shuō)明</p><p> 

61、 LCD1602的第1腳VSS為地電源;第2腳接5V正電源;第3腳VL為液晶顯示器對(duì)比調(diào)整端,接正電源時(shí)對(duì)比度弱,接地時(shí)對(duì)比度最高,對(duì)比度過(guò)高時(shí)會(huì)產(chǎn)生“鬼影”,使用是可以通過(guò)一個(gè)10K的電位器調(diào)整對(duì)比度;第4腳為RS寄存器選擇,高電平時(shí)選擇數(shù)據(jù)寄存器,低電平時(shí)選擇指令寄存器;第5腳為R/W讀寫信號(hào)線,高電平時(shí)進(jìn)行讀操作,低電平時(shí)進(jìn)行寫操作。當(dāng)RS和R/W共同為低電平時(shí)可以寫入指令或者顯示地址,當(dāng)RS為低電平R/W為高電平時(shí)可以讀忙信號(hào),

62、當(dāng)RS為高電平R/W為低電平時(shí)可以寫入數(shù)據(jù);第6腳為使能端,當(dāng)使能端由高電平跳變?yōu)榈碗娖綍r(shí),液晶模塊執(zhí)行命令;第7~14腳的D0~D7為8位雙向數(shù)據(jù)線;第15腳為背光源正極;第16腳為背光源負(fù)極。</p><p>  圖2-5 LCD1602接線圖</p><p>  顯示的清晰度是關(guān)鍵,其Vdd引腳作用是對(duì)比調(diào)整,原理是該引腳輸入電壓不同,調(diào)整度不同,所以采用電位器分壓作為它的電壓輸入。

63、Vss及BLK引腳分別是電源地、LCD背光電源負(fù)極,直接接地。Vdd及BLA引腳分別是電源、LCD背光電源正極,采用+5V電源供電。</p><p>  2.1.5 復(fù)位電路設(shè)計(jì)</p><p>  此次設(shè)計(jì)采用手動(dòng)復(fù)位電路,如圖2-6所示。</p><p>  圖2-6 手動(dòng)復(fù)位電路</p><p><b>  2.2 電源設(shè)計(jì)&

64、lt;/b></p><p>  采用200W/5V直流穩(wěn)壓電源作為系統(tǒng)電源,不僅功率上可以滿足系統(tǒng)需要,不需要更換電池,并且比較方便,使用更加安全可靠。但是穩(wěn)壓電源我們不能自備,若要調(diào)試系統(tǒng),只能到實(shí)驗(yàn)室才能做。</p><p>  為了更加方便調(diào)試,此設(shè)計(jì)選擇電池供電以方便在任何時(shí)間任何地點(diǎn)進(jìn)行調(diào)試和演示。</p><p>  2.3 按鍵控制模塊設(shè)計(jì)&l

65、t;/p><p>  此電路中的顯示電路是采用LCD液晶顯示器顯示方式,使用單片機(jī)AT89C52的P0口控制LCD顯示和P1.0,P1.1,P1.2,P1.3口分別接入時(shí)間調(diào)整時(shí)間按鍵S1,S2,S3,S4。如圖2-7所示。S1為設(shè)置開(kāi)關(guān),S2為時(shí)間加開(kāi)關(guān),S3為時(shí)間減開(kāi)關(guān),S4為確定開(kāi)關(guān)。每次調(diào)節(jié)時(shí)間時(shí)首先按設(shè)置鍵,選擇要調(diào)整位,然后選擇時(shí)間加或減鍵,調(diào)整完以后按確定鍵。在調(diào)節(jié)時(shí)調(diào)節(jié)順序是從秒開(kāi)始,然后是調(diào)節(jié)分,時(shí)

66、,星期,依次往后進(jìn)行。</p><p>  圖2-7 時(shí)間控制按鍵接線圖</p><p>  第3章 多功能時(shí)間顯示控制裝置的程序設(shè)計(jì)</p><p>  3.1 主控模塊設(shè)計(jì)</p><p>  主程序是先開(kāi)始[12],然后進(jìn)行初始化設(shè)置,定時(shí)器啟動(dòng)后在進(jìn)行按鍵檢測(cè),檢測(cè)完后,就可以顯示時(shí)間。</p><p>  圖

67、3-1 主程序流程圖</p><p>  3.2 基本顯示模塊設(shè)計(jì)</p><p>  顯示模塊是實(shí)現(xiàn)多功能時(shí)間顯示控制裝置的重要部分,在顯示時(shí),首先將時(shí)間十進(jìn)制數(shù)據(jù)轉(zhuǎn)化為顯示段碼,然后送往LCD1602液晶顯示。程序在開(kāi)始時(shí)對(duì)液晶模塊功能進(jìn)行了初始化設(shè)置,約定了顯示格式。</p><p>  3.3 時(shí)間設(shè)定模塊設(shè)計(jì)</p><p>  圖

68、3-2 時(shí)間調(diào)整程序流程圖</p><p>  第4章 系統(tǒng)的調(diào)試及結(jié)果</p><p><b>  4.1 測(cè)試儀器</b></p><p>  表4-1為調(diào)試過(guò)程中用到的儀器。</p><p>  表4-1 測(cè)試儀器清單</p><p><b>  4.2 軟件調(diào)試</b>

69、;</p><p>  多功能時(shí)間顯示控制裝置時(shí)多功能的數(shù)字鐘,可以看到當(dāng)前日期,時(shí)間,還有溫度顯示。多功能時(shí)間顯示控制裝置功能很多,所以對(duì)于它的程序也較為復(fù)雜,所以在編寫和調(diào)試程序時(shí)出現(xiàn)了較多問(wèn)題[13)14]。最后經(jīng)過(guò)多次的模塊子程序的修改,一步一步地完成,最終解決了軟件方面的問(wèn)題。在軟件的調(diào)試過(guò)程中主要出現(xiàn)以下問(wèn)題:</p><p>  1.時(shí)鐘的計(jì)數(shù)器顯示的不正確,不是一秒一變,而

70、是一秒兩變。</p><p>  問(wèn)題分析:分頻應(yīng)該是0到499,設(shè)置成了0到999,改變分頻大了一倍。</p><p>  2.下載到實(shí)驗(yàn)箱中點(diǎn)開(kāi)始的時(shí)候,顯示的是01-01-00,按復(fù)位后才顯示00-00-00。</p><p>  問(wèn)題分析:賦初值有問(wèn)題。</p><p>  3.燒入程序后,LCD液晶顯示屏顯示亮度不好。</p&

71、gt;<p>  問(wèn)題分析:一邊旋轉(zhuǎn)10K歐姆的滑動(dòng)變阻器,一邊觀看LCD顯示屏,直到看到合適的亮度為止。</p><p>  4.加入溫度測(cè)試的程序后,進(jìn)行修改時(shí)間,日期時(shí)相應(yīng)的數(shù)碼管位沒(méi)有按要求閃動(dòng)。</p><p>  問(wèn)題分析:由于DS18B20是串行通信數(shù)據(jù),只用一個(gè)口線傳輸,在處理采集的模擬信號(hào)時(shí)需要一定的時(shí)間,當(dāng)把時(shí)間,日期的程序相接入時(shí),會(huì)對(duì)延時(shí)有很大的影響。

72、所以在調(diào)用溫度子程序時(shí),先關(guān)閉定時(shí)器1中斷允許,在溫度子程序返回時(shí)再打開(kāi)定時(shí)器1中斷允許。最終解決此問(wèn)題。</p><p><b>  4.3 硬件調(diào)試</b></p><p>  多功能時(shí)間顯示控制裝置的電路系統(tǒng)較大,對(duì)于焊接方面更是不可輕視,龐大的電路系統(tǒng)中只要出一出的錯(cuò)誤,則會(huì)對(duì)檢測(cè)造成很大的不便,而且電路的交線較多,對(duì)于各種鋒利的引腳要注意處理,否則會(huì)刺破帶有

73、包皮的導(dǎo)線,則會(huì)對(duì)電路造成短路現(xiàn)象[12]。所以在電路板焊接完成后,首先要檢查加工質(zhì)量,并確保沒(méi)有任何方面的錯(cuò)誤,如短路和斷路,尤其要避免電源短路;元器件在安裝前要逐一檢查,用萬(wàn)用表測(cè)其數(shù)值,看是否與所用相同;完成焊接后,應(yīng)先空載上電(芯片座上不插芯片),并檢查各引腳的電位是否正確。若一切正常,方可在斷電的情況下將芯片插入,再次檢查各引腳的電位及其邏輯關(guān)系。將萬(wàn)用表的探針?lè)诺絾纹瑱C(jī)接電源的引腳上檢測(cè)一下,看是否符合要求。</p&g

74、t;<p>  在實(shí)驗(yàn)板加上電源后,使用萬(wàn)能表測(cè)出,在Vcc和GND之間的電壓在5.08V-5.12V之間。在系統(tǒng)的排阻部分中,值在10K-10.1K之間,符合所需的10K的誤差范圍。</p><p>  在多功能時(shí)間顯示控制裝置的設(shè)計(jì)調(diào)試中遇到很多的問(wèn)題?;叵脒@些問(wèn)題只要認(rèn)真多思考都是可以避免的,一下為主要的問(wèn)題:</p><p>  1.在程序燒入之后,將板子通電以后,時(shí)

75、間,日期可以正常顯示。但是,溫度不可以正常顯示。</p><p>  解決方案:用萬(wàn)用表測(cè)量溫度測(cè)量的那一塊電路,發(fā)現(xiàn)DS18B20芯片的一個(gè)腳在安裝時(shí)斷掉,導(dǎo)致電路不通。重新?lián)Q一個(gè)新的溫度采集芯片即可。</p><p><b>  4.4 調(diào)試結(jié)果</b></p><p>  經(jīng)過(guò)反復(fù)調(diào)試和修改,此次設(shè)計(jì)的硬件可以正確顯示年,月,日,星期,時(shí)

76、,分,秒和溫度等,并可以通過(guò)按鍵進(jìn)行手動(dòng)復(fù)位,校時(shí)調(diào)節(jié)。與此同時(shí),提高了設(shè)計(jì)能力及對(duì)電路的分析能力,在軟件的編程能力方面得到更大的提高。</p><p><b>  第5章 結(jié)論</b></p><p>  我在這一次多功能時(shí)間顯示控制裝置的設(shè)計(jì)過(guò)程中,受益匪淺。通過(guò)對(duì)自己在大學(xué)四年時(shí)間里所學(xué)的知識(shí)的回顧,并發(fā)揮對(duì)所學(xué)知識(shí)的理解和思考及書面表達(dá)能力,自己親手設(shè)計(jì),最終

77、完成目標(biāo)了。這為自己今后進(jìn)一步深化學(xué)習(xí),積累了一定寶貴的經(jīng)驗(yàn)。這次設(shè)計(jì)過(guò)程把知識(shí)轉(zhuǎn)化為能力的實(shí)際訓(xùn)練,進(jìn)一步學(xué)習(xí),掌握單片機(jī)應(yīng)用系統(tǒng)的有關(guān)知識(shí),加深了解單片機(jī)的工作原理,培養(yǎng)了我運(yùn)用所學(xué)知識(shí)解決實(shí)際問(wèn)題的能力。同時(shí),充分發(fā)揮了我的主管能動(dòng)性,自主學(xué)習(xí),學(xué)到了很多沒(méi)有學(xué)到的知識(shí),較好地完成了畢業(yè)設(shè)計(jì)。</p><p>  本次畢業(yè)設(shè)計(jì)從基本方案的制定,再到硬件電路的選擇,到制作電路完成,最后進(jìn)行程序調(diào)試。在此期間我

78、遇到很多困難,尤其是在做仿真時(shí)結(jié)果經(jīng)常出不來(lái),經(jīng)過(guò)仔細(xì)檢查,仿真線路是沒(méi)有錯(cuò)誤的,可結(jié)果就是不行。但當(dāng)我將實(shí)物做出來(lái)后,進(jìn)行了調(diào)試,實(shí)物上卻可以出來(lái)結(jié)果。這說(shuō)明這可能是仿真軟件有問(wèn)題。經(jīng)過(guò)一次又一次品嘗到了解決問(wèn)題的喜悅,最終提前完成了要求的全部功能。通過(guò)這次課程設(shè)計(jì)我發(fā)現(xiàn),只有理論水平提高了;才能夠?qū)⒄n本知識(shí)與實(shí)踐相整合,理論知識(shí)服務(wù)于教學(xué)實(shí)踐,以增強(qiáng)自己的動(dòng)手能力。</p><p>  這個(gè)課程設(shè)計(jì)十分有意義

79、 ,我獲得寶貴經(jīng)驗(yàn)。通過(guò)這次課程設(shè)計(jì),我們知道了理論和實(shí)際的距離,也知道了理論和實(shí)際想結(jié)合的重要性,也從中得知了很多書本上無(wú)法得知的知識(shí)。這次設(shè)計(jì)的時(shí)間顯示控制裝置無(wú)論是在外觀上還是在功能上都實(shí)現(xiàn)的較為順利,但是還不是很完善,如紀(jì)念日提醒,鬧鈴等功能完全可以加入此次設(shè)計(jì),以此來(lái)完善時(shí)間顯示控制裝置的設(shè)計(jì)。</p><p><b>  參考文獻(xiàn)</b></p><p>

80、  [1]歐陽(yáng)斌林.《單片機(jī)原理及應(yīng)用》[M].中國(guó)水利水電出版社.</p><p>  [2]李學(xué)海.《標(biāo)準(zhǔn)80C51單片機(jī)基礎(chǔ)教程:原理篇》[M].北京航空航天大學(xué)出版社,2006.</p><p>  [3]何小慶.金融危機(jī)下的單片機(jī)MCU技術(shù)發(fā)展趨勢(shì)[J].單片機(jī)嵌入式系應(yīng)用,2009,2(5):5-7.</p><p>  [4]Su kai,Liu qi

81、ng-guo,Chen guoping.Principle and design of MCS-51 Single-chip microprocessor. Metallurgical Industry press,2003.</p><p>  [5]儲(chǔ)海兵,譚功全,曹亢.單片機(jī)溫度控制實(shí)驗(yàn)系統(tǒng)[J].儀表技術(shù),2007,3(12):20-28.</p><p>  [6]柴衛(wèi)華.新型數(shù)

82、字溫度傳感器DS18B20組成的溫度巡檢系統(tǒng)[J].傳感器世界,2001,2(1):20-24.</p><p>  [7]甘勇.數(shù)字溫度傳感器DS18B20在多點(diǎn)測(cè)溫系統(tǒng)中的應(yīng)用[J].河南農(nóng)業(yè)大學(xué)學(xué)報(bào),2001,3(1):2-5.</p><p>  [8] 黃明強(qiáng).DS1302在單片機(jī)系統(tǒng)中的應(yīng)用[J].保定師范學(xué)校學(xué)報(bào).2004,17(2):30-33.</p>&l

83、t;p>  [9]張毅剛,修成林,胡振江.《MCS-51單片機(jī)應(yīng)用設(shè)計(jì)》.哈爾濱工業(yè)大學(xué)出版社.</p><p>  [10]Li Weidi,Guo qiang.Application technology of LCD displays. China Publishing House of Electronics Industry,2000.</p><p>  [11]萬(wàn)福君,

84、潘松峰,劉芳等.《MCS-51單片機(jī)原理,系統(tǒng)設(shè)計(jì)與應(yīng)用》[M].清華大學(xué)出版社,2008. </p><p>  [12] 沙占友.《單片機(jī)外圍電路設(shè)計(jì)》[M].北京.電子工業(yè)出版社.2003.</p><p>  [13]譚浩強(qiáng).《C程序設(shè)計(jì)與開(kāi)發(fā)技術(shù)》[M].北京清華大學(xué)出版社,1991.</p><p>  [14]周潤(rùn)景,徐宏偉,丁莉.《單片機(jī)電路設(shè)計(jì),分

85、析與制作》[M].機(jī)械工業(yè)出版社,2010.</p><p>  [15] Dallas Semiconductor Corporation. Ultra-High-Speed Flash Microcontroller User’s Guide, 2002.</p><p><b>  致謝</b></p><p>  首先感謝學(xué)院給我提供了

86、一個(gè)展現(xiàn)自己的舞臺(tái),給我一次難得鍛煉的機(jī)會(huì),使得我的動(dòng)手能力和專業(yè)技能都有了很大的提高。使自己對(duì)單片機(jī)的基本知識(shí)的掌握和應(yīng)用有了更深的了解。</p><p>  在做畢業(yè)設(shè)計(jì)的日子里得到了xx老師的悉心指導(dǎo),在此向他致以誠(chéng)摯的謝意。感謝提供相關(guān)技術(shù)幫助的老師和同學(xué),你們的支持和鼓勵(lì)使我們對(duì)這次的作品完成有了信心和動(dòng)力,也給了我很多無(wú)私的幫助和支持,我在此深表謝意。</p><p>  附錄

87、1:系統(tǒng)設(shè)計(jì)原理圖</p><p>  附錄2:完整的C語(yǔ)言源程序清單</p><p>  #include <REG51.H></p><p>  #include <intrins.h></p><p>  #define uint unsigned int</p><p>  #defin

88、e uchar unsigned char</p><p>  sbit DS1302_CLK = P1^5; //實(shí)時(shí)時(shí)鐘時(shí)鐘線引腳 </p><p>  sbit DS1302_IO = P1^6; //實(shí)時(shí)時(shí)鐘數(shù)據(jù)線引腳 </p><p>  sbit DS1302_RST = P1^7;

89、 //實(shí)時(shí)時(shí)鐘復(fù)位線引腳</p><p>  sbit ACC0 = ACC^0;</p><p>  sbit ACC7 = ACC^7;</p><p>  char hide_sec,hide_min,hide_hour,hide_day,hide_week,hide_month,hide_year; //秒,分,時(shí)到日,月,年位閃的計(jì)數(shù)&

90、lt;/p><p>  sbit Set = P1^0; //模式切換鍵</p><p>  sbit Up = P1^1; //加法按鈕</p><p>  sbit Down = P1^2; //減法按鈕</p><p>  sbit out = P1^3; //立刻跳出調(diào)整模式按鈕</p

91、><p>  sbit bell = P1^4;</p><p>  sbit DQ = P2^0; //溫度傳送數(shù)據(jù)IO口</p><p>  char done,count,temp,flag,up_flag,down_flag;</p><p>  uchar temp_value; //溫度值</p>

92、<p>  uchar TempBuffer[5],week_value[2];</p><p>  void show_time(); //液晶顯示程序</p><p>  /***********1602液晶顯示部分子程序****************/</p><p>  //Port Definitions*****************

93、*****************************************</p><p>  sbit LcdRs= P2^6;</p><p>  sbit LcdRw= P2^7;</p><p>  sbit LcdEn = P2^5;</p><p>  sfr DBPort = 0x80;//P0=0x

94、80,P1=0x90,P2=0xA0,P3=0xB0.數(shù)據(jù)端口</p><p>  //內(nèi)部等待函數(shù)*****************************************************************</p><p>  unsigned char LCD_Wait(void)</p><p><b>  {</b>

95、;</p><p><b>  LcdRs=0;</b></p><p>  LcdRw=1;_nop_();</p><p>  LcdEn=1;_nop_(); </p><p><b>  LcdEn=0;</b></p><p>  return DBPort;

96、</p><p><b>  }</b></p><p>  //向LCD寫入命令或數(shù)據(jù)************************************************************</p><p>  #define LCD_COMMAND0 // Command</p><p&

97、gt;  #define LCD_DATA1 // Data</p><p>  #define LCD_CLEAR_SCREEN0x01 // 清屏</p><p>  #define LCD_HOMING 0x02 // 光標(biāo)返回原點(diǎn)</p><p>  void LCD_Write(bit style, unsign

98、ed char input)</p><p><b>  {</b></p><p><b>  LcdEn=0;</b></p><p>  LcdRs=style;</p><p>  LcdRw=0;_nop_();</p><p>  DBPort=input;

99、_nop_();//注意順序</p><p>  LcdEn=1;_nop_();//注意順序</p><p>  LcdEn=0;_nop_();</p><p>  LCD_Wait();</p><p><b>  }</b></p><p>  //設(shè)置顯示模式*********

100、***************************************************</p><p>  #define LCD_SHOW0x04 //顯示開(kāi)</p><p>  #define LCD_HIDE0x00 //顯示關(guān) </p><p>  #define LCD_CURSOR0x02 //顯示光標(biāo)

101、</p><p>  #define LCD_NO_CURSOR0x00 //無(wú)光標(biāo) </p><p>  #define LCD_FLASH0x01 //光標(biāo)閃動(dòng)</p><p>  #define LCD_NO_FLASH0x00 //光標(biāo)不閃動(dòng)</p><p>  void LCD_SetDi

102、splay(unsigned char DisplayMode)</p><p><b>  {</b></p><p>  LCD_Write(LCD_COMMAND, 0x08|DisplayMode);</p><p><b>  }</b></p><p>  //設(shè)置輸入模式******

103、******************************************************</p><p>  #define LCD_AC_UP0x02</p><p>  #define LCD_AC_DOWN0x00 // default</p><p>  #define LCD_MOVE0x01 //

104、 畫面可平移</p><p>  #define LCD_NO_MOVE0x00 //default</p><p>  void LCD_SetInput(unsigned char InputMode)</p><p><b>  {</b></p><p>  LCD_Write(LCD_COMMA

105、ND, 0x04|InputMode);</p><p><b>  }</b></p><p>  //初始化LCD************************************************************</p><p>  void LCD_Initial()</p><p><

106、b>  {</b></p><p><b>  LcdEn=0;</b></p><p>  LCD_Write(LCD_COMMAND,0x38); //8位數(shù)據(jù)端口,2行顯示,5*7點(diǎn)陣</p><p>  LCD_Write(LCD_COMMAND,0x38);</p><p>

107、;  LCD_SetDisplay(LCD_SHOW|LCD_NO_CURSOR); //開(kāi)啟顯示, 無(wú)光標(biāo)</p><p>  LCD_Write(LCD_COMMAND,LCD_CLEAR_SCREEN); //清屏</p><p>  LCD_SetInput(LCD_AC_UP|LCD_NO_MOVE); //AC遞增, 畫面不動(dòng)</p><

108、;p><b>  }</b></p><p>  //液晶字符輸入的位置************************</p><p>  void GotoXY(unsigned char x, unsigned char y)</p><p><b>  {</b></p><p>&l

109、t;b>  if(y==0)</b></p><p>  LCD_Write(LCD_COMMAND,0x80|x);</p><p><b>  if(y==1)</b></p><p>  LCD_Write(LCD_COMMAND,0x80|(x-0x40));</p><p>  } //將字符

110、輸出到液晶顯示</p><p>  void Print(unsigned char *str)</p><p><b>  {</b></p><p>  while(*str!='\0')</p><p><b>  {</b></p><p>  LCD

111、_Write(LCD_DATA,*str);</p><p><b>  str++;</b></p><p><b>  }</b></p><p><b>  }</b></p><p>  /***********DS1302時(shí)鐘部分子程序****************

112、**/</p><p>  typedef struct __SYSTEMTIME__</p><p><b>  {</b></p><p>  unsigned char Second;</p><p>  unsigned char Minute;</p><p>  unsigned ch

113、ar Hour;</p><p>  unsigned char Week;</p><p>  unsigned char Day;</p><p>  unsigned char Month;</p><p>  unsigned char Year;</p><p>  unsigned char DateSt

114、ring[11];</p><p>  unsigned char TimeString[9];</p><p>  }SYSTEMTIME;//定義的時(shí)間類型</p><p>  SYSTEMTIME CurrentTime;</p><p>  #define AM(X)X</p><p>  #define

115、PM(X)(X+12) // 轉(zhuǎn)成24小時(shí)制</p><p>  #define DS1302_SECOND0x80 //時(shí)鐘芯片的寄存器位置,存放時(shí)間</p><p>  #define DS1302_MINUTE0x82</p><p>  #define DS1302_HOUR0x84 </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)論