0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

入门PIC需要准备什么工具呢?

Q4MP_gh_c472c21 来源:21ic论坛 作者:21ic论坛 2021-03-31 14:24 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

最近,一个帖子上了热榜。一位网友在论坛咨询了关于入门PIC的技巧,背景是这样的:

1:8位的PIC,选什么型号来学比较好?要求这个芯片是近几年【新推出】的【大众化】的,有LQFP32以下封装甚至有PID封装的。

2:MPLAB IDE ,MPLAB X IDE ,MPLAB XC8 ,它们之间是什么关系?需要注册或者购买版权的吗?我只会用C语言,我需要安装什么软件?

3:需要购买下载线吗?还是有USB转串口即可下载?仿真工具暂时就不考虑了(如果是一体化的便宜的也可以考虑)。

4:我之前就喜欢玩AVR的ATmega48-88-168,没有选择M128来玩是因为觉得它比较老款,而且它没有LQFP32以下的封装,再说我也不需要太大的资源

5:最重要的是我不懂得E文,之前的AVR有少量的中文,后来出的基本没有中文数据手册了,而我这几天发现原来PIC【官网】有大量的中文数据手册,而且 MPLAB X IDE 也是中文界面的,既然它对中文这么友好,所有我就想学一下它。这几天我还在【芯圣】单片机那里购买了3块HC89F0541的51系列1T的开发板,正准备来玩一下的,突然发现这个PIC有个中文社区,里面有大量的中文资料,所以,就不想了解HC89F0541了,估计PIC比较可靠是吗?

另外也想说一下这个HC89F0541芯圣单片机,看【芯圣】资料他家的所有单片机都有一个很好的特色,就是:外设功能引脚全映射模块。它允许大部分功能端口可任意映射到任意I/O 端口,比如说UASRT的TXD,RXD,它可以指定由任意的IO脚输出或者输入。

热心的网友是这样推荐的:

开发、学习PIC单片机要用到以下软硬件工具:

1. MPLAB IDE 老的集成开发环境软件,这个是所有PIC单片机的开发平台,2016年以后推出单片机基本上已经不支持了;

2. MPLAB X IDE 新的集成开发环境软件,支持全部的8位、16位和32位芯片(部分比较老的芯片不支持);

3. MPLAB XC8是8位单片机C语言编译器,你用C语言编程必须要用此编译器,需要单独安装配合 MPLAB X IDE 使用;

4. 另外还要用到PIC单片机开发板、编写器(如KIT4或ICD3、ICD4);

5.建议买一个 MPLABPICKit4在线调试器。

以上是最基本的开发配置。

推荐MPLAB X IDE(集成开发环境) + XC8(编译器), 硬件可以直接选择一块curiosity nano开发板。PIC系列8位单片机为适应各种不同的用途,推荐PIC16F722/3/4/6/7。另外,PIC16F1946和PIC16F877A是8位单片机中性价比较高的一种。

最终,panxiaoyi在芯片方面选择了PIC18F27Q10和PIC18F47Q10系列。选择它们是因为它们有中文数据手册,资源丰富,某宝购买方便,也不贵,包邮10多元。下载线选择了pic kit3.5。

a37dd03c-91c1-11eb-8b86-12bb97331649.png

软件环境方面,现在已经安装了 MPLAB X IDE v4.20 没有安装5.x版本,因为4.x的中文界面更好,同时也安装了xc8。

点灯例程:

#include#include#include#include"CONFIGURATION.h"intmain(intargc,char** argv){unsignedlongi;for(i=1000000;i>0;i--){TRISA=0;PORTA=0;}for(i=1000000;i>0;i--){TRISA=0;PORTA=255;}return(EXIT_SUCCESS);}

#ifndefXC_CONFIGURATION_H#defineXC_CONFIGURATION_H#include // include processor files - each processor file is guarded.// PIC18F24Q10 Configuration Bit Settings// 'C' source line config statements// CONFIG1L#pragmaconfig FEXTOSC = ECH// External Oscillator mode Selection bits (EC (external clock) above 8 MHz; PFM set to high power)#pragmaconfig RSTOSC = HFINTOSC_64MHZ// Power-up default value for COSC bits (HFINTOSC with HFFRQ = 64 MHz and CDIV = 1:1)// CONFIG1H#pragmaconfig CLKOUTEN = OFF// Clock Out Enable bit (CLKOUT function is disabled)#pragmaconfig CSWEN = ON// Clock Switch Enable bit (Writing to NOSC and NDIV is allowed)#pragmaconfig FCMEN = ON// Fail-Safe Clock Monitor Enable bit (Fail-Safe Clock Monitor enabled)// CONFIG2L#pragmaconfig MCLRE = INTMCLR// Master Clear Enable bit (If LVP = 0, MCLR pin (RE3) is an input; If LVP =1, MCLR pin (RE3) is MCLR)#pragmaconfig PWRTE = OFF// Power-up Timer Enable bit (Power up timer disabled)#pragmaconfig LPBOREN = OFF// Low-power BOR enable bit (Low power BOR is disabled)#pragmaconfig BOREN = SBORDIS// Brown-out Reset Enable bits (Brown-out Reset enabled , SBOREN bit is ignored)// CONFIG2H#pragmaconfig BORV = VBOR_190// Brown Out Reset Voltage selection bits (Brown-out Reset Voltage (VBOR) set to 1.90V)#pragmaconfig ZCD = OFF// ZCD Disable bit (ZCD disabled. ZCD can be enabled by setting the ZCDSEN bit of ZCDCON)#pragmaconfig PPS1WAY = ON// PPSLOCK bit One-Way Set Enable bit (PPSLOCK bit can be cleared and set only once; PPS registers remain locked after one clear/set cycle)#pragmaconfig STVREN = ON// Stack Full/Underflow Reset Enable bit (Stack full/underflow will cause Reset)//#pragma config DEBUG = OFF // Debugger Enable bit (Background debugger disabled)#pragmaconfig XINST = OFF// Extended Instruction Set Enable bit (Extended Instruction Set and Indexed Addressing Mode disabled)// CONFIG3L#pragmaconfig WDTCPS = WDTCPS_31// WDT Period Select bits (Divider ratio 1:65536; software control of WDTPS)#pragmaconfig WDTE = OFF// WDT operating mode (WDT Disabled)// CONFIG3H#pragmaconfig WDTCWS = WDTCWS_7// WDT Window Select bits (window always open (100%); software control; keyed access not required)#pragmaconfig WDTCCS = SC// WDT input clock selector (Software Control)// CONFIG4L#pragmaconfig WRT0 = OFF// Write Protection Block 0 (Block 0 (000800-001FFFh) not write-protected)#pragmaconfig WRT1 = OFF// Write Protection Block 1 (Block 1 (002000-003FFFh) not write-protected)// CONFIG4H#pragmaconfig WRTC = OFF// Configuration Register Write Protection bit (Configuration registers (300000-30000Bh) not write-protected)#pragmaconfig WRTB = OFF// Boot Block Write Protection bit (Boot Block (000000-0007FFh) not write-protected)#pragmaconfig WRTD = OFF// Data EEPROM Write Protection bit (Data EEPROM not write-protected)#pragmaconfig SCANE = ON// Scanner Enable bit (Scanner module is available for use, SCANMD bit can control the module)#pragmaconfig LVP = ON// Low Voltage Programming Enable bit (Low voltage programming enabled. MCLR/VPP pin function is MCLR. MCLRE configuration bit is ignored)// CONFIG5L#pragmaconfig CP = OFF// UserNVM Program Memory Code Protection bit (UserNVM code protection disabled)#pragmaconfig CPD = OFF// DataNVM Memory Code Protection bit (DataNVM code protection disabled)// CONFIG5H// CONFIG6L#pragmaconfig EBTR0 = OFF// Table Read Protection Block 0 (Block 0 (000800-001FFFh) not protected from table reads executed in other blocks)#pragmaconfig EBTR1 = OFF// Table Read Protection Block 1 (Block 1 (002000-003FFFh) not protected from table reads executed in other blocks)// CONFIG6H#pragmaconfig EBTRB = OFF// Boot Block Table Read Protection bit (Boot Block (000000-0007FFh) not protected from table reads executed in other blocks)// #pragma config statements should precede project file includes.// Use project enums instead of #define for ON and OFF.#endif/* XC_HEADER_TEMPLATE_H */

其他PIC网友优质开箱测评帖:1、[PIC/AVR MCU]【CuriosityNano测评报告】初识PIC16F15244用户:21ic蓝V作者jinglixixi最近,如愿地收到了PIC16F15244Curiosity Nano评估工具包。其实说是工具包会有些误解,它其实是由一块PIC16F15244开发板和2排插针构成。除去包装后,将开发板与排针连接后,则如图1所示。

图1PIC16F15244开发板

由于工具包并没有配置相应的USB线,所以在找到一条USB线后便迫不及待连上电脑相看一下上电后的效果,其状态如图2所示。也就是说除了电源指示灯被点亮外,并无太大的变化。

图2上电效果但与此同时,在电脑上还有着一定变化的,明显的效果就是在安装驱动后,桌面上出现了一个虚拟的U盘,见图3所示。

图3虚拟U盘在打开U盘后,可见到里面存有3个文件,见图4所示。

a86a9de6-91c1-11eb-8b86-12bb97331649.jpg

图4 U盘内容此时若打开资源管理器,则可看到不仅有虚拟的U盘,还有虚拟的串口,见图5所示。

a8ddf908-91c1-11eb-8b86-12bb97331649.jpg

图5虚拟串口观察到这里,似乎能做的也就这些了,那我们就为后续的工作先做些准备把。

1.找到那张器件联络图(原理图),下载为:ww1.microchip.com/downloads/en/DeviceDoc/PIC16F15244_Curiosity_Nano_Schematics.pdf,该原理图给我们的关键内容如图6所示。由此可知,板载的2个器件与MCU的连接关系为:LED(黄色)--- RA2(低电平点亮)SW(用户键)--- RC2(按下为低电平)此外,串口的占用引脚为:TX(发送)--- RC1RX(接收)--- RC02. 找到硬件的用户使用指南

a90bc0f4-91c1-11eb-8b86-12bb97331649.jpg

图6关键内容3. 了解PIC16F15244为我们具有哪些特色,其主要内容为:

a9a25500-91c1-11eb-8b86-12bb97331649.jpg

4. 开发工具的配备,其主要内容为:

a9e0e946-91c1-11eb-8b86-12bb97331649.jpg


随后的工作就是下载软件来构建开发环境了,由于手头的开发环境是基于MPLAB XIDE 5.30,所以需要重新下载安装MPLAB X IDE 5.40,因为在MPLAB XIDE 5.30下是找不到PIC16F15244,这一点似乎不如KEIL,如果能下载个升级包把问题解决了多好!

2、[PIC/AVR MCU]【CuriosityNano测评报告】+初次上手PIC单片机之PWM呼吸灯用户:南来之风非常感谢论坛提供了一次难得的初次体验PIC单片机的机会。官网的资料是非常详细的,对于这款Curiosity Nano,建议从Github上开始学起来。github.com/microchip-pic-avr-examples/pic16f15244-pwm-led-blink

首先是环境的搭建:

aa2f75e8-91c1-11eb-8b86-12bb97331649.png

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

aa7ce0f8-91c1-11eb-8b86-12bb97331649.png

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

ab0914a6-91c1-11eb-8b86-12bb97331649.png

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

acc88cf4-91c1-11eb-8b86-12bb97331649.png

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

与此同时,把GND和RA2引脚引出,连接到一个简易示波器的输入端,可以看到PWM的方波驱动LED闪烁,在简易示波器上显示出响应的波形。

acfa863c-91c1-11eb-8b86-12bb97331649.png

在例程的基础上,增加了几个不同占空比的值,目前占空比可以选择0,12,25,37,50,62,75,88,100。代码比较糙,但还是贴出来了:

uint16_tArray_dutyCycle[] ={0x0000,0x007F,0x00FA,0x177,0x01F4,0x0271,0x02EE,0x036A,0x03E7};uint16_ti;uint8_tindex =0;int8_tdirection =1;voidmain(void){SYSTEM_Initialize();// Initialize the deviceINTERRUPT_GlobalInterruptEnable();// Enable the Global InterruptsINTERRUPT_PeripheralInterruptEnable();// Enable the Peripheral Interruptswhile(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的亮度也随之变化。

3、[PIC/AVR MCU]【CuriosityNano测评报告】+开箱、建立开发平台及LED闪烁

用户:hu9jj

周末收到本次评测的主角PIC18F57Q43核心板,鲜红的外包装依旧那么惹人喜爱:

两个防静电包装袋中分别是排针和PIC18F57Q43核心板:


核心板上的焊盘依旧的交叉错位,稍加用力将排针插入核心板,就可以直接使用,省略焊接步骤。我之前曾打样了几块扩展板,本次依然派上用场:


上电之后,打开MPLAB X IDE,系统自动识别核心板,通过链接就可以下载PIC18F57Q43的相关资料:

120576ae-91c2-11eb-8b86-12bb97331649.jpg

电路图、硬件用户手册及数据表下载完之后,照例先升级PACK包:

12717674-91c2-11eb-8b86-12bb97331649.jpg

我懒得选择,依次升级了全部PACK,因此花了一个多小时才完成:

12f43546-91c2-11eb-8b86-12bb97331649.jpg

准备工作基本完成之后,开始新建项目:

1353d712-91c2-11eb-8b86-12bb97331649.jpg

我安装的是中文版IDE,但不知怎么回事,有时菜单不出现中文,不过这无伤大雅,选择“New Project”就是:

13d8acbc-91c2-11eb-8b86-12bb97331649.jpg

14cbf3cc-91c2-11eb-8b86-12bb97331649.jpg

照旧选择标准项目(参见上图),然后进入第二步,选择芯片类别:

类别选择正确之后,在设备栏中输入“PIC18F57",然后从下拉列表框中选择对应的核心板型号,当然,您愿意录入完整的核心板型号也行,然后在工具栏中选择您的核心板编号,这样项目便会与核心板挂钩:

15d84ed2-91c2-11eb-8b86-12bb97331649.jpg

下一步便是选择编译器:

166f3c98-91c2-11eb-8b86-12bb97331649.jpg

新建项目的最后一步是输入项目名称、选择项目文件存放的位置等:

19c5c77c-91c2-11eb-8b86-12bb97331649.jpg

至此,项目新建完毕,下一步就是通过MCC来配置代码,完善必要的代码文件:

1d258af6-91c2-11eb-8b86-12bb97331649.jpg

可以从Window下拉菜单中点击进入(或退出)代码配置器MCC,也可以直接点击工具栏上的图标进入或退出MCC:

点击之后,首先需要确定MCC配置文件存放的位置,我通常按默认的位置,直接点击“保存”按钮:

1d824192-91c2-11eb-8b86-12bb97331649.jpg

通过下载的电路图,我们知道LED是接在RF3引脚、KEY是接在RB4引脚,因此在引脚图表中将RF3设置成output,将RB4设置成input,为了容易理解,点击右上部分的Pin Module选项,然后在对应引脚的名称设置成KEY和LED:

1e237eea-91c2-11eb-8b86-12bb97331649.jpg

配置完成后,不要忘记点击右上部的"Generate"选项来生成代码:

退出MCC之后,打开main.c文件,添加一个计时用的全局变量ms,并在主循环中写入下列代码,用于计时和控制LED引脚电平翻转:

1eddaa72-91c2-11eb-8b86-12bb97331649.jpg

编译并下载程序到核心板上:

1fc46fe8-91c2-11eb-8b86-12bb97331649.jpg

稍等片刻,程序烧录完毕,黄色LED灯便闪烁起来了,开发平台也顺利建立了。

这是测试的动画:

编辑:jq

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • led
    led
    +关注

    关注

    243

    文章

    24438

    浏览量

    687496
  • cpu
    cpu
    +关注

    关注

    68

    文章

    11218

    浏览量

    222968
  • PIC
    PIC
    +关注

    关注

    8

    文章

    511

    浏览量

    90446
  • 配置
    +关注

    关注

    1

    文章

    194

    浏览量

    19392

原文标题:入门PIC需要准备什么工具

文章出处:【微信号:gh_c472c2199c88,微信公众号:嵌入式微处理器】欢迎添加关注!文章转载请注明出处。

收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    PIC16F17146 Curiosity Nano评估套件核心技术解析

    16F17146微控制器 (MCU)。它由MPLAB® X IDE提供支持,可轻松访问PIC16F17146的特性。探索如何将该器件集成到定制设计中。Curiosity Nano系列评估板包括一个板载调试器。无需外部工具即可对PIC
    的头像 发表于 10-13 14:32 325次阅读
    <b class='flag-5'>PIC</b>16F17146 Curiosity Nano评估套件核心技术解析

    PIC18F56Q71 Curiosity Nano评估套件技术解析与应用指南

    18F56Q71 MCU。该评估板由MPLAB® X IDE提供支持,可轻松访问PIC18F56Q71的各项特性,从而探索如何将该设备评估板集成到定制设计中。Microchip Technology Curiosity Nano系列评估板包括一个板载调试器。无需外部工具
    的头像 发表于 10-11 14:14 365次阅读
    <b class='flag-5'>PIC</b>18F56Q71 Curiosity Nano评估套件技术解析与应用指南

    PIC18F16Q20 Curiosity Nano开发板技术解析与应用指南

    。Curiosity Nano系列评估板包含一个板载调试器。无需外部工具即可对Microchip PIC18F16Q20 MCU进行编程和调试。
    的头像 发表于 10-10 10:31 442次阅读
    <b class='flag-5'>PIC</b>18F16Q20 Curiosity Nano开发板技术解析与应用指南

    PIC16F13145 Curiosity Nano评估套件技术解析

    PIC16F13145板设有板载PIC16F13145微控制器 (MCU) 是Curiosity Nano系列的一部分,以集成调试器而著称。PIC16F13145无需外部工具、编程和
    的头像 发表于 10-09 11:07 347次阅读
    <b class='flag-5'>PIC</b>16F13145 Curiosity Nano评估套件技术解析

    STM32 入门工具选型攻略:新手别再盲目入手,选对了才能少走弯路

    写代码时,你可能搞不懂“为什么这个中断总抢在那个前面执行”“配置错了为什么程序突然就卡死了?”嵌入式入门难,一半是因为技术本身抽象复杂,另一半则是被混乱的工具链和
    的头像 发表于 08-11 17:29 633次阅读
    STM32 <b class='flag-5'>入门</b><b class='flag-5'>工具</b>选型攻略:新手别再盲目入手,选对了才能少走弯路

    入行嵌入式应该怎么准备?

    常会遇到各种问题和错误。因此,具备良好的调试和故障排除能力是非常重要的。需要学会使用调试工具和设备,如示波器、逻辑分析仪和仿真器,以便于分析和解决问题。 六、领域知识嵌入式系统应用广泛,涉及到许多
    发表于 08-06 10:34

    【PCA9958HN-ARD】GUI工具的使用

    完成后会生成桌面快捷方式,长这样: 然后打开该软件,选择相应的开发板就可以进行连接了,界面如下: 到这里,准备工作已经完成了80%了,还有一步需要做,那就是将LPC55S69开发板的固件烧录
    发表于 06-29 10:07

    redefinition of \'gImage_pic2\'

    ‌错误原因分析‌ 错误 redefinition of \'gImage_pic2\' 表明 ‌**gImage_pic2 数组在编译过程中被重复定义**‌,具体原因如下: ‌头文件重复包含
    发表于 04-01 11:55

    芯片封装需要进行哪些仿真?

    器件的封装是非常先进的设计,当然也需要电气仿真。但是这些热机电系统是否还需要其他仿真?您也许已经猜到了,确保高可靠性封装涉及到一系列测试,而多用途仿真工具可以提供高准确
    的头像 发表于 02-14 16:51 1316次阅读
    芯片封装<b class='flag-5'>需要</b>进行哪些仿真?

    IT自动化工具Ansible基础入门

    Ansible是帮助运维人员实现自动化的最重要的工具之一。
    的头像 发表于 02-07 10:00 1325次阅读
    IT自动化<b class='flag-5'>工具</b>Ansible基础<b class='flag-5'>入门</b>

    使用MPLAB Harmony v3软件框架在PIC32CM LS60 Curiosity Pro评估工具包上实现安全引导

    电子发烧友网站提供《使用MPLAB Harmony v3软件框架在PIC32CM LS60 Curiosity Pro评估工具包上实现安全引导.pdf》资料免费下载
    发表于 01-22 16:13 0次下载
    使用MPLAB Harmony v3软件框架在<b class='flag-5'>PIC</b>32CM LS60 Curiosity Pro评估<b class='flag-5'>工具</b>包上实现安全引导

    hyper vm,hyper vm是什么工具

    ,为企业决策提供有力支持。今天就为大家介绍hypervm是什么工具。    Hyper-V是微软开发的原生虚拟化技术,允许用户在单个物理主机上创建和运行多个虚拟机(VM),每个虚拟机都拥有独立的操作系统、应用程序和资源。Hyper-V提供了
    的头像 发表于 01-22 15:59 893次阅读
    hyper vm,hyper vm是什么<b class='flag-5'>工具</b><b class='flag-5'>呢</b>

    hyper v 工具,hyper v 工具有哪些

    了全新的变革。今天就为大家介绍hyperv工具有哪些。    Hyper-V提供了一系列工具和功能,用于管理和优化虚拟化环境。以下是常见的Hyper-V工具及其用途:    1.Hy
    的头像 发表于 01-22 15:54 1241次阅读
    hyper v <b class='flag-5'>工具</b>,hyper v <b class='flag-5'>工具</b>有哪些<b class='flag-5'>呢</b>

    TB3320-PIC单片机集成模拟外设入门

    电子发烧友网站提供《TB3320-PIC单片机集成模拟外设入门.pdf》资料免费下载
    发表于 01-21 14:01 0次下载
    TB3320-<b class='flag-5'>PIC</b>单片机集成模拟外设<b class='flag-5'>入门</b>

    AIGC入门及鸿蒙入门

    人工智能和大数据技术的创新内容生成工具,正逐渐成为瞩目的焦点。它为创意性工作打开了全新的大门,尤其在文本和视觉内容创作方面表现卓越。对于初学者来说,可以通过学习相关基础知识和实践操作来入门AIGC领域。同时
    发表于 01-13 10:32