本帖最后由 gaoyang9992006 于 2023-7-23 12:58 编辑
收到了厂家赠送的全新的PIC16F17146-CNANO开发板,开发板小巧漂亮
该开发板继承了好奇心NANO系列开发板的外观与布局,与PIC18F16Q41系列的对比如下,几乎一毛一样
IO布局上只有RA0和RA1的区别。
接下来我们使用数据线连接开发板,然后再启动PMLAB X IDE,这里我使用的是当前最新版v6.10
此时,开发套件窗口 Kit 信息如下
包含了该开发板的所有相关资料。建议下载图中的几个PDF文档存档备用
通过手册了解开发板的基本情况
比如开发板上可以直接利用的学习资源有哪些,比如用户按钮在RC0,LED在RC1
出厂自带的程序是上电LED点亮,按下按键松手后切换状态。
我们在MPLAB X IDE 复现该功能
新建工程
选择对应器件
选择编译器工具链
给工程起给名字并保存在指定的位置,设置代码编码格式,确保中文注释能正常显示
之后Finish 完成工程创建。
启动MCC
为确保MCC启动快速,可在一次正常启动MCC后设置为离线模式
单击MCC按钮,略等片刻,启动MCC工具
选择可用的
注意这里提示运行在离线模式,如果该模式下无法正常工作,请关闭离线模式再次尝试以上过程。如果真的不行,在MCC在线模式下,新建工程重新开始。
相信,你会能成功的。
这里要配置IO了,请仔细阅读开发板手册上的电路原理图部分,如下所示
注意这里是怎么与IO相连的,也决定我们什么状态下是点亮LED,什么状态的IO是熄灭LED,以及按键是如何触发的,需要不需要配置芯片内的上拉电阻。
这里我们注意到IO是在RC1输出低电平时候点亮;IO是没有外部的上拉电阻,因此可以配置片内的上拉,并且该端口是按下后触发低电平信号。
最终配置如下所示,该配置将会导致默认点亮LED,如果想默认LED熄灭的,可以勾选对应的Start High,即上电时候该IO输出为高电平。
如果我们不使用IO中断功能,配置到此结束,单击Generate,生成代码
在编写代码时候,代码自动补齐功能是给非常方便的功能,这里讲一下如何配置
配置位置如下所示:
填入的完整内容为
.;->;.*;->*;::;new ;A;a;B;b;C;c;D;d;E;e;F;f;G;g;H;h;I;i;J;j;K;k;L;l;M;m;N;n;O;o;P;p;Q;q;R;r;S;s;T;t;U;u;V;v;W;w;X;x;Y;y;Z;z;_;
编写循环体内的代码如下
while(1)
{
if(BUTTON_GetValue()==0)
{
while(BUTTON_GetValue()==0);
LED_Toggle();
}
}
单击运行按钮,编译并烧录到开发板,此时,已经复现了出场自带程序的功能。接下来实现Blinky
回到MCC选项卡,单击设备资源里的Timer中的DELAY 增加延时模块的代码到工程
之后单击Generate
此时再输入代码D开头即可看到延时函数
一个是微秒为单位,一个毫秒为单位
我们的代码如下所示
while(1)
{
LED_Toggle();
DELAY_milliseconds(500);
}
保存,运行
此时我们的开发板上LED开始按1秒为周期闪烁。
|