单片机原理及应用技术项目化教程 项目四

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

2.定时器/计数器的相关寄存器 如上所述,要使定时器/计数器按要求工作,得到所需 的定时时间或计数值,必须通过编程进行控制才能实现。通 过对工作方式控制寄存器(TMOD)和定时器/计数器控制寄存 器(TCON)的设置即可实现对定时器/计数器的控制。
பைடு நூலகம்
51单片机的定时器/计数器(T0、T1)主要由工作方式寄 存器TMOD和控制寄存器TCON等组成。可以通过软件对 这些寄存器进行设置来实现不同的控制目的。其中,TH0 和TL0用来存放定时器T0的计数初值,TMOD用来控制定 时器的工作方式,TCON用作中断溢出标志并控制定时器 的启、停。
1) 工作方式寄存器TMOD 特殊功能寄存器TMOD用于控制T0和T1的工作方式, 低4位用于控制T0,高4位用于控制T1。TMOD的地址为89H, 其各位状态只能通过CPU的字节传送指令来设定,而不能用 位寻址指令改变,复位时各位状态为0,其各位的定义如下:
其中,低4位用于T0,高4位用于T1,它们的含义是完 全相同的。TMOD各位的功能如下:
4.1 项 目 描 述
单片机的定时器/计数器在工业控制与测量领域有着 广泛的应用,比如定时检测、定时计数及定时扫描等。本 项目通过设计一个由定时器控制的报警旋转灯,使学生掌 握定时器/计数器的工作原理、工作方式和定时器/计数器 的初值计算。
4.2 项目目的与要求
本项目的目的就是设计一个由定时器控制的报警旋转 灯系统。通过控制P2口的8个LED灯,要求它们旋转闪烁红 灯并发出报警声。项目在实施过程中需要解决以下关键问题:
(1) 与定时器/计数器相关的寄存器的各位的功能是怎 样的;
(2) 选择哪种定时器,采用何种工作方式,如何计算定 时初值;
(3) 编写延时程序; (4) 如何装入初值。
4.3 项目支撑知识链接
4.3.1 定时器/计数器的结构
1.定时器的结构及工作原理 1) 定时器/计数器组成框图 89C51单片机内部有两个16位可编程定时器/计数器:定 时器0(T0)和定时器1(T1)。其逻辑结构如图4-1所示。
所以,最高检测频率为振荡频率的1/24。计数器对外部 输入信号的占空比没有特别的限制,但必须保证输入信号的 高电平与低电平的持续时间在一个机器周期以上。当设置了 定时器的工作方式并启动定时器工作后,定时器就按被设定 的工作方式独立工作,不再占用CPU的操作时间,只有在计 数器计满溢出时,才可能中断CPU当前的操作。
【项目目标】 1. 知识目标 (1) 理解定时器/计数器的结构和工作原理; (2) 理解寄存器TMOD、TCON、TH0、TL0、TH1、 TL1的功能; (3) 掌握定时器/计数器的工作方式; (4) 掌握定时器的定时初值的计算。
2. 能力目标 (1) 根据需要会选择使用定时器/计数器的某种工作 方式; (2) 会计算定时器/计数器的初值; (3) 能熟练使用定时器/计数器; (4) 会运用C51语言对应用程序进行编程。
方式 3
T0 分为两个 8 位定时器/计数器,T1 停止计数
C/ T :功能选择位。当C/ T 为0时,选择定时方式。 在定时方式中,以振荡器输出时钟脉冲的12分频信号作为计 数信号,也就是每一个机器周期定时器加1。若晶振频率为 12 MHz,则定时器的计数频率为1 MHz;当C/ T 为1时, 选择计数方式,采用外部引脚T0(P3.4)、T1(P3.5)的输入脉 冲作为计数脉冲,当外部输入脉冲发生1到0的负跳变时,计 数器加1,最高计数频率为时钟频率的1/24。
2) 定时器/计数器工作原理 当定时器/计数器设置为定时工作方式时,计数器对内 部机器周期计数,每过一个机器周期,计数器增1,直至计 满溢出。定时器的定时时间与系统的振荡频率紧密相关, C51单片机的一个机器周期由12个振荡脉冲组成。当采用12 MHz晶振时,一个机器周期为1 μs,计数频率为1 MHz。因 此,适当选择定时器的初值可获取各种定时时间。
当定时器/计数器设置为计数工作方式时,计数器对来 自输入引脚T0(P3.4)和T1(P3.5)的外部信号计数,外部脉冲 的下降沿将触发计数。在每个机器周期的S5P2期间采样引 脚输入电平,若前一个机器周期采样值为1,后一个机器周 期采样值为0,则计数器加1。新的计数值是在检测到输入引 脚电平发生1到0的负跳变后,与下一个机器周期的S3P1期 间装入计数器中的。可见,检测一个由1到0的负跳变,需要 两个机器周期。
图4-1 51单片机定时器/计数器的内部结构图
由图4-1可知,定时器/计数器0、定时器/计数器1是16位 加法计数器,分别由两个8位专用寄存器组成:定时器0由 TH0和TL0组成,定时器1由TH1和TL1组成。TL0、TL1、 TH0、TH1的访问地址依次为8AH~8DH,每个寄存器均可 单独访问。定时器0或定时器1用作计数器时,对芯片引脚 T0(P3.4)或T1(P3.5)上输入的脉冲计数,每输入一个脉冲, 加法计数器加1;其用作定时器时,对内部机器周期脉冲计 数,由于机器周期是定值,故计数值确定时,时间也随之确 定。TMOD、TCON与定时器0、定时器1间通过内部总线及 逻辑电路连接,TMOD用于设置定时器的工作方式,TCON 用于控制定时器的启动与停止。
M1和M0:操作方式控制位。两位可形成四种编程,对 应于四种操作方式,如表4-1所示。
M1 M0 00 01 10 11
表 4-1 M1、M2 控制的四种工作方式
工作方式
功能说明
方式 0
13 位定时器/计数器工作方式
方式 1
16 位定时器/计数器工作方式
方式 2
自动再装入的 8 位定时器/计数器工作方式
模块4 定时器控制的报警灯设计
4.1 项目描述 4.2 项目目的与要求 4.3 项目支撑知识链接 4.4 项目实施 项目小结 项目拓展技能与练习
【项目导入】 在单片机的应用系统中,往往会遇到要求用定时器对某 些控制系统进行设计,例如定时检测系统、定时扫描系统等。 51系列单片机中设置有2个16位定时器/计数器,分别是T0和 T1,要学会对定时器进行编程,必须掌握这两个定时器的 工作方式和初值的计算。在此,我们通过一个项目设计,让 同学们掌握定时器/计数器在单片机控制技术中的使用。
相关文档
最新文档