微机原理1-6章(72学时).ppt_第1页
微机原理1-6章(72学时).ppt_第2页
微机原理1-6章(72学时).ppt_第3页
微机原理1-6章(72学时).ppt_第4页
微机原理1-6章(72学时).ppt_第5页
已阅读5页,还剩197页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、2020/7/27,微机原理及应用, MCS-51单片机,总学时:72学时 授课:50学时实验:20学时 主讲教师:赵 明 教授,2020/7/27,微机原理教学课件 辽宁科技大学高等职业技术学院,参考资料,1. 单片微型计算机技术 -刘国荣 机械工业出版社 2.AT89系列单片机原理与接口技术 - 王幸之 等 北京航空航天大学出版社 3.MCS-51/96系列单片机原理及应用 -孙涵芳 徐爱卿 北京航空航天大学出版社 4 单片机原理及其接口技术(第2版) -胡汉才 清华大学出版社 5.单片微型计算机原理及其应用 -何立民 上海科教出版社 6.单片机应用设计 -张刚毅 等 哈工大出版社,202

2、0/7/27,本课主要内容及课时安排,理论课课时50学时 第一章 微型计算机基础 (6学时) 第二章 MCS-51单片机的结构 (6学时) 第三章 MCS-51单片机的程序设计基础 (12学时) 第四章 MCS-51单片机的输入输出及中断 (4学时) 第五章 MCS-51单片机的定时/计数器原理及应用(4学时) 第六章 MCS-51单片机的串行口原理及应用 (4学时) 第七章 MCS-51单片机的系统扩展及应用 (10学时) 第八章 A/D与D/A转换器 (4学时) 实践课时:20学时,2020/7/27,微机原理教学课件 辽宁科技大学高等职业技术学院,第一章 微型计算机基础,1.1 微型计算

3、机的发展及应用,1.2 数字与码制,1.3 微型计算机的基本结构和工作原理,2020/7/27,微机原理教学课件 辽宁科技大学高等职业技术学院, 1.1 微型计算机的发展及应用,1.1.1 计算机系统的组成 一个完整的计算机系统包括硬件系统和软件系统 两大部分。,为使计算机正常工作而设置的命令,组成计算机 的物理实体,2020/7/27,微机原理教学课件 辽宁科技大学高等职业技术学院,一、计算机的硬件系统,运算器,控制器,将程序和数据送到计算机中的存储器。常用输入设备有键盘,鼠标器。,实现算术和逻辑运算,运行数据处理,用于存储数据和程序 。,对指令进行译码后向各部件发出控制信号,指挥计算机按规

4、定进行工作,将计算机的处理结果输出到外,供人们识别和存储,常用的输出设备有:打印机,显示器。,2020/7/27,微机原理教学课件 辽宁科技大学高等职业技术学院,二、计算机的软件系统,1. 软件系统定义: 软件系统是指计算机所使用的各种程序的集合。 2. 软件系统分类: 从使用的角度看,计算机的软件可分为两部分: 系统软件 一般由专门的计算机软件技术人员设计和编制, 如操作系统,各种语言的编译程序,监控程序。 应用软件 用户为解决自己的问题而编制的程序。,2020/7/27,微机原理教学课件 辽宁科技大学高等职业技术学院,1.1.2 微型计算机系统的组成,算术逻辑部件,控制部件,内部总线,累加

5、器、寄存器,微处理器(CPU),存储器(ROM,RAM),主 机,输入/输出接口,系统总线,微型计算机,外围设备,系统软件,微型计算机系统,2020/7/27,微机原理教学课件 辽宁科技大学高等职业技术学院,微型计算机 单片机,微型计算机的组成框图 (由多个IC芯片组装在一个主电路板上),MCS-51单片机,所有单元都组装 在一个IC芯片上,数据RAM,CPU,并行I/O,程序ROM,定时/计数器,串行端口,中断控制器,扩展I/O端口,系统总线(DB、AB、CB),大而全,小而精,1.1.3 微机及微处理器的发展状况及趋势,单片微型计算机(简称单片机) 定义:单片机是在一块芯片上集成了CPU、

6、存储器和各种输入/输出接口。,2020/7/27,微机原理教学课件 辽宁科技大学高等职业技术学院,单片机外型,2020/7/27,微机原理教学课件 辽宁科技大学高等职业技术学院,单片机的发展,1.4位单片机(19711974) 2. 低档8位单片机(19741978) 3. 高档8位单片机(19781982) 4. 16位单片机(19821990) 5. 新一代单片机(90年代以来),2020/7/27,微机原理教学课件 辽宁科技大学高等职业技术学院,具有通用性和灵活性 面向控制 可靠性高(对嵌入式系统来说) 具有掉电保护 I/O接口功能强,便于系统扩展 应用研制周期短 性能价格比高,单片机的

7、特点,2020/7/27,微机原理教学课件 辽宁科技大学高等职业技术学院,数值计算 信息处理(包括数字、文字、语言、符号和图象等) 实时控制 辅助设计 CAD、CAI、CAM等 人工智能 “智能”是利用计算机模仿人类的智能活动、判断、理解、学习、图象识别、问题求解等。,单片机的应用,2020/7/27,微机原理教学课件 辽宁科技大学高等职业技术学院,单片机产品简介,国际上比较流行的单片机有以下几种 Intel系列 Motorola系列 .NEC系列 Philip系列 .NS系列(美国国家半导体公司生产 .Zilog系列(美国Zilog公司生产 ATMEL系列(美国ATMEL公司生产 .MSP4

8、30系列(TI ) .ARM系列,2020/7/27,微机原理教学课件 辽宁科技大学高等职业技术学院,Intel 单片机,2020/7/27,微机原理教学课件 辽宁科技大学高等职业技术学院,MCS-51系列芯片及制造工艺,2020/7/27,微机原理教学课件 辽宁科技大学高等职业技术学院,单片机的发展趋势(嵌入式应用 MCU、DSP、FPGA ),1. 利用8051内核为核心发展出各种型号系列的8051 MCU。 ATMEL AT89CXX WINBOND 51系列 PHILIPS 80C51系列单片机 2. 发展成为SOC (如:LCD控制, A/D, D/A ,网络接口 等) 3. 低功耗

9、 TI MSP430系列 4. 高速 和DSP结合倍频,减少机器周期的时钟数,2020/7/27,微机原理教学课件 辽宁科技大学高等职业技术学院,1.2 数字与码制,一、数制及其互换 “数制”:是计数的进位制,如:十进制,0,1,2,8,9,这些字符也叫数码。 “基数”:数制所用数码的个数。 “权”:102、101、100、10.1,称为相应位的“权”。,任意一个十进制数N都可以表示成按权展开的多项式,例如:543.21可表示为 543.21=5102+4101+3100+210-1+110-2,2020/7/27,微机原理教学课件 辽宁科技大学高等职业技术学院,二、计算机中的数制及相互转换,

10、1. 二、 八、 十六进制转换成十进制,例 1:将数(10.101)2, (46.12)8, (2D.A4)16转换为十进制。 (10.101)2=121+020+12-1+02-2+12-3=2.625 (46.12)8=481+680+18-1+28-2=38.156 25 (2D.A4)16=2161+13160+1016-1+416-2=45.640 62,2020/7/27,微机原理教学课件 辽宁科技大学高等职业技术学院,2. 十进制数转换成二、八、十六进制数 任意十进制数 N 转换成 R 进制数, 需将整数部分和小数部分分开, 采用不同方法分别进行转换, 然后用小数点将这两部分连接

11、起来。 (1) 整数部分: 除基取余法。 分别用基数 R 不断地去除 N 的整数, 直到商为零为止, 每次所得的余数依次排列即为相应进制的数码。最初得到的为最低有效数字, 最后得到的为最高有效数字。,2020/7/27,微机原理教学课件 辽宁科技大学高等职业技术学院,例 2 将(168)10转换成二、 八、 十六进制数。,2020/7/27,微机原理教学课件 辽宁科技大学高等职业技术学院,(2) 小数部分: 乘基取整法。 分别用基数 R(R=2、8或16)不断地去乘N 的小数, 直到积的小数部分为零(或直到所要求的位数)为止, 每次乘得的整数依次排列即为相应进制的数码。 最初得到的为最高有效数

12、字, 最后得到的为最低有效数字。,2020/7/27,微机原理教学课件 辽宁科技大学高等职业技术学院,故: (0.645)10=(0.10100)2=(0.51217)8=(0.A51EB)16,2020/7/27,微机原理教学课件 辽宁科技大学高等职业技术学院,例 4 将(168.645)10转换成二、 八、 十六进制数。 根据例2、例 3 可得 (168.645)10= (10101000.10100)2= (250.51217) 8 =(A8.A51EB)16,例 5 将(110101.011)2转换为十六进制数。,0011 0101 . 0110,3 5 . 6,即 (110101.0

13、11) 2=(35.6)16,2020/7/27,微机原理教学课件 辽宁科技大学高等职业技术学院,三、带符号数的表示方法,1.机器数及真值 计算机在数的运算中, 不可避免地会遇到正数和负数, 那么正负符号如何表示呢?由于计算机只能识别0和1, 因此, 我们将一个二进制数的最高位用作符号位来表示这个数的正负。 规定符号位用“0”表示正, 用“1”表示负。例如, X=-1101010B, Y=+1101010B, 则X表示为: 11101010B, Y表示为01101010B。,2020/7/27,微机原理教学课件 辽宁科技大学高等职业技术学院,(1). 原码 当正数的符号位用0表示, 负数的符号

14、位用1表示, 数值部分用真值的绝对值来表示的二进制机器数称为原码, 用X原表示, X为整数。设X =x1 x2 x3 xn X原= 例+115原= 01110011B; -115原= 11110011B,2.数的码制,8位二进制原码能表示的范围是: -127+127。,2020/7/27,微机原理教学课件 辽宁科技大学高等职业技术学院,( 2). 反码 一个正数的反码, 等于该数的原码; 一个负数的反码, 由它的正数的原码的最高位不变,其它位按位取反形成。反码用X反表示。 X反= 例如: X=+103, 则X反=X原=01100111B; X=-103, X原=11100111B, 则X反=1

15、0011000B。,2020/7/27,微机原理教学课件 辽宁科技大学高等职业技术学院,( 3). 补码(为什么采用补码,就是为了计算的方便) 一个正数的补码, 等于该数的原码; 一个负数的补码, 由它的正数的原码的最高位不变,其它位按位取反加1形成。补码用X补表示。 X补= 例如: X=+75, 则X补=X原= 01001001B; X=-30, 则X补= 11100010B。,8位二进制补码能表示的范围为: -128 +127, 若超过此范围, 则为溢出。,2020/7/27,微机原理教学课件 辽宁科技大学高等职业技术学院,(1)采用什么码制是个人规定的; (2)采用补码,最后的结果也是补

16、码。,注意:,2020/7/27,微机原理教学课件 辽宁科技大学高等职业技术学院,(4)BCD码 BCD码不是二进制数而是十进制数,8421BCD编码表,2020/7/27,微机原理教学课件 辽宁科技大学高等职业技术学院,1.3 微型计算机的基本结构和工作原理,一 微型计算机的基本结构 由CPU、存储器、输入/输出接口电路和系统总线构成。,2020/7/27,微机原理教学课件 辽宁科技大学高等职业技术学院,1. 中央处理器(CPU): CPU(Central Processing Unit)是计算机的核心部件, 它主要由运算器和控制器组成, 完成计算机的运算和控制功能。还包括寄存器阵列和内部总

17、线。 运算器又称算术逻辑部件(ALU, Aithmctieal Logic Unit), 主要完成对数据的算术运算和逻辑运算。 控制器(Controller)是整个计算机的指挥中心, 它负责从内部存储器中取出指令并对指令进行分析、判断, 并根据指令发出控制信号, 使计算机的有关部件及设备有条不紊地协调工作, 保证计算机能自动、连续地运行。由指令寄存器、译码器、定时与控制电路等组成。 寄存器阵列:运算中间结果、堆栈、程序计数器等。 内部总线:实现CPU与各个部件之间的信息传递。,2020/7/27,微机原理教学课件 辽宁科技大学高等职业技术学院,存储器 存储器(Memory)是具有记忆功能的部件

18、, 用来存储数据和程序。 ()存储器的结构图 ()存储器的分类:半导体存储器、磁心存储器和电耦合存储器。 半导体存储器包括: 程序存储器:掩膜ROM、PROM、EPROM和EEPROM; 数据存储器:静态RAM、动态RAM。,2020/7/27,微机原理教学课件 辽宁科技大学高等职业技术学院, 输入/输出接口(I/O接口) 输入/输出(I/O)接口由大规模集成电路组成的I/O器件构成, 用来连接主机和相应的I/O设备(如: 键盘、 鼠标、显示器、 打印机等), 使得这些设备和主机之间传送的数据、信息在形式上和速度上都能匹配。不同的I/O设备必须配置与其相适应的I/O接口。 总线 总线(BUS)

19、是计算机各部件之间传送信息的公共通道。微机中有内部总线和外部总线两类。内部总线是CPU内部之间的连线。外部总线是指CPU与其它部件之间的连线。 外部总线有三种: 数据总线DB(Data Bus), 地址总线 AB(Address Bus)和控制总线 CBControl Bus)。,2020/7/27,微机原理教学课件 辽宁科技大学高等职业技术学院,二、计算机的工作过程,()时序(单片机8031) 振荡周期: 也称时钟周期, 是指为单片机提供时钟脉冲信号的振荡源的周期。 状态周期: 每个状态周期为时钟周期的 2 倍, 是振荡周期经二分频后得到的。 机器周期: 一个机器周期包含 6 个状态周期S1

20、S6, 也就是 12 个时钟周期。 在一个机器周期内, CPU可以完成一个独立的操作。 指令周期: 它是指CPU完成一条操作所需的全部时间。 每条指令执行时间都是有一个或几个机器周期组成。MCS - 51 系统中, 有单周期指令、双周期指令和四周期指令。,2020/7/27,微机原理教学课件 辽宁科技大学高等职业技术学院,MCS - 51 指令的取指/执行时序,2020/7/27,微机原理教学课件 辽宁科技大学高等职业技术学院,计算机的基本工作过程,根据冯诺依曼原理构成的现代计算机的工作原理可概括为: 存储程序和程序控制。存储程序是指人们必须事先把计算机的执行步骤序列(即程序)及运行中所需的数

21、据, 通过一定的方式输入并存储在计算机的存储器中。程序控制是指计算机能自动地逐一取出程序中的一条条指令, 加以分析并执行规定的操作。,2020/7/27,微机原理教学课件 辽宁科技大学高等职业技术学院,作业: 1.计算机系统的组成。 2.什么是单片机,特点及应用。 3.微型计算机的组成。 4.半导体存储器的分类。 5.说明MOX A,#30H指令的执行过程。 6.什么是振荡周期、机器周期、指令周期和状态周期。,2020/7/27,微机原理教学课件 辽宁科技大学高等职业技术学院,第二章 MCS-51单片微型计算机的结构,2.1 MCS-51基本组成 2.2 MCS-51内部结构 2.3 MCS-

22、51单片机引脚功能及片外三总线结构,2020/7/27,微机原理教学课件 辽宁科技大学高等职业技术学院,2.1 MCS-51单片机的基本组成,单片机的硬件资源,8 位的 CPU, 片内有振荡器和时钟电路,工作频率为 1.212MHz(Atmel 89Cxx为024MHz) 片内有 128/256字节 RAM 片内有 0K/4K/8K字节 程序存储器ROM 可寻址片外 64K字节 数据存储器RAM 可寻址片外 64K字节 程序存储器ROM 片内 21/26个 特殊功能寄存器(SFR) 4个8位 的并行I/O口(PO P3) 1个 全双工串行口(RXD/TXD) 2/3个16位 定时器/计数器(T

23、IMER/COUNTER) 可处理 5/6个中断源,两级中断优先级 内置1个布尔处理器和1个布尔累加器(Cy) MCS-51指令集含 111条指令,2020/7/27,微机原理教学课件 辽宁科技大学高等职业技术学院,MCS-51单片机组成框图,控 制,并行口,串行通信,内中断,外中断,频率基准源,外部事件计数 脉冲输入,2020/7/27,微机原理教学课件 辽宁科技大学高等职业技术学院,2.2 MCS-51内部结构,2020/7/27,微机原理教学课件 辽宁科技大学高等职业技术学院,一、CPU:,CPU由运算器和控制器等部件组成,1、运算器 包括:ALU、ACC、B、TMP1、TMP2、PSW

24、等,程序状态字PSW:8位寄存器,表征程序执行的状态信息。,CY(PSW.7)进位标志:在加减法运算中,累加器A的最高位D7有进位,则CY=1,否则CY=0.同理,在减法运算中,如果A7有借位,则CY=1。 AC(PSW.6):辅助进位位:用来判断加减法运算时,低四位是否向高四位进位或借位(即A3的进位或借位) F0(PSW.5) 用户标志位:完全由用户来定义和使用。 RS1,RS0工作寄存器区选择位:确定工作寄存器R0-R7在4个区中的位置。可以通过修改RS1,RS0的值来改变工作寄存器区的选择。,OV(PSW.2)溢出标志位: 判断有符号数运算时是否有溢出。 P(PSW.0)奇偶标志位:

25、用来标志累加器A中运算后1的个数。 当P=1时,表明A中 1的个数为奇数个,反之为偶数个。,2020/7/27,微机原理教学课件 辽宁科技大学高等职业技术学院,2、控制器 包括:PC、指令寄存器IR、指令译码器ID、定时控制电路等。,程序计数器PC(Program Counter):PC用于存放CPU下一条要执行的指令地址, 是一个 16 位的专用寄存器, 可寻址范围是0000H0FFFFH共 64 KB。 堆栈指针SP(Stack Pointer):堆栈操作是在内存RAM区专门开辟出来的按照“先进后出”原则进行数据存取的一种工作方式, 主要用于子程序调用及返回和中断处理断点的保护及返回, 它

26、在完成子程序嵌套和多重中断处理中是必不可少的。(将在第三章详细介绍) 数据指针寄存器DPTR:数据指针DPTR是一个 16 位的专用寄存器, 其高位字节寄存器用DPH表示,低位字节寄存器用DPL表示。既可作为一个 16 位寄存器DPTR来处理, 也可作为两个独立的 8 位寄存器DPH和DPL来处理。DPTR 主要用来存放 16 位地址, 当对 64 KB外部数据存储器空间寻址时, 作为间址寄存器用。在访问程序存储器时, 用作基址寄存器。,2020/7/27,微机原理教学课件 辽宁科技大学高等职业技术学院,二、存储器:,2020/7/27,微机原理教学课件 辽宁科技大学高等职业技术学院,1、程序

27、存储器,程序存储器(ROM)是存放程序、常数和表格的。 在MCS-51单片机中: /EA=1时,系统执行片内的4KROM中的程序;在PC中的内容增加到超过0FFFH时,CPU将自动开始访问片外程序存储器。,2020/7/27,微机原理教学课件 辽宁科技大学高等职业技术学院,/EA=0时,系统使用片外ROM中的程序。 无论是使用片内还是使用片外的ROM(即 EA=1或EA=0),其起始地址都是从0000H单元开始。 尽管系统具备片内ROM和外部ROM,但是在一般正常使用情况下,只能通过/EA的设定来选择其中之一。所以,在物理上的两个存储空间在逻辑上却只是一个(或者使用内部ROM;或者使用外部RO

28、M)。,2020/7/27,微机原理教学课件 辽宁科技大学高等职业技术学院,程序存储器保留的特定单元:,00000002H初始化程序入口。CPU在复位后,总是从0000H单元开始执行程序,所以,此处一般设置一条无条件转移指令。 0003H外部中断!INT0的处理程序入口。 000BH计数器/定时器T0的溢出中断处理程序入口。 0013H外部中断!INT1的处理程序入口。 001BH计数器/定时器T1的溢出中断处理程序入口。 0023H串行口中断处理程序入口。,0000H,0013H,000BH,0003H,001BH,0023H,2020/7/27,微机原理教学课件 辽宁科技大学高等职业技术学

29、院,2、数据存储器RAM,数据存储器无论在物理上还是逻辑上都分为两个地址空间即一个内部和一个外部的数据存储空间,因为: 1、访问内部数据存储单元(128/256B)时,使用 MOV 指令; 2、访问外部数据存储器(64KB)时,使用 MOVX 指令。 内部数据存储器从功能上又将256B空间分为二个不同的块: 1、低128B的RAM块; 在低128B的RAM存储单元中又可划分为:工作寄存器区、位寻址区、通用存储数据的“数据缓冲区”。 2、高128B的SFR(Special Function Register )块。 高128B的专用寄存器区SFR中仅仅使用了21寄存器(51系列),其它单元不能使

30、用。,2020/7/27,微机原理教学课件 辽宁科技大学高等职业技术学院,MCS-51 片内 、片外 数据存储器示意图,特殊功能 寄存器 SFR,通用数据 存储器,80H 7FH,00H,FFH,片内RAM 片外RAM 256B个字节 64KB个字节,片外数据 存储器 64KB,0000H,FFFFH,注意: 1、访问片内RAM20H单元 MOV A,20H 2、访问片外RAM20H单元 MOV R0, #20h MOVX A,R0,2020/7/27,微机原理教学课件 辽宁科技大学高等职业技术学院,片内RAM低 128B 字节功能分配图,位寻址区,3区,2区,1区,0区,便笺区,08H 07

31、H 00H,7FH,30H 2FH,20H 1FH,18H 17H,10H 0FH,四个工作寄存器区 每个区中有R0-R7 八个工作寄存器,位寻址区 16个单元20H-2FH, 共有128 可寻址位个位。 位地址:00H-7FH 注意:位地址与字节地址的区别,通用的RAM区 地址:30H-7FH,2020/7/27,微机原理教学课件 辽宁科技大学高等职业技术学院,0区工作寄存器区结构图,RAM地址 07H 06H 05H 04H 03H 02H 01H 00H,2020/7/27,微机原理教学课件 辽宁科技大学高等职业技术学院,片内 RAM(20H-2FH)中的位寻址区结构图,2FH,20H,

32、字节地址,2020/7/27,微机原理教学课件 辽宁科技大学高等职业技术学院,位寻址区内的地址是位地址。共有00-7FH(共128个位); 要区分字节地址和位地址这两个不同的地址概念: 从物理的角度,每一个字节地址内包含了8个位,即: D7,D6,D5,D4,D3,D2,D1,D0 在一般情况,我们提到的RAM地址都是字节地址。 从逻辑的角度讲,字节地址和位地址是靠不同类型的指令来区分的。如: MOV A, 20h ;将RAM的20单元内容送累加器A; MOV C ,20h ;将RAM位寻址区中20H位送CY中。 在这二个例子中,第一条指令为字节传送指令,所以20H为字节地址;第二个例子中的指

33、令为位操作指令,所以20H为位地址。有关详细内容将在第二章中描述。,2020/7/27,微机原理教学课件 辽宁科技大学高等职业技术学院,特殊功能寄存器SFR,特殊功能寄存器SFR (Special Function Register) 用来设定单片机内部各模块的工作方式,存放相关模块的状态与标志,如定时器、串行口,并行端口的锁存器等等。 尽管特殊功能寄存器与RAM在同一个单元中,但不能作为普通的RAM存储单元来使用。 (只有在编程中根据需要,进行一些特定功能的设定,或者是从中查寻相关部件的状态时,才能进行读、写操作。如中断方式的设定、定时器工作模式的设定,查询串行口发送或接收是否结束等等),2

34、020/7/27,微机原理教学课件 辽宁科技大学高等职业技术学院,特殊功能寄存器 SFR(表一),2020/7/27,微机原理教学课件 辽宁科技大学高等职业技术学院,SFR(表二),注:表中黄色的单元为可按位寻址的字节 (字节地址可以被8整除),2020/7/27,微机原理教学课件 辽宁科技大学高等职业技术学院,三、并行输入/输出口电路结构,MCS51单片机设有四个8位双向I/O端口(P0,P1,P2,P3)。 每一条I/O线都能独立地用作输入或输出。 P0口为三态双向口,能带8个TTL电路。 P1、P2、P3口为准双向口,能带4个TTL电路。,2020/7/27,微机原理教学课件 辽宁科技大

35、学高等职业技术学院,1.端口功能,P0口常用作地址/数据总线口,即低8位地址与数据线分时使用P0口。 P1口其中每一位都能作为可编程的输入或输出线。 P2口常输出高8位地址,与P0口一起组成16位地址总线。 P3口双功能口。作为第一功能使用时,其功能与P1口相同。作第二功能使用时,每一位的定义如下表。,2020/7/27,微机原理教学课件 辽宁科技大学高等职业技术学院,附表P3口的第二功能,2020/7/27,微机原理教学课件 辽宁科技大学高等职业技术学院,2.端口操作,首先介绍端口的结构。 (1)P0口(口地址80H),2020/7/27,微机原理教学课件 辽宁科技大学高等职业技术学院,(2

36、)P1口(口地址90H),P1口是一个准双向口,作通用的I/O口使用。,输入时需预先置1,应为:mov p1,#0FFH mov A, P1,2020/7/27,微机原理教学课件 辽宁科技大学高等职业技术学院,(2)P2口(口地址A0H),P2口是一个准双向口,作通用的I/O口使用。,2020/7/27,微机原理教学课件 辽宁科技大学高等职业技术学院,(2)P3口(口地址B0H),P3口是一个双功能口。 作为第二功能口使用时,见附表。,2020/7/27,微机原理教学课件 辽宁科技大学高等职业技术学院, 2.3 MCS-51单片机引脚功能及片外三总线结构,MCS51单片机属总线型结构。 访问外

37、部存储器:P2口输出高8位地址,P0口输出低8位地址。 访问外部程序存储器:!PSEN信号有效。 访问外部数据存储器:由P3口自动产生读(RD)/写(WR)信号。,2020/7/27,微机原理教学课件 辽宁科技大学高等职业技术学院,复位和复位电路,MCS51单片机的复位电路如下:,2020/7/27,微机原理教学课件 辽宁科技大学高等职业技术学院,寄存器 内容,PC0000HACC00HB00HPSW00HSP07HDPTR0000HP3P0 0FFHIP00000BIE 000000BTMOD00HTCON00HTH000HTL000HTH100HTL100HSCON00HSBUF不定PCO

38、N 0B,2020/7/27,微机原理教学课件 辽宁科技大学高等职业技术学院,MCS-51内部有一个用于构成振荡器的高增益反相放大器.在单片机引脚的XTAL1和XTAL2分别是此放大器的输入和输出端.与作为反馈元件的晶体或陶瓷谐振器一起构成了一个自激振荡器. 内部时钟发生器的输出信号是单片机所需的时钟信号,振荡器与时钟电路,如果使用外部振荡器信号,其外来的信号加在XTAL1的引脚上(见右图).,2020/7/27,微机原理教学课件 辽宁科技大学高等职业技术学院,8051引脚,1.主电源引脚Vss和Vcc 2.外接晶体引脚XTAL1和XTAL2 3.控制或与其它电源复用引脚RST/ VPD,AL

39、E/PROG,/PSEN和/EA/ VPP 4.输入输出引脚P0.0P0.7,P1.0P1.7,P2.0P2.7,P3.0P3.7,2020/7/27,微机原理教学课件 辽宁科技大学高等职业技术学院,逻辑符号,2020/7/27,微机原理教学课件 辽宁科技大学高等职业技术学院,作业: 1.写出PSW各位的含义. 2.MCS-51的CPU都包含哪些功能模块. 3.MCS-51存储器的功能划分. 4.MCS-51SFR有多少个?分布的地址空间?寻址方式? 5.说明MCS-51内外数据存储器组织及地址范围. 6.说明MCS-51的EA引脚的功能. 7.MCS-51存在的地址混叠现象及解决方法. 8.

40、P0、P1、P2、P3口的功能. 9.P0、P1、P2、P3口的负载能力. 10.准双向口的概念. 11.画出P1口的结构图,并说明工作原理. 12.写出单片机复位后,主要SFR的状态.,2020/7/27,微机原理教学课件 辽宁科技大学高等职业技术学院,3.1 MCS-51指令系统 3.2 MCS-51程序设计,第二章 MCS-51指令系统及程序设计基础,2020/7/27,微机原理教学课件 辽宁科技大学高等职业技术学院,3.1 MCS-51指令系统,指令概述 MCS-51单片机指令系统共有33种功能,42种助记符,111 条指令。,每条指令在程序存储器ROM中占据一定的空间,以字节为单位。

41、按指令所占字节数分类: 单字节(49条);双字节(46条);3字节(16条),每条指令在执行时要花去一定的时间,以机器周期为单位。按指令执行时间分类: 单周期(64条);双周期(45条);4周期(2条),按指令的功能分类,可分为5大类: 数据传送类(29条);算术运算类(24条) 逻辑运算及移位类(24);控制转移类(17条) 位操作类(17条),2020/7/27,微机原理教学课件 辽宁科技大学高等职业技术学院,指令的格式,标号:操作码 目的操作数,源操作数;注释,方括符 表示可选项 标号代表指令所在地址,1-8个字母/数字,“:”结尾 操作码就是指令功能助记符,指令实体 目的操作数 源操作

42、数 注释,以“;”开头,2020/7/27,微机原理教学课件 辽宁科技大学高等职业技术学院,MCS-51单片机指令的寻址方式,寻址方式:指令按地址获得操作数的方式 七种寻址方式,一条指令可能含多种寻址方式,立即寻址 直接寻址 寄存器寻址 寄存器间接寻址 变址寻址(基址寄存器+变址寄存器间接寻址) 相对寻址 位寻址,2020/7/27,微机原理教学课件 辽宁科技大学高等职业技术学院,立即寻址,指令中直接含有所需要的操作数data。 MOV A,# data data称为8位或16位的“立即数” 使用 # 作前缀。如: MOV A,#30H ;将8位立即数送累加器A MOV DPTR,#2000H

43、 ;16位立即数送DPTR寄存器 注意:符号“#”表明其后跟的是立即数, 立即数就是数字量本身。,2020/7/27,微机原理教学课件 辽宁科技大学高等职业技术学院,直接寻址,指令本身直接给出操作数在RAM中的地址。 MOV A,direct direct 为8位或16位RAM地址 如:MOV A,30H;将RAM 30H单元数据送累加器A,2020/7/27,微机原理教学课件 辽宁科技大学高等职业技术学院,如:MOV A,30H ;将RAM30H单元内容送累加器 这里30H是操作数在RAM中的地址。 直接寻址的指令长度是两个或三个字节。,n,n+1,30H,累加器A,直接寻址示意图,2020

44、/7/27,微机原理教学课件 辽宁科技大学高等职业技术学院,【注意】: MOV A,#30H MOV A,30H 两者的区别。,n,n+1,ROM,累加器A,MOV A,#30H,指令执行流程,n,n+1,ROM,累加器A,MOV A,30H,30H,RAM,2020/7/27,微机原理教学课件 辽宁科技大学高等职业技术学院,该方式中操作数存储的空间有三种:,1.内部数据存储器的低128个字节单元(00H7FH) 例:MOV A, 70H ; (70H)A,2.位地址空间 例:MOV C, 00H ; 直接位00H内容 进位位,3.特殊功用功能寄存器 *只能用直接寻址方式进行访问。 例:MOV

45、 IE, #85 ; 立即数85H 中断允许寄存器,2020/7/27,微机原理教学课件 辽宁科技大学高等职业技术学院,在MCS-51单片机中规定:访问特殊功能寄存器SFR只能采用直接寻址方式。例如: MOV A, SP ; (A) (SP) MOV A, 81H ; (A) (SP) MOV P1, #5AH ; (P1)(#5AH) MOV 90H,#5AH ; (P1)(#5AH) MOV B, 30H ; (B) (30H),SFR的地址见前章,相同,相同,2020/7/27,微机原理教学课件 辽宁科技大学高等职业技术学院,在MCS-51单片机中访问特殊功能寄存器SFR只能采用直接寻址

46、方式的原因:SFR分布在80H0FFH范围内,而52系列单片机有256字节的片内RAM,其中的80H0FFH的RAM与SFR所占地址重叠。,MOV A, 90H 等效于 MOV A, P1 属直接寻址 MOV A, R0 ;事先已知 (R0) = #90H 执行的操作:A (90H) 属寄存器间接寻址, 随意写的指令如:MOV A, 85H 则是非法的!,于是规定: 80H0FFH范围内的RAM只能用寄存器间接寻址方式,而SFR只能用直接寻址方式。从而解决了地址冲突的问题。例如:,2020/7/27,微机原理教学课件 辽宁科技大学高等职业技术学院,存储器配置(片内RAM),89C51片内RAM

47、 128字节(00H7FH) 89C52片内RAM 256字节(00H0FFH),00H,20H,2FH,7FH,1FH,30H,80H,FFH,52子系列才有 的RAM区,普通RAM区,位寻址区,工作寄存器区,SFR分布在80H-FFH 其中92个位可位寻址,80H,FFH,89C51 128字节,89C52 256字节,只能直接寻址,只能寄存器间接寻址,2020/7/27,微机原理教学课件 辽宁科技大学高等职业技术学院,寄存器寻址 从寄存器中读取操作数或存放操作数进寄存器 例:MOV A,B ; (A) (B) MOV 30H,R0 ;(30H)(R0) MOV A,R1 ; (A) (R

48、1),2020/7/27,微机原理教学课件 辽宁科技大学高等职业技术学院,寄存器间接寻址 寄存器中的内容是一个地址,由该地址单元 寻址到所需的操作数,注意: 1)“间接”表示某寄存器中的“内容”只是一个“单元地址”,这个地址单元中存放的数据才是要找的“操作数”。 2)符号“”表示“在”,其含义与读音皆同“at”。,例: MOV R1,#30H ;(R1) 立即数30H , MOV R1,#30H ;(R1) 立即数30H MOV R1,#0FH ;(30H)立即数0FH MOV A,R1 ;(A)(30H)=#0FH,2020/7/27,微机原理教学课件 辽宁科技大学高等职业技术学院,MOV

49、R0,#30H ;立即数送R0寄存器 MOV A,R0 ;从RAM的30H单元取数送累加器A 【注意】 MOV A, R0 和 MOV A, R0 指令的区别。,30H,R0,00H,累加器A,1,2,3,2020/7/27,微机原理教学课件 辽宁科技大学高等职业技术学院,变址寻址 也称为: 基址寄存器+变址寄存器间接寻址,以16位的地址指针寄存器DPTR或 16位的PC寄存器为基址寄存器,以累加器 A 为变址寄存器,两者中的“内容”形成一个16位的“地址”,该“地址”所指的存储单元中的内容才是操作数。,例:设:A中已存有#A4H,DPTR中已存有#1234H MOVC A,A+DPTR;(A

50、)(A)+(DPTR) 操作:将A4H+1234H=12D8H单元中的数放进累加器A,2020/7/27,微机原理教学课件 辽宁科技大学高等职业技术学院,变址寻址示意图,02H,0300H,ALU,0302H,累加器A,DPTR,0300H (DPTR) + 02H (A) 0302H,MOVC A,A+DPTR,0300H,ROM,平方表,2020/7/27,微机原理教学课件 辽宁科技大学高等职业技术学院,相对寻址 当前PC值加上指令中规定的偏移量 rel,构成实际的操作数地址 例: SJMP rel 操作:跳转到的目的地址 = 当前16位PC值 + rel,注意: 1)“当前PC值”指程序

51、中下一条指令所在的首地址, 是一个16位数; 2)符号“rel”表示“偏移量”,是一个带符号的单字 节数,范围是:-128+127(80H7FH),在实际编程中,“rel” 通常用标号代替,2020/7/27,微机原理教学课件 辽宁科技大学高等职业技术学院,02H,2002H,ALU,2004H,累加器A,PC,2002H + 02H 2004H,操作码,偏移量,例如:SJMP 02H (机器码80H、02H),2000H,2002H,当前PC值,LOOP1,由于偏移量 rel 为带符号的8位补码,所以控制程序转移的 范围为+127-128。,2020/7/27,微机原理教学课件 辽宁科技大学

52、高等职业技术学院,位寻址 指令中直接给出了操作数所在的位地址。 例: CLR P1.0 ;(P1.0) 0 SETB ACC.7 ;(ACC.7) 1 CPL C ;( C ) NOT( C ),注意: 1)位地址里的数据只可能是一个 0 或 1 2)有的位地址十分明确,如 P1.0, ACC.7等, 有的位地址则“不太明确”,如: MOV A,17H ; (A)(17H),17H是字节地址 MOV ACC.0,17H ;(ACC.0)(17H),这里ACC.0 是位地址所以该指令中的17H是22H单元的第7位,2020/7/27,微机原理教学课件 辽宁科技大学高等职业技术学院,片内RAM中有

53、128个位可按位寻址的位,位地址:00H7FH分布在:20H2FH单元; 另外,在SFR中字节地址可以被8整除的可按位寻址,00H,20H,2FH,7FH,1FH,30H,80H,FFH,SFR,普通RAM区,位寻址区,工作寄存器区,27H,22H,21H,20H,26H,24H,25H,23H,28H,07 06 05 04 03 02 01 00,0F 0E 0D 0C 0B 0A 09 08,17 16 15 14 13 12 11 10,1F 1E 1D 1C 1B 1A 19 18,27 26 25 24 23 22 21 20,2F 2E 2D 2C 2B 2A 29 28,37

54、36 35 34 33 32 31 30,3F 3E 3D 3C 3B 3A 39 38,47 46 45 44 43 42 41 40,2FH,7F 7E 7D 7C 7B 7A 79 78,位地址,总共128个可按位寻址的位,单元地址,17,D7 D6 D5 D4 D3 D2 D1 D0,2020/7/27,微机原理教学课件 辽宁科技大学高等职业技术学院,作为嵌入式控制器,CPU更多的是处理“开关量”而不单纯是字节结构的数据。因此MCS-51在指令设计上刻意设计了大量的“布尔操作”即位操作,这为系统应用带来了很大的方便。,MCS-51 单片机 控制、检测 系统,驱动器,电动机,外设1,外设

55、2,状态信号,状态信号,控制信号,2020/7/27,微机原理教学课件 辽宁科技大学高等职业技术学院,MCS-51指令集,功能分五类,共111条指令,数据传送类指令: (29条) 算术运算类指令: (24条) 逻辑运算及移位类指令: (24条) 控制转移类指令: (17条) 位操作(布尔操作)类指令:(17条),2020/7/27,微机原理教学课件 辽宁科技大学高等职业技术学院,(一) 数据传送类指令 (5种/29条),内部存储器间传送: (MOV16条) 外部数据存储器与累加器间传送: (MOVX4条) 程序存储器向累加器传送: (MOVC2条) 数据交换:(XCH,XCHD,SWAP5条)

56、 堆栈操作: (PUSH,POP2条),2020/7/27,微机原理教学课件 辽宁科技大学高等职业技术学院,Acc 累加器,Direct 直接寻址,Ri 间接寻址,Rn 寄存器,#data 立即数,Rn: R0R7 Ri: R0,R1 #data:8位立即数 #data16:16位立即数 direct:直接地址 rel: 8位带符号偏移量,(一)数据传送类指令(5种/29条),内部存储器间传送指令 (16条): MOV 类指令的操作方向总是后面的 操作数 指向前面的操作数! 例:MOV A,30H (A)(30H),2020/7/27,微机原理教学课件 辽宁科技大学高等职业技术学院,(1) 以

57、累加器为目的操作数的指令(4条),MOV A,Rn ;(Rn)(A) MOV A,direct;(direct)(A) MOV A,Ri ;(Ri)(A) MOV A,#data;data(A) 将源操作数指定内容送到A中。,(2) 以寄存器Rn为目的操作数的指令 (3条),MOV Rn,A MOV Rn,direct MOV Rn,#data 这组指令功能是把源操作数指定的内容送入当前工作寄存器,源操作数不变。,1内部数据传送指令MOV,2020/7/27,微机原理教学课件 辽宁科技大学高等职业技术学院,(3)以寄存器间接地址为目的字节的传送指令(3条),MOV Ri,A ;(A) (Ri) MOV Ri,direct;(direct) (Ri) M

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论