可以独立地执行单片机程序调试仿真的设备的制作方法

文档序号:6472988阅读:226来源:国知局
专利名称:可以独立地执行单片机程序调试仿真的设备的制作方法
技术领域
本实用新型涉及一种单片机程序开发工具,特别是涉及一种便携的可 以独立地执行单片机程序调试仿真的设备。
背景技术
目前已有的单片机仿真开发平台,都是运行于个人电脑(PC)上的软 件平台,如果开发过程中要对程序进行调试仿真,还要另外购买专业的仿 真器,或者其它的具备调试能力的微处理器。然而无论哪一种仿真工具,都必须依赖PC才能实现调试仿真工作。而电脑的购买成本较高,且体积庞大,尤其不具备便携性,这无疑为单片机程序的学习、开发和调试带来 不便。为了减小开发成本,许多厂商已推出了具备对自身运行的用户程序进 行调试的微处理器芯片,比如, 一种内嵌了仿真监控程序的单片机,这类单片机具备在应用可编程(IAP, In-Application-Program)能力,其内部闪 速程序存储器已预先写入了能实现调试功能的仿真监控程序,从而能替代 用户电路上的目标单片机(或者说替代了传统的专业仿真器),承担用户程 序在用户电路上的调试运行任务。并且,只要一种单片机具备IAP (在应 用可编程)能力,并且有足够的闪速程序存储器空间,原则上就可以担当 这个角色。而目前具备IAP能力的芯片已经有很多个厂商的很多个型号。另外,还有其它的具备片上调试功能的器件,比如具备JTAG调试功 能的微处理器,采用所谓的边界扫描技术,实现对微处理器中程序运行情 况的观察和控制,这类具备片上调试能力的微处理器也已可以不再依赖传 统的仿真器。本实用新型中把上述具备调试能力的微处理器统称为目标仿真单片 机,然而,目前仍然需要依赖电脑端的软件仿真开发平台才能通过目标仿 真单片机对用户程序进行仿真调试。另外,目前基于PC的软件仿真开发平台都允许用户对程序行添加注 释,比如汇编语言程序用分号标志注释内容,但对于初学者,尤其是针对初学者设计的例程,文字注释往往显得不够完善,尤其当仿真开发平台移 植到便携设备,显示界面相对狭小,文字注释的局限更为明显。实用新型内容本实用新型所要解决的技术问题在于,提供一种基于嵌入式微处理器 系统的便携的可以独立地执行单片机程序调试仿真的设备,可以部分或完全替代PC及运行于PC上的专业单片机软件仿真开发平台的工作,结合可嵌入到用户电路上的目标仿真单片机,实现对用户程序的调试仿真,还可以提供对程序行的语音注释;可以设计为独立的便携式设备,也可以嵌入 到目前己广泛使用的掌上型电脑、电子词典、各种学习机或其它类似功能 的电子装置中,使单片机程序的学习和开发更方便,而成本更低。为解决上述技术问题,本实用新型所采用的技术方案为提供一种便携的可以独立地执行单片机程序调试仿真的设备,包括有微处理器及与 微处理器相连接的存储单元、输入单元、显示单元、通信单元,其特征在 于,所述的存储单元中至少包括了存储有实现用户程序的显示和调试仿真 的功能程序模块的存储器,所述的通信单元中至少包括了一个用于向目标 仿真单片机发送调试仿真命令和接收调试仿真结果的通信接口。进一步地,通信单元中还可以包括一个把程序机器码下载到目标单片 机的下载接口,还可以包括一个与电脑或其它设备发送接收用户程序文件 的接口,并且上述的通信接口可以是有线的或无线的通信接口。另外,所述的存储单元还可以包括存储有实现用户的单片机源程序的 录入或编辑的功能程序模块的存储器,使用户可以直接在本机录入和编辑 程序行信息;还可以包括存储有实现用户源程序的编译或汇编的功能程序模块的存储器,使本机可以直接对用户源程序进行编译或汇编,从而获得 可用于单片机运行所需的机器码。进一步地,还可以包括一个录音单元电路,使用户在输入或编辑程序 行信息时可以记录用户的与该程序行相关的语音注释,还可以包括一个放 音单元电路,使显示单元在显示程序行信息时可以播放与该程序行相关的 语音注释。与现有技术相比,本实用新型的便携的可以独立地执行单片机程序调试仿真的设备具有如下优点可以直接通过本机显示并执行用户程序的调试仿真任务;进一步地,可以把程序录入和编辑、程序编译或汇编为机 器码、机器码下载到目标单片机的程序存储器、对用户程序进行调试仿真 等一系列功能整合在一起,独立成便携设备或嵌入到其它的便携式电子设 备中,脱离了对电脑的依赖,降低了购买成本,使用方便,有利于单片机 技术的学习和推广。


图1是设备的基本原理框图;图2是设备与目标仿真单片机的一个通信连接示意图; 图3是设备的基本工作流程图; 图4是增加了语音录、放单元的设备原理框图。
具体实施方式
本实用新型的便携的可以独立地执行单片机程序调试仿真的设备可 以设计为一种独立的便携式设备,也可以嵌入到目前已广泛使用的掌上型 电脑、电子词典、各种学习机或其它类似的电子装置中,成为其中的一个 功能。
以下结合附图和一个独立实施的例子对本实用新型的技术方案进行说明。如图l所示,本实施例的便携的可以独立地执行单片机程序调试仿真 的设备由微处理器1及与微处理器1相连接的存储单元2、输入单元3、显 示单元4、通信单元5组成。其中微处理器1可以是单片机或其它的嵌入式微处理器,其内部也可 以集成了一定容量的用于保存用户数据的闪速存储器;这样存储单元2可 以是微处理器1片内集成的闪速存储器,也可以是片外扩展的闪速存储器 (或铁电存储器等功能类似的存储器),或者片内片外二者兼有。本实施例 采用 一 种集成了大容量的闪速程序存储器的片上系统(SoC : System-on-a-chip)芯片C8051F340,本实施例中所涉及的功能程序模块 均存储在其中的闪速存储器中。输入单元3主要由键盘组成,也可以是触摸屏输入或其它输入方式,用于输入用户调试控制等命令或程序行录入或编辑信息,本实施例采用了五个按键Yes确认键、No取消键、Up上移键、Down下移键、Func功能 键,因为对程序行信息的录入采用了选择式录入法,所以不需要英文字母 键及其它的符号键。显示单元4主要是指液晶显示器,负责录入编辑和仿真环境下的相关 信息的显示,本实施例采用了一块160x128点阵的LCD模块。通信单元5在本实施例中包括了向目标仿真单片机发送调试仿真命令 和接收调试仿真结果的UART接口、与电脑实现程序文件上传下载的以及 与其它设备实现文件互传的UART接口 (与电脑的通信也可用USB接口代 替)、把用户程序机器码下载到目标单片机的SPI接口或UART接口。本例 中上述接口都是SoC芯片所已经集成的。特别需要注意的是与电脑端通信 的UART接口需要一个额外的RS232电平的转换器件,而本例中与目标仿 真单片机通信的UART可以转换为RS232电平后使用,也可以不转换,本 例不经转换而直接双机连接。并且上述UART接口除用于与电脑通信的独 立使用外、其余所述UART接口为一个共用的UART接口 (当然也可以分 开,本例中为共用)。顺便提及,如果涉及如具备JTAG接口的器件的调试,则用于向该类 器件发送调试仿真命令和接收调试仿真结果的通信接口就是JTAG接口了, 这时使用微处理器的普通I/O端口模拟JTAG接口,实现与目标仿真器件 的连接,具体内容包括通信协议等需要参考具体目标仿真器件的技术文档 中有关JTAG接口部分的内容,多数的技术文档都可以在厂商的网站上容 易获得,所以本实施例中不对相关内容作详细的引用。通常不同厂商生产的具备片上调试能力的目标仿真单片机其调试接口 会有不同,正如传统的仿真方法也是具有相当强的针对性一样,本实用新 型的所述设备也不太可能在一台机器里兼顾了市场上所有芯片的调试仿 真,所以通常会根据不同的学习阶段或不同的使用对象,有针对性地配备 不同的目标仿真单片机及其调试接口和相应的系统功能软件。在本实施例 中,不配备JTAG接口以及其它未提及的调试仿真接口。还有一种情况,因为目前很多厂商为其生产的具备片上调试功能的芯 片配套了调试适配器,当必要时,本实用新型所述的微处理器还可以通过调试适配器再与外部的被调试电路上的目标仿真单片机实现通信连接,执 行相应的机器码下载和调试仿真任务,这时,本机则要配备与所选用的调 试适配器相适应的通信接口和通信协议,这种接口同样可以使用微处理器的普通i/o口模拟实现。本实施例不配备这种接口。进一步地,上述通信接口还可以附加无线通信如红外通信电路模块, 使信号可以通过无线的方式传输,此时相应的通信对方也应具备配套的无 线模块。本实施例不采用无线通信方式。如图2所示,为本实施例所述设备与用户电路系统上的目标仿真单片 机通过UART接口连接的示意图,本实施例中通过一条三芯(TXD、 RXD、 GND三个信号)通信数据线实现上述两个UART接口的物理连接。在本实施例中,目标仿真单片机是一种其内部程序存储器已预先写入 了仿真监控程序的单片机,具体地是一种型号为SST89E516RD的兼容 MCS-51指令集的单片机。因此,相应地,本实施例中用户程序是MCS-51 指令集的汇编语言程序。也就是说,当使用兼容MCS-51指令集的单片机 作为目标仿真单片机,则本实施例所述设备的软件系统中就包含了MCS-51 汇编语言指令集的汇编功能模块,以及与该芯片的仿真监控程序相配套的 调试仿真功能模块,从而可以调试仿真用该种单片机或兼容的单片机作为 中央控制处理器的用户电路及相应程序。同样道理,当目标仿真单片机换 成另一种指令集的单片机,比如某个PIC系列的单片机,则其可调试对象 就是该PIC系列的单片机了,当然,本设备的存储单元中就应相应地存储 有处理PIC单片机指令集的编译汇编模块和调试仿真等其它相关模块。另外,容易想到,用户程序也可以是C语言程序或其它形式的高级语 言程序,此时系统则要配备相应的编译器模块,从而将源程序编译为目标 单片机所属指令集的汇编语言程序,然后再依据相关型号单片机的技术文 档中涉及的汇编规则把汇编语言程序转换为机器码。本实施例中与目标仿真单片机SST89E516RD之间的通信协议由生产 SST89E516RD的厂商提供的内嵌在SST89E516RD中的仿真监控程序所决 定,调试仿真模块即主要据此撰写。同样道理,如果选用的是其它的调试 仿真芯片,因为不同厂商的产品通常其调试通信协议是不同的,所以也需 要根据具体的调试器件的技术文档中有关内容而定,不能一概而论。本实施例中,微处理器还可以通过下载接口把机器码下载到目标单片 机的程序存储器,使用户程序可以在用户电路上完全独立地运行。其中,所述的目标单片机主要是指本身集成了闪速存储器(flash memory)作为程 序存储器的单片机,比如SST89E516RD、 AT89S51,但不限于此类单片机。 下载时使用的具体接口及通信协议由具体类型的目标单片机厂商文档决 定,比如SST89E516RD使用UART接口下载,AT89S51使用SPI接口下载。如图3所示,描述了本实施例的一个基本工作流程用户开机后,微 处理器首先读取存储器中的用户程序文件记录,并通过显示器显示用户的 程序文件目录列表;在此基础上微处理器等待用户的键盘输入命令,其中 包括弹出功能菜单命令,在弹出菜单中包括了用户可以使用的操作命令-新建程序文件,新建一个程序文件,并进入程序录入和编辑模块进行 程序录入和编辑;编辑文件,进入程序录入和编辑模块,对当前选中的文件执行编辑;调试运行,首先进入程序文件编译汇编模块,把用户程序转换为机器 码,然后进入程序文件调试仿真模块对用户程序执行调试仿真;写入芯片,首先进入程序文件编译汇编模块,把用户程序转换为机器 码,然后把机器码写入到目标单片机的程序存储器;改文件名,对当前选中的文件修改其文件名;删除文件,删除当前选中的文件;发送文件,通过通信单元把当前选中的文件传送到电脑或其它包含本 实用新型的设备;接收文件,通过通信单元从电脑或其它包含本实用新型的设备接收程 序文件。以上任一操作命令执行完成后,都将返回并刷新程序文件目录列表, 重新等待用户的操作命令输入。其中,当用户选择新建程序文件或编辑文件命令,都将进入程序录入 和编辑模块,微处理器从输入单元获得用户输入的程序行录入或编辑信息,通过显示单元向用户反馈,并把该程序行信息存储到存储器中,实现用户 程序的录入或编辑。当用户选择调试运行命令或写入芯片命令,系统都将首先进入程序文 件编译汇编模块,程序文件编译汇编模块在微处理器控制下执行以下操作 步骤1. 对用户程序可能存在的错误进行检査,如本例,系统将依据汇编语 言指令程序的语法规则来区别出每一条用户录入指令的助记符及其操作 数,与系统存储器中预先存储的相应的指令表达格式进行比较,判断是否 为合法指令或其它合法语句之一,从而判断出是否有错;2. 若无错,则并可得知该指令是哪一条指令,若有错,则退回程序录 入和编辑模块,把光标定位到出错程序行,并弹出错误提示;3. 如果用户程序无错,本例中将依据MCS-51单片机指令集的汇编规 则把用户程序源代码转换为目标单片机能识别并执行的机器码。当程序文件在上述编译汇编模块中被转换为机器码后,如果之前用户 输入的是调试运行命令,则系统随之进入程序文件调试仿真模块,并在微 处理器控制下执行以下操作步骤1. 通过通信单元,依据相应的通信协议,与被调试电路上的目标仿真 单片机实现通信连接,把用户程序机器码下载到目标仿真单片机的用户程 序存储区,并与目标仿真单片机保持通信连接;2. 通过输入单元,接收用户的调试命令,并把调试命令通过通信单元 发送到目标仿真单片机,然后通知或接收目标仿真单片机返回执行结果, 所述结果主要包括目标仿真单片机的内部数据存储器和各专用寄存器的当 前值;3. 通过显示单元显示目标仿真单片机当前正在执行的用户程序行,并 显示上述用户调试命令返回的执行结果。如果用户之前输入的是写入芯片命令,则会在获得机器码文件后,进 入写入芯片模块,根据用户选择的具体芯片型号,采用该芯片技术文档规 定的相应的通信协议把用户程序机器码写入到目标单片机的程序存储器。如果用户输入的是发送文件命令或接收文件命令,则会根据用户选择的通信对象调用相应的通信模块执行发送或接收文件的任务,比如通过 串口与电脑端仿真开发平台间的上传下载,以及双机互传。如果用户输入的是改文件名或删除文件命令,则对当前光标所在文件 执行相应的修改或删除操作。另外,对用户程序文件的管理可以参考Windows下的FAT文件管理系 统的方法,此处不作赘述。上述实施例未考虑语音录音单元和放音单元,语音录、放单元的实现 目前己非常容易, 一方面,已经有很多微处理器本身已经集成了实现录放 所必需的模/数、数/模(A/D、 D/A)转换电路,甚至有专门针对语音应用 的微处理器芯片,其中还包括了音频放大等相关处理电路,在互联网上很 容易找到很多音频实现方案;当然,如果把本实用新型整合到英语学习机 等包含了语音功能的设备上去时,这个问题的解决更为简单。如图4所示为加上了语音录、放单元后的设备原理框图,与图1相比, 增加了集成模/数、数/模转换器及音频编解码器的音频信号处理电路,集成 了耳机、扬声器和麦克风放大电路的音频放大电路,及相应的外围设备耳 机、扬声器和麦克风。当录音时声音经麦克风转换为电信号后,经音频放 大电路适当放大,再经模/数转换,成为数字信号,音频数字信号再经编码 器编码压縮,经由微处理器存储到存储单元中;当放音时,微处理器从存 储单元中取出音频数据,送入语音录、放单元,经解码器解码,再经数/ 模转换,得到的模拟信号再进入音频放大电路进行放大,再送到扬声器或 耳机实现重放。在用户程序录入和编辑界面,增加一个录音、放音菜单项,当用户需 要在某个程序行添加语音注释时,可以通过快捷键或相应的功能菜单,进 入录音状态,录入的用户音频信号数据存储在相应的用户程序文件音频数 据存储区, 一个程序行的音频数据存储地址与所在文件的文件号和行号关 联,微处理器容易通过文件号和行号取得相应的语音注释数据存储地址, 从而取得相应音频数据执行语音的重放。以上所述仅为本实用新型的较佳实施例而已,并不用以限制本实用新 型,凡在本实用新型的精神和原则之内,所作的修改、等同替换、改进等, 均应包含在本实用新型的保护范围之内。
权利要求1.一种便携的可以独立地执行单片机程序调试仿真的设备,包括有微处理器及与微处理器相连接的存储单元、输入单元、显示单元、通信单元,其特征在于,所述的存储单元中至少包括了存储有实现用户程序的显示和调试仿真的功能程序模块的存储器,所述的通信单元中至少包括了一个用于向目标仿真单片机发送调试仿真命令和接收调试仿真结果的通信接口。
2. 根据权利要求1所述的单片机程序调试仿真设备,其特征在于,通 信单元中还包括了一个把程序机器码下载到目标单片机的下载接口。
3. 根据权利要求1所述的单片机程序调试仿真设备,其特征在于,通 信单元中还包括了一个与电脑或其它设备发送接收用户程序文件的接口。
4. 根据权利要求1到3之一所述的单片机程序调试仿真设备,所述的 通信接口可以是有线或无线通信接口。
5. 根据权利要求1所述的单片机程序调试仿真设备,其特征在于,所 述的存储单元还包括存储有实现用户的单片机源程序的录入或编辑的功能 程序模块的存储器。
6. 根据权利要求1所述的单片机程序调试仿真设备,其特征在于,所 述的存储单元还包括存储有实现用户源程序的编译或汇编的功能程序模块 的存储器。
7. 根据权利要求5所述的单片机程序调试仿真设备,其特征在于,包 括一个录音单元电路,使用户在输入或编辑程序行信息时还可以记录用户 的与该程序行相关的语音注释。
8. 根据权利要求1、 5、 6之一所述的单片机程序调试仿真设备,其特 征在于,包括一个放音单元电路,使显示单元在显示程序行信息时还可以 播放与该程序行相关的语音注释。
专利摘要本实用新型公开一种可以独立地执行单片机程序调试仿真的设备,包括有微处理器及与微处理器相连接的存储单元、输入单元、显示单元、通信单元;所述的存储单元中至少包括了存储有实现用户程序的显示和调试仿真的功能程序模块的存储器,所述的通信单元中至少包括了一个用于向目标仿真单片机发送调试仿真命令和接收调试仿真结果的通信接口。本实用新型可以部分或全部替代PC及运行于PC上的专业单片机软件开发平台的工作,结合可嵌入到用户电路上的目标仿真单片机,实现对用户程序的调试仿真,使单片机程序的学习和开发成本降低。
文档编号G06F9/455GK201174113SQ20082000759
公开日2008年12月31日 申请日期2008年4月9日 优先权日2008年4月9日
发明者伟 黄 申请人:伟 黄
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1