MCS-51单片机指令系统及编程举例
更新时间:2023-06-10 16:26:01 阅读量: 实用文档 文档下载
微机原理及应用
对于任何一台计算机,必须有软件(程 序)的支持,才能工作。但是市场上所售 的单片机是裸机,在使用之前要现对它编 程,将程序固化在芯片内,才能使用。 指令系统是一种CPU所能直接执行的所 有命令的集合,CPU的主要功能是由它的 指令系统来体现的。任何计算机语言编写 的任何程序,都必须转换为指令系统中相 应指令代码的有序集合,CPU才能执行 。 单片机的指令系统是单片机能够识别 并执行的所有指令的集合。
3.1指令系统简介 每一种CPU都有其独立的指令系统。 MCS-51系列单片机指令系统共有111 条指令,其中有49条单字节指令,45条双 字节指令和17条三字节指令。 MCS-51指令系统的功能十分强大,它 把体现单片机的各种功能的寄存器组织在 统一的地址空间中,MCS-51指令系统在其 存储空间、时间的利用率及工作效率方面 都是较高的。
1. 指令格式 MCS-51指令系统中的每一条指令都有 两级指令格式: CPU可直接识别并执行的机器语言指令 (机器语言)。 汇编语言指令(简称汇编指令)。 符号说明:见书上.P.34
MCS-51汇编语言指令格式,由以下几个部分组成:
[标号:] 操作码 [目的操作数] [,源操作数] [;注释]
例:LOOP:MOV A,R1;A R1MOV A,R1
INCNOP
A
3.2 寻址方式 所谓寻址方式就是寻找或获得操作数的
方式。指令的一个重要组成部分是操作数。由 寻址方式指定参与运算的操作数或操作数 所在单元的地址。
MCS-51指令系统的寻址方式有以下7种: 1. 立即寻址 2. 直接寻址 3. 寄存器寻址 4. 寄存器间接寻址 5. 变址寻址 6. 相对寻址 7. 位寻址
立即寻址:操作数直接出现在指令中,可以 是8位,也可是16位。该方式寻址中的操作数 称为立即数,用“#”表示。 例:MOV A,#30H ;A 30H 执行结果:A=30H 例:MOV DPTR,#1000H;DPTR 1000H 执行结果: DPTR=1000H, 注意:只有MOV DPTR,#date16指令的立即 数为16位,DPTR分为DPH和DPL,在上述 例子中, DPH=10H, DPL=00H
直接寻址:操作数的地址直接出现在指令
中。这类寻址方式的操作数只能是存放在内部RAM和SFR中。见.P.23
(1)SFR 例:MOV A,P1 执行结果:将P1口的内容送到A中。
若P1的内容为78H,执行该指令后,A=78H
(2)内部RAM的低128字节 例:MOV A,76H
执行结果:将76H单元的内容送到A中。 若(76H)=3FH,执行该指令后,A=3FH注意:若要表示某个单元的内容,将该单元用括号扩起 来,如(43H)、(76H)、(R0)等。
寄存器寻址:操作数为寄存器的内容。 此处的寄存器指的是工作寄存器 R0~R7
、累加器A、通用寄存器B、数据 指针寄存器DPTR和位累加器C(即进位 位C)。 例 :MOV A,R0 执行结果:将R0的内容送入A中。 若R0的内容(R0)=5AH,则A=5AH
寄存器间接寻址:将指定寄存器中的内容
作为地址,该地址对应的内容才是操作数,用@表示。
例:MOV A,@R0执行结果:将R0的内容作为地址,再将该
地址对应的内容送入A中。若(R0)=46H,(46H)=2FH,则:
A=((R0))=(46H)=2FH
例:MOV @R1 , 76H执行结果: ((R1)) (76H) 。
若(76H)=0FH, (R1)=23H,则:(23H)=0FH
变址寻址:以程序指针PC或数据指针DPTR为基址,以累加器A作为变址,两者
内容相加(即基址+偏移量)形成16位地址。
例: 地址 目标代码 汇编指令 2100 7406 MOV A,#06H 2102 83 MOVC A,@A+PC 2103 00 NOP 2104 00 NOP … … … 2109 32 DB 32H 执行结果分析:当执行到MOVC A,@A+PC 时,PC=2103H(基址),A=06H(偏移量),因 此@A+PC所示的地址=2103H+06H=2109H, (2109H)=32H,所以A=32H
例:
TABLE:
MOV A,#01H MOV DPTR,#TABLE MOVC A,@A+DPTR DB 41H DB 42H
… … 执行结果分析:基址的首地址= TABLE 偏移量= 01H, 程序执行到MOVC A,@A+DPTR时, @A+DPTR所指的地址= TABLE +01H,因此,该指令执行后A=42H
相对寻址:以PC的当前值为基址,与指令 中的第二字节给出的偏移量rel(8位有符号 数)相加,所得之和为程序的转移地址。 转移范围为+127~-128字节之间。 例:SJMP 08H;双字节指令 分析:若PC=2000H为该条指令的地址,则 转移目标地址=2000H+02H+08H=200AH
位寻址:对片内RAM的20H~2FH字节地址中
的所有位和部分SFR的位进行寻址。 区分指令中是位地址还是存储器单元地址不太
容易,主要是由另一个操作数来区分。 例:SETB EX0 ;EX0 1,位寻址
MOVMOV MOV
C,07H ;C (07H) ,位寻址A,20H ;A (20H) ,直接寻址 C,20H ;C (20H) ,位寻址
3.3 指令系统 指令分类:MCS-51指令系统共有111条指 令,分成5大类: (1)数据传送类 (2)算术运算类 (3)逻辑运算类 (4)控制程序转移类 (5)布尔变量操作(位操作类)
3.4 汇编语言程序设计基础用汇编 语言编 写的源 程序
汇编程序
目标程序
汇编语言是一种采用助记符表示的机器语 言,即用助记符号来代表指令的操作码和 操作数,用标号或符号代表地址、常数或 变量。而助记符一般都是英文单词的缩写, 因此使用方便。这种用助记符编写的程序 称为源程序。
正在阅读:
MCS-51单片机指令系统及编程举例06-10
中考总复习:二氧化碳的性质、用途和制取归纳(基础)-知识讲解04-08
染指流年美甲店创业计划书03-11
中药鉴定学习题集03-14
编译原理 第一章08-21
中国近代史(上)李侃08-18
自考儿童发展归类填空选择题10-02
软基处理强夯试验段总结01-25
- 教学能力大赛决赛获奖-教学实施报告-(完整图文版)
- 互联网+数据中心行业分析报告
- 2017上海杨浦区高三一模数学试题及答案
- 招商部差旅接待管理制度(4-25)
- 学生游玩安全注意事项
- 学生信息管理系统(文档模板供参考)
- 叉车门架有限元分析及系统设计
- 2014帮助残疾人志愿者服务情况记录
- 叶绿体中色素的提取和分离实验
- 中国食物成分表2020年最新权威完整改进版
- 推动国土资源领域生态文明建设
- 给水管道冲洗和消毒记录
- 计算机软件专业自我评价
- 高中数学必修1-5知识点归纳
- 2018-2022年中国第五代移动通信技术(5G)产业深度分析及发展前景研究报告发展趋势(目录)
- 生产车间巡查制度
- 2018版中国光热发电行业深度研究报告目录
- (通用)2019年中考数学总复习 第一章 第四节 数的开方与二次根式课件
- 2017_2018学年高中语文第二单元第4课说数课件粤教版
- 上市新药Lumateperone(卢美哌隆)合成检索总结报告
- 单片机
- 举例
- 指令
- 编程
- 系统
- MCS
- 51
- 西区1栋.住宅楼1-4栋 钰龙天下佳园二期临电专项施工方案
- 第二讲 函数的概念和性质
- 我国投资银行业的发展历程
- 多媒体视频会议技术及其在青海电力的应用
- 谈谈硅胶制品模具设计
- 安全工程师考试《安全生产法律知识》全真习题(14)
- 中医自然疗法与健康美
- 2009B题眼科病床的合理安排研究
- 冰蓄冷低温送风空调系统的节能特点及应用
- 第十章 国际化战略
- 2003年全国高中数学联合竞赛试题及答案
- 地下室混凝土剪力墙裂缝原因分析及防治措施
- 棘白菌素类抗真菌药米卡芬净研究进展
- 内蒙古包头市一机一中2013-2014学年高一历史上学期期末考试试题 理 新人教版
- 农商行人事劳资管理办法
- 制造业管理者必备的七项管理技能
- 薄壁压力容器开孔补强的设计计算与可靠性分析
- 平舌翘舌平翘舌区分练习
- 拉维拉斯县驰名的跳蛙》的叙事分析
- KTV服务员流程服务培训(1)