單片機應用技術 課件 項目7、8 聲光報警器設計與實現、數字式轉速表設計與制作_第1頁
單片機應用技術 課件 項目7、8 聲光報警器設計與實現、數字式轉速表設計與制作_第2頁
單片機應用技術 課件 項目7、8 聲光報警器設計與實現、數字式轉速表設計與制作_第3頁
單片機應用技術 課件 項目7、8 聲光報警器設計與實現、數字式轉速表設計與制作_第4頁
單片機應用技術 課件 項目7、8 聲光報警器設計與實現、數字式轉速表設計與制作_第5頁
已閱讀5頁,還剩59頁未讀, 繼續免費閱讀

下載本文檔

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

文檔簡介

項目7聲光報警器設計與實現素質目標1.培養自信自立、科技創新能力、問題導向思維及安全意識。2.幫助學生樹立辯證唯物主義思想,培養學生效率感。3.通過項目任務實踐環節,強化學生工程實踐能力和創新能力。知識目標1.理解中斷、中斷源、中斷響應、中斷處理、中斷返回等概念;2.理解C51中斷系統的結構和特點;3.能應用中斷處理過程。能力目標1.能分析電路原理圖,能使用常用元器件設計報警電路模塊。2.能夠運用單片機中斷技術,會編寫中斷處理程序。3.能夠編寫OLED液晶顯示模塊的驅動程序。4.能夠理解模塊化程序設計思路和理念,對程序進行模塊化封裝。設計要求:

以MCS-51單片機為主控芯片,外接傳感器及聲光、顯示電路,通過編程實現自動監測、實時報警和狀態信息顯示等功能,完成智能聲光報警器的設計與實現。項目7聲光報警器設計與實現系統設計方案本系統功能由硬件和軟件兩大部份協調完成,硬件部分主要完成信息的顯示;軟件主要完成信號的處理及控制功能等。本系統的硬件采用模塊化設計,以AT89S52單片機為核心,與按鍵接口電路、音頻報警電路組成控制系統。該系統硬件主要包括以下幾個模塊:AT89S52主控模塊、按鍵模塊、音頻報警模塊等。其中AT89S52主要完成外圍硬件的控制以及一些運算功能;按鍵模塊主要外部中斷功能;音頻報警模塊主要完成報警音頻信號的輸出。系統組成方框圖如圖8.1所示。

單片機復位電路時鐘電路電源電路按鍵電路音頻報警電路

圖8.1報警產生器系統組成方框圖軟件系統設計應用軟件采用模塊化設計方法。系統軟件主要由主程序、外部中斷1子程序、延時子程序等模塊組成,系統軟件結構框圖如圖8.2所示。外部中斷1服務子程序主程序延時子程序

圖8.2系統軟件結構框圖中斷定義中斷是指計算機在執行某一程序的過程中,由于計算機系統內、外的某種原因,而必須中止原來程序的執行,轉去執行相應的處理程序,待處理結束之后,再回來繼續執行被中止的原程序的過程。中斷過程計算機在執行主程序過程中,若有符合響應條件的中斷請求,則CPU將停止主程序的執行,響應中斷去執行中斷服務程序,執行完后再返回原來主程序停止的地方(斷點)繼續執行主程序。一主程序斷點繼續執行主程序中斷服務程序響應中斷請求返回主程序

圖8.3中斷響應過程流程圖中斷相關概念主程序:原來正常運行的程序稱為主程序,項目程序中的main()函數就是主程序。中斷源:引起中斷的原因,或能發出中斷申請的來源,稱為中斷源。中斷可以人為設定,也可以是為響應突發性隨機事件而設置。通常有I/O設備、實時控制系統中的隨機參數和信息故障源等。中斷請求:中斷源發出的信號稱為中斷請求(或中斷申請)。斷點:主程序被斷開的位置(或地址)稱為斷點。中斷服務程序:當CPU響應中斷后,轉到執行相應的處理程序,該處理程序通常稱為中斷服務程序。。中斷相關概念主程序運行中斷源中斷處理紅外傳感器聲光報警器中斷事件響應和處理中斷事件返回主程序中斷返回中斷相關概念紅外傳感器聲光報警器主程序運行中斷源中斷處理中斷返回二、中斷系統的結構

圖8.4MCS-51中斷系統內部結構示意圖MCS-51單片機的5個中斷源(1)

:外部中斷0,中斷請求信號由P3.2腳輸入。(2)

:外部中斷1,中斷請求信號由P3.3腳輸入。(3)TF0:定時器T0溢出中斷。(4)TF1:定時器1溢出中斷。(5)RI或TI:串行中斷。三、中斷系統相關的4個特殊寄存器在MCS-51型單片機中斷控制中,具有以下4個特殊功能寄存器:定時器/計數器控制寄存器TCON:定時器和外部中斷的控制定時器/計數器控制寄存器TCON:定時器和外部中斷的控制中斷優先級控制寄存器IP:設置各中斷的優先級串行口控制寄存器SCON:串行中斷的控制

1.定時和外中斷控制?TCONTCON(1)TCON.7(TF1):定時器1的溢出中斷標志。(2)TCON.5(TF0):定時器0溢出中斷標志。(3)TCON.3(IE1):外部中斷1的中斷請求標志。IE1=1,外部中斷1向CPU申請中斷,硬件自動清0。(4)TCON.2(IT1):外部中斷1的中斷觸發方式控制位。當IT1=0時,外部中斷1被控制為電平觸發方式。當IT1=1時,外部中斷1被控制為邊沿觸發方式。(5)TCON.1(IE0):外部中斷0的中斷請求標志。(6)TCON.0(IT0):外部中斷0的中斷觸發方式控制位。TF1TF0IE1IT1IE0IT0串行中斷控制?SCON寄存器SCON是串行口控制寄存器,其低兩位TI和RI鎖存串行口的發送中斷標志和接收中斷標志。SCON(1)SCON.1(TI):串行口發送中斷標志。CPU將一個數據寫入發送緩沖器SBUF時,就啟動發送,每發送完一個串行幀數據后,硬件將使TI置位。但CPU響應中斷時并不清除TI,必須在中斷服務程序中由軟件清除。(2)SCON.0(RI):串行接收中斷標志。在串行口允許接收時,每接收完一個串行幀數據,硬件將使RI置位。同樣,CPU在響應中斷時不會清除RI,必須在中斷服務程序中由軟件清除。MCS-51單片機系統復位后,TCON和SCON均清0,應用時要注意各位的初始狀態。TIRI(二)中斷允許控制IE寄存器計算機中斷系統有兩種不同類型的中斷:一類稱為非屏蔽中斷,另一類稱為可屏蔽中斷。對非屏蔽中斷,用戶不能用軟件的方法加以禁止,一旦有中斷申請,CPU必須予以響應。對可屏蔽中斷,用戶可以通過軟件方法來控制是否允許某個中斷源的中斷,允許中斷稱中斷開放,不允許中斷稱中斷屏蔽。MCS-51系列單片機的5個中斷源都是可屏蔽中斷,中斷系統內部設有一個專用寄存器IE,用于控制CPU對各中斷源的開放或屏蔽。IE寄存器各位定義如下:

IEEAESET1EX1ET0EX0(二)中斷允許控制IE寄存器(1)IE.7(EA):總中斷允許控制位EA=1,開放所有中斷,各中斷源的允許和禁止可通過相應的中斷允許位單獨加以控制;EA=0,禁止所有中斷。(2)IE.4(ES):串行口中斷(包括串行發、串行收)允許位。ES=1,允許串行口中斷;ES=0,禁止串行口中斷。(3)IE.3(ET1):定時/計數器T1中斷允許位。ET1=1,允許定時器T1中斷;ET1=0,禁止定時器T1中斷。(4)IE.2(EX1):外部中斷1中斷允許位。EX1=1,允許外部中斷1中斷;EX1=0,禁止外部中斷1中斷。(5)IE.1(ET0):定時/計數器T0中斷允許位。ET0=1,允許定時器0中斷;ET0=0,禁止定時器0中斷。(6)IE.0(EX0):外部中斷0中斷允許位。EX0=1,允許外部中斷0中斷;EX0=0,禁止外部中斷0中斷。(三)中斷優先級控制寄存器IP在MCS-51系列單片機有兩個中斷優先級,每個中斷源都可以通過編程確定為高優先級中斷或低優先級中斷,從而實現二級嵌套。專用寄存器IP為中斷優先級寄存器,鎖存各中斷源優先級控制位。IP中的每一位均可由軟件來置1或清0,置1表示高優先級,清0表示低優先級。其格式如下:IP(1)IP.4(PS):串行口中斷優先級控制位。(2)IP.3(PT1):定時器T1中斷優先級控制位。(3)IP.2(PX1):外部中斷1中斷優先級控制位。(4)IP.1(PT0):定時器T0中斷優先級控制位。(5)IP.0(PX0):外部中斷0中斷優先級控制位。---PSPT1PX1PT0PX0(四)串行中斷控制?SCON寄存器SCON是串行口控制寄存器,其低兩位TI和RI是鎖存串行口的發送中斷標志和接收中斷標志。其格式如下:

——————TIRISCON.1(TI):串行口發送中斷標志。SCON.0(RI):串行接收中斷標志。中斷源自然優先級順序當系統復位后,IP低5位全部清0,所有中斷源均設定為低優先級中斷。如果幾個同一優先級的中斷源同時向CPU申請中斷,CPU通過內部硬件查詢邏輯,按自然優先級順序確定先響應哪個中斷請求。自然優先級由硬件形成,見下表8.1。中斷源同級自然優先級外部中斷0先定時器T0中斷外部中斷1定時器T1中斷串行口中斷后三、中斷處理過程中斷處理過程可分為:中斷請求、中斷響應、中斷服務和中斷返回。1.中斷請求與響應中斷條件在單片機執行某一程序過程中,若發現有中斷請求(相應中斷請求標志位為1),CPU將根據具體情況決定是否響應中斷,這主要由中斷允許寄存器來控制:(1)中斷總允許位EA=1。(2)申請中斷的中斷源允許。滿足以上基本條件,CPU一般會響應中斷。2.中斷響應若中斷請求符合響應條件,則CPU將響應中斷請求。中斷響應過程就是自動調用并執行中斷函數的過程。C51編譯器支持在C源程序中直接以函數形式編寫中斷服務程序。

常用的中斷函數的定義形式如下: void函數名()interruptn

其中n為中斷類型號,C51編譯器允許0~31個中斷,n的取值范圍為0~31。5個中斷源所對應的中斷類型號和中斷服務程序的入口地址。中斷源中斷類型號n入口地址外部中斷000003H定時器T0中斷1000BH外部中斷120013H定時器T1中斷3001BH串行口中斷40023H硬件電路設計聲光報警電路

聲光報警電路由發光二極管、三極管和蜂鳴器組成;蜂鳴器按驅動方式可分為有源蜂鳴器(內含驅動線路)和無源蜂鳴器(外部驅動)。這里的“源”指的是振蕩源。無源蜂鳴器內部沒有振蕩源,只有給它一定頻率的方波信號,才能讓蜂鳴器的振動裝置起振,從而實現發聲;同時,輸入的方波頻率不同,發出的聲音也不同。有源蜂鳴器則不需要外部的振蕩源,只需要接入直流電源,即可自動發出聲音(聲音頻率相對固定)。在Proteus仿真工具中,SOUNDER模型為無源蜂鳴器,BUZZER為有源蜂鳴器。軟件設計主程序主要完成對外部中斷1進行初始化,對相關的特殊功能寄存器進行初始化設置。開放總中斷開始設置外部中斷1的觸發信號類型:邊緣觸發方式允許外部中斷1中斷等待外部中斷1主程序設計流程圖中斷服務程序CPU響應了外部中斷1的中斷請求后轉至中斷服務程序執行。其主要功能就是將P3.0輸出高電平、延時,再輸出低電平、再延時;從而實現P3.5口線輸出音頻信號驅動蜂鳴器報警。中斷是通過硬件來改變CPU的運行方向。計算機在執行程序的過程中,外部設備向CPU發出中斷請求信號,要求CPU暫時中斷當前程序的執行而轉去執行相應的處理程序,待處理程序執行完畢后,再繼續執行原來被中斷的程序。這種程序在執行過程中由于外界的原因而被中間打斷的情況稱為“中斷”。MCS-51系列單片機有5個中斷源,分別為外部中斷0請求、外部中斷1請求、T0溢出中斷請求TF0、T1溢出中斷請求TF1和串行口中斷請求RI或TI。常用的中斷函數的定義形式如下: void函數名()interruptn中斷源中斷類型號n外部中斷00定時器T0中斷1外部中斷12定時器T1中斷3串行口中斷4用中斷技術實現滿足急救車優先通過要求的十字路口交通燈系統設計。項目8數字式轉速表設計與制作素質目標1.激發學生的民族自信,培養節約意識和科技創新意識。2.培養學生自主學習及團隊協作意識,提高學生合作探究解決問題的能力。3.培養學生的代碼編寫規范、勇于實踐的勞動精神和精益求精的工匠精神。4.培養學生時間管理的意識。知識目標理解定時計數器的基本原理和工作方式。掌握定時計數器的配置和編程方法。理解定時器中斷的概念和處理方法。了解計時精度和誤差的影響因素。能力目標能夠根據需求配置和編程定時計數器。能夠設計和實現基于定時計數器的時間相關功能。能夠處理定時器中斷并編寫相應的中斷服務程序。能夠評估和優化定時器的計時精度。設計要求:

以C51單片機為主控芯片,設計一款數字式轉速表。采用OLED顯示屏實時顯示轉盤的轉速,測速范圍0-9999轉/分鐘。數字式轉速表設計與制作理解兩種“工作模式”

-----“定時”&“計數”共同點:都是對脈沖加1計數不同點:定時---對內部機器脈沖計數計數----對外部脈沖計數

t=T*n脈沖數定時時間周期設定的加入量量筒加水的過程類比說明定時/計數過程最大值80ml定時:初始值35ml量筒加水的過程類比說明定時過程設定初值15536工作方式1時,16位計數器最大值65535,滿時“溢出”計50000次50ms給寄存器TH0、TL0賦值TH0=0x3C;TL0=0xB0;量筒加水的過程類比說明計數過程讀取當前的計數值設定計數初值一、定時/計數器的結構MCS-51單片機內部有兩個16位的可編程定時器/計數器,稱為定時器0(T0)和定時器1(T1),可以通過編程選擇其作為定時器使用或作為計數器使用。此外,工作方式、定時時間、計數值、啟動、中斷請求等都可以由程序設定,其邏輯結構如圖所示。定時/計數器邏輯結構圖1、定時/計數器的工作模式

“定時/計數器”有兩種工作模式,一種是定時模式,一種是計數模式。作為定時器時,是以內部機器周期的脈沖作為基準脈沖,通過計基準脈沖的數量來實現定時功能;作為計數器時,是對芯片引腳T0(P3.4)或T1(P3.5)上的輸入脈沖進行計數,利用外部脈沖的下降沿觸發計數,每輸入一個脈沖,加法計數器加1,且外部脈沖的最高頻率不能超過時鐘頻率的1/24。TMOD是定時/計數器的工作方式寄存器,其地址為89H,格式如圖。方式寄存器TMOD2、方式寄存器TMOD(TimerModen)掌握四種“工作方式”,見表M1M0工作方式功能說明00方式013位計數器01方式116位計數器10方式2初值自動重載8位計數器11方式3T0:分為兩個8位計數器;T1:停止計數表

四種工作方式注:應先以工作方式1為例,掌握其用法,其他幾種方式可類推!00000001

TMOD=0x01;例:定義定時器T0、T1工作方式(TMOD),要求:

T1純軟件啟動,工作于定時模式,工作方式為方式0;

T0純軟件啟動,工作于定時模式,工作方式為方式1。方式寄存器TMODTCON用于控制定時器的啟動、停止、標識定時器的溢出和中斷情況,其格式如圖。

控制寄存器TCON溢出中斷標志位??3、控制寄存器TCON(Timercontroler)

二、定時/計數器的工作方式

首先,以T0為例,理解掌握工作方式1的應用。============================================

主要從以下幾個寄存器的設置入手:

TMOD-------------------------------用于工作模式的設置

TH0,TL0----------------------------存儲定時/計數值

TR0(TCON的D4位)----------開始/停止位

TF0(TCON的D5位)-----------”溢出”標志位1.工作方式0-----13位定時/計數方式工作方式0邏輯電路結構1.工作方式0-----13位定時/計數方式難點:13位初值的設置

例如:需要定時1ms,則計數次數為1ms/1us=1000次。那么T0的初值應設為X=M-計數值=8192-1000=7192=1c18H=0001110000011000B由于13位定時器中,TL0的高3位未使用,填寫0,TH0占高8位,所以實際得到的初值X=1110000000011000B=e018H,語句表達為:TH0=0xe0;TL0=0x18;如圖所示:13位初值的設置

方式0的初值設定2.工作方式1-----16位定時/計數方式工作方式1邏輯電路結構16位初值的設置

例如:需要定時50ms,則計數次數為1ms/1us=50000次。那么T0的初值應設為X=M-計數值=65536-50000=15536=3CB0H=0011110010110000B。由于采用16定時器,直接設置X=3CB0H。用語句表達,分配到高8位的TH0和低8位的TL0,寫為:TH0=0x3c;TL0=0xB0;3.工作方式2-----8位自動重載初值方式工作方式2邏輯電路結構4.工作方式3工作方式3邏輯電路結構三.定時/計數器的使用1、單片機的定時/計數可以采用查詢方式或者中斷方式來實現。2、初始化程序:由于定時/計數器的功能是由軟件編程確定的,所以,在使用定時器/計數前必須對其進行初始化。初始化驟如下:

(1)確定工作方式——對TMOD賦值。如賦值語句為:TMOD=0x10;表明定時器1工作在方式1,且工作在定時器方式。

(2)預置定時或計數的初值——直接將初值寫入TH0、TL0或TH1、TL1。定時/計數器的初值因工作方式的不同而不同。假設最大計數值為M,則各種工作方式下的M值如下方式0:213=8192

方式1:216=65536

方式2:28=256

方式3:定時器0分成兩個8位計數器,所以兩個定時器的M值均為256。由于定時器/計數器工作的實質是做“加1”計數,所以,當最大計數值M值已知時,初值X可計算如下:

X=M—計數值

(3)根據需要開啟定時器/計數器中斷——可以直接對IE寄存器賦值。

(4)啟動定時器/計數器工作——將TR0或TR1置“1”。

GATE=0時,直接由軟件置位啟動;GATE=1時,除軟件置位外,還必須在外中斷引腳處加上相應的電平值才能啟動。操作為:TR1=1。練習1:分別采用查詢法和中斷法,利用定時器T0,寫出10ms延時的子程序voiddelay(){/*******一:工作模式設置TMOD=0x01;//對T0而言,純軟件啟動、定時模式,工作方式1/********二、賦予初值*********/TH0=0x3c;TL0=0xbo;/********三、開始定時***********TR0=1;//啟動計數器/*******四、用查詢法查看定時器溢出否***/while(TF0==0);//查詢TF0=0?}/********查詢法實現50ms延時*********/中斷法初始化程序段:

{…

/*******一:工作模式設置/*******/TMOD=0x01;//對T0而言,純軟件啟動、定時模式,工作方式1/********二、賦予初值*********/TH0=0x3c;TL0=0xb0;

/*******三、開啟總中斷及定時中斷***/EA=1;ET0=1;/********三、開始定時***********TR0=1;//啟動計數器

溫馨提示

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

評論

0/150

提交評論