51单片机第二讲(定时器中断)

1.中断的概念
CPU在处理某一事件A时,发生了另一事件B请求CPU迅速去处理(中断产生);
CPU暂时中断当前的工作,转去处理事件B(中断响应和中断服务);
待CPU将事件B处理完毕后,再回到原来事件A中断的地方继续处理事件A(中断返回),这一过程称为中断。
这里写图片描述
2.中断的优先级
51单片机里一共有5个中断源,分别是外部中断0,定时器0,外部中断1,定时器1,串口中断,中断优先级从大到小分别是0,1,2,3,4。

3.中断的优点
分时操作。CPU可以分时为多个I/O设备服务,提高了计算机的利用率;
实时响应。CPU能够及时处理应用系统的随机事件,系统的实时性大大增强;
可靠性高。CPU具有处理设备故障及掉电等突发性事件能力,从而使系统可靠性提高。

4.外部中断
外部中断0是定义在P3.2口,外部中断1是定义在P3.3口
TCON的中断标志(控制寄存器):
这里写图片描述
IT0(TCON.0),外部中断0触发方式控制位。
当IT0=0时,为电平触发方式。
当IT0=1时,为边沿触发方式(下降沿有效)。
IE0(TCON.1),外部中断0中断请求标志位。
IT1(TCON.2),外部中断1触发方式控制位。
IE1(TCON.3),外部中断1中断请求标志位。
TR0(TCON.4):T0运行控制位,其功能与TR1类同。
TF0(TCON.5),定时/计数器T0溢出中断请求标志位。
TR1(TCON.6):T1运行控制位。TR1置1时,T1开始工作;TR1置0时,T1停止工作。TR1由软件置1或清0。所以,用软件可控制定时/计数器的启动与停止
TF1(TCON.7),定时/计数器T1溢出中断请求标志位。

外部中断初始化:

void bsp_Int0_Init(void)//外部中断0
{
     IT0 = 1;    //设置边沿触发方式 等于0是电平触发方式
     EX0 = 1;    //开外部中断,在中断寄存器里
     EA = 1;     //开总中断
}

void bsp_Int1_Init(void)//外部中断1
{
     IT1 = 1;
     EX1 = 1;
     EA = 1;
}

void ISR_INT0(void) interrupt 0//中断处理函数
{
    P1 = 0x55;
}

void ISR_INT1(void) interrupt 2
{
    P1 = 0xaa;
}

5.定时器中断
工作方式寄存器TMOD:
这里写图片描述
GATE:门控位。GATE=0时,只要用软件使TCON中的TR0或TR1为1,就可以启动定时/计数器工作;GATA=1时,要用软件使TR0或TR1为1,同时外部中断引脚或也为高电平时,才能启动定时/计数器工作。即此时定时器的启动多了一条件。(默认情况下等于0不要设置)。
C/T:定时/计数模式选择位。=0为定时模式;=1为计数模式。
M1M0:工作方式设置位。定时/计数器有四种工作方式,由M1M0进行设置。(正常情况旋方式1,即M1M0=01)。
中断寄存器:
这里写图片描述
EA是总中断
ET0是定时器0中断
EX0是外部中断0
ET1是定时器1中断
EX1是外部中断1

void Timer0_Init(void)
{
    TMOD |= 0x01;//设置定时器为工作方式1  C/T位为1的时候是计数器模式,为0的时候是定时器模式,前四位是定时器1,后四位是定时器0
    TL0 = (65536 - 1000)%256;    //装初值,低8位
    TH0 = (65536 - 1000)/256;   //高8位
    ET0 = 1;    //开定时器的中断
    TR0 = 1;    //开定时器
    EA = 1;     //开总中断
}

void Timer0(void) interrupt 1
{
    TL0 = (65536 - 1000)%256;    //装初值,低8位//初值是1000即1ms
    TH0 = (65536 - 1000)/256;   //高8位
    count++;
    if(count == 1000)
    {
        count = 0;
        LED = ~LED;//LED一秒钟闪烁一次
    }
}
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值