版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、<p> 汽車行駛信息發(fā)送與接收器的設(shè)計</p><p><b> 序 言</b></p><p> 現(xiàn)代社會,汽車越來越多,行車安全成為司機和司機家人關(guān)注的首要問題。</p><p> 在現(xiàn)代交通中,汽車超車及轉(zhuǎn)彎時經(jīng)常容易出交通意外,特別是雨霧天氣,轉(zhuǎn)向及剎車指示燈能見度減小,使駕駛員不能及時了解前后車的行駛意向。在汽車上
2、設(shè)計一種汽車間行駛信息紅外線自動接收發(fā)送電路,能自動顯示前后車的轉(zhuǎn)向、剎車情況并用聲響提醒,對提高汽車行駛安全具有一定的意義。</p><p> 單片機的英文名稱是Micro Controller unit,縮寫為MCU,又稱為微控制器,它是一種面向控制的大規(guī)模集成電路芯片。它應(yīng)用簡單靈活,使用非常廣泛,但存在無法實時保存大量的數(shù)據(jù)、實時更新數(shù)據(jù)等缺點,因此經(jīng)常需要把單片機和PC機的優(yōu)勢相結(jié)合組成系統(tǒng)。PC和單
3、片機之間的通信方式有有線和無線通信技術(shù)之分,同時通訊連接方式有多種,如利用微機的串口、并口或?qū)iT的I/O板進行數(shù)據(jù)傳送,單片機通過共享通道的方法掛在上述總線上。采用紅外線通訊方案具有廉價、近距離、無線、低功耗、保密性強等優(yōu)點。應(yīng)用時應(yīng)根據(jù)實際需要進行選擇。</p><p> 因此,本文設(shè)計了一個將單片機AT89C51與紅外線發(fā)送接收進行結(jié)合的系統(tǒng)電路。選擇了汽車左轉(zhuǎn)彎、右轉(zhuǎn)彎和剎車3種汽車行駛狀態(tài)作為發(fā)送信息,
4、接受信息有前車左轉(zhuǎn)彎、前車右轉(zhuǎn)彎、前車剎車和后車超車4種顯示信息。在汽車行駛中,當前車轉(zhuǎn)彎、剎車或后車超車時都能在本汽車上顯示并發(fā)出聲響提醒。</p><p><b> 系統(tǒng)總體設(shè)計</b></p><p><b> 系統(tǒng)總體設(shè)計</b></p><p> 汽車超車及轉(zhuǎn)彎時經(jīng)常容易出交通意外,特別是雨霧天氣,轉(zhuǎn)向及剎
5、車指示燈能見度減小,使駕駛員不能及時了解前后車的行駛意向。在汽車上設(shè)計一種汽車間行駛信息紅外線自動接收發(fā)送電路,能自動顯示前后車的轉(zhuǎn)向、剎車情況并用聲響提醒。</p><p> 因此,本設(shè)計是一個簡單的將單片機AT89C51與紅外線發(fā)送接收進行結(jié)合的系統(tǒng)電路。系統(tǒng)可以實現(xiàn)前車左轉(zhuǎn)彎、右轉(zhuǎn)彎、剎車,以及后車超車時進行顯示并發(fā)出聲響提醒。</p><p> 1.1 硬件設(shè)計思路</
6、p><p> 本系統(tǒng)通過觸發(fā)開關(guān)來實現(xiàn)電路的“發(fā)送”和“接收”功能,前車轉(zhuǎn)彎、剎車時,按下發(fā)送按鈕,后車就能接收到信息,后車超車時,按下按鈕,前車就能收到信號,并發(fā)車聲響提醒。系統(tǒng)具體工作方框圖如下圖1-1:</p><p> 圖1-1 系統(tǒng)電路的工作框圖</p><p> 1.2 軟件設(shè)計思路</p><p> 圖1-1 系統(tǒng)主程序
7、流程圖</p><p> 紅外接收器為三引腳結(jié)構(gòu),安裝用方便,其信號腳可直接接單片機P0.1、P1.1及中斷輸入端口(如圖附錄1)。P0.1用于接收后車的行駛信息信號,P1.1用于接收前車的行駛信息信號。電平轉(zhuǎn)換接口電路采用9013三極管。當轉(zhuǎn)向開關(guān)或剎車開關(guān)閑合時,其P0.0、P0.1、P0.2 三端口相應(yīng)的電平變?yōu)榱恪0.0為左轉(zhuǎn)彎輸入,P0.1為右轉(zhuǎn)彎輸入,P0.2為剎車。</p><
8、;p> 單片機從P0.3~P0.6輸出前后車的行駛信息提示信號,其中P0.3用于前車左轉(zhuǎn)彎指示及提醒,P0.4用于前車右轉(zhuǎn)彎指示及提醒,P0.5用于后車超車指示及提醒,P0.6用于前車剎車指示及提醒。當某一輸出端口為低電平時,相應(yīng)的字符燈點亮并發(fā)出聲響提醒。本車行駛信息的發(fā)送是從P3.5輸出,是一組調(diào)制頻率為40kHz的方波脈沖,通過三極管放大,由安裝在汽車前后位置的紅外線發(fā)射管發(fā)出。</p><p>
9、 硬件系統(tǒng)各部分電路具體介紹與分析</p><p> 2.1 系統(tǒng)硬件電路的設(shè)計</p><p> 2.1.1 輸入系統(tǒng)接口電路</p><p> 輸入接口電路有處理紅外線接收的紅外線接收器及用于轉(zhuǎn)向,剎車信號輸入的電平轉(zhuǎn)換電路。紅外接收器采用通用遠紅外接收解調(diào)一體成品,其器件為三引腳結(jié)構(gòu),安裝用方便,其信號腳可直接接單片機P0.1、P1.1及中斷輸入端口。P
10、0.1用于接收后車的行駛信息信號,P1.1用于接收前車的行駛信息信號。電平轉(zhuǎn)換接口電路采用9013三極管。當轉(zhuǎn)向開關(guān)或剎車開關(guān)閑合時,其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> 單片機從P0.3~P0.6輸出前后車的行駛信息提示信號
11、,其中P0.3用于前車左轉(zhuǎn)彎指示及提醒,P0.4用于前車右轉(zhuǎn)彎指示及提醒,P0.5用于后車超車指示及提醒,P0.6用于前車剎車指示及提醒。當某一輸出端口為低電平時,相應(yīng)的字符燈點亮并發(fā)出聲響提醒。本車行駛信息的發(fā)送是從P3.5(T1)輸出,是一組調(diào)制頻率為40kHz的方波脈沖(見圖2-1),通過三極管放大,由安裝在汽車前后位置的紅外線發(fā)射管發(fā)出[1]。</p><p> 圖2-1 P3.5端口輸出的編碼波形圖&
12、lt;/p><p> 2.1.3 基本系統(tǒng)組成</p><p> 本系統(tǒng)采用12MHz晶振時鐘頻率,30pF的瓷片負載或匹配電容(校準晶振),上電復(fù)位采用最簡單的RC電路,片外儲存器選擇腳(31腳)接正電源。</p><p> 2.2 數(shù)據(jù)幀的編碼格式及發(fā)送/接收過程</p><p><b> 1. 編碼的格式</b>
13、;</p><p> 本系統(tǒng)采用脈沖個數(shù)編碼,分別代表左轉(zhuǎn)彎、右轉(zhuǎn)彎、剎車3種狀態(tài),其中左轉(zhuǎn)彎為2個脈沖,右轉(zhuǎn)彎為5個脈沖,剎車為8個脈沖。為了增加接收的可靠性,第一位碼寬為3ms,其余為1ms,數(shù)據(jù)幀間隔大于10ms,如圖2-2</p><p> 圖2-2 紅外線接收器輸出的一幀數(shù)據(jù)波形</p><p> 2. 數(shù)據(jù)幀的發(fā)送過程</p><
14、;p> 當單片機檢測到P0.0~P0.2端口為低電平時,先設(shè)置發(fā)送標志,然后依次發(fā)送數(shù)據(jù)幀。發(fā)送數(shù)據(jù)時,中斷將被禁止。當剎車(轉(zhuǎn)向)開關(guān)閉合時,數(shù)據(jù)幀將被重復(fù)連續(xù)地發(fā)射,直到開關(guān)松開為止。</p><p><b> 據(jù)幀的接收過程</b></p><p> 當紅外線接收器輸出數(shù)據(jù)幀脈沖時,第一位碼的低電平將啟動中斷程序,實時接收數(shù)據(jù)幀。在數(shù)據(jù)幀接收時,中斷
15、將被關(guān)閉,并且對第一位(起始位)碼的碼寬進行驗證。若第一位低電平碼的脈寬小于2ms,將作誤幀處理。當間隔位的高電平脈寬大于3ms時,結(jié)束接收,然后根據(jù)累加器A中的脈沖個數(shù),使相應(yīng)的輸出口(P0.3~P0.6)為低電平,驅(qū)動顯示及信響電路[2]。</p><p> 2.3 單片機外圍連接電路具體介紹與測試分析</p><p> 2.3.1 單片機芯片的選擇</p><
16、;p> MCS-51單片機是美國INTEL公司于1980年推出的產(chǎn)品,由于它將8位CPU和閃速存儲器組合在單個芯片中,為很多嵌入式控制應(yīng)用系統(tǒng)提供了一個高度靈活且價格低廉的解決方案。內(nèi)核系列兼容的單片機仍是應(yīng)用的主流產(chǎn)品。例如:目前流行的AT89S51和89C51。本次設(shè)計中選用了單片機AT89C51,兩者相比之下,現(xiàn)有的設(shè)備支持AT89C51,現(xiàn)有的大量資料也是有關(guān)于AT89C51多。</p><p>
17、 ATMEL 89系列單片機是以8031為結(jié)構(gòu)的,所以,它和8051系列單片機是兼容的系列。</p><p> 89系列單片機對于一般的用戶來說,存在下面很明顯的優(yōu)點:</p><p> 1. 含有FLASH存儲器</p><p> 因此在系統(tǒng)的開發(fā)過程中可以十分容易進行修改,這就大大縮短了系統(tǒng)的開發(fā)周期。同時,在系統(tǒng)工作過程中,能有效地保持一些數(shù)據(jù)信息,即
18、使外界損壞也不影響到信息的保持。</p><p> 2. 和80C51插座兼容</p><p> 89系列單片機的引腳是和80C51一樣的,所以,當89系列單片機取代80C51時,可以進行代換。</p><p><b> (1)靜態(tài)時鐘方式</b></p><p> 89系列單片機采用靜態(tài)時鐘方式,所以可以節(jié)省電
19、能,這對于降低便攜式產(chǎn)品的功耗十分有用。</p><p> ?。?)錯誤編程亦無廢品產(chǎn)生</p><p> 一般的OPT產(chǎn)品,一旦錯誤編程就成了廢品。而89系列單片機內(nèi)部采用了FLASH存儲器,所以,錯誤編程后可以重新編程,直到正確為止,故不存在廢品。</p><p> ?。?)可進行反復(fù)系統(tǒng)試驗</p><p> 用89系列單片機設(shè)計的
20、系統(tǒng),可以反復(fù)進行系統(tǒng)試驗;每次試驗可以不同的程序,這樣可以保證用戶的系統(tǒng)設(shè)計達到最優(yōu)。而且隨用戶的需要和發(fā)展,還可以進行修改,使系統(tǒng)不斷能追隨用戶的最新要求。</p><p> 3. 89系列單片機內(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> ?。?)總線控制部件</b></p><p><b> (4)重點控制部件</b></p><p> ?。?)片內(nèi)FLASH存儲器</p><p><b> ?。?)片內(nèi)RAM</b>
22、</p><p> ?。?)并行I/O接口</p><p><b> ?。?)定時器</b></p><p> (9)串行I/O接口</p><p> ATMEL89系列單片機的分類:</p><p> ATMEL89系列單片機可分成標準型號、低檔型號和高檔型號三類。</p>
23、<p> 89系列單片機的標準型有AT89C51等4種型號,它們基本結(jié)構(gòu)和89C51是類似的,是80C51的兼容產(chǎn)品,89系列單片機的低檔型有AT89C1051等2種型號,它們的CPU和89C51是相同的,但是并行I/O口較少。高檔型的有AT89S8252,這是一種可下載FLASH單片機,它和IBM微機通信進地程序是十分方便的[3]。</p><p><b> I/O口的功能:</b
24、></p><p> 在AT89C51中有四個雙向I/O端口P0~P3口,每個端口都是由鎖存器、輸出驅(qū)動器、輸入緩沖器組成。當CPU控制系統(tǒng)與外部設(shè)備交換信息時,都是通過端口鎖存器進行的。四個I/O端口都可作輸出輸入使用,其中P0和P2口通常用于對外部存儲器的訪問。</p><p> 接通鎖存器時,P0口作為雙向I/O使用,如P0口的鎖存器的值為1,使輸出驅(qū)動器中的場效應(yīng)管截止,
25、引腳空,此時端口可作高阻輸入。鎖存器的值為0時,下面的場效應(yīng)管導(dǎo)通,輸出為0。P0口作為地址/數(shù)據(jù)總線口使用時,由“控制”線控制將電子開關(guān)接通至“地址/數(shù)據(jù)”端,分別輸出擴展外存的低8位地址A0~A7和數(shù)據(jù)D0~D7。一般情況下,當P0口作輸入輸出線使用時,都要外接拉高電阻。</p><p> 在AT89C51和AT89C52中,I/O端口復(fù)位值均為1。</p><p><b>
26、; 寫端口操作:</b></p><p> 當執(zhí)行指令來改變端口鎖存器的值時,新的值在最后一個指令S6P2被寫入鎖存器的。在每一個時鐘周期的S1P1,鎖存器的值由輸出緩沖器采樣并保存至下一個機器周期的S1P1才到引腳。當鎖存器的狀態(tài)發(fā)生變化時,這個變化不會立即出現(xiàn)在輸出端,至少經(jīng)過一個時鐘周期后,才把新的值輸出。</p><p> 在P1、P2、P3端口內(nèi),都接有內(nèi)部上拉
27、電阻,此上拉電阻分為固定部分和附加部分,當端口的狀態(tài)要從0變?yōu)?時,在發(fā)生變化的哪個機器周期的S1P1和S1P2接通附加的拉高電路以增加變化的速度,否則這個狀態(tài)的變化將十分緩慢。附加的拉高電路允許通過的電流比普通的上拉電阻大100倍。</p><p><b> 讀端口及接口操作:</b></p><p> P1~P3口的輸出緩沖器每個都能取代4個LSTTL輸入。C
28、MOS型的芯片引腳可由集電極開路電路的漏極開路電路驅(qū)動,但在狀態(tài)從0變1時,邊化的速度很慢,輸入0時,TP3截止,僅靠TP2非常微弱的上拉來驅(qū)動狀態(tài)的變化。</p><p> 在外部總線方式下,P0口的輸出緩沖器能驅(qū)動8個LSTTL輸入,但P0口用作輸入輸出口時需外接上拉電路驅(qū)動輸入。</p><p> 1. AT89C51芯片的介紹</p><p> 有優(yōu)異
29、的性能價格比。集成度高、體積小、有很高的可靠性、控制功能強、低功耗、低電壓,便于生產(chǎn)便攜式產(chǎn)品。外部總線增加了IC及SPI等串行總線方式,進一步縮小了體積,簡化了結(jié)構(gòu)。單片機的系統(tǒng)擴展和系統(tǒng)配置較典型、規(guī)范,容易構(gòu)成各種規(guī)模的應(yīng)用系統(tǒng)。 2. AT89C51主要功能特性</p><p> 數(shù)據(jù)保留時間10年;全靜態(tài)工作:0 Hz ~ 24MHz;三級程序存儲器鎖定;128×8位內(nèi)部
30、RAM;32 可編程I/O線;可編程串行通道;低功耗閑置和掉電模式;片內(nèi)振蕩器和時鐘電路。兩個16位可編程定時/計數(shù)器1個串行中斷可直接驅(qū)動LED;4k可反復(fù)擦寫(>1000次)ROM;共6個中斷源;軟件設(shè)置睡眠和喚醒功能;片內(nèi)振蕩器和時鐘電路。AT89C51具有下列主要性能:</p><p> 1. 4KB可改編程序FLASH存儲器(可經(jīng)受1,000次的寫入/擦除周期)</p><p
31、> 2. 全靜態(tài)工作:0HZ ~ 24MHZ</p><p> 3. 三級程序存儲器保密</p><p> 4. 128*8字節(jié)內(nèi)部RAM</p><p> 5. 32條可編程I/O線</p><p> 6. 2個16位定時器/計數(shù)器</p><p><b> 7. 6個中斷源</b&
32、gt;</p><p> 8. 可編程串行通道</p><p> 9. 片內(nèi)時鐘振蕩器</p><p> 另外,AT89C51是靜態(tài)邏輯來設(shè)計,其工作可下降到0HZ并提供可用軟件來選擇的省電方式——空閑方式(IDLE MODE)和掉電方式(POWER DOWN MODE)。在空閑方式中,CPU停止工作,而RAM、定時器/計數(shù)器、串行口和中斷系統(tǒng)都繼續(xù)工作。在掉
33、電方式中,單片機振蕩器停止工作,由于時鐘被“凍結(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的引腳說明</p><p> AT89C51采用40Pin封裝的雙列直接DIP結(jié)構(gòu), 40個引腳中,正電源和地
34、線兩根,外置石英振蕩器的時鐘線兩根,4組8位共32個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有四個并行I/O端口,每個端口有8條口線,用于傳送數(shù)據(jù)和地址。</p><p> (1)P0.0~P0.7:這組引腳共有8條,為P0口所專用,其中P0.7為最高位,P0.0為最低位。這8條引腳口有兩種不同的功能,分別使用于兩種不同的功能。第一種情況是89C51不帶片外存儲器,P0口可以作為通用I/O使用,P0.0~P0.7用于傳送CPU的輸入/輸出數(shù)
36、據(jù)。這時,輸出數(shù)據(jù)可以得到鎖存,不需外接專用鎖存器,輸入數(shù)據(jù)可以得到緩沖,增加了數(shù)據(jù)輸入的可靠性;第二種情況是89C51帶片外存儲器,P0.0~P0.7在CPU訪問片外存儲器時用于傳送片外存儲器的第8位地址,然后傳送CPU對片外存儲器的讀寫數(shù)據(jù)。</p><p> ?。?)P1.0~P1.7:這8條引腳和P0口的8條引腳類似,P1.7為最高位,P1.0為最低位,當P1口作為通用I/O使用時,P1.0~P1.7的功
37、能和P0口的第一功能相同,也用于傳送用戶的輸入和輸出數(shù)據(jù)。</p><p> ?。?)P2.0~P2.7:這組引腳的第一功能和上述兩組引腳的第一功能相同,即它可以作為通用I/O口使用。它的第二功能和P0口的第二功能相配合,用于輸出片外存儲器的高8位地址,共同選中片外存儲器單元,但并不能像P0口那樣是可以傳送存儲器的讀寫數(shù)據(jù)。</p><p> ?。?)P3.0~P3.7:這組引腳的第一功能
38、和其余端口的第一功能相同。第二功能作控制用,每個引腳并不完全相同,如表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> (1)外接晶體引腳XTAL1和XTAL2</p><p> MCS-51的時鐘可以利用它內(nèi)部的振蕩器產(chǎn)生,只要在XTAL1、XTAL2引腳上外接這時反饋電路,內(nèi)部振蕩器便自激振蕩,產(chǎn)生時鐘輸出到內(nèi)部的定時控制邏輯。定時反饋電路一般為石英晶振和電容組成的并聯(lián)回路。這種方式稱為內(nèi)部方式,這種方式的外部元件連接如圖2-6所示。如果振蕩器已起振,則在XTAL2引腳上輸出3
40、V左右的正弦波。</p><p> ?。?)ALE/PROG:地址鎖存允許/編程線,配合P0口引腳的第二功能使用,在訪問片外存儲器時,89C51CPU在P0.0~P0.7引腳線上輸出片外存儲器低8位地址的同時還在ALE/PROG線上輸出一個高電位脈沖,用于把這個片外存儲器低8位地址鎖存到外部專用地址鎖存器讀寫數(shù)據(jù)。在不訪問片外存儲器時,89C51自動在ALE/PROG線上輸出頻率為F0SC/6的脈沖。</p
41、><p><b> 圖2-6 晶振電路</b></p><p> ?。?)EA/VPP:允許訪問片外存儲器編程電源線,可以控制89C51使用片內(nèi)ROM還是使用片外ROM。若EA=1,則允許使用ROM;若EA=0,則允許使用片外ROM。</p><p> ?。?)PSEN:片外ROM選通線,在執(zhí)行訪問片外ROM的指令MOVC時,8051自動在PSE
42、N線上產(chǎn)生一個負脈沖,用于為片外ROM芯片的選通。其他情況下,PSEN線均為高電平封鎖狀態(tài)。</p><p> ?。?)RST/VPD:復(fù)位電源線,可以使89C51處于復(fù)位工作狀態(tài)。通常,89C51的復(fù)位有自動上電復(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 單片機外圍連接電路具體介紹</p><p> 圖2-8 系統(tǒng)單片機外圍連接電路圖</p><p> 1. 單片機的復(fù)位電路</p><p> 當MCS-5l系列單片機的復(fù)位引腳RST(全稱RESET)出現(xiàn)2個機器周期以上的高電平時,單片機就執(zhí)行復(fù)位操作。如果RST持續(xù)為高電平,
44、單片機就處于循環(huán)復(fù)位狀態(tài)。復(fù)位電路的作用是對單片機系統(tǒng)進行抗干擾保護。根據(jù)應(yīng)用的要求,復(fù)位操作通常有兩種基本形式:上電復(fù)位和外部開關(guān)手動復(fù)位。本設(shè)計選用開關(guān)復(fù)位。如圖2-9所示:</p><p> 圖2-9 單片機的復(fù)位電路</p><p> 復(fù)位電路的基本功能是:系統(tǒng)上電時提供復(fù)位信號,直至系統(tǒng)電源穩(wěn)定后,撤銷復(fù)位信號。為可靠起見,電源穩(wěn)定后還要經(jīng)一定的延時才撤銷復(fù)位信號,以防電源
45、開關(guān)或電源插頭分-合過程中引起的抖動而影響復(fù)位。圖2-9所示的復(fù)位電路可以實現(xiàn)上述基本功能,圖2-10為其輸入-輸出特性。但解決不了電源毛刺(A 點)和電源緩慢下降(電源電壓不足)等問題 而且調(diào)整電路常數(shù)改變延時會令驅(qū)動能力變差。左邊為低電平 RST為手動復(fù)位開關(guān)。</p><p> 圖2-10 復(fù)位電路輸入-輸出特性 </p><p> 2. 單片機的時鐘電路</p&
46、gt;<p> 單片機的時鐘信號用來提供單片機片內(nèi)各種微操作的時間基準,復(fù)位操作則使單片機的片內(nèi)電路初始化,使單片機從一種確定的初態(tài)開始運行。在引腳XTAL1和XTAL2外接晶體振蕩器(簡稱晶振),就構(gòu)成了內(nèi)部振蕩方式。由于單片機內(nèi)部有一個高增益反相放大器,當外接晶振后,就構(gòu)成了自激振蕩器并產(chǎn)生振蕩時鐘脈沖。單片機的時鐘電路如圖2-11:</p><p> 圖2-11 單片機的時鐘電路</
47、p><p> 圖2-11中電容器C4、C5叫晶振的負載電容,分別接在晶振的兩個腳上和對地的電容,起穩(wěn)定振蕩頻率、快速起振的作用,其電容值一般在5~30pF,本設(shè)計中選用22pF的電容。需要注意的是: 這兩個電容串聯(lián)的值是并聯(lián)在諧振回路上的, 會影響振蕩頻率. 當兩個電容量相等時, 反饋系數(shù)是0.5, 一般是可以滿足振蕩條件的。如果不易起振或振蕩不穩(wěn)定可以減小輸入端對地電容量, 而增加輸出端的值以提高反饋量。電容的大
48、小可起頻率微調(diào)作用。</p><p> 晶振12MHz的作用:單片機使用12MHz晶振,可以以500Hz的采樣率,內(nèi)部振蕩方式所得的時鐘信號比較穩(wěn)定。如果采用更高的晶振頻率,或采用較少的通道數(shù),這一采樣率還可以進一步提高。</p><p> 圖2-12 時序描述時鐘波形圖</p><p> 3. 單片機與紅外的接口電路</p><p>
49、 單片機無論完成什么工作,都需要與外部進行信息交換,這種信息交換主要由單片機的I/O完成。單片機選擇P0、P2、P1與紅外裝置的地址腳連接。如圖2-13。</p><p> 圖2-13 HS0038與單片機接口電路</p><p> 2.3.3 單片機外圍連接電路的測試與分析</p><p> 單片機AT89C51的外圍電路按照圖2-8進行焊接無誤后。&l
50、t;/p><p> 在不接交流電壓220V的情況下,將萬用表打到電阻檔R×1或R×10檔,紅表筆接AT89C51的20腳,黑表筆分別接電阻R1的接地端、電容(C4、C5)的接地端,觀察表頭的指針指示值應(yīng)該為零。</p><p> 用同樣的檔位,將紅表筆接RST的A點(如圖2-9所示),黑表筆接AT89C51的40腳和31腳,觀察表頭指正指示值應(yīng)為零。然后,將兩個表筆分別
51、接AT89C51的連接端口,觀察指針的指示值都應(yīng)該為零值。如果有阻值說明電路的連接有錯誤,需要修改,修改后需要重新檢測,才能正式通電。</p><p> 在以上的基礎(chǔ)之上,接通220V交流電壓,將萬用表打到直流電壓檔×10V檔,紅表筆接RST復(fù)位鍵的A端(如圖2-9所示),黑表筆接AT89C51的20腳,觀察表頭指針指示在5V左右,表明RST和20腳地的接法無誤。</p><p&g
52、t; 用同樣的檔位測試AT89C51的40腳和31腳分別與20腳之間的直流電壓,其測試電壓值應(yīng)為5V左右,否則說明電路有故障,需要排故障。</p><p> 按照以上步驟進行測試與分析后,才能證明單片機電路基本可以正常工作。</p><p> 2.4 紅外發(fā)送接收電路具體介紹與測試分析</p><p> 1. 紅外系統(tǒng)的介紹</p><p
53、> 人的眼睛能看到的可見光,若按波長排列,依次(從長到短)為紅、橙、黃、綠、青、藍、紫,紅光的波長范圍為0.62μm~0.76μm,比紅光波長還長的光叫紅外線。</p><p> 人們見到的紅外遙控系統(tǒng)分為發(fā)射和接收兩部分。發(fā)射部分的發(fā)射元件為紅外發(fā)光二極管,它發(fā)出的是紅外線而不是可見光。</p><p> 常用的紅外發(fā)光二極管發(fā)出的紅外線波長為940nm左右,外形與普通φ5m
54、m發(fā)光二極管相同,只是顏色不同。一般有透明、黑色和深藍色等三種。</p><p> 接收電路的紅外接收管是一種光敏二極管,使用時要給紅外接收二極管加反向偏壓,它才能正常工作而獲得高的靈敏度。紅外接收二極管一般有圓形和方形兩種。由于紅外發(fā)光二極管的發(fā)射功率較小,紅外接收二極管收到的信號較弱,所以接收端就要增加高增益放大電路。然而現(xiàn)在不論是業(yè)余制作或正式的產(chǎn)品,大都采用成品的一體化接收頭。紅外線一體化接收頭是集紅外
55、接收、放大、濾波和比較器輸出等的模塊,性能穩(wěn)定、可靠。所以,有了一體化接收頭,人們不再制作接收放大電路,這樣紅外接收電路不僅簡單而且可靠性大大提高。</p><p> 2. 紅外發(fā)送接收裝置的選擇</p><p> 紅外接收電路通常由紅外接收二極管與放大電路組成,放大電路通常又由一個集成塊及若干電阻電容等元件組成,并且需要封裝在一個金屬屏蔽盒里,因而電路比較復(fù)雜,體積卻很小,還不及一個
56、7805體積大!</p><p> HS0038(如圖2-14)是一種特殊的紅外接收電路,它將紅外接收管與放大電路集成在一體,體積?。ù笮∨c一只中功率三極管相當),密封性好,靈敏度高,并且價格低廉,市場售價只有幾元錢。它僅有三條管腳,分別是電源正極、電源負極以及信號輸出端,其工作電壓在5V左右.只要給它接上電源即是一個完整的紅外接收放大器,使用十分方便。</p><p> 圖2-14
57、HS0038</p><p> 3. HS0038功能介紹</p><p> HS0038的主要功能包括放大,選頻,解調(diào)幾大部分,要求輸入信號需是已經(jīng)被調(diào)制的信號。經(jīng)過它的接收放大和解調(diào)會在輸出端直接輸出原始的信號。從而使電路達到最簡化!靈敏度和抗干擾性都非常好,可以說是一個接收紅外信號的理想裝置。紅外接收電路框圖如圖2-15</p><p> 圖2-16 紅
58、外接收電路框圖</p><p> HS0038 一體化紅外接收頭,接收頻率為38kHz+1kHz管腳依次為:</p><p> 凸面向自已,從左向右數(shù): 1-GND 2-VCC 3—OUT</p><p> 連接時,在VCC與GND之間并入一個0.1μF的電容有助于改進信號質(zhì)量。其可以用于遙控編碼接收,也可以用于低碼率的數(shù)據(jù)通訊。</p>
59、<p> HS0038 信號電平:</p><p> 38kHz 紅外發(fā)射接收到時: OUT低電平輸出</p><p> 38kHz 紅外發(fā)射接收不到時:OUT高電平輸出</p><p> HS0038的使用注意事項:</p><p> 1:38kHz紅外發(fā)射信號在HS0038接收角度范圍邊沿區(qū)域時,接收信號不斷振蕩無法
60、穩(wěn)定,因此為保證信號質(zhì)量,使用時發(fā)射接收盡力正對為好;</p><p> 2:HS0038用于數(shù)據(jù)通訊時,在標準RS232下,波特率設(shè)置不要大于2400bps,否則HS0038無法區(qū)分到接收的信號(2400bps接近其帶寬極限了)。</p><p> 紅外接收頭的主要參數(shù)如表2-3:</p><p> 表2-3 HS0038主要參數(shù)指標</p>
61、<p><b> 總 結(jié)</b></p><p> 在確定元件芯片后,進行焊接。完成電源電路、單片機外圍電路和紅外發(fā)送接收電路的檢測后,并且進行一定的分析。</p><p><b> 系統(tǒng)軟件設(shè)計</b></p><p> 3.1 系統(tǒng)程序編寫思想</p><p> 程序采用C
62、語言來設(shè)計,可以編寫的單片機程序無須懂得單片機的具體硬件, 也能夠編出符合硬件實際的專業(yè)水平的程序。</p><p> 為了完成系統(tǒng)設(shè)計要求的功能,需根據(jù)需求對AT89C51進行編程。編程前,須按:</p><p> 1. AT89C51說明設(shè)置好地址、數(shù)據(jù)及控制信號;</p><p> 2. 在地址線上加上要編程單元的地址信號;</p><
63、;p> 3. 在數(shù)據(jù)線上加上要寫入的數(shù)據(jù)字節(jié);</p><p> 4. 激活相應(yīng)的控制信號;</p><p> 每對AT89C51的Flash存儲陣列寫入一個字節(jié),加上一個ALE/PROG編程脈沖。</p><p> 重復(fù)1-4步驟,改變編程單元的地址和寫入的數(shù)據(jù),直到全部文件編程結(jié)束。</p><p> 3.2 系統(tǒng)主要程
64、序的設(shè)計</p><p> 3.2.1 初始化程序</p><p> 將P0~P3端口置輸入狀態(tài),在堆棧指針設(shè)于70H處,定時器T1設(shè)為8位自動重裝初值模式,定時時間為13μs,用于40kHz的紅外線信號調(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> 順序檢測P0.1~P0.2端口,若某端口為低電平,則轉(zhuǎn)發(fā)送程序。結(jié)束后延時60ms,再轉(zhuǎn)檢測程序循環(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剎車標志位</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 ;標志為1轉(zhuǎn)KEY2</p><p> SETB EA ;標志為0,開總中斷允許</p><
73、p> SETB EX1 ;開外中斷1</p><p> SETB EX0 ;開外中斷0</p><p> LCALL DL10MS ;延時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 ;延時消抖動</p><p> JB P1.2,KEY5 ;是干擾轉(zhuǎn)KEY5</p><p> SETB 00H ;剎
78、車標志1</p><p> LJMP KEY4 ;轉(zhuǎn)KEY4查左右轉(zhuǎn)彎按鍵</p><p> KEY0: LCALL DELAY ;延時消抖動</p><p> JB P1.0,KEY5
79、 ;是干擾轉(zhuǎn)KEY5</p><p> MOV A,#02H ;發(fā)2個脈沖</p><p> LJMP REMOTE ;跳到發(fā)射程序</p><p> KEY1: LCALL DELAY ;延時消
80、抖動</p><p> JB P1.1,KEY5 ;是干擾轉(zhuǎn)KEY5</p><p> MOV A,#05H ;發(fā)5個脈沖</p><p> LJMP REMOTE ;跳到發(fā)射程序</p>&l
81、t;p> KEY2: CLR 00H ;清00H標志</p><p> MOV A,#0BH ;發(fā)8個脈沖</p><p> LJMP REMOTE ;跳到發(fā)射程序</p><p><b
82、> 中斷接收程序</b></p><p> 外中斷0接收前車信息碼,外中斷1接收后車信息碼。當外中斷允許并且紅外線接收頭輸出脈沖編碼時,中斷程序?qū)崟r接收編碼并且對脈沖個數(shù)進行計數(shù),根據(jù)接收脈沖個數(shù)分別控制P0.3~P0.6顯示端口。中斷接收程序流程圖如圖3-2所示</p><p> 圖3-2 中斷接收程序流程圖</p><p> 前車信息
83、接受程序(外中斷0):</p><p> INTEX0: PUSH ACC ;現(xiàn)場保護</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 ;低電平計數(shù)(周期為8μs)</p><p> NOP ;</p><p><b> NOP</b></p><p> AJMP HARD1 ;低電平
88、循環(huán)計數(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 ;延時512μs</p><p> DJNZ R1,READ13 ;延時小于10次轉(zhuǎn)READ13循環(huán)</p><
91、p> DEC A ;高電平寬大于5ms停止接收,A減1</p><p> DEC A ;再減1</p><p> JZ FLT ;是2個脈沖,執(zhí)行FLT</p><p> DEC A
92、 ;</p><p> DEC A ;</p><p> DEC A ;</p><p> JZ FRT ;是5個脈沖,執(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個脈沖,執(zhí)行STOP</p><p> C
95、LR PX0 ;外中斷0置低優(yōu)先級</p><p> SETB PX1 ;外中斷1置高優(yōu)先級</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個脈沖,執(zhí)行BLT</p><p> CLR PX1 ;外中斷0于外中斷1交換中斷優(yōu)先級</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/*開蜂鳴器*/ </p><p> LJMP READOUT0
106、 </p><p> FRT: CLR P0.1</p><p> SETB P1.3/*開蜂鳴器*/</p><p> LJMP READOUT0</p><p> BLT: CLR P0.2</p><p> SETB P1.3/*開蜂鳴器*/</p><p> LJMP
107、 READOUT1</p><p> STOP:CLR P0.3</p><p> SETB P1.3/*開蜂鳴器*/</p><p> LJMP READOUT0</p><p><b> 信息碼發(fā)送程序</b></p><p> 將掃鍵程序中的脈沖個數(shù)設(shè)定值調(diào)入寄存器,控制發(fā)射脈沖個
108、數(shù),其中第一個脈沖寬度為3ms,其余為1ms,發(fā)送完成后延時10ms作為結(jié)束標志。當發(fā)送編碼時,開啟定時中斷T1,以實現(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> /*延時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> /*延時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ù)系統(tǒng)自身所能實現(xiàn)的功能要求進行編寫,同時,用何種語言編寫也是對語言的掌握能力而決定。</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ǔ)上進行調(diào)試。</p><p> 1. 按照附錄1的原理圖進行分步調(diào)試,不接電源的情況下,將萬用表打到電阻R&
116、#215;1或R×10檔,觀察相互連接的管腳之間的阻值是否為零。</p><p> 2. 按照附錄1的原理圖進行分步調(diào)試,接通電源的情況下,將萬用表打到直流檔×10V檔,觀察電源端與地之間的直流電壓是否為5V。</p><p> 3. 用示波器調(diào)試蜂鳴器的工作情況,將示波器串連接在電路中,進行放音,觀察示波器的波形,波形有一定的跳動,說明蜂鳴器是好的,同時也可證
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 基于rf1100模塊的無線發(fā)送與接收系統(tǒng)【畢業(yè)設(shè)計】
- 基于rf1100模塊的無線發(fā)送與接收系統(tǒng)的設(shè)計【畢業(yè)設(shè)計】
- 發(fā)送與接收c
- 畢業(yè)設(shè)計---全頻道電視接收器的設(shè)計
- 分析輪胎性能對汽車行駛的影響畢業(yè)設(shè)計
- 低頻彈性波的發(fā)送與接收單元設(shè)計.pdf
- 實驗六、多播發(fā)送與接收程序設(shè)計
- 汽車行駛系統(tǒng)常見故障與診斷畢業(yè)設(shè)計
- 無線hart發(fā)送與接收代碼
- 汽車行駛記錄儀的設(shè)計畢業(yè)論文
- 畢業(yè)論文--無線發(fā)送與接收模塊的步進電機控制電路設(shè)計
- 操作系統(tǒng)實驗 消息的發(fā)送與接收
- 高性能射頻接收器設(shè)計
- 藍牙射頻接收器的設(shè)計.pdf
- 汽車行駛記錄儀系統(tǒng)設(shè)計【畢業(yè)論文】
- 汽車行駛記錄儀設(shè)計.pdf
- 課程設(shè)計---基于stmp與pop3協(xié)議的郵件發(fā)送與接收設(shè)計
- FT-SerDes接收器設(shè)計.pdf
- M-LVDS接收器的設(shè)計.pdf
- 汽車行業(yè)的發(fā)展畢業(yè)設(shè)計
評論
0/150
提交評論