单片机程序编辑和仿真主机的制作方法

文档序号:6457916阅读:279来源:国知局
专利名称:单片机程序编辑和仿真主机的制作方法
技术领域
本发明涉及一种单片机程序开发工具,特别是涉及一种集成了程序的 录入和编辑、编译或汇编以及调试仿真功能的单片机程序编辑和仿真主机。
背景技术
目前已有的单片机开发平台,都是运行于个人电脑(PC)上的软件平 台,如果开发过程中要对程序进行调试仿真,还要另外购买专业的仿真器, 或者其它的具备调试能力的微处理器。然而无论哪一种仿真工具,都必须
依赖PC才能实现调试仿真工作。而电脑的购买成本较高,且体积庞大,
尤其不具备便携性,这无疑使单片机程序的学习、开发和调试只能局限于 有较好工作环境的单位和个人,给一些经济条件不宽裕的初学者带来了学 习压力。
为了减小开发成本,许多厂商已推出了具备对自身运行的用户程序进 行调试的微处理器芯片,比如, 一种内嵌了仿真监控程序的单片机,这类
单片机具备在应用可编程(IAP, In-Application-Program)能力,其内部闪 速程序存储器已预先写入了能实现调试功能的仿真监控程序,从而能替代 用户电路上的目标单片机(或者说替代了传统的专业仿真器),承担用户程 序在用户电路上的调试运行任务。并且,只要一种单片机具备IAP (在应 用可编程)能力,并且有足够的闪速程序存储器空间,原则上就可以担当 这个角色。而目前具备IAP能力的芯片已经有很多个厂商的很多个型号。 另外,即使不具备IAP能力,而在电路设计上使嵌入了仿真监控程序的某 些单片机具备了对足够大的数据区空间的程序寻址能力, 一样可以担当仿 真器的角色。
另外,还有其它的具备片上调试功能的器件,比如具备JTAG调试功 能的微处理器,采用所谓的边界扫描技术,实现对微处理器中程序运行情 况的观察和控制,这类具备片上调试能力的微处理器也已可以不再依赖传 统的仿真器。然而,出于接口适配或其它的原因,多数厂商仍然为这些芯 片配套了调试适配器,通常用户需要通过调试适配器才能实现与目标芯片
4的通信连接,当然价格相对于传统仿真器已有了大幅的下降。
本发明中把上述具备调试能力的微处理器统称为目标仿真单片机。但 无论上述什么样的仿真方法,目前都仍然需要依赖电脑端的软件开发平台 才能对用户程序进行仿真调试,其优点仅体现在一定程序上减少了仿真成 本。
目前基于PC的软件开发平台都允许用户对程序行添加注释,比如汇 编语言程序用分号标志注释内容,但对于初学者,尤其是针对初学者设计 的例程,文字注释往往显得不够完善,尤其当开发平台移植到掌上设备, 显示界面相对狭小,文字注释的局限更为明显。

发明内容
本发明所要解决的技术问题在于,提供一种基于嵌入式微处理器系统 的单片机程序编辑和仿真主机,可以替代PC及运行于PC上的专业单片机 软件开发平台的工作,结合可嵌入到用户电路上的目标仿真单片机,实观 对用户程序的调试仿真,还可以提供对程序行的语音注释;可以设计为独 立的便携式设备,也可以嵌入到目前已广泛使用的掌上型电脑、电子词典、 各种学习机或其它类似功能的电子装置中,使单片机程序的学习和开发过 程可以完全脱离对电脑的依赖,操作更方便,而成本更低。 为解决上述技术问题,本发明所采用的技术方案为提供一种单片机 程序编辑和仿真主机,包括有微处理器及与微处理器相连接的存储单元、 输入单元、显示单元、通信单元,其特征在于,程序的编辑和仿真过程包 括以下步骤
(a) 微处理器从输入单元获得用户输入的程序行录入或编辑信息,通 过显示单元向用户反馈,并把程序行信息存储在存储单元中,实现用户源 程序的录入或编辑;
(b) 微处理器把用户录入的源程序转换为目标单片机能识别并执行 的机器码,实现用户程序的编译或汇编;
(c) 微处理器通过通信单元执行与外部的被调试电路上的目标仿真 单片机的通信连接,把机器码下载到目标仿真单片机的程序存储器的用户 程序区,并向目标仿真单片机发送用户输入的调试命令,然后接收调试结果并通过显示单元执行显示,实现用户程序的调试仿真。
其中,所述目标仿真单片机主要是指一种其内部程序存储器已预先写 入了仿真监控程序的单片机,或由写入了仿真监控程序的单片机为核心组
成的电路系统;还可以是具备JTAG片上调试功能的单片机,以及其它的 具备片上调试能力的微处理器或由这类微处理器为核心组成的电路系统。
其中,在步骤(c)中,微处理器还可以通过调试适配器再与外部的被调 试电路上的目标仿真单片机通信连接,执行机器码下载和调试仿真任务。
其中,所述用户程序可以是汇编语言程序,但不局限于汇编语言程序。
并且,微处理器还可以把机器码下载到目标单片机的程序存储器,使 用户程序可以在用户电路上完全独立地运行。
其中,所述的目标单片机主要是指本身集成了闪速存储器(flash memory)作为程序存储器的单片机,但不局限于此类单片机。
并且,还可以加上录音单元,使微处理器在用户输入程序行信息时还 可以记录用户的与该程序行相关的语音注释。
还可以加上放音单元,使微处理器在显示程序行信息时还可以播放与 该程序行相关的语音注释。
与现有技术相比,本发明的单片机程序编辑和仿真主机具有如下优点 把程序录入和编辑、程序编译或汇编为机器码、机器码下载到目标单片机 的程序存储器、对用户程序进行调试仿真等一系列功能整合在一起,独立 成便携设备或嵌入到其它的便携式电子设备中,完全脱离了对电脑的依赖, 降低了购买成本,使用方便,有利于单片机技术的学习和推广。


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