單片機中斷源 一、一般而言,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 |