版權(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 單片機(jī)課程設(shè)計(jì)報(bào)告--基于stc89c52單片機(jī)的電子時(shí)鐘(日歷)
- STC89C52單片機(jī).doc
- STC89C52單片機(jī).doc
- STC89C52單片機(jī).doc
- stc89c52單片機(jī).pdf
- stc89c52單片機(jī).pdf
- STC89C52單片機(jī).doc
- stc89c52單片機(jī).pdf
- STC89C52單片機(jī).doc
- STC89C52單片機(jī).doc
- STC89C52單片機(jī).doc
- STC89C52單片機(jī).doc
- STC89C52單片機(jī).doc
- stc89c52單片機(jī).pdf
- STC89C52單片機(jī).doc
- stc89c52單片機(jī).pdf
- 單片機(jī)課程設(shè)計(jì)報(bào)告--基于stc89c52單片機(jī)的實(shí)驗(yàn)平臺(tái)開(kāi)發(fā)設(shè)計(jì)
- 單片機(jī)課程設(shè)計(jì)報(bào)告--基于stc89c52單片機(jī)的實(shí)驗(yàn)平臺(tái)開(kāi)發(fā)設(shè)計(jì)
- 單片機(jī)課程設(shè)計(jì)報(bào)告---基于stc89c52的溫度測(cè)控系統(tǒng)設(shè)計(jì)
- 基于stc89c52單片機(jī)紅外測(cè)溫系統(tǒng)設(shè)計(jì)
評(píng)論
0/150
提交評(píng)論