新闻中心

EEPW首页>嵌入式系统>设计应用> 51单片机开发主要方法

51单片机开发主要方法

作者: 时间:2016-11-23 来源:网络 收藏
ISD51 (在线调试器)为8051编程用户提供了新的监控调试技术。将 ISD51 进行配置后与您的用户程序连接起来用户就可以通过8051的一个串口直接在芯片上调试程序了。ISD51的软件和硬件可以工作于最小模式。它可以运行于带有外部或内部程序空间的系统并且不要求增加像冯.诺伊曼架构的数据存储器等的特殊硬件部件。ISD51 可以工作在像 Philips LPC 系列之类的微型单片机上并且可以完全访问其 CODE 和 XDATA 地址空间。
ISD51硬件需求,一个8051兼容串口, 500-700字节的程序代码在相应数量的特殊积存器中运行,6字节堆栈空间,1字节IDATA RAM,为每个软件断点预留2字节IDATA RAM 。
ISD51在你的8051系统里增加了一个串口中断函数 (ISD51中断)。当ISD51连接到 uVision2 调试器时, 8051输入ISD51的中断函数。只要到程序运行一被停止, 8051就只运行ISD51中断服务程序当uVision2调试器发出一个“Go”的指令, 8051就脱离ISD51中断函数并且运行用户程序。如果没有设置任何断点或者如果所有断点设置为硬件断点, 8051 就会全速运行用户程序。如果设置了软件断点, 8051在相应8051 CPU指令后面输入ISD51 中断函数。ISD51 中断服务程序会检查是否8051程序到了一个断点地址,如果是,开始和 uVision2 调试器通讯。所以, 当使用软件断点时,8051 的程序运行速度会变得相当慢(相差100倍左右)。一旦“ISD51 系统在线调试器”被作为中断函数实现,其它和 ISD51 系统的中断优先级一样,甚至比ISD51优先级更高的中断函数中就不能再设置断点或者单步执行了。默认状态下,ISD51 中断函数使用的中断优先等级为0级。uVision2 调试器发送一个 0xA5 的字符到 ISD51 的中断函数中,使用户程序停止并且开始与调试器通讯, 当 uVision2 调试器收到请求信号后,8051 就会开始执行程序。
当然光是有ISD51还不够,还要选择合适的硬件整个系统才能有效的运行起来。ISD51的调试过程是这样的,首先将带有ISD51接口函数的用户代码烧写到MCU的FLASH中,然后打开Keil C完成一些必要的设置后,就可以运行ISD51进行代码的调试了。根据以上分析,要实现代码的调试,就要求反复擦写单片机,而象89Sxx、STC系列的单片机都具有ISP功能,在没有编程器的情况细很容易实现擦写。

为了调试方便自己写了一个ISD51的模板程序,支持C编程,无需仿真器,只要在主函数中添加用户代码,就可以完成单步、断点等调试功能。

本文引用地址://m.amcfsurvey.com/article/201611/320539.htm


关键词:51单片机主要方

评论


技术专区

关闭