77范文网 - 专业文章范例文档资料分享平台

单片机指令系统(3)

来源:网络收集 时间:2019-01-04 下载这篇文档 手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:或QQ: 处理(尽可能给您提供完整文档),感谢您的支持与谅解。点击这里给我发消息

2. 半字节交换指令

汇编指令格式 机器码格式 操 作

XCHD A,@Ri

该指令将累加器A中内容的低4位与Ri间接寻址的单元内容的低4位互换,高4位内容保持不变。该操作只影响标志位P。

五、从程序存储器读数指令与查表程序举例

在51指令系统中,有两条极为有用的查表指令,其数据表格存放在程序存储器中。 1.远程查表指令

汇编指令格式 机器码格式 操 作

MOVC A,@A+DPTR

; 1001 0011

(PC)←(PC)+1

1101 011i ; (A)0~3?((Ri))0~3

(A)←((A)+(DPTR))

这条指令以DPTR为基址寄存器,A的内容作为无符号数和DPTR的内容相加得到一个16位的地址,把该地址指出的程序存储器单元的内容送到累加器A。CPU在执行指令时,以DPTR为基址寄存器进行查表。通常将表格首址赋值给DPTR ,而累加器A的内容则存放所要读取的数据单元相对表格首址的偏移量。

这条指令的执行结果只与数据指针DPTR和累加器A的内容有关,与该指令的存放地址无关。因此表格的位置可在64KB程序存储器中任意安排,所以称之为远程查表指令。

2.近程查表指令

汇编指令格式 机器码格式 操 作

11

MOVC A,@A+PC

; 1000 0011

(PC)←(PC)+1 (A)←((A)+(PC))

CPU读取该单指令后,PC的内容先自动加1,将新的PC内容与累加器A中的偏移量(8位无符号数)相加形成地址。取出该地址指出的程序存储器单元的内容送到累加器A。这种查表操作很方便,但数据表格只能存放在该指令以后256B范围内,故称为近程查表指令。

例3-1.试编写程序段分别用远程查表指令和近程查表指令将累加器A中的BCD码转换成7段LED显示代码。

方案一:使用近程查表指令 DTOSEC1: INC A

MOVC A,@A+PC RET

TAB1:

DB 3FH DB 06H DB 5BH DB 4FH DB 66H DB 6DH DB 7DH DB 07H DB 7FH DB 6FH

方案二:使用远程查表指令 DTOSEC2: MOV DPTR,#TAB1

MOVC A,@A+DPTR RET

12

;0的显示代码 ;1的显示代码 ;2的显示代码 ;3的显示代码 ;4的显示代码 ;5的显示代码 ;6的显示代码 ;7的显示代码 ;8的显示代码 ;9的显示代码

?

注:表格同TAB1,可以存放在64KB的任意空间。 六、累加器A与外部数据存储器传送数据指令

在51指令系统中,CPU对外部RAM的访问只能使用寄存器间接寻址方式,并且只有以MOVX为助记符的4条指令。

1.外部数据存储器内容送累加器(即读外部数据存储器)。 汇编指令格式 机器码格式 操 作

MOVX A,@Ri

1110 0000 MOVX A,@DPTR ;

在执行这两条指令时,P3.7引脚上输出有效的RD信号,用作外部数据存储器的读选通信号。

第一条指令中,Ri所包含的低8位地址信息由P0口输出,而高8位地址信息(SFR P2中的内容)由P2口输出,该16位地址所寻址的外部RAM单元的数据经P0口输入到累加器,P0口作分时复用的总线。

第二条指令中,DPTR所包含的16位地址信息由P0(低8位地址信息)和P2(高8位地址信息)输出,该16位地址所寻址的外部RAM单元的数据经P0口输入到累加器,P0口作分时复用的总线。

例如:设外部数据存储器2345H单元的内容为55H,则下列两条执行指令后,累加器A中的内容为55H。

MOV DPTR,#2345H MOVX A,@DPTR

等价于:

MOV P2,#23H

13

; 1110 001i (A)←((P2)+(Ri))

(A)←((DPTR))

MOV R0,#45H MOVX A,@R0

2.累加器内容送外部数据存储器(即写外部数据存储器)。

汇编指令格式 机器码格式 操 作

MOVX @Ri,A

; 1111 001i ((P2)+(Ri))←(A)

MOVX @DPTR,A ; 1111 0000 ((DPTR))←(A)

在执行这两条指令时,P3.6引脚上输出有效的WR信号,用作外部数据存储器的写选通

信号。

第一条指令中,Ri所包含的低8位地址信息由P0口输出,而高8位地址信息(SFR P2中的内容)由P2口输出,累加器A 的内容经P0口输出到该16位地址所寻址的外部RAM单元,P0口作分时复用的总线。

第二条指令中,DPTR所包含的16位地址信息由P0(低8位地址信息)和P2(高8位地址信息)输出,累加器A 的内容经P0口输出到该16位地址所寻址的外部RAM单元,P0口作分时复用的总线。

例如:设累加器A中的内容为55H,则下列两条执行指令后,外部数据存储器2345H单元的内容为55H,。

MOV DPTR,#2345H MOVX @DPTR,A

等价于:

MOV P2,#23H MOV R0,#45H MOVX @R0,A

14

3.3.2 算 术 运 算 指 令

在MCS-51指令系统中具有加、减、乘及除法指令,其运算功能比较强。

算术运算指令执行的结果将影响进位标志(CY)、辅助进位标志(AC)及溢出标志(OV)。但是加1和减1指令将不影响这些标志。

一、加法指令(ADD、ADDC、DA)与多字节运算举例(含BCD码) 1.加法指令

汇编指令格式 机器码格式 操 作

ADD A,Rn

ADD A,direct ; (A)←(A)+(direct) 0010 0101

ADD A,@Ri

ADD A,#data ; 0010 0100 (A)←(A)+data

这组加法指令的功能是将工作寄存器的内容、内部RAM单元的内容或立即数和累加器A中的内容相加,其结果放在累加器A中。相加过程中,如果位7(D7)有进位(即C7=1),则进位CY置“1”,否则清“0”;如果位3(D3)有进位则辅助进位AC置“1”,否则清“0”;如果位6有进位输出(即C6=1)而位7没有或者位7有进位输出而位6没有,则溢出标志OV置“1”,否则清“0”。源操作数有寄存器寻址、直接寻址、寄存器间接寻址和立即寻址等寻址方式。

15

0010 1rrr ; (A)←(A)+(Rn)

direct ; (A)←(A)+((Ri)) 0010 011i data

百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说综合文库单片机指令系统(3)在线全文阅读。

单片机指令系统(3).doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印 下载失败或者文档不完整,请联系客服人员解决!
本文链接:https://www.77cn.com.cn/wenku/zonghe/403679.html(转载请注明文章来源)
Copyright © 2008-2022 免费范文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ: 邮箱:tiandhx2@hotmail.com
苏ICP备16052595号-18
× 注册会员免费下载(下载后可以自由复制和排版)
注册会员下载
全站内容免费自由复制
注册会员下载
全站内容免费自由复制
注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: