一种现场用户实现单片机仿真的方法及装置制造方法及图纸

技术编号:5472817 阅读:253 留言:0更新日期:2012-04-11 18:40
本发明专利技术提供一种现场用户实现单片机仿真的方法及装置,装置包含:键盘控制器,与编译器连接,用于输入用户程序;编译器,与键盘控制器连接,接收来自键盘控制器的用户程序并将其编译生成机器指令;指令存储单元,存储编译器输出的机器指令;I/O接口电路,将外接设备与编译器连接;以及状态指令单元,将编译器的状态指令输入到外接设备。本发明专利技术还提供一种可以用该装置实现的方法。本发明专利技术能为在一线工作的研发人员,特别是没有充分实验设备但是又十分有需要单片机编程的人员,编制程序提供方便。

【技术实现步骤摘要】

本专利技术涉及单片机开发应用
,具体地说,涉及一种现场用户实现单片机 仿真的方法及其装置,其是一种由单片机构成的单片机新型仿真结构与算法,可用于无编 程器环境下的小规模用户程序编写调试,适合用于现场用户单片机的简单应用。
技术介绍
目前,程序写入51系列的单片机时,要在相应的管脚加高电压,还要按照规定的 时序工作,进而通过计算机串口连接烧录机实现,实现对一个小型装置配备软件。通常 E2PROM写入器分为两类一类是联机写入,由单片机控制写入过程,将单片机的系统存贮器 或外存贮器中的数据通过写入器写进E2PROM;另一类是脱机人工写入,这种写入器的地址 和控制信息由人工设定,写入时间长,工作效率低。因此一般采用联机写入的写入器。程序写入前最好用仿真器调试,没有仿真器就要在计算机上用仿真软件调试成 功,这给实施带来不便。
技术实现思路
本专利技术的目的在于克服现有技术的不足,提供一种现场用户实现单片机仿真的方 法及装置,其能用单片机编译汇编算法,实现单片机指令系统的编译存储和运行,达到单片 机的无仿真器的用户程序编译开发。为达到上述目的,本专利技术采用如下技术方案本专利技术首先一种现场用户实现单片机仿真的装置,包含键盘控制器,与编译器连接, 用于输入用户程序;编译器,与键盘控制器连接,接收来自键盘控制器的用户程序并将其编 译生成机器指令;指令存储单元,存储编译器输出的机器指令;I/O接口电路,将外接设备 与编译器连接;以及状态指令单元,将编译器的状态指令输入到外接设备。所述的现场用户实现单片机仿真的装置还包含用于显示输入的用户程序的显示ο所述显示器具有4个7段数码管,并且该显示器还包含一个16位寄存器。所述键盘控制器为2 X 2矩阵键盘,该2 X 2矩阵键盘包含一个4位寄存器,用来保 存当前键值。 所述编译器包含词法分析器,与语法分析器连接,从输入符号流中识别指令,为 语法分析提供单词流;语法分析器,与词法分析器连接,采用语法指导的方式进行中间代 码的生成,该语法分析器具有的符号表管理单元为语法分析过程提供查询的功能,为后续 的代码生成,提供地址信息;中间代码生成单元,完成子程序的翻译;寄存器分配单元,负 责对翻译过程中产生的临时变量进行寄存器关联,为其分配内存空间;以及机器码生成单 元,将各个子程序进行总装,程序初始化代码,产生完整的汇编代码,完成编译工作。本专利技术另外提供一种现场用户实现单片机仿真的方法,包含a.判断功能键是否 按下,如果未按下,则运行存储在指令存储单元中的程序,否则,进入步骤b; b.同时按下第一键和第三键,进入程序编写与修改状态,用第一键和第二键修改地址,用第三键 和第四键输入指令;C.编译器将输入的代码指令编译转换为可执行的机器指令,同时存 入指令存储单元。所述编译器将输入的代码指令编译转换为可执行的机器指令的步骤包含c 1. 判断输入符号是否是指令,如果是,则进入步骤C2,调用指令分析程序,接着进入步骤c 4 ; 否则,进入步骤c3;c 4.调用语句块分析程序,产生编译后的机器代码;c3.进行出错处 理;c5.判断源程序是否结束,如果是,则进入步骤c4,存储编译后的机器代码;否则,返回 步骤Cl。所述步骤b还进一步包含用2位七段数码管显示器显示修改与输入的内容。所述功能键为第三键,所述第一键为上移键、第二键为下移键、第三键为加号键, 第四键为减号键。 本专利技术所采用的技术方案的优点是(1)本专利技术不需要写入器和计算机,具有无仿真器用户程序输入与显示功能,增加了单 片机编写调试的灵活性,现场修改调试的工作人员能够短时高效的完成工作;(2)编译器具有自动存储功能,程序自动将输入的代码指令编译转换为可执行的机器 指令,可以巡回执行预先设置的不同用户程序;(3)界面简单,针对简易的单片机程序设计,提供了快捷、可扩充的编程方法; 下面结合附图对本专利技术的实施和优点作进一步解释。附图说明附图1是本专利技术的现场用户实现单片机仿真的装置的结构示意图。附图2是本专利技术的现场用户实现单片机仿真的装置的另一结构示意图。附图3是本专利技术编译器的结构示意图。附图4是本专利技术的现场用户实现单片机仿真的方法的流程示意图。附图5是编译器将输入的代码指令编译转换为可执行的机器指令的流程示意图。附图6显示本专利技术进行程序修改的流程示意图。附图7显示本专利技术进行程序编写的流程示意图。附图8显示本专利技术系统中RAM与I/O地址空间分配。具体实施例方式参考图1。依据本专利技术的一种现场用户实现单片机仿真的装置100,包含键盘控 制器30,与编译器10连接,用于输入用户程序;编译器10,与键盘控制器30连接,接收来自 键盘控制器30的用户程序并将其编译生成机器指令;指令存储单元40,存储编译器10输 出的机器指令;I/O接口电路50,将外接设备与编译器10连接;以及状态指令单元60,将编 译器10的状态指令输入到外接设备。继续参考图1。所述的现场用户实现单片机仿真的装置还包含用于显示输入的用 户程序的显示器20。所述显示器20可以为LED显示器,具有4个7段数码管,系统中有4 个7段数码管,可用来表示4位10进制或4位16进制数。每半个字节为1组,从16位数 据线的高位到低位共分成4组,分别表示LED3、LED2、LEDl和LED0。显示器中还可以进一步含有一个16位寄存器,保存显示到数码管上的数值。参考图2。在一个较佳实施例中,为了减少连线个数,节省布线面积,系统采用了 矩阵键盘形式。键盘控制器30为2X2矩阵键盘。键盘控制器30的功能为自动扫描2X2 键盘,当有键按下时扫描键值,将键值记录到键值寄存器中。按键可以由“ + ”、“一”、“ ”、 “I”的2X2四个键组成。矩阵键盘中含有一个4位寄存器,用来保存当前键值。核心元件 编译器10可以采用51系列单片机,例如型号为AT89C2051的51系列单片机,其由四节干 电池串联或者7805稳压电路输出电压供电。。指令存储单元40可以为E2PROM存储器。应 用这些装置可以制作一套单片机程序编译装置,输入用户程序,免除外接仿真与写入器。参考图3。编译器10主要由以下几个部分组成,语法分析器、中间代码生成、寄存 器分配单元、机器码生成单元。具体而言,编译器10包含词法分析器101,与语法分析器 102连接,从输入符号流中识别指令,为语法分析提供单词流;语法分析器102,与词法分析 器101连接,采用语法指导的方式进行中间代码的生成,该语法分析器102具有的符号表 管理单元为语法分析过程提供查询的功能,为后续的代码生成,提供地址信息;中间代码生 成单元105,也就是图中所示的指令符号表,完成子程序的翻译;寄存器分配单元106,也就 是图中所示的变量名表,负责对翻译过程中产生的临时变量进行寄存器关联,为其分配内 存空间;以及机器码生成单元103,将各个子程序进行总装,程序初始化代码,产生完整的 汇编代码,完成编译工作。产生的机器代码最终进入CPU运行。机器码的生成伴随着词法 分析和语法分析。如果前一个单词识别正确,则进行翻译。否则跳过不进行翻译。 参考图4,本专利技术另外提供一种现场用户实现单片机仿真的方法,该方方可以用图 1至图3所示的装置实现。该方法包含Sa.判断功能键是否按下,如果未按下,则运行存本文档来自技高网...

【技术保护点】
一种现场用户实现单片机仿真的装置,其特征在于,包含:键盘控制器,与编译器连接,用于输入用户程序;编译器,与键盘控制器连接,接收来自键盘控制器的用户程序并将其编译生成机器指令;指令存储单元,存储编译器输出的机器指令;I/O接口电路,将外接设备与编译器连接;以及状态指令单元,将编译器的状态指令输入到外接设备。

【技术特征摘要】

【专利技术属性】
技术研发人员:黄鹂任梅琼陆永耕丁吉琼傅懿蕙
申请(专利权)人:上海电机学院
类型:发明
国别省市:31[中国|上海]

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1