国产午夜福利在线观看红一片,久久精品国产再热青青青,又硬又粗又大一区二区三区视频,中文字幕乱码免费,久久超碰97文字幕 ,中国精学生妹品射精久久

最新更新最新專題

您的位置:首頁 > ppt下載 > PPT課件 > 儀器設(shè)備PPT > 北航單片機基礎(chǔ)與應(yīng)用PPT

北航單片機基礎(chǔ)與應(yīng)用PPT下載

素材大。
391.50 KB
素材授權(quán):
免費下載
素材格式:
.ppt
素材上傳:
ppt
上傳時間:
2018-04-04
素材編號:
183430
素材類別:
儀器設(shè)備PPT

素材預(yù)覽

北航單片機基礎(chǔ)與應(yīng)用PPT

這是一個關(guān)于北航單片機基礎(chǔ)與應(yīng)用PPT,包括了中斷概述,80C51單片機的中斷系統(tǒng),80C51 單片機的定時器/計數(shù)器等內(nèi)容,單片機基礎(chǔ)(第3版)李廣弟等編著北京航空航天大學(xué)出版社 2007年6 月第5章 80C51單片機的中斷與定時 5.1 中斷概述當CPU正在處理某事件的時候,CPU暫時中止當前的工作,轉(zhuǎn)到中斷服務(wù)處理程序處理所請求的事件。處理完該事件后,再回到原來被中止的地方繼續(xù)原來的工作,這稱為中斷。中斷技術(shù)為計算機提供了資源共享。 5.2 80C51單片機的中斷系統(tǒng) 5.2.1 中斷源與中斷向量中斷源:產(chǎn)生中斷的請求源稱為中斷源。 80C51的中斷系統(tǒng)具有5個中斷源:2個外部中斷、2個定時器中斷、1個串行中斷。中斷向量:中斷服務(wù)程序的入口地址。 5.2.2 中斷控制中斷控制:提供給用戶使用的中斷控制手段 80C51單片機關(guān)于中斷的控制包括四項:中斷允許控制中斷請求控制中斷優(yōu)先控制外中斷觸發(fā)方式控制 涉及四個特殊功能寄存器中斷允許控制寄存器IE 定時器控制寄存器TCON 串行口控制寄存器SCON 中斷優(yōu)先級控制寄存器IP 1. 中斷允許控制寄存器IE 2. 定時器控制寄存器TCON 3. 串行口控制寄存器SCON 4. 中斷優(yōu)先級控制寄存器IP 【例】若允許外部中斷0和定時器1的中斷,外部中斷0采用脈沖觸發(fā)方式,并設(shè)置為高級中斷,其它中斷源為低級中斷,歡迎點擊下載北航單片機基礎(chǔ)與應(yīng)用PPT。

北航單片機基礎(chǔ)與應(yīng)用PPT是由紅軟PPT免費下載網(wǎng)推薦的一款儀器設(shè)備PPT類型的PowerPoint.

單片機基礎(chǔ)(第3版)李廣弟等編著北京航空航天大學(xué)出版社 2007年6 月第5章 80C51單片機的中斷與定時 5.1 中斷概述當CPU正在處理某事件的時候,CPU暫時中止當前的工作,轉(zhuǎn)到中斷服務(wù)處理程序處理所請求的事件。處理完該事件后,再回到原來被中止的地方繼續(xù)原來的工作,這稱為中斷。中斷技術(shù)為計算機提供了資源共享。 5.2 80C51單片機的中斷系統(tǒng) 5.2.1 中斷源與中斷向量中斷源:產(chǎn)生中斷的請求源稱為中斷源。 80C51的中斷系統(tǒng)具有5個中斷源:2個外部中斷、2個定時器中斷、1個串行中斷。中斷向量:中斷服務(wù)程序的入口地址。 5.2.2 中斷控制中斷控制:提供給用戶使用的中斷控制手段 80C51單片機關(guān)于中斷的控制包括四項:中斷允許控制中斷請求控制中斷優(yōu)先控制外中斷觸發(fā)方式控制 涉及四個特殊功能寄存器中斷允許控制寄存器IE 定時器控制寄存器TCON 串行口控制寄存器SCON 中斷優(yōu)先級控制寄存器IP 1. 中斷允許控制寄存器IE 2. 定時器控制寄存器TCON 3. 串行口控制寄存器SCON 4. 中斷優(yōu)先級控制寄存器IP 【例】若允許外部中斷0和定時器1的中斷,外部中斷0采用脈沖觸發(fā)方式,并設(shè)置為高級中斷,其它中斷源為低級中斷。 也可以寫為如下程序段: MOV IE, #89H MOV IP, #01H MOV TCON, #01H 在主程序中編寫如下程序段: SETB EA ;CPU開中斷 SETB EX0 ;允許外中斷0中斷 SETB ET1 ;允許定時器1中斷 SETB PX0 ;外中斷0為高級中斷 SETB IT0 ;外中斷0為脈沖觸發(fā)方式 5.2.3 中斷優(yōu)先級控制 1. 中斷優(yōu)先級定義原則 2. 中斷優(yōu)先原則在中斷響應(yīng)時的體現(xiàn)當高、低優(yōu)先級中斷請求同時出現(xiàn)時,高優(yōu)先級中斷請求被響應(yīng);如果同級的多個中斷請求同時出現(xiàn),則按CPU查詢次序確定哪個中斷請求被響應(yīng)。查詢次序是: 3. 中斷嵌套 80C51具有兩個優(yōu)先級,中斷嵌套只能一層,其原則是:高優(yōu)先級中斷請求可以打斷低優(yōu)先級的中斷服務(wù),進行中斷嵌套;同優(yōu)先級的中斷不能嵌套;低優(yōu)先級中斷請求不能對高優(yōu)先級的中斷進行嵌套。 5.2.4 中斷響應(yīng)過程 1. 外部中斷請求采樣每個機器周期的S5P2對INT0(P3.2)和INT1(P3.3)引腳進行采樣,采樣結(jié)果在TCON中的IE0、IE1位進行設(shè)置。 2. 中斷查詢 CPU每個機器周期的S6進行中斷查詢,逐個檢測TCON、SCON中六個中斷標志位的狀態(tài)。查詢按優(yōu)先級順序進行,即先高級、后低級。同級中斷按“外部中斷0定時器0中斷外部中斷1定時器1中斷串行中斷”。 3. 中斷響應(yīng)中斷響應(yīng)的主要內(nèi)容由硬件自動生成一條長調(diào)用指令“LCALL addr16”。中斷響應(yīng)的封鎖: ① 同級的或高級的中斷正在發(fā)生; ② 查詢中斷請求的機器周期不是當前指令的最后一個機器周期; ③ 當前指令是返回指令(RET、RETI)或訪問IE、IP的指令。這類指令執(zhí)行完還應(yīng)再執(zhí)行一條指令才能響應(yīng)中斷。 4. 中斷響應(yīng)的快慢中斷響應(yīng)的時間為3~8個機器周期。 5.2.5 中斷服務(wù)程序 1. 主程序中的中斷初始化 ORG 0000H AJMP MAIN ;系統(tǒng)復(fù)位后轉(zhuǎn)向主程序 ORG 0003H AJMP EXINT0 ;轉(zhuǎn)向外部中斷0服務(wù)程序 MAIN: MOV TCON, #01H ;脈沖觸發(fā)方式 MOV IE, #81H ;中斷開發(fā),外中斷0允許 MOV IP, #01H ;外中斷0為高優(yōu)先級 MOV SP, #03FH ;設(shè)置堆棧 ┇ EXINT0: ;外中斷0服務(wù)程序 ┇ 2. 中斷服務(wù)流程 ①現(xiàn)場保護和現(xiàn)場恢復(fù) ②關(guān)中斷和開中斷 ③中斷處理 ④中斷返回 用AT89S51的P1口接8個LED發(fā)光二極管,由P3.2(INT0)引腳接一消抖按鍵開關(guān)。開始接P1.0的LED亮,以后每按鍵一次引發(fā)一次中斷,則下一個LED亮。順序下移,且每次只一個LED亮,周而復(fù)始。請編制程序。 5.3 80C51 單片機的定時器/計數(shù)器 5.3.1 定時器/計數(shù)器的計數(shù)和定時功能 1. 計數(shù)功能 外部計數(shù)脈沖由T0(P3.4)和T1(P3.5)引腳引入。每個機器周期的S5P2拍節(jié)對計數(shù)脈輸入引腳進行采樣。計數(shù)脈沖負跳變有效,若前一機器周期采樣為高電平,后一機器周期采樣為低電平,即為一個計數(shù)脈沖。計數(shù)頻率不能高于振蕩脈沖頻率的1/24。 2. 定時功能 計數(shù)脈沖來自單片機內(nèi)部,每個機器周期計數(shù)一次。計數(shù)頻率為振蕩頻率的1/12。 5.3.2 用于定時器/計數(shù)器控制的寄存器 1. 定時器控制寄存器(TCON) 2. 定時器方式選擇寄存器(TMOD) 5.3.3 定時器工作方式0 1. 電路邏輯結(jié)構(gòu) 2. 啟停控制 3. 定時和計數(shù)范圍計數(shù)功能時,計數(shù)范圍是1~8192(213)。定時功能時,定時時間的計數(shù)公式為: (213—計數(shù)初值)×晶振周期×12 或 (213—計數(shù)初值)×機器周期 若晶振頻率為6MHz,則最小定時時間為: [213-(213-1)]×2us=2us 最大定時時間為: [213-0]×2us=16384us 4. 應(yīng)用舉例【例5.1】設(shè)單片機晶振頻率為6MHz,使用定時器1以方式0產(chǎn)生周期為500us的等寬方波連續(xù)脈沖,并由P1.0輸出。計算計數(shù)初值(213-X)×2us=250us 求解得:X=8067,表示為二進制為11111100 00011. 高8位放入TH1,即TH1=0FCH; 低5位放入TL1,即TL1=03H。 TMOD寄存器初始化 M1M0=00,C/T=0,GATE=0,則TMOD寄存器初始化為00H。參考程序: MOV TMOD, #00H ;設(shè)置T1為工作方式0 MOV TH1, #0FCH ;設(shè)置定時器初值 MOV TL1, #03H MOV IE, #00H ;禁止中斷 SETB TR1 ;啟動定時 LOOP: JBC TF1, LOOP1 ;查詢溢出標志 AJMP LOOP LOOP1: MOV TH1, #0FCH ;重置定時器初值 MOV TL1, #03H CPL P1.0 ;輸出取反 AJMP LOOP ;重復(fù)循環(huán) 5.3.4 定時器工作方式1 方式1為16位計數(shù)結(jié)構(gòu)的工作方式,計數(shù)器由寄存器TH0、TL0(或TH1、TL1)的全部共16位構(gòu)成T0(或T1)。計數(shù)功能時,計數(shù)范圍是1~65536(216)。定時功能時,定時時間的計數(shù)公式為: (216—計數(shù)初值)×晶振周期×12 或 (216—計數(shù)初值)×機器周期 若晶振頻率為6MHz,則最小定時時間為: [216-(216-1)]×2us=2us 最大定時時間為: [216-0]×2us=131072us≈131ms 【例】設(shè)單片機晶振頻率為6MHz,使用定時器1以方式1產(chǎn)生周期為100ms的等寬方波連續(xù)脈沖,并由P1.0輸出。計算計數(shù)初值(216-X)×2us=50 000us 求解得:X=40536,表示為二進制為9E58H。 高8位放入TH1,即TH1=9EH; 低8位放入TL1,即TL1=58H。 TMOD寄存器初始化 M1M0=01,C/T=0,GATE=0,則TMOD寄存器初始化為10H。參考程序: MOV TMOD, #10H ;設(shè)置T1為工作方式0 MOV TH1, #9EH ;設(shè)置定時器初值 MOV TL1, #58H MOV IE, #00H ;禁止中斷 SETB TR1 ;啟動定時 LOOP: JBC TF1, LOOP1 ;查詢溢出標志 AJMP LOOP LOOP1: MOV TH1, #9EH ;重置定時器初值 MOV TL1, #58H CPL P1.0 ;輸出取反 AJMP LOOP ;重復(fù)循環(huán) 5.3.5 定時器工作方式2 1. 電路邏輯結(jié)構(gòu) 2. 循環(huán)定時應(yīng)用 【例5.2】使用定時器0以工作方式2產(chǎn)生100us定時,在P1.0輸出周期為200us的連續(xù)正方波脈沖。已知晶振頻率為6MHz。計算計數(shù)初值(28-X)×2us=100us 求解得:X=206D=11001110B=0CEH. TH0和TL0分別存入0CEH,即TH0=TL0=0CEH。 TMOD寄存器初始化 M1M0=10,C/T=0,GATE=0,則TMOD寄存器初始化為02H。參考程序: MOV IE, #00H ;禁止中斷 MOV TMOD, #02H ;設(shè)置定時器0為方式2 MOV TH0, #0CEH ;保存計數(shù)初值 MOV TL0, #0CEH ;預(yù)置計數(shù)初值 SETB TR0 ;啟動定時 LOOP: JBC TF0, LOOP1 ;查詢計數(shù)溢出 AJMP LOOP LOOP1: CPL P1.0 ;輸出方波 AJMP LOOP ;重復(fù)循環(huán) 3. 循環(huán)計數(shù)應(yīng)用【例5.3】用定時器1以工作方式2實現(xiàn)計數(shù),每計100次進行累加器加1操作。按查詢方式編程。計算計數(shù)初值 28-100=156D=9CH,則TH1=TL1=9CH。 TMOD寄存器初始化 M1M0=10,C/T=1,GATE=0, 則TMOD=60H。參考程序: MOV IE, #00H ;禁止中斷 MOV TMOD, #60H ;設(shè)置定時器1為方式2 MOV TH1, #9CH ;保存計數(shù)初值 MOV TL1, #9CH ;預(yù)置計數(shù)初值 SETB TR1 ;啟動定時 DEL: JBC TF1, LOOP ;查詢計數(shù)溢出 AJMP DEL LOOP: INC A ;累加器加1 AJMP DEL ;重復(fù)循環(huán) 5.3.6 定時器工作方式3 1. 工作方式3下的定時器/計數(shù)器0 2. 當定時器0工作方式3下的定時器/計數(shù)器1 【例】假設(shè)系統(tǒng)時鐘為6MHz,編寫定時器T0產(chǎn)生1秒定時的程序。(1)T0工作方式的確定 定時時間較長,采用哪一種工作方式? 方式0最長可定時16.384ms; 方式1最長可定時131.072ms; 方式2最長可定時512s。 選方式1,每隔100ms中斷一次,中斷10次為1s。 (2)計算計數(shù)初值 因為:(216-X)×2us = 100 000us 所以:X=15536=3CB0H, 因此:TH0=3CH,TL0=0B0H (3)10次計數(shù)的實現(xiàn) 采用循環(huán)計數(shù)法。 4)程序設(shè)計(查詢方式) MAIN: MOV TMOD,#01H ;設(shè)T0工作在方式1 MOV TH0,#3CH ;給T0設(shè)初值 MOV TL0,#0B0H MOV B,#0AH ;設(shè)循環(huán)次數(shù)10次 SETB TR0 ;啟動T0 LOOP:JNB TF0,$ ;100ms定時是否到 CLR TF0 MOV TH0,#3CH ;重裝T0初值 MOV TL0,#0B0H DJNZ B,LOOP ;判斷T0定時溢出10次是否到 CLR TR0 SJMP $ 4)程序設(shè)計(中斷方式) ORG 0000H LJMP MAIN ;上電轉(zhuǎn)主程序入口MAIN ORG 000BH ;T0的中斷入口 MOV TH0,#3CH MOV TL0,#0B0H ;T0重裝初值 DJNZ B,LOOP ;判斷T0是否中斷10次 CLR TR0 ;1s定時時間到,停止T0工作 LOOP:RETI ORG 0030H MAIN: MOV TMOD,#01H ;設(shè)T0工作在方式1 MOV TH0,#3CH ;給T0設(shè)初值 MOV TL0,#0B0H MOV IE,#82H ;允許T0中斷 MOV B,#0AH ;設(shè)循環(huán)次數(shù)10次 SETB TR0 ;啟動T0 SJMP $ ;等待一次次中斷 【例】設(shè)MCS-51單片機系統(tǒng)時鐘頻率為6MHz,請編出利用定時/計數(shù)器T0在P1.0引腳上產(chǎn)生周期為2秒,占空比為50%的方波信號的程序。 1、主程序 任務(wù): 1)T0工作方式的設(shè)定: 選擇方式1(16位方式),最大定時131ms,本題擬定時時長為100ms。因此TMOD為01H。 2)定時常數(shù)的設(shè)定: X=216-100ms/2us =15536=3CB0H 即:TH0應(yīng)裝3CH,TL0應(yīng)裝0B0H。 3)中斷管理: 允許T0中斷,開放總中斷 即:IE應(yīng)裝10000010B。 4)啟動定時器T0: SETB TR0 5)設(shè)置軟件計數(shù)器初值:(如使用R7) 即R7應(yīng)裝0AH 6)動態(tài)停機:SJMP $ 主程序如下: MAIN:MOV TMOD,#01H;設(shè)定T0為方式1定時 MOV TH0,#3CH ;裝入定時常數(shù)高8位 MOV TL0,#0B0H;裝入定時常數(shù)低8位 MOV IE,#82H ;開放T0中斷 SETB TR0 ;啟動T0 MOV R7,#0AH ;設(shè)置軟件計數(shù)器 SJMP $ ;等待一次次中斷 2、中斷服務(wù)程序任務(wù): 1)恢復(fù)T0計數(shù)初值; 2)軟件計數(shù)器R7減1,并判斷是否為0。若為0時,則改變P1.0狀態(tài),并恢復(fù)R7初值,中斷返回;若不為0,則直接中斷返回。中斷服務(wù)程序如下: T0INT:MOV TH0,#3CH ;恢復(fù)定時常數(shù) MOV TL0,#0B0H DJNZ R7,NEXT CPL P1.0 MOV R7,#0AH ;重裝R7初值 NEXT:RETI ORG 0000H AJMP MAIN ORG 000BH AJMP T0INT ORG 0030H MAIN: MOV TMOD, #01H;設(shè)定T0為方式1定時 MOV TH0, #3CH ;裝入定時常數(shù)高8位 MOV TL0, #0B0H ;裝入定時常數(shù)低8位 MOV IE, #82H ;開放T0中斷 SETB TR0 ;啟動T0 MOV R7, #0AH ;設(shè)置軟件計數(shù)器 SJMP $ T0INT:MOV TH0, #3CH ;恢復(fù)定時常數(shù) MOV TL0, #0B0H DJNZ R7, NEXT CPL P1.0 MOV R7, #0AH NEXT:RETI END 例:已知8051單片機的fosc=6MHz, 請利用T0和P1.0輸出矩形波。矩形波高電平寬50μs,低電平寬200μs。采用查詢方式編程實現(xiàn)。 例:已知8051單片機的fosc=6MHz, 請利用T0和P1.0輸出矩形波。矩形波高電平寬50μs,低電平寬200μs。采用中斷方式編程實現(xiàn)。 例:已知8051單片機fosc=12MHz, 用T1定時。試編程由P1.0和P1.1引腳分別輸出周期為 2ms和500μs的方波。采用查詢方式編程。 例:已知8051單片機fosc=12MHz, 用T1定時。試編程由P1.0和P1.1引腳分別輸出周期為 2ms和500μs的方波。采用中斷方式編程。 【例】以定時器1對外部外部事件計數(shù),每計數(shù)1000個脈沖后,定時器1轉(zhuǎn)為定時工作方式,定時10ms后,又轉(zhuǎn)為計數(shù)方式,如此循環(huán)不止。假定單片機晶振頻率為6MHz,請編程實現(xiàn)。 分析: 確定工作方式及初值定時器1計數(shù)時的工作方式設(shè)置:TMOD=50H 定時器1計數(shù)1000次的初值:TH1=0FCH,TL1=18H 定時器1定時時的工作方式設(shè)置:TMOD=10H 定時器1定時10ms的初值設(shè)置:TH1=0ECH,TL1=78H ORG 0H MAIN:MOV TMOD, #50H MOV TH1, #0FCH MOV TL1, #18H MOV IE, #88H SETB TR1 JNB TF1,$ CLR TF1 MOV TMOD, #10H MOV TH1, #0ECH MOV TL1, #78H JNB TF1,$ CLR TF1 SJMP MAIN END ORG 0H LJMP MAIN ORG 1BH MOV A, TMOD JB ACC.6, TM MOV TMOD, #50H MOV TH1, #0FCH MOV TL1, #18H RETI TM: MOV TMOD, #10H MOV TH1, #0ECH MOV TL1, #78H RETI MAIN: MOV TMOD, #50H MOV TH1, #0FCH MOV TL1, #18H MOV IE, #88H SETB TR1 SJMP $ END 【例】利用定時器T0確定P3.2引腳上出現(xiàn)的正脈沖的寬度,將檢測到的機器周期的個數(shù)存入30H、31H中(假定計數(shù)值小于216)。 參考程序: ORG 0000H MAIN:MOV TMOD, #01H MOV TL0, #00H MOV TH0, #00H CLR TR0 WAIT1:JNB P3.2, WAIT1 SETB TR0 WAIT2:JB P3.2, WAIT2 CLR TR0 MOV 30H, TL0 MOV 31H, TH0 SJMP $ END 作 業(yè)用中斷方式實現(xiàn)P115-[例5.3]。分別采用中斷方式和查詢方式,由定時器1定時產(chǎn)生一個50Hz的方波,并由P1.0輸出,fosc=12MHz。利用P1.0輸出周期為60ms的方波,在一個方波周期中高電平持續(xù)時間20ms,低電平持續(xù)時間40ms。系統(tǒng)晶振為12MHz。分別用中斷方式和查詢方式編程實現(xiàn)。 【P97-題1】把長度為10H的字符串從內(nèi)部RAM的輸入緩沖區(qū)inbuf向位于外部RAM的輸出緩沖區(qū)outbuf傳送,一直進行到遇見回車符CR或整個字符串傳送完畢,試編程實現(xiàn)。(請參考P83例題) 【P97-題2】內(nèi)部RAM從list單元開始存放一正數(shù)表,表中數(shù)作無序排列并以-1作結(jié)束標志。編程實現(xiàn)找出表中最小數(shù)。 MOV R0, #list MOV 30H, @R0 LOOP: INC R0 MOV A, @R0 CJNE A, #0FFH, NEQ SJMP $ NEQ: CJNE A, 30H, LK LK: JNC LOOP MOV 30H, A SJMP LOOP 【P97-題6】試編程實現(xiàn)比較兩個ASCII碼字符串是否相等。字符串的長度在內(nèi)部RAM 41H單元中,第一個字符串的首地址為42H,第二個字符串的首地址為52H。如果兩個字符串相等,則置內(nèi)部RAM 40H單元為00H;否則置內(nèi)部RAM 40H單元為0FFH。 【P97-題7】在外部RAM首地址為table的數(shù)據(jù)表中,有10個字節(jié)數(shù)據(jù),試編程實現(xiàn)將每個字節(jié)的最高位無條件置1。 MOV R7,#10 MOV DPTR,#table LOOP:MOVX A,@DPTR SETB ACC.7 MOVX @DPTR,A INC DPTR DJNZ R7,LOOP SJMP $BTD紅軟基地

PPT分類Classification

Copyright:2009-2024 紅軟網(wǎng) rsdown.cn 聯(lián)系郵箱:rsdown@163.com

湘ICP備2024053236號-1