×
单片机 > 单片机程序设计 > 详情

如何实现定时器与中断来点亮二极管

发布时间:2020-05-27 发布时间:
|
什么是定时器,什么是中断,这些简单的概念,在此就不多说了,百度一下就有很多资料了。
下面是个人使用定时器与中断来实现 点亮二极管的
#include
 
sbit LED=P2^0; //点亮一个二极管
unsigned char i=0; 
void main()
{
   TMOD=0x01; // TMOD寄存器高4位设置T1,低4位设置T0。设置T0定时器工作模式
   EA=1; // 允许打开全局中断变量EA
   ET0=1; //允许打开定时器T0中断
   TR0=1; //设置TCON寄存器: 启动定时器T0
   TH0=(65536-50000)/256;   //50ms毫秒发生一次中断溢出,初始化TH0
   TL0=(65536-50000)%256;    
 
   LED=0; //点亮二极管
   while(1)
   {
      
      if(i==20) //20次50ms 等于1秒钟  即 1秒钟二极管就点亮或熄灭
      {
         LED=~LED; //二极管状态取反
         i=0;
      }
   }
}
 
void TimerLED() interrupt 1 using 1 // 中断源T0定时器,使用第1组寄存器工作组存储中断程序
{
   TH0=(65536-50000)/256;
   TL0=(65536-50000)%256;
   i=i+1;   
}
 
只要了解原理,就非常简单了。 记住:学习单片机,就是为了以后学习ARM更容易,更快速的学习。
关键字:定时器  中断  点亮二极管 

『本文转载自网络,版权归原作者所有,如有侵权请联系删除』

热门文章 更多
STM32单片机的复用端口初始化的步骤及方法