×
嵌入式 > 嵌入式开发 > 详情

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

发布时间:2020-09-03 发布时间:
|
什么是定时器,什么是中断,这些简单的概念,在此就不多说了,百度一下就有很多资料了。
下面是个人使用定时器与中断来实现 点亮二极管
#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更容易,更快速的学习。


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

热门文章 更多
大疆做不做军用无人机