單片機(jī)中斷源 一、一般而言,MCS-51單片機(jī)有5個(gè)中斷源,分別是: 1、外部中斷0; 2、外部中斷1; 3、定時(shí)/計(jì)數(shù)器0中斷; 4、定時(shí)/計(jì)數(shù)器1中斷; 5、串行口發(fā)送或接受中斷; 1)用到外部中斷時(shí): EX0 = 1;//中斷允許開關(guān) IT0 = 0;//下降沿觸發(fā)方式 EA = 1;//總開關(guān) 2)用到定時(shí)/計(jì)數(shù)器中斷時(shí) ET0 = 1;//啟動計(jì)數(shù)器中斷開關(guān) EA = 1;//總開關(guān) //定時(shí)器的核心在這下面這段代碼 TMOD = 0x09; TH0 = 0x0D8; TL0 = 0x0F0; TR0 = 1;//啟動定時(shí)器 3)用到串口中斷時(shí) EX1 = 1;//外部中斷1分開關(guān) IT1 = 1;//觸發(fā)方式:下降沿 PX1 = 1;//設(shè)置為高優(yōu)先級 //步驟一:波特率配置,由定時(shí)器1的益處率決定 TMOD = 0x20;//0010 0000 = 0x20,定時(shí)器1設(shè)置為工作方式2,8位自動裝載的定時(shí)器 TH1 = 0xF4;//初值 TL1 = 0xF4;//波特率4800 ET1 = 1;//定時(shí)器1允許分開關(guān) TR1 = 1;//啟動定時(shí) //設(shè)置串口工作方式 SCON = 0x50;//等同于TMOD,方式一,允許接收 0101 0000 //PCON = 0x00; //TI = 0;發(fā)送中斷標(biāo)志位 //RI = 0;接收中斷標(biāo)志位 ES = 1;//IE寄存器第四位,串口中斷允許位 EA = 1;//外部中斷總開關(guān) 二、 1、中斷允許寄存器IETimeInterrupt 2、定時(shí)器控制寄存器TCON 8位寄存器 3、中斷優(yōu)先級寄存器IP(不常用) 4、定時(shí)器方式寄存器TMOD 5、串行口控制寄存器SCON 中斷允許寄存器IE (EX中斷 、ET定時(shí)器/計(jì)數(shù)器) 位7 位6 位5 位4 位3 位2 位1 位0 EA ES ET1 EX1 ET0 EX0 EX0: 中斷0中斷允許位。1為允許,0否則相反。 EX1: 中斷1中斷允許位。1為允許,0否則相反。 ET0:定時(shí)器/計(jì)數(shù)器0中斷允許位。1為允許,0否則相反。 ET1:定時(shí)器/計(jì)數(shù)器1中斷允許位。1為允許,0否則相反。 ES:串口中斷允許位 EA:總開關(guān) (如果定時(shí)器工作在中斷方式下,則當(dāng)定時(shí)器的當(dāng)前值計(jì)滿溢出時(shí),就會觸發(fā)定時(shí)器溢出中斷) 器控制寄存器TCON(低4位用作外部中斷,高4位用作定時(shí)) IT0:外部中斷0觸發(fā)方式。1為低電平,0為下降沿信號。 IT1:外部中斷1觸發(fā)方式。1為低電平,0為下降沿信號。 IE0:外部中斷0請求標(biāo)志位。IE0=1,有中斷請求,0則沒有。 IE1:外部中斷1請求標(biāo)志位。IE0=1,有中斷請求,0則沒有。 TR0:定時(shí)器/計(jì)數(shù)器0啟動停止。1為啟動,0為停止。 TR1:定時(shí)器/計(jì)數(shù)器1啟動停止。1為啟動,0為停止。 TF0:定時(shí)器/計(jì)數(shù)器標(biāo)志位。1為溢出,0則沒有溢出。 TF1:定時(shí)器/計(jì)數(shù)器標(biāo)志位。1為溢出,0則沒有溢出。 中斷優(yōu)先級寄存器IP(不常用) PX0:外部中斷0 PX1:外部中斷1 PT0:定時(shí)器/計(jì)數(shù)器0中斷 PT1:定時(shí)器/計(jì)數(shù)器1中斷 PS:串口中斷 定時(shí)器方式寄存器TMOD 位7 位6 位5 位4 位3 位2 位1 位0 GATE C/T M1 M0 GATE C/T M1 M0 T1方式 T0方式 工作方式選擇表 M1 M0 方式 說明 0 0 0 13位定時(shí)器/計(jì)數(shù)器,TL存放低5位,TH存放高八位 0 1 1 16位定時(shí)器/計(jì)數(shù)器 1 0 2 初值自動裝載的8位定時(shí)器/計(jì)數(shù)器 1 1 3 (不重要) GATE:門控制位,相當(dāng)于總開關(guān) C/T:0定時(shí)器 1計(jì)數(shù)器 5、串行口控制寄存器SCON 位7 位6 位5 位4 位3 位2 位1 位0 SM0 SM1 SM2 REN TB8 RB8 TI RI SM0 SM 1 組合選擇位 串行口方式選擇 SM0 SM1 方式 說明 波特率 0 0 0 8位全部數(shù)據(jù)發(fā)送 fosc/12 0 1 1 10位數(shù)據(jù)發(fā)送,包括起始位,停止位 可變 1 0 2 11位數(shù)據(jù)發(fā)送,包括起始位,停止位 ,校驗(yàn)位 fosc/64 1 1 3 同方式2 SM2 多機(jī)通信使能位 REN:串口數(shù)據(jù)接收允許位 1允許,0禁止。該位有軟件置位或清0 TB8:在方式2和方式3中,這位發(fā)送的是第9位,就是校驗(yàn)位。 RB8:在方式2和方式3中,這位發(fā)送的是第9位,就是校驗(yàn)位。 TI:發(fā)送中斷標(biāo)志位 ,用完時(shí)要用軟件清0 RI:接受中斷標(biāo)志位,用完時(shí)要用軟件清0 嵌入式時(shí)代已經(jīng)來了,不要糾結(jié)要不要踏入嵌入式的領(lǐng)域了,以下課程可免費(fèi)試聽C語言、電子、PCB、STM32、Linux、FPGA、Python、安卓等。 想要了解更多關(guān)于嵌入式方面的內(nèi)容聯(lián)系宋工QQ3524659088 Tel/VX17317951908 |