51单片机的中断

51单片机的中断

总序

51中断源分为两种类型,一类是外部中断源,其中包括INT0和INT1;另一类是内部终端源,包括两个定时器/计数器(T0和T1)的溢出中断(TF0和TF1)和串行口的发送/接收中断(TI/RI)。

特殊功能寄存器

51单片机有4个专用寄存器用于中断的控制,这四个寄存器分别为定时器/计数器控制寄存器(TCON)、串行口控制寄存器(SCON)、中断允许控制寄存器(IE)、中断优先级控制寄存器(IP)。

  1. 定时器/计数器控制寄存器
    RAM	88H
    TR0TR1用于定时器/计数器启动控制
    IT0IT1为外部中断请求信号方式控制位IT=1为脉冲触发(下降沿),IT=0为低有效电平触发
IT0=0  	//外部中断0的中断触发信号方式为脉冲方式
IT1=1	//外部中断1的中断触发信号方式为电平方式

IE0(IE1)为外部中断的请求标志位,当CPU检测到P3.2(P3.3)端有中断信号时,由硬件置位,使IE=1,请求中断中断程序响应后,根据不同中断触发方式,有不同的清除方式。
TF0(TF1)为定时器/计数器溢出标志位,中断程序执行后,由硬件自动清0。如果使用查询方式,此位作为状态位供查询,查询后需软件清0;

while(TF0==1)
{
TF0=0;
//
}

TR0(TR1)定时器/计数器运行控制位;
TR0(TR1)=0 时停止定时器/计数器工作
TR0(TR1)=1 时启动定时器/计数器工作。
该为需要用软件使其置1或清0

  1. 中断允许控制寄存器(IE)
    RAM	A8H
    EA 中断允许控制寄存器
    ES 串口中断允许位
    ET1(ET0) 定时器/计数器1(0)中断允许位
    EX1(EX0) 外部中断1(0)中断允许位
    3.中断优先控制寄存器(IP)
    RAM	B8H
    单片机由两个中断优先级:高级中断和低级中断
    PS 串口中断
    PT1(PT0) 定时器/计数器1(0)中断
    PT1(PT0) 外部中断1(0)中断
PT1=1;		//设置定时器/计数器1中断位高级中断
PS=0;		//设置串口中断位低级中断
  1. 串口控制寄存器(SCON)
    RAM 98H
    其中高6位位串口控制,将在串口部分介绍。
    TI 串口发送中断标志位,发送完一帧串行数据后,由硬件置1,其清0必须有软件完成
    RI 串口接收中断标志位,接收完一帧串行数据后,由硬件置1,其清0必须有软件完成
    RI与TI二者任一置1都可以产生串口中断请求

中断优先级与中断函数

  1. 中断优先级
    (1).中断优先级高的能够中断优先级低的中断服务;
    (2).相同优先级的中断源之间不能相互中断对方的中断服务;
  2. 中断函数结构
    函数类型 函数名()interrupt n [using n]
    n为中断号
    0 外部中断0
    1 定时器/计数器溢出中断0
    2 外部中断1
    3 定时器/计数器1溢出中断
    4 串行口发送/接收中断

外部中断0函数示例

void InitialInt0(void)		//外部中断0初始化函数
{
	EA=1;	//使能总中断
	IT0=1;	//触发方式为下降沿触发
	EX0=1;	//使能外部中断0
}
void	Int0(void)	interrupt 0
{
	//此处填写中断执行程序
}

第一次写博客,如有什么错误或建议,还望大佬指出

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值