资源简介
这是一个MSP430单片机的综合应用,利用PWM信号产生呼吸灯的效果,具体功能为:利用MSP430的定时器产生占空比可变的方波信号,并通 过控制该占空比,实现LED的亮度的变化按逐渐由最暗到最亮,再由最亮到最暗,如此循环。要求分别可以通过串口和按键控制呼吸灯的快慢。
代码片段和文件信息
#include
unsigned int TL=100;
unsigned int TH=900;
unsigned int T=1000;
char IO_H=0;//PWM波高低电平标志位
int Time_05ms_Cnt=0;
char UP_Count=0;//占空比调整标志位,初始值为0(亮度减弱,即占空比减少)
int PWM_Step=20;
char Key_Pressed_Flag=0;
char Key_Front=1 Key_Current=1;
int Key_Det_1ms_Cnt=0;
int main(void)
{
WDTCTL = WDTPW + WDTHOLD; // 关闭看门狗
//配置系统时钟
DCOCTL = 0;
BCSCTL1 = CALBC1_1MHZ; // 设置 DCO为1M
DCOCTL = CALDCO_1MHZ;
//配置定时器
P1DIR |=BIT0; // P1.0为输出
P1OUT |=BIT0; //初始化为1,灯亮
IO_H=1;//PWM波高低电平标志位,初始化为1
CCTL0 = CCIE; // CCR0中断使能
CCR0 = TH; //设置定时器计数值
TACTL = TASSEL_2 + MC_1;
评论
共有 条评论