首页
论坛
电子技术基础
模拟技术
可编程器件
嵌入式系统与MCU
工程师职场
最新帖子
问答
版主申请
每月抽奖
商城免费换礼
社区有奖活动
博客
下载
评测
视频
文库
芯语
资源
2024国际航空电子大会
2024国际 AIoT 生态发展大会
3D IC 设计和Chiplet资料下载
车载总线测试和解码方案
新能源汽车三电测试技术中心
在线研讨会
EE直播间
小测验
白皮书
行业及技术活动
杂志免费订阅
免费在线工具
厂商资源中心
论坛
博文
电子工程专辑
电子技术设计
国际电子商情
资料
白皮书
研讨会
芯语
文库
登录|注册
登录
用户119066
修改
文章:
47
阅读:
125981
评论:
7
赞:
199
好友
私信
个人主页
文章
47
原创
0
阅读
125981
评论
7
赞
199
原创
4
2007-11-21 21:14
3341
5
5
分类:
MCU/ 嵌入式
摘自“中原孔海洋”
计算机仿真对单片机指令系统的学习的帮助主要在于帮助理解,加强记忆,适当应用。能够在单片机指令系统学习中的软件主要是MedWin,因为其操作简单,而且可以直观地看到结果。
1.数据传送指令:
数据传送类指令主要包括:MOV、MOVX、MOVC、PUSH、POP、XCH等。
下面我们通过一个简单的汇编程序来学习这些指令。
例1.汇编语言源文件如下图所示:
在MedWin中编辑好源文件以后,以“.asm”为后缀保存为汇编源文件。然后进行编译、汇编并将代码装入内存进行仿真。由于本程序对寄存器、特殊功能寄存器、内部存储器、外部数据存储器都进行了操作,所以需要首先点击“查看”菜单下的相应子菜单打开相应的窗口,即寄存器、特殊功能寄存器、数据区IData、数据区XData,并可以根据需要点击“窗口”菜单下的选项来横向或纵向平铺窗口。
因为本程序需要一步一步地详细查看相应指令执行的结果,所以我们需要在执行指令时点击“指令跟踪(F7)”或“指令单步(F8)”按钮来单步执行。
指令执行中的一个画面如下图所示:
从图中我们能够清晰地观察到每一条指令执行的每一个结果,从而加深我们对这些指令的理解与记忆。
除以上实例程序中所书写的以外,我们还可以使用其他的指令书写程序并在MedWin中仿真,比如PUSH、POP、MOVC等,相信你会得到一个很好的结果,而且MedWin肯定会提高你学习指令的兴趣。
2.算术操作类指令
算术操作类指令主要有:ADD、ADDC、DA A、SUB、INC、DEC、MUL、DIV等。
算术操作类指令比较复杂,掌握起来比较困难,但在实际的单片机项目应用中很少涉及,尤其是MUL、DIV两条指令,在51系列单片机中更是被束之高阁,很少使用。
此处,我们不再像上节那样逐条书写并仿真课本上的程序,如果感兴趣,你可以仿照上节自己书写程序并进行仿真,观察并体会每一条指令执行的结果以及对系统的影响。这里我们通过一个比较实用的例子来演示仿真算术类指令的操作。
例2.两个压缩BCD码求和:将两个BCD码(每个占4位)分别放在一个字节的高4位和低4位即组成压缩BCD码。本例中有两个压缩BCD码数字,都是四位数,第一个数的高两位放在20H,低两位放在21H中;第二个高低位分别放在30H、31H中。要求所得结果放在40H、41H中。
汇编源程序如下图:
在MedWin中编辑好源文件后,以“.asm”为后缀将其保存为汇编文件,然后进行编译、汇编并将代码装入内存进行仿真。你可以像上例那样步进观察其详细执行过程,分析原因;当然也可以在“ljmp $”处设置断点,然后全速运行。需要注意程序中使用到了内部存储器,所以你需要将数据区“IData”窗口调出来进行观察。运行的最后结果如下图所示:
从图中我们能够很清楚地看到内部存储器相应单元的内容,进而观察到程序执行的结果,即:2097+4559=6656。
3.逻辑运算指令、控制转移类指令
逻辑运算指令,顾名思义,是用于逻辑运算的指令。主要包括:CLR、CPL、ANL、ORL、XRL等常用逻辑指令以及循环移位指令如:RL、RLC、RR、RRC等。
控制转移类指令是指在程序中根据具体的条件(或者没有条件)使程序转移到相应的入口的指令。它主要包括三类指令:一是无条件转移指令,比如:AJMP、SJMP、LJMP等;二是条件转移指令,比如:JZ、CJNE、DJNZ等;三是子程序调用返回指令,比如:ACALL、LCALL、RET、RETI等。
鉴于单独针对逻辑运算指令进行的仿真十分简单(事实上与数据传送类指令相同),可以很容易、很方便地自己针对相应的指令设计程序来观察结果,进行学习。所以此处不再针对逻辑运算指令举例仿真。而控制转移类指令又不可能单独使用,往往与其他指令结合使用来组成相应的程序,所以也无法单独进行仿真。所以下面我们就将逻辑运算类指令与控制转移类指令相结合来编写仿真程序,通过一个实例同时来仿真这两类指令的应用。
例3.十六进制整数转化为BCD码整数:4位十六进制整数高低位依次放在R3、R4中,要求转换后的BCD整数按高低位顺序放在R5、R6、R7中。
程序源文件如下图:
在MedWin中编辑好源文件以后,将其以“.asm”为后缀保存为汇编源文件,然后编译、汇编并将产生的代码装入内存进行仿真调试。仿真前需要注意首先输入R3、R4设置十六进制初始值,具体设置方法如下。首先调出寄存器窗口,然后在需要修改的寄存器名称或者数值上双击,这时其内容将变为可修改,我们在其中填入需要设置的数值(字母大小写均可)即可,如下图所示:
设置好初始值以后,你可以单步观察几步以便明白其原理,然后就可以设置一个断点全速运行了,最后就可以看到所得到的结果,比如我们输入8FD6,将得到结果:R5=03,R6=68,R7=22。
4.位操作指令
位操作比较简单,我们也不再写实例进行仿真,如果你感兴趣,可以自己写一些针对相应指令的小程序来仿真之。
这里我们主要说明一下仿真位操作指令与其他指令的不同及注意事项。
位操作指令是对单片机内部存储器的位地址空间进行的相应操作,所以我们查看相应结果时应该打开相应窗口。单片机的位地址空间可以这样来打开:点击“查看”菜单下面的“数据区 Bit”子菜单。位地址空间窗口如下图所示:
除此之外,在相应的位操作中如果我们需要查看各种位标志时,可以点击上图中下侧的“位”标签,将“字节”标签换过来进行查看。
写原创有奖励!2025面包板原创奖励正在进行中
最新发表
推荐阅读
明星博主
原创博文
年度排行
博文排行
博文评论
FPGA/CPLD
MCU/ 嵌入式
模拟
电源/新能源
测试测量
通信
智能手机
处理器与DSP
PCB
汽车电子
消费电子
智能硬件
物联网
软件与OS
采购与分销
供应链管理
工程师职场
EDA/ IP/ 设计与制造
无人机
机器人/ AI
医疗电子
工业电子
管理
写博文
点赞(
5
)
收藏
分享到:
上一篇:
5
下一篇:
3
PARTNER CONTENT
换一换>
更多>
全球知名科技公司正在出售一批未使用的IC载板先进封装工艺生产设备
ALLSURPLUS
2025-02-14
德中技术发布数控设备操作系统MOS V1.0版本软件
德中技术
2025-02-06
PMIC设计:巧心思,大不同
邵乐峰
2025-02-25
文章评论
(
0
条评论)
登录
后参与讨论
您需要登录后才可以评论
登录
|
立即注册
发布
用户119066
修改
文章:
47
阅读:
125981
评论:
7
赞:
199
好友
私信
个人主页
文章
47
原创
0
阅读
125981
评论
7
赞
199
最新评论
更多
关于免费,看法多多,各抒己见。 倒是一直以来对“免费”一词有看法和想法,不是有句话“世上没有免费一说”?联想到等价交换 ...
自做自受 ...
评论博文
2025-2-26
文心一言为什么要免费?我的看法。 ...
一直好奇也纳闷“科技”二字?看似科学与技术的交集?,人类为什么搞科学和技术?似乎还分工不同?典型现象欧洲搞科学?亚洲搞技 ...
自做自受 ...
评论博文
2025-2-26
当神话遇见科技:哪吒2票房奇迹背后的中国 ...
写的好,学习和参考,三星世界一流集团,了不起
开发工匠 ...
评论博文
2025-2-26
三星S25国行版发布,韩版 AI打响中国市场本 ...
最新
博文
哪吒2突破100亿,背后有哪些人物引人 ...
低代码平台:数字化时代的开发加速器 ...
国产“芯”优势,数字隔离器如何赋能 ...
资料下载
本周热帖
数值分析(李庆扬、王能超、易大义)(超 ...
飞纳台式扫描电镜在电子半导体的应用 ...
基于 51 单片机的定时插座设计开题报 ...
基于 51 单片机的电子秤设计开题报告 ...
基于 51 单片机的电容电感测量仪开题 ...
【富芮坤FR3068x-C】+评测
瞬态过压防护器件有哪些
Slkor萨科微再推ADC芯片、逻辑门缓冲 ...
某宝购买了两种不同的TYPEC母座接线板 ...
投影仪能热插拔吗?
最新资讯
芯语最新
448G连接如何塑造未来的数据中心 ...
用于电路分析和设计的Spice仿真指南– ...
英国监管机构批准IBM以64亿美元收购Ha ...
特斯拉“残血版”FSD本土化:城市道路 ...
美国将升级对华芯片管制,中国应如何 ...
翌光科技OLED尾灯亮相CINEVE2025 ...
搭载14.6寸OLED,荣耀MagicBookPro14 ...
天马OLED或进入iPhone供应链
华为折叠手机份额又领跑! ...
WitDisplay牵手慕彬彬律师,赋能新型 ...
EE直播间
更多
第三代功率半导体器件测试解决方案
直播时间: 03月06日 10:00
利用高性能源表和强大的软件, 实现半导体参数的测试和分析
直播时间: 04月17日 00:00
在线研讨会
更多
使用新型光耦隔离栅极驱动器优化系统效率及EMI表现
Allegro电流传感器替代采样电阻解决方案—实现更高效、更可靠的电流检测
迈来芯电流传感器:从汽车到工业与消费电子全面应用
如何在隔离的状态监控系统中捕获同步数据
热门
推荐
详解状态监控系统的数据采集技术
从电机控制到光伏逆变器:电流传感器的跨领域设计考量
工程师必看:B2900隐藏的15个超频测试模式
解密5G NR定位在分布式能源系统的同步控制应用
我要评论
0
5
分享到微信
分享到微博
分享到QQ
点击右上角,分享到朋友圈
我知道啦
请使用浏览器分享功能
我知道啦
关闭
站长推荐
/2
面包板社区有奖活动汇总楼
1. 拆解活动即将上线!2. 写原创,有奖励!3. 免费申领:开发板试用、书籍试读...
关于内容审核不通过原因的公告
为了给大家营造一个优质、高效的社区环境,保证论坛秩序和内容质量,现对内容审核不通过的原因进行说明
首页
论坛
电子技术基础
模拟技术
可编程器件
嵌入式系统与MCU
工程师职场
最新帖子
问答
版主申请
每月抽奖
商城免费换礼
社区有奖活动
博客
下载
评测
视频
文库
芯语
资源
2024国际航空电子大会
2024国际 AIoT 生态发展大会
3D IC 设计和Chiplet资料下载
车载总线测试和解码方案
新能源汽车三电测试技术中心
在线研讨会
EE直播间
小测验
白皮书
行业及技术活动
杂志免费订阅
免费在线工具
厂商资源中心
帖子
博文
返回顶部
×
文章评论(0条评论)
登录后参与讨论