欢迎来到天天文库
浏览记录
ID:31224417
大小:116.00 KB
页数:10页
时间:2019-01-07
《基于protues仿真的mcs―51单片机教学实践与探讨》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库。
1、基于Protues仿真的MCS―51单片机教学实践与探讨 摘要:利用仿真软件Protues和伟福编译软件可以生动直观地演示硬件电路和程序的执行过程,以此来解决单片机课程中常见的问题。通过具体实例的讲解,解释清楚这些问题的本质。 关键词:MCS-51汇编语言仿真Protues伟福软件 PracticeanddiscussionofMCS-51MCUteachingbasedonsimulationofProtues HouJuncai,YangShuqin NorthwestA&Funiversity,Y
2、angling,712100,China Abstract:Inteachingpractice,softwareofProtueswasusedtodemonstratetheworkprocessofcircuitandprogramofMCSsystem,tostudents,thedifficultproblembecomeeasytounderstand.Thepaperusingtypicalexamplesrevealtheessenceofthesedifficulties.TheProtues
3、isrecommendedinMCSteaching. Keywords:MCS-51MCU;assemblinglanguage;simulation;Protues;Wavesoftware10 单片机是高校电子、电气、机电、信息类专业一门重要的专业基础课,具有极强的实践性和综合性,对学生硬件电路设计能力、软件编程能力、创新能力的培养有着重要作用;另外对学生掌握职业技能、增强就业竞争力具有十分重要的意义。受各种条件限制,传统的教学往往把理论讲授、实验教学、实践环节分开。在理论讲授时,由于有些问题教材中介绍
4、不清,学生学习时,不可避免地存在迷惑和误解。Protues软件以其强大的单片机仿真功能受到学习者的欢迎,它可以对单片机系统进行软硬件设计和仿真。在教学环节中引入Protues软件来模拟实际电路,通过各个显示窗口可以直观地展示电路的工作过程和代码的执行过程,增加了学习的兴趣,让学生感性认识电路与程序的运行过程,更有助于掌握授课内容。 笔者根据教学实践,利用Protues对学生在学习过程中常见的问题和误区进行分析和探讨。 1MCS-51单片机常见问题与误区在Protues下仿真解决及解释 1.1内部数据存储器R
5、AM高128B单元与特殊功能寄存器地址重叠问题 初学者往往对内部RAM高128B的使用问题易混淆。52子系列单片机80H~0FFH的单元既是内部RAM地址,又是特殊功能寄存器(SFR)的地址。作为RAM使用时只能用寄存器间接寻址,而对SFR只能直接寻址。对51子系列内部RAM高128B不可用,虽然对这些地址单元用寄存器间接寻址方式寻址读写时编译不会出错,但读写无效;对这些地址单元用直接寻址方式访问时,访问的是SFR。即对高128B的内部数据存储器单元来说,作为RAM和SFR有着相同的地址单元,但有着不同的物理空
6、间。例如在Protues下选取80C51单片机,用下列程序进行验证: ORG0000H MOVR0,#90H MOVA,@R010 MOV@R0,#08HH MOV90H,#80H SJMP$ END 在Protues下单步仿真结果如图1所示: ①代码窗口②内部RAM窗口 ③SFR窗口 a第一条指令执行完后的状态 ①代码窗口②内部RAM窗口③SFR窗口 b第二条指令执行完后的状态 ①代码窗口②SFR窗口 c第三条指令执行完后的状态 ①代码窗口②SFR窗口 d第四条指令执行完后的状
7、态 图180C51单片机高128个地址单元访问仿真过程 程序编译时完全通过,不提示错误,但从图1的仿真可以看出,在Protues仿真图的InternalMemory窗口中并没有给出高128个地址单元。程序的前三条指令执行完后,SFR窗口中地址单元90H的内容并没有变化,因为寄存器间接寻址方式对SFR无效。而第四条指令执行后,地址单元90H的内容发生改变,因为直接寻址访问的是SFR。 接着看8052的情形,用下列程序来验证: ORG0000H10 MOV90H,#55H MOVR0,#90H MOVA
8、,@R0 MOV@R0,#08H SJMP$ END 由图2可以看出,第一条指令执行完后,数据55H直接传送给SFR的90H,而InternalMemory中90H的内容并没有改变,因为对目的操作数而言,寻址方式是直接寻址,直接寻址访问的是SFR,而不是内部数据存储器。MOVA,@R0执行完后A(地址为SFR中的E0H)的内容为00H,而非55H,因为内部数据存储
此文档下载收益归作者所有