本期板卡是来自Microchip的8位PIC®MCU开发板DM164137
本期板卡资料已汇总在电子森林中,敬请参考:https://www.eetree.cn/doc/detail/2234,也可参考来自Electronic Hub上关于PIC单片机的案例。
PIC单片机简述:https://www.21ic.com/jszt/picmcu.htm
板卡介绍
今天Funpack带来一款新的开发板,来自Microchip的Curiosity Low Pin Count(LPC)。Curiosity系列开发板是Microchip推出的高性价比,结构统一的MCU快速原型开发平台。能够支持8、16和32位PIC MCU,板上集成了编程器/调试器。
可以看到Curiosity系列开发板上核心芯片都采用了DIP插座方式,这样一块开发板能支持多种型号的MCU,大大方便了用户。比如今天介绍的Curiosity LPC板上采用了DIP20的插座,能支持8位、14位以及20位管脚的PIC单片机。因此板子的性价比很高,目前在得捷电子上价格200左右(https://www.digikey.cn/zh/products/detail/microchip-technology/DM164137/5252514)。
Curiosity LPC是这个系列里最受欢迎的一款开发板,设计很简洁,板上虽然外设资源不多,但是预留了大量接口,为扩展功能提供了极大便利。尤其对初次接触PIC单片机用户来说,Curiosity LPC是最合适的评估平台。
首先来看看开发板的整体结构,主要两部分组成,一个是板载调试编译工具部分PICkit On-Board(PKOB),能支持低电压模式编程和调试。一个是核心芯片部分和以及外设资源。比如DIP插座和全IO引出功能的插座,方便DIY。
主要参数
- 支持具有低压编程功能的8、14、20引脚8位PIC®单片机
- 带有USB接口的集成编程器/调试器
- 与MPLAB X IDE和代码配置器无缝集成
- 多种外设资源mTouch按钮,电位器、按键开关以及用户LED灯
- Mikrobus™支持超过100种MikroElectronika Click™扩展板
- 预留RN4020蓝牙模块接口
Curiosity LPC配套的核心PIC单片机是PIC16F18446,这虽然是一款8位内核MCU,但是在硬件上做了很多优化,非常有自己的特点。比如高分辨率的模拟信号处理,芯片12位ADC接口带信号处理功能,可以硬件做信号的预处理包括触摸传感、平均、滤波、过采样和自动阈值比较,这些一般需要通过软件编程来实现。MCU提供了核心独立外设(Core Independent Peripherals),这些外设可以独立完成各种功能不需要CPU来中断处理,不仅提高了响应速度而且解放了CPU,降低功耗。比如PWM、温度传感、数字控制振荡器等等。PIC16F18446支持先进的电源管理技术,CPU在空闲状态消耗nA级电流,可以关闭特定外设模块,也特别适合低功耗的应用。总体来说,这款单片机提供了很多优化功能,很多一般需要软件编程实现的功能都通过硬件来实现,对于很多特殊应用尤其是低功耗物联网方面非常适合。我们来看看主要的参数:
- RISC架构8位内核,主频达32MHz,增强的中级内核支持48条指令,16级堆栈
- 28Kbyte 程序Flash存储,2KB数据SRAM存储,256B EEPROM
- 支持内存访问分区,可保护代码安全
- 支持超低功耗,睡眠状态最低500nA电流,多种省电工作模式。
- DIP20封装,最大18个可用IO
- 支持计时器、比较器、PWM、UART、I2C、SPI接口
- 12位带计算功能ADC,5位DAC
- 集成温度传感器模块
- 灵活的内部时钟控制
- 支持3V和5V供电
安装下载
Microchip不仅提供了Curiosity这样高性价比的硬件资源,而且提供了完善的软件开发工具,整个生态系统非常成熟。MPLAB IDE是PIC单片机开发的主要工具,而且现在提供了MPLAB Xpress 云端IDE这样的浏览器端开发工具,极大方便了软件编程。
首先我们看看在本地安装的MPLAB IDE的使用,在官网下载最新的版本安装。Microchip本地化做得很好,还有中文简体版本。
可以支持PIC全系列单片机
安装过程很简单,这里要注意,IDE安装完成后还需要安装配置编译器,在最新版本里是没有集成PIC单片机的编译器。
这里提示要去下载XC compilers,因为我们是用8位的MCU,所以去官网下载XC8 compiler安装。
Microchip还提供了一款免费的图形化代码生成器MPLAB Code Configurator(MCC),MCC能够方便配置外设和MCU功能,自动的生成代码,是作为MPLAB的一个插件使用,也需要在MPLAB配置。
安装完成后打开MPLAB,首先配置XC8 编译器,打开tool->option,选择嵌入式栏里的编译工具
这时工具链是空白,选择添加,找到XC8安装目录
类型选择XC8,这样首先把编译器添加了。
然后选择tool->plugin,安装MCC插件,搜索找到MCC进行安装。安装完成后重启IDE。
可以看到工具栏增加了MCC图标
开发板提供了demo工程,包含10个小实验,可以下载打开工程。
这是一个实验工程合集,包含了10个小实验,很有参考价值。我们要先配置下左下角的项目环境。
开发板连入电脑后软件能识别出硬件工具,这时候我们可以开始编译下载程序了。
下面我们看看MPLAB Xpress云端IDE的使用,云端IDE最大好处是不用安装配置开发环境,只要打开浏览器就可以开始编程,使用更方便。访问https://mplabxpress.microchip.com/mplabcloud/ide打开云端IDE。可以选择文件菜单下面导入项目把我们下载的demo程序导入,只需要导入zip压缩文件就行。
云端的编译器都已经配置好,我们只需要编程然后编译下载,使用很方便,如果要使用MCC也可以点击以后安装。
小结
Curosity LPC非常适合做PIC单片机的原型开发,开发板提供了丰富接口,方便用户自己DIY。成熟的软硬件生态系统尤其对初次接触的用户来说使用非常友好。PIC单片机非常有自己特色,尤其内核独立外设使很多功能可以脱离CPU同时完成,提高效率同时解放CPU,在很多具体应用中能简化软件设计。欢迎大家参加活动体验PIC单片机独特的特点。
参考资料
https://www.microchip.com/DevelopmentTools/ProductDetails/DM164137
https://www.microchip.com/wwwproducts/en/PIC16F18446
https://github.com/microchip-pic-avr-examples/pic16f18446-curiosity-lpc-demo-code
https://www.microchip.com/en-us/development-tools-tools-and-software/mplab-x-ide
https://www.microchip.com/en-us/development-tools-tools-and-software/mplab-xc-compilers