打印
[PIC®/AVR®/dsPIC®产品]

【CuriosityNano测评报告】+初次上手PIC单片机之PWM呼吸灯

[复制链接]
846|3
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
本帖最后由 南来之风 于 2020-12-31 23:19 编辑

非常感谢论坛提供了一次难得的初次体验PIC单片机的机会。官网的资料是非常详细的,对于这款Curiosity Nano,建议从Github上开始学起来。
https://github.com/microchip-pic-avr-examples/pic16f15244-pwm-led-blink
首先是环境的搭建:


正确安装好驱动后,在端口中应该可以看到“Curiosity Virtual COM Port”


开发环境安装好后,首先打开MPLAB XIDE5.40,软件是自动识别我们这款板子,而且硬件资料,软件demo一应俱全,非常的便利!


转到Git上,试着运行一个pwm-led-blink-master的项目,下载后先build一个工程

成功后,把程序下载到板子上。

与此同时,把GND和RA2引脚引出,连接到一个简易示波器的输入端,可以看到PWM的方波驱动LED闪烁,在简易示波器上显示出响应的波形。
在例程的基础上,增加了几个不同占空比的值,目前占空比可以选择0,12,25,37,50,62,75,88,100
代码比较糙,但还是贴出来了
uint16_t Array_dutyCycle[] = 
{0x0000,0x007F,0x00FA,0x177,0x01F4, 0x0271,0x02EE,0x036A,0x03E7};

uint16_t i;
uint8_t index = 0;
int8_t direction = 1;

void main(void)
{
    SYSTEM_Initialize();                                                        // Initialize the device   
    INTERRUPT_GlobalInterruptEnable();                                          // Enable the Global Interrupts
    INTERRUPT_PeripheralInterruptEnable();                                      // Enable the Peripheral Interrupts
   
    while(1){
        if(direction == 1){
            if(index != 8)
                PWM3_LoadDutyValue(Array_dutyCycle[++index]);  
            else{
                direction = -1;
                PWM3_LoadDutyValue(Array_dutyCycle[--index]);
            }
        }
        else{
            if(index != 0)
                PWM3_LoadDutyValue(Array_dutyCycle[--index]);
            else{
                direction = 1;
                PWM3_LoadDutyValue(Array_dutyCycle[++index]);
            }
        }
        for(i = 5120; i!=0;i--);
    }
}
最终的效果如下:

可以看出PWM的波形占空比变化时候LED0的亮度也随之变化。

使用特权

评论回复
沙发
MianQi| | 2020-12-31 18:38 | 只看该作者
能把示波器的刷新频率降下来吗?

使用特权

评论回复
板凳
jinglixixi| | 2021-1-3 09:36 | 只看该作者
简易示波器不错,是自己做的,还是买的?

使用特权

评论回复
地板
南来之风|  楼主 | 2021-1-4 09:57 | 只看该作者
本帖最后由 南来之风 于 2021-1-4 09:59 编辑
jinglixixi 发表于 2021-1-3 09:36
简易示波器不错,是自己做的,还是买的?

这个是开源的一个作品,自己也在学习中

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

38

主题

226

帖子

2

粉丝