如何实现定时器与中断来点亮二极管
时间:11-18
来源:互联网
点击:
什么是定时器,什么是中断,这些简单的概念,在此就不多说了,百度一下就有很多资料了。
下面是个人使用定时器与中断来实现 点亮二极管的
#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更容易,更快速的学习。
定时器中断点亮二极 相关文章:
- Windows CE 进程、线程和内存管理(11-09)
- RedHatLinux新手入门教程(5)(11-12)
- uClinux介绍(11-09)
- openwebmailV1.60安装教学(11-12)
- Linux嵌入式系统开发平台选型探讨(11-09)
- Windows CE 进程、线程和内存管理(二)(11-09)