畢業(yè)設(shè)計(jì)----汽車行駛信息發(fā)送與接收器的設(shè)計(jì)_第1頁(yè)
已閱讀1頁(yè),還剩48頁(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>  汽車行駛信息發(fā)送與接收器的設(shè)計(jì)</p><p><b>  序 言</b></p><p>  現(xiàn)代社會(huì),汽車越來(lái)越多,行車安全成為司機(jī)和司機(jī)家人關(guān)注的首要問(wèn)題。</p><p>  在現(xiàn)代交通中,汽車超車及轉(zhuǎn)彎時(shí)經(jīng)常容易出交通意外,特別是雨霧天氣,轉(zhuǎn)向及剎車指示燈能見(jiàn)度減小,使駕駛員不能及時(shí)了解前后車的行駛意向。在汽車上

2、設(shè)計(jì)一種汽車間行駛信息紅外線自動(dòng)接收發(fā)送電路,能自動(dòng)顯示前后車的轉(zhuǎn)向、剎車情況并用聲響提醒,對(duì)提高汽車行駛安全具有一定的意義。</p><p>  單片機(jī)的英文名稱是Micro Controller unit,縮寫為MCU,又稱為微控制器,它是一種面向控制的大規(guī)模集成電路芯片。它應(yīng)用簡(jiǎn)單靈活,使用非常廣泛,但存在無(wú)法實(shí)時(shí)保存大量的數(shù)據(jù)、實(shí)時(shí)更新數(shù)據(jù)等缺點(diǎn),因此經(jīng)常需要把單片機(jī)和PC機(jī)的優(yōu)勢(shì)相結(jié)合組成系統(tǒng)。PC和單

3、片機(jī)之間的通信方式有有線和無(wú)線通信技術(shù)之分,同時(shí)通訊連接方式有多種,如利用微機(jī)的串口、并口或?qū)iT的I/O板進(jìn)行數(shù)據(jù)傳送,單片機(jī)通過(guò)共享通道的方法掛在上述總線上。采用紅外線通訊方案具有廉價(jià)、近距離、無(wú)線、低功耗、保密性強(qiáng)等優(yōu)點(diǎn)。應(yīng)用時(shí)應(yīng)根據(jù)實(shí)際需要進(jìn)行選擇。</p><p>  因此,本文設(shè)計(jì)了一個(gè)將單片機(jī)AT89C51與紅外線發(fā)送接收進(jìn)行結(jié)合的系統(tǒng)電路。選擇了汽車左轉(zhuǎn)彎、右轉(zhuǎn)彎和剎車3種汽車行駛狀態(tài)作為發(fā)送信息,

4、接受信息有前車左轉(zhuǎn)彎、前車右轉(zhuǎn)彎、前車剎車和后車超車4種顯示信息。在汽車行駛中,當(dāng)前車轉(zhuǎn)彎、剎車或后車超車時(shí)都能在本汽車上顯示并發(fā)出聲響提醒。</p><p><b>  系統(tǒng)總體設(shè)計(jì)</b></p><p><b>  系統(tǒng)總體設(shè)計(jì)</b></p><p>  汽車超車及轉(zhuǎn)彎時(shí)經(jīng)常容易出交通意外,特別是雨霧天氣,轉(zhuǎn)向及剎

5、車指示燈能見(jiàn)度減小,使駕駛員不能及時(shí)了解前后車的行駛意向。在汽車上設(shè)計(jì)一種汽車間行駛信息紅外線自動(dòng)接收發(fā)送電路,能自動(dòng)顯示前后車的轉(zhuǎn)向、剎車情況并用聲響提醒。</p><p>  因此,本設(shè)計(jì)是一個(gè)簡(jiǎn)單的將單片機(jī)AT89C51與紅外線發(fā)送接收進(jìn)行結(jié)合的系統(tǒng)電路。系統(tǒng)可以實(shí)現(xiàn)前車左轉(zhuǎn)彎、右轉(zhuǎn)彎、剎車,以及后車超車時(shí)進(jìn)行顯示并發(fā)出聲響提醒。</p><p>  1.1 硬件設(shè)計(jì)思路</

6、p><p>  本系統(tǒng)通過(guò)觸發(fā)開(kāi)關(guān)來(lái)實(shí)現(xiàn)電路的“發(fā)送”和“接收”功能,前車轉(zhuǎn)彎、剎車時(shí),按下發(fā)送按鈕,后車就能接收到信息,后車超車時(shí),按下按鈕,前車就能收到信號(hào),并發(fā)車聲響提醒。系統(tǒng)具體工作方框圖如下圖1-1:</p><p>  圖1-1 系統(tǒng)電路的工作框圖</p><p>  1.2 軟件設(shè)計(jì)思路</p><p>  圖1-1 系統(tǒng)主程序

7、流程圖</p><p>  紅外接收器為三引腳結(jié)構(gòu),安裝用方便,其信號(hào)腳可直接接單片機(jī)P0.1、P1.1及中斷輸入端口(如圖附錄1)。P0.1用于接收后車的行駛信息信號(hào),P1.1用于接收前車的行駛信息信號(hào)。電平轉(zhuǎn)換接口電路采用9013三極管。當(dāng)轉(zhuǎn)向開(kāi)關(guān)或剎車開(kāi)關(guān)閑合時(shí),其P0.0、P0.1、P0.2 三端口相應(yīng)的電平變?yōu)榱?。P0.0為左轉(zhuǎn)彎輸入,P0.1為右轉(zhuǎn)彎輸入,P0.2為剎車。</p><

8、;p>  單片機(jī)從P0.3~P0.6輸出前后車的行駛信息提示信號(hào),其中P0.3用于前車左轉(zhuǎn)彎指示及提醒,P0.4用于前車右轉(zhuǎn)彎指示及提醒,P0.5用于后車超車指示及提醒,P0.6用于前車剎車指示及提醒。當(dāng)某一輸出端口為低電平時(shí),相應(yīng)的字符燈點(diǎn)亮并發(fā)出聲響提醒。本車行駛信息的發(fā)送是從P3.5輸出,是一組調(diào)制頻率為40kHz的方波脈沖,通過(guò)三極管放大,由安裝在汽車前后位置的紅外線發(fā)射管發(fā)出。</p><p> 

9、 硬件系統(tǒng)各部分電路具體介紹與分析</p><p>  2.1 系統(tǒng)硬件電路的設(shè)計(jì)</p><p>  2.1.1 輸入系統(tǒng)接口電路</p><p>  輸入接口電路有處理紅外線接收的紅外線接收器及用于轉(zhuǎn)向,剎車信號(hào)輸入的電平轉(zhuǎn)換電路。紅外接收器采用通用遠(yuǎn)紅外接收解調(diào)一體成品,其器件為三引腳結(jié)構(gòu),安裝用方便,其信號(hào)腳可直接接單片機(jī)P0.1、P1.1及中斷輸入端口。P

10、0.1用于接收后車的行駛信息信號(hào),P1.1用于接收前車的行駛信息信號(hào)。電平轉(zhuǎn)換接口電路采用9013三極管。當(dāng)轉(zhuǎn)向開(kāi)關(guān)或剎車開(kāi)關(guān)閑合時(shí),其P0.0、P0.1、P0.2三端口相應(yīng)的電平變?yōu)榱?。P0.0為左轉(zhuǎn)彎輸入,P0.1為右轉(zhuǎn)彎輸入,P0.2為剎車。</p><p><b>  輸出電路</b></p><p>  單片機(jī)從P0.3~P0.6輸出前后車的行駛信息提示信號(hào)

11、,其中P0.3用于前車左轉(zhuǎn)彎指示及提醒,P0.4用于前車右轉(zhuǎn)彎指示及提醒,P0.5用于后車超車指示及提醒,P0.6用于前車剎車指示及提醒。當(dāng)某一輸出端口為低電平時(shí),相應(yīng)的字符燈點(diǎn)亮并發(fā)出聲響提醒。本車行駛信息的發(fā)送是從P3.5(T1)輸出,是一組調(diào)制頻率為40kHz的方波脈沖(見(jiàn)圖2-1),通過(guò)三極管放大,由安裝在汽車前后位置的紅外線發(fā)射管發(fā)出[1]。</p><p>  圖2-1 P3.5端口輸出的編碼波形圖&

12、lt;/p><p>  2.1.3 基本系統(tǒng)組成</p><p>  本系統(tǒng)采用12MHz晶振時(shí)鐘頻率,30pF的瓷片負(fù)載或匹配電容(校準(zhǔn)晶振),上電復(fù)位采用最簡(jiǎn)單的RC電路,片外儲(chǔ)存器選擇腳(31腳)接正電源。</p><p>  2.2 數(shù)據(jù)幀的編碼格式及發(fā)送/接收過(guò)程</p><p><b>  1. 編碼的格式</b>

13、;</p><p>  本系統(tǒng)采用脈沖個(gè)數(shù)編碼,分別代表左轉(zhuǎn)彎、右轉(zhuǎn)彎、剎車3種狀態(tài),其中左轉(zhuǎn)彎為2個(gè)脈沖,右轉(zhuǎn)彎為5個(gè)脈沖,剎車為8個(gè)脈沖。為了增加接收的可靠性,第一位碼寬為3ms,其余為1ms,數(shù)據(jù)幀間隔大于10ms,如圖2-2</p><p>  圖2-2 紅外線接收器輸出的一幀數(shù)據(jù)波形</p><p>  2. 數(shù)據(jù)幀的發(fā)送過(guò)程</p><

14、;p>  當(dāng)單片機(jī)檢測(cè)到P0.0~P0.2端口為低電平時(shí),先設(shè)置發(fā)送標(biāo)志,然后依次發(fā)送數(shù)據(jù)幀。發(fā)送數(shù)據(jù)時(shí),中斷將被禁止。當(dāng)剎車(轉(zhuǎn)向)開(kāi)關(guān)閉合時(shí),數(shù)據(jù)幀將被重復(fù)連續(xù)地發(fā)射,直到開(kāi)關(guān)松開(kāi)為止。</p><p><b>  據(jù)幀的接收過(guò)程</b></p><p>  當(dāng)紅外線接收器輸出數(shù)據(jù)幀脈沖時(shí),第一位碼的低電平將啟動(dòng)中斷程序,實(shí)時(shí)接收數(shù)據(jù)幀。在數(shù)據(jù)幀接收時(shí),中斷

15、將被關(guān)閉,并且對(duì)第一位(起始位)碼的碼寬進(jìn)行驗(yàn)證。若第一位低電平碼的脈寬小于2ms,將作誤幀處理。當(dāng)間隔位的高電平脈寬大于3ms時(shí),結(jié)束接收,然后根據(jù)累加器A中的脈沖個(gè)數(shù),使相應(yīng)的輸出口(P0.3~P0.6)為低電平,驅(qū)動(dòng)顯示及信響電路[2]。</p><p>  2.3 單片機(jī)外圍連接電路具體介紹與測(cè)試分析</p><p>  2.3.1 單片機(jī)芯片的選擇</p><

16、;p>  MCS-51單片機(jī)是美國(guó)INTEL公司于1980年推出的產(chǎn)品,由于它將8位CPU和閃速存儲(chǔ)器組合在單個(gè)芯片中,為很多嵌入式控制應(yīng)用系統(tǒng)提供了一個(gè)高度靈活且價(jià)格低廉的解決方案。內(nèi)核系列兼容的單片機(jī)仍是應(yīng)用的主流產(chǎn)品。例如:目前流行的AT89S51和89C51。本次設(shè)計(jì)中選用了單片機(jī)AT89C51,兩者相比之下,現(xiàn)有的設(shè)備支持AT89C51,現(xiàn)有的大量資料也是有關(guān)于AT89C51多。</p><p>

17、  ATMEL 89系列單片機(jī)是以8031為結(jié)構(gòu)的,所以,它和8051系列單片機(jī)是兼容的系列。</p><p>  89系列單片機(jī)對(duì)于一般的用戶來(lái)說(shuō),存在下面很明顯的優(yōu)點(diǎn):</p><p>  1. 含有FLASH存儲(chǔ)器</p><p>  因此在系統(tǒng)的開(kāi)發(fā)過(guò)程中可以十分容易進(jìn)行修改,這就大大縮短了系統(tǒng)的開(kāi)發(fā)周期。同時(shí),在系統(tǒng)工作過(guò)程中,能有效地保持一些數(shù)據(jù)信息,即

18、使外界損壞也不影響到信息的保持。</p><p>  2. 和80C51插座兼容</p><p>  89系列單片機(jī)的引腳是和80C51一樣的,所以,當(dāng)89系列單片機(jī)取代80C51時(shí),可以進(jìn)行代換。</p><p><b> ?。?)靜態(tài)時(shí)鐘方式</b></p><p>  89系列單片機(jī)采用靜態(tài)時(shí)鐘方式,所以可以節(jié)省電

19、能,這對(duì)于降低便攜式產(chǎn)品的功耗十分有用。</p><p> ?。?)錯(cuò)誤編程亦無(wú)廢品產(chǎn)生</p><p>  一般的OPT產(chǎn)品,一旦錯(cuò)誤編程就成了廢品。而89系列單片機(jī)內(nèi)部采用了FLASH存儲(chǔ)器,所以,錯(cuò)誤編程后可以重新編程,直到正確為止,故不存在廢品。</p><p>  (3)可進(jìn)行反復(fù)系統(tǒng)試驗(yàn)</p><p>  用89系列單片機(jī)設(shè)計(jì)的

20、系統(tǒng),可以反復(fù)進(jìn)行系統(tǒng)試驗(yàn);每次試驗(yàn)可以不同的程序,這樣可以保證用戶的系統(tǒng)設(shè)計(jì)達(dá)到最優(yōu)。而且隨用戶的需要和發(fā)展,還可以進(jìn)行修改,使系統(tǒng)不斷能追隨用戶的最新要求。</p><p>  3. 89系列單片機(jī)內(nèi)部結(jié)構(gòu)</p><p>  89系列的內(nèi)部結(jié)構(gòu)和89C51相近,它主要含有如下一些部件。</p><p> ?。?)8031CPU</p><p

21、><b> ?。?)振蕩電路</b></p><p><b>  (3)總線控制部件</b></p><p><b> ?。?)重點(diǎn)控制部件</b></p><p>  (5)片內(nèi)FLASH存儲(chǔ)器</p><p><b> ?。?)片內(nèi)RAM</b>

22、</p><p> ?。?)并行I/O接口</p><p><b>  (8)定時(shí)器</b></p><p> ?。?)串行I/O接口</p><p>  ATMEL89系列單片機(jī)的分類:</p><p>  ATMEL89系列單片機(jī)可分成標(biāo)準(zhǔn)型號(hào)、低檔型號(hào)和高檔型號(hào)三類。</p>

23、<p>  89系列單片機(jī)的標(biāo)準(zhǔn)型有AT89C51等4種型號(hào),它們基本結(jié)構(gòu)和89C51是類似的,是80C51的兼容產(chǎn)品,89系列單片機(jī)的低檔型有AT89C1051等2種型號(hào),它們的CPU和89C51是相同的,但是并行I/O口較少。高檔型的有AT89S8252,這是一種可下載FLASH單片機(jī),它和IBM微機(jī)通信進(jìn)地程序是十分方便的[3]。</p><p><b>  I/O口的功能:</b

24、></p><p>  在AT89C51中有四個(gè)雙向I/O端口P0~P3口,每個(gè)端口都是由鎖存器、輸出驅(qū)動(dòng)器、輸入緩沖器組成。當(dāng)CPU控制系統(tǒng)與外部設(shè)備交換信息時(shí),都是通過(guò)端口鎖存器進(jìn)行的。四個(gè)I/O端口都可作輸出輸入使用,其中P0和P2口通常用于對(duì)外部存儲(chǔ)器的訪問(wèn)。</p><p>  接通鎖存器時(shí),P0口作為雙向I/O使用,如P0口的鎖存器的值為1,使輸出驅(qū)動(dòng)器中的場(chǎng)效應(yīng)管截止,

25、引腳空,此時(shí)端口可作高阻輸入。鎖存器的值為0時(shí),下面的場(chǎng)效應(yīng)管導(dǎo)通,輸出為0。P0口作為地址/數(shù)據(jù)總線口使用時(shí),由“控制”線控制將電子開(kāi)關(guān)接通至“地址/數(shù)據(jù)”端,分別輸出擴(kuò)展外存的低8位地址A0~A7和數(shù)據(jù)D0~D7。一般情況下,當(dāng)P0口作輸入輸出線使用時(shí),都要外接拉高電阻。</p><p>  在AT89C51和AT89C52中,I/O端口復(fù)位值均為1。</p><p><b>

26、;  寫端口操作:</b></p><p>  當(dāng)執(zhí)行指令來(lái)改變端口鎖存器的值時(shí),新的值在最后一個(gè)指令S6P2被寫入鎖存器的。在每一個(gè)時(shí)鐘周期的S1P1,鎖存器的值由輸出緩沖器采樣并保存至下一個(gè)機(jī)器周期的S1P1才到引腳。當(dāng)鎖存器的狀態(tài)發(fā)生變化時(shí),這個(gè)變化不會(huì)立即出現(xiàn)在輸出端,至少經(jīng)過(guò)一個(gè)時(shí)鐘周期后,才把新的值輸出。</p><p>  在P1、P2、P3端口內(nèi),都接有內(nèi)部上拉

27、電阻,此上拉電阻分為固定部分和附加部分,當(dāng)端口的狀態(tài)要從0變?yōu)?時(shí),在發(fā)生變化的哪個(gè)機(jī)器周期的S1P1和S1P2接通附加的拉高電路以增加變化的速度,否則這個(gè)狀態(tài)的變化將十分緩慢。附加的拉高電路允許通過(guò)的電流比普通的上拉電阻大100倍。</p><p><b>  讀端口及接口操作:</b></p><p>  P1~P3口的輸出緩沖器每個(gè)都能取代4個(gè)LSTTL輸入。C

28、MOS型的芯片引腳可由集電極開(kāi)路電路的漏極開(kāi)路電路驅(qū)動(dòng),但在狀態(tài)從0變1時(shí),邊化的速度很慢,輸入0時(shí),TP3截止,僅靠TP2非常微弱的上拉來(lái)驅(qū)動(dòng)狀態(tài)的變化。</p><p>  在外部總線方式下,P0口的輸出緩沖器能驅(qū)動(dòng)8個(gè)LSTTL輸入,但P0口用作輸入輸出口時(shí)需外接上拉電路驅(qū)動(dòng)輸入。</p><p>  1. AT89C51芯片的介紹</p><p>  有優(yōu)異

29、的性能價(jià)格比。集成度高、體積小、有很高的可靠性、控制功能強(qiáng)、低功耗、低電壓,便于生產(chǎn)便攜式產(chǎn)品。外部總線增加了IC及SPI等串行總線方式,進(jìn)一步縮小了體積,簡(jiǎn)化了結(jié)構(gòu)。單片機(jī)的系統(tǒng)擴(kuò)展和系統(tǒng)配置較典型、規(guī)范,容易構(gòu)成各種規(guī)模的應(yīng)用系統(tǒng)。  2. AT89C51主要功能特性</p><p>  數(shù)據(jù)保留時(shí)間10年;全靜態(tài)工作:0 Hz ~ 24MHz;三級(jí)程序存儲(chǔ)器鎖定;128×8位內(nèi)部

30、RAM;32 可編程I/O線;可編程串行通道;低功耗閑置和掉電模式;片內(nèi)振蕩器和時(shí)鐘電路。兩個(gè)16位可編程定時(shí)/計(jì)數(shù)器1個(gè)串行中斷可直接驅(qū)動(dòng)LED;4k可反復(fù)擦寫(>1000次)ROM;共6個(gè)中斷源;軟件設(shè)置睡眠和喚醒功能;片內(nèi)振蕩器和時(shí)鐘電路。AT89C51具有下列主要性能:</p><p>  1. 4KB可改編程序FLASH存儲(chǔ)器(可經(jīng)受1,000次的寫入/擦除周期)</p><p

31、>  2. 全靜態(tài)工作:0HZ ~ 24MHZ</p><p>  3. 三級(jí)程序存儲(chǔ)器保密</p><p>  4. 128*8字節(jié)內(nèi)部RAM</p><p>  5. 32條可編程I/O線</p><p>  6. 2個(gè)16位定時(shí)器/計(jì)數(shù)器</p><p><b>  7. 6個(gè)中斷源</b&

32、gt;</p><p>  8. 可編程串行通道</p><p>  9. 片內(nèi)時(shí)鐘振蕩器</p><p>  另外,AT89C51是靜態(tài)邏輯來(lái)設(shè)計(jì),其工作可下降到0HZ并提供可用軟件來(lái)選擇的省電方式——空閑方式(IDLE MODE)和掉電方式(POWER DOWN MODE)。在空閑方式中,CPU停止工作,而RAM、定時(shí)器/計(jì)數(shù)器、串行口和中斷系統(tǒng)都繼續(xù)工作。在掉

33、電方式中,單片機(jī)振蕩器停止工作,由于時(shí)鐘被“凍結(jié)”,使一切功能都暫停,只保存片內(nèi)RAM中的內(nèi)容,直到下一次硬件復(fù)位為止。結(jié)構(gòu)框圖如圖2-3</p><p><b>  圖2-3結(jié)構(gòu)框圖</b></p><p>  3. AT89C51的引腳說(shuō)明</p><p>  AT89C51采用40Pin封裝的雙列直接DIP結(jié)構(gòu), 40個(gè)引腳中,正電源和地

34、線兩根,外置石英振蕩器的時(shí)鐘線兩根,4組8位共32個(gè)I/O口,中斷口線與P3口線為復(fù)用。如圖2-4所示:</p><p>  圖2-4 AT89C51的管腳圖</p><p>  圖2-5 AT89C51的內(nèi)部結(jié)構(gòu)框圖</p><p>  AT89C51有40 條引腳,分為端口線、電源線和控制線三類</p><p>  1.端口線(4*8=

35、32條)</p><p>  8051有四個(gè)并行I/O端口,每個(gè)端口有8條口線,用于傳送數(shù)據(jù)和地址。</p><p> ?。?)P0.0~P0.7:這組引腳共有8條,為P0口所專用,其中P0.7為最高位,P0.0為最低位。這8條引腳口有兩種不同的功能,分別使用于兩種不同的功能。第一種情況是89C51不帶片外存儲(chǔ)器,P0口可以作為通用I/O使用,P0.0~P0.7用于傳送CPU的輸入/輸出數(shù)

36、據(jù)。這時(shí),輸出數(shù)據(jù)可以得到鎖存,不需外接專用鎖存器,輸入數(shù)據(jù)可以得到緩沖,增加了數(shù)據(jù)輸入的可靠性;第二種情況是89C51帶片外存儲(chǔ)器,P0.0~P0.7在CPU訪問(wèn)片外存儲(chǔ)器時(shí)用于傳送片外存儲(chǔ)器的第8位地址,然后傳送CPU對(duì)片外存儲(chǔ)器的讀寫數(shù)據(jù)。</p><p>  (2)P1.0~P1.7:這8條引腳和P0口的8條引腳類似,P1.7為最高位,P1.0為最低位,當(dāng)P1口作為通用I/O使用時(shí),P1.0~P1.7的功

37、能和P0口的第一功能相同,也用于傳送用戶的輸入和輸出數(shù)據(jù)。</p><p> ?。?)P2.0~P2.7:這組引腳的第一功能和上述兩組引腳的第一功能相同,即它可以作為通用I/O口使用。它的第二功能和P0口的第二功能相配合,用于輸出片外存儲(chǔ)器的高8位地址,共同選中片外存儲(chǔ)器單元,但并不能像P0口那樣是可以傳送存儲(chǔ)器的讀寫數(shù)據(jù)。</p><p> ?。?)P3.0~P3.7:這組引腳的第一功能

38、和其余端口的第一功能相同。第二功能作控制用,每個(gè)引腳并不完全相同,如表2-1所列。</p><p>  表2-1 P3口第二功能</p><p><b>  2.電源線(2條)</b></p><p>  VCC為+5V電源線,VSS為接地線。</p><p><b>  3.控制線(6)條</b>

39、;</p><p> ?。?)外接晶體引腳XTAL1和XTAL2</p><p>  MCS-51的時(shí)鐘可以利用它內(nèi)部的振蕩器產(chǎn)生,只要在XTAL1、XTAL2引腳上外接這時(shí)反饋電路,內(nèi)部振蕩器便自激振蕩,產(chǎn)生時(shí)鐘輸出到內(nèi)部的定時(shí)控制邏輯。定時(shí)反饋電路一般為石英晶振和電容組成的并聯(lián)回路。這種方式稱為內(nèi)部方式,這種方式的外部元件連接如圖2-6所示。如果振蕩器已起振,則在XTAL2引腳上輸出3

40、V左右的正弦波。</p><p> ?。?)ALE/PROG:地址鎖存允許/編程線,配合P0口引腳的第二功能使用,在訪問(wèn)片外存儲(chǔ)器時(shí),89C51CPU在P0.0~P0.7引腳線上輸出片外存儲(chǔ)器低8位地址的同時(shí)還在ALE/PROG線上輸出一個(gè)高電位脈沖,用于把這個(gè)片外存儲(chǔ)器低8位地址鎖存到外部專用地址鎖存器讀寫數(shù)據(jù)。在不訪問(wèn)片外存儲(chǔ)器時(shí),89C51自動(dòng)在ALE/PROG線上輸出頻率為F0SC/6的脈沖。</p

41、><p><b>  圖2-6 晶振電路</b></p><p> ?。?)EA/VPP:允許訪問(wèn)片外存儲(chǔ)器編程電源線,可以控制89C51使用片內(nèi)ROM還是使用片外ROM。若EA=1,則允許使用ROM;若EA=0,則允許使用片外ROM。</p><p> ?。?)PSEN:片外ROM選通線,在執(zhí)行訪問(wèn)片外ROM的指令MOVC時(shí),8051自動(dòng)在PSE

42、N線上產(chǎn)生一個(gè)負(fù)脈沖,用于為片外ROM芯片的選通。其他情況下,PSEN線均為高電平封鎖狀態(tài)。</p><p>  (5)RST/VPD:復(fù)位電源線,可以使89C51處于復(fù)位工作狀態(tài)。通常,89C51的復(fù)位有自動(dòng)上電復(fù)位和1~2按鈕復(fù)位兩種,如圖2-7所示。</p><p><b>  圖2-7 復(fù)位電路</b></p><p>  表2-2 A

43、T89C51的管腳功能</p><p>  2.3.2 單片機(jī)外圍連接電路具體介紹</p><p>  圖2-8 系統(tǒng)單片機(jī)外圍連接電路圖</p><p>  1. 單片機(jī)的復(fù)位電路</p><p>  當(dāng)MCS-5l系列單片機(jī)的復(fù)位引腳RST(全稱RESET)出現(xiàn)2個(gè)機(jī)器周期以上的高電平時(shí),單片機(jī)就執(zhí)行復(fù)位操作。如果RST持續(xù)為高電平,

44、單片機(jī)就處于循環(huán)復(fù)位狀態(tài)。復(fù)位電路的作用是對(duì)單片機(jī)系統(tǒng)進(jìn)行抗干擾保護(hù)。根據(jù)應(yīng)用的要求,復(fù)位操作通常有兩種基本形式:上電復(fù)位和外部開(kāi)關(guān)手動(dòng)復(fù)位。本設(shè)計(jì)選用開(kāi)關(guān)復(fù)位。如圖2-9所示:</p><p>  圖2-9 單片機(jī)的復(fù)位電路</p><p>  復(fù)位電路的基本功能是:系統(tǒng)上電時(shí)提供復(fù)位信號(hào),直至系統(tǒng)電源穩(wěn)定后,撤銷復(fù)位信號(hào)。為可靠起見(jiàn),電源穩(wěn)定后還要經(jīng)一定的延時(shí)才撤銷復(fù)位信號(hào),以防電源

45、開(kāi)關(guān)或電源插頭分-合過(guò)程中引起的抖動(dòng)而影響復(fù)位。圖2-9所示的復(fù)位電路可以實(shí)現(xiàn)上述基本功能,圖2-10為其輸入-輸出特性。但解決不了電源毛刺(A 點(diǎn))和電源緩慢下降(電源電壓不足)等問(wèn)題 而且調(diào)整電路常數(shù)改變延時(shí)會(huì)令驅(qū)動(dòng)能力變差。左邊為低電平 RST為手動(dòng)復(fù)位開(kāi)關(guān)。</p><p>  圖2-10 復(fù)位電路輸入-輸出特性 </p><p>  2. 單片機(jī)的時(shí)鐘電路</p&

46、gt;<p>  單片機(jī)的時(shí)鐘信號(hào)用來(lái)提供單片機(jī)片內(nèi)各種微操作的時(shí)間基準(zhǔn),復(fù)位操作則使單片機(jī)的片內(nèi)電路初始化,使單片機(jī)從一種確定的初態(tài)開(kāi)始運(yùn)行。在引腳XTAL1和XTAL2外接晶體振蕩器(簡(jiǎn)稱晶振),就構(gòu)成了內(nèi)部振蕩方式。由于單片機(jī)內(nèi)部有一個(gè)高增益反相放大器,當(dāng)外接晶振后,就構(gòu)成了自激振蕩器并產(chǎn)生振蕩時(shí)鐘脈沖。單片機(jī)的時(shí)鐘電路如圖2-11:</p><p>  圖2-11 單片機(jī)的時(shí)鐘電路</

47、p><p>  圖2-11中電容器C4、C5叫晶振的負(fù)載電容,分別接在晶振的兩個(gè)腳上和對(duì)地的電容,起穩(wěn)定振蕩頻率、快速起振的作用,其電容值一般在5~30pF,本設(shè)計(jì)中選用22pF的電容。需要注意的是: 這兩個(gè)電容串聯(lián)的值是并聯(lián)在諧振回路上的, 會(huì)影響振蕩頻率. 當(dāng)兩個(gè)電容量相等時(shí), 反饋系數(shù)是0.5, 一般是可以滿足振蕩條件的。如果不易起振或振蕩不穩(wěn)定可以減小輸入端對(duì)地電容量, 而增加輸出端的值以提高反饋量。電容的大

48、小可起頻率微調(diào)作用。</p><p>  晶振12MHz的作用:?jiǎn)纹瑱C(jī)使用12MHz晶振,可以以500Hz的采樣率,內(nèi)部振蕩方式所得的時(shí)鐘信號(hào)比較穩(wěn)定。如果采用更高的晶振頻率,或采用較少的通道數(shù),這一采樣率還可以進(jìn)一步提高。</p><p>  圖2-12 時(shí)序描述時(shí)鐘波形圖</p><p>  3. 單片機(jī)與紅外的接口電路</p><p>

49、  單片機(jī)無(wú)論完成什么工作,都需要與外部進(jìn)行信息交換,這種信息交換主要由單片機(jī)的I/O完成。單片機(jī)選擇P0、P2、P1與紅外裝置的地址腳連接。如圖2-13。</p><p>  圖2-13 HS0038與單片機(jī)接口電路</p><p>  2.3.3 單片機(jī)外圍連接電路的測(cè)試與分析</p><p>  單片機(jī)AT89C51的外圍電路按照?qǐng)D2-8進(jìn)行焊接無(wú)誤后。&l

50、t;/p><p>  在不接交流電壓220V的情況下,將萬(wàn)用表打到電阻檔R×1或R×10檔,紅表筆接AT89C51的20腳,黑表筆分別接電阻R1的接地端、電容(C4、C5)的接地端,觀察表頭的指針指示值應(yīng)該為零。</p><p>  用同樣的檔位,將紅表筆接RST的A點(diǎn)(如圖2-9所示),黑表筆接AT89C51的40腳和31腳,觀察表頭指正指示值應(yīng)為零。然后,將兩個(gè)表筆分別

51、接AT89C51的連接端口,觀察指針的指示值都應(yīng)該為零值。如果有阻值說(shuō)明電路的連接有錯(cuò)誤,需要修改,修改后需要重新檢測(cè),才能正式通電。</p><p>  在以上的基礎(chǔ)之上,接通220V交流電壓,將萬(wàn)用表打到直流電壓檔×10V檔,紅表筆接RST復(fù)位鍵的A端(如圖2-9所示),黑表筆接AT89C51的20腳,觀察表頭指針指示在5V左右,表明RST和20腳地的接法無(wú)誤。</p><p&g

52、t;  用同樣的檔位測(cè)試AT89C51的40腳和31腳分別與20腳之間的直流電壓,其測(cè)試電壓值應(yīng)為5V左右,否則說(shuō)明電路有故障,需要排故障。</p><p>  按照以上步驟進(jìn)行測(cè)試與分析后,才能證明單片機(jī)電路基本可以正常工作。</p><p>  2.4 紅外發(fā)送接收電路具體介紹與測(cè)試分析</p><p>  1. 紅外系統(tǒng)的介紹</p><p

53、>  人的眼睛能看到的可見(jiàn)光,若按波長(zhǎng)排列,依次(從長(zhǎng)到短)為紅、橙、黃、綠、青、藍(lán)、紫,紅光的波長(zhǎng)范圍為0.62μm~0.76μm,比紅光波長(zhǎng)還長(zhǎng)的光叫紅外線。</p><p>  人們見(jiàn)到的紅外遙控系統(tǒng)分為發(fā)射和接收兩部分。發(fā)射部分的發(fā)射元件為紅外發(fā)光二極管,它發(fā)出的是紅外線而不是可見(jiàn)光。</p><p>  常用的紅外發(fā)光二極管發(fā)出的紅外線波長(zhǎng)為940nm左右,外形與普通φ5m

54、m發(fā)光二極管相同,只是顏色不同。一般有透明、黑色和深藍(lán)色等三種。</p><p>  接收電路的紅外接收管是一種光敏二極管,使用時(shí)要給紅外接收二極管加反向偏壓,它才能正常工作而獲得高的靈敏度。紅外接收二極管一般有圓形和方形兩種。由于紅外發(fā)光二極管的發(fā)射功率較小,紅外接收二極管收到的信號(hào)較弱,所以接收端就要增加高增益放大電路。然而現(xiàn)在不論是業(yè)余制作或正式的產(chǎn)品,大都采用成品的一體化接收頭。紅外線一體化接收頭是集紅外

55、接收、放大、濾波和比較器輸出等的模塊,性能穩(wěn)定、可靠。所以,有了一體化接收頭,人們不再制作接收放大電路,這樣紅外接收電路不僅簡(jiǎn)單而且可靠性大大提高。</p><p>  2. 紅外發(fā)送接收裝置的選擇</p><p>  紅外接收電路通常由紅外接收二極管與放大電路組成,放大電路通常又由一個(gè)集成塊及若干電阻電容等元件組成,并且需要封裝在一個(gè)金屬屏蔽盒里,因而電路比較復(fù)雜,體積卻很小,還不及一個(gè)

56、7805體積大!</p><p>  HS0038(如圖2-14)是一種特殊的紅外接收電路,它將紅外接收管與放大電路集成在一體,體積?。ù笮∨c一只中功率三極管相當(dāng)),密封性好,靈敏度高,并且價(jià)格低廉,市場(chǎng)售價(jià)只有幾元錢。它僅有三條管腳,分別是電源正極、電源負(fù)極以及信號(hào)輸出端,其工作電壓在5V左右.只要給它接上電源即是一個(gè)完整的紅外接收放大器,使用十分方便。</p><p>  圖2-14

57、HS0038</p><p>  3. HS0038功能介紹</p><p>  HS0038的主要功能包括放大,選頻,解調(diào)幾大部分,要求輸入信號(hào)需是已經(jīng)被調(diào)制的信號(hào)。經(jīng)過(guò)它的接收放大和解調(diào)會(huì)在輸出端直接輸出原始的信號(hào)。從而使電路達(dá)到最簡(jiǎn)化!靈敏度和抗干擾性都非常好,可以說(shuō)是一個(gè)接收紅外信號(hào)的理想裝置。紅外接收電路框圖如圖2-15</p><p>  圖2-16 紅

58、外接收電路框圖</p><p>  HS0038 一體化紅外接收頭,接收頻率為38kHz+1kHz管腳依次為:</p><p>  凸面向自已,從左向右數(shù): 1-GND 2-VCC 3—OUT</p><p>  連接時(shí),在VCC與GND之間并入一個(gè)0.1μF的電容有助于改進(jìn)信號(hào)質(zhì)量。其可以用于遙控編碼接收,也可以用于低碼率的數(shù)據(jù)通訊。</p>

59、<p>  HS0038 信號(hào)電平:</p><p>  38kHz 紅外發(fā)射接收到時(shí): OUT低電平輸出</p><p>  38kHz 紅外發(fā)射接收不到時(shí):OUT高電平輸出</p><p>  HS0038的使用注意事項(xiàng):</p><p>  1:38kHz紅外發(fā)射信號(hào)在HS0038接收角度范圍邊沿區(qū)域時(shí),接收信號(hào)不斷振蕩無(wú)法

60、穩(wěn)定,因此為保證信號(hào)質(zhì)量,使用時(shí)發(fā)射接收盡力正對(duì)為好;</p><p>  2:HS0038用于數(shù)據(jù)通訊時(shí),在標(biāo)準(zhǔn)RS232下,波特率設(shè)置不要大于2400bps,否則HS0038無(wú)法區(qū)分到接收的信號(hào)(2400bps接近其帶寬極限了)。</p><p>  紅外接收頭的主要參數(shù)如表2-3:</p><p>  表2-3 HS0038主要參數(shù)指標(biāo)</p>

61、<p><b>  總 結(jié)</b></p><p>  在確定元件芯片后,進(jìn)行焊接。完成電源電路、單片機(jī)外圍電路和紅外發(fā)送接收電路的檢測(cè)后,并且進(jìn)行一定的分析。</p><p><b>  系統(tǒng)軟件設(shè)計(jì)</b></p><p>  3.1 系統(tǒng)程序編寫思想</p><p>  程序采用C

62、語(yǔ)言來(lái)設(shè)計(jì),可以編寫的單片機(jī)程序無(wú)須懂得單片機(jī)的具體硬件, 也能夠編出符合硬件實(shí)際的專業(yè)水平的程序。</p><p>  為了完成系統(tǒng)設(shè)計(jì)要求的功能,需根據(jù)需求對(duì)AT89C51進(jìn)行編程。編程前,須按:</p><p>  1. AT89C51說(shuō)明設(shè)置好地址、數(shù)據(jù)及控制信號(hào);</p><p>  2. 在地址線上加上要編程單元的地址信號(hào);</p><

63、;p>  3. 在數(shù)據(jù)線上加上要寫入的數(shù)據(jù)字節(jié);</p><p>  4. 激活相應(yīng)的控制信號(hào);</p><p>  每對(duì)AT89C51的Flash存儲(chǔ)陣列寫入一個(gè)字節(jié),加上一個(gè)ALE/PROG編程脈沖。</p><p>  重復(fù)1-4步驟,改變編程單元的地址和寫入的數(shù)據(jù),直到全部文件編程結(jié)束。</p><p>  3.2 系統(tǒng)主要程

64、序的設(shè)計(jì)</p><p>  3.2.1 初始化程序</p><p>  將P0~P3端口置輸入狀態(tài),在堆棧指針設(shè)于70H處,定時(shí)器T1設(shè)為8位自動(dòng)重裝初值模式,定時(shí)時(shí)間為13μs,用于40kHz的紅外線信號(hào)調(diào)制。</p><p><b>  初始化程序:</b></p><p>  CLEARMEMIO:CLR A&l

65、t;/p><p><b>  DEC A</b></p><p><b>  MOV P1,A</b></p><p><b>  MOV P2,A</b></p><p><b>  MOV P3,A</b></p><p><

66、b>  CLR P3.5</b></p><p>  CLEARMEM: MOV SP,#70H</p><p>  MOV IE,#00H</p><p>  MOV IP,#01H</p><p>  MOV TMOD,#22H</p><p>  MOV TH1,#0F3H</p>

67、<p>  MOV TL1,#0F3H</p><p><b>  SETB EX0</b></p><p><b>  SETB EX1</b></p><p><b>  CLR ET1</b></p><p><b>  SETB EA</b

68、></p><p><b>  RET</b></p><p>  /*T1中斷服務(wù)程序*/</p><p>  INTT1:CPL P3.5</p><p><b>  RETI</b></p><p><b>  主程序</b></p&g

69、t;<p>  順序檢測(cè)P0.1~P0.2端口,若某端口為低電平,則轉(zhuǎn)發(fā)送程序。結(jié)束后延時(shí)60ms,再轉(zhuǎn)檢測(cè)程序循環(huán)。主程序流程圖如圖3-1所示。</p><p>  圖3-1 系統(tǒng)主程序流程圖</p><p>  掃鍵程序(主程序):</p><p>  KEYWORK: SETB P1.2

70、 ;置輸入狀態(tài)</p><p>  SETB P1.1 ;置輸入狀態(tài)</p><p>  SETB P1.0 ;置輸入狀態(tài)</p><p>  CLR 00H ;清00H剎車標(biāo)志位</p&g

71、t;<p>  CLR P1.3/*關(guān)蜂鳴器*/</p><p>  JNB P1.2,KEY3 ;查剎車輸入,為0轉(zhuǎn)KEY3</p><p>  KEY4: JNB P1.0,KEY0 ;查左轉(zhuǎn)輸入,為0轉(zhuǎn)KEY0</p><p>  JNB P1

72、.1,KEY1 ;查右轉(zhuǎn)輸入,為0轉(zhuǎn)KEY1</p><p>  KEY5: JB 00H,KEY2 ;標(biāo)志為1轉(zhuǎn)KEY2</p><p>  SETB EA ;標(biāo)志為0,開(kāi)總中斷允許</p><

73、p>  SETB EX1 ;開(kāi)外中斷1</p><p>  SETB EX0 ;開(kāi)外中斷0</p><p>  LCALL DL10MS ;延時(shí)60ms</p><p>  LCALL D

74、L10MS ;</p><p>  LCALL DL10MS ;</p><p>  LCALL DL10MS ;</p><p>  LCALL DL10MS

75、 ;</p><p>  LCALL DL10MS ;</p><p>  KEY6: SETB P0.0 ;關(guān)前車左轉(zhuǎn)提示輸出</p><p>  SETB P0.1 ;關(guān)前車右

76、轉(zhuǎn)提示輸出</p><p>  SETB P0.2 ;關(guān)后車超車提示輸出</p><p>  SETB P0.3 ;關(guān)前車剎車提示輸出</p><p>  LJMP KEYWORK ;跳回KEY

77、WORK循環(huán)</p><p>  KEY3: LCALL DELAY ;延時(shí)消抖動(dòng)</p><p>  JB P1.2,KEY5 ;是干擾轉(zhuǎn)KEY5</p><p>  SETB 00H ;剎

78、車標(biāo)志1</p><p>  LJMP KEY4 ;轉(zhuǎn)KEY4查左右轉(zhuǎn)彎按鍵</p><p>  KEY0: LCALL DELAY ;延時(shí)消抖動(dòng)</p><p>  JB P1.0,KEY5

79、 ;是干擾轉(zhuǎn)KEY5</p><p>  MOV A,#02H ;發(fā)2個(gè)脈沖</p><p>  LJMP REMOTE ;跳到發(fā)射程序</p><p>  KEY1: LCALL DELAY ;延時(shí)消

80、抖動(dòng)</p><p>  JB P1.1,KEY5 ;是干擾轉(zhuǎn)KEY5</p><p>  MOV A,#05H ;發(fā)5個(gè)脈沖</p><p>  LJMP REMOTE ;跳到發(fā)射程序</p>&l

81、t;p>  KEY2: CLR 00H ;清00H標(biāo)志</p><p>  MOV A,#0BH ;發(fā)8個(gè)脈沖</p><p>  LJMP REMOTE ;跳到發(fā)射程序</p><p><b

82、>  中斷接收程序</b></p><p>  外中斷0接收前車信息碼,外中斷1接收后車信息碼。當(dāng)外中斷允許并且紅外線接收頭輸出脈沖編碼時(shí),中斷程序?qū)崟r(shí)接收編碼并且對(duì)脈沖個(gè)數(shù)進(jìn)行計(jì)數(shù),根據(jù)接收脈沖個(gè)數(shù)分別控制P0.3~P0.6顯示端口。中斷接收程序流程圖如圖3-2所示</p><p>  圖3-2 中斷接收程序流程圖</p><p>  前車信息

83、接受程序(外中斷0):</p><p>  INTEX0: PUSH ACC ;現(xiàn)場(chǎng)保護(hù)</p><p>  PUSH PSW ;</p><p>  CLR EX0 ;關(guān)外中斷0</p><p

84、>  CLR EX1 ;關(guān)外中斷1</p><p>  CLR EA ;關(guān)總中斷允許</p><p>  JNB P3.1,READ1 ;P1.1為0轉(zhuǎn)READ1</p><p>  READOUT0:POP PSW

85、 ;是干擾,中斷退出</p><p>  POP ACC ;</p><p><b>  RETI ;</b></p><p>  READ1: CLR A ;清A</p>

86、<p>  MOV DPH,A ;清DPTR</p><p>  MOV DPL,A ;</p><p>  HARD1: JB P3.1,HARD11 ;8*255=2.04ms,>2.04ms判定是起始位</p>

87、<p>  INC DPTR ;低電平計(jì)數(shù)(周期為8μs)</p><p>  NOP ;</p><p><b>  NOP</b></p><p>  AJMP HARD1 ;低電平

88、循環(huán)計(jì)數(shù)</p><p>  HARD11:MOV A,DPH ;</p><p>  JZ READOUT0 ;高8位為0,小于2.04ms,退出</p><p>  CLR A ;>2.04ms判定是起始位<

89、/p><p>  READ11:INC A ;脈沖數(shù)加1</p><p>  READ12:JNB P3.1,READ12 ;低電平等待</p><p>  MOV R1,#0AH ;高電平脈寬判斷用</p><

90、;p>  READ13:JNB P3.1,READ11 ;變低電平轉(zhuǎn)READ11</p><p>  LCALL DELAY ;延時(shí)512μs</p><p>  DJNZ R1,READ13 ;延時(shí)小于10次轉(zhuǎn)READ13循環(huán)</p><

91、p>  DEC A ;高電平寬大于5ms停止接收,A減1</p><p>  DEC A ;再減1</p><p>  JZ FLT ;是2個(gè)脈沖,執(zhí)行FLT</p><p>  DEC A

92、 ;</p><p>  DEC A ;</p><p>  DEC A ;</p><p>  JZ FRT ;是5個(gè)脈沖,執(zhí)行FRT&l

93、t;/p><p>  DEC A ;</p><p>  DEC A ;</p><p>  DEC A ;</p><p>  DEC A

94、 ;</p><p>  DEC A ;</p><p>  DEC A ;</p><p>  JZ STOP ;是8個(gè)脈沖,執(zhí)行STOP</p><p>  C

95、LR PX0 ;外中斷0置低優(yōu)先級(jí)</p><p>  SETB PX1 ;外中斷1置高優(yōu)先級(jí)</p><p>  LJMP READOUT0 ;轉(zhuǎn)中斷退出</p><p>  后車接受程序(外中斷1):</p>

96、<p>  INTEX1: PUSH ACC ;</p><p>  PUSH PSW ;</p><p>  CLR EX1 ;</p><p>  CLR EX0

97、 ;</p><p>  CLR EA ; </p><p>  JNB P3.4,READ2 ;</p><p>  READOUT1:POP PSW ; </p><p>  POP ACC

98、 ;</p><p>  RETI ;</p><p>  READ2: CLR A ; </p><p>  MOV DPH,A ;</p>

99、<p>  MOV DPL,A ; </p><p>  HARD2: JB P3.4,HARD21 ;</p><p>  INC DPTR ;</p><p>  NOP

100、 ;</p><p>  NOP ;</p><p>  AJMP HARD2 ; </p><p>  HARD21:MOV A,DPH ;</

101、p><p>  JZ READOUT1 ;</p><p>  CLR A ;</p><p>  READ21:INC A ;</p><p>  READ22:JNB

102、P3.4,READ22 ; </p><p>  MOV R1,#0AH ;</p><p>  READ23:JNB P3.4,READ21 ;</p><p>  LCALL DELAY

103、 ;</p><p>  DJNZ R1,READ23 ; </p><p>  DEC A ;</p><p>  DEC A ;</p><p>  JZ

104、BLT ;是2個(gè)脈沖,執(zhí)行BLT</p><p>  CLR PX1 ;外中斷0于外中斷1交換中斷優(yōu)先級(jí)</p><p>  SETB PX0 ;</p><p>  LJMP READOUT1

105、 ;轉(zhuǎn)中斷退出</p><p><b> ??;</b></p><p>  FLT: CLR P0.0 </p><p>  SETB P1.3/*開(kāi)蜂鳴器*/ </p><p>  LJMP READOUT0

106、 </p><p>  FRT: CLR P0.1</p><p>  SETB P1.3/*開(kāi)蜂鳴器*/</p><p>  LJMP READOUT0</p><p>  BLT: CLR P0.2</p><p>  SETB P1.3/*開(kāi)蜂鳴器*/</p><p>  LJMP

107、 READOUT1</p><p>  STOP:CLR P0.3</p><p>  SETB P1.3/*開(kāi)蜂鳴器*/</p><p>  LJMP READOUT0</p><p><b>  信息碼發(fā)送程序</b></p><p>  將掃鍵程序中的脈沖個(gè)數(shù)設(shè)定值調(diào)入寄存器,控制發(fā)射脈沖個(gè)

108、數(shù),其中第一個(gè)脈沖寬度為3ms,其余為1ms,發(fā)送完成后延時(shí)10ms作為結(jié)束標(biāo)志。當(dāng)發(fā)送編碼時(shí),開(kāi)啟定時(shí)中斷T1,以實(shí)現(xiàn)40kHz的編碼調(diào)制。</p><p><b>  載波發(fā)送程序:</b></p><p>  REMOTE: CLR EX0</p><p><b>  CLR EX1</b></p>

109、<p><b>  MOV R1,A</b></p><p><b>  LJMP OUT3</b></p><p>  OUT: MOV R0,#02H</p><p>  OUT1: SETB ET1</p><p><b>  SETB TR1<

110、/b></p><p>  LCALL DELAY</p><p>  DJNZ R0, OUT1</p><p>  MOV R0,#02H</p><p>  OUT2: CLR TR1</p><p><b>  CLR ET1</b></p><p>

111、<b>  CLR P3.5</b></p><p>  LCALL DELAY</p><p>  DJNZ R0,OUT2</p><p>  DJNZ R1,OUT</p><p>  LCALL DL10MS</p><p><b>  LJMP KEY5</b>&l

112、t;/p><p>  OUT3: MOV R0,#06H</p><p><b>  LJMP OUT1</b></p><p>  /*延時(shí)249us*2+3=501us*/</p><p>  DELAY:MOV R7,#0F9H</p><p>  DELAY1:DJNZ R7,DELA

113、Y1 </p><p><b>  RET</b></p><p>  /*延時(shí)10MS*/</p><p>  DL10MS: MOV R6,#14H</p><p>  DL10MS1:LCALL DELAY</p><p>  DJNZ R6,DL10MS1</p><p

114、><b>  RET</b></p><p><b>  END </b></p><p><b>  總 結(jié)</b></p><p>  系統(tǒng)程序的編寫決定系統(tǒng)的設(shè)計(jì)成功。程序的運(yùn)用可以根據(jù)系統(tǒng)自身所能實(shí)現(xiàn)的功能要求進(jìn)行編寫,同時(shí),用何種語(yǔ)言編寫也是對(duì)語(yǔ)言的掌握能力而決定。</p>

115、<p>  第4章 系統(tǒng)硬件電路與軟件程序的調(diào)試</p><p>  4.1 硬件電路部分的調(diào)試</p><p>  4.1.1 硬件調(diào)試步驟</p><p>  在“第2章硬件系統(tǒng)各部分電路具體介紹與分析”的基礎(chǔ)上進(jìn)行調(diào)試。</p><p>  1. 按照附錄1的原理圖進(jìn)行分步調(diào)試,不接電源的情況下,將萬(wàn)用表打到電阻R&

116、#215;1或R×10檔,觀察相互連接的管腳之間的阻值是否為零。</p><p>  2. 按照附錄1的原理圖進(jìn)行分步調(diào)試,接通電源的情況下,將萬(wàn)用表打到直流檔×10V檔,觀察電源端與地之間的直流電壓是否為5V。</p><p>  3. 用示波器調(diào)試蜂鳴器的工作情況,將示波器串連接在電路中,進(jìn)行放音,觀察示波器的波形,波形有一定的跳動(dòng),說(shuō)明蜂鳴器是好的,同時(shí)也可證

溫馨提示

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