版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
单片机原理及应用
复习大纲考试题型
一.单项选择(2分*10)
二.填空(1分*20)
三.简答题(5分*5)
四.改错题(2分*5)
五.阅读程序后填空(4分*2)
六.编程题(7分+10分)第一章绪论
第二章结构
第三章指令系统
第四章汇编语言程序设计
第五章中断、定时器/计数器、串行通信第一章
单片机的基本概念
单片微型计算机(单片机):SingleChipMicrocomputer微处理器:Micro
Processor
Unit(MPU)微控制器:Micro
Controller
Unit(MCU)组成微型计算机的各个功能部件:
中央处理器(CPU)、随机存储器(RAM)、只读存储器(ROM)、输入/输出接口电路、定时器/计数器以及串行通信接口等集成在一块芯片中,构成一个完整的微型计算机。
单片机有哪两种基本结构及特点?MCS-51单片机存储器的结构特点?存储空间的划分?访问不同的存储空间的指令格式区别?1)哈佛结构和普林斯顿结构。2)MCS-51系列单片机存储器采用哈佛结构,数据存储器和程序存储器彼此是独立的,并有各自存储空间的访问指令。3)从物理地址空间看,存储器分:片内程序存储器ROM、片外程序存储器ROM、片内数据存储器RAM、片外数据存储器RAM。4)访问片内、外程序存储器空间用:MOVC访问片内数据存储器空间和SFR(SpecialFunctionRegister)用:MOV访问片外数据存储器地址空间用:MOVX第二章MCS-51系列单片机的硬件结构特点中央处理器
程序存储器、数据存储器
定时器/计数器
并行输入输出(I/O)接口
全双工串行口
中断系统时钟电路
布尔处理器
P3口第二功能表引脚第二功能P3.0串行口输入端P3.1串行口输出端P3.2外部中断0请求输入端,低电平有效P3.3外部中断1请求输入端,低电平有效P3.4定时器/计数器0计数脉冲输入端P3.5定时器/计数器1计数脉冲输入端P3.6外部数据存储器写选通信号输出端,低电平有效P3.7RXDTXDINT0INT1T0T1WRRD外部数据存储器读选通信号输出端,低电平有效控制线
(1)ALE/PROG(30脚):地址锁存有效信号输出端。ALE在每个机器周期内输出两个脉冲。在访问片外程序存储器期间,下降沿用于控制锁存P0输出的低8位地址;在不访问片外程序存储器期间,可作为对外输出的时钟脉冲或用于定时目的。但要注意,在访问片外数据存储器期间,ALE脉冲会跳空一个,此时作为时钟输出就不妥了(详见CPU时序)。对于片内含有EPROM的机型,在编程期间,该引脚用作编程脉冲PROG的输入端。2.2MCS-51单片机的引脚功能(2)PSEN(29脚):片外程序存储器读选通信号输出端,低电平有效。当从外部程序存储器读取指令或常数期间,每个机器周期该信号两次有效,以通过数据总线P0口读回指令或常数。在访问片外数据存储器期间,PSEN信号将不出现。
(3)RST/VPD(9脚):RST即为RESET,VPD为备用电源。该引脚为单片机的上电复位或掉电保护端。当单片机振荡器工作时,该引脚上出现持续两个机器周期的高电平,就可实现复位操作,使单片机回复到初始状态。上电时,考虑到振荡器有一定的起振时间,该引脚上高电平必须持续10ms以上才能保证有效复位。当VCC发生故障,降低到低电平规定值或掉电时,该引脚可接上备用电源VPD(+5V)为内部RAM供电,以保证RAM中的数据不丢失。(4)EA/VPP(31脚):EA为片外程序存储器选用端。该引脚有效(低电平)时,只选用片外程序存储器,否则单片机上电或复位后选用片内程序存储器。对于片内含有EPROM的机型,在编程期间,此引脚用作21V编程电源VPP的输入端。综上所述,MCS-51系列单片机的引脚可归纳为以下两点:
(1)单片机功能多,引脚数少,因而许多引脚都具有第二功能。
(2)单片机对外呈现3总线形式,由P2、P0口组成16位地址总线;由P0口分时复用为数据总线;由ALE、PSEN、RST、EA与P3口中的INT0、INT1、T0、T1、WR、RD共10个引脚组成控制总线。由于是16位地址线,因此,可使片外存储器的寻址范围达到64KB。 2.3中央处理器、时钟及时序
运算部件运算部件以算术逻辑单元ALU为核心,包括布尔处理器、累加器ACC、寄存器B、暂存器、程序状态字PSW等许多部件。它能实现数据的算术逻辑运算、位变量处理和数据传输操作
2.3中央处理器、时钟及时序
专用寄存器组累加器A(Accumulator)通用寄存器B(GeneralRegister)程序状态字PSW(ProgramStatusWord)程序计数器PC(ProgramCounter)数据指针DPTR(DataPointor)堆栈指针SP(StackPointor)CY(PSW.7)——进位标志位。
AC(PSW.6)——辅助进位(或称半进位)标志。
F0(PSW.5)——由用户定义的标志位。
RS1(PSW.4)、RS0(PSW.3)——工作寄存器组选择位。
OV(PSW.2)——溢出标志位。由硬件置位或清零。
PSW.1——未定义位。
P(PSW.0)——奇偶标志位。CYACF0RS1RS0OV—PPSW.7PSW.0
布尔处理机
布尔处理(即位处理)是MCS—51单片机ALU所具有的一种功能。单片机指令系统中的布尔指令集(17条位操作指令),存储器中的位地址空间,以及借用程序状态标志寄存器PSW中的进位标志CY作为位操作“累加器”,构成了单片机内的布尔处理机。布尔处理机的存储空间:20F~2FH
振荡周期:振荡脉冲的周期,也称为时钟周期。状态周期:两个振荡周期为一个状态周期,用S表示。两个振荡周期作为两个节拍分别称为节拍P1和节拍P2。在状态周期的前半周期P1有效时,通常完成算术逻辑操作;在后半周期P2有效时,一般进行内部寄存器之间的传输。2.3中央处理器、时钟及时序
机器周期:一个机器周期包含6个状态周期,用S1、S2、…、S6表示;共12个节拍,依次可表示为S1P1、S1P2、S2P1、S2P2、…、S6P1、S6P2。
指令周期:执行一条指令所占用的全部时间,它以机器周期为单位。MCS-51系列单片机除乘法、除法指令是4周期指令外,其余都是单周期指令和双周期指令。若用12MHz晶振,则单周期指令和双周期指令的指令周期时间分别为1μs和2μs,乘法和除法指令为4μs。2.3中央处理器、时钟及时序
复位电路与其它计算机一样,MCS-51单片机系统常常有上电复位和按钮复位两种方法。所谓上电复位,是指计算机加电瞬间,要在RST引脚上出现大于10ms的正脉冲,使单片机进入复位状态。按钮复位是指用户按下“复位”按钮,使单片机进入复位状态。2.4复位与复位电路2.5存储器
MCS—51单片机存储器分类及配置MCS—51单片机存储器的分类从物理结构上可分为:片内、片外程序存储器(8031和8032没有片内程序存储器)与片内、片外数据存储器4个部分;从寻址空间分布可分为:程序存储器、内部数据存储器和外部数据存储器3大部分;从功能上可分为:程序存储器、内部数据存储器、特殊功能寄存器、位地址空间和外部数据存储器5大部分。51单片机片内ROM和RAM大小:片内ROM:4KB片内RAM:128B2.5存储器程序的7个特殊入口地址MCS-51单片机复位、中断入口地址操作入口地址复位0000H外部中断00003H定时器/计数器0溢出000BH外部中断10013H定时器/计数器1溢出001BH串行口中断0023H定时器/计数器器0溢出或T2EX端负跳变(52子系列)002BH2.5存储器片内数据存储器的分区及地址范围?工作寄存器区(00H-1FH)位寻址区(20H-2FH)堆栈或数据缓冲区(30H-FFH)
工作寄存器分成4组,每组都有8个寄存器,用R0~R7来表示。程序中每次只用1组,其它各组不工作。使用哪一组寄存器工作由程序状态字PSW中的PSW.3(RS0)和PSW.4(RS1)两位来选择上电复位后选择哪个工作寄存器组:工作寄存器区
工作寄存器0组工作寄存器组的选择表PSW.4(RS1)PSW.3(RS0)当前使用的工作寄存器组R0~R7000组(00H~07H)011组(08H~0FH)102组(10H~17H)113组(18H~1FH)3.1指令格式3.2MCS—51的寻址方式3.3数据传送类指令3.4算术运算类指令3.5逻辑运算类指令3.6位操作指令3.7控制转移类指令第三章指令系统3.1指令格式MCS-51汇编指令由操作码助记符字段和操作数字段所组成。指令格式如下:标号:操作码助记符[(目的操作数),(源操作数)];注释例如:
SS:MOVA,#4FH;立即数4FH送A标号:用符号标明该指令所在的符号地址,根据实际需要设置。在其他指令的操作数中可以引用该标号作为符号地址,便于控制程序的转向或寻址。标号以英文字母开头的字母、数字和某些规定的特殊符号的序列,一般不超过6个符号,否则,超过部分在源程序汇编时将被删去。3.1指令格式操作码:用来规定指令所完成的操作,用规定的汇编语言助记符表示。操作数:表示操作的对象,可能是一个具体的数据,也可能是指出取得数据的地址或符号。分为目的操作数和源操作数两部分,中间用“,”分开。操作数可以有1、2、3个或者没有(如空操作指令)。注释:对该指令功能的解释,可有可无。3.1指令格式数据操作
MCS-51系列单片机的CPU能对位、半字节、字节和双字节数据进行各种操作,它们包括数据传送、算术运算、逻辑运算、布尔处理和控制转移等操作。指令类型
MCS-51汇编语言有111种指令,42种操作码助记符用来描述33种操作功能。按执行时间分:有单周期指令;双周期指令;四周期指令;按功能分类:
数据传送指令;算术运算指令;逻辑运算指令;位操作指令;控制转移指令。3.2MCS—51的寻址方式
寻址方式:是在指令中给出的寻找操作数地址的方法。51单片机共有7种寻址方式:1、寄存器寻址方式:在指令中将指定寄存器的内容作为操作数。在这种寻址中,用符号名称表示寄存器。例如:MOVA,R3寻址范围:四个寄存器组的32个通用寄存器R0~R7。
A,B,DPTR,Cy(位)。3.2MCS—51的寻址方式2、直接寻址方式:在指令中直接给出操作数单元的地址。例如:MOV65H,A
寻址范围:①内部RAM地址空间②SFR地址空间(只能用直接
③位地址空间(20H~2FH)寻址方式)3.2MCS—51的寻址方式3、寄存器间接寻址方式:在指令中给出的寄存器内容是操作数的地址,从该地址中取出的数才是操作数。表示形式:应在寄存器名称前面加@。例如:MOVA,@R0
寻址范围:①工作寄存器R0、R1②堆栈指针SP③数据指针DPTR3.2MCS—51的寻址方式4、立即寻址方式:在指令中直接给出操作数,出现在指令中的操作数叫立即数。为区别于直接地址,立即数前加上“#”。例如:MOVA,#62H寻址范围:程序存储器立即数。3.2MCS—51的寻址方式5、变址间接寻址方式:以DPTR或PC作基址寄存器,累加器A作变址寄存器,以两者内容相加。形成的16位程序存储器地址作为操作数地址。例如:MOVCA,@A+DPTR(A)=54H(DPTR)=1256H3.2MCS—51的寻址方式寻址范围:只能对程序存储器进行寻址,或者说是专门针对程序存储器的寻址方式。变址间接寻址指令只有三条:
MOVCA,@A+DPTR(适用于查表操作)
MOVCA,@A+PC
JMP@A+DPTR3.2MCS—51的寻址方式6、相对寻址方式:以PC的当前值为基准,加上指令中给出的相对偏移量(rel)形成新的有效转移地址。其中,rel是一个带符号的8位二进制数,能表示的范围是-128~+127个字节单元之间。
目的地址=转移指令所在地址+转移指令字节数+rel例如:JC75H(设Cy=1)若rel为负数,计算时用补码运算3.2MCS—51的寻址方式7、位寻址方式:可以对数据位进行操作。例如:CPLP1.0MOVC,2BH;(把位寻址区的2BH位状态送累加位C)寻址范围:①片内RAM中的位寻址区②可位寻址的SFR的位指令中使用符号说明Rn:当前选定工作寄存器组的R0~R7工作寄存器。其中n=0~7。#data:8位不带符号的二进制立即数,“#”为立即数标识符(称为前缀)。#datal6:16位二进制立即数。data:8位二进制码内部数据存储器单元地址。它可以是内部RAM(0~127或0~256)的某个单元地址或一个特殊功能寄存器的地址。@Ri:以当前工作寄存器R0或R1作间接寻址寄存器,以间接寻址(0~256)数据存储器单元。其中“@”为间接寻址标识符(称前缀),i=0或1。addr16:16位二进制码地址。提供长调用(LCALL)或长转移(LJMP)指令16位二进制码地址,使之可转向或调用64KB程序存储器地址空间的任何单元。
指令中使用符号说明addr11:11位二进制码地址。提供绝对调用(ACALL)或绝对转移(AJMP)指令低11位(0~10)进制码地址,高5位维持原值不变,因而只能使程序转向或调用包含该ACALL或AJMP指令的下一条指令的第一个字节在内的2KB范围内的程序存储器地址空间。direct:8位直接寻址方式符号。
rel:带符号的8位二进制码偏移量(需用2的补码表示)的符号。常用于相对转移指令中,其转移范围相对于当前PC值的-128
~+127个字节单元的地址空间。bit:布尔(位)处理指令的直接寻址位符号。表示可直接位寻址的内部RAM或特殊功能寄存器的位地址。C:最高进位标志位或布尔(位)处理累加器。
指令中使用符号说明↓:表示程序走向。←:表示数据传送方向。←→
:表示数据交换。(X):表示X单元中的内容。((X)):表示以X单元中的内容为地址进行间接寻址。
指令介绍 51单片机的指令系统,共有111条指令,按其功能可分为五大类:(1)数据传送类指令(28条)(2)算术运算类指令(24条)(3)逻辑运算类指令(25条)(4)控制转移类指令(17条)
(5)布尔操作(位)类指令(17条)
3.7控制转移类指令控制转移类指令有两种:无条件转移、条件转移。一、无条件转移类指令短跳转指令相对转移指令长跳转指令间接跳转指令3.7控制转移类指令二、条件转移指令
条件转移指令是依某种特定条件转移的指令。条件满足才转移〔相当于执行一条相对转移指令〕,条件不满足时则顺序执行下面的指令。目的地址在以下一条指令的起始地址为中心的256字节范围中(-128~+127B)。当条件满足时,把PC加到指向下一条指令的第1个字节地址,再把有符号的相对偏移量加到PC上,计算出转向地址。3.7控制转移类指令三、调用与返回指令
在程序设计中,常常出现几个地方都需要作功能完全相同的处理,为了减少程序编写和调试的工作量,使某一段程序能被公用,于是引入了主程序和子程序的概念,指令系统中一般都有调用子程序的指令,以及从子程序返回主程序的指令。
通常把具有一定功能的公用程序段作为子程序,在子程序的末尾安排一条返回主程序的指令。
在一个程序中,往往在子程序中还会调用别的子程序,这称为子程序嵌套。第4章汇编语言程序设计
80C51汇编语言语句结构的基本格式伪指令的功能和应用汇编的概念程序设计的步骤和基本方法顺序程序分支程序循环程序查表程序散转程序标号:操作码[目的操作数,源操作数];注释§4-1汇编语言程序设计基本概念一.
汇编语言及其语句结构二.伪指令
在汇编时起控制作用,自身并不产生机器码,而仅是为汇编服务的一些指令,称为伪指令。伪指令不属于80C51指令系统。常用的伪指令有以下几种:⒈起始伪指令
ORG(Origin)
功能:规定ORG下面目标程序的起始地址。格式:ORG16位地址功能:将一个数据或特定的汇编符号赋予规定 的字符名称。⒉结束伪指令END功能:汇编语言源程序的结束标志。在END后面的指令,汇编程序不再处理。格式:END⒊等值伪指令
EQU(Equate)格式:字符名称EQU
数据或汇编符号⒋数据地址赋值伪指令
DATA格式:字符名称DATA
表达式功能:将数据地址或代码地址赋予规定的 字符名称。⒌定义字节伪指令DB(DefineByte)格式:DB8位二进制数表功能:从指定的地址单元开始,定义若干 个8位内存单元的数据。数据与数据之间用“,”分割。格式:字符名称BIT
位地址⒍定义字伪指令DW(DefineWord)格式:DW16位二进制数表功能:从指定的地址单元开始,定义 若干个16位数据。⒎定义位地址伪指令BIT功能:将位地址赋予所规定的字符名称。三.汇编
将汇编语言源程序转换为计算机所能识别的机器语言代码程序的过程称为汇编。
汇编可分为:⒈手工汇编⒉计算机汇编⑷
汇编和调试四.程序设计的基本方法编写程序要求:
不仅要完成规定的功能任务,而且还要求:
执行速度快、占用内存少、条理清晰、
阅读方便、便于移植、巧妙而实用。一般应按以下几个步骤进行:⑴分析问题,确定算法或解题思路⑵画流程图⑶编写源程序
中断的基本概念
80C51中断源中断控制寄存器中断处理过程中断优先控制和中断嵌套中断系统的应用
80C51定时/计数器定时/计数器控制寄存器定时/计数器工作方式定时/计数器的应用中断系统和定时/计数器
80C51中断系统CPU暂时中止其正在执行的程序,转去执行请求中断的那个外设或事件的服务程序,等处理完毕后再返回执行原来中止的程序,叫做中断。⒉为什么要设置中断?⑴提高CPU工作效率⑵具有实时处理功能⑶具有故障处理功能⑷实现分时操作一.中断概述⒈什么叫中断?⑴ INT0:外部中断0,中断请求信号由P3.2输入。⑵ INT1:外部中断1,中断请求信号由P3.3输入。⑶T0:定时/计数器0溢出中断,对外部脉冲计数由P3.4输入。⑷T1:定时/计数器1溢出中断,对外部脉冲计数由P3.5输入。⑸串行中断:包括串行接收中断RI和串行发送中断TI。二.中断源和中断控制寄存器⒈中断源
中断源是指能发出中断请求,引起中断的装置或事件。
80C51单片机的中断源共有5个,其中2个为外部中断源,3个为内部中断源:①中断请求:定时和外中断控制寄存器TCON;
串行控制寄存器SCON;②中断允许控制寄存器IE;③中断优先级控制寄存器IP。⒉中断控制寄存器
80C51单片机中涉及中断控制的有3个方面4个特殊功能寄存器:INT0、INT1、T0、T1中断请求标志放在TCON中串行中断请求标志放在SCON中。⑴中断请求控制寄存器(88H)TCOND7D6D5D4D3D2D1D0位名称TF1—TF0—IE1IT1IE0IT0位地址8FH8EH8DH8CH8BH8AH89H88H功能T1
中断标志—T0中断标志—
中断标志
触发方式
中断标志触发方式TCON的结构、位名称、位地址和功能如下:TCON位功能:①TF1——T1溢出中断请求标志
T1计数溢出后,TF1=1②TF0——T0溢出中断请求标志
T0计数溢出后,TF0=1③IE1——外中断中断请求标志
当P3.3引脚信号有效时,IE1=1④IE0——外中断中断请求标志
当P3.2引脚信号有效时,IE0=1⑤IT1——外中断触发方式控制位
IT1=1,边沿触发方式;
IT1=0,电平触发方式。⑥IT0——外中断触发方式控制位其意义和功能与IT1相似。串行控制寄存器SCON(98H)TCOND7D6D5D4D3D2D1D0位名称——————TIRI位地址——————99H98H功能——————串行发送中断标志串行接收中断标志①TI——串行口发送中断请求标志②RI——串行口接收中断请求标志
80C51对中断源的开放或关闭由中断允许控制寄存器IE控制。
IE在特殊功能寄存器中,字节地址A8H,位地址分别是A8H~AFH。IE控制CPU对中断源总的开放或禁止以及每个中断源是否允许中断。⑵中断允许控制寄存器IE(A8H)IE的结构、位名称和位地址如下:IED7D6D5D4D3D2D1D0位名称EA——ESET1EX1ET0EX0位地址AFH——ACHABHAAHA9HA8H中断源CPU——串行口T1T0①EA——CPU中断允许控制位
EA=1,CPU开中;
EA=0,CPU关中,且屏蔽所有5个中断源。②EX0——外中断INT0中断允许控制位
EX0=1,INT0开中;EX0=0,INT0关中。③EX1——外中断INT1中断允许控制位
EX1=1,INT1开中;EX1=0,INT1关中。④ET0——定时/计数器T0中断允许控制位
ET0=1,T0开中;ET0=0,T0关中。⑤ET1——定时/计数器T1中断允许控制位
ET1=1,T1开中;ET1=0,T1关中。⑥ES——串行口中断(包括串发、串收)允许控制位
ES=1,串行口开中;ES=0,串行口关中。说明:80C51对中断实行两级控制,总控制位是EA,每一中断源还有各自的控制位。首先要EA=1,其次还要自身的控制位置“1”。(3)中断优先寄存器IP(B8H)
IP在特殊功能寄存器中,字节地址为B8H,位地址分别是B8H~BFH,IP用来锁存各中断源优先级的控制位,其格式如图所示。三.中断处理过程中断处理过程大致可分为四步:中断请求、中断响应、中断服务、中断返回⒈中断请求中断源发出中断请求信号,相应的中断请求标志位(在中断控制寄存器TCON和SCON中)置“1”。⒉中断响应
CPU查询(检测)到某中断标志为“1”,在满足中断响应条件下,响应中断。
⑴中断响应条件:
①该中断已经“开中”;②CPU此时没有响应同级或更高级的中断;③当前正处于所执行指令的最后一个机器周期;④正在执行的指令不是RETI或者是访向IE、IP的指令,否则必须再另外执行一条指令后才能响应。⑵中断响应操作
CPU响应中断后,进行下列操作:①保护断点地址;②撤除该中断源的中断请求标志;③关闭同级中断;④将相应中断的入口地址送入PC;
80C51五个中断入口地址:INT0:0003H;
T0:000BH;INT1:0013H T1:001BH;串行口:0023H⒊执行中断服务程序中断服务程序应包含以下几部分:⑴保护现场⑵执行中断服务程序主体,完成相应操作⑶恢复现场⒋中断返回在中断服务程序最后,必须安排一条中断返回指令RETI,当CPU执行RETI指令后,自动完成下列操作:⑴恢复断点地址。⑵开放同级中断,以便允许同级中断源请求中断。
四.中断响应等待时间
若排除CPU正在响应同级或更高级的中断情况,中断响应等待时间为:
3~8个机器周期五.中断请求的撤除中断源发出中断请求,相应中断请求标志置“1”。CPU响应中断后,必须清除中断请求“1”标志。否则中断响应返回后,将再次进入该中断,引起死循环出错。⑴对定时/计数器T0、T1中断,外中断边沿触发方式,CPU响应中断时就用硬件自动清除了相应的中断请求标志。⑵对外中断电平触发方式,需要采取软硬结合的方法消除后果。⑶对串行口中断,用户应在串行中断服务程序中用软件清除TI或RI。六.
中断优先控制和中断嵌套⒈中断优先控制
80C51中断优先控制首先根据中断优先级,此外还规定了同一中断优先级之间的中断优先权。其从高到低的顺序为:
INT0、T0、INT1、T1、串行口。
中断优先级是可编程的,而中断优先权是固定的,不能设置,仅用于同级中断源同时请求中断时的优先次序。
80C51中断优先控制的基本原则:①高优先级中断可以中断正在响应的低优先级中断,反之则不能。②同优先级中断不能互相中断。③同一中断优先级中,若有多个中断源同时请求中断,CPU将先响应优先权高的中断,后响应优先权低的中断。⒉
中断嵌套
当CPU正在执行某个中断服务程序时,如果发生更高一级的中断源请求中断,CPU可以“中断”正在执行的低优先级中断,转而响应更高一级的中断,这就是中断嵌套。
中断嵌套只能高优先级“中断”低优先级,低优先级不能“中断”高优先级,同一优先级也不能相互“中断”。
中断嵌套结构类似与调用子程序嵌套,不同的是:①子程序嵌套是在程序中事先按排好的;中断嵌套是随机发生的。②子程序嵌套无次序限制,中断嵌套只允许高优先级“中断”低优先级。七.中断系统的应用⒈中断初始化⑴设置堆栈指针SP⑵定义中断优先级⑶定义外中断触发方式⑷开放中断⑸安排好等待中断或中断发生前主程序应完成的操作内容。⒉中断服务主程序中断服务子程序内容要求:⑴在中断服务入口地址设置一条跳转指令,转移到中断服务程序的实际入口处。⑵根据需要保护现场。⑶中断源请求中断服务要求的操作。
⑷恢复现场。与保护现场相对应,注意先进后出、后进先出操作原则。⑸中断返回,最后一条指令必须是RETI。
定时/计数器是单片机系统一个重要的部件,其工作方式灵活、编程简单、使用方便,可用来实现定时控制、延时、频率测量、脉宽测量、信号发生、信号检测等。此外,定时/计数器还可作为串行通信中波特率发生器。80C51定时/计数器80C51单片机内部有两个定时/计数器T0和T1,其核心是计数器,基本功能是加1。对外部事件脉冲(下降沿)计数,是计数器;对片内机周脉冲计数,是定时器。计数器由二个8位计数器组成。定时时间和计数值可以编程设定,其方法是在计数器内设置一个初值,然后加1计满后溢出。调整计数器初值,可调整从初值到计满溢出的数值,即调整了定时时间和计数值。定时/计数器作为计数器时,外部事件脉冲必须从规定的引脚输入。且外部脉冲的最高频率不能超过时钟频率的1/24。一.定时/计数器概述TCON低4位与外中断、有关,已在中断中叙述。高4位与定时/计数器T0、T1有关。⑴TF1:定时/计数器T1溢出标志。⑵TF0:定时/计数器T0溢出标志。⑶TR1:定时/计数器T1运行控制位。TR1=1,T1运行;TR1=0,T1停。⑷TR0:定时/计数器T0运行控制位。TR0=1,T0运行;TR0=0,T0停。TCON的字节地址为88H,每一位有位地址,均可位操作。⒈定时/计数器控制寄存器TCON二.定时/计数器的控制寄存器TCONT1中断标志T1运行标志T0中断标志T0运行标志INT1中断标志INT1触发方式INT0中断标志INT0触发方式位名称TF1TR1TF0TR0IE1IT1IE0IT0位地址8FH8EH8DH8CH8BH8AH89H88H高4位控制T1低4位控制T0门控位计数/定时方式选择工作方式选择门控位计数/定时方式选择工作方式选择GC/TM1M0GC/TM1M0TMOD用于设定定时/计数器的工作方式低4位用于控制T0,高4位用于控制T1。⒉定时/计数器工作方式控制寄存器TMOD(89H)⑴M1M0——工作方式选择位M1M0工作方式功能00方式013位计数器01方式116位计数器10方式2两个8位计数器,初值自动装入11方式3两个8位计数器,仅适用T0⑵C/T——计数/定时方式选择位
C/T=1,计数工作方式,对外部事件脉冲计数,用作计数器。
C/T=0,定时工作方式,对片内机周脉冲计数,用作定时器。⑶GATE——门控位
GATE=0,运行只受TCON中运行控制位TR0/TR1的控制。
GATE=1,运行同时受TR0/TR1和外中断输入信号的双重控制。只有当INT0/INT1=1且TR0/TR1=1,T0/T1才能运行。
注意:TMOD字节地址89H,不能位操作,设置TMOD须用字节操作指令。三.定时/计数器工作方式⒈工作方式0
13位计数器,由TL0低5位和TH08位组成,TL0低5位计数满时不向TL0第6位进位,而是向TH0进位,13位计满溢出,TF0置“1”。最大计数值213=8192。⒉工作方式1
16位计数器,最大计数值为216=65536。⒊工作方式2
8位计数器,仅用TL0计数,最大计数值为28=256,计满溢出后,一方面进位TF0,使溢出标志TF0=1;另一方面,使原来装在TH0中的初值装入TL0。优点:定时初值可自动恢复;缺点:计数范围小。适用于需要重复定时,而定时范围不大的应用场合。⒋工作方式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位定时器(不能用作计数器)。⑵T0方式3情况下的T1T1由于其TF1、TR1被T0的TH0占用,计数器溢出时,只能将输出信号送至串行口,即用作串行口波特率发生器。其中:N与工作方式有关:方式0时,N=13;
方式1时,N=16;
方式2、3时,N=8。 机周时间与主振频率有关:机周时间=12/fosc
fosc=12MHZ时,1机周=1S;
fosc=6MHZ
时,1机周=2S。
四.定时/计数器的应用⒈计算定时/计数初值80C51定时/计数初值计算公式:⑵工作方式1:
T0初值=216-500s/2s=65536–250=65286=FF06HTH0=FFH;TL0=06H。⑶工作方式2:
T0初值=28-500s/2s=256-250=6TH0=06H;TL0=06H。⑷工作方式3:
T0方式3时,被拆成两个8位定时器,定时初值可分别计算,计算方法同方式2。两个定时初值一个装入TL0,另一个装入TH0。因此:
TH0=06H;TL0=06H。方式0时计算定时初值比较麻烦,根据公式计算出数值后,还要变换一下,容易出错,不如直接用方式1,且方式0计数范围比方式1小,方式0完全可以用方式1代替,方式0与方式1相比,无任何优点。⒉定时/计数器应用步骤⑴合理选择定时/计数器工作方式⑵计算定时/计数器定时初值(按上述公式计算)⑶编制应用程序
①定时/计数器的初始化包括定义TMOD、写入定时初值、设置中断系统、启动定时/计数器运行等。②正确编制定时/计数器中断服务程序
注意是否需要重装定时初值,若需要连续反复使用原定时时间,且未工作在方式2,则应在中断服务程序中重装定时初值。定时器/计数器两种工作方式用作计数器时,加法计数器对芯片引脚T0(P3.4)或T1(P3.5)上的输入脉冲计数。每输入一个脉冲,加法计数器加1。加法计数溢出时可向CPU发出中断请求信号。作为定时器时,加法计数器通过对内部机器周期脉冲Tcy(机器周期值固定)计数达到定时的目的。如Tcy=0.5us,计数值100,相当于定时50us。定时器/计数器用作定时方式时,其定时时间与哪些因素有关?作计数方式时,对外界计数频率有什么限制?1)定时器/计数器用作定时方式时,其定时时间与晶体振荡器的频率、机器周期、计数器的长度、定时器/计数器初值有关。2)用作“计数器”时,对外部输入端T0、T1上1到0的跳变进行加1计数。在计数状态下,每个机器周期的S5P2时刻采样外部输入。当第一个机器周期采样为高电平,而在第二个机器周期采样为低电平时,内部计数器加1。新的计数值在紧接着采样到跳变后的下一个机器周期的S3P1出现在计数器中。由于检测到一个1到0的跳变需要2个机器周期,即24个振荡周期,因此外部计数的最快速率为振荡频率的1/24。外部输入信号的速率向下可以不受限制,但是脉冲宽度必须保证在其电平变化之前能被采样到一次,即至少保持一个完整的机器周期;否则,将会由于采样不到而出现漏计现象。串行通信本章要点异步通信和同步通信串行通信波特率串行通信的制式串行通信的校验串行口特殊功能寄存器串行工作方式
串行通信优点:便于长距离传送
缺点:传送速度较慢计算机与外界信息交换称为通信。通信的基本方式可分为并行通信和串行通信:并行通信是数据的各位同时发送或同时接收;串行通信是数据的各位依次逐位发送或接收。并行通信优点:传送速度快
缺点:不便长距离传送
异步通信对硬件要求较低,实现起来比较简单、灵活,适用于数据的随机发送/接收,但因每个字节都要建立一次同步,即每个字符都要额外附加两位,所以工作速度较低,在单片机中主要采用异步通信方式。串行通信概述一、异步通信和同步通信串行通信按同步方式可分为异步通信和同步通信。1、异步通信异步通信依靠起始位、停止位保持通信同步。
异步通信数据传送按帧传输,一帧数据包含起始位、数据位、校验位和停止位。帧格式,一个字符由四部分组成:起始位、数据位、奇偶校验位和停止位。停止位(1)停止位用来表征字符的结束。停止位可以是1位、1.5位或2位。接收端收到停止位后,知道上一字符已传送完毕
同步通信传输速度较快,但要求有准确的时钟来实现收发双方的严格同步,对硬件要求较高,适用于成批数据传送。2、同步通信同步通信依靠同步字符保持通信同步。
同步通信是由1~2个同步字符和多字节数据位组成,同步字符作为起始位以触发同步时钟开始发送或接收数据;多字节数据之间不允许有空隙,每位占用的时间相等;空闲位需发送同步字符。
波特率的倒数即为每位传输所需的时间。相互通信的甲乙双方必须具有相同的波特率,否则无法成功地完成串行数据通信。二、串行通信波特率波特率bps(bitpersecond)定义:
每秒传输数据的位数,即:1波特=1位/秒(1bps)三、串行通信的制式
串行通信按照数据传送方向可分为三种制式:
单工制式是指甲乙双方通信时只能单向传送数据,发送方和接收方固定。1、单工制式(Simplex)
半双工制式是指通信双方都具有发送器和接收器,既可发送也可接收,但不能同时接收和发送,发送时不能接收,接收时不能发送。2、半双工制式(HalfDuplex)
全双工制式是指通信双方均设有发送器和接收器,并且信道划分为发送信道和接收信道,因此全双工制式可实现甲乙双方同时发送和接收数据,发送时能接收,接收时也能发送。3、全双工制式(FullDuplex)四、串行通信的校验3、循环冗余码校验(CyclicRedundancyCheck,简称CRC)1、奇偶校验2、累加和校验
80C51系列单片机有一个全双工的串行口,这个口既可以用于网络通信,也可以实现串行异步通信,还可以作为同步移位寄存器使用。80C51串行口
发送时,只需将发送数据输入SBUF,CPU将自动启动和完成串行数据的发送;
接收时,CPU将自动把接收到的数据存入SBUF,用户只需从SBUF中读出接收数据。一、串行口特殊功能寄存器1、串行数据缓冲器SBUF
在逻辑上只有一个,既表示发送寄存器,又表示接收寄存器,具有同一个单元地址99H,用同一寄存器名SBUF。在物理上有两个,一个是发送缓冲寄存器,只能写;另一个是接收缓冲寄存器;只能读。2、串行控制寄存器SCON3、电源控制寄存器PCONSCOND7D6D5D4D3D2D1D0位名称SM0SM1SM2RENTB8RB8TIRI位地址9FH9EH9DH9CH9BH9AH99H98H功能工作方式选择多机通信控制接收允许发送第9位接收第9位发送中断接收中断①SM0SM1——串行口工作方式选择位。②SM2——多机通信控制位。③REN——允许接收控制位。REN=1,允许接收。④TB8——方式2和方式3中要发送的第9位数据。⑤RB8——方式2和方式3中要接收的第9位数据。⑥TI——发送中断标志。⑦RI——接收中断标志。PCOND7D6D5D4D3D2D1D0位名称SMOD———GF1GF0PDIDLSMOD=1,串行口波特率加倍。PCON寄存器不能进行位寻址。二、串行工作方式
80C51串行通信共有4种工作方式,由串行控制寄存器SCON中SM0SM1决定。
1、串行工作方式0(同步移位寄存器工作方式)以RXD(P3.0)端作为数据移位的输入/输出端,以TXD(P3.1)端输出移位脉冲。移位数据的发送和接收以8位为一帧,不设起始位和停止位,无论输入
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 《同学聚会策划》课件
- 医疗设备质量分析会
- 《名优绿茶加工技术》课件
- 《汽车文化汽车名人》课件
- 办公室5S管理内容
- 《公共关系案例分析》课件
- 公考培训机构年终总结
- 512护士节知识竞赛题库及答案200题
- 国网技术学院培训
- 培训机构前台接待流程
- 室内装修施工安全方案
- 直播电商代运营服务协议(GMV计费模式)
- 工程询价合同模板
- 事业单位招聘《综合基础知识》考试试题及答案
- 2024年中国瓦楞包装纸箱市场调查研究报告
- 无锡风机吊装施工方案
- 第九章 职业健康安全与环境管理课件
- 2024年保安员证考试题库及答案(共260题)
- (新统编版)语文八年级上册 第六单元 大单元教学设计
- 《扇形统计图》(教学设计)-2023-2024学年北师大版数学六年级上册
- 教师个人业务学习笔记(41篇)
评论
0/150
提交评论