定时器中断.rar

  • Lxu
    了解作者
  • Others
    开发工具
  • 25KB
    文件大小
  • rar
    文件格式
  • 0
    收藏次数
  • 1 积分
    下载积分
  • 0
    下载次数
  • 2019-01-03 15:25
    上传日期
利用定时器实现中断,控制LED灯
定时器中断.rar
  • 定时器中断
  • settings
  • sz-yy-zigbee.cspy.bat
    1.5KB
  • sz-yy-zigbee.wsdt
    2.8KB
  • sz-yy-zigbee.dbgdt
    3.6KB
  • sz-yy-zigbee.dni
    809B
  • Debug
  • List
  • Exe
  • sz-yy-zigbee.hex
    816B
  • sz-yy-zigbee.d51
    10.8KB
  • Obj
  • sz-yy-zigbee.pbd
    197B
  • main.r51
    8KB
  • sz-yy-zigbee.dep
    2.3KB
  • main.c
    2.1KB
  • sz-yy-zigbee.ewp
    54.9KB
  • codetab.h
    22.6KB
  • sz-yy-zigbee.ewd
    33.5KB
  • LCD.h
    6.9KB
  • sz-yy-zigbee.eww
    166B
内容介绍
/**************************************************************************** * 文 件 名: main.c * 描 述: 定时器T3通过中断方式控制LED1周期性闪烁 ****************************************************************************/ #include <ioCC2530.h> typedef unsigned char uchar; typedef unsigned int uint; #define LED1 P1_0 // P1.0口控制LED1 uint count; //用于定时器计数 /**************************************************************************** * 名 称: InitLed() * 功 能: 设置LED灯相应的IO口 * 入口参数: 无 * 出口参数: 无 ****************************************************************************/ void InitLed(void) { P1DIR |= 0x01; //P1.0定义为输出 LED1 = 1; //使LED1灯上电默认为熄灭 } /**************************************************************************** * 名 称: InitT3() * 功 能: 定时器初始化,系统不配置工作时钟时默认是2分频,即16MHz * 入口参数: 无 * 出口参数: 无 ****************************************************************************/ void InitT3() { T3CTL |= 0x08 ; //开溢出中断 T3IE = 1; //开总中断和T3中断 T3CTL |= 0xE0; //128分频,128/16000000*N=0.5S,N=62500 T3CTL &= ~0x03; //自动重装 00->0xff 62500/255=245(次) T3CTL |= 0x10; //启动 EA = 1; //开总中断 } //定时器T3中断处理函数 #pragma vector = T3_VECTOR __interrupt void T3_ISR(void) { IRCON = 0x00; //清中断标志, 也可由硬件自动完成 if(count++ > 245) //245次中断后LED取反,闪烁一轮(约为0.5 秒时间) { //经过示波器测量确保精确 count = 0; //计数清零 LED1 = ~LED1; //改变LED1的状态 } } /**************************************************************************** * 程序入口函数 ****************************************************************************/ void main(void) { InitLed(); //设置LED灯相应的IO口 InitT3(); //设置T3相应的寄存器 while(1) {}; }
评论
    相关推荐