您的位置: turnitin查重官网> 工程 >> 电气工程 >> 电气工程及自动化 >单片机单片机实验教学仿真软件设计查抄袭率

单片机单片机实验教学仿真软件设计查抄袭率

收藏本文 2024-03-25 点赞:17222 浏览:72648 作者:网友投稿原创标记本站原创

摘 要:主要讨论以微型计算机为操作平台、基于Widnows操作系统的单片机实验教学仿真软件的设计。实现对单片机教学实验的全软件仿真。针对自主研发的单片机实验教学仿真软件的特点和实际实验教学过程面临的问题,详细阐述软件的系统需求分析、建模及各子系统的详细设计过程。在此重点论述了仿真编译、仿真运行和仿真电路子系统的设计思路、相关算法的设计及程序设计与实现。
关 键 词:仿真软件; 虚拟实验; 实验教学; 仿真编译
1004?373X(2013)02?0039?03
0 引 言
目前,各高校顺应发展设置的单片机课程是机电、自动化等电类专业的一门重要课程,是一门多基础、多理论的实践性课程。在高职单片机教学过程中理论教学的发展已经较为完善,而实验教学由于受到经费的限制,提供的实验设备有限,不能满足学生的要求。
鉴于以上情况,开发单片机教学实验的全软件仿真。可以减少实验经费的开销,又便于增添实验内容,同时也可借用投影仪更加清晰地为学生做演示实验,非常有利于学生加深对所学理论知识的感性认识、掌握基本实验知识、方法、技能。对于有危险性的实验,虚拟实验平台更具有优势。

1 单片机实验教学软件的系统组成

由于单片机实验教学仿真软件系统较为复杂固将其设计为如干个子系统,对每个子系统建模和设计,最后将它们连接起来构成整个系统模型。图1说明了系统的组成和各子系统关系。
1.tif> 图1 系统模型
考虑到单片机实验教学仿真软件的具体情况,同时使用结构化程序设计

源于:论文格式范文www.udooo.com

与面向对象设计2种方法,对于单片机实验教学仿真软件系统的功能模块采用结构化方法来设计。
采用面向对象的方法设计软件中的用户界面、各个窗口、菜单、仿真元件等,最后,将各个子系统结合在一起, 就构成了单片机实验教学仿真软件。
下面对主要功能模块进行论述。

2 仿真编译子系统的设计

实际的编译是利用编译程序从源程序产生目标程序的过程。该过程分为5个阶段:词法分析,语法分析,语义检查,中间代码生成,代码优化,目标代码生成。主要是进行词法分析和语法分析,又称为源程序分析[3]。考虑本软件的实际情况,仿真编译子系统只进行词法分析和语法分析,发现有语法错误,给出提示信息,仿真编译成功后将仿真编译结果保存。
(1)词法分析模块调用源程序编辑子系统产生的用户源程序文件,逐行对文件中用户输入的源程序按照单片机指令系统规定的符号,如:(“Rn”、“#”、“/”、“@”、“$”、“:”及7种不同寻址方式表示的数据或地址、指令转移的偏移量、工作寄存器和特殊功能寄存器的表示符号、44个指令助记符、7个伪指令、用户定义的标号和符号常量、回车符)。进行词法分析,判断用户源程序中使用的基本符号是否正确,如果不是合法的符号则将错误所在的位置及错误的类型反馈给用户,终止仿真编译等待用户修改后再一次运行仿真编译;如果是合法的符号则将每个符号以及符号的类型保存在string类型数组cifa[]和int类型数组type[]中供语法分析程序模块使用。
(2)语法分析模块首先定义了51系列单片机所有指令和伪指令的检查函数。然后在词法分析的基础上,从数组cifa[]和数组type[]中取出用户输入的字符根据单片机指令的语法格式,字符的前后关系逐一进行处理,并调用指令和伪指令的检查函数判断:用户输入的源程序是否符合语法规则;标号和符号常量的定义与使用是否正确;伪指令的使用是否正确;程序是否以END结束等。如果存在错误则将错误所在的位置及错误的类型反馈给用户,终止仿真编译等待用户修改后再一次进行仿真编译;如果是正确的指令则将指令进行处理(对指令地址、指令ID、指令字节数、指令周期、操作数类型、操作数的值等进行处理)后存入预先定义的全局数组对象command中。仿真运行时由仿真运行子系统调用。

3 仿真运行子系统的设计与实现

(1)对51系列单片机指令系统的111条指令建立对应的处理函数,依照地址指针在指令类的数组对象中查询到对应元素,再根据指令ID调用指令的处理函数,完成指令的所有处理功能,返回下一指令地址给地址指针,实现仿真运行子系统的基本需求。
(2)设计状态扫描程序,查询中断申请。当有中断时,在指令处理函数在完成指令的所有处理功能后进行中断处理。
(3)仿真运行子系统与仿真电路建立子系统的信息交换功能的设计通过仿真电路子系统与程序仿真运行子系统的接口函数实现。
当仿真运行子系统仿真执行的指令向单片机I/O接口发送数据,这些数据将引起单片机外接电路及相关元件状态的改变。此时,由仿真运行子系统向仿真电路子系统发送消息,启动仿真电路状态修改进程,对仿真电路及元件的状态更新。然后修改进程结束将控制权交还,继续仿真运行。
如果在仿真运行期间仿真电路或元件(仅限按钮开关)状态发生改变,此时则由仿真电路子系统向仿真运行子系统发送消息,启动仿真运行状态修改进程,更新存储器单元对应的内部变量。然后修改进程结束将控制权交还,继续仿真运行。

4 仿真电路子系统的设计

仿真电路子系统在外部,它向用户提供了一个可视的虚拟的单片机实验平台,用户通过这一平台建立仿真的实验电路。当用户仿真运行实验源程序时,将再次通过这一平台进行相关操作,观察实验现象。在内部,仿真电路子系统对用户建立的仿真电路进行元件的记录、电路连接的分析、节点表的建立与维护、元件(包括单片机端口)状态得计算,通过发送消息与仿真运行子系统交互。最终达到在完全软件仿真的环境中让用户完成单片机教学实验,并获得与真实实验条件下相同的实验结果。

摘自:本科生毕业论文www.udooo.com

copyright 2003-2024 Copyright©2020 Powered by 网络信息技术有限公司 备案号: 粤2017400971号