如何在单片机上调试Hex文件的程序

来源 :电子世界 | 被引量 : 0次 | 上传用户:sweetyjiaxin
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
  会单片机编程的朋友都知道,在编写一个单片机的程序过程中和编好程序后,都需要多次地调试程序段。一般的方法是用仿真器进行试运行,仿真器有软件仿真和硬件仿真两种。软件仿真只能仿真部分常用硬件,如MPU、8255、RAM、E2ROM等,对LCD显示模块、键盘接口等外接部分就无能为力了。硬件仿真需要选购合适的仿真器设备,一般较贵,而且硬件环境也不一定能完全和所编程序的目标环境完全一样。还有一种比较落后的方法是把编写好的程序编译后,直接烧录到目标单片机环境的芯片上进行调试。一般的芯片出厂后都有规定的重复写入次数。这样,如果编程不顺利的话,芯片多次重复写入,使用寿命就大打折扣了。笔者试过用编程器多次烧录89C51芯片,开始时烧录很快,次数多了以后就不能再一次烧录成功,到后来刚烧录到一半就停止了,因为有一些存储单元校验结果与写入的数据不一致。怎样在编程过程中使程序经常得到实际单片机环境的验证,又不损坏芯片呢?本文介绍一种在实际的单片机目标环境中调试编译后的Hex文件的方法。这种方法不仅适用于MCS-51系列的单片机系统,其它系列的单片机系统依据此方法的基本原理,只需重新编写字节很少的串口中断服务程序仍然适用。
  


  单片机硬件部分
  
  这一调试方法的基础是通过串行通讯手段,把在计算机上编译好的Hex文件发送到目标单片机系统的RAM存储器中。然后,发送运行程序的命令,使已存入RAM的程序在目标单片机系统上试运行,检验程序能否进行正确动作。所以,首先要解决计算机与单片机系统的串口连接问题。一般来说,计算机串口与单片机的串口可用如图1所示的方式进行连接。
  本例中的单片机串口出入端采用了由两个三极管组成的简单电路,经多次试用发现其通信效果极好,当然还可以用专用的集成电路,如MAX323等。
  其次,还需要一个基本的单片机硬件结构以完成Hex文件存入RAM静态存储器。本例中,以AT89C51组成的目标单片机环境,由AT89C51、74HC373、RAM静态存储器组成基本的调试用环境。其它外接电路如LCD显示模块、键盘电路、82C55接口均可按需接入,不影响调试用电路部分的通信和试运行。基本结构部分电路如图2所示。
  


  为了完成与计算机的通信,89C51芯片内部固化了一个短小的串行口预置和中断服务程序,所以EA脚接Vcc,PC所给地址在0000~1FFFH之间,CPU执行片内已固化的程序;所给地址为2000H以上,则执行RAM内保存的程序。为了使RAM内的数据能作为程序数据被执行,本例中将PSEN和RD两个信号用两个小二极管(可用贴片元件)组成的与门电路进行逻辑相与,作为RAM读取端的RD信号。经过试用,此连接方法是可靠的,当然也可以选用专用的与门芯片来连接。本例中RAM芯片的0000~1FFFH空间只能作为数据存储空间,2000H以上才能用作调试Hex文件的使用空间。具体的硬件连接情况由目标单片机环境决定,可灵活变通。
  
  计算机软件部分
  
  以上面的目标单片机系统环境为例,编好的.ASM或.A51单片机程序用专门的编译软件编译成Hex文件。再通过计算机的串口发送到单片机,单片机通过串口中断服务程序将Hex文件的程序数据保存在静态存储器RAM中。然后由计算机发送相应的命令代码(本例中运行程序的命令代码为“00 A5”),单片机收到指令后即转到RAM区执行已存入此处的Hex文件程序。有很多串口调试程序都可以把文本形式的16进制数据传送到单片机。但缺点是不能直接发送Hex文件,也不能把Hex文件转化成可发送的文本形式的16进制数据。因此不能直接用于本方法。在本刊的网站上,给出了笔者用VB6编写的Hex文件转化及串口通信程序。
  这个程序的使用方法非常简单。安装后打开如图3的窗口界面,在正确的驱动器目录下找到已编译好的Hex文件,双击后程序即自动将Hex文件转化成可用串口发送的文本形式的16进制数据,显示于下部的文本框中。用过串口调试程序的朋友一定会感到很熟悉,文本框中每行显示16个数据字节,便于阅读和查找数据。接下来,点击“设置”菜单,出现图4所示的串口设置窗口。设好端口号、波特率等项,确定后即打开了相应串行端口。然后,点击“发送”,已转化为数据的Hex文件即向单片机发送。发送时,软件自动先发送“命令前缀”文本框中的命令代码(本例中命令代码为“01 A5 ”),单片机的串行中断服务程序收到此命令代码,自动转入接收Hex文件的状态。然后,计算机继续发送Hex文件的数据,单片机接收后,将数据存入相应的RAM区。此时,点击“运行”,计算机即向单片机发送命令代码“00 A5 ”,单片机接收命令代码后,自动转入RAM区运行,此时即可以在目标单片机系统上看到调试程序试运行的效果,进行改进和检验了。转换和发送字节数较多的Hex文件时,请注意中间的滚动条,等待操作全部完成。执行发送前,软件自动在Hex文件数据的尾部添加发送结束标记“A5 AA ”,单片机将在收到此标记代码后,自动退出接收Hex文件的状态。
  


  单片机软件部分
  
  为了和计算机进行串行通信,接收Hex文件的数据,单片机内应先固化有串口预置、串口中断服务等功能的小程序,在本刊的网站上给出了该程序的asm编码,该软件编译后的LIS文件、HEX文件见本刊网站,文件名为ceshi01.lis和ceshi01.hex 。
  串口波特率需根据实际晶振频率具体设定,本例中串行口设为方式1,SMOD位设为0,晶振频率为12MHz,定时器1的重装载数根据公式:256-晶振频率×2SMOD÷32÷12÷波特率,计算结果约为230,转化为十六进制数为E6。使用较低波特率时,重装载数允许有一定偏差。笔者试过在1200波特率的情况下,重装载数增减1或2,串口通信情况仍然良好。
  该asm程序编译后,是一个极短小的字节序列,约为7F字节。读者可以使用专门的烧录器烧录到89C51芯片内,也可以手工进行烧录。
  


  结束语
  
  本文以89C51系统为例,介绍了一种用目标单片机环境直接调试Hex文件的方法。由于采取了将程序存入RAM进行试运行的办法,可以进行无数次重复读写和调试运行。此方法的思想和本文中介绍的计算机端程序,对于其它系列单片机环境下直接调试Hex文件都是适用的。另外,本文中介绍的计算机端程序也是进行串口通信的一个很好的工具。尤其是可以将Hex直接转化成文本形式的数据,用串口直接发送。本人编写的这一软件,放在《电子世界》网站上,供感兴趣的朋友免费使用。■
  
  
其他文献
歌美公司近期一连推出了两款便携式VCD播放机——GD11和GD21(图1)。这两款便携式VCD播放机可以播放的碟片种类非常齐全,它们可以通吃六类碟片:CD、VCD、MP3、DVCD、CD-R、CD-RW。可以说除了DVD碟片还不能放以外,其它的碟片基本都能播放。  与前段时间歌美公司推出的便携式VCD播放机VCD-D80相比,GD11和GD21的工业造型更加美观,机身比VCD-D80更薄,更具便携
期刊
任天堂的GB与GBA(GameBoy Advancd)掌上游戏机是迄今为止最为成功的掌机,GB的硬件配置并不强大,使用早已过时的Z80 CPU和4级灰度的显示屏,但因为GB的软件开发成本低利润高,所以有大量优秀的游戏和应用软件出现。自从1989年第一台GB开始发售以来,累计全球共卖出了1亿多台,同时也造就庞大的掌机软件市场,以致GB成为了掌机的代名词,这个优势在GBA问市后更加明显。  在国内掌机
期刊
收音机的目标市场是复杂而细化的,形形色色的产品中既有几十元的普通收音机,也有价值几千元的高档产品。其中高档产品的功能大多向专业收信机靠拢(如HAM2000和SONY 7600GR),这些高档产品为广播爱好者带来更强功能的同时,它们高昂的价格也不是所有人都能接受的。是否有既便宜、又功能较全面的收音机呢?德劲最近出品的“爱好者2号”DE1102就是一款在功能与价格之间找到平衡的收音机。  DE
期刊
随着“勇气”号火星车顺利登陆火星,这颗远在上亿公里之外的“红色星球”再次点燃起人类探索的激情。日本“希望”号探测器未到火星其使命就提前终结,欧洲“猎兔犬2”号登陆器登上火星10多天来还下落不明,在这样的背景下,“勇气”号的成功显得意义尤为重大。正如它的名字一样,“勇气”号代表了一种不言败的精神。近一时期,火星探测就是这样在挫折与成功的交叠中艰难前行。挫折后的反思与部分的成功一方面愈发坚定了人类探测
期刊
编者按:最近北京和全国许多省、市、自治区都开始了数字电视广播。数字电视开播后广大消费者如何正确选购彩色电视机?是否一定要选购“高清电视”?“高清电视”与逐行扫描电视有什么区别?……带着诸多消费者关心或疑虑的问题,记者专程采访了国家广播电视产品质检中心安永成教授,请他对有关数字电视的问题作一些说明,以便帮助读者正确认识数字电视,正确选择彩色电视机,下面是本刊记者采访记录。  问:与传统模拟电视相比,
期刊
摘 要:随着科学技术的快速发展,雷达通信一体化发展程度逐渐地加深,在这种情况之下,可以更好地保证信息有效的传输。本文主要介绍了雷达通信一体化概念,分析了雷达通信一体化研究现状,探究了雷达通信一体化未来发展趋势。  关键词:雷达通信;发展趋势;一体化;研究现状  一、引言  最初的雷达通信一体化是指,在共享频谱、空间、时间和能量等资源条件下,通过信号、通道和信息等层面上的统一设计,实现一个通道、一个
期刊
摘 要:随着我国社会经济水平的不断飞速发展,航空事业逐渐走入了人们的视野。在航空事业中,无线电线的运用越发广泛,是保障飞机良好通信的一大基础,若是出现了较多的航空无线电干扰源,则十分容易对航空无线电的正常通通信带来不良影响,使飞机在飞行的过程中偏离航线,出现各种碰撞等空中事故,这是一种难以挽回的巨大损失。基于此,就需要相关管理部门和工作人员对此投入更多地重视目光,并且加强对航空无线电干扰源的防护工
期刊
摘 要:作为崭新的移动通信技术,5G网络技术因为其优势而可以被广泛地应用在通信方面,但是其对于无线网络规划设计的要求却相当地高。本文将会深度分析探讨5G网络技术的特征,同时寻求相互关联的网络规划设计道路,认为技术人员需要精准判定5G网络技术对于无线网络规划设计的影响。  关键词:5G网络;技术特点;无线网络;规划设计  一、前言  伴随现代移动通信技术的飞速发展,5G网络技术衍生而出,通过其和各种
期刊
摘 要:在现代社会企业建设发展实践中,从多角度针对信息化管理模式的构建进行分析,促进完善管理体系的构建,能彰显信息化管理效能,促进管理效率和质量得到显著地提升,真正提高企业的市场核心竞争力,使企业在发展实践中创造巨大的经济效益和社会效益,从而实现战略发展目标,在达到预期发展成果的基础上,也为我国创新经济的发展做出积极的引领。从企业信息化管理模式的创新入手,针对企业管理创新模式改革进行分析。  关键
期刊
摘 要:基于ZigBee和WiFi融合網络的智慧工厂环境监测系统,以ZigBee和WiFi融合网络为基础,利用ZigBee网络联接温湿度传感器模块、烟雾传感器模块,利用WiFi网络联接视频监控摄像机和声光报警设备,利用WiFi和ZigBee网关实现互联,服务器端的应用程序按预定逻辑实现监测、分析、报警等功能,上位机显示界面呈现实时数据,充分发挥ZigBee无线传感器网络功耗低、成本低、时延短、网络
期刊