IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 嵌入式 -> STC89c52单片机定时器配置 -> 正文阅读

[嵌入式]STC89c52单片机定时器配置

定时器配置

在使用定时器时,应该如何配置使其工作?其步骤如下(各步骤顺序可任意):

对 TMOD 赋值,以确定 T0 和 T1 的工作方式,如果使用定时器 0 即对 T0 配置,如果使用定时器 1 即对 T1 配置。
在这里插入图片描述
由于实际应用较多的是方式1和2,且定时器通常用方式1,串口通信常用方式2,所以下面只介绍方式1的详细信息
方式 1 的计数位数是 16 位,由 TL0 作为低 8 位,TH0 作为高 8 位,组成了 16 位加 1 计数器。其结构图如下所示:
在这里插入图片描述
计数初值与计数个数的关系为:X=2∧(16)-N。

根据所要定时的时间计算初值,并将其写入 TH0、TL0 或 TH1、TL1。
这里要用到辅助开发软件
在这里插入图片描述
例如方式一定时一毫秒计算得到fc18,则
在这里插入图片描述
另外也可以用2的十六次方65536减去1000(一毫秒)得到二进制fc18
在这里插入图片描述

如果使用中断,则对 EA 赋值,开放定时器中断。
EA相当于总开关

使 TR0 或 TR1 置位,启动定时/计数器定时或计数。
先介绍一下控制寄存器TCON
TCON 的高 4 位用于控制定时/计数器的启动和中断申请。其格式如下:
在这里插入图片描述
由于低四位用于控制外部中断,这里不详述。

TF1(TCON.7):T1 溢出中断请求标志位。T1 计数溢出时由硬件自动置 TF1 为 1。CPU 响应中断后 TF1 由硬件自动清 0。T1 工作时,CPU 可随时查询 TF1 的状态。所以,TF1 可用作查询测试的标志。TF1 也可以用软件置 1 或清 0,同硬件置 1 或清 0 的效果一样。

TR1(TCON.6):T1 运行控制位。TR1 置 1 时,T1 开始工作;TR1 置 0 时, T1 停止工作。TR1 由软件置 1 或清 0。所以,用软件可控制定时/计数器的启动与停止。

TF0(TCON.5):T0 溢出中断请求标志位,其功能与 TF1 类同。

TR0(TCON.4):T0 运行控制位,其功能与 TR1 类同
最后附上代码用于实现定时器功能(灯以一秒的时间间隔闪烁)

#include "reg51.h"   //此文件中定义了单片机的一些特殊功能寄存器
#include "intrins.h"

typedef unsigned int u16;  //对数据类型进行声明定义
typedef unsigned char u8;

sbit led=P2^0;

void Timer0Init()
{
  TMOD|=0X01;//选择为定时器 0 模式,工作方式 1,仅用 TR0 打开启动
  TH0=0XFC;//给定时器赋初值,定时 1ms  64536=FC18	
  TL0=0X18;	
  ET0=1;//打开定时器 0 中断允许	
  EA=1;//打开总中断	
  TR0=1;//打开定时器
}

void main()
{  
Timer0Init(); //定时器 0 初始化	while(1);
}

void Timer0() interrupt 1
{
  static u16 i;	
  TH0=0XFC; //给定时器赋初值,定时 1ms	
  TL0=0X18;	
  i++;	
  if(i==1000)	
  {	  
  i=0;		
  led=~led;	
  }
}
  嵌入式 最新文章
基于高精度单片机开发红外测温仪方案
89C51单片机与DAC0832
基于51单片机宠物自动投料喂食器控制系统仿
《痞子衡嵌入式半月刊》 第 68 期
多思计组实验实验七 简单模型机实验
CSC7720
启明智显分享| ESP32学习笔记参考--PWM(脉冲
STM32初探
STM32 总结
【STM32】CubeMX例程四---定时器中断(附工
上一篇文章      下一篇文章      查看所有文章
加:2021-08-10 13:34:55  更:2021-08-10 13:35:32 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年5日历 -2024/5/12 0:55:09-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码