首页
论坛
电子技术基础
模拟技术
可编程器件
嵌入式系统与MCU
工程师职场
最新帖子
问答
版主申请
每月抽奖
商城免费换礼
社区有奖活动
博客
下载
评测
视频
文库
芯语
资源
2024国际航空电子大会
2024国际 AIoT 生态发展大会
3D IC 设计和Chiplet资料下载
车载总线测试和解码方案
新能源汽车三电测试技术中心
在线研讨会
EE直播间
小测验
白皮书
行业及技术活动
杂志免费订阅
免费在线工具
厂商资源中心
论坛
博文
电子工程专辑
电子技术设计
国际电子商情
资料
白皮书
研讨会
芯语
文库
登录|注册
登录
最新发表
推荐阅读
明星博主
原创博文
年度排行
博文排行
博文评论
FPGA/CPLD
MCU/ 嵌入式
模拟
电源/新能源
测试测量
通信
智能手机
处理器与DSP
PCB
汽车电子
消费电子
智能硬件
物联网
软件与OS
采购与分销
供应链管理
工程师职场
EDA/ IP/ 设计与制造
无人机
机器人/ AI
医疗电子
工业电子
管理
写博文
用户119066
修改
文章:
47
阅读:
124316
评论:
7
赞:
182
好友
私信
个人主页
文章
47
原创
0
阅读
124316
评论
7
赞
182
原创
4
2007-11-21 21:14
3321
4
4
分类:
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”子菜单。位地址空间窗口如下图所示:
除此之外,在相应的位操作中如果我们需要查看各种位标志时,可以点击上图中下侧的“位”标签,将“字节”标签换过来进行查看。
写原创有奖励!2024面包板原创奖励正在进行中
点赞(
4
)
收藏
分享到:
上一篇:
5
下一篇:
3
PARTNER CONTENT
换一换>
更多>
新一代MCU向着边缘AI和实时控制发展
赵明灿
2024-12-11
内存市场稳定化:2024年末的定价趋势与供应商调整
Fusion Worldwide 孚昇电子
2024-12-05
SK海力士宣布固定股息上调25%,公布股东回报新政策和价值提升计划
SK海力士
2024-11-27
AI 驱动,Arm 加速实现软件定义汽车的未来
Arm
2024-11-29
SK海力士开发出适用于AI数据中心的高容量固态硬盘‘PS1012 U.2’
SK海力士
2024-12-18
下一代汽车微控制器:意法半导体技术解析
意法半导体
2024-11-22
文章评论
(
0
条评论)
登录
后参与讨论
您需要登录后才可以评论
登录
|
立即注册
发布
用户119066
修改
文章:
47
阅读:
124316
评论:
7
赞:
182
好友
私信
个人主页
文章
47
原创
0
阅读
124316
评论
7
赞
182
最新评论
更多
呵呵,话说清洁。 年底到了,家家大扫除又热闹起来了,看来是习俗,可为什么一定要到年底呢? 百度一下“年底大扫除的习俗是 ...
自做自受 ...
评论博文
2024-12-18
循环再造的一次体会_电脑爱清洁_20130911 ...
道法自然
自做自受 ...
评论博文
2024-12-18
品水果之联想——企业用人之道 ...
写的好,学习和参考,一流产品,电子行业龙头
开发工匠 ...
评论博文
2024-12-18
瑞萨、ST、英飞凌等最新产品速览! ...
最新
博文
电源滤波器对不同功率的电源的滤波性 ...
感光交融、智领潮流, 艾迈斯欧司朗点 ...
扫地机器人能有多“眼明”?!艾迈斯 ...
资料下载
本周热帖
汽车动力与底盘MCU市场现状研究报告 ...
卡尔曼滤波估计小车匀加速运动时的速 ...
12-17学习笔记
《彩色电视机原理与维修》 ...
12-13学习笔记
【电子DIY】重拾童年的乐趣——摇杆控 ...
《大话芯片制造》之半导体制造解密 ...
YD925为小家电而来
【富芮坤FR3068x-C】+开发环境疑问 ...
【富芮坤FR3068x-C】+基于MDK移植micr ...
最新资讯
芯语最新
【ICCAD2024】Chiplet将在三大场景率 ...
问天量子发布量子随机数芯片,国内首 ...
第三次被雷劈,拆解报废的热水浴缸控 ...
中微胜诉,成功移出美国国防部黑名单 ...
突破芯片堆叠极限,麻省理工学院成功 ...
传合肥长鑫存储已实现DDR5内存条大规 ...
三星奖金,有史以来最高! ...
培训课程|手把手带您从零开始学习PSpi ...
自研自驾芯片加持,蔚来百万豪车来了! ...
百度力挽苹果百亿美元大单! ...
EE直播间
更多
精密半导体参数测试解决方案
直播时间: 01月08日 10:00
在线研讨会
更多
迈来芯Triaxis® 3D磁传感器:汽车安全应用的优选方案
多路有光·精准不凡——KSW-SGM01模拟信号源发布会
重塑机器人未来:揭秘创新芯片解决方案的颠覆力量
适用于安全连接的新一代PIC32CK SG/GC系列单片机
热门
推荐
低价玩转泰克
信号发生器PF1440
泰克年终盛典
精密双向电流感应放大器设计方案
年终搞个特价示波器奖励员工?
我要评论
0
4
分享到微信
分享到微博
分享到QQ
点击右上角,分享到朋友圈
我知道啦
请使用浏览器分享功能
我知道啦
关闭
站长推荐
/3
工程师写总结,送示波器、稳压电源、螺丝刀!
分享你的:职业生涯中故事、2024年年终总结、工作中的小故事,丰富多样的礼品等你哦!
面包板社区有奖活动汇总楼
1. DIY赢大奖!2. 写原创,有奖励!3.参与话题,奖励E币!4. 免费申领:开发板试用、书籍试读...
电子工程师DIY来分享,赢大疆无人机、小米手机、NAS存储、万用表 ...
展示您的 DIY 电子设计作品,社区将有丰富奖励送给您!
首页
论坛
电子技术基础
模拟技术
可编程器件
嵌入式系统与MCU
工程师职场
最新帖子
问答
版主申请
每月抽奖
商城免费换礼
社区有奖活动
博客
下载
评测
视频
文库
芯语
资源
2024国际航空电子大会
2024国际 AIoT 生态发展大会
3D IC 设计和Chiplet资料下载
车载总线测试和解码方案
新能源汽车三电测试技术中心
在线研讨会
EE直播间
小测验
白皮书
行业及技术活动
杂志免费订阅
免费在线工具
厂商资源中心
帖子
博文
返回顶部
×
文章评论(0条评论)
登录后参与讨论