技术中心
 
 

P89V51RD2单片机的自调试与在线编程

   日期:2012-09-19     来源:互联网    
核心提示:传统的单片机系统开发中总是离不开仿真器和编程器。随着电子和计算机技术的迅猛发展,单片机技术也得到了空前的发展。部分16位单片机和32位 ARM微控制器都带有JTAG接口,通过各自不同的专用硬件工具在指定的软件集成开发环境中进行在线调试和编程。

  传统的单片机系统开发中总是离不开仿真器和编程器。随着电子和计算机技术的迅猛发展,单片机技术也得到了空前的发展。部分16位单片机和32位 ARM微控制器都带有JTAG接口,通过各自不同的专用硬件工具在指定的软件集成开发环境中进行在线调试和编程。某些片内集成Flash存储器、基于 MCS-51增强内核的8位单片机可以通过专用接口和独有的专用硬件工具在指定的软件集成开发环境中进行在线调试和编程。如果能够在众多单片机中找到一款在通用接口下实现在线调试和编程的单片机,将对简化MCS-51内核的8位单片机系统开发和进一步普及具有极其重要的意义。

  NXP公司(原Philips半导体公司)是最早获得MCS-51技术授权的公司,也是后继发展MCS-51内核8位单片机产品最多、最系统的公司。 P89V51RD2单片机是其推出的新一代基于MCS-51内核的8位单片机,内部集成64 KB Flash程序存储器和1 KB RAM数据存储器,具有自调试(SoftICE)、在系统编程(ISP)和在应用编程(IAP)功能,这些功能都是在RS-232标准串口下实现。采用 P89V51RD2单片机,可以通过UART标准接口在KeilμVision编程环境下用KeilMonitor-51 Driver直接连接系统硬件来调试程序。完成调试后,在FlashMagic工具软件下进行编程。

  本文介绍了采用P89V51 RD2的最新技术在单片机系统开发中的应用思想和方法。采用这种方法可省去传统单片机系统开发中必需的仿真器和编程器,提高了开发过程中的程序设计效率,增强了最终系统的软件维护和升级能力。

  1 在线调试和编程功能的硬件电路设计

  P89V51RD2单片机SoftICE和ISP功能的电路接口较为简单,但为了兼容NXP公司其他能够在+5 V下实现ISP功能的Flash单片机的在系统编程功能,实现在线调试和在系统编程的接口电路原理图如图1所示。

  

  在图1所示的电路中,通过标准的串口通信线将PC与其相连,当SELECT开关将P89V51RD2单片机的PSEN引脚连接到+5 V时,单片机处于正常工作状态;当SELECT开关将PSEN引脚连接到地时,单片机处于ISP状态,FlashMagic工具软件对+5 V可编程的Flash单片机进行在线编程。

  2 程序调试仿真的实现

  P89V51RD2单片机在激活SoftICE功能后就可以实现对程序的单步仿真调试、多步仿真调试及全速运行下的仿真调试。仿真调试主要分为3步:激活P89V51RD2的SoftICE功能、设置硬件仿真环境和调试程序。

  2.1 SoftICE功能

  SoftICE功能的激活需要FlashMagic软件的支持,FlashMagic软件可从NXP公司或其他相关网站下载。目前支持51单片机的 FlashMagic的最高版本为V3.54,高版本主要用于支持NXP公司的ARM器件,对该公司的51器件不支持。

  在含有图1所示接口电路的单片机应用系统中,首先用SELECT开关将单片机的PSEN引脚连接到+5 V,然后启动FlashMagic软件,在主界面中配置各参数为:COMPort——根据具体连接而定,通常为COM1或COM2;BaudRate—— 9 600,这是由P89V51RD2内部固件所确定的;Device——P89V51RD2;Interface——None(ISP)。在ISP菜单下选择“Enable SoftICE”命令项,进行SoftICE功能的激活。

  2.2 设置硬件仿真环境

  单片机应用系统程序的编译和仿真在。KeilμVision环境下进行,在调试程序之前,需要对工程进行Debug设置,选择软件仿真或硬件仿真。软件仿真使用计算机来模拟程序的运行,不需要建立硬件平台就可以快速得到某些运行结果;硬件仿真是最准确的仿真方法,必须建立硬件平台,通过PC机→硬件仿真器 →用户目标系统进行系统调试。采用硬件仿真的方法,硬件平台即为带有图1所示接口电路的单片机应用系统,设置硬件仿真环境的具体操作步骤如下:

  首先,点击所建工程:Project菜单中的Options for Target‘Targer 1’,出现工程的配置窗口,点击Debug设置,选择KeilMcmitor-51 Driver,具体参数设置如图2所示。

  

  然后,设置仿真器参数。建议波特率设置范围300~38 400。为避免程序中的中断和Keil硬件仿真环境中的中断互相冲突,不选择“Stop ProgramExecution with SerialInterrupt”。仿真器参数的设置如图3所示。

  

  完成P89V51RD2单片机的SoftICE功能激活和在Keil μVision环境中的硬件仿真环境设置后,可以进行程序的调试仿真。

  3 在系统编程的实现

  当激活SoftICE功能的单片机完成程序调试后,就可将最终的程序代码下载到NXP公司的其他具有ISP功能的Flash单片机中。这里需要注意:只有未曾激活Soft-ICE功能P89V51RX2系列单片机才支持ISP功能,因为激活SoftICE功能的单片机已取消了ISP功能。P89V51RX 和P89LV51RX系列单片机的在系统编程相对比较简单,只需在FlashMagic主界面进行如图4所示的设置后,点击图中的Start按钮,就可以完成单片机的编程。完成编程后,按系统复位按钮,单片机应用系统就可以正常运行。

  

  NXP公司推出的80C51单片机除了以上2种系列以外,还有P89C51Rx2Hxx、P89C51Rx2xx、P89C60X2/61X2和 P89C66x等系列Flash单片机,这些单片机都可以采用图1所示的接口电路进行在系统编程。只是编程时,需要通过SELECT开关将单片机的 PSEN引脚接地,使单片机在复位后能够直接进入ISP状态,然后再进行上述编程。在使用这些系列单片机的在线编程时,还应注意启动向量(BOOT VECTOR)和状态字(STATUS BYTE)的设置问题,具体情况可以查阅具体型号单片机的使用手册。

  4 P89V51RD2单片机应用系统开发

  下面以P89V51RD2单片机在云台控制器设计为例,介绍系统开发中的全过程。采用P89V51RD2的单片机应用系统开发过程如图5所示。

  

  ①系统需求分析。通过现场调研及与用户交流,全面、深入、准确地分析云台控制器所要实现的功能、应用环境、应用对象、应用过程和具体要求,从整体上得出云台控制器所要达到的目标及系统所要实现的功能、完成的具体任务、产品的形式,最后形成需求分析报告。

  ②设计方案。在需求分析的基础上,进行系统方案设计,确定出单片机应用系统的具体技术方案。包括:系统性能设计、功能设计、工作原理设计、软件结构设计、程序流程设计和通信协议设计等内容。

  ③系统硬件设计。根据系统的性能和需要实现的功能,设计系统硬件,这时,应考虑将图1所示的接口电路集成到系统硬件中,为采用P89V51RD2进行在线程序调试仿真做好准备。

  ④软件编程和在线调试。根据软件结构设计、程序流程设计和通信协议设计等内容进行模块化程序设计,并采用激活了SoftICE功能的P89V51RD2单片机连接系统硬件进行在线程序仿真调试。

  ⑤选择单片机型号。根据连接硬件调试通过的系统软件程序,估算程序所占用的代码空间,在NXP公司推出的众多Flash单片机中选择合适的型号。

  ⑥单片机编程。对所选型号的单片机进行在线编程。

  结 语

  在单片机系统开发中,采用具有自调试和在系统编程功能的单片机,对降低系统开发成本,加快开发进程,提高系统的可维护性都具有十分重要的意义。本文介绍了 NXP公司的新一代单片机P89V51RD2在单片机系统开发中应用的思想和方法,对于那些已采用或即将采用:NXP公司Flash单片机的设计人员都具有很好的参考价值。

 


 
  
  
  
  
 
更多>同类技术
 
全年征稿 / 资讯合作
 
推荐图文
推荐技术
可能喜欢