首页 > 评测 > 简约而不简单的好奇心——Microchip Curiosity开发板评测
简约而不简单的好奇心——Microchip Curiosity开发板评测
- [导读]
- 现在不少人都认为,8位和16位MCU即将消亡,32位MCU性价比和功耗方面更具有优势。然而Mcicrochip并没有放弃和削减8位PIC的市场,相反地,在去年年中,Microchip推出了一款全新的Curiosity开发板。
使用MCC进行程序开发
前面介绍了在MPLAB X IDE中可以使用MCC(MPLAB Code ConConfigurator)进行软件快速开发,下面我们就重点来试试这个功能,并用MCC快速实现一个呼吸灯程序。
要使用MCC(MPLAB Code ConConfigurator),首先需要安装这个它。MCC不是一个独立的软件,它是做为MPLAB X IDE的插件使用的。在安装MPLAB X IDE时,是没有附带这个插件的,它需要我们自己安装它。
安装时,先从MPLAB X IDE的Tool菜单下,找到Plugins(插件)子菜单,进去后选择Available Plugins(可用插件),就可以看到MPLAB Code Configurator了。选中它前面的选择框,然后点击左下角的Install,就可以自动下载并安装MCC了。
安装后,需要重新启动一次MPLAB X IDE,才能正常使用MCC。在Tools菜单下的Embedded菜单下,我们就能够看到MPLAB Code Configurator。
下面我们就用MCC创建一个呼吸灯程序(LED逐渐变亮,在逐渐变暗),体验一下MCC的强大功能。首先需要创建一个MPLAB X IDE项目,创建过程和其他项目没有什么区别。
只是在仿真器这里,我们需要选择Curiosity开发板带有的Starter Kits(PR08)。
创建后,先从Tools菜单下运行MCC(MPLAB Code Configurator)。进入MCC后,我们首先就要选择需要用到的硬件模块(Modules)。它在MPLAB X IDE软件的左边中间位置,鼠标双击就可以将需要使用的模块加入到项目。
为了实现呼吸灯功能,我们需要使用到PWM功能,改变PWM的占空比来调整LED的亮度。PIC16F1619有两个PWM模块:PWM3和PWM4,我们先添加PWM3模块到项目中(如果添加PWM4就可以实现两个呼吸灯)。
添加PWM3时,会自动添加TMR2模块,因为PWM功能需要使用到定时器,PIC16F1619有六个定时器,但是只有TMR2/TMR4/TMR6支持PWM功能,默认是TMR2,也可以改用其他两个定时器。
然后是分配PWM3使用的单片机GPIO。在MPLAB X IDE软件的右上角,我们可以看到引脚管理功能。每个单片机功能模块是一行,而每个GPIO是一列。如果一个GPIO支持某个单片机的功能,就会在对应的交叉位置显示一个锁的图标,没有上锁代表引脚可以分配,锁住就代表已经分配了。
在Curiosity开发板的原理图上,我们可以看到LED使用了RA1、RA2、RA5、RC5这4个引脚。在引脚管理功能中,可以看到PWM3支持这几个GPIO,我们先选择RA1,用鼠标点击PWM3和RA1交叉对应的分配引脚后,就变为下图所示,这就代表将RA1分配给了PWM3。
在MPLAB X IDE软件的中间,按下Grenrate Code按钮,自动产生代码。因为前面我们还没有创建主程序,所以MCC还会提示是否需要创建main.c。
使用了PWM3,所以MCC会自动创建PWM3.c和PWM3.h文件。PWM3.h中包含了PWM3模块相关的接口函数,我们可以看到有两个:
void PWM3_Initialize(void);
void PWM3_LoadDutyValue(uint16_t dutyValue);
一个是PWM3初始化,它会在MCC初始化函数中自动调用。另外一个函数是PWM3_LoadDutyValue,它就是用来控制PWM3占空比的。
然后在main.c的主程序中,添加下面的代码,实现呼吸灯的功能。
while (1) {
// Add your application code
duty = 0;
while(duty <= ( 1024-16))
{
__delay_ms(20);
duty += 16;
PWM3_LoadDutyValue(duty);
}
duty = 1024;
while(duty >= 16)
- 本文系21ic原创,未经许可禁止转载!
网友评论
- 联系人:巧克力娃娃
- 邮箱:board@21ic.com
- 我要投稿
-
欢迎入驻,开放投稿
-
人均百万?英伟达中国员工收入曝光! 2024-08-29
-
《黑神话:悟空》玩家硬盘升级攻略:提升游戏体验,畅享3A大作 2024-08-29
-
数睿数据参加《系统与软件工程 低代码开发平台通用技术要求》国家标准编制 2024-08-29
- NRF52810蓝牙数字耳机找人定制
预算:¥30005天前
- 125KW模块式PCS软硬件外包开发
预算:¥1100000015小时前
- 12V汽车启动电源项目BMS设计
预算:¥50000023小时前
- 数据可视化软件 开发
预算:¥5000023小时前
- PLC项目调试修改
预算:¥100001天前
- 起动电机控制器开发
预算:¥1100001天前