分享

定时器/计数器 的使用(自然中断优先级)

 共同成长888 2015-07-18

定时器/计数器的使用可以分成两大步骤与代码
1、初始化定时器
2、编写中断子程序(也叫中断函数通俗点就是调用一个函数)
 
                    
                        初始化定时器
      1)设置定时器/计数器的模式(在前面有)
     2) 开启定时器中断(定时器/计数器 0或者1或者其他)
     3) 启用定时器/计数器(定时器/计数器 0或者1或者其他)
     4)打开总中断
     5)给定时器赋值
    注:以上步骤可以打乱但是不可以少。(如果有的条件在其他函数里面初始化了这里可以省略)

                                     编写中断子程序

        void tim0_isr (void) interrupt 1 
       1)void tim0_isr(void)    (这个就是中断后需要执行的函数) 
        2) interrupt 1 (中断号前面有详细的中断号说明)
 

代 码
 #include <reg51.h>
sbit LED=P0^7;//定义点亮的LED管脚
unsigned int i=0;

void tim0_isr (void) interrupt 1 //这个是中断执行的函数
{
i++;    //每中断一次i+1
}


void csh_dsq_0()//初始化定时器/计数器0
{
TMOD = 0x02;//使用模式3(自动重装模式)
TH0=0x00;//定时器0的重装数据(这里是给定时赋值)
TL0=0x00;//初始化(这里是给定时赋值)
ET0=1;//开启定时器0中断
TR0=1;//启用定时0
EA =1;//打开总中断
}void main()
{
LED = 0;
csh_dsq_0(); //调用中断初始化
while(1)
{
if(i==5000)//中断5000次LED亮或灭一次
{
LED=~LED;//LED亮或灭
i=0;//清零i使中断计数从新开始
}
}
}

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多