2023年全國(guó)碩士研究生考試考研英語(yǔ)一試題真題(含答案詳解+作文范文)_第1頁(yè)
已閱讀1頁(yè),還剩42頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、<p><b>  一、課程設(shè)計(jì)的內(nèi)容</b></p><p>  用STC89C52單片機(jī)制作一測(cè)溫儀旋轉(zhuǎn)LED時(shí)鐘:</p><p>  1.設(shè)計(jì)并繪制硬件電路圖;</p><p><b>  2.焊接好元器件;</b></p><p>  3.編寫(xiě)程序并將調(diào)試好的程序固化到單片機(jī)中。

2、</p><p>  二、課程設(shè)計(jì)的要求與數(shù)據(jù)</p><p>  單片機(jī)采用STC89C52芯片,時(shí)鐘芯片采用DS1302。用電機(jī)帶動(dòng)驅(qū)動(dòng)板旋轉(zhuǎn)系統(tǒng)上電后,驅(qū)動(dòng)板的LED將會(huì)在電機(jī)帶動(dòng)下動(dòng)態(tài)掃描出時(shí)鐘畫(huà)面,并且可以用紅外遙控調(diào)時(shí)。</p><p>  三、課程設(shè)計(jì)應(yīng)完成的工作</p><p>  1. 完成軟件、硬件的設(shè)計(jì),并進(jìn)行硬件的焊接

3、制作,并將調(diào)試成功的程序固化到單片機(jī)中,最后進(jìn)行硬件與軟件的調(diào)試;</p><p>  2.撰寫(xiě)設(shè)計(jì)說(shuō)明書(shū)。</p><p>  四、課程設(shè)計(jì)進(jìn)程安排</p><p>  五、應(yīng)收集的資料及主要參考文獻(xiàn)</p><p>  譚浩強(qiáng).C語(yǔ)言程序設(shè)計(jì)(第二版)。北京:清華大學(xué)出版社,1999年12月</p><p>  目

4、 錄</p><p>  廣東工業(yè)大學(xué)課程設(shè)計(jì)任務(wù)書(shū)·····························&

5、#183;···········1</p><p>  摘要····················

6、83;····································&

7、#183;·····4</p><p>  一、課題設(shè)計(jì)的要求及目的·························

8、;··················5</p><p>  1.1設(shè)計(jì)要求·············&#

9、183;····································

10、·5</p><p>  1.2課程設(shè)計(jì)目的······························&

11、#183;················5</p><p>  二、設(shè)計(jì)方案···············

12、;····································

13、83;····5</p><p>  三、系統(tǒng)框圖與工作原理··························&#

14、183;··················8</p><p>  3.1單片機(jī)系統(tǒng)工作架構(gòu)············

15、·····························8</p><p>  3.2系統(tǒng)工作原理··&

16、#183;····································

17、;·······10</p><p>  四、設(shè)計(jì)元器件說(shuō)明························

18、;·························10</p><p>  4.1 PLCC STC89C52RC簡(jiǎn)介···

19、3;······························10</p><p>  4.2 74HC573芯片

20、與光電傳感器簡(jiǎn)介·····························12</p><p>  4.3 紅外簡(jiǎn)介·

21、;····································

22、83;············13</p><p>  4.4 DS1302、LM7805芯片簡(jiǎn)介················

23、83;·················15</p><p>  4.5 LED 動(dòng)態(tài)顯示原理············

24、3;····························17</p><p>  五、系統(tǒng)硬件電路設(shè)計(jì)··

25、83;····································&

26、#183;·······18</p><p>  六、系統(tǒng)軟件設(shè)計(jì)·······················&#

27、183;···························19</p><p>  6.1 單片機(jī)解碼紅外信號(hào)程序··&#

28、183;·································19</p><

29、p>  6.2 單片機(jī)讀寫(xiě)DS1302程序································

30、3;·····22</p><p>  6.3 自適應(yīng)轉(zhuǎn)速·························

31、3;······················25</p><p>  6.4 數(shù)字顯示模式········

32、83;····································&

33、#183;26</p><p>  6.5 指針顯示模式······························

34、················26</p><p>  七、總結(jié)與體會(huì)···············&#

35、183;····································

36、·27</p><p>  八、參考文獻(xiàn)······························

37、83;························27</p><p>  附錄A 完整源程序······

38、83;····································&

39、#183;······28</p><p>  附錄B 實(shí)物圖························

40、83;·····························41</p><p>  摘 要</p&g

41、t;<p>  旋轉(zhuǎn)LED鐘,在國(guó)外一般稱(chēng)為“螺旋槳時(shí)鐘”(propeller clock),是利用“視覺(jué)暫留”原理制作而成。將單片機(jī)控制的LED流水燈設(shè)備稍作改進(jìn),讓它動(dòng)起來(lái),就能神奇地顯示各種字符或圖案,其效果如浮在空中一般。旋轉(zhuǎn)LED顯示是利用機(jī)械轉(zhuǎn)動(dòng)動(dòng)態(tài)掃描代替?zhèn)鹘y(tǒng)逐行掃描方式,顯示屏其實(shí)質(zhì)就是與機(jī)械轉(zhuǎn)動(dòng)配合起來(lái)的動(dòng)態(tài)掃描顯示技術(shù)。本設(shè)計(jì)利用高速旋轉(zhuǎn)中控制LED燈的亮滅,進(jìn)行字符的顯示,控制器采用STC89C52單

42、片機(jī),借助人的視覺(jué)暫留效果,通過(guò)LED燈的機(jī)械掃描方式來(lái)顯示各種字符和圖像。 LED旋轉(zhuǎn)時(shí)鐘正是基于機(jī)械轉(zhuǎn)動(dòng)動(dòng)態(tài)掃描技術(shù),以及人的視覺(jué)暫留效果做成的,它主要包括單片機(jī)STC89C52、時(shí)鐘芯片DS1302、光電耦合器件等。 </p><p>  我們做的這個(gè)時(shí)鐘具有兩種顯示模式:一種是字符式數(shù)字顯示模式,可在一個(gè)屏上顯示年月日和時(shí)分秒信息;另一種是指針式模擬顯示模式,可仿真指針式鐘表顯示時(shí)分秒信息。同時(shí)還設(shè)有紅外

43、遙控功能,可通過(guò)遙控器改變顯示模式和調(diào)整時(shí)鐘的時(shí)值。</p><p>  關(guān)鍵詞:視覺(jué)暫留 旋轉(zhuǎn)時(shí)鐘 動(dòng)態(tài)掃描</p><p>  一、課題設(shè)計(jì)的要求及目的</p><p><b>  1.1 設(shè)計(jì)要求</b></p><p>  (1)驅(qū)動(dòng)板在電機(jī)的旋轉(zhuǎn)帶動(dòng)下能夠顯示時(shí)鐘畫(huà)面,并能夠自動(dòng)計(jì)時(shí)。</p>

44、<p>  (2)由于電機(jī)工作電壓,環(huán)境因素的影響下,電機(jī)轉(zhuǎn)速不穩(wěn)定使時(shí)鐘畫(huà)面不穩(wěn)定,所以要求程序能夠自適應(yīng)調(diào)整轉(zhuǎn)速,使時(shí)鐘畫(huà)面基本穩(wěn)定不變。</p><p>  (3)要求能夠通過(guò)紅外遙控實(shí)現(xiàn)數(shù)字時(shí)鐘和指針時(shí)鐘2種模式間轉(zhuǎn)換</p><p> ?。?)要求能夠通過(guò)紅外遙控設(shè)置時(shí)間。</p><p>  1.2 課程設(shè)計(jì)目的</p>&l

45、t;p> ?。?)訓(xùn)練正確地應(yīng)用單片微機(jī),培養(yǎng)解決工業(yè)控制、工業(yè)檢測(cè)等領(lǐng)域具體問(wèn)題的初步能力。</p><p> ?。?)該設(shè)計(jì)熟悉單片微機(jī)應(yīng)用系統(tǒng)開(kāi)發(fā)、研制的過(guò)程,軟硬件設(shè)計(jì)的工作方法、工作內(nèi)容、工作步驟。</p><p>  (3)提高學(xué)生理論與實(shí)踐結(jié)合的能力,將理論知識(shí)運(yùn)用到實(shí)踐中來(lái),能更好的掌握課本理論知識(shí)。</p><p><b>  二、

46、設(shè)計(jì)方案</b></p><p><b>  (1)供電方式選擇</b></p><p><b>  1、常見(jiàn)的供電方式</b></p><p>  根據(jù)調(diào)查的結(jié)果,指針板的供電方式一般有以下三種:</p><p><b>  1)自感應(yīng)發(fā)電</b></p&g

47、t;<p>  這種方法,就是從驅(qū)動(dòng)板上引出導(dǎo)線(xiàn),接入到電機(jī)內(nèi)部繞在轉(zhuǎn)子上,電機(jī)旋轉(zhuǎn)時(shí)該導(dǎo)線(xiàn)切割磁場(chǎng)產(chǎn)生感應(yīng)電動(dòng)勢(shì),經(jīng)過(guò)整流后作為指針板上的電源。</p><p>  A、這種方式的優(yōu)點(diǎn)是:</p><p>  設(shè)計(jì)很巧妙,無(wú)機(jī)械磨損。</p><p>  更巧妙的是,由于感應(yīng)出來(lái)的電動(dòng)勢(shì)是交流的,所以可以利用該過(guò)零

48、 信號(hào)來(lái)定位,不必另外準(zhǔn)備定位信號(hào)了。</p><p>  B、這種方式的缺點(diǎn)是:</p><p>  提供的電流有限,只能適合 LED 較少的旋轉(zhuǎn)時(shí)鐘,當(dāng) LED 數(shù)量較多時(shí),需要更多的電流,這種方式就不能滿(mǎn)足了。</p><p>  其次,這種方式要對(duì)電機(jī)本身進(jìn)行改造,也有一定的難度。并不是所有的電機(jī)都適合這種改造。而且這種改造可能會(huì)給電機(jī)帶來(lái)?yè)p害。<

49、/p><p>  另外還有一個(gè)問(wèn)題,就是這種方式,只有在電機(jī)旋轉(zhuǎn)時(shí)才能發(fā)電給驅(qū)動(dòng)板供電,一旦停止轉(zhuǎn)動(dòng),供電也就無(wú)以為繼了,這樣要實(shí)現(xiàn)旋轉(zhuǎn)時(shí)鐘的不間斷走時(shí),還得另加備用電池并采用低功耗設(shè)計(jì)。</p><p><b>  2)自備電池</b></p><p>  這種方式,就是在驅(qū)動(dòng)板上安裝電池,由電池供電。一般是用兩到三節(jié) 7 號(hào)電池。</p&

50、gt;<p>  A、這種方式的優(yōu)點(diǎn)是:</p><p> ?、?不用擔(dān)心電壓波動(dòng)。</p><p>  Ⅱ.也不存在機(jī)械磨損,不用擔(dān)心接觸不良之類(lèi)問(wèn)題的困擾。</p><p>  B、這種方式的缺點(diǎn)是:</p><p>  Ⅰ.很費(fèi)電池,三天兩頭換電池,既不經(jīng)濟(jì)也不環(huán)保,還很麻煩!</p><p>  

51、Ⅱ.電池很重,一般的電機(jī)帶不動(dòng),必須用很大很大的電機(jī)哦。這也意味了成本的上升。</p><p><b>  3)機(jī)械傳導(dǎo)供電</b></p><p>  也就是采用滑環(huán)和電刷,通過(guò)機(jī)械接觸傳導(dǎo)電流。</p><p>  A、這種方式的優(yōu)點(diǎn)是:</p><p>  能夠提供比較大的工作電流。</p><

52、p>  B、這種方式的缺點(diǎn)是:</p><p> ?、?有機(jī)械摩擦,會(huì)產(chǎn)生磨損。因此要求滑環(huán)和電刷材料要耐磨,經(jīng)得起折騰。另外,還得有足夠的彈性,并且要耐銹,否則會(huì)導(dǎo)致接觸不良。</p><p>  Ⅱ.有機(jī)械阻力,因此要求電機(jī)有比較大一點(diǎn)的功率。</p><p><b>  Ⅲ.有機(jī)械噪音。</b></p><p&g

53、t;<b>  4)感應(yīng)供電</b></p><p>  原理和變壓器原理相當(dāng),就是在2個(gè)相距很近的線(xiàn)圈中,一只線(xiàn)圈作為電能發(fā)送端,另一只線(xiàn)圈作為電能接收端,發(fā)送端接入交變電流,在相距很近的接收端就能同時(shí)感應(yīng)到交變電流。</p><p>  A、這種方式的優(yōu)點(diǎn)是:</p><p><b>  無(wú)機(jī)械噪音。</b></

54、p><p>  B、這種方式的缺點(diǎn)是:</p><p> ?、?線(xiàn)圈耦合度低,供電效率低。</p><p><b> ?、?制作難度大。</b></p><p> ?、?需增加震蕩電路和濾波整流電路。 </p><p>  綜合以上三種:第一種,雖然優(yōu)點(diǎn)多,但難度很大,并且成本很高;第二種,沒(méi)有太多的

55、擔(dān)心,可是使用起來(lái)相當(dāng)?shù)穆闊?,可能還會(huì)因?yàn)楦鼡Q電池不及時(shí)而導(dǎo)致其中其他的零件受損;第三種,雖然會(huì)產(chǎn)生些摩擦,但是能提供較大電流,而摩擦的問(wèn)題可以采用其他方法來(lái)彌補(bǔ)。第四種,雖不產(chǎn)生機(jī)械噪音,但是需要在驅(qū)動(dòng)板上加上濾波整流電路,增加驅(qū)動(dòng)板重量。所以我們采用的是第三種機(jī)械傳導(dǎo)供電。</p><p> ?。?)過(guò)零信號(hào)產(chǎn)生電路選擇</p><p><b>  1)霍爾傳感器</b

56、></p><p>  霍爾傳感器處于工作狀態(tài)時(shí)輸出總是處于高電平狀態(tài),當(dāng)磁鋼N極接近傳感器正面的有效距離,輸出端變?yōu)榈碗娖健.?dāng)磁鋼撤離傳感器有效距離。輸出端又顯示低電平,從而產(chǎn)生下降沿,是單片機(jī)中斷口接收到下降沿,從而產(chǎn)生中斷。</p><p><b>  2)光電開(kāi)關(guān)</b></p><p>  光電開(kāi)關(guān)處于工作狀態(tài)時(shí)輸出總是處于高電

57、平狀態(tài),當(dāng)光電開(kāi)關(guān)經(jīng)過(guò)擋片時(shí),輸出端變?yōu)榈碗娖?。?dāng)光電開(kāi)關(guān)離開(kāi)擋片時(shí),輸出端又顯示低電平,從而產(chǎn)生下降沿,是單片機(jī)中斷口接收到下降沿,從而產(chǎn)生中斷。</p><p>  光電開(kāi)關(guān)利用光敏二極管對(duì)光的敏感性原理制作的,反應(yīng)較靈敏,且低電平時(shí)間由擋片的寬度決定,控制方便。而霍爾傳感器利用磁場(chǎng)對(duì)電場(chǎng)的作用原理制作的,反應(yīng)較遲緩,且感應(yīng)磁鋼的距離遠(yuǎn),當(dāng)轉(zhuǎn)速較快時(shí)難以控制。故該設(shè)計(jì)采用光電開(kāi)關(guān)。</p>&l

58、t;p><b>  (3)LED選擇</b></p><p>  由于旋轉(zhuǎn)LED要求時(shí)鐘的分辨率高且重量輕,長(zhǎng)度短,故該設(shè)計(jì)選用貼片LED發(fā)光二極管</p><p><b> ?。?)單片機(jī)選擇</b></p><p>  由于旋轉(zhuǎn)LED驅(qū)動(dòng)板上包括較多元器件和芯片,空間不足,所以該設(shè)計(jì)選用PLCC封裝的單片機(jī),這種

59、封裝的單片機(jī)為正方形,面積小,質(zhì)量輕。</p><p>  三、系統(tǒng)框圖與工作原理</p><p>  3.1單片機(jī)系統(tǒng)工作架構(gòu)</p><p>  圖3.1.1 系統(tǒng)框圖</p><p>  圖3.1.2 外部中斷1流程圖</p><p>  圖3.1.3 定時(shí)器1流程圖</p><p>

60、<b>  3.3系統(tǒng)工作原理</b></p><p>  通過(guò)光耦和外部中斷控制單片機(jī)從DS1302中讀取時(shí)鐘數(shù)據(jù)并在旋轉(zhuǎn)LED中的顯示位置,通過(guò)紅外遙控外部中斷讀取控制旋轉(zhuǎn)LED時(shí)鐘的顯示模式和時(shí)值的加減調(diào)控。</p><p><b>  四、設(shè)計(jì)元器件說(shuō)明</b></p><p>  4.1 PLCC STC89C

61、52RC簡(jiǎn)介</p><p>  圖4.1.1 PLCC STC89C52RC管腳圖 圖4.1.2 STC89C52RC單片機(jī)結(jié)構(gòu)</p><p>  STC89C52RC是一種帶4KB可編程可擦除只讀存儲(chǔ)器的低電壓,高性能微處理器,俗稱(chēng)單片機(jī)。單片機(jī)的可擦除只讀存儲(chǔ)器可以反復(fù)擦除100次。該器件采用ATMEL高密度非易失存儲(chǔ)器制造技術(shù)制造,與工業(yè)標(biāo)準(zhǔn)的MCS-5

62、1指令集和輸出管腳相兼容。由于將多功能8位CPU和閃爍存儲(chǔ)器組合在單個(gè)芯片中,STC89C52RC是一種高效微控制器,STC89C52RC是它的一種精簡(jiǎn)版本。STC89C52RC單片機(jī)為很多嵌入式控制系統(tǒng)提供了一種靈活性高且價(jià)廉的方案。STC89C52RC引腳即外觀如圖4.1.1所示,內(nèi)部結(jié)構(gòu)如圖4.1.2所示。</p><p>  P0口:P0口是一組8位漏極開(kāi)路型雙向I/O口,也即地址/數(shù)據(jù)總線(xiàn)復(fù)制用口,作為

63、輸入口時(shí),每位能吸收電流的方式驅(qū)動(dòng)8個(gè)TTL邏輯門(mén)電路,對(duì)端口寫(xiě)入“1可作為高阻抗輸入端用。在訪(fǎng)問(wèn)外部數(shù)據(jù)存儲(chǔ)器或程序存儲(chǔ)器時(shí),這組口線(xiàn)分時(shí)轉(zhuǎn)換地址(低8位)和數(shù)據(jù)總線(xiàn)復(fù)用,在訪(fǎng)問(wèn)期激活內(nèi)部上拉電阻。在Flash編程時(shí),PO口接收指令節(jié),而在程序校檢時(shí),輸出指令字節(jié),校檢時(shí),要求外接上拉電阻。</p><p>  P1口:P1口是一個(gè)帶內(nèi)部上拉電阻的8位雙向I/O口,P1的輸出緩沖級(jí)可驅(qū)動(dòng)(吸收或輸出電流)4個(gè)T

64、TL邏輯門(mén)電路。對(duì)端口寫(xiě)“1”,通過(guò)內(nèi)部的上拉電阻把端口拉到高電平,此時(shí)可作輸入口,作輸入口時(shí),因?yàn)閮?nèi)部存在上拉電阻,某個(gè)引腳被外部信號(hào)拉低時(shí)會(huì)輸出一個(gè)電流I。Flash編程和程序校檢期間,P1接收低8位地址。</p><p>  P2口:P2口是一個(gè)帶內(nèi)部上拉電阻的8位雙向I/O口,P1的輸出緩沖級(jí)可驅(qū)動(dòng)(吸收或輸出電流)4個(gè)TTL邏輯門(mén)電路。對(duì)端口寫(xiě)“1”,通過(guò)內(nèi)部的上拉電阻把端口拉到高電平,此時(shí)可作輸入口,

65、作輸入口時(shí),因?yàn)閮?nèi)部存在上拉電阻,某個(gè)引腳被外部信號(hào)拉低時(shí)會(huì)輸出一個(gè)電流I。在訪(fǎng)問(wèn)外部數(shù)據(jù)存儲(chǔ)器或16位地址的外部數(shù)據(jù)存儲(chǔ)(例如執(zhí)行MOVX@DPTR指令)時(shí),P2口送出高8位地址數(shù)據(jù)。在訪(fǎng)問(wèn)8位地址的外部數(shù)據(jù)存儲(chǔ)器(如執(zhí)行MOVX@RI指令)時(shí),P2口線(xiàn)上的內(nèi)容(也即特殊功能寄存器(SFR)區(qū)中R2寄存器的內(nèi)容),在整個(gè)訪(fǎng)問(wèn)期間不改變。Flash編程和校檢時(shí),P2亦接收高位地址和其他控制信號(hào)。</p><p>

66、  P3口:P3口是一個(gè)帶內(nèi)部上拉電阻的8位雙向I/O口。P3口輸出緩沖級(jí)可驅(qū)動(dòng)(吸收或輸出電流)4個(gè)TTL邏輯門(mén)電路。對(duì)P3口寫(xiě)入“1”時(shí),它們被內(nèi)部上拉電阻拉高并可作輸入端口,作輸入端時(shí),被外部拉低的P3口將用上拉電阻,輸出電流I。P3口還接收一些用于Flash閃速存儲(chǔ)器編程和程序校檢的控制信號(hào)。</p><p>  RST:復(fù)位輸入,當(dāng)震蕩器工作時(shí),RST引腳出現(xiàn)兩個(gè)機(jī)器周期以上高電平將使單片機(jī)復(fù)位。<

67、;/p><p>  ALE/PROG:當(dāng)訪(fǎng)問(wèn)外部程序存儲(chǔ)器或數(shù)據(jù)存儲(chǔ)器時(shí),ALE(地址鎖存允許)輸出脈沖用于所存地址的低8位字節(jié)。即使不訪(fǎng)問(wèn)外部存儲(chǔ)器,ALE乃以時(shí)鐘振動(dòng)頻率的1/6輸出固定的正脈沖信號(hào),因此它可對(duì)外輸出時(shí)鐘或用于定時(shí)目的。要注意的是:每當(dāng)訪(fǎng)問(wèn)外部數(shù)據(jù)存儲(chǔ)器時(shí)將跳過(guò)一個(gè)ALE脈沖。</p><p>  4.2 74HC573芯片與光電傳感器簡(jiǎn)介</p><p

68、>  4.2.1 74HC573芯片</p><p>  圖 4.2.1 74HC573</p><p>  芯片74HC573為八進(jìn)制3 態(tài)非反轉(zhuǎn)透明鎖存器,是高性能硅門(mén)cmos器件。當(dāng)鎖存使能端LE為高時(shí),這些器件的鎖存對(duì)于數(shù)據(jù)是透明的(也就是說(shuō)輸出同步)。當(dāng)鎖存使能變低時(shí),符合建立時(shí)間和保持時(shí)間的數(shù)據(jù)會(huì)被鎖存。</p><p>  4.2.2 光電

69、傳感器</p><p>  對(duì)射式U型槽光耦管具有,響應(yīng)塊,驅(qū)動(dòng)簡(jiǎn)單,容易安裝,易于與單片機(jī)通信等特點(diǎn)如上圖。上電之后光耦的光敏三極管的集電極輸出低電平,當(dāng)有物體擋住了光敏三極管的紅外光線(xiàn)時(shí),光敏三極管的集電極和發(fā)射極處于高阻態(tài),所以集電極輸出高電平,當(dāng)光敏三極管再次感應(yīng)到紅外光源時(shí),集電極再次輸出低電平,從而給單片機(jī)一個(gè)中斷信號(hào)。</p><p>  圖4.2.2 光電開(kāi)關(guān),ITR96

70、08-F 中間寬5MM</p><p>  槽式光電開(kāi)關(guān)通常是標(biāo)準(zhǔn)的U字型結(jié)構(gòu),其發(fā)射器和接收器分別位于U型槽的兩邊,并形成一光軸,當(dāng)被檢測(cè)物體經(jīng)過(guò)U型槽且阻斷光軸時(shí),光電開(kāi)關(guān)就產(chǎn)生了檢測(cè)到的開(kāi)關(guān)量信號(hào)。槽式光電開(kāi)關(guān)比較安全可靠的適合檢測(cè)高速變化,分辨透明與半透明物體。</p><p><b>  4.3 紅外簡(jiǎn)介</b></p><p>  

71、4.3.1 一體化紅外遙控接收頭</p><p>  圖4.3.1 HS0038B SIP3 一體化紅外遙控接收頭</p><p>  紅外遙控信號(hào)是一連串的二進(jìn)制脈沖碼。為了使其在無(wú)線(xiàn)傳輸過(guò)程中免受其他紅外信號(hào)的干擾,通常都是先將其調(diào)制在特定的載波頻率上,然后再經(jīng)紅外發(fā)射二極管發(fā)射出去,而紅外線(xiàn)接收裝置則要濾除其他雜波,只接收該特定頻率的信號(hào)并將其還原成二進(jìn)制脈沖碼,也就是解調(diào)。目前,對(duì)

72、于這種進(jìn)行了調(diào)制的紅外遙控信號(hào),通常是采用一體化紅外線(xiàn)接收頭進(jìn)行調(diào)解。一體化紅外線(xiàn)接收頭將低噪音放大器,限幅器,帶通濾波器,解調(diào)器,,以及整形驅(qū)動(dòng)電路等集成在一起。一體化紅外線(xiàn)接收頭體積小,靈敏度高,外接元件少,抗干擾能力強(qiáng),使用十分方便。</p><p>  4.3.2遙控發(fā)射器</p><p>  圖4.3.2 紅外遙控器</p><p><b>  

73、遙控發(fā)射器及其編碼</b></p><p>  遙控發(fā)射器專(zhuān)用芯片很多,根據(jù)編碼格式可以分成兩大類(lèi),這里我們以運(yùn)用比較廣泛,解碼比較容易的一類(lèi)來(lái)加以說(shuō)明,現(xiàn)以日本NEC的uPD6121G組成發(fā)射電路為例說(shuō)明編碼原理。當(dāng)發(fā)射器按鍵按下后,即有遙控碼發(fā)出,所按的鍵不同遙控編碼也不同。這種遙控碼具有以下特征:</p><p>  采用脈寬調(diào)制的串行碼,以脈寬為0.565ms、間隔0.

74、56ms、周期為1.125ms的組合表示二進(jìn)制的“0”;以脈寬為0.565ms、間隔</p><p>  1.685ms、周期為2.25ms的組合表示二進(jìn)制的“1”,其波形如圖2所示。</p><p>  上述“0”和“1”組成的32位二進(jìn)制碼經(jīng)38kHz的載頻進(jìn)行二次調(diào)制以提高發(fā)射效率,達(dá)到降低電源功耗的目的。然后再通過(guò)紅外發(fā)射二極管產(chǎn)生紅外線(xiàn)向空間發(fā)射,如圖3所示,連發(fā)波形如圖4所示。

75、</p><p>  4.4 DS1302、LM317、LM7805芯片簡(jiǎn)介</p><p>  4.4.1 DS1302</p><p>  DS1302 是美國(guó)DALLAS公司推出的一種高性能、低功耗、帶RAM的實(shí)時(shí)時(shí)鐘電路,它可以對(duì)年、月、日、周日、時(shí)、分、秒進(jìn)行計(jì)時(shí),具有閏年補(bǔ)償功能,工作電壓為2.5V~5.5V。采用三線(xiàn)接口與CPU進(jìn)行同步通信,并可采用突

76、發(fā)方式一次傳送多個(gè)字節(jié)的時(shí)鐘信號(hào)或RAM數(shù)據(jù)。DS1302內(nèi)部有一個(gè)31×8的用于臨時(shí)性存放數(shù)據(jù)的RAM寄存器。DS1302是DS1202的升級(jí)產(chǎn)品,與DS1202兼容,但增加了主電源/后備電源雙電源引腳,同時(shí)提供了對(duì)后備電源進(jìn)行涓細(xì)電流充電的能力。</p><p><b>  引腳功能及結(jié)構(gòu)</b></p><p>  DS1302的引腳排列,其中Vcc1

77、為后備電源,VCC2為主電源。在主電源關(guān)閉的情況下,也能保持時(shí)鐘的連續(xù)運(yùn)行。DS1302由Vcc1或Vcc2兩者中的較大者供電。當(dāng)Vcc2大于Vcc1+0.2V時(shí),Vcc2給DS1302供電。當(dāng)Vcc2小于Vcc1時(shí),DS1302由Vcc1供電。X1和X2是振蕩源,外接32.768kHz晶振。RST是復(fù)位/片選線(xiàn),通過(guò)把RST輸入驅(qū)動(dòng)置高電平來(lái)啟動(dòng)所有的數(shù)據(jù)傳送。RST輸入有兩種功能:首先,RST接通控制邏輯,允許地址/命令序列送入移位

78、寄存器;其次,RST提供終止單字節(jié)或多字節(jié)數(shù)據(jù)的傳送手段。當(dāng)RST為高電平時(shí),所有的數(shù)據(jù)傳送被初始化,允許對(duì)DS1302進(jìn)行操作。如果在傳送過(guò)程中RST置為低電平,則會(huì)終止此次數(shù)據(jù)傳送,I/O引腳變?yōu)楦咦钁B(tài)。上電運(yùn)行時(shí),在Vcc>2.0V之前,RST必須保持低電平。只有在SCLK為低電平時(shí),才能將RST置為高電平。I/O為串行數(shù)據(jù)輸入輸出端(雙向),后面有詳細(xì)說(shuō)明。SCLK為時(shí)鐘輸入端。 下圖為DS1302的引腳功能圖:</

79、p><p>  圖4.4.1 DS1302管腳定義圖</p><p>  數(shù)據(jù)輸入輸出(I/O)</p><p>  在控制指令字輸入后的下一個(gè)SCLK時(shí)鐘的上升沿時(shí),數(shù)據(jù)被寫(xiě)入DS1302,數(shù)據(jù)輸入從低位即位0開(kāi)始。同樣,在緊跟8位的控制指令字后的下一個(gè)SCLK脈沖的下降沿讀出DS1302的數(shù)據(jù),讀出數(shù)據(jù)時(shí)從低位0位到高位7。</p><p>

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

81、輸出。</p><p>  4.4.2 LM7805</p><p>  三端穩(wěn)壓集成電路lm7805,組成穩(wěn)壓電源所需的外圍元件極少,電路內(nèi)部還有過(guò)流、過(guò)熱及調(diào)整管的保護(hù)電路,使用起來(lái)可靠、方便,而且價(jià)格便宜。lm7805輸出電壓為正5V。</p><p>  圖1 LM7805封裝圖 圖2 LM7805引腳圖</p><

82、p>  圖3 LM7805典型應(yīng)用電路</p><p>  4.5 LED 動(dòng)態(tài)顯示原理</p><p>  LED具有低功耗,接口控制方便等優(yōu)點(diǎn),而且與模塊的接口信號(hào)和操作指令具有廣泛的兼容性,能直接與單片機(jī)接口,方便實(shí)現(xiàn)各種不同的操作。</p><p>  旋轉(zhuǎn)LED是一種通過(guò)同步控制發(fā)光二極管的位置和點(diǎn)亮狀態(tài)來(lái)實(shí)現(xiàn)圖文顯示,可視角能達(dá)360度,本設(shè)計(jì)采

83、用32個(gè)發(fā)光二級(jí)管,利用人眼的“視覺(jué)暫留效應(yīng)”顯示時(shí)間和溫度。</p><p>  圖4.5 Led顯示模塊</p><p>  五、系統(tǒng)硬件電路設(shè)計(jì)</p><p>  硬件電路原理圖如下:</p><p>  LED燈為8*4組共32顆</p><p><b>  六、系統(tǒng)軟件設(shè)計(jì)</b>&

84、lt;/p><p>  6.1單片機(jī)解碼紅外信號(hào)程序</p><p>  圖6.1.1紅外解碼流程圖</p><p>  以下為單片機(jī)解碼紅外的程序:</p><p>  #include <reg52.h></p><p>  #define uchar unsigned char </p>&

85、lt;p>  uchar code table[]={</p><p>  0xc0,0xf9,0xa4,0xb0,</p><p>  0x99,0x92,0x82,0xf8,</p><p>  0x80,0x90,0x88,0x83,</p><p>  0xc6,0xa1,0x86,0x8e};</p><p

86、>  #define Imax 14000 //此處為晶振為11.0592時(shí)的取值, </p><p>  #define Imin 8000 //如用其它頻率的晶振時(shí),</p><p>  #define Inum1 1450 //要改變

87、相應(yīng)的取值。</p><p>  #define Inum2 700 </p><p>  #define Inum3 3000</p><p>  uchar Im[4]={0x00,0x00,0x00,0x00}; //存放4個(gè)字節(jié)32位編碼</p><p>  uchar show[2]={0,0};

88、 //存儲(chǔ)數(shù)據(jù)碼</p><p>  unsigned long m,Tc; //兩脈沖間隔 </p><p>  uchar flag,IrOK;</p><p>  void delay(uchar i)</p><p><b>  {</b&

89、gt;</p><p>  uchar j,k; </p><p>  for(j=i;j>0;j--)</p><p>  for(k=125;k>0;k--);</p><p><b>  }</b></p><p>  void display()</p><

90、p><b>  {</b></p><p><b>  P1=6;</b></p><p>  P0=table[show[0]];</p><p><b>  delay(5);</b></p><p><b>  P1=5;</b></p&

91、gt;<p>  P0=table[show[1]];</p><p><b>  delay(5);</b></p><p><b>  }</b></p><p>  //外部中斷解碼程序</p><p>  void INT_1(void) interrupt 2 using 1

92、</p><p><b>  {</b></p><p>  Tc=TH0*256+TL0; //提取中斷時(shí)間間隔時(shí)長(zhǎng)</p><p><b>  TH0=0; </b></p><p>  TL0=0;

93、 //定時(shí)中斷重新置零</p><p>  if((Tc>Imin)&&(Tc<Imax)) //9.12ms+4.5ms </p><p><b>  { </b></p><p><b>  m=0;</b>&l

94、t;/p><p><b>  flag=1;</b></p><p><b>  return;</b></p><p>  } //找到啟始碼</p><p>  if(flag==1)</p><p><b>  {</b></p>

95、;<p>  if(Tc>Inum1&&Tc<Inum3) //2.25ms </p><p><b>  {</b></p><p>  Im[m/8]=Im[m/8]>>1|0x80; m++; //1 取碼</p><p><b>

96、  }</b></p><p>  if(Tc>Inum2&&Tc<Inum1) //1.125ms</p><p><b>  {</b></p><p>  Im[m/8]=Im[m/8]>>1; m++; //0 取碼&

97、lt;/p><p><b>  }</b></p><p>  if(m==32) </p><p><b>  {</b></p><p><b>  m=0; </b></p><p><b>  flag=0;</b></

98、p><p>  if(Im[2]==~Im[3]) </p><p><b>  {</b></p><p><b>  IrOK=1; </b></p><p><b>  }</b></p><p>  else IrOK=0;

99、 //取碼完成后判斷讀碼是否正確</p><p>  } //準(zhǔn)備讀下一碼</p><p><b>  }</b></p><p><b>  }</b></p><p><b>  /*演示主程序

100、*/</b></p><p>  void main(void)</p><p><b>  {</b></p><p>  unsigned int a; </p><p><b>  m=0;</b></p><p><b>  flag=0;&l

101、t;/b></p><p><b>  EA=1;</b></p><p>  IT1=1; //下降沿觸發(fā) </p><p>  EX1=1; //外部中斷1允許</p><p>  TMOD=0x01; </p><p><b>  TH0=0;</b>

102、;</p><p><b>  TL0=0;</b></p><p>  TR0=1;//開(kāi)啟定時(shí)器0 </p><p><b>  while(1)</b></p><p><b>  {</b></p><p>  if(IrOK==1) </

103、p><p><b>  {</b></p><p>  show[1]=Im[2] & 0x0F; //取鍵碼的低四位</p><p>  show[0]=Im[2] >> 4; </p><p><b>  IrOK=0;</b></p>

104、<p><b>  }</b></p><p>  if(Im[2]==69)</p><p><b>  {</b></p><p><b>  P0=0x55;</b></p><p><b>  }</b></p><p

105、>  if(Im[2]==70)</p><p><b>  {</b></p><p><b>  P0=0xaa;</b></p><p><b>  }</b></p><p>  if(Im[2]==7)</p><p><b>

106、  {</b></p><p><b>  P0=0xff;</b></p><p><b>  }</b></p><p>  if(Im[2]==9)</p><p><b>  {</b></p><p><b>  P0=0

107、x00;</b></p><p><b>  }</b></p><p>  for(a=100;a>0;a--)</p><p><b>  {</b></p><p>  display();</p><p><b>  }</b>

108、</p><p><b>  }</b></p><p><b>  }</b></p><p>  6.2單片機(jī)讀寫(xiě)DS1302程序</p><p>  以下為典型的DS1302讀寫(xiě)程序:</p><p>  /*******************************

109、************************************* </p><p><b>  *</b></p><p>  * 名稱(chēng): RTInputByte</p><p><b>  * 說(shuō)明: </b></p><p>  * 功能: 往DS1302寫(xiě)入1Byte數(shù)據(jù)</

110、p><p><b>  * 調(diào)用:</b></p><p>  * 輸入: ucDa 寫(xiě)入的數(shù)據(jù) </p><p><b>  * 返回值: 無(wú)</b></p><p>  *****************************************************************

111、******/</p><p>  void RTInputByte(unsigned char ucDa) </p><p><b>  { </b></p><p>  unsigned char i;</p><p>  ACC = ucDa;</p><p>  for(i=8; i&g

112、t;0; i--)</p><p><b>  {</b></p><p>  T_IO = ACC0; /*相當(dāng)于匯編中的 RRC */</p><p>  T_CLK = 1;</p><p>  T_CLK = 0;</p><p>  ACC = ACC >> 1; </

113、p><p><b>  } </b></p><p><b>  }</b></p><p>  /******************************************************************** </p><p><b>  *</b>&l

114、t;/p><p>  * 名稱(chēng): unsigned char uc_RTOutputByte</p><p><b>  * 說(shuō)明: </b></p><p>  * 功能: 從DS1302讀取1Byte數(shù)據(jù)</p><p><b>  * 調(diào)用: </b></p><p>&l

115、t;b>  * 輸入: </b></p><p>  * 返回值: ACC</p><p>  ***********************************************************************/</p><p>  unsigned char uc_RTOutputByte(void) </p&g

116、t;<p><b>  { </b></p><p>  unsigned char i;</p><p>  for(i=8; i>0; i--)</p><p><b>  {</b></p><p>  ACC = ACC >>1; /*相當(dāng)于匯編中的 RRC

117、*/</p><p>  ACC7 = T_IO;</p><p>  T_CLK = 1;</p><p>  T_CLK = 0;</p><p><b>  } </b></p><p>  return(ACC); </p><p><b>  }<

118、/b></p><p>  /******************************************************************** </p><p><b>  *</b></p><p>  * 名稱(chēng): W1302</p><p>  * 說(shuō)明: 先寫(xiě)地址,后寫(xiě)命令/數(shù)據(jù)&l

119、t;/p><p>  * 功能: 往DS1302寫(xiě)入數(shù)據(jù)</p><p>  * 調(diào)用: RTInputByte() </p><p>  * 輸入: ucAddr: DS1302地址, ucDa: 要寫(xiě)的數(shù)據(jù)</p><p><b>  * 返回值: 無(wú)</b></p><p>  *******

120、****************************************************************/</p><p>  void W1302(unsigned char ucAddr, unsigned char ucDa)</p><p><b>  {</b></p><p>  T_RST = 0;<

121、;/p><p>  T_CLK = 0;</p><p>  T_RST = 1;</p><p>  RTInputByte(ucAddr); /* 地址,命令 */</p><p>  RTInputByte(ucDa); /* 寫(xiě)1Byte數(shù)據(jù)*/</p><p>  T_CLK = 1;</p>&l

122、t;p><b>  T_RST =0;</b></p><p><b>  }</b></p><p>  /******************************************************************** </p><p><b>  *</b><

123、/p><p>  * 名稱(chēng): uc_R1302</p><p>  * 說(shuō)明: 先寫(xiě)地址,后讀命令/數(shù)據(jù)</p><p>  * 功能: 讀取DS1302某地址的數(shù)據(jù)</p><p>  * 調(diào)用: RTInputByte() , uc_RTOutputByte()</p><p>  * 輸入: ucAddr: DS1

124、302地址</p><p>  * 返回值: ucDa :讀取的數(shù)據(jù)</p><p>  ***********************************************************************/</p><p>  unsigned char uc_R1302(unsigned char ucAddr)</p>

125、<p><b>  {</b></p><p>  unsigned char ucDa;</p><p>  T_RST = 0;</p><p>  T_CLK = 0;</p><p>  T_RST = 1;</p><p>  RTInputByte(ucAddr); /* 地

126、址,命令 */</p><p>  ucDa = uc_RTOutputByte(); /* 讀1Byte數(shù)據(jù) */</p><p>  T_CLK = 1;</p><p><b>  T_RST =0;</b></p><p>  return(ucDa);</p><p><b>

127、  }</b></p><p>  void Set1302(void) </p><p><b>  {</b></p><p>  W1302(0x8e,0x00); /* 控制命令,WP=0,寫(xiě)操作?*/</p><p>  W1302(0x8c,NUM2BCD(Time[5]));</p>

128、;<p>  W1302(0x8a,NUM2BCD(Time[6]));</p><p>  W1302(0x88,NUM2BCD(Time[4]));</p><p>  W1302(0x86,NUM2BCD(Time[3]));</p><p>  W1302(0x84,NUM2BCD(Time[2]));</p><p>

129、  W1302(0x82,NUM2BCD(Time[1]));</p><p>  W1302(0x80,NUM2BCD(Time[0]));</p><p>  W1302(0x8e,0x80); /* 控制命令,WP=1,寫(xiě)保護(hù)?*/</p><p><b>  }</b></p><p>  void Get13

130、02(void) </p><p><b>  {</b></p><p>  Time[5] = BCD2NUM(uc_R1302(0x8d));</p><p>  Time[6] = BCD2NUM(uc_R1302(0x8b));</p><p>  Time[4] = BCD2NUM(uc_R1302(0x89

131、));</p><p>  Time[3] = BCD2NUM(uc_R1302(0x87));</p><p>  Time[2] = BCD2NUM(uc_R1302(0x85));</p><p>  Time[1] = BCD2NUM(uc_R1302(0x83));</p><p>  Time[0] = BCD2NUM(uc_R1

132、302(0x81));</p><p><b>  }</b></p><p><b>  6.3 自適應(yīng)轉(zhuǎn)速</b></p><p>  系統(tǒng)開(kāi)機(jī)后,程序先進(jìn)入測(cè)試轉(zhuǎn)速階段, 測(cè)試2次中斷之間(旋轉(zhuǎn)一圈)定時(shí)器中斷數(shù),與所需的中斷數(shù)對(duì)比,通過(guò)對(duì)比調(diào)整定時(shí)器初設(shè)值,達(dá)到改變旋轉(zhuǎn)1圈定時(shí)器中斷數(shù)的目的。</p>

133、<p>  /*外部中斷0處理函數(shù)*/     void intersvr0(void) interrupt 0 using 1         {           D=D+(S-N)*2;

134、0;   //修正值           Ti0=600+D;     //得到定時(shí)器T0的初設(shè)值            S=0;   

135、    //計(jì)數(shù)器清零,將重新計(jì)數(shù)         }</p><p>  /*定時(shí)中斷0處理函數(shù)*/       void timer0(void) interrupt 1 using 1    &

136、#160;  {          TH1=-Ti0/256;TL1=-Ti0%256;//設(shè)置定時(shí)器T0的初設(shè)值          S++;        

137、0;         //計(jì)數(shù)         }</p><p>  其中S為旋轉(zhuǎn)一圈定時(shí)器1實(shí)際中斷數(shù)(既實(shí)際顯示的列數(shù)),D為調(diào)整值,N為旋轉(zhuǎn)一圈定時(shí)器所需的中斷數(shù)(既所需顯示的列數(shù))。程序分析如下:</p><

138、p>  0、在外部中斷的處理程序里,先給定時(shí)器一個(gè)合適的初設(shè)值Pt。</p><p>  程序開(kāi)始,D=0,Ti0即為600(按需設(shè)定),并得到定時(shí)器初設(shè)值。</p><p>  1、定時(shí)器開(kāi)始計(jì)數(shù),每溢出一次S自加一次。</p><p>  2、完成一圈后,處理外部中斷函數(shù)。</p><p>  當(dāng)S>N時(shí),修正值D增大,使定時(shí)

139、器T1的時(shí)間值增大,隨之S值減小。</p><p>  當(dāng)S<N時(shí),修正值D減小,使定時(shí)器T1的時(shí)間值減小,隨之S值增大。</p><p>  當(dāng)S=N時(shí),修正值不產(chǎn)生變化。</p><p>  函數(shù)中N值是按需設(shè)定的常數(shù)。</p><p>  6.4 數(shù)字顯示模式</p><p>  時(shí)鐘的上半部分和下半部分的

140、顯示是相反的,故需要對(duì)數(shù)字顯示進(jìn)行調(diào)整。故分2步顯示,第一步顯示上半部分,正常顯示。程序如下:</p><p>  if(ii<16) </p><p><b>  {</b></p><p>  P2=0xf1;P1=~nAsciiDot1[jj*2+v[ii]*16]; //顯示的上半圓部分(正顯)</p>

141、;<p>  P2=0xf2;P1=~nAsciiDot1[1+jj*2+v[ii]*16]; </p><p><b>  }</b></p><p>  16表示顯示16個(gè)字</p><p>  第二步顯示下半部分,因需和上半部現(xiàn)實(shí)相反,故下半部反向顯示,程序如下:</p><p>  e

142、lse if(ii<32) </p><p><b>  {</b></p><p>  P2=0xf2;P1=~nAsciiDot2[14-jj*2+v[ii]*16]; //顯示的下半圓部分(反顯)</p><p>  P2=0xf1;P1=~nAsciiDot2[15-jj*2+v[ii]*16];</p>

143、<p><b>  }</b></p><p>  6.5 指針顯示模式</p><p>  顯示時(shí),由于要將12點(diǎn)的位置和數(shù)字模式統(tǒng)一顯示到正上方,而不是中斷發(fā)生處,故需進(jìn)行轉(zhuǎn)換:</p><p>  P2=0xf1;P1=(0xfe<<3*(ii%5==4))&(0xff>>2*(ii==Tme0

144、))&(0xfe<<5*(ii%15==14));</p><p>  P2=0xf2;P1=(0xff*(ii!=Tme0)*(ii!=Tme1))&(0xff>>4*(ii==Tme2));</p><p>  P2=0xf4;P1=(0xff*(ii!=Tme0)*(ii!=Tme1)*(ii!=Tme2));</p><p

145、>  P2=0xf8;P1=(0xff*(ii!=Tme0)*(ii!=Tme1)*(ii!=Tme2));</p><p><b>  七、總結(jié)與體會(huì)</b></p><p>  回顧起此次單片機(jī)課程設(shè)計(jì),至今我仍感慨頗多,從選題到定稿,從理論到實(shí)踐,在整整兩星期的日子里,可以說(shuō)得是苦多于甜,但是可以學(xué)到很多很多的的東西,同時(shí)不僅可以鞏固了以前所學(xué)過(guò)的知識(shí),而

146、且學(xué)到了很多在書(shū)本上所沒(méi)有學(xué)到過(guò)的知識(shí)。通過(guò)這次課程設(shè)計(jì)使我懂得了理論與實(shí)際相結(jié)合是很重要的,只有理論知識(shí)是遠(yuǎn)遠(yuǎn)不夠的,只有把所學(xué)的理論知識(shí)與實(shí)踐相結(jié)合起來(lái),從理論中得出結(jié)論,才能真正為社會(huì)服務(wù),從而提高自己的實(shí)際動(dòng)手能力和獨(dú)立思考的能力。在設(shè)計(jì)的過(guò)程中遇到問(wèn)題,可以說(shuō)得是困難重重,這畢竟第一次做的,難免會(huì)遇到過(guò)各種各樣的問(wèn)題,同時(shí)在設(shè)計(jì)的過(guò)程中發(fā)現(xiàn)了自己的不足之處,對(duì)以前所學(xué)過(guò)的知識(shí)理解得不夠深刻,掌握得不夠牢固。DS1302和單片機(jī)

147、解碼紅外這一部份花了一天多才弄明白,深感自己對(duì)所學(xué)過(guò)的知識(shí)的理解之淺。</p><p>  這次的課設(shè)硬件弄的時(shí)間比較長(zhǎng),因?yàn)槭怯萌f(wàn)用版焊制,出現(xiàn)比較多的問(wèn)題,例如芯片的管腳就因大意弄錯(cuò)了序號(hào)好幾次,經(jīng)過(guò)幾次的仔細(xì)查找才找出了問(wèn)題的所在。程序方面倒沒(méi)有太大的錯(cuò)誤發(fā)生,不過(guò)到最好作品完成的時(shí)候DS1302突然壞了,但未能及時(shí)發(fā)現(xiàn),直到花了一天的時(shí)間排查了所有硬件才最終確定了DS1302的損壞導(dǎo)致顯示出現(xiàn)亂碼,這也直

148、接導(dǎo)致了我們的作品未能在第一天被驗(yàn)收。</p><p>  這次單片機(jī)課程設(shè)計(jì)。我們發(fā)揮團(tuán)隊(duì)精神。相互去學(xué)習(xí),去解決問(wèn)題的所在,以及一起探討。希望我們?cè)趯?shí)訓(xùn)結(jié)束后同樣能夠去更進(jìn)一步的去學(xué)習(xí)單片機(jī),鞏固和加深對(duì)單片機(jī)的學(xué)習(xí)。</p><p><b>  八、參考文獻(xiàn)</b></p><p>  [1].李朝青.單片機(jī)原理及接口技術(shù)(第3版).北京

149、航天航空大學(xué)出版社,2005 年10月</p><p>  [2].譚浩強(qiáng).C語(yǔ)言程序設(shè)計(jì)(第二版)·北京:清華大學(xué)出版社,1999年12月</p><p>  [3].彭偉. 單片機(jī)C語(yǔ)言程序設(shè)計(jì)實(shí)訓(xùn)100例:基于8051+Proteus仿真 .電子工業(yè)出版社.2009年</p><p><b>  [4].網(wǎng)上資料</b><

150、;/p><p><b>  附錄A 完整源程序</b></p><p>  #include <reg52.h></p><p>  #include <intrins.h></p><p>  #include <absacc.h></p><p>  #defi

151、ne uchar unsigned char</p><p>  unsigned char code maxnum[]={59,23,31,12,99}; //調(diào)整值最大限量</p><p>  unsigned char code minnum[]={0,0,1,1,0}; //調(diào)整值最小限量</p><p>  unsigned char code

152、nAsciiDot1[] = // ASCII</p><p><b>  {</b></p><p>  0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // - -</p><p>  0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,</p&

153、gt;<p>  0x00,0x0C,0x00,0x06,0x00,0x03,0x80,0x01, // -/-</p><p>  0xC0,0x00,0x60,0x00,0x30,0x00,0x00,0x00,</p><p>  0x00,0x00,0x00,0x00,0x00,0x00,0x30,0x06, // -:-</p><p> 

154、 0x30,0x06,0x00,0x00,0x00,0x00,0x00,0x00,</p><p>  0xF8,0x07,0xFC,0x0F,0x04,0x09,0xC4,0x08, // -0-</p><p>  0x24,0x08,0xFC,0x0F,0xF8,0x07,0x00,0x00,</p><p>  0x00,0x00,0x10,0x08,0x

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
  • 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ì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論