指令系统的学习及应用

上传人:bin****86 文档编号:54839068 上传时间:2018-09-20 格式:PPT 页数:190 大小:1.94MB
返回 下载 相关 举报
指令系统的学习及应用_第1页
第1页 / 共190页
指令系统的学习及应用_第2页
第2页 / 共190页
指令系统的学习及应用_第3页
第3页 / 共190页
指令系统的学习及应用_第4页
第4页 / 共190页
指令系统的学习及应用_第5页
第5页 / 共190页
点击查看更多>>
资源描述

《指令系统的学习及应用》由会员分享,可在线阅读,更多相关《指令系统的学习及应用(190页珍藏版)》请在金锄头文库上搜索。

1、任务三、模拟广告等设计,项目小结,项目导读,任务二、汽车转向灯控制,知识归纳,任务一、流水灯控制,情境二 指令系统的学习及应用,练习题,项目目标导读,学习 目标,掌握单片机的存储器结构。 掌握单片机4个I/O端口的功能和使用方法。 熟悉汇编语言常用指令。 熟练掌握汇编语言程序设计的基本方法 。 理解流水灯、汽车转向灯和广告灯控制电路的构成,工作原理和电路中各器件的作用,并对电路进行分析和计算 。,能绘制单片机硬件原理图、能编写简单的汇编程序 。 根据任务要求能构建单片机最小应用系统 。 会使用单片机4个I/O端口连接外部设备 。 能够编写常见的顺序程序、循环程序、延时子程序和查表程序 。 设计

2、模拟流水灯、汽车转向灯和广告灯控制系统,对电路中的故障进行分析判断并加以解决。,1.单片机内部RAM的功能划分。 2.I/O端口的输入、输出功能 。 3.循环程序设计的基本方法 。 4.ROM表格的建立与查表的实现方法 。,知识教学点,项目目标导读,方法切入点,1.采用“项目引导、任务驱动、教学做合一”的教学方式,通过实际项目的分析和实施,了解电子产品的实际应用 。,任务一 流水灯控制,在项目一中,通过单片机开发环境,实现了用单片机的P1.0口来控制单个发光二极管的亮、灭及闪烁状态;同时在技能训练中,利用P1的8个端口,控制8个发光二极管的亮、灭及闪烁状态,本任务实现用P1端口控制8个发光二极

3、管,使之依次点亮,模拟流水灯的效果。,任务一 流水灯控制,任务分析,用单片机来组成一个最小应用系统,利用P1口控制8个发光二极管来模拟8个信号灯,按照规律依次点亮每一个发光二极管并延时一段时间,以实现流水灯的效果。,图2-1 流水灯效果图,1、单片机并行I/O端口,MCS-51单片机共有四个8位的并行I/O口,分别记作P0、P1、P2、P3。每个口都包含一个锁存器,一个输出驱动器和输入缓冲器。实际上它们已被归入专用寄存器之列,并且具有字节寻址和位寻址功能。MCS-51单片机的四个I/O口都是8位双向口,这些口在结构和特性上是基本相同的,但又各具特点,以下分别介绍。,任务一 流水灯控制,图2-2

4、 P0口的位逻辑电路,(1)P0口:包含一个数据输出锁存器、一个输出驱动器和二个数据输入缓冲器。,P0口:地址/数据复用口,1,2,V1,V1,V2,I / O口,输入缓冲器,输入缓冲器,数据输出控制电路,输出驱动电路,任务一 流水灯控制,1,ALE,指令1:MOV P1,#00H,指令2:MOV P1,#0FFH,指令3:MOV P1,#0AAH,输出举例,指令4:CLR P1.0,指令5:SETB P1.0,+5V,下一页,任务一 流水灯控制,输入举例,ALE,读端口: MOV P3, #11111111B,MOV A, P3,89C51,寄存器A,注:当I/O端口作为输入使用时,需先向端

5、口写入“1”,使内部的FET截止,再读入引脚的状态。,你知道P3.4对应寄存器A哪一位吗?,你知道这是为什么吗?,0,1,任务一 流水灯控制,图2-3 P1口的位逻辑电路,(2)P1口,输入缓冲器,输入缓冲器,输出驱动电路,P1口:输入/输出口,V,任务一 流水灯控制,P2口:I/O和地址总线口,1,2,V2,上拉电阻,1,A,B,(3)P2口,输入缓冲器,输入缓冲器,数据输出控制电路,输出驱动电路,图2-4 P2口的位逻辑电路,任务一 流水灯控制,输入缓冲器,P3口:多功能口,与非门,当W=1时,输出Q端信号, 当Q=1时,输出W端信号,,W,输出时: 当Q=1打开与非门,第二功能输出W端信

6、号,输入时: 当Q=1、W=1使V截止,端口引脚的第二功能信号经缓冲器3送入内部第二功能输入端,(4)P3口,输入缓冲器,数据输出控制电路,输出驱动电路,图2-5 P3口的位逻辑电路,输入缓冲器,任务一 流水灯控制,小结: 1、P0口:地址低8位与数据线分时使用端口 2、P1口:按位可编址的输入输出端口, 3、P2口:地址高8位输出口 4、P3口:双功能口。若不用第二功能,也可作通用I / O 口。 5、按三总线划分:,地址线(AB):P0低八位地址,P2高八地址; 数据线(DB):P0输入输出8位数据; 控制线(CB):P3口的8位加上/PSEN、ALE共同完成控制总线。,共16位,任务一

7、流水灯控制,2、单片机运行的基本特点,整个单片机系统是按一定的时序来运行的,运行的节拍由单片机时钟信号决定。只要改变单片机的时钟振荡周期,整个单片机的运行速度将发生改变。通常执行一条指令所需的时间是很短的。,任务一 流水灯控制,下面介绍几个概念: 时钟周期(T时钟):是计算机基本时间单位,同单片机使用的晶振频率有关,若使用的振荡频率为fosc=6MHz,那么T时钟=1/fosc=1/6M=166.7ns。 机器周期(T机器):是指CPU完成一个基本操作所需要的时间,如取指操作、读数据操作等,机器周期的计算方法:T机器=12T时钟=166.7ns X 12=2s。 指令周期:是指执行一条指令所需

8、要的时间,由于指令汇编后有单字节指令、双字节指令和三字节指令,因此指令周期没有确定值,一般为14个T机器。 若使用振荡频率为12MHz的晶振,则计算机器周期T机器=12T时钟=12 X(1/12000000)=1s 若使用振荡频率为6MHz的晶振,则计算机器周期T机器=12T时钟=12 X(1/6000000)=2s 。,任务一 流水灯控制,3、单片机的指令系统,一种计算机所能执行的指令集合就是它的指令系统。不同的单片机采用不同的指令系统。MCS-51系列单片机指令系统包括111条指令,按功能可以划分为以下五类:数据传送指令(28条)算术运算指令(24条)逻辑运算指令(25条)控制转移指令(1

9、7条)位操作指令 (17条),任务一 流水灯控制,表2-1 指令描述约定表,(1)指令系统中的符号说明,任务一 流水灯控制,任务一 流水灯控制,(2)数据传送类指令,(2)数据传送类指令,任务一 流水灯控制,单片机中,数据可以保存在累加器A、工作寄存器、内部数据存储器、外部数据存储器、程序存储器区域。数据可以在这些区域内传送,也可以从这个区域传到另一个区域。可以用一条指令实现,也可能需要多条指令来实现。,图2-6 数据传送类指令示意图,任务一 流水灯控制,(3)算术运算类指令,任务一 流水灯控制,(3)算术运算类指令,任务一 流水灯控制,(4)逻辑运算类指令-逻辑与指令(6条),作用-“屏蔽”

10、字节中某些位,任务一 流水灯控制,(4)逻辑运算类指令-逻辑或指令(6条),作用-常用来对某些位置“1”,任务一 流水灯控制,(4)逻辑运算类指令-逻辑异与指令(6条),作用-常用来对某些位“取反”,任务一 流水灯控制,(4)逻辑运算类指令,任务一 流水灯控制,(5)控制转移类指令,任务一 流水灯控制,(5)控制转移类指令,任务一 流水灯控制,(6)位操作类指令,表2-6 片内RAM位寻址区的位地址分布,任务一 流水灯控制,(6)位操作类指令,任务一 流水灯控制,(6)位操作类指令,任务一 流水灯控制,汇编语言程序设计的意义 什么是程序? 完成某项特定任务的指令的集合。 计算机按程序一条一条地

11、依次执行指令,从而完成指定任务。 要让计算机完成各项任务,就应设计各种程序。 程序设计语言:,任务一 流水灯控制,汇编语言程序的每一条语句都与计算机的某一条指令对应,所以必需熟悉指令系统。 指令 = 操作码 + 操作数 操作码表示了该指令所能执行的操作功能。 操作数表示参加操作的数的本身或操作数所在的地址。 MCS-51指令格式:标号是程序员根据编程需要给指令设定的符号地址,可有可无;标号由18个字符组成,第一个字符必须是英文字,不能是数字或其它符号;标号后必须用冒号。,任务一 流水灯控制,操作码表示指令的操作种类,如MOV表示数据传送操作,ADD表示加法操作等。 操作数或操作数地址表示参加运

12、算的数据或数据的有效地址。操作数一般有以下几种形式:没有操作数项,操作数隐含在操作码中,如RET指令;只有一个操作数,如CPL A指令;有两个操作数,如MOV A,#00H指令,操作数之间以逗号相隔;有三个操作数,如CJNE A,#00H,NEXT指令,操作数之间也以逗号相隔。 注释是对指令的解释说明,用以提高程序的可读性;注释前必须加分号。,任务一 流水灯控制,MCS-51系列单片机的指令系统 111条指令,共分五大类: 数据传送类;(29条) 算术运算类;(24条) 逻辑运算类;(24条) 控制转移类;(17条)位操作类。(17条),任务一 流水灯控制,寻 址 方 式 操作数是指令的重要组

13、成部分,指出了参与操作的数据或数据的地址。寻找操作数地址的方式称为寻址方式。一条指令采用什么样的寻址方式,是由指令的功能决定的。寻址方式越多,指令功能就越强。 MCS-51指令系统共使用了7种寻址方式,包括寄存器寻址、直接寻址、立即数寻址、寄存器间接寻址、变址寻址、相对寻址和位寻址。,任务一 流水灯控制,1. 寄存器寻址 寄存器寻址是指将操作数存放于寄存器中,寄存器包括工作寄存器R0R7、累加器A、通用寄存器B、地址寄存器DPTR等。例如,指令MOV R1,A的操作是把累加器A中的数据传送到寄存器R1中,其操作数存放在累加器A中,所以寻址方式为寄存器寻址。 如果程序状态寄存器PSW的RS1:R

14、S0=01(选中1组工作寄存器,对应地址为08H0FH),设累加器A的内容为20H,则执行MOV R1,A指令后,内部RAM 09H单元的值就变为20H,如图2.7所示。,任务一 流水灯控制,采用寄存器寻址的指令如下:MOV P1,A ;将累加器A的内容送 到P1口MOV P1,R4 ;将寄存器R4的内容送到P1口CLR A ;将累加器A清0CPL A ;将累加器A中的内容取反RL A ;将累加器A的内容循环左移,任务一 流水灯控制,图2.7 寄存器寻址示意图,任务一 流水灯控制,2. 直接寻址 直接寻址是指把存放操作数的内存单元的地址直接写在指令中。在MCS-51单片机中,可以直接寻址的存储

15、器主要有内部RAM区和特殊功能寄存器SFR区。 例如,指令MOV A,3AH执行的操作是将内部RAM 中地址为3AH的单元内容传送到累加器A中,其操作数3AH就是存放数据的单元地址,因此该指令是直接寻址。 设内部RAM 3AH单元的内容是88H,那么指令MOV A,3AH的执行过程如图2.8所示。,任务一 流水灯控制,图2.8 直接寻址示意图,采用直接寻址的指令如下: MOV P1,20H ;将20H单元的内容传送到P1口,任务一 流水灯控制,3. 立即数寻址 立即数寻址是指将操作数直接写在指令中。 例如,指令MOV A,#3AH执行的操作是将立即数3AH送到累加器A中,该指令就是立即数寻址。

16、注意:立即数前面必须加“#”号,以区别立即数和直接地址。该指令的执行过程如图2.9所示。,任务一 流水灯控制,图2.9 立即数寻址示意图,任务一 流水灯控制,采用立即数寻址的指令如下:MOV 20H,#55 ;将立即数55H送20H 单元MOV A,#0F0H ;将立即数0F0H送累加器AMOV R4,#0FH ;将立即数0FH送寄存器R4中MOV R0,#20H ;将立即数20H送寄存器R0口,任务一 流水灯控制,AND A,#0FH ;累加器A的内容与立即数0FH进行 逻辑与操作OR A,#0F0H ;累加器A的内容与立即数0F0H进行逻辑 或操作MOV A,#01H ;将立即数01H送累加器A中MOV A,#55H ;将立即数55H送累加器A中,

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 办公文档 > PPT模板库 > PPT素材/模板

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号