关键字:
授课教案
当前位置: 首页 >> 网络资源 >> 授课教案 >> 正文

第三章 指令系统分析

2014-05-29 点击:[]

一、知识点

   1)寻址方式

2)指令系统分类

3)数据传送指令:通用传送指令、堆栈操作指令、交换指令、访问外部RAM的指令、访问ROM的指令

4)算术运算指令:加法、十进制加法调整、减法、乘法和除法指令

5)逻辑运算指令:逻辑操作(清零、取反、移位)、逻辑运算(与、或、异或)

6)位操作指令:位逻辑操作(清零、置位、取反)、位逻辑运算(与、或)

7)控制转移指令:跳转指令(绝对跳转、相对跳转、散转)、条件转移指令、循环指令、子程序调用及返回、空操作指令

二、重点

1)数据传送指令:通用传送指令、堆栈操作指令、交换指令、访问外部RAM的指令、访问ROM的指令

2)算术运算指令:加法、十进制加法调整、减法、乘法和除法指令

3)逻辑运算指令:逻辑操作(清零、取反、移位)、逻辑运算(与、或、异或)

4)位操作指令:位逻辑操作(清零、置位、取反)、位逻辑运算(与、或)

5)控制转移指令:跳转指令(绝对跳转、相对跳转、散转)、条件转移指令、循环指令、子程序调用及返回、空操作指令

三、难点

   1)数据存储与单元的关系:内部RAM地址8位,外部RAM及输入/输出口地址16

   2)含有寄存器间接寻址的指令

3)指令功能:二进制数加减法指令,十进制数加法调整指令,条件判断指令

(4)指令的正确使用

四、授课方法

课堂授课(PPT),板书、Proteus演示

五、授课内容

3.1 MCS-51单片机指令格式和寻址方式

(一)指令系统

1)指令、指令系统的概念

2)机器语言指令:用二进制代码表示,又称指令码。计算机能直接识别,执行和分析;

3)汇编语言指令:用助记符表示,便于程序员阅读、编写、记忆和识别程序。不能被计算机识别和执行。

4)指令系统:一台计算机所有指令的集合。

5)汇编语言和机器语言的关系

6)汇编语言的格式

(二)MCS-51寻址方式

寻址方式:计算机CPU获取参与运算的操作数的方式。

操作数:在指令中指定了参与运算的数或者数所在单元的地址。

1)立即寻址

2)直接寻址

3)寄存器寻址

4)寄存器间接寻址

5)变址寻址(基址寄存器加变址寄存器间接寻址)

6)相对寻址

3.2 MCS-51指令系统介绍

(一)分类,按功能、字节、执行时间等

(二)数据传送指令

1)通用传送指令:MOV [目的操作数][源操作数]

A累加器为目的操作数的传送指令

Rn为目的操作数的指令

以内RAM单元地址为目的操作数的传送指令:直接给出单元地址

以内RAM单元地址为目的操作数的传送指令:用地址寄存器@Ri指出单元地址

十六位二进制数传送指令

例题:程序段分析

2)数据堆栈操作指令:入栈指令,出栈指令

    例题:程序段分析

3)数据交换指令

字节交换指令,半字节交换指令,高低四位互换指令

例题12个变量值的交换。

例题22个变量值的低四位交换。

例题31个给定单元内容的高、低四位交换。

3)访问外部RAMI/O口的指令

读(输入)、写(输出)操作

例题1:单片机内部RAM单元与外部RAM单元内容的互换

例题2:对外部I/O口的操作

4)访问程序存储器的指令(查表指令)

   例题:查ASCII码表获取给定单元内容的ASCII

(三)算术运算指令

1)加法运算指令:不带/带进位位的加法指令

标志位变化,进位位处理方法

例题1:加法指令使用(重点:进位位处理方法)

例题2:双字节加法

2)十进制加法调整指令

     调整原因及调整原理

     例题1:4位十进制数加法

3)加1指令

     上溢现象,地址修正原理

4)十六位二进制数加1指令

     上溢现象,外部RAM单元地址修正原理

5)减法运算:带进位位的减法指令

例题:多字节二进制减法

6)减1指令

下溢现象,地址修正原理

7)乘法指令

例题:多字节二进制乘法

8除法指令

   例题:单字节数转换为BCD

(四)逻辑运算指令

1)对A累加器的逻辑操作指令:清零,取反,左移、右移

   例题1多字节求补码

例题2:多字节二进制数乘2

例题3:多字节二进制数除2

2)逻辑运算指令:与、或、异或运算指令

例题1:屏蔽操作

例题2:置位操作

例题3:取反操作

例题4:多字节求补码

  (五)位操作指令(布尔操作指令)

1)位传送指令

2)位状态控制指令:清零,取反,置位

3)位运算指令:与,或

例题: 组合逻辑电路的软件实现。

(六)控制转移指令

1)无条件转移指令:长跳转指令、短跳转指令、相对短跳转指令、散转指令

例题:根据键值转移到预先设置的功能处理程序。

 

2)条件转移指令

   判断条件的实现方法

例题1:判断2个变量(单字节)的大小

例题2:使用条件判断指令实现程序循环

   例题3:按键的多重定义方法——标志位的使用

3循环转移指令

例题1:循环指令的使用方法

例题2:多个单元内容求和

4调用和返回指令

   例题1:清0子程序及调用

5空操作指令 NOP

例题1:软件延时

例题2:走马灯程序演示

关闭

}