本帖最后由 gaoyang9992006 于 2021-9-12 19:34 编辑
假设你已经安装好了开发环境,并安装了MCC图形化代码配置工具。我们要实现呼吸灯最好的方式就是通过PWM,然后选定好我们输出PWM的管脚,然后定时的修改输出占空比,即可完成呼吸灯的功能。
我们要启用的配置资源如下,启用延时函数和PWM1
如果时钟需要修改可通过System module配置,这里我选择默认
然后在Pin module选择要输出的管脚,比如我选RC1
然后按下生成代码按钮Generate
我们回到工程浏览功能,我们需要的函数,MCC已经自动按照刚才的设置给我们做好了。
这个时候只需要完善main.c中的功能即可
#include "mcc_generated_files/mcc.h"
/*
Main application
*/
void main(void)
{
// Initialize the device
SYSTEM_Initialize();
uint16_t i=0;
// If using interrupts in PIC18 High/Low Priority Mode you need to enable the Global High and Low Interrupts
// If using interrupts in PIC Mid-Range Compatibility Mode you need to enable the Global Interrupts
// Use the following macros to:
// Enable the Global Interrupts
//INTERRUPT_GlobalInterruptEnable();
// Disable the Global Interrupts
//INTERRUPT_GlobalInterruptDisable();
PWM1_16BIT_WritePeriodRegister(2000);
PWM1_16BIT_LoadBufferRegisters();
while (1)
{
for(i=0;i<2000;i++)
{
PWM1_16BIT_SetSlice1Output1DutyCycleRegister(i);
PWM1_16BIT_LoadBufferRegisters();
DELAY_milliseconds(1);
}
for(i=2000;i>0;i--)
{
PWM1_16BIT_SetSlice1Output1DutyCycleRegister(i);
PWM1_16BIT_LoadBufferRegisters();
DELAY_milliseconds(1);
}
}
}
编译烧录,我们就可以看到开发板上的LED开始挤眼了。
|