C51中斷的學習.ppt_第1頁
C51中斷的學習.ppt_第2頁
C51中斷的學習.ppt_第3頁
C51中斷的學習.ppt_第4頁
C51中斷的學習.ppt_第5頁
免費預覽已結(jié)束,剩余27頁可下載查看

下載本文檔

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

文檔簡介

1、單片機學習,C51的介紹,C語言是一種編譯型程序設計語言,它兼顧了多種高級語言的特點,并具備匯編語言的功能。目前,使用C語言進行程序設計已經(jīng)成為軟件開發(fā)的一個主流。用C語言開發(fā)系統(tǒng)可以大大縮短開發(fā)周期,明顯增強程序的可讀性,便于改進、擴充和移植。而針對8051的C語言日趨成熟,成為了專業(yè)化的實用高級語言。,C51的特點,C語言作為一種非常方便的語言而得到廣泛的支持,很多硬件開發(fā)都用C語言編程,如:各種單片機、DSP、ARM等. C語言程序本身不依賴于機器硬件系統(tǒng),基本上不作修改就可將程序從不同的單片機中移植過來。 C提供了很多數(shù)學函數(shù)并支持浮點運算,開發(fā)效率高,故可縮短開發(fā)時間,增加程序可讀性

2、和可維護性。,學習的主要內(nèi)容,LED發(fā)光管的工作原理 簡單延時程序的介紹 動靜態(tài)數(shù)碼管的顯示 中斷控制 總結(jié)練習,1、LED發(fā)光管的工作原理,編程函數(shù)的介紹,Main 函數(shù)格式:void main()特點:無返回值,無參。任何一個C程序有且僅有一個main函數(shù),它是整個程序開始執(zhí)行的入口。例:void main() 總程序從這里開始執(zhí)行; 其他語句; ,LED發(fā)光管發(fā)光程序,#include sbit d1=P13; Void main( ) d1=0; ,2、簡單的延時程序,For (表達式1;表達式2;表達式3) 語句(內(nèi)部可為空)執(zhí)行過程:1.求解一次表達式1.2.求解表達式2,若其值為

3、真(非0 即為真),則執(zhí)行for中語句。然后執(zhí)行第3步。否則結(jié)束for 語句,直接跳出,不再執(zhí)行第3步。3.求解表達式3.4.跳到第2步重復執(zhí)行。,While循環(huán),While (表達式)語句(內(nèi)部也可為空)特點:先判斷表達式,后執(zhí)行語句。原則:若表達式不是0,即為真,那么執(zhí)行語句。否則跳出while 語句。,流水燈程序的編寫,3、動靜態(tài)數(shù)碼管的顯示,使用LED顯示器時,要注意區(qū)分這兩種不同的接法。為了顯示數(shù)字或字符,必須對數(shù)字或字符進行編碼。七段數(shù)碼管加上一個小數(shù)點,共計8段。因此為LED顯示器提供的編碼正好是一個字節(jié)。本實驗板用共陽LED顯示器,根據(jù)電路連接圖顯示16進制數(shù)的編碼已列在下表。

4、,共陽極數(shù)碼管碼表,0 xc0 , 0 xf9 , 0 xa4 , 0 xb0 , 0 x99 , 0 x92, 0 1 2 3 4 5 0 x82 , 0 xf8 , 0 x80 , 0 x90 , 0 x88 , 0 x83, 67 8 9 A B 0 xc6 , 0 xa1 , 0 x86 , 0 x8e C D E F,LED數(shù)碼顯示方式及電路,靜態(tài)顯示方式 LED顯示器工作方式有兩種:靜態(tài)顯示方式和動態(tài)顯示方式。靜態(tài)顯示的特點是每個數(shù)碼管的段選必須接一個8位數(shù)據(jù)線來保持顯示的字形碼。當送入一次字形碼后,顯示字形可一直保持,直到送入新字形碼為止。這種方法的優(yōu)點是占用CPU時間少,顯示便

5、于監(jiān)測和控制。缺點是硬件電路比較復雜,成本較高。,動態(tài)顯示,動態(tài)顯示的特點是將所有位數(shù)碼管的段選線并聯(lián)在一起,由位選線控制是哪一位數(shù)碼管有效。選亮數(shù)碼管采用動態(tài)掃描顯示。所謂動態(tài)掃描顯示即輪流向各位數(shù)碼管送出字形碼和相應的位選,利用發(fā)光管的余輝和人眼視覺暫留作用,使人的感覺好像各位數(shù)碼管同時都在顯示。動態(tài)顯示的亮度比靜態(tài)顯示要差一些,所以在選擇限流電阻時應略小于靜態(tài)顯示電路中的。,4.中斷控制,80C51的中斷系統(tǒng)結(jié)構(gòu) 一、中斷的概念 CPU在處理某一事件A時,發(fā)生了另一事件B請求CPU迅速去處理(中斷發(fā)生); CPU暫時中斷當前的工作,轉(zhuǎn)去處理事件B(中斷響應和中斷服務); 待CPU將事件B

6、處理完畢后,再回到原來事件A被中斷的地方繼續(xù)處理事件A(中斷返回),這一過程稱為中斷 。,引起CPU中斷的根源,稱為中斷源。中斷源向CPU提出的中斷請求。CPU暫時中斷原來的事務A,轉(zhuǎn)去處理事件B。對事件B處理完畢后,再回到原來被中斷的地方(即斷點),稱為中斷返回。實現(xiàn)上述中斷功能的部件稱為中斷系統(tǒng)(中斷機構(gòu))。,隨著計算機技術的應用,人們發(fā)現(xiàn)中斷技術不僅解決了快速主機與慢速I/O設備的數(shù)據(jù)傳送問題,而且還具有如下優(yōu)點:分時操作 CPU可以分時為多個I/O設備服務,提高了計算機的利用率;實時響應 CPU能夠及時處理應用系統(tǒng)的隨機事件,系統(tǒng)的實時性大大增強;可靠性高 CPU具有處理設備故障及掉電

7、等突發(fā)性事件能力,從而使系統(tǒng)可靠性提高。,二、80C51中斷系統(tǒng)的結(jié)構(gòu) 80C51的中斷系統(tǒng)有5個中斷源(8052有6個) ,2個優(yōu)先級,可實現(xiàn)二級中斷嵌套 。,三、 80C51中斷的控制 中斷允許控制 CPU對中斷系統(tǒng)所有中斷以及某個中斷源的開放和屏蔽是由中斷允許寄存器IE控制的。,EX0(IE.0),外部中斷0允許位; ET0(IE.1),定時/計數(shù)器T0中斷允許位; EX1(IE.2),外部中斷0允許位; ET1(IE.3),定時/計數(shù)器T1中斷允許位; ES(IE.4),串行口中斷允許位; EA (IE.7), CPU中斷允許(總允許)位。,同一優(yōu)先級中的中斷申請不止一個時,則有中斷優(yōu)

8、先權排隊問題。同一優(yōu)先級的中斷優(yōu)先權排隊,由中斷系統(tǒng)硬件確定的自然優(yōu)先級形成,其排列如所示:,中斷響應條件:,中斷源有中斷請求; 此中斷源的中斷允許位為1; CPU開中斷(即EA=1)。 以上三條同時滿足時,CPU才有可能響應中斷。,四、定時器,實現(xiàn)定時功能,比較方便的辦法是利用單片機內(nèi)部 的定時/計數(shù)器。也可以采用下面三種方法: 軟件定時:軟件定時不占用硬件資源,但占用了CPU時 間,降低了CPU的利用率。 采用時基電路定時:例如采用555電路,外接必要的元器 件(電阻和電容),即可構(gòu)成硬件定時電路。但在硬件連接好 以后,定時值與定時范圍不能由軟件進行控制和修改,即不可 編程。 采用可編程芯

9、片定時:這種定時芯片的定時值及定時范圍 很容易用軟件來確定和修改,此種芯片定時功能強,使用靈 活。在單片機的定時/計數(shù)器不夠用時,可以考慮進行擴展。,(1)定時/計數(shù)器的結(jié)構(gòu)和工作原理,定時/計數(shù)器的結(jié)構(gòu) 定時/計數(shù)器的實質(zhì)是加1計數(shù)器(16位),由高8位和低8位兩個寄存器組成。TMOD是定時/計數(shù)器的工作方式寄存器,確定工作方式和功能;TCON是控制寄存器,控制T0、T1的啟動和停止及設置溢出標志。,(2)定時/計數(shù)器的工作原理,加1計數(shù)器輸入的計數(shù)脈沖有兩個來源,一個是由系統(tǒng)的時鐘振蕩器輸出脈沖經(jīng)12分頻后送來;一個是T0或T1引腳輸入的外部脈沖源。每來一個脈沖計數(shù)器加1,當加到計數(shù)器為全

10、1時,再輸入一個脈沖就使計數(shù)器回零,且計數(shù)器的溢出使TCON中TF0或TF1置1,向CPU發(fā)出中斷請求(定時/計數(shù)器中斷允許時)。如果定時/計數(shù)器工作于定時模式,則表示定時時間已到;如果工作于計數(shù)模式,則表示計數(shù)值已滿。 可見,由溢出時計數(shù)器的值減去計數(shù)初值才是加1計數(shù)器的計數(shù)值。 設置為定時器模式時,加1計數(shù)器是對內(nèi)部機器周期計數(shù)(1個機器周期等于12個振蕩周期,即計數(shù)頻率為晶振頻率的1/12)。計數(shù)值N乘以機器周期Tcy就是定時時間t 。,(3)定時/計數(shù)器的控制 80C51單片機定時/計數(shù)器的工作由兩個特殊功能寄存器控制。TMOD用于設置其工作方式;TCON用于控制其啟動和中斷申請。工作

11、方式寄存器TMOD 工作方式寄存器TMOD用于設置定時/計數(shù)器的工作方式,低四位用于T0,高四位用于T1。其格式如下:,GATE:門控位。GATE0時,只要用軟件使TCON中的TR0或TR1為1,就可以啟動定時/計數(shù)器工作;GATA1時,要用軟件使TR0或TR1為1,同時外部中斷引腳或也為高電平時,才能啟動定時/計數(shù)器工作。即此時定時器的啟動多了一條件。 :定時/計數(shù)模式選擇位。 0為定時模式; =1為計數(shù)模式。M1M0:工作方式設置位。定時/計數(shù)器有四種工作方式,由M1M0進行設置。,(4)控制寄存器TCON TCON的低4位用于控制外部中斷。TCON的高4位用于控制定時/計數(shù)器的啟動和中斷

12、申請。其格式如下:,TF1(TCON.7):T1溢出中斷請求標志位。T1計數(shù)溢出時由硬件自動置TF1為1。CPU響應中斷后TF1由硬件自動清0。T1工作時,CPU可隨時查詢TF1的狀態(tài)。所以,TF1可用作查詢測試的標志。TF1也可以用軟件置1或清0,同硬件置1或清0的效果一樣。 TR1(TCON.6):T1運行控制位。TR1置1時,T1開始工作;TR1置0時,T1停止工作。TR1由軟件置1或清0。所以,用軟件可控制定時/計數(shù)器的啟動與停止。 TF0(TCON.5):T0溢出中斷請求標志位,其功能與TF1類同。 TR0(TCON.4):T0運行控制位,其功能與TR1類同。,定時/計數(shù)器應用舉例 初始化程序

溫馨提示

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

評論

0/150

提交評論