本帖最后由 南来之风 于 2022-7-30 14:00 编辑
此次来体验一下使用PWM来驱动LED,实现呼吸灯的效果。
首先实现的是一个延迟函数:
void myDelay(unsigned int x){
while(x--);
}
然后,实现一个慢慢变亮的程序,这里使用的方法是先让RF3输出高电平,保持一段时间;然后输出低电平,再保持一段时间。目的是实现PWM的效果。
for(i = 0; i < 300; i++){
IO_RF3_LED0_SetHigh();
myDelay(300-i);
IO_RF3_LED0_SetLow();
myDelay(i);
}
最后,实现一个慢慢变暗的程度:
for(i = 0; i < 300; i++){
IO_RF3_LED0_SetLow();
myDelay(300-i);
IO_RF3_LED0_SetHigh();
myDelay(i);
}
最终效果:
目前使用MPLABX对PIC单片机编程变得非常简单,不过MPLABX工具本身使用起来比较卡,也有别的网友反映过。希望可以改进一下。
现在可以很轻松的使用配置工具,最低限度的编写代码来实现想要的功能,还是非常方便的。别忘了,这还是个8位单片机!
|