第7章 定时/计数器 教学目的:了解80C51系列单片机内部定时器/计数器的结构与工作原理;能够采用查询方式对定时器/计数器的4种工作模式编程、应用。 教学重点:1. 定时/计数器的工作原理; 2. 定时器方式1、2的编程、应用。 教学难点:1.定时/计数器控制寄存器的设置 2.定时初值的设置.

Slides:



Advertisements
Similar presentations
单片机技术及应用 河南信息工程学校 电子工程系.
Advertisements

第5章 中断系统 5.1 中断的概述  5.2 AT89C51中断系统 5.3 中断系统的应用.
主讲人:刘利 交通大学网络控制课程系列 上海交通大学机电控制研究所 交通大学网络控制课程系列 考试课、专业基础课、必修课
6 单片机的中断与定时系统 I/O设备必须通过I/O接口与计算机连接。 I/O接口的功能: 1.速度匹配: 锁存数据、传送联络信号。
实验四 利用中规模芯片设计时序电路(二).
第4章 中断系统和定时/计数器 本章学习目标 : 理解中断概念,能正确描绘单片机中断响应过程
单片机应用技术 项目二 电子打铃装置 第4讲 单片机的定时器/ 计数器 《单片机应用技术》精品课程组 湖北职业技术学院机电工程系.
本章内容: 中断的概念 MCS-51单片机中断系统 外部事件中断及应用
接口技术 (单片机原理与应用).
主要内容 串行口的结构 串行口的工作方式 波特率的计算 简单应用
微處理機原理與應用 Chapter 1 簡介 Chung-Min Wu, Ph.D
第9章 数模转换器与模数转换器 本章学习目标 了解数模转换器的工作原理及性能指标 掌握模数转换器的应用 掌握数模转换器的应用.
复 习 一. 计算机中的数和编码 1. 2,10,16进制数及其之间的转换(整数) 按权展开,除x取余 2
本章内容: 中断的概念 MCS-51单片机中断系统 外部事件中断及应用
6.3 定时器/计数器的应用 初始化 初始化的内容如下:
一、任务描述 二、任务分析 三、任务演示 四、相关知识 五、任务布置. 一、任务描述 二、任务分析 三、任务演示 四、相关知识 五、任务布置.
第二部分 微机原理 第8章 单片机的 定时/计数器 主讲教师:喻红.
第6章 MCS - 51单片机内部定时器/ 计数器 及串行接口 6.1 定时器/计数器的结构及工作原理 6.2 方式和控制寄存器
第5章 定时计数技术 单片机控制系统中常常用到的定时与计数问题。 5.1 定时计数概述 5.2 MCS-51单片机的定时计数器.
6.1 中断系统和外中断 6.2 定时器/计数器 6.3 串行通信 本章小结.
第6章 MCS - 51单片机内部定时器/ 计数器 及串行接口 6.1 定时器/计数器的结构及工作原理 6.2 方式和控制寄存器
單晶片微電腦控制實習 使用計時中斷作走馬燈 計時器的基礎實習 國立大甲高工 電機科 2018年11月21日
第6章 定时器/计数器 (课时:8学时).
第七章 定时计数器与可编程 计数器阵列.
初始化串列通訊埠 在啟始串列傳輸介面時有以下3個步驟:假設傳輸的通訊協定為9600bps,傳送8個位元資料,沒有同位位元,1個停止位元。
第七章 定时/计数器.
第二部分 微机原理 第2章 MCS-51单片机 的内部结构 主讲教师:喻红.
逆向工程-汇编语言
CPU结构和功能.
第8章 MCS-51串行口 8.1 串行口及其通信方式 8.2 IBM-PC系列机与 单片机 的通信技术.
第2章 单片机系统组成原理 2.1 MCS-51单片机组成原理 2.2 单片机复位电路设计 2.3 MCS-51存储器配置
单元五 MCS-51单片机内部资源 5.1 任务九 单片机计数并显示 5.2 任务十 单片机流水灯控制 5.3 任务十一 两台单片机数据互传
主要内容 定时/计数器的工作原理模式 定时/计数器的工作方式 定时/计数器的应用
一、任务描述 二、任务分析 三、任务演示 四、相关知识 五、任务布置. 一、任务描述 二、任务分析 三、任务演示 四、相关知识 五、任务布置.
第2章 AT89C51单片机内部结构基础 2.1 内部结构和引脚功能 内部结构框图和主要部件
第五章 MCS-51中断与定时系统.
主要内容 定时/计数器的工作原理模式 定时/计数器的工作方式 定时/计数器的应用
移相正弦信号发生器设计 采用直接数字综合器DDS发生器的设计 原理:图1是此电路模型图
第4章 中断技术 一个完整的微机系统是由硬件和软件共同构成的。微机系统的硬件有CPU、存储器和I/O口,外设组成。CPU与存储器之间的信息交换比较简单,而CPU与外设之间进行信息交换之前必须确定外设是否准备好,即选择I/O传送方式。I/O传送方式有4种:无条件、查询、中断和DMA。本章学习中断传送方式的有关内容。
中 断 王 静 阜阳师范学院 计算机与信息工程学院.
数码管数字时钟电路的设计 1. 系统硬件电路的设计
得技通电子 问题 1.0 、选择题:本大题共15个小题,每小题1分,共15分,在每小题给出的四个选项中,只有一项符合题目要求,把所选项前的字母填在括号内。
第四章 MCS-51定时器/计数器 一、定时器结构 1.定时器结构框图
第五章 MCS-51中断系统 一、中断请求源 MCS-51提供5个中断请求源,即INT0、INT1、TF0、 TF1和串行口发送与接收中断请求源TI或RI。这些 中断请求源分别由TCON与SCON的相应位锁存。
5.2.3 中断请求的响应、撤除及返回 1.中断的响应 从前面介绍的中断允许控制寄存器IE中可看出,一个中断源发出请求后是否被CPU响应,首先必须得到IE寄存器的允许,即开中断。如果不置位IE寄存器中的相应允许控制位,则所有中断请求都不能得到CPU的响应。 在中断请求被允许的情况下,某中断请求被CPU响应还要受下列条件的影响。
微机原理与接口技术 西安邮电大学计算机学院 杨锐.
第三章 MCS 51的硬件结构.
微机原理与接口技术 微机原理与接口技术 朱华贵 2015年12月04日.
第二部分 微机原理 第9章 串行通信 及其接口 主讲教师:喻红.
FBs系列PLC 高级应用篇高速计数/定时器
5. 1 中 断 概 述 单片机接通电源后将循环执行我们编制好的程序(一般称为主程序),当有外部设备或内部部件要求CPU为其服务时,计算机将被迫“中断”主程序的执行,并记录下暂停处程序地址(断点地址),然后转去为外部设备服务,即执行中断服务程序;在中断程序执行完毕后自动返回被迫中断主程序的地址,继续执行原主程序。
汽车单片机应用技术 学习情景1: 汽车空调系统的单片机控制 主讲:向楠.
第4章 定时器与计数器 本章内容 定时器/计数器工作原理 定时器/计数器的工作方式 定时器/计数器的应用.
单片机原理及应用 实践部分 主讲人:刘 强 四川工商学院单片机教学团队 单片机原理及应用 实践部分 主讲人:刘 强
HSC高速输出例程 HORNER APG.
单片机应用技术 (C语言版) 第7章 定时器/计数器
第15讲 特征值与特征向量的性质 主要内容:特征值与特征向量的性质.
微算機(二) 's UART mode1 communication
定时中断与LED MCU起航 QQ:
6.1 定时器/计数器的结构及工作原理 定时器/计数器的结构 定时器/计数器T0、T1的逻辑结构如图6-1所示。
单片机原理与应用.
3. 逻辑运算指令 A、简单逻辑操作指令 CLR A. (不影响CY、AC、 OV标志) CPL A
得技通电子 问题 三 判断题:.
单片机应用技术 (C语言版) 第6章 中断系统.
汽车单片机应用技术 学习情景1: 汽车空调系统的单片机控制 主讲:向楠.
上节复习(11.14) 1、方式2、方式0的特点? 2、定时/计数器的编程要点? 3、实验5方案优化问题.
上节复习(11.7) 1、定时/计数器的基本原理? 2、定时/计数器的结构组成? 3、定时/计数器的控制关系?
第5章 80C51单片机的中断与定时 教学基本要求: (1)、了解单片机系统有关中断的概念; (2)、了解单片机定时器/计数器的功能;
DSP技术与应用 电子与信息技术系.
第1章 微型计算机基础.
Presentation transcript:

第7章 定时/计数器 教学目的:了解80C51系列单片机内部定时器/计数器的结构与工作原理;能够采用查询方式对定时器/计数器的4种工作模式编程、应用。 教学重点:1. 定时/计数器的工作原理; 2. 定时器方式1、2的编程、应用。 教学难点:1.定时/计数器控制寄存器的设置 2.定时初值的设置

7.1 定时/计数器T0、T1概述 7.1.1  定时器/计数器T0、T1的结构 图7-1 80C51定时器/计数器T0、T1原理结构框图

80C51单片机内部有两个16位的可编程定时/计数器 T0、T1,其组成如图6-1。可编程是指其功能如工作方式、定时时间、量程、启动方式等均可由指令来确定和改变。 有6个8位寄存器用于T0、T1的控制与管理 ,其访问地址依次为8AH~8DH,每个寄存器均可单独访问。 16位的T0、T1寄存器是用于存放定时或计数初值与当前值的,两个特殊功能寄存器 TCON和TMOD 是用于管理与控制定时/计数器 工作的。

7.1.2 定时/计数器的原理 16位的定时/计数器实质上是一个加1计数器,其控制电路受软件控制、切换。通过软件可以设置为4种工作方式(详见6.3节),每种方式都可以用作定时或者计数。不同的工作方式,计数器长度分别为:16位、13位和8位。 当选择定时器工作方式时,对片内振荡器的12分频信号计数,实现定时;当选择计数器工作方式时,对引脚Ti端的事件计数。 当计数溢出时, 标志位TFi置位, 并可以请求中断。

7.2 定时/计数器的控制方法 7.2.1 定时/计数器寄存器 7.2 定时/计数器的控制方法 7.2.1 定时/计数器寄存器 1.工作方式寄存器 TMOD:设置定时器/计数器的工作方式及控制模式, TMOD在SFR的字节地址为89H。 M1 M0 工作方式 功能描述 0 0 方式0 13位计数器 0 1 方式1 16位计数器 1 0 方式2 自动再装入8位计数器 1 1 方式3 定时器0:分成两个8位计数器 定时器1:只能工作在方式0、1、2

2. 定时/计数器控制寄存器TCON 控制寄存器TCON:控制定时器的启、停和定时器的溢出标志。 TCON在SFR的字节地址为88H,可位寻址。 TF1 TR1 TF0 TR0 IE1 IT1 IE0 位7 TF1——定时器1溢出标志。 位6 TR1——定时器1运行控制位。 位5 TF0——定时器0溢出标志。 位4 TR0——定时器0运行控制位。 位3 IE1——外部中断1请求标志。 位2 IT1——外部中断1触发方式选择位。 位1 IE0——外部中断0请求标志。 位0 IT0——外部中断0触发方式选择位。

7.2.2 定时/计数器的初始化与启动 初始化步骤一般如下: 1. 确定工作方式——对TMOD赋值。 2. 预置定时或计数的初值——可直接将初值写入TH0、TL0或TH1、TL1。 3. 根据需要开放定时/计数器的中断——直接对IE寄存器的定时器中断位赋值 。 在对T0和T1初始化后,即可准备启动定时/计数器工作。

7.2.3 定时/计数器初值的确定方法 现假设最大计数值为M,那么各方式下的M值如下: 方式0:M=213=8192 因为定时/计数器是做“加1”计数,并在计满溢出时产生中断,因此初值X可以这样计算: X = M - 计数值 举例说明,如果 80C51时钟频率为6MHz,要求产生1ms的定时。 则…….

7.3 定时器T0、T1的工作方式 通过对M1、M0位的设置, T0可选择4种工作方式,T1可选择3种工作方式。本节将介绍这4种工作方式的结构、特点及工作过程。

方式0和方式1 :结构和工作原理基本相同,只是方式0 为13位计数器方式,方式1 为16位计数器方式。 图7-2 T0(或T1)方式1结构

方式2:计数常数可自动再装入的8位计数器方式。 图7-3 T0(或Tl)方式2结构

方式3:T1作波特率发生器,T0可以构成两个独立的计数器。

图7-5 T0方式3下的T1结构 (a)T1方式1(或方式0) (b) T1方式2

定时器/计数器的复位状态:工作方式0、选择内部启动、计数器停止工作、溢出中断标志清零。 定时器/计数器的初始化:对TMOD赋值确定工作方式 ;预置定时或计数的初值 ;根据需要开放定时器/计数器的中断 ;启动定时/计数器工作。 计数器初值=最大计数值 -要求的计数值 定时时间=(最大计数值 -计数器初值) 机器周期 计数的“飞读”:解决计数器工作过程中,正确读取计数值的问题,避免由于低位计数器的溢出而导致读数的粗大误差。以定时器T0为例: RP: MOV A,TH0 ;读TH0 MOV R0,TL0 ;读TL0 CJNE A,TH0,RP ;比较两次读得的TH0, 不等则重读 MOV R1,A RET

7.4 定时器T0、T1应用举例 例1、用定时器T1定时,完成日历时钟秒、分、时的定时。设晶振频率为12 MHz。 AT89S51单片机在方式1定时时间的最大值TMAX为: TMAX=M×12/fOSC=65536×12/(12×106Hz)=65536μs=65.536ms 显然不能满足1s的定时时间要求,因此需要设置一个软件计数器,对分、时的计数同样通过软件完成。在此采用片内50H、51H、52H、53H单元分别进行秒、分、时以及24h的计数。 可要求T1定时50ms,此时T1的初始值X为: (M-X)×1×10-6=50×10-3 X=65536-50000=15536=3CB0H

汇编语言源程序如下: MOV 50H,#20 ;定时1s循环次数 MOV 51H,#60 ;定时1min循环次数 MOV 52H,#60 ;定时1h循环次数 MOV 53H,#24 ;24h循环次数 MOV TMOD,#10H ;设定时器1为方式1 MOV TH1,#3CH ;赋初值 MOV TL1,#0B0H SETB TR1 ;启动T1 L2: JBC TF1,L1 ;查询计数溢出,当TF1为1,转移到L1,同时将该位清0 SJMP L2

L1: MOV TH1,#3CH;重赋初值 MOV TL1,#0B0H DJNZ 50H,L2 ;未到1s继续循环 MOV 50H,#20 DJNZ 51H,L2 ;未到1min继续循环 MOV 51H,#60 DJNZ 52H,L2 ;未到1h继续循环 MOV 52H,#60 DJNZ 53H,L2 ;未到24h继续循环 MOV 53H,#24 SJMP L2 ;反复循环

C51语言程序如下: #include <REG51.H> //包含51单片机SFR库 #define Sec_data 20 //定义秒计数上限 #define Min_data 60 //定义分计数上限 #define Hou_data 60 //定义1小时计数上限 #define Day_data 24 //定义1天计数上限 unsigned char Second,Minute,Hour,Day; //定义各变量 void main (void) { TMOD = 0x10; //设定时器1为方式1 TH1 = 0x3c; //赋初值 TL1+ = 0xb0; TR1 = 1; //启动T1 for (Day =0;Day<Day_data;Day++) // 天计数循环

for(Hour=0;Hour<Hou_data;Hour++) //时计数循环 { for(Minute=0;Minute<Min_data;Minute++) //分计数循环 for(Second=0;Second<Sec_data;Second++) // 秒计数循环 while(TF1 ==0); TF1 = 0; // 标志位清零 TH1 =0x3c; //重赋初值 TL1 +=0xb0; }

例2、用定时器T0方式2计数,要求每计满100次,将P1.0端取反。。 解:外部计数信号由T0(P3.4)脚引入,每产生1次负跳变计数器加1,由程序查询TF0。方式2具有初值自动重装入功能,初始化后不必再置初值。 初值X=256-100=156D=9CH TH0=TL0=9CH,TMOD=06H 源程序如下: MOVT MOD,#06H;设置T0为方式2计数 MOV TH0,#9CH;赋初值 MOV TL0,#9CH SETB TR0;启动T0 DEL: JBC TF0, REP;查询计数溢出 SJMP DEL REP: CPL P1.0;输出取反

#include <REG51.H> //包含51单片机SFR库 sbit Pout=P1^0 ; //定义输出位 void main (void) {   TMOD = 0x06; //设定时器工作方式 TH0 = 0x9c; //赋初值 TL0 = 0x9c; //赋初值 TR0 = 1; //启动T0 while(1) while(TF0 ==0); //等待定时器时间到 TF0 = 0; //标志位清零 Pout = !Pout; //反相输出 }

7.5 定时/计数器T2 7.5.1 T2的寄存器 1.T2CON控制寄存器 位7 TF2—— T2的溢出中断标志。 EXF2 RCLK TCLK EXEN2 TR2 C/ T2 CP/RL2 位7 TF2—— T2的溢出中断标志。 位6 EXF2—— T2外部中断标志。 位5 RCLK—— 串行口接收时钟选择标志。 位4 TCLK—— 串行口发送时钟选择标志。 位3 EXEN2—— T2的外部允许控制位。 位2 TR2—— T2的计数控制位。 位1 C/—— 定时器或计数器功能选择位。 位0 CP/—— 捕捉或常数重装方式选择位。

2.方式控制寄存器T2MOD 位7~位2 -无作用,可为任意值。 位1 DCEN-T2加1/减1计数允许位。 TF2 EXF2 RCLK TCLK EXEN2 TR2 DCEN T2OE 位7~位2 -无作用,可为任意值。 位1 DCEN-T2加1/减1计数允许位。 位0 T2OE-T2的输出允许位。

7.5.2  定时器T2的工作方式 T2共有6种工作方式,除了可以作为一般的定时/计数外,还增加了4种不同的工作方式,分别为:捕捉方式、常数自动重装入方式、波特率发生器方式和时钟输出方式。