高精度超聲波測距電路的設計.doc_第1頁
高精度超聲波測距電路的設計.doc_第2頁
高精度超聲波測距電路的設計.doc_第3頁
高精度超聲波測距電路的設計.doc_第4頁
高精度超聲波測距電路的設計.doc_第5頁
已閱讀5頁,還剩35頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領

文檔簡介

摘 要 本文闡述了超聲波測距原理,介紹了如何用單片機實現(xiàn)高精度超聲波曾局的具體電路,分析了其各單元工作原理,并給出了其程序流程圖和源程序。提出了一種基于AT89C51單片機的超聲波測距系統(tǒng)的設計方案。詳細分析了影響測距系統(tǒng)精度的主要因素,設計了各單元電路的整體電路。重點介紹了提高測量精度的方案和具體實現(xiàn)電路。采用單片機的技術控制。并給出了控制流程圖。電路具有結(jié)構(gòu)簡單,操作方便,精度高,應用廣泛的特點。關鍵字:超聲波 測距 單片機 AT89C51ABSTRACT A plan of ultrasonic distance measurement system based on AT89C51is derived in this paper, the main factors impact of precision are analyzed in detail and the unit circuit and complete circuit are given. The plan of improving the accuracy and specific circuit is introduced. All of the component is controller by AT89C51,and the control program flow is presented .Circuit have many advantages such as simple structure ,easy to use. high accuracy and wide application.Keywords: ultrasonic distance measurement SCM AT89C51目 錄37第一章 緒論1.1超聲波測距的意義1.2本課題的探究方法第二章 設計方案論證2.1設計任務2.2技術指標2.3方框圖第三章 超聲波發(fā)射電路設計3.1頻率產(chǎn)生電路3.2門控電路3.3發(fā)射驅(qū)動電路第四章 超聲波接收電路設計4.1超聲波接收,放大電路4.2信號篩選電路4.3信號整形電路4.4距離顯示電路4.5超聲波測距電路原理圖4.6具體的工作原理分析第五章 軟件程序設計 第六章 直流電源設計致謝參考文獻第一章 緒論 1.1超聲波測距的意義一般認為,關于超聲的研究最初起始于1876 年F1Galton 的氣哨實驗。當時Galton 在空氣中產(chǎn)生的頻率達300K Hz, 這是人類首次有效產(chǎn)生的高頻聲。而科學技術的發(fā)展往往與一些偶然的歷史事件相聯(lián)系。對超聲的研究起到極大推動作用的是,1912 年豪華客輪Titanic號在首航中碰撞冰山后的沉沒,這個當時震驚世界的悲劇促使科學家們提出用聲學方法來預測冰山,在隨后的第一次世界大戰(zhàn)中,對超聲的研究得以進一步的促進。近些年來,隨著超聲技術研究的不斷深入,再加上其具有的高精度、無損、非接觸等優(yōu)點,超聲的應用變得越來越普及。目前已經(jīng)廣泛的應用在機械制造、電子冶金、航海、航空、宇航、石油化工、交通等工業(yè)領域。此外在材料科學、醫(yī)學、生物科學等領域中也占據(jù)重要地位。 而我國,關于超聲的大規(guī)模研究始于1956年。迄今,在超聲的各個領域都開展了研究和應用,其中有少數(shù)項目已接近或達到了國際水平。 中國測試技術研究所李茂山在超聲波測距原理及實踐技術中詳細地闡述了超聲波的測距原理,并給出了實現(xiàn)超聲波測距的具體框圖,并討論了影響超聲波測距精度的幾種原因。在本文中,他并未提及超聲波測距所需的一些具體電路,只是給出了測距一般所需的電路名稱,沒有提及各種電路間的匹配。 1998年,曼內(nèi)斯德馬泰克(秦皇島)有限公司推出了一種數(shù)字式超聲波位移測量儀,李忠杰在數(shù)字式超聲波位移測量儀的研究一文中介紹了這種數(shù)字式超聲波位移測量儀的結(jié)構(gòu),工作原理和功能,其數(shù)據(jù)處理借助于單板機,給出了程序框圖,對儀表的各部分硬件電路做了較詳細的說明,并列出了部分儀表的實測數(shù)據(jù),并分析了誤差產(chǎn)生的原因。在此文中,給出了超聲波測距儀在對液壓缸位移進行測量時與其它位移傳感器的優(yōu)勢所在,并給出了單片機的程序框圖。中國科學院上海聲學實驗室的王潤田在雙頻超聲波測距一文中提出了一種雙頻超聲波測距的原理和方法,由于空氣對超聲波的吸收與超聲波的平方成正比,因此,用來測距的超聲波的頻率不能很高,但另一方面頻率越低,波長越長,測長的絕對誤差就越大,測距的范圍加大與測量精度實際上是一對矛盾。王潤田提出,為了在一個較長的范圍內(nèi)達到測距的精度,在測距時同時發(fā)射兩個頻率的超聲波,頻率較大的測較近的距離,頻率較小的測較長的距離,這樣在較大的范圍內(nèi)實現(xiàn)較高的測距精度。 隨著計算機技術、自動化技術和工業(yè)機器人的不斷發(fā)展和廣泛應用,測距問題顯得越來越重要。目前常用的測距方式主要有雷達測距、紅外測距、激光測距和超聲測距4種。與其他測距方法相比較,超聲測距具有下面的優(yōu)點: (1) 超聲波對色彩和光照度不敏感,可用于識別透明及漫反射性差的物體(如玻璃、拋光體)。 (2) 超聲波對外界光線和電磁場不敏感,可用于黑暗、有灰塵或煙霧、電磁干擾強、有毒等惡劣環(huán)境中。 (3) 超聲波傳感器結(jié)構(gòu)簡單、體積小、費用低、技術難度小、信息處理簡單可靠、易于小型化和集成化。因此,超聲波作為一種測距識別手段,已越來越引起人們的重視。 1.2本課題的研究方法 超聲波指向性強,能量消耗緩慢,在介質(zhì)中傳播的距離較遠,因而超聲波經(jīng)常用于距離的測量,如測距儀和物 位測量儀等都可以通過超聲波來實現(xiàn)。利用超聲波檢測往往比較迅速、方便、計算簡單、易于做到實時控制,并且在測量精度方面能達到工業(yè)實用的要求,因此在移 動機器人的研制上也得到了廣泛的應用。 為了使移動機器人能自動避障行走,就必須裝備測距系統(tǒng),以使其及時獲取距障礙物的距離信息(距離和方向)。本文所介紹的三方向(前、左、右)超聲波測距系統(tǒng),就是為機器人了解其前方、左側(cè)和右側(cè)的環(huán)境而提供一個運動距離信息。 二、 超聲波測距原理 1、 超聲波發(fā)生器 為了研究和利用超聲波,人們已經(jīng)設計和制成了許多超聲波發(fā)生器。總體上講,超聲波發(fā)生器可以分為兩大類:一 類是用電氣方式產(chǎn)生超聲波,一類是用機械方式產(chǎn)生超聲波。電氣方式包括壓電型、磁致伸縮型和電動型等;機械方式有加爾統(tǒng)笛、液哨和氣流旋笛等。它們所產(chǎn)生 的超聲波的頻率、功率和聲波特性各不相同,因而用途也各不相同。目前較為常用的是壓電式超聲波發(fā)生器。 2、壓電式超聲波發(fā)生器原理 壓電式超聲波發(fā)生器實際上是利用壓電晶體的諧振來工作的。超聲波發(fā)生器內(nèi)部結(jié)構(gòu)如圖1所示,它有兩個壓電晶片和一個共振板。當它的兩極外加脈沖信 號,其頻率等于壓電晶片的固有振蕩頻率時,壓電晶片將會發(fā)生共振,并帶動共振板振動,便產(chǎn)生超聲波。反之,如果兩電極間未外加電壓,當共振板接收到超聲波 時,將壓迫壓電晶片作振動,將機械能轉(zhuǎn)換為電信號,這時它就成為超聲波接收器了。 3、超聲波測距原理 超聲波發(fā)射器向某一方向發(fā)射超聲波,在發(fā)射時刻的同時開始計時,超聲波在空氣中傳播,途中碰到障礙物就立即返回來,超聲波接收器收到反射波就立即停 止計時。超聲波在空氣中的傳播速度為340m/s,根據(jù)計時器記錄的時間t,就可以計算出發(fā)射點距障礙物的距離(s),即:s=340t/2第二章 設計方案論證2.1設計任務用單片機實現(xiàn)高精度測距的電路設計2.2技術指標1.測距系統(tǒng)精度 1CM2.測距范圍 0.01M9.99M2.3 方框圖根據(jù)設計任務技術指標要求,本人構(gòu)思出一下方框圖超聲波接受信號放大施密特整形門控電路超聲波發(fā)射信號整形40KkHz振蕩頻率AT89C52數(shù)碼顯示12MHz精確振蕩第三章 超聲波發(fā)射電路設計超射波發(fā)射電路主要由頻率產(chǎn)生電路,門控電路,發(fā)射驅(qū)動電路組成。逐次設計如下:3.1頻率產(chǎn)生電路頻率產(chǎn)生電路主要由單片機AT89C52組成。AT89C52單片機的選擇:AT89C52是51系列單片機的一個型號,它是ATMEL公司生產(chǎn)的。AT89C52是一個低電壓,高性能CMOS 8位單片機,片內(nèi)含8k bytes的可反復擦寫的Flash只讀程序存儲器和256 bytes的隨機存取數(shù)據(jù)存儲器(RAM),器件采用ATMEL公司的高密度、非易失性存儲技術生產(chǎn),兼容標準MCS-51指令系統(tǒng),片內(nèi)置通用8位中央處理器和Flash存儲單元,功能強大的AT89C52單片機可為您提供許多較復雜系統(tǒng)控制應用場合。AT89C52有40個引腳,32個外部雙向輸入/輸出(I/O)端口,同時內(nèi)含2個外中斷口,3個16位可編程定時計數(shù)器,2個全雙工串行通信口,2個讀寫口線,AT89C52可以按照常規(guī)方法進行編程,但不可以在線編程(S系列的才支持在線編程)。其將通用的微處理器和Flash存儲器結(jié)合在一起,特別是可反復擦寫的Flash存儲器可有效地降低開發(fā)成本。AT89C52有PDIP、PQFP/TQFP及PLCC等三種封裝形式,以適應不同產(chǎn)品的需求。主要功能特性: 兼容MCS51指令系統(tǒng) 8k可反復擦寫(1000次)Flash ROM 32個雙向I/O口 256x8bit內(nèi)部RAM 3個16位可編程定時/計數(shù)器中斷 時鐘頻率0-24MHz 2個串行中斷 可編程UART串行通道 2個外部中斷源 共6個中斷源 2個讀寫中斷口線 3級加密位 低功耗空閑和掉電模式 軟件設置睡眠和喚醒功能AT89C52各引腳功能及管腳電壓概述:AT89C52P為40 腳雙列直插封裝的8 位通用微處理器,采用工業(yè)標準的C51內(nèi)核,在內(nèi)部功能及管腳排布上與通用的8xc52 相同,其主要用于會聚調(diào)整時的功能控制。功能包括對會聚主IC 內(nèi)部寄存器、數(shù)據(jù)RAM及外部接口等功能部件的初始化,會聚調(diào)整控制,會聚測試圖控制,紅外遙控信號IR的接收解碼及與主板CPU通信等。主要管腳有:XTAL1(19 腳)和XTAL2(18 腳)為振蕩器輸入輸出端口,外接12MHz 晶振。RST/Vpd(9 腳)為復位輸入端口,外接電阻電容組成的復位電路。VCC(40 腳)和VSS(20 腳)為供電端口,分別接+5V電源的正負端。P0P3 為可編程通用I/O 腳,其功能用途由軟件定義,在本設計中,P0 端口(3239 腳)被定義為N1 功能控制端口,分別與N1的相應功能管腳相連接,13 腳定義為IR輸入端,10 腳和11腳定義為I2C總線控制端口,分別連接N1的SDAS(18腳)和SCLS(19腳)端口,12 腳、27 腳及28 腳定義為握手信號功能端口,連接主板CPU 的相應功能端,用于當前制式的檢測及會聚調(diào)整狀態(tài)進入的控制功能。 P0 口P0 口是一組8 位漏極開路型雙向I/O 口, 也即地址/數(shù)據(jù)總線復用口。作為輸出口用時,每位能吸收電流的方式驅(qū)動8 個TTL邏輯門電路,對端口P0 寫“1”時,可作為高阻抗輸入端用。在訪問外部數(shù)據(jù)存儲器或程序存儲器時,這組口線分時轉(zhuǎn)換地址(低8 位)和數(shù)據(jù)總線復用,在訪問期間激活內(nèi)部上拉電阻。在Flash 編程時,P0 口接收指令字節(jié),而在程序校驗時,輸出指令字節(jié),校驗時,要求外接上拉電阻。 P1 口P1 是一個帶內(nèi)部上拉電阻的8 位雙向I/O 口, P1 的輸出緩沖級可驅(qū)動(吸收或輸出電流)4 個TTL 邏輯門電路。對端口寫“1”,通過內(nèi)部的上拉電阻把端口拉到高電平,此時可作輸入口。作輸入口使用時,因為內(nèi)部存在上拉電阻,某個引腳被外部信號拉低時會輸出一個電流(IIL)。與AT89C51 不同之處是,P1.0 和P1.1 還可分別作為定時/計數(shù)器2 的外部計數(shù)輸入(P1.0/T2)和輸入(P1.1/T2EX),參見表1。Flash 編程和程序校驗期間,P1 接收低8 位地址。引腳號 功能特性P1.0 T2,時鐘輸出P1.1 T2EX(定時/計數(shù)器 2) P2 口P2 是一個帶有內(nèi)部上拉電阻的8 位雙向I/O 口,P2 的輸出緩沖級可驅(qū)動(吸收或輸出電流)4 個TTL 邏輯門電路。對端口P2 寫“1”,通過內(nèi)部的上拉電阻把端口拉到高電平,此時可作輸入口,作輸入口使用時,因為內(nèi)部存在上拉電阻,某個引腳被外部信號拉低時會輸出一個電流(IIL)。在訪問外部程序存儲器或16 位地址的外部數(shù)據(jù)存儲器(例如執(zhí)行MOVX DPTR 指令)時,P2 口送出高8 位地址數(shù)據(jù)。在訪問8 位地址的外部數(shù)據(jù)存儲器(如執(zhí)行MOVX RI 指令)時,P2 口輸出P2 鎖存器的內(nèi)容。Flash 編程或校驗時,P2亦接收高位地址和一些控制信號。 P3 口P3 口是一組帶有內(nèi)部上拉電阻的8 位雙向I/O 口。P3 口輸出緩沖級可驅(qū)動(吸收或輸出電流)4 個TTL 邏輯門電路。對P3 口寫入“1”時,它們被內(nèi)部上拉電阻拉高并可作為輸入端口。此時,被外部拉低的P3 口將用上拉電阻輸出電流(IIL)。P3 口除了作為一般的I/O 口線外,更重要的用途是它的第二功能P3 口還接收一些用于Flash 閃速存儲器編程和程序校驗的控制信號。 RST復位輸入。當振蕩器工作時,RST引腳出現(xiàn)兩個機器周期以上高電平將使單片機復位。 ALE/PROG當訪問外部程序存儲器或數(shù)據(jù)存儲器時,ALE(地址鎖存允許)輸出脈沖用于鎖存地址的低8 位字節(jié)。一般情況下,ALE 仍以時鐘振蕩頻率的1/6 輸出固定的脈沖信號,因此它可對外輸出時鐘或用于定時目的。要注意的是:每當訪問外部數(shù)據(jù)存儲器時將跳過一個ALE 脈沖。對Flash 存儲器編程期間,該引腳還用于輸入編程脈沖(PROG)。如有必要,可通過對特殊功能寄存器(SFR)區(qū)中的8EH 單元的D0 位置位,可禁止ALE 操作。該位置位后,只有一條MOVX 和MOVC指令才能將ALE 激活。此外,該引腳會被微弱拉高,單片機執(zhí)行外部程序時,應設置ALE 禁止位無效。 PSEN程序儲存允許(PSEN)輸出是外部程序存儲器的讀選通信號,當AT89C52 由外部程序存儲器取指令(或數(shù)據(jù))時,每個機器周期兩次PSEN 有效,即輸出兩個脈沖。在此期間,當訪問外部數(shù)據(jù)存儲器,將跳過兩次PSEN信號。 EA/VPP外部訪問允許。欲使CPU 僅訪問外部程序存儲器(地址為0000HFFFFH),EA 端必須保持低電平(接地)。需注意的是:如果加密位LB1 被編程,復位時內(nèi)部會鎖存EA端狀態(tài)。如EA端為高電平(接Vcc端),CPU 則執(zhí)行內(nèi)部程序存儲器中的指令。Flash 存儲器編程時,該引腳加上+12V 的編程允許電源Vpp,當然這必須是該器件是使用12V 編程電壓Vpp。 XTAL1振蕩器反相放大器的及內(nèi)部時鐘發(fā)生器的輸入端。 XTAL2振蕩器反相放大器的輸出端。 特殊功能寄存器在AT89C52 片內(nèi)存儲器中,80H-FFH 共128 個單元為特殊功能寄存器(SFE),SFR 的地址空間映象如表2 所示。并非所有的地址都被定義,從80HFFH 共128 個字節(jié)只有一部分被定義,還有相當一部分沒有定義。對沒有定義的單元讀寫將是無效的,讀出的數(shù)值將不確定,而寫入的數(shù)據(jù)也將丟失。不應將數(shù)據(jù)“1”寫入未定義的單元,由于這些單元在將來的產(chǎn)品中可能賦予新的功能,在這種情況下,復位后這些單元數(shù)值總是“0”。AT89C52除了與AT89C51所有的定時/計數(shù)器0 和定時/計數(shù)器1 外,還增加了一個定時/計數(shù)器2。定時/計數(shù)器2 的控制和狀態(tài)位位于T2CON(參見表3)T2MOD(參見表4),寄存器對(RCAO2H、RCAP2L)是定時器2 在16 位捕獲方式或16 位自動重裝載方式下的捕獲/自動重裝載寄存器。 數(shù)據(jù)存儲器AT89C52 有256 個字節(jié)的內(nèi)部RAM,80H-FFH 高128 個字節(jié)與特殊功能寄存器(SFR)地址是重疊的,也就是高128字節(jié)的RAM 和特殊功能寄存器的地址是相同的,但物理上它們是分開的。當一條指令訪問7FH 以上的內(nèi)部地址單元時,指令中使用的尋址方式是不同的,也即尋址方式?jīng)Q定是訪問高128 字節(jié)RAM 還是訪問特殊功能寄存器。如果指令是直接尋址方式則為訪問特殊功能寄存器。例如,下面的直接尋址指令訪問特殊功能寄存器0A0H(即P2 口)地址單元。MOV 0A0H,#data間接尋址指令訪問高128 字節(jié)RAM,例如,下面的間接尋址指令中,R0 的內(nèi)容為0A0H,則訪問數(shù)據(jù)字節(jié)地址為0A0H,而不是P2 口(0A0H)。MOV R0,#data堆棧操作也是間接尋址方式,所以,高128 位數(shù)據(jù)RAM 亦可作為堆棧區(qū)使用。定時器0和定時器1:AT89C52的定時器0和定時器1 的工作方式與AT89C51 相同。 定時器2定時器2 是一個16 位定時/計數(shù)器。它既可當定時器使用,也可作為外部事件計數(shù)器使用,其工作方式由特殊功能寄存器T2CON(如表3)的C/T2 位選擇。定時器2 有三種工作方式:捕獲方式,自動重裝載(向上或向下計數(shù))方式和波特率發(fā)生器方式,工作方式由T2CON 的控制位來選擇。定時器2 由兩個8 位寄存器TH2 和TL2 組成,在定時器工作方式中,每個機器周期TL2 寄存器的值加1,由于一個機器周期由12 個振蕩時鐘構(gòu)成,因此,計數(shù)速率為振蕩頻率的1/12。在計數(shù)工作方式時,當T2 引腳上外部輸入信號產(chǎn)生由1 至0 的下降沿時,寄存器的值加1,在這種工作方式下,每個機器周期的5SP2 期間,對外部輸入進行采樣。若在第一個機器周期中采到的值為1,而在下一個機器周期中采到的值為0,則在緊跟著的下一個周期的S3P1 期間寄存器加1。由于識別1 至0 的跳變需要2 個機器周期(24 個振蕩周期),因此,最高計數(shù)速率為振蕩頻率的1/24。為確保采樣的正確性,要求輸入的電平在變化前至少保持一個完整周期的時間,以保證輸入信號至少被采樣一次。 捕獲方式在捕獲方式下,通過T2CON 控制位EXEN2 來選擇兩種方式。如果EXEN2=0,定時器2 是一個16 位定時器或計數(shù)器,計數(shù)溢出時,對T2CON 的溢出標志TF2 置位,同時激活中斷。如果EXEN2=1,定時器2 完成相同的操作,而當T2EX 引腳外部輸入信號發(fā)生1 至0 負跳變時,也出現(xiàn)TH2 和TL2 中的值分別被捕獲到RCAP2H 和RCAP2L 中。另外,T2EX 引腳信號的跳變使得T2CON 中的EXF2 置位,與TF2 相仿,EXF2 也會激活中斷。捕獲方式如圖4 所示。 自動重裝載(向上或向下計數(shù)器)方式當定時器2工作于16位自動重裝載方式時,能對其編程為向上或向下計數(shù)方式,這個功能可通過特殊功能寄存器T2CON(見表5)的DCEN 位(允許向下計數(shù))來選擇的。復位時,DCEN 位置“0”,定時器2 默認設置為向上計數(shù)。當DCEN置位時,定時器2 既可向上計數(shù)也可向下計數(shù),這取決于T2EX 引腳的值,參見圖5,當DCEN=0 時,定時器2 自動設置為向上計數(shù),在這種方式下,T2CON 中的EXEN2 控制位有兩種選擇,若EXEN2=0,定時器2 為向上計數(shù)至0FFFFH 溢出,置位TF2 激活中斷,同時把16 位計數(shù)寄存器RCAP2H 和RCAP2L重裝載,RCAP2H 和RCAP2L 的值可由軟件預置。若EXEN2=1,定時器2 的16 位重裝載由溢出或外部輸入端T2EX 從1 至0 的下降沿觸發(fā)。這個脈沖使EXF2 置位,如果中斷允許,同樣產(chǎn)生中斷。定時器2 的中斷入口地址是:002BH 0032H 。當DCEN=1 時,允許定時器2 向上或向下計數(shù),如圖6 所示。這種方式下,T2EX 引腳控制計數(shù)器方向。T2EX 引腳為邏輯“1”時,定時器向上計數(shù),當計數(shù)0FFFFH 向上溢出時,置位TF2,同時把16 位計數(shù)寄存器RCAP2H 和RCAP2L 重裝載到TH2 和TL2 中。 T2EX 引腳為邏輯“0”時,定時器2 向下計數(shù),當TH2 和TL2 中的數(shù)值等于RCAP2H 和RCAP2L中的值時,計數(shù)溢出,置位TF2,同時將0FFFFH 數(shù)值重新裝入定時寄存器中。當定時/計數(shù)器2 向上溢出或向下溢出時,置位EXF2 位。 波特率發(fā)生器當T2CON(表3)中的TCLK 和RCLK 置位時,定時/計數(shù)器2 作為波特率發(fā)生器使用。如果定時/計數(shù)器2 作為發(fā)送器或接收器,其發(fā)送和接收的波特率可以是不同的,定時器1 用于其它功能,如圖7 所示。若RCLK 和TCLK 置位,則定時器2工作于波特率發(fā)生器方式。波特率發(fā)生器的方式與自動重裝載方式相仿,在此方式下,TH2 翻轉(zhuǎn)使定時器2 的寄存器用RCAP2H 和RCAP2L 中的16位數(shù)值重新裝載,該數(shù)值由軟件設置。在方式1 和方式3 中,波特率由定時器2 的溢出速率根據(jù)下式確定:方式1和3的波特率=定時器的溢出率/16定時器既能工作于定時方式也能工作于計數(shù)方式,在大多數(shù)的應用中,是工作在定時方式(C/T2=0)。定時器2 作為波特率發(fā)生器時,與作為定時器的操作是不同的,通常作為定時器時,在每個機器周期(1/12 振蕩頻率)寄存器的值加1,而作為波特率發(fā)生器使用時,在每個狀態(tài)時間(1/2 振蕩頻率)寄存器的值加1。波特率的計算公式如下:方式1和3的波特率=振蕩頻率/32*65536-(RCP2H,RCP2L)式中(RCAP2H,RCAP2L)是RCAP2H 和RCAP2L中的16 位無符號數(shù)。定時器2 作為波特率發(fā)生器使用的電路如圖7 所示。T2CON 中的RCLK 或TCLK=1 時,波特率工作方式才有效。在波特率發(fā)生器工作方式中,TH2 翻轉(zhuǎn)不能使TF2 置位,故而不產(chǎn)生中斷。但若EXEN2 置位,且T2EX 端產(chǎn)生由1 至0 的負跳變,則會使EXF2 置位,此時并不能將(RCAP2H,RCAP2L)的內(nèi)容重新裝入TH2 和TL2 中。所以,當定時器2 作為波特率發(fā)生器使用時,T2EX 可作為附加的外部中斷源來使用。需要注意的是,當定時器2 工作于波特率器時,作為定時器運行(TR2=1)時,并不能訪問TH2 和TL2。因為此時每個狀態(tài)時間定時器都會加1,對其讀寫將得到一個不確定的數(shù)值。然而,對RCAP2 則可讀而不可寫,因為寫入操作將是重新裝載,寫入操作可能令寫和/或重裝載出錯。在訪問定時器2或RCAP2 寄存器之前,應將定時器關閉(清除TR2)。 可編程時鐘輸出定時器2 可通過編程從P1.0 輸出一個占空比為50%的時鐘信號,如圖8 所示。P1.0 引腳除了是一個標準的I/O 口外,還可以通過編程使其作為定時/計數(shù)器2 的外部時鐘輸入和輸出占空比50%的時鐘脈沖。當時鐘振蕩頻率為16MHz 時,輸出時鐘頻率范圍為61Hz4MHz。當設置定時/計數(shù)器2 為時鐘發(fā)生器時,C/T2(T2CON .1)=0,T2OE (T2MOD.1) =1,必須由TR2(T2CON.2)啟動或停止定時器。時鐘輸出頻率取決于振蕩頻率和定時器2 捕獲寄存器(RCAP2H,RCAP2L)的重新裝載值,公式如下:輸出時鐘頻率=振蕩器頻率/4*65536-(RCP2H,RCP2L)在時鐘輸出方式下,定時器2 的翻轉(zhuǎn)不會產(chǎn)生中斷,這個特性與作為波特率發(fā)生器使用時相仿。定時器2 作為波特率發(fā)生器使用時,還可作為時鐘發(fā)生器使用,但需要注意的是波特率和時鐘輸出頻率不能分開確定,這是因為它們同使用RCAP2L和RCAP2L。 UARTAT89C52的UART 工作方式與AT89C51 工作方式相同。 中斷AT89C52 共有6 個中斷向量:兩個外中斷(INT0 和INT1),3 個定時器中斷(定時器0、1、2)和串行口中斷。所有這些中斷源如圖9 所示。這些中斷源可通過分別設置專用寄存器IE 的置位或清0 來控制每一個中斷的允許或禁止。IE 也有一個總禁止位EA,它能控制所有中斷的允許或禁止。注意表5 中的IE.6 為保留位,在AT89C51 中IE.5 也是保留位。程序員不應將“1”寫入這些位,它們是將來AT89 系列產(chǎn)品作為擴展用的。定時器2 的中斷是由T2CON 中的TF2 和EXF2 邏輯或產(chǎn)生的,當轉(zhuǎn)向中斷服務程序時,這些標志位不能被硬件清除,事實上,服務程序需確定是TF2 或EXF2 產(chǎn)生中斷,而由軟件清除中斷標志位。定時器0 和定時器1 的標志位TF0 和TF1 在定時器溢出那個機器周期的S5P2 狀態(tài)置位,而會在下一個機器周期才查詢到該中斷標志。然而,定時器2 的標志位TF2 在定時器溢出的那個機器周期的S2P2 狀態(tài)置位,并在同一個機器周期內(nèi)查詢到該標志。 時鐘振蕩器AT89C52 中有一個用于構(gòu)成內(nèi)部振蕩器的高增益反相放大器,引腳XTAL1 和XTAL2 分別是該放大器的輸入端和輸出端。這個放大器與作為反饋元件的片外石英晶體或陶瓷諧振器一起構(gòu)成自激振蕩器,振蕩電路參見圖10。外接石英晶體(或陶瓷諧振器)及電容C1、C2 接在放大器的反饋回路中構(gòu)成并聯(lián)振蕩電路。對外接電容C1、C2 雖然沒有十分嚴格的要求,但電容容量的大小會輕微影響振蕩頻率的高低、振蕩器工作的穩(wěn)定性、起振的難易程序及溫度穩(wěn)定性,如果使用石英晶體,我們推薦電容使用30pF10pF,而如使用陶瓷諧振器建議選擇40pF10F。用戶也可以采用外部時鐘。采用外部時鐘的電路如圖10 右圖所示。這種情況下,外部時鐘脈沖接到XTAL1 端,即內(nèi)部時鐘發(fā)生器的輸入端,XTAL2 則懸空。由于外部時鐘信號是通過一個2 分頻觸發(fā)器后作為內(nèi)部時鐘信號的,所以對外部時鐘信號的占空比沒有特殊要求,但最小高電平持續(xù)時間和最大的低電平持續(xù)時間應符合產(chǎn)品技術條件的要求。 空閑節(jié)電模式在空閑工作模式狀態(tài), CPU 自身處于睡眠狀態(tài)而所有片內(nèi)的外設仍保持激活狀態(tài),這種方式由軟件產(chǎn)生。此時,同時將片內(nèi)RAM 和所有特殊功能寄存器的內(nèi)容凍結(jié)??臻e模式可由任何允許的中斷請求或硬件復位終止。由硬件復位終止空閑狀態(tài)只需兩個機器周期有效復位信號,在此狀態(tài)下,片內(nèi)硬件禁止訪問內(nèi)部RAM,但可以訪問端口引腳,當用復位終止空閑方式時,為避免可能對端口產(chǎn)生意外寫入,激活空閑模式的那條指令后一條指令不應是一條對端口或外部存儲器的寫入指令。 掉電模式在掉電模式下,振蕩器停止工作,進入掉電模式的指令是最后一條被執(zhí)行的指令,片內(nèi)RAM 和特殊功能寄存器的內(nèi)容在終止掉電模式前被凍結(jié)。退出掉電模式的唯一方法是硬件復位,復位后將重新定義全部特殊功能寄存器,但不改變RAM中的內(nèi)容,在Vcc恢復到正常工作電平前,復位應無效,且必須保持一定時間以使振蕩器重啟動并穩(wěn)定工作。 程序存儲器的加密AT89C52 有3 個程序加密位,可對芯片上的3 個加密位LB1、LB2、LB3 進行編程(P)或不編程(U)來得到。當加密位LB1 被編程時,在復位期間,EA 端的邏輯電平被采樣并鎖存,如果單片機上電后一直沒有復位,則鎖存起的初始值是一個隨機數(shù),且這個隨機數(shù)會一直保存到真正復位為止。為使單片機能正常工作,被鎖存的EA 電平值必須與該引腳當前的邏輯電平一致。此外,加密位只能通過整片擦除的方法清除。 Flash存儲器的編程AT89C52單片機內(nèi)部有8k字節(jié)的Flash PEROM,這個Flash 存儲陣列出廠時已處于擦除狀態(tài)(即所有存儲單元的內(nèi)容均為FFH),用戶隨時可對其進行編程。編程接口可接收高電壓(+12V)或低電壓(Vcc)的允許編程信號。低電壓編程模式適合于用戶在線編程系統(tǒng),而高電壓編程模式可與通用EPROM 編程器兼容。AT89C52 單片機中,有些屬于低電壓編程方式,而有些則是高電壓編程方式,用戶可從芯片上的型號和讀取芯片內(nèi)的簽名字節(jié)獲得該信息。AT89C52 的程序存儲器陣列是采用字節(jié)寫入方式編程的,每次寫入一個字節(jié),要對整個芯片內(nèi)的PEROM 程序存儲器寫入一個非空字節(jié),必須使用片擦除的方式將整個存儲器的內(nèi)容清除。 編程方法編程前,須按表9 和圖11 所示設置好地址、數(shù)據(jù)及控制信號, AT89C52 編程方法如下:1 在地址線上加上要編程單元的地址信號。2 在數(shù)據(jù)線上加上要寫入的數(shù)據(jù)字節(jié)。3 激活相應的控制信號。4 在高電壓編程方式時,將EA/Vpp 端加上+12V 編程電壓。5 每對Flash 存儲陣列寫入一個字節(jié)或每寫入一個程序加密位,加上一個ALE/PROG 編程脈沖。每個字節(jié)寫入周期是自身定時的,通常約為1.5ms。重復15 步驟,改變編程單元的地址和寫入的數(shù)據(jù),直到全部文件編程結(jié)束。 數(shù)據(jù)查詢AT89C52 單片機用Data Palling 表示一個寫周期結(jié)束為特征,在一個寫周期中,如需讀取最后寫入的一個字節(jié),則讀出的數(shù)據(jù)的最高位(P0.7)是原來寫入字節(jié)最高位的反碼。寫周期完成后,所輸出的數(shù)據(jù)是有效的數(shù)據(jù),即可進入下一個字節(jié)的寫周期,寫周期開始后,Data Palling 可能隨時有效。Ready/Busy:字節(jié)編程的進度可通過“RDY/BSY 輸出信號監(jiān)測,編程期間,ALE 變?yōu)楦唠娖健癏”后,P3.4(RDY/BSY)端電平被拉低,表示正在編程狀態(tài)(忙狀態(tài))。編程完成后,P3.4 變?yōu)楦唠娖奖硎緶蕚渚途w狀態(tài)。程序校驗:如果加密位LB1、LB2 沒有進行編程,則代碼數(shù)據(jù)可通過地址和數(shù)據(jù)線讀回原編寫的數(shù)據(jù),采用如圖12的電路。加密位不可直接校驗,加密位的校驗可通過對存儲器的校驗和寫入狀態(tài)來驗證。芯片擦除:利用控制信號的正確組合(表6)并保持ALE/PROG 引腳10mS 的低電平脈沖寬度即可將PEROM 陣列(4k字節(jié))和三個加密位整片擦除,代碼陣列在片擦除操作中將任何非空單元寫入“1”,這步驟需再編程之前進行。讀片內(nèi)簽名字節(jié):AT89C52 單片機內(nèi)有3 個簽名字節(jié),地址為030H、031H 和032H。用于聲明該器件的廠商、型號和編程電壓。讀AT89C52 簽名字節(jié)需將P3.6 和P3.7 置邏輯低電平,讀簽名字節(jié)的過程和單元030H、031H 及032H 的正常校驗相仿,只返回值意義如下:(030H)=1EH 聲明產(chǎn)品由ATMEL公司制造。(031H)=52H 聲明為AT89C52 單片機。(032H)=FFH 聲明為12V 編程電壓。(032H)=05H 聲明為5V 編程電壓。1 單片機ATMEL89C2051 介紹89C51是一種帶4K字節(jié)閃爍可編程可擦除只讀存儲器(FPEROMFalsh Programmable and Erasable Read Only Memory)的低電壓,高性能CMOS8位微處理器,俗稱單片機。89C2051是一種帶2K字節(jié)閃爍可編程可擦除只讀存儲器的單片機。單片機的可擦除只讀存儲器可以反復擦除100次。該器件采用ATMEL高密度非易失存儲器制造技術制造,與工業(yè)標準的MCS-51指令集和輸出管腳相兼容。由于將多功能8位CPU和閃爍存儲器組合在單個芯片中,ATMEL的89C51是一種高效微控制器,89C2051是它的一種精簡版本。89C單片機為很多嵌入式控制系統(tǒng)提供了一種靈活性高且價廉的方案。主要特性1主要特性: 與MCS-51 兼容 4K字節(jié)可編程閃爍存儲器 壽命:1000寫/擦循環(huán) 數(shù)據(jù)保留時間:10年 全靜態(tài)工作:0Hz-24Hz 三級程序存儲器鎖定 128*8位內(nèi)部RAM 32可編程I/O線 兩個16位定時器/計數(shù)器 5個中斷源 可編程串行通道 低功耗的閑置和掉電模式 片內(nèi)振蕩器和時鐘電路 2管腳說明: VCC:供電電壓。 GND:接地。 P0口:P0口為一個8位漏級開路雙向I/O口,每腳可吸收8TTL門電流。當P1口的管腳第一次寫1時,被定義為高阻輸入。P0能夠用于外部程序數(shù)據(jù)存儲器,它可以被定義為數(shù)據(jù)/地址的第八位。在FIASH編程時,P0 口作為原碼輸入口,當FIASH進行校驗時,P0輸出原碼,此時P0外部必須被拉高。 P1口:P1口是一個內(nèi)部提供上拉電阻的8位雙向I/O口,P1口緩沖器能接收輸出4TTL門電流。P1口管腳寫入1后,被內(nèi)部上拉為高,可用作輸入,P1口被外部下拉為低電平時,將輸出電流,這是由于內(nèi)部上拉的緣故。在FLASH編程和校驗時,P1口作為第八位地址接收。 P2口:P2口為一個內(nèi)部上拉電阻的8位雙向I/O口,P2口緩沖器可接收,輸出4個TTL門電流,當P2口被寫“1”時,其管腳被內(nèi)部上拉電阻拉高,且作為輸入。并因此作為輸入時,P2口的管腳被外部拉低,將輸出電流。這是由于內(nèi)部上拉的緣故。P2口當用于外部程序存儲器或16位地址外部數(shù)據(jù)存儲器進行存取時,P2口輸出地址的高八位。在給出地址“1”時,它利用內(nèi)部上拉優(yōu)勢,當對外部八位地址數(shù)據(jù)存儲器進行讀寫時,P2口輸出其特殊功能寄存器的內(nèi)容。P2口在FLASH編程和校驗時接收高八位地址信號和控制信號。 P3口:P3口管腳是8個帶內(nèi)部上拉電阻的雙向I/O口,可接收輸出4個TTL門電流。當P3口寫入“1”后,它們被內(nèi)部上拉為高電平,并用作輸入。作為輸入,由于外部下拉為低電平,P3口將輸出電流(ILL)這是由于上拉的緣故。 P3口也可作為AT89C51的一些特殊功能口,如下表所示: 口管腳 備選功能 P3.0 RXD(串行輸入口) P3.1 TXD(串行輸出口) P3.2 /INT0(外部中斷0) P3.3 /INT1(外部中斷1) P3.4 T0(記時器0外部輸入) P3.5 T1(記時器1外部輸入) P3.6 /WR(外部數(shù)據(jù)存儲器寫選通) P3.7 /RD(外部數(shù)據(jù)存儲器讀選通) P3口同時為閃爍編程和編程校驗接收一些控制信號。 RST:復位輸入。當振蕩器復位器件時,要保持RST腳兩個機器周期的高電平時間。 ALE/PROG:當訪問外部存儲器時,地址鎖存允許的輸出電平用于鎖存地址的地位字節(jié)。在FLASH編程期間,此引腳用于輸入編程脈沖。在平時,ALE端以不變的頻率周期輸出正脈沖信號,此頻率為振蕩器頻率的1/6。因此它可用作對外部輸出的脈沖或用于定時目的。然而要注意的是:每當用作外部數(shù)據(jù)存儲器時,將跳過一個ALE脈沖。如想禁止ALE的輸出可在SFR8EH地址上置0。此時, ALE只有在執(zhí)行MOVX,MOVC指令是ALE才起作用。另外,該引腳被略微拉高。如果微處理器在外部執(zhí)行狀態(tài)ALE禁止,置位無效。 /PSEN:外部程序存儲器的選通信號。在由外部程序存儲器取指期間,每個機器周期兩次/PSEN有效。但在訪問外部數(shù)據(jù)存儲器時,這兩次有效的/PSEN信號將不出現(xiàn)。 /EA/VPP:當/EA保持低電平時,則在此期間外部程序存儲器(0000H-FFFFH),不管是否有內(nèi)部程序存儲器。注意加密方式1時,/EA將內(nèi)部鎖定為RESET;當/EA端保持高電平時,此間內(nèi)部程序存儲器。在FLASH編程期間,此引腳也用于施加12V編程電源(VPP)。 XTAL1:反向振蕩放大器的輸入及內(nèi)部時鐘工作電路的輸入。 XTAL2:來自反向振蕩器的輸出。 3振蕩器特性: XTAL1和XTAL2分別為反向放大器的輸入和輸出。該反向放大器可以配置為片內(nèi)振蕩器。石晶振蕩和陶瓷振蕩均可采用。如采用外部時鐘源驅(qū)動器件,XTAL2應不接。有余輸入至內(nèi)部時鐘信號要通過一個二分頻觸發(fā)器,因此對外部時鐘信號的脈寬無任何要求,但必須保證脈沖的高低電平要求的寬度。 4芯片擦除: 整個PEROM陣列和三個鎖定位的電擦除可通過正確的控制信號組合,并保持ALE管腳處于低電平10ms 來完成。在芯片擦操作中,代碼陣列全被寫“1”且在任何非空存儲字節(jié)被重復編程以前,該操作必須被執(zhí)行。 此外,AT89C51設有穩(wěn)態(tài)邏輯,可以在低到零頻率的條件下靜態(tài)邏輯,支持兩種軟件可選的掉電模式。在閑置模式下,CPU停止工作。但RAM,定時器,計數(shù)器,串口和中斷系統(tǒng)仍在工作。在掉電模式下,保存RAM的內(nèi)容并且凍結(jié)振蕩器,禁止所用其他芯片功能,直到下一個硬件復位為止。 5.結(jié)構(gòu)特點:8位CPU;片內(nèi)振蕩器和時鐘電路;32根I/O線;外部存貯器尋址范圍ROM、RAM64K;2個16位的定時器/計數(shù)器; 89C2051P3.0 VCCP3.2 P1.7P3.3 P1.6P3.1 P1.5P3.4 P1.4P3.5 P1.3XTAL1 P1.2XTAL2 P1.1RST P1.0GND P3.75個中斷源,兩個中斷優(yōu)先級;全雙工串行口;布爾處理器;3.2門控電路為了在本超聲波測距電路中實現(xiàn)對超聲波發(fā)射和接收的自動控制,必須在電路中加入門控電路。下面結(jié)合圖3講述一下該門控電路的作用。由S=1/2vt,式中,V為聲波在空氣中的傳播速度,他和空氣的溫度有關,溫度每升高一攝氏度聲速增加0.6m/s,如果T已知,距離便可確定,如何測量時間T呢?把輸出脈沖作為一閘門信號,讓已知頻率FC脈沖恰好能通過閘門,那么:T=NTC,式中,TC為已知脈沖的周期;N為脈沖周期個數(shù)或者脈沖的個數(shù)。閘門信號與已知脈沖信號的關系如圖在本電路設計中門控電路由RS觸發(fā)器完成,而RS觸發(fā)器是用D觸發(fā)器CD4013中的一個D觸發(fā)器來完成。當R=1(S=0)時撫復位,即Q=0;S=1(R=0)時復位,即Q=1,在院里分析中,就利用它的這一特性。當上電復位時,D觸發(fā)器CD4013的Q腳輸出低電平加到單片機的P3.3口,不啟動內(nèi)部計數(shù)器,處于等待狀態(tài)。1:CD4013在電子技術中,N/2(N為奇數(shù))分頻電路有著重要的應用,對一個特定的輸入頻率,要經(jīng)N/2分頻后才能得到所需要的輸出,這就要求電路具有N/2的非整數(shù)倍的分頻功能。CD4013是雙D觸發(fā)器,在以CD4013為主組成的若干個二分頻電路的基礎上,加上異或門等反饋控制,即可很方便地組成N/2分頻電路。圖1是3/2分頻電路。IC1、IC2均接成二分頻器,所以該電路是由四分頻電路與反饋控制電路組成,計數(shù)脈沖由異或門F1輸出。fi既作為分頻信號又作為時鐘脈沖接入異或門的一個輸入端,從四分頻電路的IC2的Q2輸出端引出反饋信號作F1的另一輸入端。輸出信號fo從IC1的Q1端輸出。圖2是其工作波形。設電路初始狀態(tài)均在復位狀態(tài),Q1、Q2端均為低電平。當fi信號輸入時,由于輸入端異或門的作用(附表是異或門邏輯功能表),其輸出還受到觸發(fā)器IC2的Q2端的反饋控制(非門F2是增加的一級延遲門,A點波形與Q2相同)。在第1個fi時鐘脈沖的上升沿作用下,觸發(fā)器IC1、IC2均翻轉(zhuǎn)。由于Q2端的反饋作用使得異或門輸出一個很窄的正脈沖,寬度由兩級D觸發(fā)器和反相門的延時決定。當?shù)?個fi脈沖下跳時,異或門輸出又立即上跳,使IC1觸發(fā)器再次翻轉(zhuǎn),而IC2觸發(fā)器狀態(tài)不變。這樣在第1個輸入時鐘的半個周期內(nèi)促使IC1觸發(fā)器的時鐘脈沖端CL1有一個完整周期的輸入,但在以后的一個輸入時鐘的作用下,由于IC2觸發(fā)器的Q2端為高電平,IC1觸發(fā)器的時鐘輸入跟隨fi信號(反相或同相)。本來IC1觸發(fā)器

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論