80C51单片机的定时器计数器
第四章-80C51单片机的功能单元
第四章80C51单片机的功能单元4·1 80C51的四个I/O口在使用上有哪些分工和特点?试比较各分工的特点? 试比较各口的特点?何谓分时复用总线?P3口的第二变异功能有哪些?答:(1)80C51的四个I/O口在使用上的分工和特点①P0口: 可作通用I/O口用,也可作地址/数据线用。
作通用I/O口用时,输出级为开漏极电路,在驱动外部电路时应接上拉电阻;在接有外部存储器时,P0口作地址/数据线用,先输出低8位地址到外部地址锁存器,后输人指令代码或输人/输出数据。
②Pl口: 是一个8位准双向口,作通用I/O口用。
③P2口: 是一个8位准双向口,作通用I/O口用。
当外部接有存储器时,可用于输出高8位地址。
④P3口: 是一个多功能端口。
其基本功能仍然是通用I/O口,使用时与Pl、P2口类似。
其第二功能则是串行口、外部中断线、定时器/计数器的输入及外部数据存储器的选通信号等。
(2)分时复用总线分时复用总线是:在一组总线上,在不同的时间,有时输出地址,有时输人代码或输出/输人数据。
例如,P0口和P2口就组成了一组地址/数据复用总线。
(3)P3口的第二变异功能第一功能第二变异功能串行口:P3.0 RXD(串行输入口)P3.1 TXD(串行输出口)中断:P3.2 INT0外部中断0P3.3 INT1外部中断1定时器/计数器(T0、T1):P3.4 T0(定时器/计数器0的外部输入)P3.5 T1(定时器/计数器1的外部输入)数据存储器选通:P3.6 WR(外部存储器写选通,低电平有效,输出)P3.7 RD(外部存储器读选通,低电平有效,输出)4·2 80C51端口P0~P3作通用I/O 口时,在输入引脚数据时,应注意什么?答:p0~p3作通用I/O口在输入引脚数据时,应先用软件向口的输出锁存器写1。
4·3 "读一改一写"指令有何特点? 请至少列出五条不同操作的"读—改一写"指令。
经典:2-80C51单片机的基本结构和工作原理
8751是将8051片内的ROM换成EPROM
89C51则换成4KB的闪速EEPROM
89S51结构同89C51,4KB的闪速EEPROM可在线编程
增强型52、54、58系列的存储容量为普通型分别为
8KB、16KB、64KB
4
②数据存储器(RAM)
数据存储存放程序运行中所需要的常数和变量。51 系列内部RAM容量为128B,52系列为256B。
需要注意的是,在80C51单片机,还有一部分可以不 经过累加器A的传送指令,如:寄存器直接寻址单元之间; 直接寻址单元与间接寻址单元之间;寄存器、直接寻址单 元、间接寻址单元与立即数之间的传送指令。其目的是加 快传送速度,减少累加器A的堵塞现象。
12
③ B寄存器
B寄存器为8位寄存器,主要用于乘除指令中。乘法 中,ALU的两个输入分别为A、B,运算结果存放在AB寄 存器对中。A中存放积的低8位,B中存放积的高8位。除 法中,A中存放被除数,B中放入除数,商数存放于A,余 数存放于B。当然B寄存器也可作为一个普通的内部RAM 单元使用。
1
0
寄存器2组(10H~17H)
1
1
寄存器3组(18H~1FH)
15
d. PSW.5(F0,用户标志位)
该位为用户定义的状态标记,用户根据需要用软件 对其置位或清零,也可以用软件测试F0的状态来实现分支 转移。
Байду номын сангаасe. PSW.6(AC,辅助进位标志位)
进行加法或减法操作时,当发生低四位向高四位进 位或借位时,AC由硬件置位,否则AC位被清“0”。在进 行十进制调整指令时,将借助AC状态进行判断。
④程序状态字
程序状态字PSW(Program Status Word)是一个逐位 定义的8位标志寄存器,它保存指令执行结果的特征信息, 以供程序查询和判别。其各位的定义如下:
80c51单片机定时器计数器工作原理
80c51单片机定时器计数器工作原理80C51单片机是一种常用的微控制器,其定时器/计数器(Timer/Counter)是实现定时和计数功能的重要组件。
以下简要介绍80C51单片机定时器/计数器的工作原理:1. 结构:定时器/计数器由一个16位的加法器构成,可以自动加0xFFFF(即65535)。
定时器/计数器的输入时钟可以来自系统时钟或外部时钟源。
2. 工作模式:定时模式:当定时器/计数器的输入时钟源驱动加法器不断计数时,可以在达到一定时间后产生中断或产生其他操作。
计数模式:当外部事件(如电平变化)发生时,定时器/计数器的输入引脚可以接收信号,使加法器产生一个增量,从而计数外部事件发生的次数。
3. 定时常数:在定时模式下,定时常数(即定时时间)由预分频器和定时器/计数器的初值共同决定。
例如,如果预分频器设置为1,定时器/计数器的初值为X,那么实际的定时时间 = (65535 - X) 预分频系数输入时钟周期。
在计数模式下,定时常数由外部事件发生的时间间隔决定。
4. 溢出和中断:当加法器达到65535(即0xFFFF)时,会产生溢出,并触发中断或其他操作。
中断处理程序可以用于执行特定的任务或重置定时器/计数器的值。
5. 控制寄存器:定时器/计数器的操作可以通过设置相关的控制寄存器来控制,如启动/停止定时器、设置预分频系数等。
6. 应用:定时器/计数器在许多应用中都很有用,如时间延迟、频率测量、事件计数等。
为了充分利用80C51单片机的定时器/计数器功能,通常需要根据实际应用需求配置和控制相应的寄存器,并编写适当的软件来处理定时器和计数器的操作。
80C51单片机的定时计数器
80C51单片机的定时计数器定时计数器的控制寄存器<>定时器/计数器的工作方式1.定时器/计数器的工作方式0<1)电路逻辑结构当图6-7中的计数器=13位<TH的8位与TL低5位)即得方式0的逻辑电路图。
<2)工作方式0的特点①两个定时器/计数器T0、T1均可在方式0下工作;②是13位的计数结构,其计数器由TH全部8位和TL的低5位构成<高3位不用);③当产生计数溢出时,由硬件自动给计数溢出标志位TF0<TF1)置1,由软件给TH,TL重新置计数初值。
应说明的是,方式0采用13位计数器是为了与早期的产品兼容,计数初值的高8位和低5位的确定比较麻烦,所以在实际应用中常由16位的方式1取代。
2.定时器/计数器的工作方式1<1)电路逻辑结构方式1是16位计数结构的工作方式,计数器由TH全部8位和TL全部8位构成。
其逻辑电路如图6-11所示。
<2)工作方式1的特点①两个定时器/计数器均可在方式1下工作;②是16位的计数结构,其计数器由TH的全部8位和TL的全部8位构成;③当产生计数溢出时,由硬件自动给计数溢出标志位TF0<TF1)置1,由软件给TH,TL重新置计数初值。
<3)计数/定时的范围在方式1下,当为计数工作方式时,由于是16位的计数结构,所以计数范围是:1~65536。
当为定时工作时,其定时时间=<216-计数初值)×机器周期,例如:设单片机的晶振频率f=12MHz,则机器周期为1μs,从而定时范围:1μs~65536μs。
因为80C51单片机的定时计数器是可编程的。
因此,在利用定时/计数器进行定时计数之前,先要通过软件对他进行初始化,初始化一般应进行如下工作:①设置工作方式,即设置TMOD中的各位GATE、C/T、M1M0。
②计算加1计数器的计数初值COUNT,并将计数初值COUNT 送入TH、TL中。
计数方式:计数值 = 2n – COUNT ,计数初值:COUNT= 2n –计数值。
定时器计数器答案
定时器/计数器6·1 80C51单片机内部有几个定时器/计数器?它们就是由哪些专用寄存器组成? 答:80C51单片机内部设有两个16位的可编程定时器/计数器,简称为定时器0(T0)与定时器l(Tl)。
在定时器/计数器中的两个16位的计数器就是由两个8位专用寄存器TH0、TL0, THl、TLl组成。
6·2 80C51单片机的定时器/计数器有哪几种工作方式?各有什么特点?答:80C51单片机的定时器/计数器有4种工作方式。
下面介绍4种工作方式的特点。
方式0就是一个13位的定时器/计数器。
当TL0的低5位溢出时向TH0进位,而TH0溢出时向中断标志TF0进位(称硬件置位TF0),并申请中断。
定时器0计数溢出与否,可通过查询TF0就是否置位或产生定时器0中断。
在方式1中,定时器/计数器的结构与操作几乎与方式0完全相同,惟一的差别就是:定时器就是以全16位二进制数参与操作。
方式2就是能重置初值的8位定时器/计数器。
其具有自动恢复初值(初值自动再装人)功;能,非常适合用做较精确的定时脉冲信号发生器。
方式3 只适用于定时器T0。
定时器T0在方式3T被拆成两个独立的8位计数器TL0: 与TH0。
其中TL0用原T0的控制位、引脚与中断源,即:C/T、GATE、TR0、TF0与T0 (P3、4)引脚、INTO(P3、2)引脚。
除了仅用8位寄存器TL0外,其功能与操作与方式0、方式1完全相同,可定时亦可计数。
此时TH0只可用做简单的内部定时功能。
它占用原定时器Tl 的控制位TRl与TFl,同时占用Tl的中断源,其启动与关闭仅受TRl置1与清0控制。
6·3 定时器/计数器用做定时方式时,其定时时间与哪些因素有关?作计数时,对外界计数频率有何限制?答: 定时器/计数器用做定时方式时,其定时时间与时钟周期、计数器的长度(如8位、13位、16位等)、定时初值等因素有关。
作计数时,外部事件的最高计数频率为振荡频率(即时钟周期)的1/24。
定时计数器详解
mcs-51单片机计数器定时器详解【1】80C51单片机内部设有两个16位的可编程定时器/计数器。
可编程的意思是指其功能(如工作方式、定时时间、量程、启动方式等)均可由指令来确定和改变。
在定时器/计数器中除了有两个16位的计数器之外,还有两个特殊功能寄存器(控制寄存器和方式寄存器)。
:从上面定时器/计数器的结构图中我们可以看出,16位的定时/计数器分别由两个8位专用寄存器组成,即:T0由TH0和TL0构成;T1由TH1和TL1构成。
其访问地址依次为8AH-8DH。
每个寄存器均可单独访问。
这些寄存器是用于存放定时或计数初值的。
此外,其内部还有一个8位的定时器方式寄存器TMOD和一个8位的定时控制寄存器TCON。
这些寄存器之间是通过内部总线和控制逻辑电路连接起来的。
TMOD主要是用于选定定时器的工作方式;TCON主要是用于控制定时器的启动停止,此外TCON还可以保存T0、T1的溢出和中断标志。
当定时器工作在计数方式时,外部事件通过引脚T0(P3.4)和T1(P3.5)输入。
定时计数器的原理:16位的定时器/计数器实质上就是一个加1计数器,其控制电路受软件控制、切换。
当定时器/计数器为定时工作方式时,计数器的加1信号由振荡器的12分频信号产生,即每过一个机器周期,计数器加1,直至计满溢出为止。
显然,定时器的定时时间与系统的振荡频率有关。
因一个机器周期等于12个振荡周期,所以计数频率fcount=1/12osc。
如果晶振为12MHz,则计数周期为:T=1/(12×106)Hz×1/12=1μs这是最短的定时周期。
若要延长定时时间,则需要改变定时器的初值,并要适当选择定时器的长度(如8位、13位、16位等)。
当定时器/计数器为计数工作方式时,通过引脚T0和T1对外部信号计数,外部脉冲的下降沿将触发计数。
计数器在每个机器周期的S5P2期间采样引脚输入电平。
若一个机器周期采样值为1,下一个机器周期采样值为0,则计数器加1。
单片机原理及应用 第四章 80C51单片机的功能单元
Vcc
R (上拉电阻)
P1·X 引脚
1
读引脚
输入缓冲器
驱动能力:P1、P2、P3可驱动4个LSTTL负载 P0可驱动8个LSTTL负载
2、用作输入口 两种工作方式:
读锁存器 读引脚
1)读锁存器
将端口锁存器的内容读入内部总线,经过运算和变换,再 写回到端口锁存器。
称为 读—修改—写指令
例:ANL P1,#0FH
1、用作输出口 可直接与外设相连,不必外加字锁节存寻器址
输出指令:
MOV P1,A MOV P1,#data
;MOV P1,Rn ;MOV P1,@Ri
MOV P1,direct 位操作
MOV P1.X , C
P1·0位
读锁存器
内部总线 1
写锁存器
例: MOV P1,#0FH
输入缓冲器
1 D P1·X Q CL 锁存器 Q 0
4、作为双向口使用 准双向口
80C51的4个I/O口在进行数据的输入输出操作时, 均可作为双向口使用。即,同一口线既作为输入 口,又用作输出口。
操作方法:以P1口为例 MOV P1, A
;直接使用输出指令
··· ··· MOV P1,#0FFH MOV A,P1
;锁存器置1 ;输入指令
80C51的P1由输出口转为输入口时,需先将锁 存器置1,然后使用输入指令。
P1、P2、P3口: 4个TTL负载
五、80C51的外部总线
4.2 定时/计数器
单片微机系统特点:面向测控系统
要求单片微机能够提供实时功能,以实现定时、 延时或实时时钟;也常要求计数功能,以实现 对外部事件计数
80C51系列单片微机提供2个(8051型)或3个 (8052型)16位的定时/计数器,可程控为4种 工作方式
51单片机定时计数器的工作原理
51单片机定时计数器的工作原理
51单片机是一种常用的微控制器,它具有多个定时计数器,其中包括定时器0和定时器1。
这些定时计数器是通过内部时
钟源提供的脉冲进行计数的。
定时器0和定时器1是独立的计数器,它们可以用于不同
的应用。
这里我们将主要关注定时器0的工作原理。
定时器0
由一个八位计数器和一个控制寄存器组成。
当定时器0启动时,它会根据时钟源提供的脉冲进行计数,每个脉冲会使计数器的值增加1。
定时器0的计数范围为0-255,即八位二进制数。
通过控制寄存器,我们可以设置定时器0的工作模式、计
数器的初始值以及时钟源的频率。
定时器0可以以不同的方式工作,包括定时模式和计数模式。
在定时模式下,我们可以设置一个初始值,并在每次计数
器增加到该值时产生一个中断。
这样就可以实现精确的定时功能。
定时器0的中断服务程序可以完成各种操作,例如控制其他外设、延时等。
在计数模式下,定时器0将简单地计数外部触发信号的脉
冲次数。
这可以用于测量外部事件的时间间隔或频率。
需要注意的是,定时器0的工作需要通过编程来完成。
我
们可以使用汇编语言或C语言来配置定时器0的寄存器,并
设计相应的中断服务程序。
51单片机定时器的工作原理是通过定时器0和定时器1实
现计数功能。
定时器0可以在定时模式或计数模式下工作,通过设置计数值和时钟源频率,实现精确的定时功能或测量外部
事件的时间间隔或频率。
编程则是必不可少的,通过配置寄存器和编写中断服务程序来实现定时器的工作。
c51单片机计数器触发机制
C51单片机的计数器是通过触发机制来工作的。
在C51单片机中,有两种常见的计数器类型:定时器和计数器/计时器。
1. 定时器(Timer):
定时器用于生成一定时间间隔的定时事件。
C51单片机中的定时器是基于内部或外部时钟源进行计数的。
当定时器达到设定的计数值时,会触发定时器中断,并执行相应的中断服务程序(ISR)。
可以使用定时器来生成精确的时间延迟、控制周期性任务等。
2. 计数器/计时器(Counter/Timer):
计数器/计时器可以用来计数外部事件的脉冲数量或测量时间间隔。
它可以根据外部事件的触发边沿(上升沿或下降沿)来触发计数动作。
当计数器达到设定的计数值时,也可以触发计数器中断,并执行相应的中断服务程序(ISR)。
计数器还可以被配置为计时器模式,用于测量时间间隔。
在C51单片机中,计数器的触发机制通常是通过设置相关的寄存器来实现的。
这些寄存器包括计数器的初始值、计数模式、计数触发边沿等。
通过配置这些寄存器,可以灵活地控制计数器的工作方式和触发条件。
需要注意的是,具体的计数器触发机制可能会因不同的单片机型号而有所差异。
因此,在编程时应参考相关的芯片手册或数据表,以了解具体的计数器触发机制及其相应的寄存器设置。
1。
单片机原理及应用第四版林立第六章选择题答案
第六章选择题(1)使80C51定时/计数器T0停止计数的C51命令为______。
A.IT0=0;B.TF0=0;C.IE0=0;D.TR0=0;(2)80C51单片机的定时器T1用作定时方式时是______。
A.由内部时钟频率定时,一个时钟周期加1 B.由内部时钟频率定时,一个机器周期加1C.由外部时钟频率定时,一个时钟周期加1 D.由外部时钟频率定时,一个机器周期加1(3)80C51单片机的定时器T0用作计数方式时是______。
A.由内部时钟频率定时,一个时钟周期加1 B.由内部时钟频率定时,一个机器周期加1C.由外部计数脉冲计数,一个脉冲加1D.由外部计数脉冲计数,一个机器周期加1(4)80C51的定时器T1用作计数方式时,______。
A.外部计数脉冲由T1(P3.5引脚)输入B.外部计数脉冲由内部时钟频率提供C.外部计数脉冲由T0(P3.4引脚)输入D.外部计数脉冲由P0口任意引脚输入(5)80C51的定时器T0用作定时方式时是______。
A.由内部时钟频率定时,一个时钟周期加1B.由外部计数脉冲计数,一个机器周期加1C.外部计数脉冲由T0(P3.4)输入定时D.由内部时钟频率定时,一个机器周期加1(6)设80C51晶振频率为12MHz,若用定时器T0的工作方式1产生1ms定时,则T0计数初值应为______。
A.0xfc18B.0xf830C.0xf448D.0xf060(7)80C51的定时器T1用作定时方式且选择模式1时,工作方式控制字为______。
A.TCON=0x01;B.TCON=0x0H;C.TMOD=0x10;D.TMOD=0x50; (8)80C51的定时器T1用作定时方式且选择模式2时,工作方式控制字为______。
A.TCON=0x60; B.TCON=0x02; C.TMOD=0x06; D.TMOD=0x20; (9)80C51的定时器T0用作定时方式且选择模式0时,C51初始化编程为______。
单片机 第四章答案
LP1: JBC TF0 ,LP2
JB P3.2 , LP1
INC R0
;低电平到,停止定时器1,存储单元地址加1
SJMP LP0
;低电平到,停止定时器1 宽度
LP2: INC @R0
;存储溢出次数加1ms
MOV TH0,#0FCH ;定时1ms
MOV TL0,#18H SJMP LP1
INT1
INT1 为高时T1 开始计数
中断程序结构框架
20.利用定时/计数器T0从P1.0输出周期为1s,脉宽为20ms的正 脉冲信号,晶振频率为12MHz。试设计程序。参照【例4-6】
解:因方式2是8位计数器,其最大定时时间为:256×1 s = 256 s,为实现1 s延时,
可选择定时时间为200 s,再循环5000次。定时时间选定后,可确定计数值为200,则定
时器0的初值为:X = M 计数值=256 200 = 56 。采用定时器0,方式2工作,因此,
TMOD =02H。
ORG 0000H
MOV TMOD,#02H ;置定时器0为方式2
MOV TH1,#56
;置定时器初值
MOV TL1,#56
CLR P1.0 MAIN: MOV R5,#50
;置20 ms计数循环初值 1s
②计算定时500us初值:方式0:X = 213 - 500 = 7692 = 1E0CH
ORG START:MOV
CLR CLR MOV MOV MOV SETB LOOP: JNB CLR MOV MOV INC CJNE MOV CPL JNB CPL SJMP END
0000H TMOD, #00H
ORG 0000H
START:MOV TMOD, #02H;定时器T0工作方式2
单片机原理与应用考试复习资料
一、单选题1.89C51单片机中,唯一一个用户不能直接使用的寄存器是()A、P S WB、D P T RC、P CD、B答案: C2.使用定时器T1时,有几种工作方式()A、1种B、2种C、3种D、4种答案: D3.中断源I E 1(外部中断1)的向量地址为()A、0003HB、000BHC、0013HD、002BH答案: C4.在8x51里,若要扩展外部存储器时,数据总线连接哪个输入/输出端口?()A、P0B、P1C、P2D、P3答案: A5.执行M O V I E,#81H指令的意义是:()A、屏蔽中断源B、开放外中断源0C、开放外中断源1D、开放外部中断源0和1答案: B6.在CPU内部,反映程序运行状态或反映运算结果的特征寄存器是()。
A、PCB、PSWC、AD、SP答案: B7.8051单片机中既可位寻址又可字节寻址的单元是()A、20HB、30HC、00HD、70H答案: A8.下列指令目的操作数属于寄存器间接寻址的是()。
A、MOV @R0,AB、ADDC B,30HC、ADD A,@R0D、ADD A,#30H答案: A9.单片机应用程序一般存放在()中。
A、RAMB、ROMC、寄存器D、CPU答案: B10.下面哪一种传送方式适用于处理外部事件( )。
A、DMAB、无条件传送C、中断D、条件传送答案: C11.位处理器是单片机面向控制应用的重要体现,下列中不属于位处理器资源的是()A、位累加器CyB、通用寄存器的各个位C、特殊功能寄存器的可寻址位D、位操作指令集答案: B12.89S51的内部程序存储器与数据存储器容量各为多少?()A、64KB、 128BB、4KB、64KBC、4KB、128BD、8KB、256B答案: C13.各中断源发出的中断申请信号,都会标记在MCS-51系统中的()中。
A、TMODB、TCON/SCONC、IED、IP答案: B14.在下列寄存器中,与定时器 / 计数器控制无关的是:( )A、TCONB、SCONC、IED、TMOD答案: B15.若MCS-51系统中,晶振频率为8MHz,则一个机器周期等于( ) μs。
80C51单片机内部功能单元及应用
1)IT0:外部中断0触发方式控制位。
IT0=0,为电平触发方式,(低电平有效)。
IT0=1,为边沿触发方式(下降沿有效)。
2)IE0:外部中断0中断请求标志位。当IE0=1时, 表示/INT0向CPU请求中断。
3)IT1:外部中断1触发方式控制位,其操作功能 与IT0类似。
4)IE1:外部中断1中断请求标志位。当IE1=1时, 表示/INT1向CPU请求中断。
4.中断源 51单片机共有5个中断源:外部中断0、外部中断1、定时/ 计数器中断0、定时/计数器中断1、串行口中断。
中断源
请求标志
入口地址 优先级
外部中断0 定时器中断0 外部中断1 定时器中断1
串行口发送/接受中 断
IE0 TF0 IE1 TF1 TI/RI
0003H 000BH 0013H 001BH 002BH
TR1、TR0这2位与中断无关,仅与定时/计数器 T1和T0有关,它们的功能将在下一节中详述。
需要注意的是:当单片机复位后,TCON被清0, 则CPU关中断,所有中断请求被禁止。
2.串行口控制寄存器SCON(98H)
SCON是串行口控制寄存器,其低2位锁定串 行口的发送中断和接受中断的中断请求标志TI和 RI。对SCON可进行字节寻址和位寻址其格式如 下表:
6.2.2 中断的控制与实现
中断的控制与实现是通过4个与中断相关的特 殊功能寄存器配置来完成的,它们分别是定时 /计数器控制寄存器TCON、串行口控制寄存器 SCON、中断允许控制寄存器IE以及中断优先 级控制寄存器IP。
1.定时/计数器控制寄存器TCON(88H)
TCON是定时/计数器控制寄存器,它锁存2个 定时/计数器的溢出中断标志及外部中断/INT0和 /INT1的中断标志,对TCON可进行字节寻址和位 寻址。与中断有关的各位定义如下表:
微机原理及单片机应用技术第8章 80C51的中断与定时计数器
定时/计数器的结构
T1引脚
TH1
TL1
TH0
T0引脚
TL0
机器周 期脉冲
TH1、TL1
内部总线
TH0、TL0
TF1 TR1 TF0 TR0 GATE C/T M1 M0 GATE C/T M1 M0
TCON
TMOD
TCON
外部中断相关位
T1方式
T0方式
TMOD
2020/10/27
21
计数脉冲源
定时/计数器的工作原理
76543210
TCON TF1 TR1 TF0 TR0
字节地址:88H
TFx:Tx溢出标志位。响应中断后TFx有硬件自动清0。 用软件设置TFx可产生同硬件置1或清0同样的效果。
TRx:Tx运行控制位。置1时开始工作;清0时停止工作。 TRx要由软件置1或清0(即启动与停止要由软件控制)。
2020/10/27
2020/10/27
24
定时/计数器的控制示意图
M1M0 工作方式
说
明
00 方式0 13位定时/计数器
01 方式1 16位定时/计数器
10 方式2 8位自动重装定时/计数器
11
方式3
T0分成两个独立的8位定时/计数器; T1此方式停止计数
注意:TMOD不能进行位寻址
2020/10/27
26
控制寄存器TCON
第八章 80C51的中断系统与定时计数器
8.1 80C51单片机的中断系统 8.2 80C51中断处理过程 8.3 80C51单片机的串行口
8.1 80C51单片机的中断系统
5.1.1 80C51中断系统的结构
中断的概念
与子程序调用相似 但有本质的区别
单片机80C51考试题目及答案
单片机80C51考试题目及答案一、选择题(每题2分,共20分)1. 单片机80C51的内部RAM地址空间为多少字节?A. 128B. 256C. 512D. 1024答案:B2. 80C51单片机中,哪组寄存器用于存储当前正在执行的指令地址?A. B寄存器B. DPTRC. SPD. PC答案:D3. 下列哪个指令用于将累加器的内容与外部数据存储器中的数据进行交换?A. MOV A, @R0B. MOVX A, @DPTRC. MOV A, #dataD. MOV A, direct答案:B4. 80C51单片机的定时器/计数器有几个?A. 1B. 2C. 3D. 4答案:B5. 80C51单片机的中断向量表起始地址是多少?A. 0000HB. 0003HC. 0030HD. 0100H答案:C二、填空题(每题2分,共20分)1. 80C51单片机的______位定时器/计数器可以工作在______模式。
答案:16;32. 80C51单片机的______位定时器/计数器可以工作在______模式。
答案:8;23. 80C51单片机的______位定时器/计数器可以工作在______模式。
答案:8;34. 80C51单片机的中断系统包含______个中断源。
答案:55. 80C51单片机的I/O端口P1的地址是______。
答案:90H三、简答题(每题10分,共30分)1. 请简述80C51单片机的中断优先级是如何确定的?答案:在80C51单片机中,中断优先级由中断向量表中的地址决定,地址越小,优先级越高。
此外,还可以通过设置IP寄存器中的优先级位来调整不同中断源的优先级。
2. 80C51单片机的定时器/计数器有哪些工作模式?答案:80C51单片机的定时器/计数器有三种工作模式:模式0(13位定时器/计数器)、模式1(16位定时器/计数器)、模式2(8位自动重装载定时器/计数器)。
3. 80C51单片机的I/O端口具有哪些特性?答案:80C51单片机的I/O端口具有推挽输出、开漏输出、高阻态输入等特性,并且可以通过软件设置端口的模式。
80C51的定时、计数器
工作方式3将 分成为两个独立的 位计数器TL0和TH0 。 分成为两个独立的8位计数器 工作方式 将T0分成为两个独立的 位计数器 和
5.3.4 定时 计数器用于外部中断扩展 定时/计数器用于外部中断扩展
扩展方法是,将定时 计数器设置为计数器方式 计数器设置为计数器方式, 扩展方法是,将定时/计数器设置为计数器方式,计数初值 设定为满程,将待扩展的外部中断源接到定时/计数器的外部 设定为满程,将待扩展的外部中断源接到定时 计数器的外部 计数引脚。从该引脚输入一个下降沿信号,计数器加1后便产 计数引脚。从该引脚输入一个下降沿信号,计数器加 后便产 生定时/计数器溢出中断 计数器溢出中断。 生定时 计数器溢出中断。 例如,利用 扩展一个外部中断源 扩展一个外部中断源。 例如,利用T0扩展一个外部中断源。将T0设置为计数器方 设置为计数器方 按方式2工作 工作, 的初值均为0FFH,T0允许中 式,按方式 工作,TH0、TL0的初值均为 、 的初值均为 , 允许中 开放中断。 断,CPU开放中断。其初始化程序如下: 开放中断 其初始化程序如下: MOV TMOD,#06H 为计数器方式2 , ;置T0为计数器方式 为计数器方式 MOV TL0,#0FFH , ;置计数初值 MOV TH0,#0FFH , SETB TR0 启动T0工作 ;启动 工作 SETB EA ;CPU开中断 开中断 SETB ET0 允许T0中断 ;允许 中断
GATE:门控位。GATE=0时,只要用软件使 :门控位。 = 时 只要用软件使TCON中的 中的 TR0或TR1为1,就可以启动定时 计数器工作;GATA=1时, 计数器工作; 或 为 ,就可以启动定时/计数器工作 = 时 要用软件使TR0或TR1为1,同时外部中断引脚或也为高电 要用软件使 或 为 , 平时,才能启动定时/计数器工作 计数器工作。 平时,才能启动定时 计数器工作。即此时定时器的启动条 加上了或引脚为高电平这一条件。 件,加上了或引脚为高电平这一条件。 :定时 计数模式选择位。 定时/计数模式选择位 为定时模式; 定时 计数模式选择位。 =0为定时模式; =1 为定时模式 C/T C /T C /T 为计数模式。 为计数模式。 M1M0:工作方式设置位。定时 计数器有四种工作方式, 计数器有四种工作方式, :工作方式设置位。定时/计数器有四种工作方式 进行设置。 由M1M0进行设置。 进行设置
单片机毕业设计80c51
单片机毕业设计80c51本文的毕业设计主要涉及到80C51单片机的应用。
本篇文章将介绍单片机的基本原理、在数字电子钟的设计中的具体应用、硬件设计和软件编程,并给出程序设计流程与详细实现过程。
一、 80C51单片机的基本原理只要有些基础的理解,学习单片机并不难。
单片机是包含CPU、ROM、RAM和其他外设的一种集成电路(IC)芯片。
单片机因其体积小、功耗低、成本低而在实际应用中广泛使用。
具有代表性的是80C51单片机系列。
80C51单片机有多种不同的型号,每个型号内置指令集在某种程度上都有所不同。
最简单的80C51型号内置的指令集只有40多种指令。
可以想象,由于指令集非常简化、结构紧凑,这样设计出来的芯片具有性能非常稳定的特点。
二、数字电子钟的设计数字电子钟是指采用数字电路或数字电子技术设计的显示时间的钟。
数字电子钟广泛应用于生活中的种种需要,能够比较稳定地显示时间,其他功能还包括定时、闹钟、备忘等选项。
三、数字电子钟的硬件设计数字电子钟的硬件设计涵盖了三个方面:1. 显示电路的设计数字电子钟的显视屏幕通常是7片LED,其中6片是数字显示屏,第7片为冒号显示屏。
这个设计采用COS-8886电路,典型的应用范围是数码电子表、温度计等。
2. 时基方案的设计时基方案是指数字电子钟中的总体控制方案。
这里我们采用的是74HC4060的集成电路。
使用74HC4060,可以非常方便地进行时钟频率的分频设计。
3. 蓝牙通信模块的设计蓝牙通信模块的设计中,我们使用了常见的蓝牙串口传输模块,如HC-06,其工作电压在3.3V ~ 5V之间,具备良好的兼容性。
四、数字电子钟的软件编程数字电子钟的软件编程主要涉及以下两个方面:1. 定时计数器的设计采用80C51单片机设计定时计数器时,需要考虑到时钟频率、计时器精度、转换精度等问题。
借助于8051单片机提供的Timer/Counter模块,可以很方便地实现这个功能。
2. 蓝牙通信程序设计程序设计中需要考虑到串口通信协议,包括蓝牙模块的波特率,校验位和数据位等问题。
单片机原理及应用-第四章80C51单片机的功能
对两个操作数执行逻辑异或操作, 并将结果存放在目标地址中。
03
02
OR
对两个操作数执行逻辑或操作,并 将结果存放在目标地址中。
NOT
对操作数执行逻辑非操作,并将结 果存放在目标地址中。
04
控制转移指令
JMP
无条件跳转到指定地址。
JC/JNC
当进位标志位为1或0时,跳转 到指定地址。
JZ/JE
06
80C51单片机的串行通信 接口
串行通信的基本概念
串行通信
通过一条数据线,按照位顺序传输数据,实现数 据的发送和接收。
异步通信
数据传输速率不固定,发送器和接收器使用各自 的时钟。
同步通信
数据传输速率固定,发送器和接收器使用同一时 钟源。
80C51单片机的串行口结构及控制寄存器
要点一
串行口结构
算术运算指令
ADD
将两个操作数相加,并将结果存放在 目标地址中。
SUB
从源地址中减去目标地址中的值,并 将结果存放在源地址中。
MUL
将两个操作数相乘,并将结果存放在 目标地址中。
DIV
将源地址中的值除以目标地址中的值, 并将商存放在源地址中,余数存放在 累加器中。
逻辑运算指令
01
AND
对两个操作数执行逻辑与操作,并 将结果存放在目标地址中。
80C51单片机的应用领域
工业控制
80C51单片机在工业控制领域应用广泛, 如电机控制、自动化生产线控制等。
通信设备
80C51单片机在通信设备领域应用广 泛,如调制解调器、路由器、交换机
等。
智能仪表
80C51单片机可以用于各种智能仪表 的控制系统,如温度、压力、流量等 传感器采集和处理。
51单片机定时时钟工作原理
51单片机定时时钟工作原理51单片机(也被称为8051微控制器)的定时器/计数器是一个非常有用的功能,它允许用户在特定的时间间隔内执行任务。
下面是其基本工作原理:1. 结构:8051单片机通常包含两个定时器/计数器,称为Timer0和Timer1。
每个定时器都有一个16位的计数器,可以用来跟踪经过的时间或事件。
2. 时钟源:定时器的核心是一个振荡器或外部时钟源,为计数器提供脉冲。
通常,这个时钟源可以是内部的,也可以是外部的。
内部时钟源通常基于系统时钟,而外部时钟源则直接从外部硬件输入。
3. 计数过程:每当振荡器产生一个脉冲,计数器就会增加(对于向上计数的定时器)或减少(对于向下计数的定时器)一个单位。
这取决于定时器的模式。
4. 溢出:当计数器达到其最大值(对于向上计数的定时器)或达到0(对于向下计数的定时器)时,会发生溢出事件。
这会导致一个中断,可以用来执行特定的任务或操作。
5. 分频:在某些模式下,计数器的输出可以用来分频系统时钟,从而产生更精确的定时器时钟。
6. 预分频器:预分频器允许用户设置一个值,该值决定了振荡器的输入脉冲被分频的次数。
这有助于控制计数器的速度,从而控制定时器的精度。
7. 工作模式:8051微控制器支持多种定时器模式,包括正常模式、自动重装载模式和比较模式。
每种模式都有其特定的应用和行为。
8. 中断:当定时器溢出时,可以产生一个中断。
这意味着微控制器可以暂时停止当前的任务,转而处理与定时器相关的特定任务。
通过合理配置和使用这些定时器/计数器,开发人员可以在8051单片机上实现精确的时间控制和事件调度。
这对于实现诸如延时、精确计时和脉冲生成等功能非常有用。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
fOSC 1 1 1 溢出率 L L t (2 X ) tC (2 X ) 12
14
③ 采用中断方式:编程时打开全局和局部中断。 ④ 由定时器控制寄存器TCON中的TR0位控制定 时器的启动和停止。 TR0=1,启动; TR0=0,停止。 程序设计 ORG 0000H
LJMP MAIN
TR1
1/12
C/T=0 TL0 C/T=1
8位计数器
TF0
申请 中断
1
&
≥1 工作方式:8位计数/定时
1/12
TH0
TF1
申请 中断
8位定时器 工作方式:8位定时
9
振荡器 T1
1/12
C/T=0 TL1 TH1 C/T=1
13或16位计数器
串 行 口
T1方式0,1 振荡器 T1 1/12 C/T=0 TL1 C/T=1 TH1 T1方式2
/* T0的方式1*/ /* 启动定时器T0 */
/* 装计数器初值 */
/* 查询等待TF0位*/ /* 查询时间到,P1.0变反 */ /* 软件清除TF0位*/
26
② 用定时器T0的方式1编程,采用中断方式。
#include 〈reg51.h> sbit P1_0=P1^0;
/* 定时器T0的中断服务程序*/
void timer0(void) interrupt 1 using 1 { P1_0=!P1_0; /*P1.0变反*/ TH0=1000/256; /*计数器初值重装*/ TL0=1000%256; }
void main(void) { TMOD=0x01; /* T0的方式1 */ P1_0=0; TH0= 1000/256; /* 装计数器初值 */ TL0= 1000%256; EA=1; /*开中断*/ ET0=1; /*T0中断允许*/ TR0=1; /*启动T0*/ do { ; } while(1X ) tC (2 X ) fOSC
L L
1000×10-6 = (216-X)×2×10-6 即 500 = 216-X X = 216-500 = 10000H-1F4H = 0FE0CH = 11111110 00001100B 所以,初值为: TH0=0FEH,TL0=0CH
1
4.2 定时器/计数器
定时的实现方式: 1.软件定时; 2.不可编程硬件定时; 3.可编程定时。
2
一、定时/计数器的定时和计数功能
定时/计数器的核心部件是二进制加1计数 器(TH0、TL0或TH1、TL1)。
1. 定时功能----计数输入信号是内部时钟脉 冲,每个机器周期使寄存器的值加1。所以, 计数频率是振荡频率的1/12。
要产生2ms 的方波脉冲,只需在P1.0端以1ms 为间隔,交替输出高低电平即可实现。为此,定时 间应为1ms。使用6MHz晶振,则一个机器周期为 2μs,设待求计数初值为X,则:
13
12 t (2 X ) tC (2 X ) fOSC
L L
1000×10-6 = (213-X)×2×10-6 即 500 = 213-X X = 213-500 = 2000H-1F4H = 1E0CH = 11110000 01100B 所以,初值为: TH0=0F0H,TL0=0CH
定时溢出标志 启动定时/计数器
0 停止 1 启动
触发方式选择
0 低电平 1 下降沿
中断请求标志
4
2.工作方式控制寄存器TMOD(89H)
D7 D6 GATE C/T
D5 M1
D4 M0
D3 D2 GATE C/T
D1 M1
D0 M0
T1控制 GATE—门控位 C/T—计数/定时选择
T0控制
M1 M0—工作方式选择
① 用定时器T0的方式1编程,采用查询方式。
#include <reg51.h> sbit P1_0=P1^0; void main(void)
25
{ TMOD=0x01; TR0=1; for(;;) { TH0=1000/256; TL0=1000%256; do { ; } while(!TF0); P1_0=!P1_0; TF0=0; } }
低5位 8位
13位计数器
计数 器
D7 D6 GATE C/T
D5 M1
D4 M0
D3 D2 GATE C/T
D1 M1
D0 M0
6
2. 方式1—16位方式 振荡器 T0 TR0 GATE INT0 1/12
C/T=0
C/T=1
TL0 TH0 8位 8位
16位计数器
TF0
申请 中断
1
&
≥1
D7 D6 GATE C/T
2. 计数功能----计数脉冲来自相应的外部输入 引脚,T0为P3.4,T1为P3.5。
在TMOD中,各有一个控制位( C / T ),分别 用于控制定时/计数器T0和T1是工作在定时器方 式还是计数器方式。
3
二、定时器/计数器的控制寄存器
与定时器/计数器有关的控制寄存器有:
1.定时器控制寄存器TCON(字节地址88H) D7 D6 D5 D4 D3 D2 D1 D0 TF1 TR1 TF0 TR0 IE1 IT1 IE0 IT0
8位计数器
串 行 口
四、应用举例 可编程器件在使用前需要进行初始化: ① 确定TMOD控制字:编程时将控制字送TMOD; ② 计算计数器的计数初值:
10
编程时将计数初值送THi、 TLi;
③ 开中断(如果使用中断方式): 编程时置位EA、ETi
④ TRi位置位控制定时器的启动和停止。 D7 D6 TMOD GATE C/T TCON TF1 TR1 D5 M1 TF0 D4 D3 D2 D1 M0 GATE C/T M1 TR0 IE1 IT1 IE0 D0 M0 IT0
11
例题1:设晶振频率fOSC=6MHz,使用定时器/计数
器T0以方式0产生周期为2ms的方波脉冲,并由
P1.0输出。试以中断方式实现。
8051
P1.0
2ms
12
① TMOD确定 T1控制 GATE C/T X X M1 X M0 X
T0控制 GATE C/T 0 0 M1 0 M0 0
控制字00H ② 计算计数器的计数初值;
27
;T0为方式0 ;初值
;启动T0 ;允许T0中断 ;允许中断 ;等待中断 ;重新设置初值
;输出取反
TH0,#0F0H TL0,#0CH P1.0
16
例题2:设晶振频率fOSC=6MHz,使用定时器/计数
器T1以方式1产生周期为2ms的方波脉冲,并由
P1.0输出。试以中断方式实现。
8051
P1.0
2ms
③ 扩展的外部中断请求信号接计数脉冲输入端(T0 或T1);
23
④ 把扩展的外中断服务程序存放在所占用的定时/ 计数器中断入口地址处(000BH或001BH)。
例:以T0 实现一个外部中断扩展。 T0计数器方 式 则初始化程序为: MOV TMOD,#06H ;00000110 MOV TH0,#0FFH T0方式 MOV TL0,#0FFH 2 SETB EA ;开全局中断 SETB ET0 ;开T0中断 SETB TR0 ;准备计数 将中断子程序放在T0中断入口处(000BH)。
主程序:
;T1为方式1 ;初值
;启动T1 ;允许T1中断 ;允许中断 ;等待中断 ;重新设置初值
;输出取反
21
例题3:设晶振频率fOSC=6MHz,使用定时器/计数 器测定如图所示波形的一个周期长度。
启动定时 器
一个周期
INT0
计数器计数
T1
INT0 T1
1 外部计 数脉冲
P3.2
P3.5
22
五、定时/计数器用作外部中断扩展 在计数方式下,如果把计数器预置为全1,则只 要在计数输入端(T0或T1输入端)加一脉冲就可以 使计数器溢出,产生溢出中断。这就是定时/计数 器实现外部中断扩展的思想。具体方法是: ① 置定时/计数器为工作方式2,即自动加载式8 位计数,以便在一次中断响应后,自动为下一次 中断作准备; ② TH和TL均置为FFH;
ORG 000BH
;主程序入口
LJMP INTT0
;T0中断入口
15
ORG MAIN:MOV MOV MOV SETB SETB SETB SJMP 中断处理程序: INTT0:MOV MOV CPL RETI
主程序:
0030H TMOD,#00H TH0,#0F0H TL0,#0CH TR0 ET0 EA $
D5 M1
D4 M0
D3 D2 GATE C/T
D1 M1
D0 M0
7
3. 方式2—8位自动装入时间常数方式
振荡器 T0 TR0 GATE INT0
1/12
C/T=0 TL0 C/T=1 & TH0
8位计数器
TF0
申请 中断
1
≥1
8
4. 方式3—2个8位方式
振荡器 T0 TR0 GATE INT0 振荡器
17
① TMOD确定 T1控制 GATE C/T 0 0 M1 0 M0 1
T0控制 GATE C/T X X M1 X M0 X
控制字10H ② 计算计数器的计数初值;
要产生2ms 的方波脉冲,只需在P1.0端以1ms 为间隔,交替输出高低电平即可实现。为此,定时 间应为1ms。使用6MHz晶振,则一个机器周期为 2μs,设待求计数初值为X,则:
24
定时器0 例、设单片机的 fosc=12MHz ,要求在 P1.0 脚上 输出周期为2ms的方波。 周期为 2ms的方波要求定时间隔为 1ms,每次时 间 到 P1.0 变 反 。 由 于 fosc=12MHz , 机 器 周 期 为