单片机教案2.doc

上传人:b****2 文档编号:1409507 上传时间:2022-10-22 格式:DOC 页数:12 大小:208KB
下载 相关 举报
单片机教案2.doc_第1页
第1页 / 共12页
单片机教案2.doc_第2页
第2页 / 共12页
单片机教案2.doc_第3页
第3页 / 共12页
单片机教案2.doc_第4页
第4页 / 共12页
单片机教案2.doc_第5页
第5页 / 共12页
点击查看更多>>
下载资源
资源描述

单片机教案2.doc

《单片机教案2.doc》由会员分享,可在线阅读,更多相关《单片机教案2.doc(12页珍藏版)》请在冰豆网上搜索。

单片机教案2.doc

常州轻工职业技术学院

单片机原理及应用课程授课教案NO3

授课日期

授课班级

课题

指令系统

授课类型

讲授

授课时数

教学

目的

(1)了解指令系统的概述

(2)熟悉寻址方式(3)掌握MCS-51系列单片机指令

重点

难点

寻址方式、MCS-51系列单片机指令

寻址方式

教具

挂图

多媒体课件

教学

过程分配

主要教学内容

教学方法

的运用

20分钟

10分钟

10分钟

5分钟

5分钟

10分钟

5分钟

5分钟

10分钟

10分钟

第二章MCS-51单片机指令系统

一.指令的表达形式

1.二进制代码(机器码)指令

2.助记符(汇编语言)指令

助记符指令:

MOVA,#30H

二进制代码指令:

0111010000110000

助记符指令必须转换成二进制代码指令才能存入存储器。

二、汇编语言指令格式

操作码[第一操作数][,第二操作数][,第三操作数]

(1)操作码:

用来规定指令进行何种操作,是指令中不能空缺的部分。

(1)操作数:

表示参与指令操作的数据或数据所在的地址。

为可选项。

有两个操作数时,前一个为目的操作数,后一个为源操作数。

三.指令中有关操作数符号的说明

Rn——工作寄存器R0~R7(n=0、1、2…7)。

Ri——工作寄存器R0和R1(i=0或1)。

Direct——内部RAM的单元地址,地址范围为00~FFH。

#data——8位立即数,即常数。

#data16——16位立即数。

addr16——16位目的地址。

Addrll——11位目的地址。

四.MCS-51单片机指令系统

MCS—51的指令按功能分为五大类:

数据传送、算术运算、逻辑运算、控制转移和位操作指令。

(一)数据传送类指令

注意:

源操作数在传送前后保持不变。

1.内部数据传送指令

【例2-1】设(30H)=40H,(40H)=10H,(P1)=0CAH,试判断下列程序执行后的结果。

MOVR0,#30H;R0←#30H

MOVA,@R0;A←(30H),(A)=40H

MOVR1,A;R1←(A),(R1)=40H

MOVB,@R1;B←(40H),(B)=10H

MOV@R1,P1;(R1)←(P1),(40H)=0CAH

MOVP2,P1;P2←(P1),(P2)=0CAH

结果是:

(A)=40H,(B)=10H,(40H)=0CAH,(P2)=0CAH

2.外部数据传送指令

此类指令完成对片外RAM单元中数据的读/写操作。

注意:

用R0和R1间接寻址时,要占用P2寄存器放外部RAM的高8位地址,R0和R1放低8位地址。

使用时,要先将低8位地址送入Ri(R0或R1),高8位地址送入P2寄存器,然后再用上述指令。

【例2-2】将片外RAM1000H单元中的内容送到2000H单元。

方法一MOVDPTR,#1000H;DPTR←#1000H

MOVXA,@DPTR;A←((DPTR))

MOVDPTR,#2000H;DPTR←#2000H

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

方法二MOVP2,#10H;P2←#10H

MOVR0,#00H;R0←#00H

MOVXA,@R0;A←((R0))

MOVP2,#20H;P2←#20H

MOVX@R0,A;(R0)←(A)

注意:

在两个片外RAM单元之间是不能直接进行数据的传送的,必须经过片内的累加器A来间接地传送。

3.访问程序存储器的传送指令(查表指令)

MOVCA,@A+PC;PC←(PC)+1,A←((A)+(PC))

MOVCA,@A+DPTR;A←((A)+(DPTR))

其功能是到程序存储器中查表格数据送入累加器A。

程序存储器中除了存放程序之外,还会放一些表格数据,又称查表指令。

指令中的操作数为表格数据。

前一条指令将A中的内容与PC的内容相加得到16位表格地址;后一条指令是将A中的内容与DPTR中的内容相加得到16位表格地址。

4.数据交换指令

数据交换是在内部RAM单元与累加器之间进行,有字节和半字节交换两种。

(1)字节交换指令

XCHA,Rn

XCHA,direct

XCHA,@Ri

(2)半字节交换指令

XCHDA,@Ri

5.堆栈操作指令

在片内RAM的00H~7FH地址区域中,可设置一个堆栈区,主要用于保护和恢复CPU的工作现场。

(1)进栈指令

PUSHdirect;SP←(SP)+1;

(SP)←(direct);

(2)出栈指令

POPdirect;direct←((SP));

SP←(SP)-1;

二、算术运算类指令

注意大部分指令的执行结果将影响程序状态字PSW的有关标志位。

如果把参加运算的两个操作数看作是无符号数(0~255),加法运算对CY标志位的影响如下:

(1)若结果的第7位向前有进位(C7’=1),CY=1

(2)若结果的第7位向前无进位(C7’=0),CY=0

【例2-3】设有两个无符号数放在A和R2中,设(A)=0C6H(198),(R2)=68H(104),

执行指令:

ADDA,R2

试分析运算结果及对标志位的影响。

解:

写成竖式

(A)11000110198

(R2)+01101000+104

(A)100101110302

结果是:

(A)=2EH,CY=1。

【例2-4】设有两个16位无符号数,被加数存放在内部RAM的30H(低位字节)和31H(高位字节)中,加数存放在40H(低位字节)和41H(高位字节)中。

试写出求两数之和,并把结果存放在30H和31H单元中的程序。

参考程序为:

MOVR0,#30H;地址指针R0赋值

MOVR1,#40H;地址指针R1赋值

MOVA,@R0;被加数的低8位送A

ADDA,@R1;被加数与加数的低8位相加,和送A,并影响CY标志

MOV@R0,A;和的低8位存30H单元

INCR0;修改地址指针R0

INCR1;修改地址指针R1

MOVA,@R0;被加数的高8位送A

ADDCA,@R1;被加数和加数的高8位与CY相加,和送A

MOV@R0,A;和的高8位存31H单元

(二)减法指令

1、带借位减法指令

该组指令的功能是从累加器A减去源操作数及标志位CY,其结果再送累加器A。

CY位在减法运算中是作借位标志。

SUBB指令对标志位的影响如下:

(1)若第7位向前有借位(C7’=1),则CY=1;

(2)若第7位向前无借位(C7’=0),则CY=0,

【例2-5】在A和R3中存有两个无符号数,设(A)=98H,(R3)=6AH,CY=1,执行指令:

SUBBA,R3

分析执行结果及对标志位的影响

解:

(A)1001100098H

(R3)–011010106AH

CY–1–1

(A)001011012DH

结果是:

(A)=2DH,CY=0

2、减1指令

指令操作机器码

DECA;A←(A)-100010100

DECRn;Rn←(Rn)-100011rrr

DECdirect;direct←(direct)-100010101direct

DEC@Ri;(Ri)←((Ri))-10001011i

(四)乘法指令

指令操作机器码

MULAB;BA←(A)Х(B)10100100

指令的功能是把累加器A和寄存器B中两个8位无符号整数相乘,并把乘积的高8位存于寄存器B中,低8位存于累加器A中。

乘法运算指令执行时会对标志位产生影响:

CY标志总是被清0,即CY=0;OV标志则反映乘积的位数,若OV=1,表示乘积为16位数;若OV=0,表示乘积为8位数。

(五)除法指令

指令操作机器码

DIVAB;A商,B余←(A)÷(B)10000100

指令的功能是把累加器A和寄存器B中的两个8位无符号整数相除,所得商的整数部分存于累加器A中,余数存于B中。

除法指令执行过程对标志位的影响:

CY位总是被清0,OV标志位的状态反映寄存器B中的除数情况,若除数为0,则OV=1,表示本次运算无意义,否则,OV=0。

三、逻辑运算类指令

在MCS—51指令系统中,逻辑运算类指令有25条,可实现与、或、异或等逻辑运算操作。

这类指令有可能会影响CY和P标志位的状态。

(一)累加器A的逻辑操作指令

1、累加器A清0

CLRA;A←00H

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 工程科技 > 建筑土木

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1