單片機應用技術 課件 項目9、10 煙霧報警器設計與實現、信號發生器設計與實現_第1頁
單片機應用技術 課件 項目9、10 煙霧報警器設計與實現、信號發生器設計與實現_第2頁
單片機應用技術 課件 項目9、10 煙霧報警器設計與實現、信號發生器設計與實現_第3頁
單片機應用技術 課件 項目9、10 煙霧報警器設計與實現、信號發生器設計與實現_第4頁
單片機應用技術 課件 項目9、10 煙霧報警器設計與實現、信號發生器設計與實現_第5頁
已閱讀5頁,還剩46頁未讀 繼續免費閱讀

下載本文檔

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

文檔簡介

項目9煙霧報警器設計與實現素質目標1.通過A/D轉換特性引導學生培養正確的人生觀、價值觀及科技價值觀。2.通過項目拓展應用提高學生將所學理論知識與具體工程實踐相結合的能力,培養勇于開拓的創新精神。3.通過項目實踐培養崇尚勞動、熱愛勞動、精益求精、勇于奉獻、不怕困難的工匠精神和勞模精神。知識目標1.能概述煙霧報警器的實現原理。2.能說明A/D轉換原理和作用。3.能應用STC12C5A60S2單片機A/D轉換寄存器。4.能進行STC12C5A60S2單片機A/D轉換計算。能力目標1.能夠根據煙霧報警器設計要求,選擇參數、性能合理的電子元器件,使用Proteus進行硬件電路仿真設計。2.能夠使用按項目需求選擇合適的A/D轉換參數采集I/O口電壓信號。3.能夠將STC12C5A60S2單片機A/D轉換采集到的信號轉換為電壓值。設計要求:

使用MQ-2離子式煙霧傳感器模塊,設計一款簡單的煙霧報警器,該報警器主要功能如下:1.具有煙霧濃度檢測功能;2.當煙霧濃度超標時進行聲光報警;3.聲光報警信號延遲關閉,并且可以手動按下消音鍵關閉聲光報警動作;4.煙霧報警器電池電壓過低時,發出報警提示。煙霧報警器設計與實現煙霧報警器是一種最常見的消防預警裝置,能夠在火災發生的初期階段準確感應到起火所產生的煙霧,迅速向人們進行預警,及時阻止火勢蔓延。常見的煙霧報警器外形如下圖9-2所示:按照煙霧報警器所使用的煙霧傳感器類型不同,一般來說可以將其分為離子式煙霧報警器和光電式煙霧報警器兩種,這兩種煙霧傳感器都是通過檢測煙霧濃度,從而實現火災預警的功能,它們各自有不同的使用場景。什么是A/D轉換?

其中,模擬信號最大的特點是時間域上具有連續性;數字信號則相反,其在時間域上是離散的信號。自然界中絕大多數信號都以模擬信號的方式存在,而單片機中卻只能存儲和處理離散信號,如何實現模擬信號和數字信號之間的相互轉換就成為了亟待解決的問題。為了解決這個問題,A/D轉換技術應運而生,其中,A是指模擬信號(Analog),D指數字信號(Digital),A/D轉換的作用就是將連續變化的模擬信號轉換為離散的數字信號。MQ-2煙霧傳感器

MQ-2型煙霧傳感器使用二氧化錫半導體氣敏材料,屬于表面離子式N型半導體,如下圖9-4所示。在200~3000攝氏度時,二氧化錫表面吸附空氣中的氧,形成氧的負離子吸附,使半導體中的電子密度減少,從面使其電阻值增加。當傳感器與煙霧接觸時,晶粒間界處的勢壘感應到煙霧濃度的變化,就會引起表面導電率的變化。利用這一點就可以獲得煙霧存在的信息,煙霧濃度越大導電率越大,輸出電阻越低,則輸出的模擬信號就越大。MQ-2煙霧傳感器模塊具有雙路信號輸出的功能,分別是DOUT(模擬輸出)和AOUT(數字輸出)MQ-2煙霧傳感的兩種輸出方式使用數字信號輸出方案時,傳感器與電壓比較器電路相連,MQ-2煙霧濃度傳感器輸出隨煙霧濃度變化的直流信號,該信號被傳遞到電壓比較器U1A的2號引腳;同時,電壓比較器U1A的3號引腳與可調變阻器Rp相連,產生比較器的門限電壓。使用模擬信號輸出方案時,MQ-2煙霧濃度傳感器輸出隨煙霧濃度變化的電壓信號到模塊AOUT(模擬輸出)引腳,信號電壓范圍為0~5V,濃度越高電壓越高。MQ-2煙霧傳感的穩態誤差MQ-2靈敏度特性曲線MQ-2溫濕度特性曲線MQ-2煙霧傳感器作為一種測量器件,不同個體之間存在合理的穩態誤差,即不同MQ-2傳感器在相同測量環境下輸出電壓存在合理的差異;且從MQ-2傳感器靈敏度特性曲線可知,MQ-2傳感器在不同溫濕度情況下,靈敏度也存在差異。所以,在煙霧報警器一般都具有環境校準功能,在本項目中采用設計校準按鍵的方式,在煙霧報警器安裝到位后,按下校準按鍵對當前環境進行校準。STC89C5A60S2單片機ADC接口

STC12C5A60S2單片機作為新一代C51單片機,其內部集成了8路10位高速A/D轉換器,位于單片機P1端口(P1.0~P1.7),可用于溫度檢測、電池、電壓檢測、頻譜檢測等功能設計,其速度可達25萬次/秒STC12C5A60S2單片機A/D轉換器結構STC89C5A60S2單片機ADC轉換寄存器一、P1口模擬功能控制寄存器-P1ASF(地址9DH)STC12C5A60S2系列單片機的A/D轉換通道與P1口(P1.0~P1.7)復用,上電復位后P1口為弱上拉型I/O口,用戶可以通過P1ASF寄存器將8路中的任何一路I/O口設置為A/D轉換功能。P1ASF寄存器對應位置置1時有效,即當P1口中的相應位作為A/D轉換使用時,要將P1ASF中的相應位置置1。程序示例:配置P1.0和P1.1引腳使能A/D轉換功能,此時P1ASF寄存器第0和1位設置為1,其他位設置為0,即P1ASF=(00000011)2,轉換16進制為0x02。P1ASF=0x02;

//P1.0和P1.1引腳啟用A/D轉換功能STC89C5A60S2單片機ADC轉換寄存器二、A/D控制寄存器-ADC_CONTR(地址BCH)ADC_CONTR是STC12C5A60S2單片機A/D轉換中最重要的寄存器,它同時包含了A/D轉換器電源開關、A/D轉換器速度控制、A/D轉換器結束標志位、A/D轉換器啟動控制和模擬輸入通道選擇功能。ADC_POWER-ADC電源控制位ADC電源控制位。置0時,表示關閉A/D轉換器電源;置1時,表示打開A/D轉換器電源。STC89C5A60S2單片機ADC轉換寄存器二、A/D控制寄存器-ADC_CONTR(地址BCH)SPEED1和SPEED0-轉換速度控制位

A/D轉換速度控制位,其取值如下表9-10所示。STC89C5A60S2單片機ADC轉換寄存器二、A/D控制寄存器-ADC_CONTR(地址BCH)ADC_FLAG-轉換器結束標志位

A/D轉換器結束標志位。當A/D轉換完成后,該標志位由硬件自動置位為1,在進行第二次A/D轉換前,需要軟件配置Flag值為0,實現復位。ADC_START-轉換啟動控制位

A/D轉換器轉換啟動控制位。當該標志位置1時,表示開始轉換,轉換結束后該標志位變為0。STC89C5A60S2單片機ADC轉換寄存器二、A/D控制寄存器-ADC_CONTR(地址BCH)CHS2/CHS1/CHS0-輸入通道選擇標志位

模擬輸入通道選擇標志位,其取值如下表9-11所示。STC89C5A60S2單片機ADC轉換寄存器程序示例:配置打開A/D轉換器電源,以540個時鐘周期為速率開始進行A/D轉換,并選擇P1.1引腳作為A/D轉換輸入通道。

此時,ADC_POWER標志位值為1,SPEED轉換速度組合值為00,ADC_START標志位值為1,CHS通道組合值為001,即ADC_CONTR=(10001001)2,轉換為16進制為0x89。ADC_CONTR=0x89;//打開A/D轉換電源,從P1.1引腳啟動A/D轉換二、A/D控制寄存器-ADC_CONTR(地址BCH)STC89C5A60S2單片機ADC轉換寄存器三、A/D轉換結果相關寄存器輔助寄存器1-AUXR1(地址A2H)該寄存器是STC12C5A60S2單片機的輔助寄存器1,用于控制定時器時鐘選擇、SPI中斷優先級設置、A/D輸出結果格式等功能,其為8位寄存器。注:本項目中僅關注其用于控制A/D輸出結果格式的標志位ADRJ。當ADRJ=0時,10位A/D轉換結果的高8位存放在ADC_RES中,低2位存放在ADC_RESL的低2位中;當ADRJ=1時,10位A/D轉換結果的高2位存放在ADC_RES的低2位中,低8位存放在ADC_RESL中。STC89C5A60S2單片機ADC轉換寄存器三、A/D轉換結果相關寄存器A/D轉換結果存儲寄存器-ADC_RES、ADC_RESL(地址BDH、BEH)這兩個寄存器用于存儲A/D轉換結果,存儲格式由輔助寄存器AUXR1的ADRJ標志位控制。當ADRJ=0時,其格式如下表9-13。當ADRJ=1時,其格式如下表9-14。STC12C5A60S2單片機A/D轉換結果換算在STC12C5A60S2單片機中,ADC_RES寄存器和ADC_RESL寄存器中存儲的A/D轉換值并不是真正的端口電壓值,而是A/D采樣后得到的采樣值,需要對采樣值進行換算,得到實際的端口電壓值。1.當ADRJ=0時,10位A/D轉換結果的高8位存放在ADC_RES中,低2位存放在ADC_RESL的低2位中。如果需要取完整10位結果,按如下公式進行計算:如果只需要取8位結果,按如下公式進行計算:A/D轉換結果計算方法與A/D采樣精度和AUXR1寄存器的ADRJ標志位直接相關。STC12C5A60S2單片機A/D轉換結果換算在STC12C5A60S2單片機中,ADC_RES寄存器和ADC_RESL寄存器中存儲的A/D轉換值并不是真正的端口電壓值,而是A/D采樣后得到的采樣值,需要對采樣值進行換算,得到實際的端口電壓值。2.當ADRJ=1時,10位A/D轉換結果的高2位存放在ADC_RES的低2位中,低8位存放在ADC_RESL中。如果需要取完整10位結果,按如下公式進行計算:A/D轉換結果計算方法與A/D采樣精度和AUXR1寄存器的ADRJ標志位直接相關。STC12C5A60S2單片機A/D轉換使用流程A/D轉換器作為STC12C5A60S2單片機基本外設之一,在使用上與其他外設相同,需要先進行初始化配置,再按照一定的流程配置和使用。STC12C5A60S2單片機A/D轉換示例程序voidADC_Init(void){P1ASF=0x01;//設置P1.0引腳啟用A/D轉換功能AUXR1=0x00;//設置ADRJ標志位為1

ADC_RES=0;//清除ADC_RES寄存器中的數據

ADC_RESL=0;//清除ADC_RESL寄存器中的數據

ADC_CONTR=ADC_POWER|ADC_SPEEDLL;//配置開啟ADC電源和轉換周期

delay(3);}/********A/D轉換初始化函數*********/STC12C5A60S2單片機A/D轉換示例程序unsignedintGetADCResult(unsignedcharchannel){

//在指定channel通道開始A/D轉換

ADC_CONTR=ADC_POWER|ADC_SPEEDLL|channel|ADC_START;

_nop_();

//等待4個CPU周期

_nop_();

_nop_();

_nop_();

while(!(ADC_CONTR&ADC_FLAG));//等待A/D轉換完成

ADC_CONTR&=~ADC_FLAG;

//一次A/D轉換完成,將ADC_FLAG標志位置0

returnADC_RES*4+ADC_RESL;

//返回10位A/D轉換結果(高8位+低2位)}/********獲取A/D轉換結果函數*********/STC12C5A60S2單片機A/D轉換示例程序floatCalculateADCValue(unsignedcharchannel){

floatADC_Value;

unsignedinti;

for(i=0;i<10;i++)//獲取10次A/D轉換結果,求平均值,提高采樣精度

{

ADC_Value+=GetADCResult(channel);//獲取對應通道的A/D轉換值并累加

}

ADC_Value/=10;

//計算A/D轉換平均值

ADC_Value=(ADC_Value*5)/1024;//按照公式換算10位A/D轉換結果對應的電壓值

returnADC_Value;}/********A/D轉換結果換算函數*********/(1)MQ-2接口仿真電路設計

MQ-2煙霧傳感器模塊直接將隨煙霧濃度變化的電壓值輸出至模塊AOUT(模擬輸出)引腳,并且在Proteus仿真工具中MQ-2煙霧傳感器沒有對應的硬件實體,所以在仿真中,往往使用滑動變阻器代替MQ-2煙霧傳感器,當滑動變阻器值發生變化時,變阻器電路輸出電壓值發生變化。煙霧報警器仿真電路設計圖9-10MQ-2傳感器接口電路設計(2)煙霧報警器系統仿真電路設計

煙霧報警器仿真電路設計MQ-2煙霧報警器硬件結構框圖煙霧報警器硬件電路參考布局MQ-2煙霧傳感器電路蜂鳴器電路LED報警燈電路按鍵電路電源接口信號線接口圖9-13煙霧報警器功能電路板參考布局圖程序流程圖參考一、拓展應用1:8位A/D轉換結果換算任務要求:若A/D轉換結果取8位長度數據,并使用P2.0引腳作為模擬輸入通道,請嘗試修改程序并進行煙霧報警功能調試。二、拓展應用2:煙霧報警器電池電壓監控背景描述:在實際煙霧報警器產品設計中,為了保證煙霧報警器工作可靠性,往往會對煙霧報警器電池電壓進行監控,當電池電壓低于煙霧報警器穩定工作的最低門限電壓時,會發出報警音,提示用戶更換煙霧報警器電池。任務要求:在煙霧報警器硬件實物上進行修改,任選STC12C5A60S2單片機其他未使用的A/D轉換接口檢測輸入電源電壓,當電壓低于2.9V時,控制蜂鳴器發出與煙霧報警音不同的提示音。謝謝!項目9信號發生器設計與實現素質目標1.通過轉換芯片的調查選型培養學生的環保和節約意識。2.通過項目任務實施及過程培養學生自主學習能力,團隊協作精神和探究精神。知識目標1.能闡述信號發生器實現原理。2.能說明D/A轉換原理和作用。3.能使用DAC0832芯片完成數據轉換。能力目標1.熟練運用DAC0832芯片實現DA轉換。2.熟練地編程實現數字信號的模擬化。根據任務要求選擇適合的芯片及工作方式。設計要求:

使用DAC0832芯片,設計信號發生器系統結構,該信號發生器主要功能如下:

1.能通過STC12C5A60S2單片機控制DAC0832芯片輸出不同波形的模擬信號;

2.能通過波形切換按鍵切換輸出不同的模擬信號波形;

3.能通過頻率設置按鍵調節輸出模擬信號的頻率。信號發生器設計與實現信號發生器一般是指能夠通過自身電路和程序自動產生鋸齒波、三角波、方波、正弦波等模擬量電壓信號波形的電路。常見的煙霧報警器外形如下圖所示:信號發生器可以由硬件電路制作而成,但純硬件電路設計信號發生器難度較大,且電路相對復雜;在實際應用中,往往也可以使用D/A轉換芯片設計制作,使用單片機驅動D/A轉換器芯片制作信號發生器往往更為簡潔。本項目中我們將使用典型D/A轉換器——DAC0832芯片,搭配STC12C5A60S2單片機實現信號發生器的功能。D/A轉換的概念和典型D/A轉換器

與前項目所學習的A/D轉換相反,D/A轉換是指模/數轉換;實現D/A轉換功能的器件被稱為D/A轉換器,是一種把數字信號轉換成模擬信號的器件。D/A轉換器被廣泛用于計算機函數發生器、計算機圖形顯示以及與A/D轉換器相配合的控制系統等應用中。典型D/A轉換器——DAC0832

本項目中將使用到典型D/A轉換器——DAC0832,該D/A轉換器是8位D/A轉換器,它的D/A轉換結果采用電流形式輸出。DAC0832的應用范圍非常廣泛。DAC0832的結構和特點一、DAC0832的硬件結構DAC0832硬件結構示意圖DAC0832由兩個數據鎖存器、一個8位D/A轉換器和相關控制電路組成,其內部結構如下圖10-4所示:DAC0832芯片內部集成兩級輸入寄存器,使得DAC0832芯片具備雙緩沖、單緩沖和直通三種輸入方式,以便適用于各種不同的電路需要。DAC0832的結構和特點一、DAC0832的硬件結構

DAC0832芯片是采用CMOS工藝制成的單片直流輸出型8位D/A轉換器,采用20引腳雙列直插封裝,DAC0832的結構和特點一、DAC0832的結構特點

DAC0832是一種典型的T型電阻網絡電流輸出型D/A轉換器,其內部功能原理如下圖由上圖可以,DAC0832的輸出Vo,由其內部各級T型電阻網絡的電阻決定,計算公式如下:DAC0832輸出的模擬量VO與輸入的數字量B之間成正比關系,輸入信號強度越強,輸出信號強度越強。基于DAC0832的信號發生器原理一、DAC0832芯片的工作方式——單緩沖方式此種方式適用于只有一路模擬量輸出或幾路模擬量異步輸出的情形。單緩沖方式DAC0832與單片機連接示意圖具體地說,就是使

和都為低電平,DAC寄存器的鎖存選通端得不到有效電平而直通;此外,使輸入寄存器的控制信號處于高電平、處于低電平。這樣,當端收到一個負脈沖時,就可以完成1次轉換。

使得兩個鎖存器之一的輸入寄存器處于導通狀態,或者兩個寄存器同時處于導通狀態,DAC0832就工作于單緩沖方式。基于DAC0832的信號發生器原理一、DAC0832芯片的工作方式——雙緩沖方式此種方式適用于多個D/A轉換器同步輸出的情況。雙緩沖方式DAC0832與單片機連接示意圖具體地說,此時DAC0832的操作分為兩步:首先,使輸入寄存器處于導通狀態,接收輸入數據;其次,使DAC寄存器導通,DAC寄存器從輸入寄存器的輸出端接收數據。注:在第二步中,輸入寄存器鎖存,只有DAC寄存器導通,此時在DAC0832數據輸入端寫入數據無意義。基于DAC0832的信號發生器原理一、DAC0832芯片的工作方式——直通方式數據不經過兩級鎖存器鎖存,當8位數字量抵達時輸入引腳時,立即進行D/A轉換,輸出轉換的模擬量。注:直通方式下

均為低電平,

為高電平。此方式適用于連續反饋控制線路。二、D/A轉換器輸出波形信號原理

根據需求分析任務中知識點3內容可知,D/A轉換器輸出的模擬量與輸入的數字量之間成正比關系,利用這一特點,通過程序控制STC12C5A60S2單片機向D/A轉換芯片輸出隨時間呈一定規律變化的數字量,D/A轉換芯片就可以輸出隨時間按一定規律變化的波形,如方波信號、三角波信號、鋸齒波信號、正弦波信號等。DAC0832的外接電路一、DAC0832的輸入電路1.D/A轉換器有無輸入鎖存器

當D/A轉換器內部沒有輸入鎖存器時,必須在單片機與D/A轉換器之間擴展鎖存器或連接單片機I/O接口。而DAC0832內部具有兩個8位鎖存器,這種情況下只需要將單片機的數據總線與DAC0832的數據輸入端一一對應連接即可。2.D/A轉換器的轉換位數

當高于8位的D/A轉換器與僅8位數據輸入端的STC12C5A60S2單片機接口相連時,STC12C5A60S2單片機的數據必須分時連接,還必須考慮數據分時輸出的格式和輸出電壓的“毛刺”問題。而DAC0832芯片是8位D/A轉換器,其數據寬度與STC12C5A60S2單片機接口寬度一致,此種情況下,無需考慮數據分時連接的問題。DAC0832輸入電路示意圖DAC0832的外接電路二、DAC0832的輸出電路

DAC0832即為電流輸出型的8位D/A轉換器,而信號波形需要展示出不同信號的電壓幅值變化,所以要將DAC0832輸出的模擬電流信號轉換為相應的模擬電壓信號,則DAC0832在本項目中需要外接高輸入阻抗的線性運算放大器。需要注意的是,運放的反饋電阻可以通過RFB端引用片內固有電阻,也可以外接反饋電阻。2.D/A轉換器的轉換位數。DAC0832輸出電路示意圖D/A轉換器模擬量波形生成方法鋸齒波信號生成分析

由DAC0832芯片的硬件結構可知,DAC0832是8位D/A轉換器,其輸出模擬量信號強度與輸入數字量信號強度成正比,利用這一特點,就可以使用STC12C5A60S2單片機控制DAC0832芯片輸出特定波形的模擬量信號,下面以鋸齒波信號為例進行分析:

顯然,鋸齒波信號就是電壓從最小值開始逐漸上升到最大值,再回落到最小值逐步上升到最大值,如此往復的周期信號。即需要使用單片機控制DAC0832輸出從最小值逐步上升到最大值,再回落到最小值逐步上升到最大值的模擬

溫馨提示

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

評論

0/150

提交評論