导航: 本港台现场报码室 > 本港台现场报码室 >

本港台现场报码室

PIC单片机在线串行编程(ICSP)的实现2019-09-19


  (In-CircuitSerialProgramming)即在线串行编程,通过保持RB6和RB7引脚为低电平,VDD为编程电压,并将MCLR(VPP)引脚电压从VIL增加到VIHH,器件便进入编程/校验模式。此时,RB6为编程时钟线都是施密特触发器输入,当RB7驱动数据时,它是CMOS输出驱动。

  复位后,为使器件进入编程/校验模式,程序计数器(PC)指向00h地址。然后可向器件发送一个6位的命令,根据这一命令是装入还是读出,14位编程数据将被提供给器件或是从器件中读出。但是在线串行编程模式下,看门狗定时器电路不能产生器件复位。

  通常设计中MCLR/VPP引脚与RC电路相连,情趣丝袜套怎么样_情趣丝袜套好不好_价格、评价,上拉电阻接VDD,电容接地。VPP电压必须与电路的其它部分隔离,根据电容器的大小,RC电路可能影响ICSP的操作。因此当RC电路与MCLR/VPP相连时,可以使用了肖特基型二极管来隔离电路。当对PICmicro®单片机编程时,MCLR/VPP引脚将被同时驱动至大约13V,因此应用电路必须与编程器提供的编程电压隔离。

  RB6和RB7引脚用于PICmicro®单片机的串行编程。RB6是时钟线是数据线是双向引脚,编程时由编程器驱动,校验时由PICmicro®单片机驱动。这两个引脚必须与电路的其它部分隔离,从而在编程时不会对信号产生影响。将RB6和RB7与电路其它部分隔离时必须考虑编程器的输出阻抗。隔离电路必须使RB6能够作为PICmicro®单片机的输入,而RB7能够作为双向引脚(PICmicro®单片机和编程器都能驱动它)。

  为简化接口设计,使用microchip推荐的I/O引脚的最佳方法:将RB6/RB7专用于ICSP;这些端口作为输出时,具有极轻的负载;采用隔离电路,使信号满足ICSP规范。

  编程引脚的总电容将影响编程器输出信号的上升速率。典型电路中,一般在VDD和地之间接有几百微法的滤波电容以抑制噪声和电源电压波动。但是这种电容需要编程器必须具有相当强的驱动能力,才能满足VDD上升速率的要求。大多数编程器只能对PICmicro®单片机进行编程,而不能驱动整个应用电路。一种解决方案是在编程器和应用电路之间加一块驱动电路板。驱动电路板有独立的电源,应该满足VPP和VDD引脚电压上升速率的要求,并可为整个应用电路供电。RB6和RB7是否需要缓冲取决于具体的应用。

  Microchip编程规范规定器件应在5V电压下编程。如果应用电路只能在3V电压下工作,那么需要一些特殊的措施。例如在编程时将PICmicro®单片机与其它应用电路完全隔离。另一个问题是,必须在应用电路的最小和最大工作电压下对器件进行校验。例如,在一个使用三个1.5V电池供电的系统中,其工作电压范围是2.7V到4.5V。而编程器必须在5V电压下对器件进行编程,并且必须在2.7V和4.5V电压下对程序存储器进行校验,以确保编程正确。这样可以保证PICmicro®单片机在整个工作电压范围内都能正常工作。

  PIC单片机在代码执行前振荡器上电延迟定时器要等候1024个振荡周期。RC振荡器不需要上电延迟时间,因此不使用上电延迟定时器。编程器必须在RC振荡器振荡4次之前,秋季家装趋势智能化北京南京上海最爱智能门锁!令MCLR/VPP达到进入编程模式所需的电压。如果RC振荡器振荡了4次或4次以上,程序计数器将会增加到一个不确定的值X。如果这时器件进入编程模式,程序计数器不为零,编程器将从偏移量X开始烧写代码。有一些方法可以弥补MCLR/VPP的低上升速率问题。第一种方法是先不接RC振荡器的电阻,对器件编程后再接入R电阻。另一种方法是在编程时用编程接口将PICmicro®的OSC1引脚短接到地,这样在编程期间便不会产生振荡。

  综合考虑以上情况,使用最简方式实现PIC18F4550的ICSP连接电路。在电路中,增加了由RD0和RD1口驱动的发光二极管,由此来验证烧写电路是否能够正常工作。



友情链接:

Copyright 2018-2021 本港台现场报码室 版权所有,未经授权,禁止转载。

本港台现场报码软件| 本港台同步报码室| 手机现场报码开奖直播| 凤凰马经| 香港中彩堂| www.tema188.com| 2017香港特马资料| 白小姐一肖中特料| 一肖中特免费公开选料| 一肖中特| 品特轩心水论坛| 888心水论坛|