[学习资料] PIC 入门须知

[复制链接]
59482|189
 楼主| XIEYUANBIN 发表于 2010-4-17 12:22 | 显示全部楼层 |阅读模式
本帖最后由 XIEYUANBIN 于 2013-11-29 19:53 编辑

芯片数据手册:可在www.microchip.com 查找及下载,目前大多数新的芯片均有中文数据手册


免费的集成开发环境MPLAB IDE及MPLAB X IDE
免费的集成编译调试环境:集成了工程管理、语法高亮显示的文本文件编辑器、汇编编译器、功能强大的软仿真调试器等,同时可外挂多种C编译器、硬件仿真调试器、烧写器等。
MPLAB IDE下载地址:http://www.microchip.com/stellent/idcplg?IdcService=SS_GET_PAGE&nodeId=1406&dDocName=en019469&part=SW007002
MPLAB X IDE 下载地址:http://www.microchip.com/pagehandler/zh-cn/family/mplabx/

注意事项:必须安装在C:盘,工程及文件夹名、文件名不能有中文及其他双字节文字。MPLAB X IDE 需安装 JAVA 6.0以上。适用于跨平台应用。


主要的C语言编译器
介绍及下载网址:http://www.microchip.com/stellent/idcplg?IdcService=SS_GET_PAGE&nodeId=1406&dDocName=en534868&page=wwwCompilers
目前MPLAB支持所列的所有C编译器的内嵌调试,单步,全速都没问题。
注意事项:不同的单片机系列必须使用不同的编译器,目前大多数编译器都有免费的试用版或限制版本下载,正版的也不贵。

低成本下载器、在线调试器

目前有ICD2,KIT2,ICD3,KIT3,推荐ICD3,KIT3,
介绍网址:http://www.microchip.com/stellent/idcplg?IdcService=SS_GET_PAGE&nodeId=2519¶m=en534451

ICD3,KIT3特点:成本低,速度快,集成了编程器(或称下载器)和在线调试器,支持多断点,调试、下载速度非常快,而且KIT2、KIT3支持脱机烧写,这对一些不方便拿到电脑边调试的项目很有用,而且可以作为小批量量产的选择方案。

注意事项:缺点是要占用一定的单片机资源,包括引脚、部分程序和数据寄存器等,而且要特别注意引脚上面零件不能影响电平及数据通讯,20PIN及以下的单片机需要用一个专门制作的DEBUG转接头才能仿真,否则只能烧写程序后盲调。
引脚的接法及注意事项在每种产品的用户手册里均有特别说明。


使用低成本在线调试器(ICD2,ICD3,KIT2,KIT3)调试之前须知
首先请确认:
1.MCLR上不能有大于104的电容,不能有钳位二极管,PGD,PGC上不能有任何电容电感性负载,不得有上拉电阻。连线不得超过0.5米。USB线也很重要,大街上买的3块一根的线不能用,这些都将导致通讯不畅,容易死机等毛病。
2.在MPLAB中连上在线调试器之前,最好确认选择由目标板供电。连上之后请确认是否识别出目标芯片。
3.建立工程,加入源文件之后,用C的必须选择DEBUG模式编译,用汇编的必须留出一定的资源给DEBUG模块使用,具体什么资源,请参考MPLAB帮助。每次修改程序编译成功之后必须重新烧写(或叫下载)。

常见问题,也是最需要注意又常常被忽略的问题:
ICD2,KIT2,ICD3,KIT3常常掉线或连接不上,这都是USB惹的祸,请使用原装的USB线或到市场上买一根20块钱的有屏蔽层的USB线,这样会省很多麻烦



PIC单片机系列介绍
PIC单片机目前有8位系列、16位系列和32位系列,简单介绍如下:

8位机系列
早期一次性编程的有PIC12Cxxxx系列、PIC16CXXX系列,目前不推荐使用,但还有一些老产品在用,所以还有出货。
目前的FLASH系列产品,PIC10FXXX、PIC12FXXX、PIC16FXXX,PIC18FXXXX等,PIC10F/PIC12F属于低档8位单片机,某些系列带8BIT AD口,价格低,体积小,适合一些小应用,PIC16F属于中档8位单片机,大多数带10BIT AD口,还有诸如CCP,SPI,I2C,UART等外设端口,价格适中,出货量大,PIC18F系列属于高档8位单片机,价格偏高,小批量购买的价格和16位单片机差不多。当然外设功能丰富。
8位机的C编译器,PIC10,12,16系列目前的主流编译器是HI-TECH的PICC,18系列的主流编译器有HI-TECH的PICC18及PICC18MCHP自己的PICC18,均为收费软件,但有评估板或限制版供免费下载使用。现在还有XC8/XC16/XC32等等。
单片机介绍网址:http://www.microchip.com/stellent/idcplg?IdcService=SS_GET_PAGE&nodeId=2696¶m=en537796



16位单片机系列
有dsPIC30F系列,dsPIC33FJ系列,dsPIC33EP系列,PIC24F系列,PIC24H系列等等
dsPIC30F及dsPIC33FJ、dsPIC33EP系列是MCHP推出的带DSP内核的高性能数字信号控制器,被称为"DSC",dsPIC30F是5V供电系统,33FJ系列是3.3V供电系统。适合需要一些高速处理AD信号的场合,其中33FJXXXGPXXX系列适合音频数字信号处理,33FJXXXMCXXX及30F系列适合马达控制场合。

PIC24F系列及PIC24H系列是普通的16BIT MCU,适合一些要求较高的应用场合

16位单片机共用一种C编译器:MCHP自己的PICC30及HI-TECH的PICC30,收费软件,同样有限制版或试用版供下载免费使用。

16位DSC及MCU介绍网址:http://www.microchip.com/stellent/idcplg?IdcService=SS_GET_PAGE&nodeId=2629¶m=en533465


32位单片机系列
PIC32系列为MCHP在2007年发布的一个系列高端单片机系列,最高工作频率80MHz,
以下文字是我从网站说明直译,有错请指出:
其特点:



80 MHz, 1.56 DMIPS/MHz CPU core
80MHz,每MHz的工作频率可提供1.56MIPS的整数运算能力的内核。

Single cycle multiply and divide hardware
单指令周期的乘法和除法运算器
Flash pre-fetch module, 256Byte cache
FLASH预取指令技术,256字节深度缓存
Fast context switch and interrupt response
高速切换及中断响应
8 ch. DMA controller
8通道 直接存储器存取控制器
Key peripherals have dedicated DMA channels
键周边设备有专用的 直接存储器存取通道
Atomic bit manipulation
最小单位的二进制处理?


PIC单片机的特点及与51系列单片机的区别:

这里仅以使用广泛的中低档PIC16/PIC12/10系列为例说明。
PIC系列单片机采用哈佛总线结构,程序空间总线和数据总线分开,地址长度也不一样,也同样不在一个连续的空间,程序为单字结构,一句程序占用一个程序字长,这与51不一样,51系列则采用冯.诺依曼结构,程序空间和数据空间共用一组8BIT的总线,程序空间和数据空间共用一个连续的地址空间;程序为多字节结构,根据不同指令及数据每句程序有不同的长度,这种结构有可能在程序跑飞的时候让系统把数据当做指令执行。
PIC系列单片机使用精简指令集,总共不超过35条指令,采用预取指令的做法使绝大多数指令只要一个指令时钟周期,51则采用复杂指令集,需要4个或更多指令周期才能执行一条指令。
PIC中低档单片机只有一个中断入口,一些低档单片机甚至没有中断,中断发生后需要用软件清除中断标志,并且需要用软件来判断中断源,这与51系列有丰富的中断入口相比有一些局限,而且由于指令长度的局限,PIC 程序和数据寻址采用分页(PAGE)和分块(BANK)的做法,在程序跳转和数据查找方面需要注意页面和块的跳转。
PIC系列单片机采用硬件堆栈,堆栈只储存程序跳转前的程序地址,而且堆栈深度最多8级,不能支持程序的无限嵌套,不能使用51系列PUSH,POP等方便的数据堆栈指令来保护现场。在中断中保护现场比较繁琐。


PIC单片机汇编语言编程基础
https://bbs.21ic.com/icview-86137-1-1.html


关于内置或外置EEPROM E2ROM 容易丢数据的一些问题讨论https://bbs.21ic.com/icview-85555-1-1.html





PICC中的ram和rom的一定空间,如何让编辑器保留?
https://bbs.21ic.com/icview-220292-1-1.html

dsPIC 及PIC30的C 编译器用户手册:



后面内容在陆续补充中:

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

×

评分

参与人数 1威望 +1 收起 理由
jeffwoo + 1

查看全部评分

大荣纺仪 发表于 2010-4-18 14:02 | 显示全部楼层
好东东
yewuyi 发表于 2010-4-19 00:01 | 显示全部楼层
关于调试工具:
一般可以选择ICD2、PICKIT2、ICD3、PICKIT3、REALICE等几个工具,20PIN封装及20PIN以下的芯片,一般都需要使用一个DEBUG转换头,需要单独购买,不包含在工具中。
iaiwork21 发表于 2010-4-19 20:40 | 显示全部楼层
Kit2和kit3才有离线烧写,看了一下,除了容量不一样,还有个serialized usb,这是干嘛用的?
 楼主| XIEYUANBIN 发表于 2010-4-20 12:49 | 显示全部楼层
就是全速的USB口
playstation2 发表于 2010-4-20 19:52 | 显示全部楼层
谢工~~顶下,,,正在学习pic
headwolf_83 发表于 2010-4-21 12:10 | 显示全部楼层
KIT3已经支持脱机烧写了。从MPLAB IDEV840开始就支持了。
headwolf_83 发表于 2010-4-21 12:10 | 显示全部楼层
目前就是PIC32系列的脱机,PICKIT3还不支持.
martial 发表于 2010-4-21 15:35 | 显示全部楼层
做个标志回头学习!
 楼主| XIEYUANBIN 发表于 2010-4-22 08:58 | 显示全部楼层
KIT2、KIT3目前均支持脱机烧写,这对一些不方便拿到电脑边调试的项目很有用,而且可以作为小批量量产的选择方案之一。
麻烦大斑竹将此贴长期置顶,我只有3个月的期限。
phenix01 发表于 2010-4-24 17:12 | 显示全部楼层
yewuyi 发表于 2010-4-24 17:27 | 显示全部楼层
好像我也只有3个月的置顶权限哦,超过3个月的时间设置不了
 楼主| XIEYUANBIN 发表于 2010-4-26 20:44 | 显示全部楼层
呵呵,没办法。。。。。。继续更新中
兴隆 发表于 2010-4-29 16:22 | 显示全部楼层
想用16f676,手里有ICD2,不支持676咋办啊?
ym2008 发表于 2010-4-29 17:12 | 显示全部楼层
非常感谢!!!
 楼主| XIEYUANBIN 发表于 2010-4-30 16:02 | 显示全部楼层
15# 兴隆
676需要一个转接头,上面有一个带676内核的芯片。如果实在不想买那个转接头,可以直接烧写调试+SIM,或者申请其他芯片仿真移植。
兴隆 发表于 2010-5-11 18:38 | 显示全部楼层
本帖最后由 兴隆 于 2010-5-11 18:42 编辑

请推荐个ICD2(KIT3)支持的芯片,作为调使用,和PIC676接近的,方便以后移植到PIC676上去。我记得ICD2不太好用,经常连不上,有没有必要再买一个KIT3,淘宝网上有买的280元的。比ICD2好用吗?
 楼主| XIEYUANBIN 发表于 2010-5-12 10:21 | 显示全部楼层
kit3 比较好用,676要找还真不好找接近的又不用适配头的,你可以用772替代
但脚位不太一样
兴隆 发表于 2010-5-13 20:56 | 显示全部楼层
772偏冷,不好找啊。
calm_lrc 发表于 2010-5-21 13:33 | 显示全部楼层
盖个章
您需要登录后才可以回帖 登录 | 注册

本版积分规则

56

主题

2078

帖子

16

粉丝
快速回复 在线客服 返回列表 返回顶部