单片机三种中断
1.外部中断
2.定时中断
3.串行口中断
中断概念:CPU暂停当前工作A,转去处理其他工作B,处理完毕再回到中断处继续工作A。
52单片机中断优先级
中断源 | 序号(C语言用) |
---|---|
INT0 | 外部中断0 |
T0 | 定时器/计数器0中断 |
INT1 | 外部中断1 |
T1 | 定时器/计数器1中断 |
T1/RI | 串行口中断 |
T2 | 定时器/计数器2中断 |
C51的中断函数格式
void 函数名() interrupt 中断号 using 工作组
{
//中断服务程序内容
}
void T1_time() interrupt 3
{
TH1 = (65536-10000)/256;
TL1 = (65536-10000)%256;
}
外部中断程序示例
使用数码管显示学号,按键中断显示,执行中断函数,让LED灯亮。
#include <reg52.h>
#include <intrins.h>
#define uchar unsigned char
#define uint unsigned int
sbit dula=P2^6;
sbit wela=P2^7;
sbit s20=P3^7;
uchar a = 0xfe;
uchar code table[]={
0x3f, 0x4f</