3.單片機(jī)內(nèi)部功能及應(yīng)用介紹_第1頁
3.單片機(jī)內(nèi)部功能及應(yīng)用介紹_第2頁
3.單片機(jī)內(nèi)部功能及應(yīng)用介紹_第3頁
3.單片機(jī)內(nèi)部功能及應(yīng)用介紹_第4頁
3.單片機(jī)內(nèi)部功能及應(yīng)用介紹_第5頁
已閱讀5頁,還剩29頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、第三章 單片機(jī)內(nèi)部功能及應(yīng)用3.1定時/計數(shù)功能及應(yīng)用3.1.1 8051定時/計數(shù)器結(jié)構(gòu)和工作原理1、結(jié)構(gòu) TCON TMOD 初值主要設(shè)置三個寄存器TMOD是控制軟件啟動和外部端子硬件啟動。GATE=0 軟件啟動 GATE=1 硬件啟動設(shè)置工作方式 M1 M0 0 0 方式0 初值最大213 0 1 方式1 初值最大216只能用T0計數(shù)器 1 0 方式2 初值最大28兩個獨(dú)立計數(shù)器 1 1 方式3 初值最大28選擇內(nèi)部定時模式和外部計數(shù)模式的設(shè)定。C/T=0 定時器來使用 C/T=1計數(shù)器來使用* 方式2中計數(shù)器計數(shù)完后不用重新設(shè)定初值* 方式3中計數(shù)器計數(shù)完后必須重新設(shè)定初值* TMOD

2、是不能位控制,所以沒有位地址 只能是: MOV TMOD,#05HTCON是反映定時器/計數(shù)器溢出標(biāo)志TF1、TF0 TF1=0表示計數(shù)完后溢出定時器/計數(shù)器啟動/停止控制TR1、TR0 SETB TR0;表示開始計數(shù)/定時 CLR TR1;表示停止計數(shù)/定時計數(shù)器外部中斷觸發(fā)方式IT1、IT0=0;負(fù)緣響應(yīng)中斷(下降沿響應(yīng))IT1、IT0=0;底電平響應(yīng)中斷表示外部中斷響應(yīng)(應(yīng)答),外部端子來中斷時:當(dāng)INT1來了中斷時,置IE1=1,中斷子程序返回時,自動清位IE1=0當(dāng)INT0來了中斷時,置IE0=1,中斷子程序返回時,自動清位IE0=02 定時器/計數(shù)器的工作原理計數(shù)時從引腳P3.4(

3、T0)或P3.5(T1)輸入計數(shù)脈沖,下降沿計數(shù)器加一。定時時單片機(jī)的一個機(jī)器周期加一計(單片機(jī)時鐘周期的1/12)。利用 MOV TH,#30H 和 MOV TL,#50H 進(jìn)行定時/計數(shù)的初始值。當(dāng):初始值+剩余時間=滿值時,自動把TF1 (TF0)=1。也就是TH和TL中傳送剩余時間。滿值等于 8192(2000H) =213 65536(10000H)=216 256(100H) =283 定時器/計數(shù)器的初始值設(shè)定方法例1:當(dāng)P3.4引腳計數(shù)32個脈沖時,采用方式3進(jìn)行計數(shù),這時TL0中設(shè)置的初始值是: 256(100H)-32(20H)=224(0E0H)例2:當(dāng)利用定時器T1,定

4、時500mS時,采用方式0進(jìn)行定時時(時鐘頻率為12MHz時): 這時一個機(jī)器周期時間為1S,因此 8192(2000H)-5000(1388H)* 1S=3192(0C78H)因此, MOV TH1,#0CH MOV TL1,#78H4 定時器/計數(shù)器的程序設(shè)計方法 ORG0000HREST: LJMP STAR ;設(shè)定REST后程序進(jìn)入點(diǎn) ORG 000BH ;設(shè)定定時器0COUN: LJMP CONR; 中斷服務(wù)程序進(jìn)入點(diǎn) ORG 0030H ;程序開始于30H地址STAR: MOV SP,#50H;設(shè)定堆棧指針 MOV A,TMOD;設(shè)定GATE=0由TRO ANL A,#0F0H ;

5、控制計數(shù),C/T=0選計時 ORL A,#00H ;功能,MODE=方式0 MOV TMOD,A; MOV TH0,#1FH MOV TL0,FFH CLR TF0 SETB IE.1 SETB IE.7 MOV A,#FEH MOV P0,A RR A JMP L1CONR: PUSH A PUSH PSW SETB RS0 CLR IE.1 MOV TH0,1FH MOV TL0,FFH CJNE R0,#0, COUN MOV P1,#FFH MOV R0,#1 SETB IE.1 POP PSW POP A RETICOUN: MOV P1,#00H MOV R0,#00H SETB

6、IE.1POP PSW POP A RETI END 3.2 中斷控制功能及應(yīng)用3.2.1中斷的概念中斷:利用軟件和硬件配合,根據(jù)某種需要停止正在執(zhí)行的程序而轉(zhuǎn)向執(zhí)行另一專門程序,程序結(jié)束后返回到原斷開處,繼續(xù)執(zhí)行被中斷的程序,叫中斷。中斷服務(wù)程序:中斷后轉(zhuǎn)向執(zhí)行的專門程序(中斷處理程序,中斷子程序,中斷服務(wù)子程序)中斷源:能發(fā)出中斷請求信號的設(shè)備叫中斷源中斷服務(wù)程序的第一條指令叫中斷子程序首句,中斷子程序首句的地址叫中斷子程序首地址。中斷入口地址(矢量地址):是指引進(jìn)入某中斷源的中斷子程序首地址的指令的地址。中斷源: INT0 TO INT1 T1 串行中斷入口地址:0003H 000BH

7、0013H 001BH 0023H優(yōu)先級: 最高 最低中斷申請(中斷請求):中斷源向CPU發(fā)出的希望程序能轉(zhuǎn)向中斷服務(wù)程序的請求信號,某種中斷源的中斷請求標(biāo)志位為1表示其向CPU申請中斷。中斷允許和中斷禁止(關(guān)中斷):程序中需要在某中斷源發(fā)出中斷請求后,向CPU是否允許將主程序轉(zhuǎn)向該中斷源的中斷服務(wù)子程序加以控制;由中斷允許控制寄存器IE的相關(guān)位設(shè)定。中斷響應(yīng):主程序若遇到中斷源申請中斷,如符合轉(zhuǎn)移條件,CPU會對中斷源作出響應(yīng),撤消中斷請求,然后再轉(zhuǎn)向中斷子程序。斷點(diǎn):原程序被斷開的位置叫斷點(diǎn)。中斷返回:中斷服務(wù)程序的最后一句RETI,執(zhí)行完這一句后,程序返回到原程序中響應(yīng)中斷的那一條指令的

8、下一句執(zhí)行。斷點(diǎn)地址:原程序中發(fā)生中斷一句指令的下一句指令的地址(11)中斷過程:3.2.2中斷控制中斷控制有4個寄存器:中斷允許IE 中斷優(yōu)先級IP 中斷請求TCON 串行中斷SCON1、TCON寄存器的IE0,IE1,IT0,IT1位的作用講過2、IE中斷允許寄存器EA:當(dāng)EA=1時,CPU開放中斷,否則關(guān)中斷EX1:EX1=1時為允許外部中斷INT1中斷ET1:ET1=1時為允許定時器T1溢出中斷EX0:EX0=1時允許外部中斷INT0中斷ET0:ET0=1時時為允許定時器T0溢出中斷ES:ES=1時為允許串行口發(fā)送/接收中斷可以字節(jié)傳送,也可以位設(shè)置如:MOV IE,#81H(或 MO

9、V A8H,82H) SETB IE.7 (或 SETB AFH)3、中斷優(yōu)先級管理寄存器IPPX1,PX0:外部中斷源INT1和INT0優(yōu)先級位 PX1 PX0 1 0 INT1中斷優(yōu)先級高 0 1 INT0中斷優(yōu)先級高 0 0 兩個優(yōu)先級相同PT1,PT0:定時器/計數(shù)器溢出中斷優(yōu)先級 PT1 PT0 1 0 定時器/計數(shù)器T1溢出中斷優(yōu)先 0 1 定時器/計數(shù)器T0溢出中斷優(yōu)先 0 0 兩個優(yōu)先級相同PS:串行口發(fā)送/接收中斷優(yōu)先級 3.2.3中斷的處理過程中斷響應(yīng)中斷源發(fā)出中斷請求中斷允許IE寄存器中的總允許位EA=1IE寄存器中各中斷源ET、EX、ES的有關(guān)位置1本優(yōu)先級及高優(yōu)先級關(guān)

10、閉中斷處理過程關(guān)中斷 保護(hù)現(xiàn)場 開中斷 中斷服務(wù)關(guān)中斷 恢復(fù)現(xiàn)場 開中斷 中斷返回中斷返回執(zhí)行TETI指令后,清有關(guān)寄存器,然后斷點(diǎn)地址自動彈入指令指針PC3.2.4中斷應(yīng)用程序設(shè)計 ORG 0000H ;程序代碼的起始地址 AJMP MAIN ORG 0003H;外部中斷0中斷向量地址 AJMP IN0 ORG 13H ;外部中斷0中斷向量地址 AJMP IN1MAIN: MOV IE,#81H ; 允許INT0中斷 MOV TCON,#00H ;低電平觸發(fā) MOV SP,#30H ;將堆棧指針轉(zhuǎn)移到30HSTA: MOV A,#FEH ;端口P0循環(huán)輸出ROT: RR A MOV P0,A

11、 ACALL DELAY AJMP ROT ;等待來中斷DELAY: MOV R4,#00H ;延時子程序 DJNE R4,$ RETIN0: PUSH PSW ;中斷INT0服務(wù)程序 PUSH A SETB RS0 ;選擇寄存器Ri庫一 CLR RS1 MOV R0,#04H ;循環(huán)次數(shù)LOOP: MOV P0,#F0H ;由端口P0輸出 ACALL DELAY ;延時程序 MOV P0,#0FH ; DJNE R0,LOOP ; R0=0為止循環(huán) POP A ;恢復(fù)現(xiàn)場 POP PSW RETI ;子程序返回IN1: PUSH PSW ;INT1中斷服務(wù)子程序 PUSH A ;并保護(hù)現(xiàn)場

12、SETB RS1 ; ;選擇寄存器Ri庫二 CLR RS0 ; MOV R0,#04H ;LP1: MOV P1,#00H ACALL DELAY MOV P1,#EFH ACALL DELAY DJNE R0,LP1 POP A POP PSW RETI END3.3 串行通信功能及應(yīng)用3.3.1 串行通信的基本知識1.并行通信與串行通信 在實(shí)際應(yīng)用中,不但計算機(jī)與外部設(shè)備之間常常要進(jìn)行信息交換,而且計算機(jī)之間也需要交換信息,所有這些信息的交換均稱為“通信”。通信的基本方式分為并行通信和串行通信兩種 并行通信是構(gòu)成1組數(shù)據(jù)的各位同時進(jìn)行傳送,例如8位數(shù)據(jù)或16位數(shù)據(jù)并行傳送。 其特點(diǎn)是傳輸速

13、度快,但當(dāng)距離較遠(yuǎn)、位數(shù)又多時導(dǎo)致了通信線路復(fù)雜且成本高。 串行通信是數(shù)據(jù)一位接一位地順序傳送。其特點(diǎn)是通信線路簡單, 特別適用于遠(yuǎn)距離通信。 缺點(diǎn)是傳送速度慢。 圖3.2通信的兩種基本方式 (a)并行通信; (b)串行通信串行通信分為異步傳送和同步傳送兩種方式1)異步傳送方式 異步傳送的特點(diǎn)是數(shù)據(jù)在線路上的傳送不連續(xù)。在傳送時,數(shù)據(jù)是以一個字符為單位進(jìn)行傳送的。一個字符由起始位、數(shù)據(jù)位、奇偶校驗(yàn)位和停止位4個部分組成。起始位為0信號占1位;其后接著的就是數(shù)據(jù)位,它可以是5位、6位、7位或8位,傳送時低位在先、高位在后;再后面的1位為奇偶校驗(yàn)位,可要也可以不要;最后是停止位,它用信號1來表示字

14、符的結(jié)束,可以是1位、1位半或2位。 圖3.3 串行異步傳送的字符格式 (a)字符格式; (b)有空閑位的字符格式1、閑空狀態(tài) 2、起始位3、數(shù)據(jù)54、數(shù)據(jù)3(ASC碼符號5的值是35H)5、效驗(yàn)位 6、停止位 一個幀包括以上5個脈沖系列(3和4是數(shù)據(jù)),這是僅僅在串行通信中,不是網(wǎng)絡(luò)通信*協(xié)議:串行通信中協(xié)議包括以下內(nèi)容:1、脈沖寬度,也就是波特率2、幾個數(shù)據(jù)位,5位、6位、7位、8位當(dāng)中一個3、停止位格式4、脈沖電平電壓5、起始格式6、有沒有效驗(yàn)位?*波特率就是每秒鐘傳送的二進(jìn)制位數(shù),單位為位/秒。它與字符的傳送速率(字符/秒)之間存在如下關(guān)系:波特率=位/字符字符/秒=位/秒 例如,假設(shè)

15、字符傳送的速率為120字符/秒,而每1個字符為10位,那么傳送的波特率為10位/字符120字符/秒=1200位/秒=1200波特 每1位二進(jìn)制位的傳送時間Td就是波特率的倒數(shù),例如上例中 Td=1/1200=0.833ms2) 同步傳送在異步傳送中,每1個字符都要用起始位和停止位作為字符開始和結(jié)束的標(biāo)志,占用了一定的時間。圖3.4 同步傳送3.3.2 串行接口結(jié)構(gòu)1、主要設(shè)置的寄存器有:、數(shù)據(jù)緩沖器(SBUF)、串行控制寄存器(SCON)、電源控制寄存器(PCON)2、寄存器的設(shè)置數(shù)據(jù)緩沖器(SBUF)是: MOV SBUF,A;發(fā)送指令 MOV A,SBUF;接收指令 或 MOV 99H,A MOV A,99H串行控制寄存器(SCON)是用于串行通信方式的選擇和收發(fā)控制以及狀態(tài)指示,各位如下:SM1 SM0方式 波特率 0 0 0 8位同步移位寄存器方式 fosc/12 0 1 1 10位異步串行通信 必設(shè)置 1 0 2 11位異步串行通信 fosc/32(64) 1 1 3 11位異步串行通信 必設(shè)置SM2: 多機(jī)通信時的接收允許標(biāo)志位接收允許控制位REN(9CH):

溫馨提示

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

最新文檔

評論

0/150

提交評論