1 / 13

第七章 定时器 / 计数器 7 . 1 概述 实现定时一般有三种方法: l 利用软件实现(延时程序) ; 优点: 简单,控制方便; 缺点 : CPU 效率低。

第七章 定时器 / 计数器 7 . 1 概述 实现定时一般有三种方法: l 利用软件实现(延时程序) ; 优点: 简单,控制方便; 缺点 : CPU 效率低。 l 硬件实现,专门设计一个单稳态定时器: 优点: CPU 效率高; 缺点: 修改参数麻烦。 l 利用计数器实现. 计数器. 输入脉冲. 预置数. 1us. 8 位. 256us. 溢出. 计算机一般利用第三种方法实现. 机器周期. T0. 片内计数器. 外来脉冲. 单片机. 8051 内部设有两个 16 位的定时器 / 计数器,可用软件控制。. 定时器 : 对机器周期计数,

shlomo
Download Presentation

第七章 定时器 / 计数器 7 . 1 概述 实现定时一般有三种方法: l 利用软件实现(延时程序) ; 优点: 简单,控制方便; 缺点 : CPU 效率低。

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 第七章 定时器/计数器 7.1概述 实现定时一般有三种方法: l利用软件实现(延时程序); 优点:简单,控制方便;缺点:CPU效率低。 l硬件实现,专门设计一个单稳态定时器: 优点:CPU效率高;缺点:修改参数麻烦。 l利用计数器实现 计数器 输入脉冲 预置数 1us 8位 256us 溢出 计算机一般利用第三种方法实现

  2. 机器周期 T0 片内计数器 外来脉冲 单片机 8051内部设有两个16位的定时器/计数器,可用软件控制。 定时器:对机器周期计数, 每过一个机器周期,计数器内容加1 ; 计数器:对外来脉冲进行计数, T0、T1引脚上从高电平到低电平跳变时,计数器内容加1。

  3. 7.2组成和工作方式 一、组成 1、定时器0由TH0(84H)和TL0(8AH)计数器构成; 2、定时器1由TH1(8DH)和TL1(8BH)计数器构成; 3、TMOD定时器方式控制字(89H); 4、TCON定时器控制字。

  4. 二、控制定时器的特殊功能寄存器 1、TMOD: M1 M0工作方式选择: 0 0:方式0,13位定时器/计数器 0 1:方式1,16定时器/计数器 1 0:方式2,8位自动重装定时器/计数器 1 1:方式3,定时器0的TL0是一个8位的定时器/计数器,TH0是一个8位的定时器,定时器1停止工作方式3(T1可工作于方式0、1)

  5. C/T:定时器/计数器选择: “1”:计数器 “0”:定时器 GATE:选通门控制信号: “1”:由TRx和引脚INTx共同控制启动 “0”:仅由控制位TRx启动

  6. 2.TCON定时器/计数器控制寄存器 TFx:定时器/计数器溢出标志 当定时器溢出时,硬件电路置TFx为 “1”,响应中断时硬件自动复位TFx。 TRx:定时器/计数器控制位 “1”:启动; “0”:停止。

  7. 三、定时器方式 1、方式0M1 M0 = 00时为方式0,13位计数器。

  8. 2、方式1 M1M0=01,16位定时器/计数器,其它的同方式0。

  9. 3、方式2 M1M0=10,自动重装常数的8位定时器/计数器。TLx作为8位计数器,THx作为8位重装初值的寄存器。

  10. 例1:从P1.0引脚上输出周期为2ms的方波(时钟为6M) 用T0的方式1实现,16位,初值,程序: ORG 000BH AJMP INTT0 ORG 1000H MAIN: MOV TMOD, #01H MOV TL0, #0CH MOV TH0, #0FEH SETB TR0 SETB ET0 SETB EA SELF: AJMP SELF ORG 2000H INTT0: MOV TL0, #0CH MOV TH0, #0FEH CPL P1.0 RETI

  11. 外部中断源0 INT0 INT1 外部中断源1 外部中断源2 8051 例2:将T0作为外部中断用。 复习1 复习2 T0工作于方式2。初始化程序: MOV TMOD, #H MOV TL0 , #H MOV TH0, #H SETB ET0 SETB EA SETB TR0 T0 P3.4

  12. 例3:测试P3.3(INT1)上正脉冲宽度。 当GATE=1时计数器受TRx和INTx同时控制。

  13. ORG 1000H MAIN:MOV TMOD, #90H MOV TL1, #00H MOV TH1, #00H LOOP0:JB P3.3, LOOP0 SETB TR1 LOOP1:JNB P3.3, LOOP1 LOOP2:JB P3.3, LOOP2 CLR TR1 MOV R0, #BUF MOV A, TL1 MOV @R0, A INC R0 MOV A, TH1 MOV @R0, A SELF: AJMP SELF 问:1、用P1.0口能否测试? 2、如何测矩形波脉宽和周期?

More Related