6.3 定时器/计数器的应用 初始化 初始化的内容如下:

Slides:



Advertisements
Similar presentations
5.1 中断的概述 5.2 MCS - 51中断系统 5.3 中断系统的应用
Advertisements

主讲人:刘利 交通大学网络控制课程系列 上海交通大学机电控制研究所 交通大学网络控制课程系列 考试课、专业基础课、必修课
第7章 AT89S51单片机的 串行口 1.
第13章 单片机实用技术举例 13.1 智能化温度仪表的设计 13.2 PID智能控制器的设计 13.3 单片机数字万用表的设计
6 单片机的中断与定时系统 I/O设备必须通过I/O接口与计算机连接。 I/O接口的功能: 1.速度匹配: 锁存数据、传送联络信号。
项目二 中断应用系统设计 本项目学习目标: (1)制作一个单片机控制的彩灯电路。 (2) 理解中断的基本概念;
第5章 中断系统 5.1 中断的概念 5.2 MCS-51单片机的中断流程 5.3 MCS-51的中断响应条件和中断处理
KEIL C单片机设计与项目实践 课程主讲: 孙福成 张小义   王晓静 杨至辉 课件制作: 亢娟娜 王 淏.
本章内容: 中断的概念 MCS-51单片机中断系统 外部事件中断及应用
邵阳学院 信息工程系电子实践教学中心 江世明
第四章 指令系统及汇编语言程序设计.
8051 指令.
單晶片MCS-51 C語言入門實習 第1章 微電腦與單晶片MCS-51架構 作者:董勝源.
第四章 指令系统及汇编语言程序设计.
本章分为四节,主要介绍: 4.1 程序编制的方法和技巧 4.2 源程序的编辑和汇编 4.3 基本程序结构 4.4 常用程序举例.
得技通电子 问题 1 右何者非為假指令 (1) XRL (2) EQU (3) MACRO (4) ORG.
本章小结 C51单片机指令系统概述 C51单片机寻址方式 C51单片机指令系统
单片机原理与应用.
第9章 数模转换器与模数转换器 本章学习目标 了解数模转换器的工作原理及性能指标 掌握模数转换器的应用 掌握数模转换器的应用.
第2章 MCS-51单片机指令系统与汇编语言程序设计
報告者:朱耿育 紀翔舜 組員:詹以群 張永傑 指導老師:梁新潁
复 习 一. 计算机中的数和编码 1. 2,10,16进制数及其之间的转换(整数) 按权展开,除x取余 2
第二部分 微机原理 第4章 汇编语言 程序设计 主讲教师:喻红.
单片机应用技术 项目一 循环彩灯装置 第6讲 指令功能及汇编语言程序设计(一) 《单片机应用技术》精品课程组 湖北职业技术学院机电工程系.
本章内容: 中断的概念 MCS-51单片机中断系统 外部事件中断及应用
第8章 模拟接口 8.1 模拟接口概述 8.2 DAC及其接口 8.3 ADC及其接口.
第二部分 微机原理 第3章 MCS-51的 指令系统 主讲教师:喻红.
一、任务描述 二、任务分析 三、任务演示 四、相关知识 五、任务布置. 一、任务描述 二、任务分析 三、任务演示 四、相关知识 五、任务布置.
第14章 单片机应用系统抗干扰 与可靠性设计 1.
第二部分 微机原理 第8章 单片机的 定时/计数器 主讲教师:喻红.
第6章 MCS - 51单片机内部定时器/ 计数器 及串行接口 6.1 定时器/计数器的结构及工作原理 6.2 方式和控制寄存器
單晶片微電腦控制實習 使用計時中斷作走馬燈 計時器的基礎實習 國立大甲高工 電機科 2018年11月21日
本章分为三节,主要介绍: 6.1 计算机串行通信基础 C51的串行口 6.3 单片机串行口应用举例.
第十一章 复位、时钟和省电方式控制.
第3章 AT89C51指令系统 3.1基本概念内部结构和引脚功能 指令、指令系统、机器代码
逻辑运算类指令 包括与、或、非、异或、清0及移位等共24条;一般不影响PSW中的标志位;助记符有:ANL、ORL、XRL、RL、RLC、RR、RRC、CLR和CPL共9种。 一、逻辑与指令 ANL A,Rn ;A←(A)∧( Rn) ANL A,direct;A←(A)∧(direct)
单片机原理及应用 MCS-51系列单片机的基本硬件结构 MCS-51指令系统 MCS-51单片机的系统扩展与应用.
单片机原理及应用 ——基于Proteus与Keil C 哈工大出版社
第2章 单片机的结构原理与 简单应用 (课时:10学时).
第八章 MCS-51与数码显示器和键盘的接口 一、MCS-51与数码显示器接口 数码显示器是单片机应用产品中最常用的廉价的输 出设备,它由8个发光二极管按一定规律排列而成, 当某一发光二极管导通时,则会被点亮,控制不同 组合的二极管导通,就能显示出各种字符。 1.显示器的结构.
本 章 重 点 单片机的简单I/O扩展 8255A可编程并口芯片 8279可编程键盘/显示器接口芯片 单片机键盘接口技术
单片机原理 单 片 机 单片机接口技术 单片机应用技术.
第七章 定时/计数器.
第八章 数据通信.
第三章 指令系统.
第3章 指令系统及程序设计举例 3.1 指令格式与寻址方式 一、指令格式 1. 指令 操作码 目标操作数,源操作数
第10章 综合实训 课题一 水温控制系统设计 一、实训目的 二、课题要求 熟悉常用温度传感器AD590的特性及接口电路的设计方法;
第8章 MCS-51串行口 8.1 串行口及其通信方式 8.2 IBM-PC系列机与 单片机 的通信技术.
第2章 单片机系统组成原理 2.1 MCS-51单片机组成原理 2.2 单片机复位电路设计 2.3 MCS-51存储器配置
6.1 输入/输出 6.2 CPU与外设数据传送方式 6. 3 MCS-51中断系统 6. 4 中断应用举例
单元五 MCS-51单片机内部资源 5.1 任务九 单片机计数并显示 5.2 任务十 单片机流水灯控制 5.3 任务十一 两台单片机数据互传
本 章 重 点 单片机的结构特点 单片机的存储器特点 I/O端口的特点 CPU时序 课时安排:3个课时.
主要内容 定时/计数器的工作原理模式 定时/计数器的工作方式 定时/计数器的应用
一、任务描述 二、任务分析 三、任务演示 四、相关知识 五、任务布置. 一、任务描述 二、任务分析 三、任务演示 四、相关知识 五、任务布置.
第四章 指令系统及汇编语言程序设计.
第4章 中断技术 一个完整的微机系统是由硬件和软件共同构成的。微机系统的硬件有CPU、存储器和I/O口,外设组成。CPU与存储器之间的信息交换比较简单,而CPU与外设之间进行信息交换之前必须确定外设是否准备好,即选择I/O传送方式。I/O传送方式有4种:无条件、查询、中断和DMA。本章学习中断传送方式的有关内容。
数码管数字时钟电路的设计 1. 系统硬件电路的设计
第3章 MCS-51指令系统 介绍MCS—51系列单片机的寻址方式 介绍MCS—51系列单片机的指令系统
第4章 80C51系列指令系统 教学目的:熟悉80C51系列单片机的寻址方式及 每一种寻址方式对应的寻址空间;掌 握每一条指令功能。
本章内容 MCS-51单片机指令系统的格式 MCS-51单片机寻址方式 指令系统的分析
汽车单片机应用技术 学习情景1: 汽车空调系统的单片机控制 主讲:向楠.
汽车单片机应用技术 学习情景1: 汽车空调系统的单片机控制 主讲:向楠.
四、手工汇编 完成汇编的方法有两种:手工汇编和汇编程序汇编 1.手工汇编步骤 A
单片机原理与应用.
3. 逻辑运算指令 A、简单逻辑操作指令 CLR A. (不影响CY、AC、 OV标志) CPL A
简单芯片扩展I/O接口 8155可编程接口芯片及其使用 键盘及显示器接口设计 A/D和D/A转换接口技术
单片机应用技术 (C语言版) 第3章 MCS-51指令系统及 汇编程序设计
第4章 MCS-51汇编语言程序设计 教学基本要求: (1)、了解MCS-51汇编语言程序设计的特点;
第2章 80C51单片机的硬件结构 教学基本要求: (1)、熟悉单片机的定义、名称、分类方法;
第1章 微型计算机基础.
Presentation transcript:

6.3 定时器/计数器的应用 6.3.1 初始化 初始化的内容如下: 6.3 定时器/计数器的应用 6.3.1 初始化 初始化的内容如下: (1) 根据设计需要先确定定时器/计数器的工作模式及工作方式,然后将相应的控制字送入TMOD寄存器中。

(2) 计算出计数初始值并写入TH0、TL0、TH1、TL1中。 (3) 通过对中断优先级寄存器IP和中断允许寄存器IE的设置,确定计数器的中断优先级和是否开放中断。 (4) 给定时器控制寄存器TCON送命令字,控制定时器/计数器的启动和停止。

6.3.2 初值的计算 定时器/计数器T0、T1不论是工作在计数器模式还是定时器模式下,都是加1计数器,因而写入计数器的初始值和实际计数值并不相同,两者的换算关系如下:设实际计数值为C,计数最大值为M,计数初始值为X,则X=M-C。其中计数最大值在不同工作方式下的值不同,具体如下:

(1) 工作方式0:M=213=8192。 (2) 工作方式1:M=216=65 536。 (3) 工作方式2:M=28=256。 (4) 工作方式3:M=28=256。 这样,在计数器模式和定时器模式下,计数初值都是X=M-C(十六进制数)。 定时器模式下对应的定时时间为 T=C·T机=(M-X)T机 式中,T机为单片机的机器周期(T机为晶振时钟周期的12倍)。

6.3.3 应用举例 [例6.1] 单片机晶振fosc=6 MHz,利用定时器T1定时中断方法产生周期为4 ms的方波,并由P1.0端输出。 时间常数2 ms对应的计数初值X为 T机=12/fosc=(12/6)×10-6 s=2 μs X=M-T/T机=213-2×10-3/(2×10-6)=7192 转化为十六进制为 X=1C18H=11100000011000B

主程序及中断服务程序如下: ORG 0000H AJMP INITZ ;转主程序 NOP ORG 001BH ;T1中断入口 MOV TL1, #18H ;中断服务程序送定时初值 MOV TH1,#0E0H

CPL P1.0 ;R1.0取反 RETI ;中断返回  ORG 0052H INITZ: MOV SP,#15H ;建立堆栈指针 MOV TMOD,#00H ;设置T1工作方式 MOV TL1,#18H ;置T1初值

MOV TH1, #0E0H SETB EA ;CPU开中断 SETB ET1 ;允许T1中断 SETB TR1 ;启动T1 AD1:MOV A,#00H AJMP AD1

[例6.2] 单片机晶振fosc=12 MHZ,利用定时器T0、T1产生周期为200 ms的方波,并由P1.0端输出。 方法1:由要求可知,只要使P1.0每隔100 ms取反一次即得周期为200 ms的方波信号。这样就需要一个100 ms的定时器。

当fosc=12 MHZ时,T0(或T1)在工作方式1下的最大定时时间为65 当fosc=12 MHZ时,T0(或T1)在工作方式1下的最大定时时间为65.536 ms,所以一个定时器不能满足需要,采用T0、T1各定时50 ms,顺序定时的方法可达到100 ms的要求,因而我们选T0、T1为定时器模式,工作在方式1下,启/停控制由TR0、TR1完成。GATE=0,这样TMOD的控制字为11H。对应50 ms计数初值X为 即TL0=TL1=0B0H,TH0=TH1=3CH。

T0、T1顺序定时可采用中断方法实现,也可采用查询方式实现,这里假定CPU不做其它工作,采用查询法编写程序如下: ORG 0052H STI:MOV TMOD,#11H ;设置T0、T1为定时器,方式1工作 AD1:MOV TL0,#0B0H ;送T0初值 MOV TH0,#3CH

SETB TR0 ;启动T0进行50 ms定时 AD2: JBC TF0,AD3 ;查询TF0是否溢出 SJMP AD2 AD3: CLR TR0 ;停止T0定时 CLR TF0 MOV TL1,#0B0H ;送T1定时初值(50 ms) MOV TH1,#3CH

SETB TR1 ;启动T1 AD4:JBC TF1,AD5 STMP AD4 AD5: CLR TR1 ;停止T1 CLR TF1 ;清溢出标志 CPL P1.0 ; P1.0取反 AJMP AD1

方法2:用一个定时器T0(或T1),通过软件控制完成。即将定时器T0定时50 ms,定时器溢出两次,P1.0被取反一次。 ORG 0052H MOV R7, #02H STI: MOV TM0D,#01H ;设置T0、T1为定时器,方式1工作 AD1: MOV TL0,#0B0H ;送T0初值 MOV TH0,#3CH

SETB TR0 ;启动T0进行50 ms定时 AD2: JBC TF0,AD3 ;查询TF0是否溢出 SJMP AD2 AD3:DJNZ R7,AD1 CLR TR0 ;停止T0定时 CPL P1.0 ;P1.0取反 MOV R7,#02H AJMP AD1

[例6.3] 单片机晶振fosc=12 MHZ,利用定时器/计数器测量某一外部脉冲信号频率,要求连续测量五次,取其平均值作为实测值。 主程序及中断服务程序如下: ORG 0000H AJMP MAINT ORG 000BH AJMP INTZ1 ORG 0100H  MAINT: MOV SP,#15H

MOV TMOD,#16H MOV TH0,#0F5H MOV TL0,#0F5H MOV R2, #05H MOV R1, #20H SETB EA SETB ET0 ORL TCON,#50H ;启动T0,T1

AD1: MOV A, R2 JNZ AD2 计算频率值并输出显示 AD2: STMP AD1 ORG 0052H INTZ1: ANL TCON,#0AFH ;停止T0,T1

MOV @R1, TL1 INC R1 MOV @R1,TH1 MOV TL1,#00H MOV TH1,#00H DJNZ R2, L1 RETI L1: ORL TCON,#50H

[例6. 4] 单片机晶振fosc=6 MHz,设定时器T0工作在方式3,利用TL0和TH0两个独立的定时器在P1 [例6.4] 单片机晶振fosc=6 MHz,设定时器T0工作在方式3,利用TL0和TH0两个独立的定时器在P1.0端产生一个占空比为200 μs/400 μs的矩形脉冲波。 根据题意,让TL0和TH0分别定时200 μs和400 μs,采用中断方式交替启动TL0和TH0定时,并对P1.0端交替取反就可实现题中要求。

因fosc=6 MHz,则200 μs定时初值为9CH,400 μs定时初值为38H。TH0的启/停由TR1控制,溢出标志为TF1。主程序和中断服务程序如下: ORG 0000H AJMP ZCXK1 ;转主程序 ORG 000BH AJMP ZD0 ;转TL0中断程序

ORG 001BH AJMP ZD1 ;转TH0中断程序 ORG 0100H ZCXK1: MOV SP,#70H ;置堆栈栈底 MOV TMOD,#03H ;设T0工作方式 MOV TL0,#9CH ;置TL0、TH0初值 MOV TH0,#38H CLR P1.0 ;P1.0 端清零 SETB ET0 ;开T0中断

SETB ET1 ;开T1中断 SETB EA ;开总中断 SETB TR1 ;启动TH0定时开始 DENG1: AJMP DENG1 ;等待中断  ZD0:SETB TR0 ;启动TL0定时 CLR TR1 ;关闭TH0定时 CPL P1.0 ;P1.0取反 MOV TH0,#38H ;重装TH0初值 RETI ;中断返回

ZD1:SETB TR1 ;启动TH0定时 CLR TR0 ;关闭TL0定时 CPL P1.0 ;P1.0取反 MOV TL0,#9CH ;重装TL0初值 RETI ;中断返回