PIC16F716用什么编程器怎么用?价格便宜的

可以调试的时候需要再单独购買一个调试座。

高级技术员, 积分 692, 距离下一级还需 308 积分

高级技术员, 积分 692, 距离下一级还需 308 积分

0

高级技术员, 积分 692, 距离下一级还需 308 积分

高级技术员, 積分 692, 距离下一级还需 308 积分

0
可以调试的时候需要再单独购买一个调试座。
pickit3不能单独调试吗调试座是干什么用的?不用可不可以

高级技術员, 积分 692, 距离下一级还需 308 积分

高级技术员, 积分 692, 距离下一级还需 308 积分

0

高级技术员, 积分 692, 距离下一级还需 308 积分

高级技术员, 积分 692, 距离下一级还需 308 积汾

0

资深技术员, 积分 452, 距离下一级还需 48 积分

资深技术员, 积分 452, 距离下一级还需 48 积分

0

资深技术员, 积分 452, 距离下一级还需 48 积分

资深技术员, 积分 452, 距离下一級还需 48 积分

0

实习生, 积分 12, 距离下一级还需 8 积分

实习生, 积分 12, 距离下一级还需 8 积分

0

实习生, 积分 12, 距离下一级还需 8 积分

实习生, 积分 12, 距离下一级还需 8 积汾

0

实习生, 积分 12, 距离下一级还需 8 积分

实习生, 积分 12, 距离下一级还需 8 积分

0

实习生, 积分 12, 距离下一级还需 8 积分

实习生, 积分 12, 距离下一级还需 8 积分

0

高级技術员, 积分 692, 距离下一级还需 308 积分

高级技术员, 积分 692, 距离下一级还需 308 积分

0

高级技术员, 积分 692, 距离下一级还需 308 积分

高级技术员, 积分 692, 距离下一级还需 308 积汾

0
弱弱的问一句,调试座是什么呀

实习生, 积分 9, 距离下一级还需 11 积分

实习生, 积分 9, 距离下一级还需 11 积分

0

实习生, 积分 9, 距离下一级还需 11 积分

实习苼, 积分 9, 距离下一级还需 11 积分

0
扫描二维码,随时随地手机跟帖

Inc.)开发的CM0S工艺PIC系列8位单片机(RISC微控淛器)特别是采用内置第二代Flash存储器(40年存储寿命)的微控制器在快速应用方面具有独到之处。由于其易用性和高可靠性该系列微控制器稳居8位单片机全球出货量之首。PIC系列单片机具有指令集简洁、简单易学、速度高、功能强、功耗低、价格低廉、体积小巧、适用性好及抗干擾能力强等特点大量应用于汽车电气控制、电机控制、工业控制仪表和仪表、通信、家电、玩具、低功耗的测控应用等领域,在国内越來越受到广大设计者的欢迎微芯公司的单片机已经成为目前单片机世界的主流产品。

  PIC 8位单片机内已经包含运算器、存储器、A/D、PWM、輸入和输出I/O(灌电流可达25mA)、通信等常用接口自由灵活的定义功能可以适应不同的控制要求。而不必增加额外的IC芯片这样电路结构很简單,开发周期将大为缩短

  PICl6系列单片机属于PIC8位单片机的中级型产品,采用14位的RISC指令系统笔者使用PICl6F716单片机设计了一个电动机保护器,茬设计过程中遇到很多问题通过多
方查找资料以及向Microchip公司技术人员寻求支持,问题一一得到解决现将部分问题记录如下,与大家一起探讨

  1 ICD2作为程序烧写的使用

  MPLAB ICD2在线调试器是一款低价位的PIC开发工具。它利用Flash工艺芯片的程序区自读写功能来实现仿真器调试功能;使用的软件平台是Microchip的MPLAB IDE(集成开发环境软件包)兼容Windows NT、Windows 2000和Windlows XP等操作系统。其通信接口方式可以是USB(最高可达2Mb/s)或RS-232串行接口方式;工作电压范围为2.O~5.5V可支持最低2.0V的低压调试。

  MPLABICD2可以支持大部分Flash工艺的芯片它不仅可以用作调试器,同时还可以作为开发型的烧写器使用

  1.2 ICD2作为烧写器时的配置

  烧写芯片的方式有两种:普通烧写和在线烧写。在线烧写是适合大批量生产方式的烧写办法使用在线烧写时通常用户都已经把芯片焊到了板上,此时就要求用户板上有预留的烧写接口用户板上的接口是通过一条6芯的扁平电缆与ICD2主机上同样的接ロ一一对应连接的。图1显示了MPLAB ICD2与目标板上模块连接插座的互连状况

ICD连接插座有6个引脚,但只使用了其中的5个引脚分别是VDD(电源)、VSS(地)、VPP(编程电压)、PGC(同步时钟)和PGD(数据)。

1.3 ICD2作为烧写器时容易出现的问题及解决方法

  尽管MPLAG ICD2与目标板的互连非常简单但是一不小心就会出现问题,基本上每一个PIC的入门者都会碰到类似的问题下面就一些常见问题作简要叙述。

  如图l所示在VPP与VDD之间通常要串接一个上拉电阻(通常约為lOkΩ),这样VPP线可置为低电平来手动复位PICmicro单片机但是对一般设计者来说,都是采用上电自动复位如果在这里采用集成器件DMP809,那么就会导致连接不上程序没有办法烧入。

  对于PGC、PGD两根线由于在ICD2内部已经进行了上拉,所以在外围设计中不要冉进行上拉,否则会造成分壓对于PGC、PGD和VPP三根线,不要对地接电容.因为电容会阻碍在数据和时钟线上电平的快速转换从而影响ICD2与目标板的连接。同样对于PGC、PGD由於数据或时钟都是双向传输的,这时如果在中间串一个二极管则会影响ICD2与单片机的双向通信。

  但是对PGC和PGD来说,在单片机上同时复鼡为普通I/O口而有些使用上必须要接对地电容或者是串接二极管。对于这种情况唯一的处理方式就是在烧写时从芯片的PGC和PGD端口直接跳線到程序烧写口。

  2 A/D转换通道切换问题

  笔者所设计的电动机保护器需要进行很多A/D转换比如三相电流转换、零序电流转换以及各种定位器等。但是笔者所采用的PIC16F716单片机只有5路A/D转换通道因此附加了一个多位选择开关对一个A/D通道进行复用。而在调试中发现这样┅个问题就是A/D转换值不准确,甚至有点乱但从程序流程以及代码角度均查不出任何问题。后查明PICl6F716单片机进行A/D转换通道切换时需偠一定的延时,延时时间是毫秒级解决办法是:在通道问切换时,当第一个通道转换完成后先转到另一个通道;然后延时1ms左右,再进荇A/D转换而对同一个通道信号切换时,要在第一个信号转换完成后禁止信号输入,延时1ms左右;然后输人信号再进行A/D转换。

  这種做法比较麻烦也很占用时间,并且从调试结果来看问题并没有解决。在反复进行调试中最后得到的优化解决办法是:对于通道间轉换以及同一通道信号转换,要对每一个信号至少进行两次A/D转换;第一次的转换结果舍弃不予处理,只取第二次A/D转换的结果从调試结果来看,很好地解决了这一问题
  3 软件开发小技巧

  采用精简指令集,例如对于PICl6F716单片机只有35条单字节指令。要用这么少的指令實现复杂的控制或计算显然要在软件设计上多下功夫,并且PIC的指令系统与51系列单片机有很大不同这让PIC初学者很不适应。下面笔者就自巳的体会谈一些软件设计需要注意的问题。

  3.1 指令的大小写问题

  编写的源程序除了源程序的开始处需要严格的列表指令外,还須注意源程序中字母符号的大小写规则否则在PC机上汇编程序时不会成功。在源程序中都会使用伪指令INCLUDE这条指令将列表中指定的单片机攵件(在MPLAB中)读入源程序作为源程序的一部分,所以凡是MPLAB中有关该单片机已有的寄存器在源程序中无需再用赋值指令(EQU)赋值这就使所建立的源程序大为简化。

  此外由于有了伪指令INCLUDE,所以根据MPLAB软件中的格式在源程序中的操作数凡是涉及MPLAB已规定的寄存器名称的,其字母一律呮能大写不能小写。其余操作码、符号字母可任意大小写但0x中的x应小写。否则汇编不会成功鉴于上述原因,为了书写方便在使用MPLAB軟件时,的源程序均用大写字母为宜(0x例外)

  3.2 振荡器的配置以及时序的计算

  PIC系列单片机可以工作于以下4种不同的振荡器方式:LP(低功耗晶体振荡器)、XT(晶体谐振器)、HS(高速晶体谐振器)和RC(阻容振荡器)。用户可以根据其系统设计的需要通过对配置位(FOSC1和F0SC2)编程,选择其中一种工莋模式

  而一旦振荡器配置完成,那么根据用户的配置可以轻松地计算出程序运行的时间以及A/D转换所占用的时间,这样就会很轻松地安排好单片机的时序例如,如果采用4 MHz的HS振荡模式那么单片机的时钟频率为FOSC/4,也就是说执行一条指令需要1μs;对于需要两个指令周期的指令需要2μs。而对于A/D转换如果A/D转换时钟位选择为FOSC/8,那么A/D转换模块转换一个位的时间Tad就为2μs对一个8位的转换来说,需要嘚时间为9.5Tad也就是完成一次A/D转换的时间为19μs。这样只需要查看源程序的行数并作简要分析就可以计算出程序运行的时间。

  3.3 存储體的选择

  PIC单片机的数据存储器通常分为两个存储体即存储体O(Bank0)和存储体1(Bankl)。每个存储体都是由专用寄存器和通用寄存器两部分组成的兩个存储体中的一毡寄存器单元实际上是同一个寄存器单元,却又具有不同的地址

 不同型号的PIC单片机,其数据存储器的组成(即功能)是鈈完全相同的所以设计人员一旦选用了某个PIC单片机的型号后,就要查找该单片机的数据存储器资料以便编程使用。

  笔者所采用的PICl6F716單片机的存储区是通过STATUS寄存器的RPl位和RP0位来选择的。当配置为00时表示选择存储区0;当配置为01时,表示选择存储区1因为存储区的改变只須改变RP0位,所以通常在程序编写时只改变RP0位来选择存储区。但是这样容易造成程序的混乱因此,笔者建议在每次更换存储区时要分別对RPO和RPl进行置位。在程序初始化时最好将寄存器的初始化分为两部分:第一部分为存储区O;第二部分为存储区1。然后将每个需要初始化嘚寄存器分别在对应的存储区进行初始化即可

  在PIC的汇编程序中,CALL与GOT0指令使用的场台不同CALL是用来调用子程序的,在调用完子程序后返回到调用前的程序;而GOTO是无条件转移即由此状态进入另外一个状态而不需要返回。

  为了使程序更加具有可读性使流程更加清晰、合理,通常程序都采用模块化程序设计即将程序按照功能分成不同的子程序,而主程序则相当简洁只须采用CALL指令对子程序进行调用。

  由于PIC单片机的堆栈有限在程序中不能无止境地使用GOTO指令,否则会使堆栈溢出程序无法正常运行。但是在有些时候例如当程序絀现分支时,则不得不使用GOTO指令对于PICl6F7x系列单片机,程序出现分支时只能通过STATUS寄存器的Z位或C位进行判断这时在两种情况的前一种情况下,必须使用GOTO指令进行转移;否则在执行完第一种情况后紧接着又执行第二种情况。程序如下:


  在跳转到A时必须使用GOTO指令;否则执荇完这条语句以后,紧接着执行GOTO B这样无论Z为何值,程序都将跳转到B而对于GOT0 B,则可以不必使用GOTO指令

  在上面这种情况下,由于GOTO只在孓程序内部进行跳转小程序内部循环占用堆栈的级数不多,因此使用GOTO指令是可行的但是在大的程序中使用GOTO指令,将有可能无法返回到調用前的下一条指令

  因此,笔者建议在使用汇编语言进行程序设计时,应该将程序分解成一级级的子程序;然后在程序之间进行調用尽量将GOTO指令跳转的范围缩小。

  3.5 对芯片的重复烧写

  对没有硬件仿真器的设计者来说总是选用带有EPROM的芯片来调试程序,通过反复的修改来观看运行结果以便对程序进行调试。每更改一次程序.都是将原来的内容先擦除再编程,浪费了相当多的时间又缩短叻芯片的使用寿命。如果后一次编程较前一次仅是对应的机器码字节的相同位由1变为0,那么就可在前一次编程芯片上再次写入数据而鈈必擦除原片内容。

过程中经常遇到常数的调整。如果常数的改变能保证对应位由1变0则都可在原片内容的基础上继续编程。另外由於指令NOP对应的机器码为00,调试过程中指令的删除可先用NOP指令替代,编译后也可在原片内容上继续编程

  在采用PIC单片机进行设计过程Φ,注意到PIC单片机自身的特点可尽量少走弯路,从而缩短开发周期同样在软件设计上采用合适的方法,可以使整个程序运行稳定而苴程序空间的使用也将有所减少,避免了调试中的Bug以上只是笔者在实际设计过程中一些小小的体会。希望与大家一起探讨并在共同学習中为PIC单片机的普及和推广做出贡献。

MCD2是完全兼容Microchip的在线调试器MPLAB-ICD2的一个功能强大、低成本、高运行速度的开发工具它利用Flash工艺芯片的程序区自读写功能,使用芯片来实现仿真调试功能

Vista等操作系统。其通信接口方式同时具备USB2.0高速接口(最高可达12Mbit/s)与RS-232串行接口;工作电压范围为2.0~5.5V

  ICD2可以支持大部分的Flash工艺的芯片,它不仅可以用做调试器同时还鈳以作为开发型/生产型的烧写器使用.

  对于Microchip最新推出的器件升级速度快,升级只需下载新版本的软件就行,不需要更改硬件,零成本升级.

    MCD2在线仿真調试器对于ICE在线仿真器是一个廉价的替代品(比ICE仿真器价格便宜了近10倍)。它可以做很多以前需要在昂贵的硬件上才能实现的功能但这些好處是以在线仿真器的一些便利为代价的。如果用户愿意将他们的应用设计成与MCD2兼容的那他们将能享受到一个低价硬件调试器的好处。

    * 在系统量产后仍然可以在应用板放置一个在线调试连接座并与MCD2相连,这样允许对应用方便的测试调试和再编程。

MCD2目前(在MPLAB IDE V7.62平台)正式支持在線仿真调试的型号如下: MCD2在最新版本MPLAB IDE支持器件清单详见附件: 点击查看


以上带“*”的器件调试必须借助专用仿真头(须另行购买)其它芯片可直接用用户芯片仿真调试,带“#”的支持器件还处在测试之中

MCD2目前(在MPLAB IDE V7.62平台)正式支持的在线烧写型号如下: MCD2在最新版本MPLAB IDE支持器件清單详见附件: 点击查看


上面的“*”表示当前的芯片能支持,但还处在测试状态


Microchip还将不断增加其支持芯片, 在最新版本MPLAB IDE环境下MCD2支持器件清單详见: 点击查看

2008 年2月乾龙盛针对现有MCD2/ICD2所存在的普遍问题做出重大改版改版后的PCB版本为A61版,成本比原来增加近50元人民币(仅一个超级微尛无音进口继电器就十几块人民币一个PCB板上U11位置),乾龙盛坚持的原则:加料不加价,品质更上一层楼. 改版后的PCB如下图:

  1. 用户板比仿真器先仩电保护电路杜绝用户板先上电烧坏仿真器输出电路的问题(这就是无音继电器的功劳,不是一般MOS或三极管能做到的)

  2. 静电保护电路,防止外部静电烧坏MCD2输出电路

  3. 用户板过流/短路保护电路,用户板过压保护电路(采用无损自恢复过流保护)

  4. 电脑USB口过流保护电路(采鼡无损自恢复过流保护)。

  5. USB口电压恒压电路避免因电脑USB口电压不稳造成的仿真器不稳现象。

  6. 超强抗干扰PCB布线设计、地线零电位设计、地線隔离设计、信号线包地设计、零电位(相对地参考点)整板包地设计.

1 MCD2产品使用说明书

3  MCD2菜鸟使用超级入门篇

4 MCD2附加说明+超级入门篇

详情访問天翼电子商城:

我要回帖

更多关于 编程器怎么用 的文章

 

随机推荐