DZ142多傳感器障礙物檢測系統(tǒng)的軟件設(shè)計
DZ142多傳感器障礙物檢測系統(tǒng)的軟件設(shè)計,dz142,傳感器,障礙物,檢測,系統(tǒng),軟件設(shè)計
西南科技大學(xué)本科生畢業(yè)論文 I西南科技大學(xué)畢業(yè)設(shè)計(論文)題目名稱:多傳感器障礙物檢測系統(tǒng)的軟件設(shè)計年 級:2003 級 ■本科 □??茖W(xué)生學(xué)號:20035039學(xué)生姓名:楊金榮 指導(dǎo)教師:胡莉 曾毅學(xué)生單位:信息工程學(xué)院 技術(shù)職稱:副教授 講師學(xué)生專業(yè):電子信息工程 教師單位:信息工程學(xué)院西 南 科 技 大 學(xué) 教 務(wù) 處 制西南科技大學(xué)本科生畢業(yè)論文 II多傳感器障礙物檢測系統(tǒng)的軟件設(shè)計摘要:本設(shè)計較詳細(xì)地介紹了一種多傳感器障礙物檢測系統(tǒng)的軟件設(shè)計。該系統(tǒng)以單片機(jī)為核心,通過檢測微波雷達(dá)探測器的信號來適時地啟動溫度傳感器、速度傳感器、超聲波傳感器等。對這些傳感器輸出值的檢測量化,得到距離、速度、溫度等值。通過合理的計算,把這些變量因素組合在一起,對各種數(shù)據(jù)進(jìn)行修正補(bǔ)償,得出比較精確的結(jié)果。論文描述了系統(tǒng)研制的理論基礎(chǔ),多個傳感器功能結(jié)構(gòu),以及使用性能優(yōu)良的 AVR 單片機(jī) ATmega8L 對系統(tǒng)所起的積極作用。論文概述了幾種檢測技術(shù)的發(fā)展現(xiàn)狀及基本原理,介紹了 ATmega8L 單片機(jī)及其各主要寄存器的功能特點。針對檢測系統(tǒng)的測距、測溫、測速、顯示、報警、補(bǔ)償修正等部分的軟件設(shè)計方案進(jìn)行了論證與設(shè)計。關(guān)鍵詞:雷達(dá)探測;溫度檢測;速度檢測;超聲波檢測;ATmega8L西南科技大學(xué)本科生畢業(yè)論文 IIIThe software design of Multisensor obstacle detected systemAbstract: the software design about the system of a multi-sensor obstacle detecting has been introduced detailly in this design. the system is cored of SCM, and initiates the temperature sensor, speed sensor and ultrasonic sensors at the appropriate time by detecting the signal of microwave radar detector. Having gotten the distance, speed, temperature by checking and measuring the output of these sensors. And have the accurate results by calculating reasonably, compounding these variables together, and amending and compensating the various data that. The paper has described the theoretical basis of the developed system, the function structure of several sensors, and the active role played by the use of the excellent performance of the AVR ATmega8L. The paper has outlined the development and the basic principles of several the detected technology, and introduced the ATmega8L microcontroller and the function features of its register. the verification and design have been made according to the software design scheme about detecting the location, temperature, speed, display, alarm, compensation and amendment of the system.Key words: Radar Detection, Temperature Detection, Speed detection, Ultrasonic detection, ATmega8L 西南科技大學(xué)本科生畢業(yè)論文 IV目 錄第 1章 緒論 ...................................................................................................11.1 前言 .....................................................................................................................11.2 國外汽車防撞技術(shù) .............................................................................................1第 2章 障礙物檢測系統(tǒng)的基本原理及設(shè)計方案 .......................................32.1 微波雷達(dá)探測器 .................................................................................................32.2 超聲波換能器 .....................................................................................................42.3 速度傳感器 .........................................................................................................72.4 溫度傳感器 .........................................................................................................72.5 系統(tǒng)的總體設(shè)計概述 .........................................................................................8第 3章 系統(tǒng)軟件設(shè)計 ...................................................................................93.1 微波雷達(dá)探測 ...................................................................................................123.2 超聲波檢測 .......................................................................................................123.2.1 超聲波發(fā)射 ..................................................................................................133.2.2 超聲波接收 ..................................................................................................193.3 速度檢測 ...........................................................................................................233.3.1 速度補(bǔ)償原理與算法 ..................................................................................233.3.2 ADC 功能特點及其寄存器配置 ................................................................243.4 溫度檢測 ...........................................................................................................283.4.1 補(bǔ)償原理與算法 ..........................................................................................283.4.2 服務(wù)程序及其寄存器配置 ..........................................................................283.5 LED 動態(tài)掃描顯示 ............................................................................................303.6 聲音報警 ...........................................................................................................31第 4章 系統(tǒng)調(diào)試分析及結(jié)果 .....................................................................334.1 本系統(tǒng)開發(fā)調(diào)試環(huán)境 .........................................................................................334.1.1 IMAGECRAFT ICC AVR 編譯器 ...................................................................334.1.2 PONYPROG2000 串行器件編程器 ...............................................................35西南科技大學(xué)本科生畢業(yè)論文 V4.1.3 程序的下載調(diào)試 ..........................................................................................364.2 程序調(diào)試過程 ...................................................................................................374.2.1 動態(tài)顯示 ......................................................................................................384.2.2 超聲波信號產(chǎn)生 ..........................................................................................384.2.3 輸入捕捉 ......................................................................................................394.2.4 超聲檢測聯(lián)機(jī)調(diào)試 ......................................................................................40結(jié)論 .................................................................................................................41參考文獻(xiàn) .........................................................................................................42附錄 系統(tǒng)程序 ..............................................................................................43致謝 .................................................................................................................49西南科技大學(xué)本科生畢業(yè)論文1第 1章 緒論1.1 前言汽車業(yè)在經(jīng)濟(jì)發(fā)達(dá)國家已經(jīng)成為一個發(fā)展國民經(jīng)濟(jì)的支柱性產(chǎn)業(yè)。如美國每年汽車,轎車和卡車的年產(chǎn)量平均為1400萬輛,我國1998年為160萬輛 。車多路少已成為交通狀況日益嚴(yán)重的問題之一。以相對的觀點看,道路交通是最危險的運(yùn)輸方式之一。事故統(tǒng)計表明:所有碰撞有一半以上(65%)是由追尾碰撞引起的。據(jù)統(tǒng)計,早在70年代初時由于汽車碰撞全世界每年造成的經(jīng)濟(jì)損失為100億美元,平均每輛車每年的經(jīng)濟(jì)損失為100美元?,F(xiàn)在是21世紀(jì)初,汽車產(chǎn)量估計翻了三番,所造成的經(jīng)濟(jì)損失也就至少翻了三倍。據(jù)統(tǒng)計,2001年我國道路交通事故造成的直接經(jīng)濟(jì)損失為30億元,105 930人死亡546 485人受傷??梢哉f,道路交通事故每天在全國各地均頻頻發(fā)生,給人民造成了巨大的生命財產(chǎn)損失。為此,一些發(fā)達(dá)國家早在70年代就開始研制汽車防撞系統(tǒng)。據(jù)美國的最新統(tǒng)計表明,因各種原因造成的車輛碰撞追尾事故占公路交通事故總量的90%左右。因此,要降低公路交通事故,必須大力降低車輛碰撞事故,而汽車碰撞技術(shù)的發(fā)展及應(yīng)用有助于減少汽車碰撞事故的發(fā)生。1.2 國外汽車防撞技術(shù)從70年代起,美國、英國、法國、德國、意大利、日本和原蘇聯(lián)均意識到了研制汽車防撞系統(tǒng)的重要性并著手投入了大量的人力和物力進(jìn)行研制。從目前掌握的技術(shù)來講,汽車防撞系統(tǒng)均可用超聲波、紅外、激光和微波技術(shù)實現(xiàn)。1、超聲波防撞雷達(dá)運(yùn)用超聲波技術(shù)制成的汽車防撞雷達(dá)的工作原理是:由脈沖信號發(fā)生器產(chǎn)生的脈沖信號一路送單片機(jī)控制器,另一路用以調(diào)制超聲波。經(jīng)脈沖調(diào)制后的超聲波放大后經(jīng)送波器(超聲喇叭)向外輻射。當(dāng)已調(diào)超聲波在前向(或后向)碰到其它汽車而反射回來之超聲波由受波器(超聲拾音器)接收并經(jīng)放大、檢波、再放大后送到單片機(jī)控制器進(jìn)行數(shù)據(jù)處理。在單片機(jī)控制器中首先對接收到的回波信號與脈沖信號發(fā)生器送入的參考信號進(jìn)行比較,從而計算出延時和與之相應(yīng)的兩車間距離,當(dāng)計算出的距離達(dá)到預(yù)置的減速距離時,控制器輸出減速信號自動控制汽車減速;西南科技大學(xué)本科生畢業(yè)論文2當(dāng)距離達(dá)到預(yù)置的剎車距離時,控制器則及時輸出剎車信號立即剎車以防撞車??刂破鬏敵龅能嚲嗤瑫r送到距離顯示器。這樣,司機(jī)可根據(jù)顯示距離自行處理。2、紅外防撞雷達(dá)紅外防撞雷達(dá)是采用砷化鎵半導(dǎo)體發(fā)光二極管作紅外線輻射器,以硅光二極管作紅外接收器。用石英振蕩器輸出信號經(jīng)放大及波形變換后變?yōu)槊}沖信號,通過門電路分為兩路,一路直接送調(diào)制發(fā)光二極管,使之發(fā)出調(diào)制光波;另一路送至邏輯混頻器與石英振蕩器送來的脈沖信號進(jìn)行邏輯混頻產(chǎn)生出低頻脈沖信號,作為數(shù)字相位測量的參考信號。當(dāng)發(fā)出的已調(diào)紅外光信號碰到其它汽車而反射回來為硅光電二極管所接收,轉(zhuǎn)變?yōu)殡娦盘?,放大與石英晶體振蕩器輸出的本振信號進(jìn)行模擬混頻,再經(jīng)低放和波形變換變?yōu)闇y距信號。單片機(jī)控制器對輸入的測距信號和參考信號進(jìn)行比相,算出它們的相位差,以及與之相應(yīng)的距離數(shù)據(jù),控制器就會及時輸出減速信號或剎車信號,汽車減速或剎車,從而避免撞車。3、激光防撞雷達(dá)激光雷達(dá)是靠激光波束照射在前車上的反射鏡(裝在汽車后部)反射回來的激光波束深測兩車距離。由于天氣因素(如雨、雪、霧)和反射鏡本身因素(如安裝位置、表面污染、磨損或老化等)的影響,使反射激光束散射損失增加,從而影響到探測的準(zhǔn)確性,并使在一定功率下探測距離比可能探測的最大距離減少1/2~1/3。試驗表明:限于目前的技術(shù)水平,激光雷達(dá)在與前車距離不超過30米時才能探測到前方車輛。4、微波防撞雷達(dá)微波雷達(dá)通常由傳感器、信號處理器和控制器三部分組成。工作原理是:首先由傳感器通過天線發(fā)射出微波探測信號,并由天線接收經(jīng)障礙物反射回來的微波信號,送到信號處理器作分析處理,得出障礙物的相對距離、速度等數(shù)據(jù),并把該數(shù)據(jù)輸送給處理中心,處理中心再與由本車傳感器輸入的本車有關(guān)信號(如車速、制動氣壓等)綜合,發(fā)出兩種指令:一種指令給本車操作系統(tǒng),如自動減速、換檔、制動等;另一種指令則是給駕駛員的警示信號,如減速、制動、轉(zhuǎn)向、停車等,從而起到操作汽車防止與障礙物相撞之目的。西南科技大學(xué)本科生畢業(yè)論文3第 2章 障礙物檢測系統(tǒng)的基本原理及設(shè)計方案本系統(tǒng)通過多個傳感器檢測出汽車在行駛過程中的多個參數(shù),通過一定的函數(shù)計算得到相應(yīng)的安全數(shù)據(jù)。中央處理器通過這些數(shù)據(jù)做出相應(yīng)的報警動作,讓司機(jī)能隨時了解汽車當(dāng)前的安全狀態(tài),做出相應(yīng)的操作。本系統(tǒng)需要檢測汽車以下幾個狀態(tài)的數(shù)據(jù):首先,物汽車在駛過程中要隨時檢測前方有無障礙物,系統(tǒng)采用微波雷達(dá)防盜報警器檢測汽車前方 5m 處有無障礙。微波雷達(dá)不受雨、雪、霧、陽光等天氣因素的影響和雜音、污染等環(huán)境因素的影響,提高了系統(tǒng)的可靠性。其次,當(dāng)汽車前方出現(xiàn)障礙時,需要對汽車當(dāng)前與障礙物的距離進(jìn)行精確的測量。超聲波檢測系統(tǒng)結(jié)構(gòu)簡單、測量精度高,對處理器要求低,降低了成本,很利于系統(tǒng)的普及。但傳感器靈敏度不夠,功率較低,沒法完成長距離的測距工作。不過當(dāng)系統(tǒng)只需用其檢測前方 5m 距離內(nèi)的數(shù)據(jù),超聲波檢測完全能滿足需求。再次,影響汽車行駛安全的又一大因素是車速,所以系統(tǒng)還需加入汽車速度的測量。把汽車的車速值也作為一函數(shù)變量來計算出當(dāng)前汽車的安全值。最后,超聲波在空氣中傳播,受到溫度的影響很大。所以用超聲波進(jìn)行測距,需要對當(dāng)前空氣的溫度進(jìn)行檢測。根據(jù)當(dāng)前的溫度對測量結(jié)果進(jìn)行一定的補(bǔ)償,提高測距的精確度。2.1 微波雷達(dá)探測器微波是指頻率在 300MHz-300GHz 范圍內(nèi)的高頻電磁波,其波長范圍從 1m 到1mm。微波具有直線(視距)傳播,不受其他電磁波干擾,頻帶寬,系統(tǒng)體積小等特點,首先在通信領(lǐng)域得到廣泛應(yīng)用。微波技術(shù)另一最重要應(yīng)用當(dāng)屬雷達(dá),使用微波雷達(dá)對遠(yuǎn)距離飛行目標(biāo)測速,測距,測方位早在第二次世界大戰(zhàn)中就已成功應(yīng)用。隨著微波半導(dǎo)體技術(shù)的規(guī)?;瘧?yīng)用,微波技術(shù)的物理實現(xiàn)不僅十分簡單、廉價,而且體積甚小,各種物體探測裝置中都可以放進(jìn)火柴盒大小的微波傳感器,成為目標(biāo)探測裝置中常見的組件。微波探測技術(shù)自上世紀(jì) 40 年代以來特別是近期向民品的轉(zhuǎn)化后,從應(yīng)用場合,產(chǎn)品價位等,越來越多在社會各個應(yīng)用方面得以普及,從防盜安防產(chǎn)品到工業(yè)物位、西南科技大學(xué)本科生畢業(yè)論文4料位檢測,對射/反射產(chǎn)量計數(shù),水位檢測,交通流量,汽車車長測量,高速公路汽車防追尾預(yù)警,霧天車輛防撞,人體移動、機(jī)場空中飛鳥探測驅(qū)趕,智能化控制、醫(yī)療,水文流速/水位、生命特征探測、自動門控制器,長檢測距離控制,燈光控制開關(guān)、糧食水分儀傳感器、混凝土濕度測量傳感器、治安探測器(用于探測生物特性)等。雷達(dá)式是一種將微波收、發(fā)設(shè)備合置的探測器,工作原理基于多普勒效應(yīng)。微波的波長很短,在 1mm~1000mm 之間,因此很容易被物體反射。微波信號遇到移動物體反射后會產(chǎn)生多普勒效應(yīng),即經(jīng)反射后的微波信號與發(fā)射波信號的頻率會產(chǎn)生微小的偏移。雷達(dá)式微波探測器的發(fā)射能圖與所采用的天線結(jié)構(gòu)有關(guān),采用全向天線(如 1/4波長的單極天線)可產(chǎn)生近乎圓球形或橢圓形的發(fā)射范圍,這種能場適合保護(hù)大面積的房間或倉庫等處。而采用定向天線(如喇叭天線)可以產(chǎn)生寬淚滴形或又窄又長的淚滴形能圖,適合保護(hù)狹長的地點,如走廊或通道等。即使和頻率為 30GHz 以下的電磁波相比,也因微波頻率更高、波長更短而具有以下優(yōu)點:能使從天線發(fā)射出的電磁波的射束幅度減小,從而減少了不必要的反射波造成的錯覺,抗干擾性能較強(qiáng);有較好的相對速度感應(yīng),探測精度高;天線和高頻器件體積小,易于安裝。2.2 超聲波換能器超聲波是一種頻率超過 20kHz 的機(jī)械波。超聲波作為一種特殊的聲波,同樣具有聲波傳輸?shù)幕疚锢硖匦浴瓷?、折射、干涉、衍射、散射。超聲波具有方向性集中、振幅小、加速度大等特點,可產(chǎn)生較大力量,并且在不同的媒質(zhì)介面,超聲波的大部分能量會反射。同時,由于超聲波對人體和環(huán)境是無害的,所以超聲檢測可以廣泛應(yīng)用到各個部門。利用超聲波檢測往往比較迅速,方便,易于做到實時控制,并且在測量精度方面能達(dá)到工業(yè)實用的要求,主要應(yīng)用于倒車?yán)走_(dá)、建筑施工工地以及一些工業(yè)現(xiàn)場, 超聲波測量在國防、航空航天、電力、石化、機(jī)械、材料等眾多領(lǐng)域具有廣泛的作用,它不但可以保證產(chǎn)品質(zhì)量、保障安全,還可起到節(jié)約能源、降低成本的作用。超聲波與光波、電磁波、射線等檢測相比,其最大特點是穿透力強(qiáng),幾乎可以在任何物體中傳播,了解被測物體內(nèi)部情況。超聲檢測設(shè)備還具有結(jié)構(gòu)簡單,成本低廉的優(yōu)點,有利于工程實際使用。近十幾年來,由于微機(jī)技術(shù)、現(xiàn)代電子技術(shù)、西南科技大學(xué)本科生畢業(yè)論文5信號處理技術(shù)以及超聲波產(chǎn)生和接收新技術(shù)的發(fā)展,突破了常規(guī)超聲檢測的限制,進(jìn)一步開拓了其適用范圍圖 2-1 超聲波檢測原理圖超聲波檢測通常采用渡越時間法,即利用 計算被測物體的距離。式中 s/2svt?為收發(fā)頭與被測物體之間的距離, v 為超聲波在介質(zhì)中的傳播速度( /2vt?),t 為超聲波的往返時間間隔。超聲波檢測原理是通過超聲31.4/273vTms??波發(fā)射傳感器向某一方向發(fā)射超聲波,在發(fā)射時刻的同時開始計時,超聲波在空氣中傳播,途中碰到障礙物就立即返回來,超聲波接收器收到反射波就停止計時。由其往返時間 t 算出被測物體的距離。T 為環(huán)境溫度,在測量精度要求高的場合必須考慮此影響,但在一般情況下,可舍去此法,由軟件進(jìn)行調(diào)整補(bǔ)償。在超聲波測量系統(tǒng)中,頻率取得太低,外界的雜音干擾較多;頻率取得太高,在傳播的過程中衰減較大。故在超聲波測量中,常使用 40KHz 的超聲波。目前超聲波測量的距離一般為幾米到幾十米,是一種適合室內(nèi)測量的方式。由于超聲波發(fā)射與接收器件具有固有的頻率特性,具有很高的抗干擾性能。應(yīng)用超聲波進(jìn)行檢測,首要問題就是如何發(fā)射和接收超聲波。目前通用的方法是使用超聲波換能器來產(chǎn)生超聲波。超聲換能器是使其他形式的能量轉(zhuǎn)換成超聲能量(為發(fā)射換能器)或是超聲能量轉(zhuǎn)換成其他易于檢測的能量(為接收換能器)。應(yīng)用最多的是聲電和電聲轉(zhuǎn)換,也就是通常所說的超聲探頭,當(dāng)一個電脈沖加到探頭上時,探頭就發(fā)射出超聲脈沖,反之,當(dāng)一個超聲脈沖加到探頭上時,探頭就輸出一個電脈沖。1)頻率選擇頻率在很大程度上決定了超聲檢測的能力,頻率高時,波長短,聲束窄,擴(kuò)散角小,能量集中,發(fā)現(xiàn)缺陷能力強(qiáng),分辨率好,缺陷定位準(zhǔn)確。但掃描空間小,在材料中的衰減大,穿透能力差。頻率低時,波長長,聲束寬,擴(kuò)散角大,能量不集中,發(fā)現(xiàn)缺陷能力差,分辨率差。但掃描空間大,在材料中的衰減小,穿透能力強(qiáng)。探頭 障礙物s西南科技大學(xué)本科生畢業(yè)論文6在一般的接觸法探傷中,對于晶粒細(xì)小的材料,一般采用 2.5~5 兆赫的頻率比較合適,能夠發(fā)現(xiàn)的最小缺陷在 λ/2 左右。對于晶粒粗大、對超聲散射較強(qiáng)烈的材料,高頻率的超聲會出現(xiàn)晶界引起的林狀回波,致使無法判傷,對這種材料則應(yīng)選用0.5~1 兆赫的超聲波。對于其他一些聲衰減強(qiáng)烈的材料如鑄鐵、非金屬等,則采用更低的頻率。在超聲測距中,由于聲波傳播的介質(zhì)為空氣,其對超聲衰減很大,所以應(yīng)選取較低頻率的超聲,但太低的頻率又使得測量結(jié)果不夠準(zhǔn)確,所以一般超聲測距選用的頻率為幾十千赫。2)探頭的選擇探頭的選擇主要是對頻率、晶片尺寸和角度等幾方面的選擇。探頭晶片尺寸大時,發(fā)射能量大,擴(kuò)散角小,掃描空間大,近場長度長,發(fā)現(xiàn)遠(yuǎn)距離小缺陷的能力高。而小直徑晶片的探頭在近場范圍內(nèi)聲束窄,有利于缺陷定位,適宜較小厚度的工件探傷。對于缺陷的定位和定量,選擇探頭的原則是聲束應(yīng)盡可能的狹窄,聲束相對缺陷要垂直入射,在某些情況下需要使能量更加集中,可采用線聚焦或點聚焦探頭。同時,探傷靈敏度與近場長度有關(guān),近場長度確定了靈敏度隨缺陷至探頭距離增大而下降的快慢,近場愈長,靈敏度下降愈慢,因此選擇探頭時,要盡可能使近場長度不小于缺陷最大深度的 1/3。圖 2-2 超聲波傳感器結(jié)構(gòu)圖探頭型式的選擇也要視具體情況而定,選擇直探頭或斜探頭取決于欲發(fā)現(xiàn)缺陷的部位及方向,對于探測鍛件,一般選用直探頭,檢查焊縫時,則更多使用斜探頭。一些特殊位置和形狀的缺陷則需要雙探頭或雙晶片探頭,使能量集中和減少雜波。在超聲測距中,一般使用雙探頭,以減少發(fā)射信號對接收探頭的影響。雙壓電晶片振子屏蔽減震環(huán)外殼錐形諧振板支點西南科技大學(xué)本科生畢業(yè)論文7超聲波傳感器是超聲波檢測電路中的重要元件,其性能優(yōu)劣直接影響到測距準(zhǔn)確度和可靠性。根據(jù)雷達(dá)在實際工作時所處的惡劣環(huán)境的要求,本系統(tǒng)所選用的超聲波傳感器為 TR40-16B,其中心頻率為 40kHz。2.3 速度傳感器利用霍爾效應(yīng)(Hall Effect )制成的各種傳感器廣泛用于磁場強(qiáng)度、運(yùn)動及各種特殊位置的檢測。如轉(zhuǎn)速測量、汽車中的風(fēng)門位置、踏板位置、懸掛位置、閥門位置和工業(yè)監(jiān)控系統(tǒng)中的絕對位置及接近行為的檢測?;魻栃?yīng)傳感器是一種非接觸式傳感器。其輸出電壓和磁場強(qiáng)度成比例,而與磁場變化率無關(guān)。電感式傳感器與磁場變化率相關(guān),接觸式傳感器常常產(chǎn)生凸出輪磨損、接觸弧或發(fā)生惡臭味。所以霍爾效應(yīng)傳感器是一種比電感式和接觸式傳感器更可靠、更便捷的低速傳感器。制作霍爾效應(yīng)傳感器可以選用幾種材料,通常選用硅。因為傳感器與其信號調(diào)節(jié)電路低于在同一芯片上集成。但硅的摻雜濃度和散射作用對溫度的低速性很強(qiáng),所以如何對這種傳感器進(jìn)行溫度補(bǔ)償是提高測量精度的關(guān)鍵。在集成霍爾效應(yīng)傳感器中,根據(jù)信號調(diào)節(jié)電路的結(jié)構(gòu)不同,可分為開關(guān)和純屬輸出兩種傳感器。例如美國模擬器件公司(ADI)以前推出的 AD22150 便于工作屬于開關(guān)式輸出磁場傳感器,和合用于轉(zhuǎn)速測量。ADI 公司最近推出的 AD22151 是一種純屬輸出磁場傳感器,適合用于檢測磁場強(qiáng)度和各種特殊位置檢測。AD2251 輸出電壓與施加在垂直器件封裝頂面的磁場強(qiáng)度成正比。它的主要特點是將大量的霍爾元件陣列集成技術(shù)與內(nèi)部溫度補(bǔ)償及信號調(diào)節(jié)電路結(jié)合起來,實現(xiàn)單片集成。這樣不僅減小溫漂、提高精度,而且減小體積,僅使用最少量的外接元件便可滿足各種應(yīng)用要求。2.4 溫度傳感器一種物質(zhì)材料制作成的電阻,它會隨溫度的上升而改變電阻值,如果它隨溫度的上升而電阻值也跟顯著上升就稱為正電阻系數(shù),如果它隨溫度的上升而電阻值反而下降就稱為負(fù)電阻系數(shù)。大部分電阻式溫度檢測器是以金屬制作成的,其中以白金(Pt)制作成的電阻式溫度檢測器,最為穩(wěn)定:耐酸堿、不會變質(zhì)、相當(dāng)線性等,最受工業(yè)界采用。西南科技大學(xué)本科生畢業(yè)論文8PT100 溫度感測器是一種以白金(Pt)制作成的電阻式溫度檢測器,屬于正電阻系數(shù),其電阻和溫度變化的關(guān)系式如下: 0(1)RT???其中 =0.00392, 為 100Ω(在 0℃的電阻值),T 為攝氏溫度。因此白金制作成的?0R電阻式溫度檢測器,又稱為 PT100。鉑電阻溫度傳感器,因其測量范圍大,復(fù)現(xiàn)性好,穩(wěn)定性強(qiáng)等特點而被廣泛使用。在精密測量系統(tǒng)中,鉑電阻信號通常通過橋式電路轉(zhuǎn)換為電壓信號,再經(jīng)過放大及 A/D 轉(zhuǎn)換后送微處理器進(jìn)行處理。2.5 系統(tǒng)的總體設(shè)計概述針對本設(shè)計,如果采用微波雷達(dá)來完成測距功能,由于測距過程中數(shù)據(jù)計算的復(fù)雜性,對系統(tǒng)速度和精度的要求高,超出了一般單片機(jī)的處理能力,需要加入DSP 或 FPGA 芯片才能完成,而設(shè)計的主要目標(biāo)是使成本低廉而易于普及,所以應(yīng)有一個更合適的測距方案用于本汽車安全報警系統(tǒng),本系統(tǒng)選用了超聲波檢測。利用一個雷達(dá)防盜式探測器充當(dāng)本系統(tǒng)中的雷達(dá)探測器,探測 5 米范圍內(nèi)有無障礙物并適時啟動超聲波檢測系統(tǒng)。而在單片機(jī)方面,根據(jù)系統(tǒng)對資源的實際要求,在能完成工作任務(wù)的基礎(chǔ)上不造成資源的浪費(fèi),同時考慮到了市場的實際情況。在設(shè)計初就放棄了其它的一系列的單片機(jī),選用了 ATmega8L 這款。ATmega8是基于增強(qiáng)的 AVR RISC結(jié)構(gòu)的低功耗8位CMOS微控制器。由于其先進(jìn)的指令集以及單時鐘周期指令執(zhí)行時間,ATmega8的數(shù)據(jù)吞吐率高達(dá)1 MIPS/MHz。 AVR內(nèi)核具有豐富的指令集和 32個通用工作寄存器。所有的寄存器都直接與算術(shù)邏輯單元(ALU) 相連接,使得一條指令可以在一個時鐘周期內(nèi)同時訪問兩個獨立的寄存器。這種結(jié)構(gòu)大大提高了代碼效率,并且具有比普通的CISC微控制器最高至10倍的數(shù)據(jù)吞吐率。ATmega8有8K字節(jié)的系統(tǒng)內(nèi)可編程Flash(具有同時讀寫的能力,即RWW),512 字節(jié)EEPROM ,1K字節(jié)SRAM,32個通用I/O口線,32個通用工作寄存器,三個具有比較模式的靈活的定時器/ 計數(shù)器(T/C), 片內(nèi)/外中斷,10位6路ADC 等。系統(tǒng)資源豐富,恰好滿足本系統(tǒng)對處理器的要求,且不會造成多余的浪費(fèi)。是現(xiàn)在市場上的主流產(chǎn)品,價格適中。西南科技大學(xué)本科生畢業(yè)論文9第 3章 系統(tǒng)軟件設(shè)計本系統(tǒng)軟件部分可以分為:主程序、中斷服務(wù)程序和功能函數(shù)。主程序完成系統(tǒng)初始化然后調(diào)用各個功能函數(shù)完成數(shù)據(jù)的測量,對安全值進(jìn)行報警顯示。功能函數(shù)主要有:端口控制函數(shù)、40KHz 信號產(chǎn)生函數(shù)、度越時間測量函數(shù)、溫度測量函數(shù)、車速測量函數(shù)、距離計算函數(shù)、LED 顯示函數(shù)、聲音報警函數(shù)。完成各種開關(guān)控制信號的產(chǎn)生以及測距基本功能的實現(xiàn)。系統(tǒng)總框圖如圖 3-1 所示:圖3-1 系統(tǒng)總框圖本系統(tǒng)在設(shè)計之初就充分的考慮到了性價比等各種因素,采用 AVR 單片機(jī)ATmega8L。系統(tǒng)在設(shè)計過程中就基本上用完了該芯片的所有 I/O 口,充分的利用了系統(tǒng)資源,不會造成資源的浪費(fèi)。系統(tǒng)對其 I/O 端口的分配情況如表 3-1 所示。超聲波傳感器微波雷達(dá)傳感器單片機(jī)系統(tǒng)ATmega8L溫度傳感器LED 顯示聲音提示車速傳感器 時鐘電路復(fù)位電路西南科技大學(xué)本科生畢業(yè)論文10表3-1 系統(tǒng)I/O端口使用情況I/O 端口 使用情況PORTD LED 數(shù)據(jù)接口PC5, PC4, PC3 LED 公共端使能接口PC6 復(fù)位PB6, PB7 XTAL1, XTAL2 接外部 8M 晶振PB0 ICP1 接輸入捕捉輸入端口PC2 聲音報警信號輸出PC0 車速模擬量輸入端口PB3 OC2 40kHz 信號輸出端口PB4 超聲波發(fā)射使能端口PB5 超聲波接收使能端口PB1 微波雷達(dá)探測器信號輸入接口PC1 溫度模擬量輸入端口系統(tǒng)主程序流程圖如圖 3-2 所示:圖3-2 主程序流程圖開始端口初始化T/C0 初始化T/C1 初始化T/C2 初始化A/D 初始化開全局中斷使能計算并處理聲音報警、LED 顯示讀取 T/C1、A/D值有微波雷達(dá)探測信號?YN西南科技大學(xué)本科生畢業(yè)論文11本系統(tǒng)軟件的設(shè)計思路主要是把系統(tǒng)的每一部分分別用一個函數(shù)子程序來完成,所以主程序就顯得很簡單:首先調(diào)用端口初始化函數(shù),對端口進(jìn)行初始化操作。然后系統(tǒng)將一直檢測微波雷達(dá)探測器信號輸入端口,如果沒有反饋信號(為高電平)則一直繼續(xù)檢測。一直到有反饋信號(為低電平)后,開始調(diào)用T/C0初始化子程序,對T/C0進(jìn)行初始化操作。接下來分別調(diào)用T/C1, T/C2,ADC初始化子程序,對其進(jìn)行初始化操作。由于系統(tǒng)好幾個模塊都采用的是中斷方式(ATmega8的主要中斷向量見表3-2) ,所以當(dāng)系統(tǒng)初始化完成后就必須打開全局中斷使能。只有打開發(fā)全局中斷使能,當(dāng)中斷源發(fā)生中斷事件時系統(tǒng)才能受理。進(jìn)入中斷服務(wù)程序。接下來要調(diào)用子程序,讀取T/C1、A/D的值。因為 T/C1、A/D 為16位的值,而系統(tǒng)為8位總線,不能直接讀取。再接下來要對這兩個值進(jìn)行一定的計算處理,設(shè)定一定的危險等級。最后根據(jù)計算出來的結(jié)果,進(jìn)行相應(yīng)的聲光報警。這是本系統(tǒng)主程序的一個工作流程。表3-2 ATmega8 的中斷向量向量號 程序 地址 中斷源中斷定義1 0x000 REST外部2 0x001 IN0外部中斷請求03 0x002 1外部中斷請求14 0x003 TIMER2 COMP 定時器/計數(shù)器2比較匹配5 0x004 TIMER2 OVF 定時器/計數(shù)器2溢出6 0x005 TIMER1 CAPT 定時器/計數(shù)器1捕捉事件7 0x006 TIMER1 COMPA 定時器/計數(shù)器1比較匹配A8 0x007 TIMER1 COMPB 定時器/計數(shù)器1比較匹配B9 0x008 TIMER1 OVF 定時器/計數(shù)器1溢出10 0x009 TIMER0 OVF 定時器/計數(shù)器0溢出11 0x00A SPI, STC SPI串行傳輸結(jié)束15 0x00E ADC ADC轉(zhuǎn)換結(jié)束西南科技大學(xué)本科生畢業(yè)論文123.1 微波雷達(dá)探測汽車在行駛過程中,隨時需要實時的檢測汽車前方是否有障礙物。當(dāng)汽車在高速行駛時,需要檢測的距離將會非常遠(yuǎn)。幾十米至上百米的距離時就需要一個安全可靠的探測器還完成,微波雷達(dá)是一個不錯的選擇。采用微波雷達(dá)來完成測距功能,由于測距過程中數(shù)據(jù)計算的復(fù)雜性,對系統(tǒng)速度和精度的要求高,超出了一般單片機(jī)的處理能力,需要加入DSP或FPGA芯片才能完成,不利于普及。所以本系統(tǒng)采用雷達(dá)式防盜探測器來檢測汽車前方是否有障礙物。當(dāng)前方?jīng)]有障礙物時,系統(tǒng)實時顯示汽車當(dāng)前速度值;當(dāng)前方5m處出現(xiàn)障礙物時,發(fā)出電平信號給中央處理器進(jìn)行處理。單片機(jī)收到這一電平信號后,開啟超聲波檢測電路,用超聲波進(jìn)行精確距離測量,并做出相應(yīng)的報警動作。流程圖如圖3-3所示。圖3-3 微波雷達(dá)探測流程3.2 超聲波檢測系統(tǒng)使用超聲波進(jìn)行精確測距,主要分為發(fā)射與接收兩部分。在發(fā)射單元中,利用定時器/計數(shù)器來產(chǎn)生發(fā)射信號。系統(tǒng)在中斷的過程中,需要做現(xiàn)場保護(hù)等操作。而且還有可能產(chǎn)生中斷嵌套等情況,使得系統(tǒng)的可靠性會受到一定的影響。為了減少頻繁的使用中斷,系統(tǒng)使用8位有PWM與異步操作的定時器/ 計數(shù)器2的CTC方來產(chǎn)生40KHz信號。這一方式在系統(tǒng)執(zhí)行期間將不必產(chǎn)生中斷,不影響其它程序的執(zhí)行的情況下可靠的產(chǎn)生信號。這是產(chǎn)生頻率信號的最佳途徑。而為了能正確的完成設(shè)計,需要對該定時器/計數(shù)器作一個深入的了解認(rèn)識。有微波探測信號?啟動速度檢測顯示速度值啟動超聲波檢測顯示距離,聲音報警YN西南科技大學(xué)本科生畢業(yè)論文13而在接收單元中,需要對超聲波的度越時間進(jìn)行精確的計時。本系統(tǒng)所使用的單片機(jī)ATmega8L有一個16位的定時器/計數(shù)器,系統(tǒng)使用它來完成距離測量過程中的精確計時功能。當(dāng)接收到回波信號后,通過對定時器/計數(shù)器值作相應(yīng)的計算處理就可以得到一個準(zhǔn)確的距離數(shù)值。3.2.1 超聲波發(fā)射1、40kHz 信號的產(chǎn)生(1) T/C2 相關(guān)知識T/C2 是一個通用單通道 8 位定時/計數(shù)器,其主要特點如下:? 單通道計數(shù)器? 比較匹配時清零定時器(自動重載)? 無干擾脈沖 ,相位正確的脈寬調(diào)制器 (PWM)? 頻率發(fā)生器? 10 位時鐘預(yù)分頻器? 溢出與比較匹配中斷源(TOV2 與 OCF2)? 允許使用外部的 32kHz 手表晶振作為獨立的 I/O 時鐘源雙緩沖的輸出比較寄存器 OCR2 一直與 TCNT2 的數(shù)值進(jìn)行比較。波形發(fā)生器利用比較結(jié)果產(chǎn)生 PWM 波形或在比較輸出引腳 OC2 輸出可變頻率的信號。比較匹配結(jié)果還會置位比較匹配標(biāo)志 OCF2,用來產(chǎn)生輸出比較中斷請求。根據(jù)不同的工作模式,計數(shù)器針對每一個 clkT2 實現(xiàn)清零、加一或減一操作。clkT2 可以由內(nèi)部時鐘源或外部時鐘源產(chǎn)生,具體由時鐘選擇位 CS22:0 確定。沒有選擇時鐘源時(CS22:0=0)定時器停止。但是不管有沒有 clkT2,CPU 都可以訪問TCNT2。CPU 寫操作比計數(shù)器其他操作 (清零、加減操作 )的優(yōu)先級高。計數(shù)序列由 T/C 控制寄存器(TCCR2)的 WGM21 和 WGM20 決定。計數(shù)器計數(shù)行為與輸出比較 OC2 的波形有緊密的關(guān)系。T/C 溢出中斷標(biāo)志 TOV2 根據(jù) WGM21:0 設(shè)定的工作模式來設(shè)置。TOV2 以用于產(chǎn)生 CPU中斷 8 位比較器持續(xù)對 TCNT2 和輸出比較匹配寄存器 OCR2 進(jìn)行比較。一旦 TCNT2 等于OCR2,比較器就給出匹配信號。在匹配發(fā)生的下一個定時器時鐘周期里輸出比較標(biāo)志 OCF2 置位。若 OCIE2=1 還將引發(fā)輸出比較中斷。執(zhí)行中斷服務(wù)程序時 OCF2 將自動清零,也可以通過軟件寫”1”的方式進(jìn)行清零。根據(jù) WGM21:0 和 COM21:0 設(shè)定的不同工作模式,波形發(fā)生器可以利用匹配信號產(chǎn)生不同的波形西南科技大學(xué)本科生畢業(yè)論文14(2) 定時器工作模式的選擇本系統(tǒng)設(shè)計中使用 CTC(比較匹配時清除定時器)模式。在 CTC 模式(WGM21:0=2)里 OCR2 寄存器用于調(diào)節(jié)計數(shù)器的分辨率。當(dāng)計數(shù)器的數(shù)值 TCNT2等于 OCR2 時計數(shù)器清零。OCR2 定義了計數(shù)器的 TOP 值,亦即計數(shù)器的分辨率。這個模式使得用戶可以很容易地控制比較匹配輸出的頻率,也簡化了外部事件計數(shù)的操作。CTC 模式的時序圖為圖 3-4。計數(shù)器數(shù)值 TCNT2 一直累加到 TCNT2 與 OCR2匹配,然后 TCNT2 清零。圖 3-4 CTC 模式的時序圖利用OCF2標(biāo)志可以在計數(shù)器數(shù)值達(dá)到TOP 即產(chǎn)生中斷。在中斷服務(wù)程序里可以更新TOP 的數(shù)值。由于CTC模式?jīng)]有雙緩沖功能,在計數(shù)器以無預(yù)分頻器或很低的預(yù)分頻器工作的時候?qū)OP更改為接近BOTTOM的數(shù)值時要小心。如果寫入OCR2的數(shù)值小于當(dāng)前TCNT2的數(shù)值,計數(shù)器將丟失一次比較匹配。在下一次比較匹配發(fā)生之前,計數(shù)器不得不先計數(shù)到最大值0xFF ,然后再從 0x00開始計數(shù)到OCR2。為了在CTC 模式下得到波形輸出,可以設(shè)置OC2在每次比較匹配發(fā)生時改變邏輯電平。這可以通過設(shè)置COM21:0=1 來完成。在期望獲得 OC2輸出之前,首先要將其端口設(shè)置為輸出。波形發(fā)生器能夠產(chǎn)生的最大頻率為fOC2=fclk_I/O/2(OCR2=0x00)。頻率由如下公式確定: _/2(1)clkIOOCnffNRn??A變量N代表預(yù)分頻因子(1、8、32、64、128、256或1024)。而在本系統(tǒng)中,系統(tǒng)時鐘為8MHz,要產(chǎn)生的波形為40KHz ,代入上式,選N 為西南科技大學(xué)本科生畢業(yè)論文151,所以得出OCR2=99。模式下OCF2置位和TCNT2 清除的情況如圖3-5所示:圖3-5 T/C 時序圖,CTC 模式,預(yù)分頻器為fclkI/O/8(3) T/C2 寄存器的配置? Bit 7 – FOC2: 強(qiáng)制輸出比較表3-3 T/C 控制寄存器-TCCR2Bit 7 6 5 4 3 2 1 0TCCR2 FOC2 WGM20 COM21 COM20 WGM21 CS22 CS21 CS20讀/寫 R R/W R/W R/W R/W R/W R/W R/W初值 0 0 0 0 0 0 0 0FOC2僅在WGM 指明非PWM模式時才有效。但是,為了保證與未來器件的兼容性,使用PWM時,寫TCCR2要對其清零。寫1后,波形發(fā)生器將立即進(jìn)行比較操作。比較匹配輸出引腳OC2將按照COM21:0的設(shè)置輸出相應(yīng)的電平。要注意FOC2類似一個鎖存信號,真正對強(qiáng)制輸出比較起作用的是COM21:0的設(shè)置。FOC2不會引發(fā)任何中斷,也不會在使用OCR2作為TOP的CTC 模式下對定時器進(jìn)行清零。讀FOC2的返回值永遠(yuǎn)為0。? Bit 6,3 – WGM21:0: 波形產(chǎn)生模式這幾位控制計數(shù)器的計數(shù)序列,計數(shù)器最大值TOP的來源,以及產(chǎn)生何種波形。西南科技大學(xué)本科生畢業(yè)論文16表3-4 波形產(chǎn)生模式的位定義模式 WGM21(CTC2)WGM20(PWM2)T/C 的工作模式 TOP OCR2 的更新時間TOV2 的置位時刻0 0 0 普通 0xFF 立即更新 MAX1 0 1 相位修正 PWM 0xFF TOP BOTTOM2 1 0 CTC OCR2 立即更新 MAX3 1 1 快速 PWM 0xFF TOP MAX? Bit 5:4 – COM21:0: 比較匹配輸出模式這些位決定了比較匹配發(fā)生時輸出引腳 OC2 的電平。如果 COM21:0 中的一位或全部都置位,OC2 以比較匹配輸出的方式進(jìn)行工作。同時其方向控制位要設(shè)置為 1 以使能輸出驅(qū)動。當(dāng) OC2 連接到物理引腳上時,COM21:0 的功能依賴于 WGM21:0 的設(shè)置。表 3-4 給出了當(dāng) WGM21:0 設(shè)置為普通模式或 CTC 模式時 COM21:0 的功能。表3-5 比較輸出模式,非PWM模式COM21 COM20 說明0 0 正常的端口操作,OC2 未連接0 1 比較匹配發(fā)生時 OC2 取反1 0 比較匹配發(fā)生時 OC2 清零1 1 比較匹配發(fā)生時 OC2 置位? Bit 2:0 – CS22:0: 時鐘選擇這三位時鐘選擇位用于選擇T/C的時鐘源,見表3-6。表3-6 時鐘選擇位說明CS22 CS21 CS20 說明0 0 0 無時鐘,T/C 不工作0 0 1 clkT2S/(沒有預(yù)分頻 )0 1 0 clkT2S/8(來自預(yù)分頻器 )0 1 1 clkT2S/32(來自預(yù)分頻器 )1 0 0 clkT2S/64(來自預(yù)分頻器 )西南科技大學(xué)本科生畢業(yè)論文171 0 1 clkT2S/128(來自預(yù)分頻器 )1 1 0 clkT2S/256(來自預(yù)分頻器 )1 1 1 clkT2S/1024(來自預(yù)分頻器 )在本系統(tǒng)中,要產(chǎn)生的是40KHz的波形,所以對寄存器的設(shè)定為:工作在 CTC 模式,所以 WGM21=1,WGM20=0。輸出時 OC2 取反,所以 COM21=0,COM20=1。時鐘選擇為沒有預(yù)分頻的狀態(tài),所以CS22=0 CS21=0 CS20=1所以,TCCR2=0b11010001圖3-6 T/C2工作流程圖注意:通過T/C寄存器可以直接對計數(shù)器的8位數(shù)據(jù)進(jìn)行讀寫訪問。對TCNT2寄存器的寫訪問將在下一個時鐘阻止比較匹配。在計數(shù)器運(yùn)行的過程中修改TCNT2 的數(shù)值有可能丟失一次TCNT2和OCR2的比較匹配。輸出比較寄存器包含一個8位的數(shù)據(jù),不間斷地與計數(shù)器數(shù)值TCNT2 進(jìn)行比較。匹配事件用來在OC2引腳上產(chǎn)生波形。2、超聲波檢測周期初始化TCNT2+1NYOC2 取反輸出開始TCNT2=OCR2?西南科技大學(xué)本科生畢業(yè)論文18系統(tǒng)在進(jìn)行超聲波檢測的時候,有一個測距周期(即完成一次測距工作的時間)30ms。這個周期由以下幾個時間段組成:發(fā)送 6 個 40KHz 的波形脈沖,占用 150us;○ 1等待 300us 后開啟輸入捕捉使能(盲區(qū)隔離) ;○ 2等待回波信號○ 3而這個工作周期用單片機(jī)上所剩的 T/C0 來完成。T/C0是一個通用的單通道8位定時器/計數(shù)器模塊。T/C可以通過預(yù)分頻器由內(nèi)部時鐘源驅(qū)動,計數(shù)方向始終向上(增加),且沒有計數(shù)器清除操作。當(dāng)計數(shù)器值超過最大8位值(MAX=0xFF)時,重新由 0x00開始計數(shù)。在正常工作時,當(dāng)TCNT0 變?yōu)椤?”時,T/C溢出標(biāo)志(TOV0) 置位。當(dāng)中斷使能時,將開始執(zhí)行中斷服務(wù)程序。在應(yīng)用T/C0時,得先給TCNT0賦初值。初始化超聲波發(fā)射盲區(qū)隔離開啟 T/C1 輸入捕捉使能T/C1 輸入捕捉執(zhí)行中斷服務(wù)程序T/C1 開始計數(shù)有回波?T/C1 溢出?YYNN西南科技大學(xué)本科生畢業(yè)論文19圖3-7 T/C0的中斷服務(wù)程序流程圖在本系統(tǒng)中,使用T/C0最為簡單定時功能。當(dāng)T/C中斷屏蔽寄存器TIMSK中的TOIE0和狀態(tài)寄存器的全局中斷使能位 I都為“0”時,T/C0的溢出中斷使能。當(dāng)T/C0發(fā)生溢出,即TIFR中的TOV0位置位時,中斷服務(wù)程序得以執(zhí)行(如圖 3-7所示) 。當(dāng)計數(shù)器T/C溢出而執(zhí)行中斷服務(wù)程序后,可以重新給這個TCNT0賦初值。3.2.2 超聲波接收本系統(tǒng)所使用的單片機(jī)ATmega8L有一個16位的定時器/計數(shù)器。系統(tǒng)使用它來完成距離測量過程中的精確計時功能。當(dāng)接收到回波信號后,通過對定時器/計數(shù)器值作相應(yīng)的計算處理就可以得到一個準(zhǔn)確的距離數(shù)值。1、T/C1相關(guān)知識16位的T/C可以實現(xiàn)精確的程序定時(事件管理) 、波形產(chǎn)生和信號測量。其主要特點如下:? 真正的16位設(shè)計(即允許16位的PWM)? 2個獨立的輸出比較單元? 雙緩沖的輸出比較寄存器? 一個輸入捕捉單元? 輸入捕捉噪聲抑制器? 比較匹配發(fā)生時清除寄存器(自動重載)? 無干擾脈沖,相位正確的PWM? 可變的PWM周期? 頻率發(fā)生器? 外部事件計數(shù)器? 4個獨立的中斷源( TOV1、OCF1A、OCF1B 與ICF1)定時器/計數(shù)器TCNT1、輸出比較寄存器OCR1A/B與輸入捕捉寄存器ICR1均為16位寄存器。16位計數(shù)器映射到兩個8位I/O存儲器位置:TCNT1H為高8位,TCNT1L為低 8位。CPU 只能間接訪問TCNT1H寄存器。CPU訪問TCNT1H時,實際訪問的是臨時寄存器(TEMP) 。讀取TCNT1L時,臨時寄存器的內(nèi)容更新為TCNT1H的數(shù)值;而對TCNT1L執(zhí)行寫操作時,TCNT1H被臨時寄存器的內(nèi)容所更新。顯示報錯字符西南科技大學(xué)本科生畢業(yè)論文20訪問16位寄存器必須通過特殊的步驟:TCNT1、OCR1A/B與ICR1 是AVR CPU通過8位數(shù)據(jù)總線可以訪問的 16位寄存器。讀寫16位寄存器需要兩次操作。每個16位計時器都有一個8位臨時寄存器用來存放其高8位數(shù)據(jù)。每個16位定時器所屬的16位寄存器共用相同的臨時寄存器。訪問低字節(jié)會觸發(fā)16位讀或?qū)懖僮鳌.?dāng)CPU寫入數(shù)據(jù)到16位寄存器的低字節(jié)時,寫入的8位數(shù)據(jù)與存放在臨時寄存器中的高8位數(shù)據(jù)組成一個16位數(shù)據(jù),同步寫入到16位寄存器中。當(dāng)CPU 讀取16位寄存器的低字節(jié)時,高字節(jié)內(nèi)容在讀低字節(jié)操作的同時被放置于臨時輔助寄存器中。并非所有的16位訪問都涉及臨時寄存器。對OCR1A/B寄存器的讀操作就不涉及臨時寄存器。寫16位寄存器時,應(yīng)先寫入該寄存器的高位字節(jié)。而讀16位寄存器時應(yīng)先讀取該寄存器的低位字節(jié)。在對16位寄存器操作時,最好首先屏蔽中斷響應(yīng),防止在主程序讀寫16位寄存器的兩條指令之間發(fā)生這樣的中斷:它也訪問同樣的寄存器或其他的16位寄存器,從而更改了臨時寄存器。如果這種情況發(fā)生,那么中斷返回后臨時寄存器中的內(nèi)容已經(jīng)改變,造成主程序?qū)?6位寄存器的讀寫錯誤。下面是讀取ICR1寄存器的函
收藏