




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、单片机原理及应用(第五章 定时/计数器)教学内容定时/计数器的结构与功能定时/计数器的控制DATE: 2022/7/17PAGE: 2 一、 定时/计数器的结构与功能 8051单片机内部有两个定时/计数器T0及T1,具有定时和计数两种功能。T0及T1在计数过程中不需要CPU参与,也不影响CPU的其他工作。当计数溢出后,定时/计数器给出中断信号,申请CPU停止当前的工作,去处理预先设定的中断事件。DATE: 2022/7/17PAGE: 3 一、 定时/计数器的结构与功能 1.计数功能计数器用于统计从TO(P3.4)和Tl(P3.5)两个引脚输入脉冲的负跳变数量。负跳变是指前一个机器周期采样为高
2、电平,后一个机器周期为低电平。每输入一个脉冲负跳变,计数器加1。输入脉冲的高电平与低电平至少应保持一个机器周期时间,以确保正确采样,因此输入脉冲的频率最高为单片机内部脉冲频率的一半。如果内部脉冲频率为1 MHZ,则最高计数频率为0.5 MHz。DATE: 2022/7/17PAGE: 4 一、 定时/计数器的结构与功能 2.定时功能定时功能是单片机通过对内部机器脉冲信号计数实现的,计数值乘以机器周期就是相应的时间。例如,如果单片机采用12 MHz的晶振,则机器内部脉冲频率为1 MHz,则机器周期为1us,若共计数1000,则用时为1ms时间。DATE: 2022/7/17PAGE: 5 二、定
3、时/计数器的控制每个定时/计数器都是16位,分别由两个8位专用寄存器组成。低8位记为TL,高8位记为TH,用以存放16位计数初值的低8位和高8位。为控制定时器正常工作,其内部还设有两个8位的特殊寄存器TMOD和TCON。TMOD用于控制定时/计数器的工作方式,TCON用于控制T0和T1的启动与停止,以及保存T0和 T1的溢出和中断标志。TMOD和TCON的内容是通过编程设置的,系统复位时,二者均自动清零。设置定时/计数器的过程是先初始化工作方式寄存器TMOD,并为定时/计数器赋初值,然后通过控制寄存器TCON中的TRO或TRl实现启动或停止。 DATE: 2022/7/17PAGE: 6 二、
4、定时/计数器的控制定时/计数器的控制字1.工作方式寄存器TMOD (Timer mode)工作方式寄存器TMOD用于控制定时/计数器的工作方式和工作模式,长度为一个字节,只能按字节整体赋值,其各位的意义见表5-1。DATE: 2022/7/17PAGE: 7 二、定时/计数器的控制(1)GATE(门控制位)用于设置TO(T1)的启动方式。当GATE=0时,以寄存器TCON中的TRO(TR1)位控制TO(T1)启动或停止。例如,当置TRO为“1”时T0启动,当置TRO为“0”时T0停止。当设置GATE=1时,则TO(Tl)的启动受TRO(TR1)和外部中断信号INT0(INT1)共同控制。例如,
5、只有当置INT0和TRO都为“1”时T0才启动,否则T0停止。DATE: 2022/7/17PAGE: 8 二、定时/计数器的控制(2)CT用于设置TRO(TR1)是工作于计数器或定时器模式。当 CT =0时,TRO(TR1)工作于定时器方式;当CT =1时,TRO(TR1)工作于计数器方式。(3)Ml和M0用于设置TO(T1)的工作方式。当M1=0且M0=0时工作于方式0(13位计数器);当M1=0且M0=1时工作于方式1(16位计数器);当M1=1且M0=0时工作于方式2(自重装的8位计数器);当M1=1且M0=1时工作于方式3(T0为两个独立的8位计数 器,T1无效)。DATE: 202
6、2/7/17PAGE: 9 二、定时/计数器的控制 例5-1:设定时器1为定时工作方式,按方式2工作,定时器0为计数方式,按方式1工作,均由程序单独控制启动和停止,请给出TMOD控制字。解:定时器1做定时器使用则D6=0;按方式2工作则D5=1,D4=0;由程序单独控制启停则 D7=0 。定时器0做计数器使用则D2=1;按方式1工作则D0=0,D1=1;由程序单独控制启停则 D3=0。因此命令字TMOD的值应为00100101B,即25H。DATE: 2022/7/17PAGE: 10 二、定时/计数器的控制2.定时器控制寄存器TCON (Timer controller)TCON也是8位寄存
7、器,与TMOD不同的是它可按位单独赋值,其各位的意义见下表2。DATE: 2022/7/17PAGE: 11 二、定时/计数器的控制低4位用于设置外部中断,高4位用于设置定时/计数器。(1)TRO和TRl分别用于控制T0 和T1的启动或停止。当TRO(TRl)置“1”时,启动定时/计数器;当TRO(TRl)置“0”时,停止定时/计数器。(2)TFO 和TFl分别是T0 和T1的溢出标志位。当定时或计数因达到最大计数容量而产生溢出时,此位由硬件自动置1,当转向中断服务程序时由硬件自动清零,若无中断服务程序则需要由编程进行清0。DATE: 2022/7/17PAGE: 12 二、定时/计数器的控制
8、定时/计数器的工作方式 寄存器TMOD的M1和M0两位的四种组合构成了定时/计数器的四种工作方式。一、方式0和方式1 方式0是13位的定时/计数器,它由TL的低5位和TH的8位构成,方式1是16位的定时/计数器,由 TH的8位和TL的8位构成。方式0和方式1的工作原理基本相同,以下以T0为例进行说明。DATE: 2022/7/17PAGE: 13 二、定时/计数器的控制一、方式0和方式1 方式0是13位的定时/计数器,它由TL的低5位和TH的8位构成,方式1是16位的定时/计数器,由TH的8位和TL的8位构成。方式0和方式1的工作原理基本相同。DATE: 2022/7/17PAGE: 14 二
9、、定时/计数器的控制方式0和方式1的特点:TO启动后,在TL和TH中存储的计数初值基础上进行加“1”计数,直至溢出。溢出时T0寄存器被清零,TF0被置位,并申请中断。此后,若TO重新启动,则从零重新开始计数。若希望T0从某一数值开始计数,则应给计数器赋初值。若所需计数长度为N,则计数初值X=2M-N(1N2M),其中当工作于方式0时,M=13,当工作于方式1时,M=16。在为计数器赋初值时,应将初值拆成高低两部分字节,分别送入TL和TH。DATE: 2022/7/17PAGE: 15 二、定时/计数器的控制实例5-2 欲采用8051单片机控制8个LED同时以1s为周期闪烁,设计电路原理图并编写
10、程序。DATE: 2022/7/17PAGE: 16 设置定时/计数器的过程: 1)先初始化工作方式寄存器TMOD 2)为定时/计数器赋初值 3)通过控制寄存器TCON中的TRO或TRl实现启动或停止。 二、定时/计数器的控制#include / 将8051单片机头文件包含到文件中main(void ) unsigned char counter; /设置无符号字符型变量,存储定时器中断次数。 TMOD=0 x01; /设T0为定时模式,由TR0控制启动和停止,且工作于方式1TH0=(65536-46083)/256; /初始化T0的高8位TL0=(65536-46083)%256; /初始化
11、T0的低8位TF0=0; /初始化定时器溢出标志P0=0 xff; /关闭LED counter=0; /从0开始计数 TR0=1; /启动定时器0 while(1) while(TF0=1) /如果定时器溢出 counter+; /计时次数加1 if(counter=20) /计时时间达到1s P0=P0; / P0所有位取反,使LED闪烁 counter=0; /重新从0开始计数 TH0=(65536-46083)/256; /重新初始化T0的高8位 TL0=(65536-46083)%256; /重新初始化T0的低8位 TF0=0; /重新初始化定时器溢出标志 DATE: 2022/7/
12、17PAGE: 17 二、定时/计数器的控制二、方式2 方式2的特点是能自动加载计数初值。16位计数器被分为两部分,以TL0作为计数器,以TH0作为存储器。初始化时把计数初值分别加载至TL0和TH0中,当计数溢出时,由存储器TH0自动给计数器TL0加载计数初值。若所需计数长度为N,则计数初值X=28-N(1N256)。DATE: 2022/7/17PAGE: 18 二、定时/计数器的控制实例5-3 图5-4是产品包装生产线的计数系统,每个产品经过计数装置时由机械杆碰合按键S1一次。当第一次计满一包(5个)则D1亮,计满第二包则D2亮,计满第八包则D1D8全亮,八包包装成一箱,此后重复以上过程。
13、编写程序实现此功能。DATE: 2022/7/17PAGE: 19 二、定时/计数器的控制解:程序如下:#include / 包含51单片机寄存器定义的头文件unsigned char counter; /计数初值main(void ) TMOD=0 x60; /使用T1的工作方式2TH1=256-5; / T1的高8位赋初值TL1=256-5; / T1的低8位赋初值 counter=0; TR1=1; /启动T1while(1) while(TF1=1) /如果计满 TF1=0; /计数器溢出后,将TF1清0 counter+; /计数加1DATE: 2022/7/17PAGE: 20 二
14、、定时/计数器的控制 switch (counter) /检查中断计数值 case 1: P0=0 xfe; break; /则第1个灯亮 case 2: P0=0 xfd; break; /第2个灯亮 case 3: P0=0 xfb; break; /第3个灯亮 case 4: P0=0 xf7; break; /第4个灯亮 case 5: P0=0 xef; break; /第5个灯亮 case 6: P0=0 xdf; break; /第6个灯亮 case 7: P0=0 xbf; break; /第7个灯亮 case 8: P0=0 x00; counter=0; break; /8个灯全亮 DATE: 2022/7/17PAGE: 21 二、定时/计数器的控制四、方式3 TO被拆成两个独立的8位计数器TLO和THO,TL0独占T0的各控制位、引脚和中断源,既可以用作定时器也可作计数器。TH0只能作为定时器使用,且需要占用T1的控制位TR1和TF1实现启停和中断。DA
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 水泥定价协议书
- 牛奶价格协议书
- 建筑服务保洁合同
- 绿色食品供应链管理系统开发与运营合作协议
- 平安普惠借款合同
- 乡村农业现代化推广协议
- 车队承包维修合同协议
- 运输企业雇车合同协议
- 运输项目合作合同协议
- 油品设备协议书
- 2024-2025年上海中考英语真题及答案解析
- GB/T 19510.213-2023光源控制装置第2-13部分:LED模块用直流或交流电子控制装置的特殊要求
- 2024年桥式起重机司机(中级)职业技能考试题库(职校培训)
- 工程建设公司QC小组道路沥青混凝土面层裂缝的控制成果汇报书
- 提升教师专业素养与综合能力的培训
- 文创产品设计-第四章-文创产品设计的基本流程
- 【承诺书】危险化学品承诺书
- C语言程序设计说课(共34张PPT)
- (完整版)初二地理会考模拟试卷(含答案)
- 骨盆骨折的护理查房课件
- 爆破安全规程解读
评论
0/150
提交评论