




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、单片机原理及应用复习(fx)大纲共一百零一页考试(kosh)题型一. 单项选择 (2分*10)二. 填空 (1分*20)三. 简答题 (5分*5)四. 改错题 (2分*5)五. 阅读程序后填空(4分*2)六. 编程题 (7分+10分)共一百零一页第一章 绪论第二章 结构第三章 指令系统第四章 汇编语言程序设计(chn x sh j)第五章 中断、定时器/计数器、串行通信共一百零一页第一章 单片机的基本概念 单片微型计算机(单片机):Single Chip Microcomputer微处理器:Micro Processor Unit(MPU)微控制器:Micro Controller Unit(
2、MCU)组成微型计算机的各个功能部件(bjin): 中央处理器(CPU)、随机存储器(RAM)、只读存储器(ROM)、输入/输出接口电路、定时器/计数器以及串行通信接口等集成在一块芯片中,构成一个完整的微型计算机。 共一百零一页单片机有哪两种基本结构及特点?MCS-51单片机存储器的结构特点?存储空间的划分?访问不同的存储空间的指令(zhlng)格式区别?1) 哈佛结构和普林斯顿结构。2)MCS-51系列单片机存储器采用哈佛结构,数据存储器和程序存储器彼此是独立的,并有各自存储空间的访问指令。3)从物理地址空间看,存储器分:片内程序存储器ROM、片外程序存储器ROM、片内数据存储器RAM、片外
3、数据存储器RAM。4)访问片内、外程序存储器空间用:MOVC访问片内数据存储器空间和SFR(Special Function Register)用:MOV访问片外数据存储器地址空间用:MOVX共一百零一页第二章 MCS-51系列单片机的硬件(yn jin)结构特点 中央处理器 程序(chngx)存储器、数据存储器 定时器/计数器 并行输入输出(I/O)接口 全双工串行口 中断系统时钟电路 布尔处理器 共一百零一页P3口第二(d r)功能表引 脚第 二 功 能P3.0串行口输入端P3.1串行口输出端P3.2外部中断0请求输入端,低电平有效P3.3外部中断1请求输入端,低电平有效P3.4定时器/计
4、数器0计数脉冲输入端P3.5定时器/计数器1计数脉冲输入端P3.6外部数据存储器写选通信号输出端,低电平有效P3.7RXDTXDINT0INT1T0T1WRRD外部数据存储器读选通信号输出(shch)端,低电平有效共一百零一页控制线 (1) ALE/PROG(30脚):地址锁存有效信号输出端。ALE在每个机器周期内输出两个脉冲。在访问片外程序存储器期间,下降沿用于控制锁存P0输出的低8位地址;在不访问片外程序存储器期间,可作为对外输出的时钟脉冲或用于定时目的。但要注意,在访问片外数据存储器期间,ALE脉冲会跳空一个,此时作为时钟(shzhng)输出就不妥了(详见CPU时序)。 对于片内含有EP
5、ROM的机型,在编程期间,该引脚用作编程脉冲PROG的输入端。2.2 MCS-51单片机的引脚功能(gngnng) 共一百零一页 (2) PSEN(29脚):片外程序存储器读选通信号输出端,低电平有效。当从外部程序存储器读取指令或常数期间,每个机器周期该信号两次有效,以通过数据总线P0口读回指令或常数。在访问片外数据存储器期间,PSEN信号将不出现。 (3) RST/VPD(9脚):RST即为RESET,VPD为备用电源。该引脚为单片机的上电复位或掉电保护端。当单片机振荡器工作时,该引脚上出现持续两个机器周期的高电平,就可实现复位操作,使单片机回复到初始状态。上电时,考虑到振荡器有一定的起振时
6、间,该引脚上高电平必须持续10 ms以上才能保证有效复位。 当VCC发生故障,降低到低电平规定值或掉电时,该引脚可接上备用电源VPD(+5 V)为内部RAM供电,以保证RAM中的数据不丢失。共一百零一页 (4) EA/VPP(31脚):EA为片外程序存储器选用端。该引脚有效(低电平)时,只选用片外程序存储器,否则单片机上电或复位后选用片内程序存储器。 对于片内含有EPROM的机型,在编程期间,此引脚用作21 V编程电源VPP的输入端。 综上所述,MCS-51系列单片机的引脚可归纳为以下两点: (1) 单片机功能多,引脚数少,因而许多引脚都具有第二功能。 (2) 单片机对外呈现3总线形式,由P2
7、、P0口组成16位地址总线;由P0口分时复用为数据总线;由ALE、PSEN、RST、EA与P3口中的INT0、INT1、T0、T1、WR、RD共10个引脚组成控制总线。由于是16位地址线,因此,可使片外存储器的寻址范围达到64 KB。共一百零一页2.3 中央处理器、时钟及时(jsh)序 运算部件 运算部件以算术逻辑单元ALU为核心,包括布尔处理器、累加器ACC、寄存器B、暂存器、程序状态字PSW等许多部件。它能实现(shxin)数据的算术逻辑运算、位变量处理和数据传输操作 共一百零一页2.3 中央处理器、时钟及时(jsh)序 专用寄存器组 累加器A (Accumulator)通用寄存器B (G
8、eneral Register) 程序状态字PSW (Program Status Word)程序计数器PC(Program Counter) 数据指针(zhzhn)DPTR (Data Pointor) 堆栈指针SP (Stack Pointor) 共一百零一页 CY(PSW.7)进位标志位。 AC(PSW.6)辅助进位(或称半进位)标志。 F0(PSW.5)由用户定义的标志位。 RS1(PSW.4)、 RS0(PSW.3)工作寄存器组选择位。 OV(PSW.2)溢出标志位。 由硬件(yn jin)置位或清零。 PSW.1未定义位。 P(PSW.0)奇偶标志位。CYACF0RS1RS0OVP
9、PSW.7PSW.0共一百零一页 布尔处理机 布尔处理(即位处理)是MCS51单片机ALU所具有的一种功能。 单片机指令系统中的布尔指令集(17条位操作指令), 存储器中的位地址空间(kngjin), 以及借用程序状态标志寄存器PSW中的进位标志CY作为位操作“累加器”, 构成了单片机内的布尔处理机。 布尔处理机的存储空间:20F2FH共一百零一页 振荡周期:振荡脉冲的周期,也称为时钟周期。 状态周期:两个振荡周期为一个状态周期,用S表示。两个振荡周期作为两个节拍分别称为节拍P1和节拍P2。在状态周期的前半周期P1有效时,通常完成算术逻辑操作;在后半周期P2有效时,一般(ybn)进行内部寄存器
10、之间的传输。2.3 中央处理器、时钟(shzhng)及时序 共一百零一页 机器周期(zhuq):一个机器周期包含6个状态周期,用S1、S2、S6表示;共12个节拍,依次可表示为S1P1、S1P2、S2P1、S2P2、S6P1、S6P2。 指令周期:执行一条指令所占用的全部时间,它以机器周期为单位。MCS-51系列单片机除乘法、除法指令是4周期指令外,其余都是单周期指令和双周期指令。若用12 MHz晶振,则单周期指令和双周期指令的指令周期时间分别为1 s和2 s,乘法和除法指令为4 s。2.3 中央处理器、时钟(shzhng)及时序 共一百零一页复位电路 与其它计算机一样,MCS-51单片机系统
11、常常有上电复位和按钮复位两种方法。所谓(suwi)上电复位,是指计算机加电瞬间,要在RST引脚上出现大于10 ms的正脉冲,使单片机进入复位状态。按钮复位是指用户按下“复位”按钮,使单片机进入复位状态。2.4 复位(f wi)与复位(f wi)电路共一百零一页2.5 存 储 器 MCS51单片机存储器分类(fn li)及配置 MCS51单片机存储器的分类从物理结构上可分为: 片内、 片外程序存储器(8031和8032没有片内程序存储器)与片内、 片外数据存储器4个部分; 从寻址空间分布(fnb)可分为: 程序存储器、 内部数据存储器和外部数据存储器3大部分; 从功能上可分为: 程序存储器、 内
12、部数据存储器、 特殊功能寄存器、 位地址空间和外部数据存储器5大部分。 共一百零一页51单片机片内ROM和RAM大小(dxio):片内ROM:4KB片内RAM:128B2.5 存 储 器共一百零一页程序的7个特殊入口(r ku)地址MCS-51单片机复位、中断(zhngdun)入口地址操 作入 口 地 址复位0000H外部中断00003H定时器/计数器0溢出000BH外部中断10013H定时器/计数器1溢出001BH串行口中断0023H定时器/计数器器0溢出或T2EX端负跳变(52子系列)002BH2.5 存 储 器共一百零一页片内数据(shj)存储器的分区及地址范围?工作寄存器区(00H-1
13、FH)位寻址区(20H-2FH)堆栈或数据缓冲区(30H-FFH) 共一百零一页工作寄存器分成4组,每组都有8个寄存器,用R0R7来表示。程序中每次只用1组,其它(qt)各组不工作。使用哪一组寄存器工作由程序状态字PSW中的PSW.3(RS0)和 PSW.4(RS1)两位来选择上电复位后选择(xunz)哪个工作寄存器组:工作寄存器区 工作寄存器0组共一百零一页工作(gngzu)寄存器组的选择表PSW.4(RS1)PSW.3(RS0)当前使用的工作寄存器组R0R7000组(00H07H)011组(08H0FH)102组(10H17H)113组(18H1FH)共一百零一页3.1 指令格式3.2 M
14、CS51的寻址方式3.3 数据传送类指令3.4 算术运算类指令3.5 逻辑运算类指令3.6 位操作指令3.7 控制(kngzh)转移类指令第三章 指令系统(zh ln x tn)共一百零一页3.1 指令(zhlng)格式 MCS-51汇编指令由操作码助记符字段和操作数字段所组成。指令格式如下:标号:操作码助记符 (目的操作数),(源操作数);注释例如: SS: MOV A,#4FH ;立即数4FH送A标号:用符号标明该指令所在的符号地址,根据实际需要设置。在其他指令的操作数中可以引用该标号作为符号地址,便于控制程序的转向或寻址。标号以英文字母(zm)开头的字母(zm)、数字和某些规定的特殊符号
15、的序列,一般不超过6个符号,否则,超过部分在源程序汇编时将被删去。共一百零一页3.1 指令(zhlng)格式操作码:用来(yn li)规定指令所完成的操作,用规定的汇编语言助记符表示。操作数:表示操作的对象,可能是一个具体的数据,也可能是指出取得数据的地址或符号。分为目的操作数和源操作数两部分,中间用“,”分开。操作数可以有1、2、3个或者没有(如空操作指令) 。注释:对该指令功能的解释,可有可无。 共一百零一页3.1 指令(zhlng)格式数据操作 MCS-51系列单片机的CPU能对位、半字节、字节和双字节数据进行各种操作,它们(t men)包括数据传送、算术运算、逻辑运算、布尔处理和控制转
16、移等操作。指令类型 MCS-51汇编语言有111种指令,42种操作码助记符用来描述33种操作功能。按执行时间分:有单周期指令;双周期指令;四周期指令;按功能分类: 数据传送指令;算术运算指令;逻辑运算指令; 位操作指令;控制转移指令。共一百零一页3.2 MCS51的寻址方式(fngsh) 寻址方式:是在指令中给出的寻找操作数地址的方法。51单片机共有7种寻址方式:1、寄存器寻址方式:在指令中将指定寄存器的内容作为操作数。在这种寻址中,用符号名称(mngchng)表示寄存器。例如:MOV A,R3寻址范围:四个寄存器组的32个通用寄存器R0R7。 A,B,DPTR,Cy(位)。共一百零一页3.2
17、 MCS51的寻址方式(fngsh)2、直接寻址方式(fngsh):在指令中直接给出操作数单元的地址。例如:MOV 65H,A 寻址范围:内部RAM地址空间 SFR地址空间 (只能用直接 位地址空间(20H2FH) 寻址方式)共一百零一页3.2 MCS51的寻址方式(fngsh)3、寄存器间接寻址方式:在指令中给出的寄存器内容是操作数的地址,从该地址中取出的数才是操作数。表示形式:应在寄存器名称前面加。例如:MOV A,R0 寻址范围:工作寄存器R0、R1堆栈指针(zhzhn)SP数据指针DPTR共一百零一页3.2 MCS51的寻址方式(fngsh)4、立即寻址方式:在指令中直接给出操作数,出
18、现在指令中的操作数叫立即数。为区别(qbi)于直接地址,立即数前加上“#”。例如:MOV A,#62H寻址范围:程序存储器立即数。共一百零一页3.2 MCS51的寻址方式(fngsh)5、变址间接寻址方式:以DPTR或PC作基址寄存器,累加器A作变址寄存器,以两者内容相加。形成的16位程序存储器地址作为(zuwi)操作数地址。例如:MOVC A,A+DPTR (A)=54H (DPTR)=1256H共一百零一页3.2 MCS51的寻址方式(fngsh)寻址范围:只能对程序存储器进行寻址,或者说是专门针对程序存储器的寻址方式。变址间接寻址指令只有(zhyu)三条: MOVC A,A+DPTR (
19、适用于查表操作) MOVC A,A+PC JMP A+DPTR共一百零一页3.2 MCS51的寻址方式(fngsh)6、相对寻址方式:以PC的当前值为基准(jzhn),加上指令中给出的相对偏移量(rel)形成新的有效转移地址。其中,rel是一个带符号的8位二进制数,能表示的范围是-128+127个字节单元之间。 目的地址=转移指令所在地址+转移指令字节数+rel例如:JC 75H (设Cy=1)若rel为负数, 计算时用 补码运算共一百零一页3.2 MCS51的寻址方式(fngsh)7、位寻址方式(fngsh):可以对数据位进行操作。例如:CPL P1.0 MOV C,2BH;(把位寻址区的2
20、BH位状态送累加位C)寻址范围:片内RAM中的位寻址区可位寻址的SFR的位共一百零一页指令中使用(shyng)符号说明Rn:当前选定工作寄存器组的R0R7工作寄存器。其中n=07。#data:8位不带符号的二进制立即数, “”为立即数标识符(称为前缀)。data l6:16位二进制立即数。data:8位二进制码内部数据存储器单元地址。它可以是内部RAM(0127或0256)的某个单元地址或一个特殊功能(gngnng)寄存器的地址。Ri:以当前工作寄存器R0或R1作间接寻址寄存器,以间接寻址(0256)数据存储器单元。其中“”为间接寻址标识符(称前缀),i0或1。addr 16:16位二进制码地
21、址。提供长调用(LCALL)或长转移(LJMP)指令16位二进制码地址,使之可转向或调用64KB程序存储器地址空间的任何单元。共一百零一页 指令中使用(shyng)符号说明addr 11:11位二进制码地址。提供绝对调用(ACALL)或绝对转移(AJMP)指令低11位(010)进制码地址,高5位维持原值不变,因而只能使程序转向(zhunxing)或调用包含该ACALL或 AJMP指令的下一条指令的第一个字节在内的2KB范围内的程序存储器地址空间。 direct:8位直接寻址方式符号。 rel:带符号的8位二进制码偏移量(需用2的补码表示)的符号。常用于相对转移指令中,其转移范围相对于当前PC值
22、的-128 +127个字节单元的地址空间。bit:布尔(位)处理指令的直接寻址位符号。表示可直接位寻址的内部RAM或特殊功能寄存器的位地址。C:最高进位标志位或布尔(位)处理累加器。共一百零一页 指令中使用(shyng)符号说明:表示程序走向。:表示数据传送(chun sn)方向。 :表示数据交换。(X):表示X单元中的内容。(X):表示以X单元中的内容为地址进行间接寻址。 共一百零一页 指令(zhlng)介绍 51单片机的指令系统(zh ln x tn),共有111条指令,按其功能可分为五大类: (1)数据传送类指令(28条) (2)算术运算类指令(24条) (3)逻辑运算类指令(25条)
23、(4)控制转移类指令(17条) (5)布尔操作(位)类指令(17条) 共一百零一页3.7 控制(kngzh)转移类指令控制(kngzh)转移类指令有两种:无条件转移、条件转移。一、无条件转移类指令短跳转指令相对转移指令长跳转指令间接跳转指令共一百零一页3.7 控制转移(zhuny)类指令二、条件转移(zhuny)指令 条件转移指令是依某种特定条件转移的指令。条件满足才转移相当于执行一条相对转移指令,条件不满足时则顺序执行下面的指令。目的地址在以下一条指令的起始地址为中心的256字节范围中(-128+127B)。当条件满足时,把PC加到指向下一条指令的第1个字节地址,再把有符号的相对偏移量加到P
24、C上,计算出转向地址。共一百零一页3.7 控制(kngzh)转移类指令三、调用与返回(fnhu)指令 在程序设计中,常常出现几个地方都需要作功能完全相同的处理,为了减少程序编写和调试的工作量,使某一段程序能被公用,于是引入了主程序和子程序的概念,指令系统中一般都有调用子程序的指令,以及从子程序返回主程序的指令。 通常把具有一定功能的公用程序段作为子程序,在子程序的末尾安排一条返回主程序的指令。 在一个程序中,往往在子程序中还会调用别的子程序,这称为子程序嵌套。共一百零一页第4章 汇编语言(hu bin y yn)程序设计 80C51汇编语言语句结构的基本格式 伪指令的功能和应用(yngyng)
25、 汇编的概念 程序设计的步骤和基本方法 顺序程序 分支程序 循环程序 查表程序 散转程序共一百零一页标号(bioho):操作码 目的操作数,源操作数;注释4-1 汇编语言(hu bin y yn)程序设计基本概念一. 汇编语言及其语句结构共一百零一页二. 伪指令 在汇编时起控制作用,自身并不产生机器码,而仅是为汇编服务的一些指令,称为(chn wi)伪指令。伪指令不属于80C51指令系统。 常用的伪指令有以下几种: 起始(q sh)伪指令 ORG(Origin) 功能:规定ORG下面目标程序的起始地址。格式:ORG 16位地址共一百零一页功能:将一个数据(shj)或特定的汇编符号赋予规定 的字
26、符名称。 结束(jish)伪指令 END功能:汇编语言源程序的结束标志。 在END后面的指令,汇编程序不再处理。格式:END 等值伪指令 EQU(Equate)格式:字符名称 EQU 数据或汇编符号共一百零一页 数据(shj)地址赋值伪指令 DATA格式:字符(z f)名称 DATA 表达式功能:将数据地址或代码地址赋予规定的 字符名称。 定义字节伪指令DB(Define Byte)格式:DB 8位二进制数表功能:从指定的地址单元开始,定义若干 个8位内存单元的数据。 数据与数据之间用“,”分割。共一百零一页格式:字符(z f)名称 BIT 位地址 定义(dngy)字伪指令DW(Define
27、Word)格式:DW 16位二进制数表功能:从指定的地址单元开始,定义 若干个16位数据。 定义位地址伪指令BIT功能:将位地址赋予所规定的字符名称。共一百零一页三.汇编(hubin) 将汇编语言源程序转换为计算机所能识别(shbi)的机器语言代码程序的过程称为汇编。 汇编可分为: 手工汇编 计算机汇编共一百零一页 汇编(hubin)和调试四. 程序设计的基本(jbn)方法编写程序要求: 不仅要完成规定的功能任务,而且还要求: 执行速度快、占用内存少、条理清晰、 阅读方便、便于移植、巧妙而实用。 一般应按以下几个步骤进行: 分析问题,确定算法或解题思路 画流程图 编写源程序共一百零一页 中断的
28、基本概念 80C51中断源 中断控制寄存器 中断处理过程 中断优先控制和中断嵌套 中断系统的应用(yngyng) 80C51定时/计数器 定时/计数器控制寄存器 定时/计数器工作方式 定时/计数器的应用中断系统(xtng)和定时/计数器 共一百零一页80C51中断(zhngdun)系统CPU暂时中止其正在执行(zhxng)的程序,转去执行(zhxng)请求中断的那个外设或事件的服务程序,等处理完毕后再返回执行(zhxng)原来中止的程序, 叫做中断。 为什么要设置中断? 提高CPU工作效率 具有实时处理功能 具有故障处理功能 实现分时操作一.中断概述 什么叫中断?共一百零一页 INT0:外部中
29、断(zhngdun)0,中断请求信号由P3.2输入。 INT1:外部中断1,中断请求信号由P3.3输入。 T0:定时/计数器0溢出中断,对外部脉冲计数由P3.4输入。 T1:定时/计数器1溢出中断,对外部脉冲计数由P3.5输入。 串行中断:包括串行接收中断RI和串行发送中断TI。二. 中断(zhngdun)源和中断(zhngdun)控制寄存器 中断源 中断源是指能发出中断请求,引起中断的装置或事件。 80C51单片机的中断源共有5个,其中2个为外部中断源,3个为内部中断源:共一百零一页 中断(zhngdun)请求:定时和外中断(zhngdun)控制寄存器TCON; 串行控制寄存器SCON; 中
30、断允许控制寄存器IE; 中断优先级控制寄存器IP。 中断(zhngdun)控制寄存器 80C51单片机中涉及中断控制的有3个方面4个特殊功能寄存器:共一百零一页INT0、INT1、T0、T1中断请求标志(biozh)放在TCON中串行中断请求标志放在SCON中。 中断请求控制(kngzh)寄存器(88H)TCOND7D6D5D4D3D2D1D0位名称TF1TF0IE1IT1IE0IT0位地址8FH8EH8DH8CH8BH8AH89H88H功能 T1 中断标志T0中断标志 中断标志 触发方式 中断标志触发方式TCON的结构、位名称、位地址和功能如下:共一百零一页 TCON位功能: TF1 T1溢
31、出中断请求标志 T1计数溢出后,TF1=1 TF0 T0溢出中断请求标志 T0计数溢出后,TF0=1 IE1 外中断中断请求标志 当P3.3引脚信号(xnho)有效时,IE1=1 IE0 外中断中断请求标志 当P3.2引脚信号有效时,IE0=1 IT1 外中断触发方式控制位 IT1=1,边沿触发方式; IT1=0,电平触发方式。 IT0 外中断触发方式控制位 其意义和功能与IT1相似。共一百零一页串行控制(kngzh)寄存器SCON(98H)TCOND7D6D5D4D3D2D1D0位名称TIRI位地址99H98H功能 串行发送中断标志串行接收中断标志 TI 串行口发送中断请求标志(biozh)
32、 RI 串行口接收中断请求标志共一百零一页 80C51对中断源的开放或关闭由中断允许控制寄存器IE控制。 IE在特殊功能寄存器中,字节地址A8H,位地址分别是A8HAFH。IE控制CPU对中断源总的开放或禁止以及(yj)每个中断源是否允许中断。 中断(zhngdun)允许控制寄存器IE(A8H)IE的结构、位名称和位地址如下:IED7D6D5D4D3D2D1D0位名称EAESET1EX1ET0EX0位地址AFHACHABHAAHA9HA8H中断源CPU串行口T1T0共一百零一页 EA CPU中断允许控制位 EA=1,CPU开中; EA=0,CPU关中,且屏蔽所有5个中断源。 EX0 外中断IN
33、T0中断允许控制位 EX0=1,INT0开中;EX0=0,INT0关中。 EX1 外中断INT1中断允许控制位 EX1=1,INT1开中;EX1=0,INT1关中。 ET0 定时(dn sh)/计数器T0中断允许控制位 ET0=1,T0开中;ET0=0,T0关中。 ET1 定时/计数器T1中断允许控制位 ET1=1,T1开中;ET1=0,T1关中。 ES 串行口中断(包括串发、串收)允许控制位 ES=1,串行口开中;ES=0,串行口关中。说明: 80C51对中断实行(shxng)两级控制,总控制位是EA,每一中断源还有各自的控制位。首先要EA=1,其次还要自身的控制位置“1”。共一百零一页(3
34、)中断优先寄存器IP(B8H) IP在特殊(tsh)功能寄存器中,字节地址为B8H,位地址分别是B8HBFH,IP用来锁存各中断源优先级的控制位,其格式如图所示。 共一百零一页三. 中断处理过程 中断处理过程大致可分为四步: 中断请求、中断响应、中断服务、中断返回 中断请求 中断源发出中断请求信号,相应的中断请求标志位(在中断控制寄存器TCON和SCON中)置“1”。 中断响应 CPU查询(检测)到某中断标志为“1”,在满足中断响应条件下,响应中断。 中断响应条件: 该中断已经“开中”; CPU此时没有响应同级或更高级的中断; 当前正处于所执行指令的最后一个机器周期; 正在执行的指令不是RET
35、I或者是访向IE、IP的指令, 否则(fuz)必须再另外执行一条指令后才能响应。共一百零一页 中断响应操作 CPU响应中断后,进行下列操作: 保护断点地址; 撤除该中断源的中断请求标志; 关闭同级中断; 将相应中断的入口地址送入PC; 80C51五个中断入口地址:INT0:0003H; T0:000BH;INT1:0013H T1:001BH;串行口:0023H 执行中断服务程序 中断服务程序应包含以下几部分: 保护现场 执行中断服务程序主体,完成相应操作 恢复现场 中断返回 在中断服务程序最后,必须安排一条中断返回指令RETI,当CPU执行RETI指令后,自动完成下列操作: 恢复断点地址。
36、开放(kifng)同级中断,以便允许同级中断源请求中断。共一百零一页 四. 中断响应等待时间 若排除CPU正在响应同级或更高级的中断情况,中断响应等待时间为: 38个机器周期五. 中断请求的撤除 中断源发出中断请求,相应中断请求标志置“1”。 CPU响应中断后,必须清除(qngch)中断请求“1”标志。否则中断响应返回后,将再次进入该中断,引起死循环出错。 对定时/计数器T0、T1中断,外中断边沿触发方式,CPU响应中断时就用硬件自动清除了相应的中断请求标志。 对外中断电平触发方式,需要采取软硬结合的方法消除后果。 对串行口中断,用户应在串行中断服务程序中用软件清除TI或RI。共一百零一页六.
37、 中断优先控制和中断嵌套 中断优先控制 80C51中断优先控制首先根据中断优先级,此外还规定了同一中断优先级之间的中断优先权。其从高到低的顺序为: INT0、 T0、 INT1、T1、串行口。 中断优先级是可编程的,而中断优先权是固定的,不能设置,仅用于同级中断源同时请求(qngqi)中断时的优先次序。 80C51中断优先控制的基本原则: 高优先级中断可以中断正在响应的低优先级中断,反之则不能。 同优先级中断不能互相中断。 同一中断优先级中,若有多个中断源同时请求中断,CPU将先响应优先权高的中断,后响应优先权低的中断。共一百零一页 中断(zhngdun)嵌套 当CPU正在执行某个中断服务程序
38、时,如果发生更高一级的中断源请求中断,CPU可以(ky)“中断”正在执行的低优先级中断,转而响应更高一级的中断,这就是中断嵌套。 中断嵌套只能高优先级“中断”低优先级,低优先级不能“中断”高优先级,同一优先级也不能相互“中断”。 中断嵌套结构类似与调用子程序嵌套,不同的是: 子程序嵌套是在程序中事先按排好的;中断嵌套是随机发生的。 子程序嵌套无次序限制,中断嵌套只允许高优先级“中断”低优先级。共一百零一页七. 中断系统的应用 中断初始化 设置堆栈指针SP 定义中断优先级 定义外中断触发方式 开放中断 安排好等待中断或中断发生前主程序应完成的操作内容。 中断服务主程序 中断服务子程序内容要求:
39、在中断服务入口地址设置一条跳转指令,转移到中断服务程序的实际入口处。 根据需要保护现场。 中断源请求中断服务要求的操作。 恢复现场。与保护现场相对(xingdu)应,注意先进后出、后进先出操作原则。 中断返回,最后一条指令必须是RETI。共一百零一页 定时/计数器是单片机系统一个重要的部件,其工作方式(fngsh)灵活、编程简单、使用方便,可用来实现定时控制、延时、频率测量、脉宽测量、信号发生、信号检测等。此外,定时/计数器还可作为串行通信中波特率发生器。80C51定时(dn sh)/计数器共一百零一页80C51单片机内部有两个定时/计数器T0和T1,其核心是计数器,基本功能是加1。对外部事件
40、脉冲(下降沿)计数,是计数器;对片内机周脉冲计数,是定时器。计数器由二个8位计数器组成。定时时间和计数值可以编程设定,其方法是在计数器内设置一个初值,然后加1计满后溢出。调整计数器初值,可调整从初值到计满溢出的数值,即调整了定时时间和计数值。定时/计数器作为计数器时,外部事件脉冲必须从规定的引脚输入。且外部脉冲的最高频率(pnl)不能超过时钟频率(pnl)的1/24。一. 定时(dn sh)/计数器概述共一百零一页TCON低4位与外中断 、 有关,已在中断中叙述(xsh)。 高4位与定时/计数器T0、T1有关。 TF1:定时/计数器T1溢出标志。 TF0:定时/计数器T0溢出标志。 TR1:定
41、时/计数器T1运行控制位。TR1=1,T1运行;TR1=0,T1停。 TR0:定时/计数器T0运行控制位。TR0=1,T0运行;TR0=0,T0停。TCON的字节地址为88H,每一位有位地址,均可位操作。 定时(dn sh)/计数器控制寄存器TCON二. 定时/计数器的控制寄存器TCONT1中断标志T1运行标志T0中断标志T0运行标志INT1中断标志INT1触发方式INT0中断标志INT0触发方式位名称TF1TR1TF0TR0IE1IT1IE0IT0位地址8FH8EH8DH8CH8BH8AH89H88H共一百零一页高4位控制T1低4位控制T0门控位计数/定时方式选择工作方式选择门控位计数/定时
42、方式选择工作方式选择GC / TM1M0GC / TM1M0TMOD用于设定(sh dn)定时/计数器的工作方式低4位用于控制T0,高4位用于控制T1。 定时/计数器工作(gngzu)方式控制寄存器TMOD(89H) M1M0 工作方式选择位M1M0工作方式功能00方式013位计数器01方式116位计数器10方式2两个8位计数器,初值自动装入11方式3两个8位计数器,仅适用T0共一百零一页 C/T 计数/定时方式选择位 C/T=1,计数工作方式,对外部事件脉冲(michng)计数,用作计数器。 C/T=0,定时工作方式,对片内机周脉冲计数,用作定时器。 GATE 门控位 GATE=0,运行只受
43、TCON中运行控制位TR0/TR1的控制。 GATE=1,运行同时受TR0/TR1和外中断输入信号的双重控制。 只有当INT0/INT1=1且TR0/TR1=1,T0/T1才能运行。 注意:TMOD字节地址(dzh)89H,不能位操作,设置TMOD须用字节操作指令。共一百零一页三. 定时/计数器工作方式 工作方式0 13位计数器,由TL0低5位和TH0 8位组成,TL0低5位计数满时不向TL0第6位进位,而是向TH0进位,13位计满溢出,TF0置“1”。最大计数值213 = 8192。 工作方式1 16位计数器,最大计数值为216 = 65536。 工作方式2 8位计数器,仅用TL0计数,最大
44、计数值为28= 256,计满溢出后,一方面进位TF0,使溢出标志TF0 = 1;另一方面,使原来装在TH0中的初值装入TL0。 优点:定时初值可自动恢复;缺点:计数范围小。 适用于需要重复定时,而定时范围不大(b d)的应用场合。共一百零一页 工作(gngzu)方式3 方式3仅适用于T0,T1无方式3。 T0方式3 在方式3情况下,T0被拆成二个独立的8位计数器TH0、TL0。 TL0使用T0原有的控制寄存器资源: TF0,TR0,GATE,C/T,INT0,组成一个8位的定时/计数器; TH0借用T1的中断溢出标志TF1,运行控制开关TR1,只能对片内机周脉冲计数,组成另一个8位定时器(不能
45、用作计数器)。 T0方式3情况下的T1 T1由于其TF1、TR1被T0的TH0占用,计数器溢出时,只能将输出信号送至串行口,即用作串行口波特率发生器。共一百零一页其中(qzhng): N与工作方式有关: 方式0时,N=13; 方式1时,N=16; 方式2、3时,N=8。 机周时间与主振频率有关:机周时间=12/fosc fosc=12MHZ时,1机周=1S; fosc=6MHZ 时,1机周=2S。 四. 定时(dn sh)/计数器的应用 计算定时/计数初值80C51定时/计数初值计算公式:共一百零一页 工作(gngzu)方式1: T0初值 =216-500s/2s=65536250=65286
46、=FF06H TH0=FFH;TL0=06H。 工作(gngzu)方式2: T0初值 =28-500s/2s=256-250=6 TH0=06H;TL0=06H。 工作方式3: T0方式3时,被拆成两个8位定时器,定时初值可分别计算,计算方法同方式2。两个定时初值一个装入TL0,另一个装入TH0。因此: TH0=06H;TL0=06H。方式0时计算定时初值比较麻烦,根据公式计算出数值后,还要变换一下,容易出错,不如直接用方式1,且方式0计数范围比方式1小,方式0完全可以用方式1代替,方式0与方式1相比,无任何优点。共一百零一页 定时(dn sh)/计数器应用步骤 合理选择定时/计数器工作方式
47、计算定时/计数器定时初值(按上述公式计算) 编制应用程序 定时/计数器的初始化 包括定义TMOD、写入定时初值、设置中断系统(xtng)、启动定时/计数器运行等。 正确编制定时/计数器中断服务程序 注意是否需要重装定时初值,若需要连续反复使用原定时时间,且未工作在方式2,则应在中断服务程序中重装定时初值。共一百零一页定时器/计数器两种工作方式用作计数器时,加法计数器对芯片引脚T0(P3.4)或T1(P3.5)上的输入脉冲计数。每输入一个脉冲,加法计数器加1。加法计数溢出时可向CPU发出中断请求信号。作为定时器时,加法计数器通过对内部(nib)机器周期脉冲Tcy(机器周期值固定)计数达到定时的目
48、的。如Tcy=0.5us,计数值100,相当于定时50us。共一百零一页定时器/计数器用作定时方式时,其定时时间与哪些因素有关?作计数方式时,对外界计数频率有什么限制?1)定时器/计数器用作定时方式时,其定时时间与晶体振荡器的频率、机器周期、计数器的长度、定时器/计数器初值有关。2)用作“计数器”时,对外部输入端T0、T1上1到0的跳变进行加1计数。在计数状态下,每个机器周期的S5P2时刻采样外部输入。当第一个机器周期采样为高电平,而在第二个机器周期采样为低电平时,内部计数器加1。新的计数值在紧接着采样到跳变后的下一个机器周期的S3P1出现在计数器中。由于检测到一个1到0的跳变需要2个机器周期
49、,即24个振荡(zhndng)周期,因此外部计数的最快速率为振荡(zhndng)频率的1/24。外部输入信号的速率向下可以不受限制,但是脉冲宽度必须保证在其电平变化之前能被采样到一次,即至少保持一个完整的机器周期;否则,将会由于采样不到而出现漏计现象。共一百零一页串行通信(tng xn)本章(bn zhn)要点异步通信和同步通信串行通信波特率串行通信的制式串行通信的校验串行口特殊功能寄存器串行工作方式共一百零一页 串行通信(tng xn)优点:便于长距离传送 缺点:传送速度较慢计算机与外界信息(xnx)交换称为通信。通信的基本方式可分为并行通信和串行通信:并行通信是数据的各位同时发送或同时接收
50、;串行通信是数据的各位依次逐位发送或接收。并行通信优点:传送速度快 缺点:不便长距离传送共一百零一页异步通信对硬件要求较低,实现起来比较简单、灵活,适用于数据的随机发送/接收,但因每个字节都要建立一次同步,即每个字符都要额外附加两位,所以(suy)工作速度较低,在单片机中主要采用异步通信方式。串行通信(tng xn)概述一、异步通信和同步通信串行通信按同步方式可分为异步通信和同步通信。1、异步通信异步通信依靠起始位、停止位保持通信同步。 异步通信数据传送按帧传输,一帧数据包含起始位、数据位、校验位和停止位。共一百零一页帧格式(g shi),一个字符由四部分组成:起始位、数据位、奇偶校验位和停止
51、位。停止位(1)停止位用来表征(bio zhn)字符的结束。停止位可以是1位、1.5位或2位。接收端收到停止位后,知道上一字符已传送完毕共一百零一页 同步通信传输速度较快,但要求有准确的时钟来实现收发(shuf)双方的严格同步,对硬件要求较高,适用于成批数据传送。2、 同步(tngb)通信同步通信依靠同步字符保持通信同步。 同步通信是由12个同步字符和多字节数据位组成,同步字符作为起始位以触发同步时钟开始发送或接收数据;多字节数据之间不允许有空隙,每位占用的时间相等;空闲位需发送同步字符。共一百零一页 波特率的倒数即为每位传输所需的时间。 相互通信的甲乙双方必须具有相同的波特率,否则无法成功(
52、chnggng)地完成串行数据通信。二、串行通信(tng xn)波特率波特率bps(bit per second)定义: 每秒传输数据的位数,即:1波特 = 1位/秒(1bps)共一百零一页三、串行通信(tng xn)的制式 串行通信按照数据(shj)传送方向可分为三种制式: 单工制式是指甲乙双方通信时只能单向传送数据,发送方和接收方固定。 1、单工制式(Simplex)共一百零一页 半双工制式是指通信双方都具有发送(f sn)器和接收器,既可发送(f sn)也可接收,但不能同时接收和发送(f sn),发送时不能接收,接收时不能发送。2、半双工制式(zh sh)(Half Duplex)共一百
53、零一页 全双工制式是指通信双方均设有发送器和接收器,并且信道(xn do)划分为发送信道(xn do)和接收信道(xn do),因此全双工制式可实现甲乙双方同时发送和接收数据,发送时能接收,接收时也能发送。3、全双工制式(zh sh)(Full Duplex)共一百零一页四、串行通信(tng xn)的校验3、循环冗余码校验(xio yn)(Cyclic Redundancy Check,简称CRC)1、奇偶校验2、累加和校验共一百零一页 80C51系列单片机有一个(y )全双工的串行口,这个口既可以用于网络通信,也可以实现串行异步通信,还可以作为同步移位寄存器使用。80C51串行口共一百零一页
54、发送时,只需将发送数据输入SBUF,CPU将自动启动和完成串行数据(shj)的发送; 接收时,CPU将自动把接收到的数据存入SBUF,用户只需从SBUF中读出接收数据。一、串行口特殊(tsh)功能寄存器1、串行数据缓冲器SBUF 在逻辑上只有一个,既表示发送寄存器,又表示接收寄存器,具有同一个单元地址99H,用同一寄存器名SBUF。 在物理上有两个,一个是发送缓冲寄存器,只能写;另一个是接收缓冲寄存器;只能读。共一百零一页2、串行控制(kngzh)寄存器SCON3、电源(dinyun)控制寄存器PCONSCOND7D6D5D4D3D2D1D0位名称SM0SM1SM2RENTB8RB8TIRI位
55、地址9FH9EH9DH9CH9BH9AH99H98H功能工作方式选择多机通信控制接收 允许发送 第9位接收 第9位发送 中断接收 中断 SM0 SM1 串行口工作方式选择位。 SM2 多机通信控制位。 REN 允许接收控制位。REN=1,允许接收。 TB8 方式2和方式3中要发送的第9位数据。 RB8 方式2和方式3中要接收的第9位数据。 TI 发送中断标志。 RI 接收中断标志。PCOND7D6D5D4D3D2D1D0位名称SMODGF1GF0PDIDLSMOD=1,串行口波特率加倍。PCON寄存器不能进行位寻址。共一百零一页二、串行工作方式 80C51串行通信共有4种工作方式,由串行控制寄
56、存器SCON中SM0 SM1决定。 1、串行工作方式0(同步移位寄存器工作方式) 以RXD(P3.0)端作为数据移位的输入/输出端, 以TXD(P3.1)端输出移位脉冲。 移位数据的发送和接收以8位为一帧,不设起始(q sh)位和停止位,无论输入/输出,均低位在前高位在后。 其帧格式为: D0D1D2D3D4D5D6D7 方式(fngsh)0可将串行输入输出数据转换成并行输入输出数据。共一百零一页 数据(shj)发送 在移位时钟脉冲(TXD)的控制(kngzh)下,数据从串行口RXD端逐位移入74HC164 SA、SB端。当8位数据全部移出后,SCON寄存器的TI位被自动置1。其后74HC164的内容即可并行输出。74HC164 CLR为清0端,输出时CLR必须为1,否则74HC164 Q0Q7输出为0。 串行口作为并行输出口使用时,要有“串
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 农村医疗健康活动设计合同
- 铁路旅客运输服务授课张芬香课件
- 双语客运值班员旅客乘车的条件课件
- 体能训练立定跳远课件
- 铁道概论桥隧之最94课件
- 中国主题课件
- 机场跑道施工合同
- 企业专职安全生产员合同范本
- 平顶山学院《中国审美文化解读与欣赏》2023-2024学年第一学期期末试卷
- 长春早期教育职业学院《时间序列分析及应用》2023-2024学年第一学期期末试卷
- 古诗词诵读《临安春雨初霁》课件 统编版高中语文选择性必修下册
- 军事理论(2024年版)学习通超星期末考试答案章节答案2024年
- YS-T 5226-2016水质分析规程
- 2024-2030年中国4S店行业市场发展分析及前景趋势与投资风险研究报告
- 浙教版初中七年级下册科学知识点
- 国开2024年秋《生产与运作管理》形成性考核1-4答案
- 特殊工种模拟试题含答案
- 区块链技术在公共服务中的应用
- AIGC基础与应用全套教学课件
- 劳务派遣单位分公司经营情况报告表
- (人教版)初中地理八下-期中测试02
评论
0/150
提交评论