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