T1定时器(自由计数模式)实现PWM(呼吸灯)

简介: T1定时器(自由计数模式)实现PWM(呼吸灯)宏定义初始化主函数


宏定义


#include<iocc2530.h>
#define uint unsigned int
#define uchar unsigned char
#define LED1 P1_0
uchar h = 1;


初始化


void InitLED(void)
{
  P1SEL &=~0X01;
  P1DIR |=0X01;
  LED1 =0;
}
void InitT1(void)
{
  T1CTL |= 0X01;//一分频,自由计数模式,2-3为分频,0-1为计数模式
  PERCFG = 0X40;
  P1SEL |= 0X01;
  T1CCTL2 |= 0X64;
  T1CC2L |=0XFF;
  T1CC2H |=h;
}


主函数


main()
{
  InitLED();
  InitT1();
  uchar flag=0;
  while(1)
  {
    if((T1STAT & 0X04) >0)
    {
      T1STAT &=0xfb;
  if(flag==1)
    h++;//变亮
  else
   h--; //变弱
  T1CC2L =0XFF;
  T1CC2H =h;
  if(h >=254)
    flag=0;
  if(h==0)  
    flag =1;
    } 
  }
}
相关文章
|
3月前
51开发板同一程序实现数码管实现时钟显示、秒表计时。通过独立按键选择模式(时钟/秒表)、时间的重定义
51开发板同一程序实现数码管实现时钟显示、秒表计时。通过独立按键选择模式(时钟/秒表)、时间的重定义
124 3
|
3月前
【51单片机】独立按键,每个按键不同功能,数码管数值的加减,控制流水灯模式,包含按键消抖,数码显示,流水灯
【51单片机】独立按键,每个按键不同功能,数码管数值的加减,控制流水灯模式,包含按键消抖,数码显示,流水灯
267 1
|
3月前
|
C语言
【51单片机】LCD1602显示字符串,时间、时间+按键校准、秒表计时的功能代码。
【51单片机】LCD1602显示字符串,时间、时间+按键校准、秒表计时的功能代码。
|
3月前
【51单片机】通过定时器中断 在8位数码管显示时间
【51单片机】通过定时器中断 在8位数码管显示时间
定时器+按键控制LED流水灯模式+定时器时钟——“51单片机”
定时器+按键控制LED流水灯模式+定时器时钟——“51单片机”
实验:MSP430F249 按键控制四个灯,并消抖
实验:MSP430F249 按键控制四个灯,并消抖
120 0
【单片机期中测试】10.利用定时器实现pwm呼吸灯
【单片机期中测试】10.利用定时器实现pwm呼吸灯
144 0
OpenMV输出PWM,实现对舵机控制
OpenMV输出PWM,实现对舵机控制
1703 0
蓝桥杯使用定时器代替延时控制按键
蓝桥杯使用定时器代替延时控制按键
70 0