2023年全國(guó)碩士研究生考試考研英語(yǔ)一試題真題(含答案詳解+作文范文)_第1頁(yè)
已閱讀1頁(yè),還剩36頁(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>  自動(dòng)控制系統(tǒng)課程設(shè)計(jì)</p><p>  題 目 數(shù)字時(shí)鐘設(shè)計(jì) </p><p>  學(xué) 院 </p><p>  專業(yè)班級(jí) </p&

2、gt;<p>  姓 名 </p><p>  學(xué) 號(hào) </p><p>  指導(dǎo)老師 </p><p>  自動(dòng)化系統(tǒng)設(shè)計(jì)任務(wù)書(shū)</p&

3、gt;<p>  院(系) 專業(yè)班級(jí) 學(xué)生姓名 </p><p>  一、自動(dòng)化系統(tǒng)設(shè)計(jì)題目 數(shù)字時(shí)鐘設(shè)計(jì) </p><p>  二、課程設(shè)計(jì)工作自 2015_年_11_月_16日 起至__2015_年 12 月_16_日止</p><p>

4、;  三、設(shè)計(jì)進(jìn)行地點(diǎn): 實(shí)驗(yàn)室 </p><p><b>  四、設(shè)計(jì)內(nèi)容要求:</b></p><p>  設(shè)計(jì)目的與意義:在日常生活和工作中,我們常常用到定時(shí)控制,如擴(kuò)印過(guò)程中的曝光定時(shí)等。早期常用的一些時(shí)間控制單元都使用模擬電路設(shè)計(jì)制作的,其定時(shí)準(zhǔn)確性和

5、重復(fù)精度都不是很理想。本次設(shè)計(jì)要求學(xué)生根據(jù)所學(xué)知識(shí)完成帶溫度顯示的萬(wàn)年歷的設(shè)計(jì),提高學(xué)生的分析問(wèn)題,解決問(wèn)題的能力。 </p><p>  其具體要求如下: </p>&

6、lt;p>  1.要求采用單片機(jī)完成數(shù)字時(shí)鐘的設(shè)計(jì) </p><p>  2.實(shí)現(xiàn)24小時(shí)的時(shí)鐘顯示、校準(zhǔn)等功能 </p><p>  論文要求:

7、 </p><p>  1.撰寫(xiě)要求格式規(guī)范,設(shè)計(jì)思路清晰,條理清楚; </p><p>  2. 論文內(nèi)容準(zhǔn)確無(wú)誤,用A4紙張打印。 </p><p>  進(jìn)程安排如下:

8、 </p><p>  1 查資料,調(diào)研,確定方案。 </p><p>  2對(duì)系統(tǒng)硬件電路進(jìn)行模塊化設(shè)計(jì),采用編程語(yǔ)言進(jìn)行軟件編程,完成硬件電路的軟件仿真;</p><p>  3進(jìn)行系統(tǒng)硬件電路的搭建、調(diào)試和測(cè)試,完成設(shè)計(jì)驗(yàn)收。

9、 4完成自動(dòng)化系統(tǒng)設(shè)計(jì)任務(wù),并提交最終電子檔及論文。 </p><p>  指 導(dǎo) 教 師 系(教 研 室) </p><p>  系(教研室)主任簽名

10、 批準(zhǔn)日期 </p><p>  接受設(shè)計(jì)任務(wù)開(kāi)始執(zhí)行日期 學(xué)生簽名 </p><p><b>  摘要</b></p><p>  現(xiàn)代生活的人們非常的重視時(shí)間觀念,對(duì)于那些對(duì)時(shí)間把握非

11、常嚴(yán)格和準(zhǔn)確的人或事來(lái)說(shuō),時(shí)間的不準(zhǔn)確會(huì)帶來(lái)非常大的麻煩,所以以數(shù)碼管為顯示器的時(shí)鐘比指針式的時(shí)鐘表現(xiàn)出了很大的優(yōu)勢(shì)。數(shù)碼管顯示的時(shí)間簡(jiǎn)單明了而且讀數(shù)快、時(shí)間準(zhǔn)確顯示到秒。而機(jī)械式的依賴于晶體震蕩器,可能會(huì)導(dǎo)致誤差。數(shù)字鐘是采用數(shù)字電路實(shí)現(xiàn)對(duì)“時(shí)”、“分”、“秒”數(shù)字顯示的計(jì)時(shí)裝置。數(shù)字鐘的精度、穩(wěn)定度遠(yuǎn)遠(yuǎn)超過(guò)老式機(jī)械鐘。</p><p>  數(shù)字鐘是一種用數(shù)字電路技術(shù)實(shí)現(xiàn)時(shí)、分、秒計(jì)時(shí)的裝置,與機(jī)械式時(shí)鐘相比具

12、有更高的準(zhǔn)確性和直觀性,且無(wú)機(jī)械裝置,具有更更長(zhǎng)的使用壽命,因此得到了廣泛的使用。數(shù)字鐘從原理上講是一種典型的數(shù)字電路,其中包括了組合邏輯電路和時(shí)序電路。設(shè)計(jì)一個(gè)數(shù)字計(jì)時(shí)器,可以完成00:00:00到23:59:59的計(jì)時(shí)功能,并在控制電路的作用下具有快速校時(shí)、快速校準(zhǔn)功能。</p><p><b>  目錄</b></p><p><b>  1.緒論1

13、</b></p><p>  1.1 課題研究的背景1</p><p>  1.2 課題研究的意義2</p><p>  1.3 數(shù)字時(shí)鐘的應(yīng)用及發(fā)展前景2</p><p>  1.4 課題的研究?jī)?nèi)容及技術(shù)要求3</p><p>  2.系統(tǒng)的初步設(shè)計(jì)5</p><p>&

14、lt;b>  2.1設(shè)計(jì)目的5</b></p><p><b>  2.2設(shè)計(jì)要求5</b></p><p>  2.3.方案論證5</p><p>  2.3.1計(jì)時(shí)方案5</p><p>  2.3.2.顯示方案6</p><p>  2.4.系統(tǒng)框圖6</

15、p><p>  3.系統(tǒng)硬件設(shè)計(jì)7</p><p>  3.1 單片機(jī)最小系統(tǒng)7</p><p>  3.2 晶振電路8</p><p><b>  3.3復(fù)位電路8</b></p><p>  3.4 數(shù)碼顯示電路9</p><p>  3.4.1 LED的選擇9

16、</p><p>  3.4.2 LED的驅(qū)動(dòng)和顯示10</p><p>  3.5 按鍵電路11</p><p>  3.6校準(zhǔn)電路12</p><p>  4. 系統(tǒng)軟件設(shè)計(jì)13</p><p>  4.1主程序流程圖如下:13</p><p>  4.2按鍵流程圖如下:14&l

17、t;/p><p><b>  5.綜合調(diào)試15</b></p><p>  5.1秒信號(hào)的測(cè)試15</p><p>  5.2 時(shí)間設(shè)置功能的測(cè)試15</p><p><b>  6.總結(jié)17</b></p><p><b>  參考文獻(xiàn)18</b>

18、;</p><p><b>  1 緒論</b></p><p>  1.1 課題研究的背景</p><p>  加入世貿(mào)組織以后,中國(guó)會(huì)面臨激烈的競(jìng)爭(zhēng)。這種競(jìng)爭(zhēng)將是一場(chǎng)科技實(shí)力、管理水平和人才素質(zhì)的較量,風(fēng)險(xiǎn)和機(jī)遇共存,同時(shí)電子產(chǎn)品的研發(fā)日新月異,不僅是在通信技術(shù)方面數(shù)字化取代于模擬信號(hào),就連我們的日常生活也進(jìn)于讓數(shù)字化取締。說(shuō)明數(shù)字時(shí)代已經(jīng)

19、到來(lái),而且滲透于我們生活的方方面面?,F(xiàn)代生活的人們非常的重視時(shí)間觀念,對(duì)于那些對(duì)時(shí)間把握非常嚴(yán)格和準(zhǔn)確的人或事來(lái)說(shuō),時(shí)間的不準(zhǔn)確會(huì)帶來(lái)非常大的麻煩,所以以數(shù)碼管為顯示器的時(shí)鐘比指針式的時(shí)鐘表現(xiàn)出了很大的優(yōu)勢(shì)。數(shù)碼管顯示的時(shí)間簡(jiǎn)單明了而且讀數(shù)快、時(shí)間準(zhǔn)確顯示到秒。而機(jī)械式的依賴于晶體震蕩器,可能會(huì)導(dǎo)致誤差。數(shù)字鐘是采用數(shù)字電路實(shí)現(xiàn)對(duì)“時(shí)”、“分”、“秒”數(shù)字顯示的計(jì)時(shí)裝置。</p><p>  1.2 課題研究的意

20、義</p><p>  多功能數(shù)字時(shí)鐘的用途十分廣泛,只要有計(jì)時(shí)的存在,便要用到數(shù)字時(shí)鐘的原理及結(jié)構(gòu);同時(shí)在日期中,它以其小巧,價(jià)格低廉,走時(shí)精度高,使用方便,功能多,便于集成化而受廣大消費(fèi)者的喜愛(ài)。隨著人類科技文明的發(fā)展,人們對(duì)于時(shí)鐘的要求在不斷提高。時(shí)鐘已不僅僅被看出一種用來(lái)顯示時(shí)間的工具,在很多實(shí)際應(yīng)用中它還需要能夠?qū)崿F(xiàn)更多其它的功能。高精度、多功能、小體積、低功耗,是現(xiàn)代時(shí)鐘發(fā)展的趨勢(shì)。在這種趨勢(shì)下,時(shí)鐘

21、的數(shù)字化、多功能化已經(jīng)成為現(xiàn)在時(shí)鐘生產(chǎn)研究的主導(dǎo)設(shè)計(jì)方向。隨著電子技術(shù)的飛速發(fā)展,家用電器和辦公電子設(shè)備逐漸增多,不同的設(shè)備都有自己的控制器,使用起來(lái)很不方便。根據(jù)這種實(shí)際情況,設(shè)計(jì)了一個(gè)單片機(jī)多功能定時(shí)系統(tǒng)[15],它可以避免多種控制器的混淆,利用一個(gè)控制器對(duì)多路電器進(jìn)行控制,同時(shí)又可以進(jìn)行時(shí)鐘校準(zhǔn)和定點(diǎn)鬧鐘,可以任意設(shè)置時(shí)間。這種具有人們所需要的智能化特性的產(chǎn)品減輕了人的勞動(dòng),擴(kuò)大了數(shù)字化的范圍,為家庭數(shù)字化提供了可能。因此,研究數(shù)

22、字時(shí)鐘及擴(kuò)大其應(yīng)用,有著非?,F(xiàn)實(shí)的意義。</p><p>  1.3 數(shù)字時(shí)鐘的應(yīng)用及發(fā)展前景</p><p>  數(shù)字時(shí)鐘具有走時(shí)準(zhǔn)確,一鐘多用等特點(diǎn),在生活中已經(jīng)得到廣泛的應(yīng)用。雖然現(xiàn)在市場(chǎng)上已有現(xiàn)成的電子鐘集成電路芯片出售,價(jià)格便宜、使用也方便,但是人們對(duì)電子產(chǎn)品的應(yīng)用要求越來(lái)越高,數(shù)字鐘不但可以顯示當(dāng)前的時(shí)間,而且可以顯示日期、農(nóng)歷 、以及星期等,給人們的生活帶來(lái)了方便。另外數(shù)字

23、鐘還具備秒表和鬧鐘的功能,且鬧鐘鈴聲可自選,使一款電子鐘具備了多媒體的色彩。</p><p>  時(shí)間對(duì)人們來(lái)說(shuō)總是那么寶貴,工作的忙碌性和繁雜性容易使人忘記當(dāng)前的時(shí)間。忘記了要做的事情,當(dāng)事情不是很重要的時(shí)候,這種遺忘無(wú)傷大雅。但是,一旦重要事情,一時(shí)的耽誤可能釀成大禍。數(shù)字時(shí)鐘已成為人們?nèi)粘I钪斜夭豢缮俚谋匦杵罚瑥V泛用于個(gè)人家庭以及車站、碼頭、劇院、辦公室等公共場(chǎng)所,給人們的生活、學(xué)習(xí)、工作、娛樂(lè)帶來(lái)極大的

24、方便。由于數(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)域[2]。</p><p>  數(shù)字時(shí)鐘[10]是采用單片機(jī)原理實(shí)現(xiàn)對(duì)時(shí)、分、秒,數(shù)字顯示及到時(shí)提醒的計(jì)時(shí)裝置,廣泛用于個(gè)人家庭,車站, 碼頭辦公室等公共場(chǎng)所,成為人們?nèi)粘I钪胁豢缮俚谋匦杵?由于數(shù)字集成電路的發(fā)展和石英晶體振蕩器的廣泛應(yīng)用,使得數(shù)字鐘的精度,遠(yuǎn)遠(yuǎn)超過(guò)

25、老式鐘表, 鐘表的數(shù)字化給人們生產(chǎn)生活帶來(lái)了極大的方便,而且大大地?cái)U(kuò)展了鐘表原先的報(bào)時(shí)功能。諸如定時(shí)自動(dòng)報(bào)警、時(shí)間程序自動(dòng)控制、定時(shí)廣播、自動(dòng)起閉路燈、定時(shí)開(kāi)關(guān)烘箱、通斷動(dòng)力設(shè)備、甚至各種定時(shí)電氣的自動(dòng)啟用等,所有這些,都是以鐘表數(shù)字化為基礎(chǔ)的,所以數(shù)字時(shí)鐘有很大的發(fā)展前景。</p><p>  1.4 課題的研究?jī)?nèi)容及技術(shù)要求</p><p>  數(shù)字時(shí)鐘是采用單片機(jī)原理實(shí)現(xiàn)對(duì)“時(shí)”、“

26、分”、“秒”數(shù)字顯示的計(jì)時(shí)裝置。數(shù)字鐘的精度、穩(wěn)定度遠(yuǎn)遠(yuǎn)超過(guò)老式機(jī)械鐘的計(jì)時(shí)裝置,廣泛用于個(gè)人家庭,車站, 碼頭辦公室等公共場(chǎng)所,成為人們?nèi)粘I钪胁豢缮俚谋匦杵?由于數(shù)字集成電路的發(fā)展和石英晶體振蕩器的廣泛應(yīng)用,使得數(shù)字鐘的精度,遠(yuǎn)遠(yuǎn)超過(guò)老式鐘表, 鐘表的數(shù)字化給人們生產(chǎn)生活帶來(lái)了極大的方便,而且大大地?cái)U(kuò)展了鐘表原先的報(bào)時(shí)功能。都是以鐘表數(shù)字化為基礎(chǔ)的,所以數(shù)字時(shí)鐘有很大的發(fā)展前景。數(shù)碼管顯示的時(shí)間簡(jiǎn)單明了而且讀數(shù)快、時(shí)間準(zhǔn)確顯示到秒

27、。而機(jī)械式的依賴于晶體震蕩器,可能會(huì)導(dǎo)致誤差。</p><p>  數(shù)字時(shí)鐘是一種用數(shù)字電路技術(shù)實(shí)現(xiàn)時(shí)、分、秒計(jì)時(shí)的裝置,與機(jī)械式時(shí)鐘相比具有更高的準(zhǔn)確性和直觀性,且無(wú)機(jī)械裝置,具有更更長(zhǎng)的使用壽命,因此得到了廣泛的使用。數(shù)字時(shí)鐘從原理上講是一種典型的數(shù)字電路,其中包括了組合邏輯電路和時(shí)序電路。目前,數(shù)字時(shí)鐘的功能越來(lái)越強(qiáng),并且有多種專門的大規(guī)模集成電路可供選擇。</p><p><

28、b>  2.系統(tǒng)的初步設(shè)計(jì)</b></p><p><b>  2.1設(shè)計(jì)目的</b></p><p>  設(shè)計(jì)一種多功能數(shù)字鐘,該數(shù)字鐘具有基本功能和擴(kuò)展功能兩部分。其中,基本功能部分的有準(zhǔn)確計(jì)時(shí),以數(shù)字形式顯示時(shí)、分、秒的時(shí)間和校時(shí)功能。在計(jì)時(shí)出現(xiàn)誤差時(shí)電路還可以進(jìn)行校時(shí)和校分,為了使電路簡(jiǎn)單所設(shè)計(jì)的電路不具備校秒的功能。并且要用數(shù)碼管顯示時(shí)、分

29、、秒,各位均為兩位顯示,擴(kuò)展部分要有相應(yīng)的響應(yīng)電路。</p><p><b>  2.2設(shè)計(jì)要求</b></p><p>  具體要求:實(shí)現(xiàn)24小時(shí)的時(shí)鐘顯示、校準(zhǔn)等功能。</p><p>  (1)顯示功能:具有“時(shí)”、“分”、“秒”的數(shù)字顯示(“時(shí)”從0~23,分0~59,秒0~59)。</p><p> ?。?)復(fù)

30、位功能:當(dāng)數(shù)字時(shí)鐘有偏差時(shí),可以通過(guò)手動(dòng)的方式使其恢復(fù)初始零狀態(tài)。</p><p> ?。?)可以根據(jù)個(gè)人設(shè)想,適當(dāng)?shù)奶砑悠渌δ堋?lt;/p><p><b>  2.3.方案論證</b></p><p><b>  2.3.1計(jì)時(shí)方案</b></p><p>  數(shù)字鐘既可以通過(guò)純硬件實(shí)現(xiàn),也可以通

31、過(guò)軟硬結(jié)合實(shí)現(xiàn),根據(jù)電子時(shí)鐘的核心部件——秒信號(hào)的產(chǎn)生原理,通常有三鐘形式:</p><p> ?。?) 用NE555時(shí)基電路的形式</p><p>  采用NE555時(shí)基電路或其他震蕩電路產(chǎn)生秒脈沖信號(hào),作為秒加法電路的時(shí)鐘信號(hào)或微處理器的外部中斷輸入信號(hào),可構(gòu)成電子時(shí)鐘。由555構(gòu)成的秒脈沖發(fā)生器電路如圖2-1所示。輸出的脈沖信號(hào)V0的頻率F=1.443/(RA+2RB)×C

32、,可通過(guò)調(diào)節(jié)這3個(gè)參數(shù),使輸V0的頻率為精確的1Hz[3]。</p><p>  圖2-1: 555構(gòu)成的秒脈沖發(fā)生器電路</p><p>  利用555多諧振蕩器,優(yōu)點(diǎn):555內(nèi)部的比較器靈敏度較高,而且采用差</p><p>  分電路形式,它的振蕩頻率受電源電壓和溫度變化的影響很小。缺點(diǎn):要精確</p><p>  輸出1Hz脈沖,對(duì)電

33、容和電阻的數(shù)值精度要求很高,所以輸出脈沖既不夠準(zhǔn)確</p><p><b>  也不夠穩(wěn)定。 </b></p><p> ?。?) 采用石英鐘專用芯片的實(shí)現(xiàn)形式</p><p>  采用石英鐘專用計(jì)時(shí)芯片實(shí)現(xiàn)的電子鐘,具有實(shí)現(xiàn)簡(jiǎn)單、計(jì)時(shí)精度高的特點(diǎn)。石英計(jì)時(shí)芯片(簡(jiǎn)稱“機(jī)芯”)比較多,常見(jiàn)的有STP5512F、SM5546A和D60400等[4

34、]?,F(xiàn)基于5512F的2秒輸出信號(hào)作為秒加法電路的計(jì)時(shí)脈沖,可實(shí)現(xiàn)電子時(shí)鐘。5512F的引腳如圖2-2所示。</p><p>  其中,引腳7、8為外接晶振及振蕩電路,引腳1接電源正極,電源為1.5伏,引腳3、4原為指針用步進(jìn)電機(jī)線圈的輸出驅(qū)動(dòng)端,這里可用3腳作為脈沖輸出,頻率決定于外接晶振的頻率。</p><p> ?。?) 采用基于單片機(jī)的實(shí)現(xiàn)形式</p><p&g

35、t;  利用單片機(jī)的智能性,可方便的實(shí)現(xiàn)具有智能數(shù)字鐘的設(shè)計(jì)。而且,微處理系統(tǒng)具有時(shí)鐘振蕩系統(tǒng),利用系統(tǒng)時(shí)鐘并借助微處理器的定時(shí)/計(jì)數(shù)器功能可以實(shí)現(xiàn)數(shù)字鐘的功能。本設(shè)計(jì)采用AT89C2051單片機(jī)設(shè)計(jì)。</p><p>  由于考慮成本問(wèn)題,最終選擇方案三最為合適。</p><p>  2.3.2.顯示方案</p><p>  對(duì)于實(shí)時(shí)時(shí)鐘而言,顯示顯然是另一個(gè)重要

36、的環(huán)節(jié)。通常LED顯示有兩種方式:動(dòng)態(tài)顯示和靜態(tài)顯示。</p><p>  靜態(tài)顯示的優(yōu)點(diǎn)是程序簡(jiǎn)單、顯示亮度有保證、單片機(jī)CPU的開(kāi)銷小,節(jié)約CPU的工作時(shí)間。但占有I/O口線多,每一個(gè)LED都要占有一個(gè)I/O口,硬件開(kāi)銷大,電路復(fù)雜。需要幾個(gè)LED就必須占有幾個(gè)并行口,比較適用于LED數(shù)量較少的場(chǎng)合。當(dāng)然當(dāng)LED數(shù)量較多的時(shí)候,可以使用單片機(jī)的串行口通過(guò)移位寄存器的方式加以解決,但程序編寫(xiě)比較麻煩。</

37、p><p>  LED動(dòng)態(tài)顯示硬件連接簡(jiǎn)單,但動(dòng)態(tài)掃描的顯示方式需要占有CPU較多的時(shí)間,在單片機(jī)沒(méi)有太多實(shí)時(shí)測(cè)控任務(wù)的情況下可以采用。</p><p>  本系統(tǒng)需要采用6位LED數(shù)碼管來(lái)分別顯示時(shí)、分、秒,因數(shù)碼管個(gè)數(shù)較多,故本系統(tǒng)選擇動(dòng)態(tài)顯示方式。</p><p><b>  2.4.系統(tǒng)框圖</b></p><p>

38、<b>  圖2-4 系統(tǒng)框圖</b></p><p>  說(shuō)明:系統(tǒng)由STC89C52、LED 數(shù)碼管、按鍵等部分構(gòu)成,能實(shí)現(xiàn)時(shí)間的調(diào)整、定時(shí)時(shí)間的設(shè)定,輸出等功能。系統(tǒng)的功能選擇由暫停和開(kāi)始鍵完成。其中暫停為時(shí)間校對(duì),定時(shí)器調(diào)整功能鍵,按暫停進(jìn)入調(diào)整狀態(tài)。當(dāng)按下暫停鍵后,可以按下數(shù)字鍵調(diào)節(jié)當(dāng)前時(shí)間;開(kāi)始鍵為退出調(diào)整模式,當(dāng)按下此按鍵時(shí),時(shí)鐘從設(shè)置好的時(shí)間處正常運(yùn)行;當(dāng)系統(tǒng)超出設(shè)置的24:

39、00時(shí),將自動(dòng)從00:00開(kāi)始運(yùn)行,直到暫停鍵按下為止。</p><p><b>  3.系統(tǒng)硬件設(shè)計(jì)</b></p><p>  3.1 單片機(jī)最小系統(tǒng)</p><p>  單片機(jī)中央處理系統(tǒng)的方案設(shè)計(jì),選用STC89C52單片機(jī)作為中央處理器,該單片機(jī)除了擁有MCS-51系列單片機(jī)的所有優(yōu)點(diǎn)外,內(nèi)部還具有8K的在系統(tǒng)可編程FLASH存儲(chǔ)器,

40、低功耗的空閑和掉電模式,極大的降低了電路的功耗,還包含了定時(shí)器、程序存儲(chǔ)器、數(shù)據(jù)存儲(chǔ)器等硬件,其硬件能符合整個(gè)控制系統(tǒng)的要求,不需要外接其他存儲(chǔ)器芯片和定時(shí)器件,方便地構(gòu)成一個(gè)最小系統(tǒng)。整個(gè)系統(tǒng)結(jié)構(gòu)緊湊,抗干擾能力強(qiáng),性價(jià)比高。</p><p>  本系統(tǒng)采用STC89C52作為核心的控制芯片,用緊鎖座安裝單片機(jī)方便更換,具體芯片的外部引腳圖3.1所示:</p><p><b>

41、  圖3.1</b></p><p><b>  3.2 晶振電路</b></p><p>  系統(tǒng)利用晶體振蕩器作為時(shí)鐘電路,根據(jù)晶振的不同使用要求及特點(diǎn),通常分為以下幾類:普通晶振、溫補(bǔ)晶振、壓控晶振、溫控晶振等。安裝晶振時(shí),應(yīng)根據(jù)其引腳功能標(biāo)識(shí)與應(yīng)用電路應(yīng)連接,避免電源引線與輸出引腳相接輸出。 </p><p>  本設(shè)計(jì)晶振

42、電路采用12M的晶振。晶振的作用是給單片機(jī)正常工作提供穩(wěn)定的時(shí)鐘信號(hào)。單片機(jī)的晶振并不是只能用12M,只要不超過(guò)20M就行,在準(zhǔn)許的范圍內(nèi),晶振越大,單片機(jī)運(yùn)行越快,還有用12M的就是好算時(shí)間,因?yàn)橐粋€(gè)機(jī)器周期為1/12時(shí)鐘周期,所以這樣用12M的話,一個(gè)時(shí)鐘周期為12us,那么定時(shí)器計(jì)一次數(shù)就是1us了,電容范圍在20-40pF之間,這里連接的是30pF的電容。</p><p><b>  3.3復(fù)位

43、電路</b></p><p><b>  圖3.3復(fù)位電路</b></p><p>  智能系統(tǒng)一般應(yīng)有手動(dòng)或上電復(fù)位電路。復(fù)位電路的實(shí)現(xiàn)通常有兩種形式:即專用µp監(jiān)控電路和RC復(fù)位電路。前者電路實(shí)現(xiàn)簡(jiǎn)單,成本低,但復(fù)位可靠性相對(duì)較低;后者成本較高,但復(fù)位可靠性高,尤其是高可靠重復(fù)復(fù)位。對(duì)于復(fù)位要求高,并對(duì)電源電壓進(jìn)行監(jiān)視的場(chǎng)合,大多采用這種方式

44、。</p><p>  本設(shè)計(jì)采用上電按鈕復(fù)位電路:首先經(jīng)過(guò)上電復(fù)位,當(dāng)按下按鍵時(shí),RST直接與VCC相連,為高電平形成復(fù)位,同時(shí)電解電容被電路放電;按鍵松開(kāi)時(shí),VCC對(duì)電容充電,充電電流在電阻上,RST依然為高電平,仍然是復(fù)位,充電完成后,電容相當(dāng)于開(kāi)路,RST為低電平,單片機(jī)芯片正常工作。其中電阻R2決定了電容充電的時(shí)間,R2越大則充電時(shí)間長(zhǎng),復(fù)位信號(hào)從VCC回落到0V的時(shí)間也長(zhǎng)。</p>&l

45、t;p>  3.4 數(shù)碼顯示電路</p><p>  3.4.1 LED的選擇</p><p>  單片機(jī)I/O的應(yīng)用最典型的是通過(guò)I/O口與7段LED數(shù)碼管構(gòu)成顯示電路,7段LED數(shù)碼管,在一定形狀的絕緣材料上,利用單只LED組合排列成“8”字型的數(shù)碼管,分別引出它們的電極,點(diǎn)亮相應(yīng)的點(diǎn)劃來(lái)顯示出0-9的數(shù)字。LED數(shù)碼管根據(jù)LED的接法不同分為共陰和共陽(yáng)兩類,了解LED的這些特性

46、,對(duì)編程是很重要的,因?yàn)椴煌愋偷臄?shù)碼管,除了它們的硬件電路有差異外 ,編程方法也是不同的。下圖3-10陰和共陽(yáng)極數(shù)碼管的內(nèi)部電路,它們的發(fā)光原理是一樣的,只是它們的電源極性不同而已。 </p><p>  將多只LED的陰極連在一起即為共陰式,而將多只LED的陽(yáng)極連在一起即為共陽(yáng)式。以共陰式為例,如把陰極接地,在相應(yīng)段的陽(yáng)極接上正電源,該段即會(huì)發(fā)光。當(dāng)然,LED的電

47、流通常較小,一般均需在回路中接上限流電阻。假如我們將"b"和"c"段接上正電源,其它端接地或懸空,那么"b"和"c"段發(fā)光,此時(shí),數(shù)碼管顯示將顯示數(shù)字“1”。而將"a"、"b"、"d"、"e"和"g"段都接上正電源,其它引腳懸空,此時(shí)數(shù)碼管將顯示“2”。其它字

48、符的顯示原理類同。</p><p>  圖3-5 數(shù)碼管電路</p><p>  用單片機(jī)驅(qū)動(dòng)LED數(shù)碼管有很多方法,按顯示方式分,有靜態(tài)顯示和動(dòng)態(tài)(掃描)顯示,按譯碼方式可分硬件譯碼和軟件譯碼之分。靜態(tài)顯示就是顯示驅(qū)動(dòng)電路具有輸出鎖存功能,單片機(jī)將所要顯示的數(shù)據(jù)送出后就不再控制LED,直到下一次顯示數(shù)據(jù)需要更新時(shí)再傳送一次新數(shù)據(jù),顯示數(shù)據(jù)穩(wěn)定,占用很少的CPU時(shí)間;動(dòng)態(tài)顯示需要CPU時(shí)刻

49、對(duì)顯示器件進(jìn)行數(shù)據(jù)刷新,顯示數(shù)據(jù)有閃爍感,占用的CPU時(shí)間多。</p><p>  這兩種顯示方式各有利弊:動(dòng)態(tài)顯示雖然有閃爍感,占用的CPU時(shí)間較多,但是用的硬件少,能節(jié)省線路板的空間。動(dòng)態(tài)掃描顯示接口是單片機(jī)種應(yīng)用最廣泛的一種顯示方式。其接口電路是把所有的LED顯示器的8個(gè)筆畫(huà)段A~G、DP的同名端連在一起,而每一個(gè)數(shù)碼管的公共端COM是各自獨(dú)立地受I/O線控制。CPU向字段輸出口送出字形碼時(shí),所有顯示器接收

50、到相同的字形碼,但究竟是哪個(gè)顯示器亮,則取決于COM端,而這一端由I/O控制的,可以自行決定何時(shí)顯示哪一位了。而所謂動(dòng)態(tài)掃描就是指我們采用分時(shí)的方法,輪流控制各個(gè)顯示器的COM端,使各個(gè)顯示器輪流點(diǎn)亮。在輪流點(diǎn)亮掃描過(guò)程中,每位顯示器的點(diǎn)亮?xí)r間是極為短暫的,約1ms左右,但是由于人的視覺(jué)暫留現(xiàn)象及發(fā)光余暉效應(yīng),盡管實(shí)際上各位顯示器并非同時(shí)點(diǎn)亮,但只要掃描的速度足夠快,給人的印象就是一組穩(wěn)定的顯示數(shù)據(jù),不會(huì)有閃爍感。</p>

51、<p>  靜態(tài)顯示雖然數(shù)據(jù)穩(wěn)定,占用很少的CPU時(shí)間,但每個(gè)顯示單元都需要單獨(dú)的顯示驅(qū)動(dòng)電路,使用的硬件較多,但是編程相對(duì)于動(dòng)態(tài)顯示比較簡(jiǎn)單,本設(shè)計(jì)采用的是靜態(tài)顯示方案。</p><p>  3.4.2 LED的驅(qū)動(dòng)和顯示</p><p>  單片機(jī)對(duì)LED數(shù)碼管的驅(qū)動(dòng)方法可以分為串行和并行兩種,分別適用于不同的使用場(chǎng)合,兩者的硬件電路和程序區(qū)別也很大。</p>

52、<p>  并行驅(qū)動(dòng):在一般情況下,單片機(jī)使用并行驅(qū)動(dòng)的方式進(jìn)行LED的顯示。并行驅(qū)動(dòng)的結(jié)構(gòu)較簡(jiǎn)單,并且非常適用于說(shuō)明地址和數(shù)據(jù)總線復(fù)用的情況。</p><p>  LED并行驅(qū)動(dòng)的電路原理圖如圖3.4所示。</p><p>  圖 3.4最終的顯示原理圖</p><p>  圖中顯示的是使用STC89C52與LED顯示器的接口,STC89C52的P10

53、~P17作為段選碼口,經(jīng)過(guò)74HC573驅(qū)動(dòng)與LED的段相連;STC89C52的P10~P15作為位選碼口,經(jīng)過(guò)74HC573驅(qū)動(dòng)與LED的位相連。圖中的P2.6作為74HC573的段選信號(hào),P2.7作為74HC573的位選信號(hào)。</p><p><b>  3.5 按鍵電路</b></p><p>  按鍵電路由12個(gè)輕觸開(kāi)關(guān)組成,如圖2.5所示。按鍵用來(lái)調(diào)整時(shí)間

54、,其兩端分別接到單片機(jī)的端口,構(gòu)成3*4的矩陣鍵盤,當(dāng)按下按鍵時(shí),通過(guò)鍵盤掃描程序就可以知道哪個(gè)按鍵按下,從而執(zhí)行相應(yīng)的程序段。</p><p><b>  圖3.5按鍵電路</b></p><p>  鍵盤的操作,無(wú)論是按鍵或鍵盤都是利用機(jī)械觸點(diǎn)的合、斷作用。一個(gè)電壓信號(hào)通過(guò)機(jī)械觸點(diǎn)的閉合、斷開(kāi)過(guò)程。由于機(jī)械觸點(diǎn)的彈性作用,在閉合及斷開(kāi)瞬間均有抖動(dòng)過(guò)程,會(huì)出現(xiàn)一系列

55、負(fù)脈沖。抖動(dòng)時(shí)間的長(zhǎng)短,與開(kāi)關(guān)的機(jī)械特性有關(guān),一般為5—10ms。</p><p>  一組按鍵或鍵盤都要通過(guò)I/O口線查詢按鍵的開(kāi)關(guān)狀態(tài)。且獨(dú)立式按鍵電路配置靈活,</p><p>  軟件結(jié)構(gòu)簡(jiǎn)單,但每個(gè)按鍵必須占用一根I/O口線,在按鍵數(shù)量較時(shí),I/O口線浪費(fèi)較大。</p><p><b>  3.6校準(zhǔn)電路 </b></p>

56、<p>  數(shù)字鐘應(yīng)具有分校正和時(shí)校正功能,因此,應(yīng)截?cái)喾謧€(gè)位和時(shí)個(gè)位的直接計(jì)數(shù)通路,并采用正常計(jì)時(shí)信號(hào)與校正信號(hào)可以隨時(shí)切換的電路接入其中。校正信號(hào)可直接取自信號(hào)發(fā)生器產(chǎn)生的信號(hào);輸出端則與分或時(shí)個(gè)位計(jì)時(shí)輸入端相連。</p><p>  當(dāng)開(kāi)關(guān)打到一端時(shí),正常輸入信號(hào)可以順利通過(guò),故校時(shí)電路處于正常計(jì)時(shí)狀態(tài);當(dāng)開(kāi)關(guān)打到一端時(shí),信號(hào)產(chǎn)生校時(shí)電路處于校時(shí)狀態(tài)。</p><p>

57、<b>  4.系統(tǒng)軟件設(shè)計(jì)</b></p><p>  4.1主程序流程圖如下:</p><p><b>  控制過(guò)程描述:</b></p><p>  首先設(shè)置好單片機(jī)的初始模式,打開(kāi)定時(shí)器0,用定時(shí)器0產(chǎn)生秒信號(hào),程序正常運(yùn)行,當(dāng)秒信號(hào)達(dá)到60時(shí),分信號(hào)自動(dòng)加1,秒信號(hào)清0,;當(dāng)分信號(hào)到達(dá)60時(shí),時(shí)信號(hào)自動(dòng)加1,分信

58、號(hào)清0;當(dāng)時(shí)信號(hào)到達(dá)24時(shí),時(shí)、分、秒信號(hào)全部清0從頭開(kāi)始運(yùn)行。</p><p>  同時(shí),當(dāng)運(yùn)行中檢測(cè)到有暫停鍵按下,此時(shí)計(jì)數(shù)立即暫停,等待輸入數(shù)字鍵,調(diào)節(jié)當(dāng)前時(shí)間,取數(shù)字鍵前6個(gè)的鍵值作為設(shè)置的時(shí)間,然后等待開(kāi)始鍵按下繼續(xù)運(yùn)行</p><p>  4.2按鍵流程圖如下:</p><p><b>  圖4.2案件流程圖</b></p&g

59、t;<p><b>  控制過(guò)程描述:</b></p><p>  首先應(yīng)先按下暫停鍵,按鍵的功能才能啟動(dòng),然后按下一個(gè)數(shù)字鍵調(diào)節(jié)第一個(gè)數(shù)碼管時(shí)間,第一個(gè)數(shù)碼管代表小時(shí)的十位數(shù),只能設(shè)置為0、1、2,當(dāng)?shù)谝粋€(gè)鍵值是0或1時(shí),第二個(gè)鍵值可以在0~9之間任意選擇;當(dāng)?shù)谝粋€(gè)鍵值是2時(shí),第二個(gè)鍵值必須在0~4之間選擇;第三個(gè)鍵值代表分鐘的十位只能在0~5內(nèi)選擇,第四個(gè)鍵值可在0~9內(nèi)選

60、擇;第5個(gè)鍵值代表秒的十位,可在0~5內(nèi)選擇,第6個(gè)鍵值可在0~9內(nèi)選擇。選擇結(jié)束后等待開(kāi)始鍵按下,正常運(yùn)行。</p><p><b>  5.綜合調(diào)試</b></p><p><b>  5.1秒信號(hào)的測(cè)試</b></p><p>  用數(shù)字秒表測(cè)設(shè)定時(shí)間內(nèi)數(shù)字時(shí)鐘的計(jì)數(shù)個(gè)數(shù),每個(gè)計(jì)數(shù)值代表1S,結(jié)果如下:</p&

61、gt;<p><b>  誤差分析:</b></p><p>  測(cè)試時(shí)間為20s時(shí):error=20-20/20=0,此時(shí)無(wú)誤差</p><p>  測(cè)試時(shí)間為40s時(shí):error=40-((40+39+39)/3)/40=0.017</p><p>  測(cè)試時(shí)間為20s時(shí):error=60-59/60=0.017</p&

62、gt;<p>  綜上:信號(hào)的誤差很小,秒信號(hào)符合設(shè)計(jì)要求。</p><p>  5.2 時(shí)間設(shè)置功能的測(cè)試</p><p>  圖5.1 圖5.2</p><p>  圖5.3

63、 圖5.4</p><p>  說(shuō)明:數(shù)字時(shí)鐘開(kāi)機(jī)后如圖4.1所示從00:00:00開(kāi)始運(yùn)行,當(dāng)按下暫停鍵并依次按下鍵值為1,2,5,9,5,9設(shè)置時(shí)間為12:59:59,如圖4.2所示;當(dāng)按下開(kāi)始鍵后,從12:59:59處開(kāi)始運(yùn)行如圖4.3所示;當(dāng)達(dá)到23:59:59時(shí)自動(dòng)從圖4.3變?yōu)閳D4.1所示的時(shí)間。</p><p>  綜上:本設(shè)計(jì)滿足要求,能夠

64、實(shí)現(xiàn)數(shù)字時(shí)鐘的完整功能。</p><p>  由電路各個(gè)部分的子電路構(gòu)成的各個(gè)部分的功能,再由數(shù)字時(shí)鐘的系統(tǒng)原理框圖,可以清楚的知道了總體的電路情況。</p><p>  由總圖可以看出和清楚的整個(gè)數(shù)字時(shí)鐘的總體工作原理和整個(gè)工作過(guò)程:</p><p>  由555和RC構(gòu)成的振蕩器產(chǎn)生的秒脈沖信號(hào),進(jìn)入60進(jìn)制的“秒”計(jì)時(shí),“秒”的分位進(jìn)入60進(jìn)制的“分”計(jì)時(shí),由

65、分的“時(shí)”進(jìn)位進(jìn)入24進(jìn)制的“時(shí)”計(jì)時(shí)。</p><p>  在電路中,還有由門電路和開(kāi)關(guān)構(gòu)成的校時(shí)電路對(duì)電路的“時(shí)”,“分”進(jìn)行校時(shí),得到正確的時(shí)間。</p><p><b>  6.總結(jié)</b></p><p>  轉(zhuǎn)眼間,為期四周的課程設(shè)計(jì)就結(jié)束了。通過(guò)這四周的課程設(shè)計(jì),我拓寬了知識(shí)面,鍛煉了能力,綜合素質(zhì)得到較大提高。</p>

66、;<p>  課程設(shè)計(jì)的過(guò)程中,由于對(duì)理論掌握的不熟練,或者是操作過(guò)程中發(fā)生失誤,都會(huì)導(dǎo)致最后結(jié)果出不來(lái)。至善至美,是人類永恒的追求。但是,不從忘卻“金無(wú)足赤,人無(wú)完人”,我們換種思維方式,去惡亦是至善,改錯(cuò)亦為至美。在課程設(shè)計(jì)過(guò)程中,我們不斷發(fā)現(xiàn)錯(cuò)誤,不斷改正,不斷領(lǐng)悟,不斷獲取。最終的檢測(cè)調(diào)試環(huán)節(jié),本身就是在踐行“過(guò)而能改,善莫大焉”的知行觀。</p><p>  對(duì)我們自動(dòng)化專業(yè)的本科生來(lái)說(shuō),

67、實(shí)際能力的培養(yǎng)至關(guān)重要,而這種實(shí)際能力的培養(yǎng)單靠課堂教學(xué)是遠(yuǎn)遠(yuǎn)不夠的,必須從課堂走向?qū)嵺`。這也是一次預(yù)演和準(zhǔn)備畢業(yè)設(shè)計(jì)工作。通過(guò)課程設(shè)計(jì),讓我們找出自身狀況與實(shí)際需要的差距,并在以后的學(xué)習(xí)期間及時(shí)補(bǔ)充相關(guān)知識(shí),為求職與正式工作做好充分的知識(shí)、能力準(zhǔn)備,從而縮短從校園走向社會(huì)的心理轉(zhuǎn)型期。</p><p>  通過(guò)課程設(shè)計(jì),我更加明白了一個(gè)真理,“實(shí)踐是檢驗(yàn)真理的唯一標(biāo)準(zhǔn)”。課程設(shè)計(jì)達(dá)到了專業(yè)學(xué)習(xí)的預(yù)期目的。課程設(shè)

68、計(jì)之后,我們普遍感到不僅實(shí)際動(dòng)手能力有所提高,更重要的是通過(guò)對(duì)設(shè)計(jì)過(guò)程的了解,進(jìn)一步激發(fā)了我們對(duì)專業(yè)知識(shí)的興趣,并能結(jié)合實(shí)際存在的問(wèn)題在專業(yè)領(lǐng)域內(nèi)進(jìn)行更深入的學(xué)習(xí)。</p><p><b>  參考文獻(xiàn)</b></p><p>  [1] 謝自美.電子線路設(shè)計(jì)·實(shí)驗(yàn)·測(cè)試[M].武漢:華中理工大學(xué)出版社,1992.</p><

69、p>  [2] 何立民.單片機(jī)應(yīng)用系統(tǒng)設(shè)計(jì)[M].北京:北京航空航天大學(xué)出版社,1993.</p><p>  [3] 樓然笛.單片機(jī)開(kāi)發(fā)[M].北京:人民郵電出版社,1994.[4] 付家才.單片機(jī)控制工程實(shí)踐技術(shù)[M].北京:化學(xué)工業(yè)出版社 2004.3.[5] 李光才.單片機(jī)課程設(shè)計(jì)實(shí)例指導(dǎo)[M].北京:北京航空航天大學(xué)出版社2004.</p><p>  [6]

70、 朱定華.單片機(jī)原理及接口技術(shù)實(shí)驗(yàn)[M].北京:北方交通大學(xué)出版社2002.11.</p><p>  [7] 劉湘濤.江世明.單片機(jī)原理與應(yīng)用[M]. 北京:電子工業(yè)出版社,2006.</p><p>  [8] 李廣弟,單片機(jī)基礎(chǔ),北京:北京航空航天大學(xué)出版社,2001</p><p>  [9] 李朝青.單片機(jī)原理機(jī)接口技術(shù)[M],北京航空航天大學(xué)出版社

71、2005.1[10] 靳達(dá).單片機(jī)應(yīng)用系統(tǒng)開(kāi)發(fā)實(shí)力導(dǎo)航[M],人民郵電出版社2003.10</p><p>  [11] 沈紅衛(wèi).基于單片機(jī)的智能系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)[M],電子工業(yè)出版社2005.1</p><p><b>  致謝</b></p><p>  本課題在選題及進(jìn)行過(guò)程中得到張老師的悉心指導(dǎo)。論文行文過(guò)程中,張老師多次幫助我分析思路

72、,開(kāi)拓視角。張老師嚴(yán)謹(jǐn)求實(shí)的治學(xué)態(tài)度,踏實(shí)堅(jiān)韌的工作精神,將使我終生受益。在此,謹(jǐn)向張老師致以誠(chéng)摯的謝意和崇高的敬意。經(jīng)過(guò)一個(gè)月的時(shí)間,課程設(shè)計(jì)按照預(yù)期完成了,由于本人的知識(shí)水平有限,論文和設(shè)計(jì)中有遺漏和缺陷的地方懇請(qǐng)指正。</p><p>  感謝老師給了我莫大的幫助,在他悉心的指導(dǎo)和嚴(yán)格的要求下,作品和論文順利完成了。論文從選題和最終完成,凝結(jié)著導(dǎo)師的辛勤的汗水,他不辭勞苦的教導(dǎo)、嚴(yán)謹(jǐn)?shù)淖黠L(fēng)使我終生受益。在此

73、設(shè)計(jì)完成之際,謹(jǐn)向?qū)熀退袔椭^(guò)我的老師致以崇高的敬意和衷心的感謝。</p><p>  附錄:數(shù)字時(shí)鐘設(shè)計(jì)程序</p><p>  #include<reg51.h></p><p>  #include<intrins.h></p><p>  #include<math.h></p>

74、<p>  #define uchar unsigned char</p><p>  #define uint unsigned int</p><p>  sbit rs=P2^0;</p><p>  sbit rw=P2^1;</p><p>  sbit en=P2^2;</p><p>  sbi

75、t reset=P1^5;</p><p>  sbit sclk=P1^6;</p><p>  sbit io=P1^7;</p><p>  sbit DQ=P3^0;</p><p>  uint tvalue;</p><p>  uchar tflag;</p><p>  uns

76、igned int disdata[4];</p><p>  unsigned char led_seg[10]</p><p>  ={0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90};//顯示段碼</p><p>  uchar str1[]={"date: "};</p>

77、<p>  uchar str2[]={"time: "};</p><p>  uchar init[]={0x00,0x10,0x16,0x05,0x08,0x03,0x09};//秒,分,時(shí) </p><p>  void delay()</p><p><b>  {</b></p><

78、p><b>  uchar j;</b></p><p>  for(j=250;j>0;j--);</p><p><b>  }</b></p><p>  void en_toggle()</p><p><b>  {</b></p><

79、p><b>  en=0;</b></p><p>  //_nop_();</p><p><b>  delay();</b></p><p><b>  en=1;</b></p><p><b>  delay();</b></p>

80、;<p>  // _nop_();</p><p><b>  en=0;</b></p><p>  } //注意必須加延時(shí),否則會(huì)出問(wèn)題的</p><p>  void is_ready()</p><p><b>  {</b></p>&

81、lt;p>  P0=0x00;//設(shè)置為輸入口 //注意:現(xiàn)實(shí)中應(yīng)該送0xff</p><p><b>  rs=0;</b></p><p><b>  rw=1;</b></p><p><b>  en=1;</b></p><p>  while(P0&0

82、x80);</p><p><b>  en=0;</b></p><p><b>  }</b></p><p>  void write_cmd(uchar cmd)//寫(xiě)指令//</p><p><b>  {</b></p><p>  is_r

83、eady();</p><p><b>  rs=0;</b></p><p><b>  rw=0;</b></p><p><b>  P0=cmd;</b></p><p>  en_toggle();</p><p><b>  _no

84、p_();</b></p><p><b>  }</b></p><p>  void write_data(uchar indata)//寫(xiě)數(shù)據(jù)//</p><p><b>  {</b></p><p>  is_ready();</p><p><b

85、>  rs=1;</b></p><p><b>  rw=0;</b></p><p>  P0=indata;</p><p>  en_toggle();</p><p><b>  _nop_();</b></p><p><b>  }&

86、lt;/b></p><p>  void write_str(uchar addr,uchar *p)</p><p><b>  {</b></p><p><b>  uchar i; </b></p><p>  write_cmd(addr);</p><p>

87、;  while(p[i]!='\0')</p><p>  {write_data(p[i]);</p><p><b>  i++;</b></p><p><b>  }</b></p><p><b>  }</b></p><p&g

88、t;  void write_position(uchar row,uchar col)</p><p><b>  {uchar p;</b></p><p>  if(row==1)</p><p>  {p=0x80+col-1;</p><p>  write_cmd(p);}</p><p&

89、gt;<b>  else</b></p><p>  {p=0xc0+col-1;</p><p>  write_cmd(p);</p><p><b>  }</b></p><p><b>  }</b></p><p>  void init_

90、lcd()//初始化//</p><p><b>  {</b></p><p>  write_cmd(0x38);</p><p>  write_cmd(0x0c);</p><p>  write_cmd(0x06);</p><p>  write_cmd(0x01);//清屏幕<

91、/p><p><b>  }</b></p><p>  void write_byte(uchar inbyte)</p><p><b>  {</b></p><p><b>  uchar i;</b></p><p>  for(i=8;i>

92、0;i--)</p><p><b>  {</b></p><p>  sclk=0; //寫(xiě)的時(shí)候低電平改變數(shù)據(jù)</p><p>  if(inbyte&0x01)</p><p><b>  io=1;</b></p><p><b>  else

93、</b></p><p><b>  io=0; </b></p><p>  sclk=1; //寫(xiě)的時(shí)候高電平,把數(shù)據(jù)寫(xiě)入ds1302</p><p><b>  _nop_();</b></p><p>  inbyte=inbyte>>1;</p>&

94、lt;p><b>  }</b></p><p><b>  }</b></p><p>  void wr_com(unsigned char com)//寫(xiě)指令//</p><p>  { is_ready();</p><p><b>  rs=0;</b><

95、/p><p><b>  rw=0;</b></p><p><b>  P0=com;</b></p><p><b>  delay();</b></p><p><b>  en=1;</b></p><p><b> 

96、 delay();</b></p><p><b>  en=0;</b></p><p><b>  }</b></p><p>  void wr_dat(unsigned char dat)//寫(xiě)數(shù)據(jù)//</p><p>  { delay();</p><p&

97、gt;<b>  rs=1;</b></p><p><b>  rw=0;</b></p><p><b>  en=0;</b></p><p><b>  P0=dat;</b></p><p>  en_toggle();</p>&

98、lt;p><b>  _nop_();</b></p><p><b>  }</b></p><p>  void display(unsigned char *p)//顯示//</p><p><b>  {</b></p><p>  while(*p!='

99、\0')</p><p><b>  {</b></p><p>  wr_dat(*p);</p><p><b>  p++;</b></p><p><b>  delay();</b></p><p><b>  }</b

100、></p><p><b>  }</b></p><p>  init_play()//初始化顯示//</p><p>  { init_lcd();</p><p>  wr_com(0x80);</p><p>  display(str1);</p><p>

101、  wr_com(0xc0);</p><p>  display(str2);</p><p><b>  }</b></p><p>  //注意點(diǎn):sclk的上升沿輸入數(shù)據(jù),sclk的下跳沿輸出數(shù)據(jù)</p><p>  //讀寫(xiě)時(shí)都是從第0位開(kāi)始</p><p>  uchar read_b

102、yte() //sclk的下跳沿讀數(shù)據(jù)</p><p><b>  {</b></p><p>  uchar i,temp=0; </p><p>  io=1; //設(shè)置為輸入口</p><p>  for(i=7;i>0;i--)</p><p><b> 

103、 {</b></p><p><b>  sclk=0;</b></p><p><b>  if(io==1)</b></p><p>  temp=temp|0x80;</p><p><b>  else</b></p><p>  t

104、emp=temp&0x7f;</p><p>  sclk=1; //產(chǎn)生下跳沿</p><p>  temp=temp>>1;</p><p><b>  }</b></p><p>  return (temp);</p><p><b>  }<

105、;/b></p><p>  void write_ds1302(uchar cmd,uchar indata)</p><p><b>  {</b></p><p><b>  reset=1;</b></p><p>  write_byte(cmd);</p><p

106、>  write_byte(indata);</p><p><b>  reset=0;</b></p><p><b>  sclk=0;</b></p><p><b>  }</b></p><p>  uchar read_ds1302(uchar addr)&

107、lt;/p><p><b>  {</b></p><p>  uchar backdata;</p><p><b>  reset=1;</b></p><p>  write_byte(addr);</p><p>  backdata=read_byte();//先寫(xiě)地址

108、,然后讀數(shù)據(jù)</p><p><b>  reset=0;</b></p><p><b>  sclk=0;</b></p><p>  return (backdata);</p><p><b>  }</b></p><p>  //------

109、------設(shè)置初始時(shí)間-------------------</p><p>  void set_ds1302(uchar addr,uchar *p,uchar n)//寫(xiě)入n個(gè)數(shù)據(jù)</p><p><b>  {</b></p><p>  write_ds1302(0x8e,0x00);//寫(xiě)控制字,允許寫(xiě)操作</p>

110、<p>  for(;n>0;n--)</p><p>  {write_ds1302(addr,*p);</p><p><b>  p++;</b></p><p>  addr=addr+2;</p><p><b>  }</b></p><p>  

111、write_ds1302(0x8e,0x80);//寫(xiě)保護(hù),不允許寫(xiě)</p><p><b>  }</b></p><p>  //----------- 讀取當(dāng)前時(shí)間-------------------</p><p>  void read_nowtime(uchar addr,uchar *p,uchar n)</p>

112、<p><b>  {</b></p><p>  for(;n>0;n--)</p><p><b>  {</b></p><p>  *p=read_ds1302(addr);</p><p><b>  p++;</b></p><p

113、>  addr=addr+2;</p><p><b>  } </b></p><p><b>  }</b></p><p>  void init_ds1302()</p><p><b>  {</b></p><p><b

114、>  reset=0;</b></p><p><b>  sclk=0;</b></p><p>  write_ds1302(0x80,0x00);//寫(xiě)控制字,允許寫(xiě)</p><p>  write_ds1302(0x90,0x00); </p><p><b>  }</b>

115、;</p><p>  //-----------ds1302模塊結(jié)束-------------------</p><p>  /******************************ds18b20*******************************/</p><p>  void delay_18B20(unsigned int i)//延時(shí)1微

116、秒//</p><p><b>  {</b></p><p>  while(i--);</p><p><b>  }</b></p><p>  void ds1820rst() /*ds1820復(fù)位*/</p><p>  { unsigned char x=0;&

117、lt;/p><p>  DQ = 1; //DQ復(fù)位</p><p>  delay_18B20(2); //延時(shí)</p><p>  DQ = 0; //DQ拉低//</p><p>  delay_18B20(50); //精確延時(shí)大于480us//</p><p>  DQ = 1

118、; //拉高//</p><p>  delay_18B20(20); </p><p><b>  } </b></p><p>  uchar ds1820rd() /*讀數(shù)據(jù)*/</p><p><b>  { </b></p><p>  unsi

119、gned char i=0;</p><p>  unsigned char dat = 0;</p><p>  for (i=8;i>0;i--)</p><p><b>  { </b></p><p>  DQ = 0; //給脈沖信號(hào)//</p><p><b>  

120、dat>>=1;</b></p><p>  DQ = 1; //給脈沖信號(hào)//</p><p><b>  if(DQ)</b></p><p>  dat|=0x80;</p><p>  delay_18B20(5);</p><p><b>  }<

121、/b></p><p>  return(dat);</p><p><b>  }</b></p><p>  void ds1820wr(uchar wdata)/*寫(xiě)數(shù)據(jù)*/</p><p><b>  {</b></p><p>  unsigned char

122、i=0;</p><p>  for (i=8; i>0; i--)</p><p><b>  {</b></p><p><b>  DQ = 0;</b></p><p>  DQ = wdata&0x01;</p><p>  delay_18B20(5

123、);</p><p><b>  DQ = 1;</b></p><p>  wdata>>=1;</p><p><b>  }</b></p><p><b>  }</b></p><p>  read_temp()</p>

124、<p><b>  {</b></p><p>  uchar a,b;</p><p>  ds1820rst(); </p><p>  ds1820wr(0xcc);</p><p>  ds1820wr(0x44);</p><p>  ds1820rst();

125、 </p><p>  ds1820wr(0xcc); </p><p>  ds1820wr(0xbe); </p><p>  a=ds1820rd();</p><p>  b=ds1820rd();</p><p><b>  tvalue=b;</b></p><p&

126、gt;  tvalue<<=8;</p><p>  tvalue=tvalue|a;</p><p>  if(tvalue<0x0fff)</p><p>  tflag=0; </p><p><b>  else</b></p><p><b>  

127、{</b></p><p>  tvalue=~tvalue+1; </p><p><b>  tflag=1;</b></p><p><b>  }</b></p><p>  tvalue*=6.25;</p><p>  return(tvalue);

溫馨提示

  • 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)論