搜索

[PIC®/AVR® MCU] 【CuriosityNano测评报告】开发板LED、UART、KEY及Timer功能测试

[复制链接]
9602|0
手机看帖
扫描二维码
随时随地手机跟帖
hbzjt2011|  楼主 | 2021-8-31 21:43 | 显示全部楼层 |阅读模式
本帖最后由 hbzjt2011 于 2021-8-31 21:47 编辑

#申请原创# @21小跑堂
【一】开发板介绍:
        Microchip 公司的Curiosity Nano套件是一个硬件平台,旨在评估 PIC18F16Q41微控制器 (MCU),该套件支持MPLAB® X 集成开发环境 (IDE) ,可轻松访问大多数 MCU I/O,同时板载Nano调试器,不需要外部工具即可对 PIC18F16Q41 MCU进行编程。在软件编程上可以通过利用MPLAB代码配置器(MCC)工具实现快速生成应用代码,减少用户开发周期,快速实现应用编程。
       开发板实物如图所示,开发板形状小巧,同时将芯片引脚引出,可以直接将该核心板用于用户产品开发。
5560612de1149f23e.png
66021612de12d4f2d0.png

开发板包含以下资源和特性:
  • PIC18F16Q40 微控制器
  • 1个机械用户开关
  • 1个黄色用户LED
  • 板载调试器
    • Microchip MPLAB X中的板标识
    • 1个绿色电源和状态LED
    • 编程和调试
    • 虚拟串行端口 (CDC)
    • 1个逻辑分析仪通道 (GPIO)

  • USB供电
  • 可调目标电压
    • MIC5353 LDO稳压器,由板载调试器控制
    • 输出电压范围:1.8V至5.5V(受USB输入电压限制)
    • 最大输出电流:500mA
25720612de27d973ea.png

【二】开发环境搭建:

1、安装Microchip MPLAB® X IDEMPLAB® XC C Compiler编译器; 51457612de42909f19.png
2、启动MPLAB® X IDE并安装MCC代码配置工具;
在Tools->Plugins里面查找MCC,并选择Install:
78887612de4d956fd1.png
50667612de5155e651.png
等待安装完成,并重启IDE:

68937612de5494df79.png
32078612de59c83d26.png
重启后可以通过菜单栏快捷按钮启动MCC工具:
97730612de653c3aef.png
3、新建项目工程文件:
选择Microchip嵌入式->独立项目,点击Next;
77910612de769df6df.png
选择PIC18系列MCU,本开发板板载的MCU为PIC18F16Q41,如果开发板已经与电脑相连,则器件里会自动识别,选择完成后点击Next;
27289612de7c89f0b9.png
接下来为项目选择已安装的XC8编译器,这里特别注意在安装编译器的时候记住勾选将其添加到系统环境变量中,否则在此步时会出现无法识别的情况;
87989612de85c9d6a2.png
最后输入项目名称和存储路径,如果工程中需要添加中文注释,记住将工程文件编码格式选择为支持中文的编码格式,这里使用UTF-8,至此完成工程项目的创建。
84557612de8d0aa730.png
【三】工程代码生成及应用编程:
1、UART测试:
在工具栏中启动MCC配置工具,首先配置系统时钟为高速内部时钟,时钟频率选择为4M,同时分频数选择为1,同时关闭看门狗;
39205612dea4543ddc.png 在Device Resources中选择添加Drivers → UART → UART1,设置串口的波特率为19200,同时使能串口发送,重定向串口进而可以使用printf功能,最后选择UART1的接收和发送引脚分别为RB5和RB7;

83348612defb308a62.png
点击生成工程代码,并等待生成完毕;
77381612df08fc2936.png
在工程文件中的main.c中的while循环中添加如下代码,并编译下载,完成后通过串口助手查看打印输出。
    while (1)
    {
        // Add your application code
        printf("Hello World!\r\n");
        __delay_ms(1000);
    }

82590612e0a43c027b.png
65317612e0a544f4ba.png

2、Timer及LED测试:
在Device Resources中选择添加TMR1,同时设置定时器的时钟,周期和使能中断,同时增加LED等引脚配置;
34143612e1d8dab369.png
88351612e1de6775c6.png
72787612e1e1a7be8d.png
在main函数中使能全局中断功能,同时在tmr1.c中增加mcc.h头文件包含,并在默认中断服务函数中增加LED翻转函数;
64653612e1eba5abd4.png
7037612e1ed781346.png
52476612e1ef252928.png
编译完成后后,下载即可看到开发板LED定时闪烁,同时串口继续打印输出。
IMG_0799.GIF

3、按键SW0测试:
这里使用外部中断来检测按键是否被按下,首先通过MCC设置外部中断0为下降沿中断,同时在中断管理中使能外部中断0;
50027612e3119e7ac8.png
84028612e312d9aa30.png
接下来在代码中,将SW0所接的引脚设置为上拉,同时在外部中断0的中断服务函数中编写程序,当按键按下时打印Key Pressed!输出;
80478612e31afda733.png

68599612e31bc7937b.png
编译下载程序至开发板,当按键被按下时,串口打印输出。
12546612e31f0e791a.png










































































































































































































































































































                              












使用特权

评论回复
您需要登录后才可以回帖 登录 | 注册

本版积分规则

我要发帖 我要提问 投诉建议 申请版主

本版热帖

本版活跃用户

优质原创写原创,赢大奖

编辑推荐

  • 1 火星国务卿 得到打赏 ¥425.00
  • 2 yanzhengxin1 得到打赏 ¥350.00
  • 3 gaoyang9992006 得到打赏 ¥265.00
  • 4 Gavin3389 得到打赏 ¥225.00
  • 5 13426257085 得到打赏 ¥200.00
  • 6 呐咯密密 得到打赏 ¥185.00
  • 7 qbwww 得到打赏 ¥160.00
  • 8 两只袜子 得到打赏 ¥155.00
  • 9 yangjiaxu 得到打赏 ¥155.00
  • 10 elephant00 得到打赏 ¥150.00
在线客服 快速回复 返回顶部 返回列表