专注电子技术学习与研究
当前位置:单片机教程网 >> MCU设计实例 >> 浏览文章

51单片机定时器0中断服务程序interrupt 1

作者:佚名   来源:本站原创   点击数:  更新时间:2009年06月19日   【字体:

51单片机定时器0工作在模式0,每中断10次,使P2.0引脚连接的LED灯闪烁。
//单片机网www.51hei.com提供的演示程序.
#include "reg_c51.h"  
int  nn;            //中断次数变量
void main(void)
{
TMOD &= 0xF0;   //定时器0运行在模式0 ,13位计数器
                // GATE0=0; C/T0#=0; M1=0; M0=0;
TH0 = 0x00;     //设置初值0x00,所以计数值为8192,若是时钟频率为12MHz
TL0 = 0x00;     //则8192μs中断一次
ET0=1;    //允许定时器0中断
EA=1;     //允许总中断
TR0=1;    //启动定时器0
while(1); //无限循环,没有循环体
}
void it_timer0(void) interrupt 1 定时器0中断服务程序
{
nn=nn++;    //每次中断nn加1
if(nn==10)  //当中断10次后,使LED灯闪烁
{ nn=0;
P2_0 = ~P2_0; //引脚P2.0取反
}}

关闭窗口