公司网站建设开发维护工作,做茶叶网站公司,游戏推广员怎么做,贵州省建设厅考试网站紧接上文#xff0c;基本的控制逻辑并不难写#xff0c;难的是是、如何输出自己想要频率的PWM波在对应的端口
阅读文档定时器与PWM相关的寄存器#xff0c;因为之前玩的STM32#xff0c;所以看起来还是有点困难#xff0c;准备边看边记录。
如果想要实现在长按时改变PWM…紧接上文基本的控制逻辑并不难写难的是是、如何输出自己想要频率的PWM波在对应的端口
阅读文档定时器与PWM相关的寄存器因为之前玩的STM32所以看起来还是有点困难准备边看边记录。
如果想要实现在长按时改变PWM短按时改变状态。那么只需要在按下按键后隔一段时间检测按键是否松开如果松开代表是短按如果没松开那么视为长按事件 源代码相关理解
void TC0_INIT(void)
{TC0H 0XFF; //PWM高电平占空比定时器高8位TC0L 0X07; //定时器TC0低8位PWMCON 0X00; //PWM控制TC0M 0X08; //模式选择FTC0IF 0; //TC0 溢出中断标志位TC0 溢出时被置位软件清除FTC0IE 1; //TC0 溢出中断使能位(1使能,0失能)FTC0TR 1; //Bit7 TC0TR, TC0 启动控制位 0 禁止 TC0 定时器FGIE 1; //GIE:全局中断使能位
}void LED_PWM_OPEN(void)
{
//占空比 PWM1-Y-PB2PWM1DH 0XFF;PWM1DL 0X00; //占空比 PWM01-W-PB1PWM0DTH 0XFF;PWM0DTL 0X00; //占空比 PWM0-BLUE-PB0 //PWM0DH 0XFF; //PWM0DL 0X00; //周期 PWM0PH 0XFF; PWM0PL 0X00; //PB0输出 PWMPSCON 0x00;//--11 1111 :PB0-OUT //pwm0c PWM0C 0xc2;//PWM0C_Buf; //11-- 0011 :Fosc/2 //PWM0EN PWM0EN 0x9d;//PWM0EN_Buf; //1-01 1101 :TP0-EN;8BIT;PWM0X-EN;独立模式;PWM-EN }