51单片机-定时器中断

embedded/2025/2/25 5:09:28/

1、使用定时器,该做哪些工作

初始化程序应完成如下工作:

  • 对TMOD赋值,以确定T0和T1的工作方式。
  • 计算初值,并将其写入TH0、TL0或TH1、TL1。
  • 中断方式时,则对EA赋值,开发定时器中断。
  • 使用TR0或TR1置为,启动定时/计数器定时或计数。
#include "reg52.h"typedef unsigned char u8;
typedef unsigned int u16;sbit led = P2^0;
/**初始定时器定时1ms=1000us2^16-1000+1,0xFC18*/
void Timer0Init()
{TMOD |= 0X01; // 0000 0001TH0=0XFC;TL0=0X18;ET0=1; // IE寄存器打开T0的中断EA=1; //打开总中断TR0=1; //开始定时器中断
}void main()
{while(1){Timer0Init();while(1){}}
}void Time0() interrupt 1
{static u16 i;// 方式一:需要重新装载,方式二:不需要TH0=0XFC;TL0=0X18;i++; //每次经过1ms,进行累加if(i==1000){  //1si=0;  //就要清零,防止溢出led=~led;}
}

http://www.ppmy.cn/embedded/164971.html

相关文章

JavaScript如何深拷贝一个对象或数组?JSON.parse (JSON.stringify ()) 这种方法有什么局限性?

如何深拷贝一个对象或数组 啥是深拷贝 深拷贝就像是给一个东西(对象或者数组)做了个完全一样的“克隆体”。这个“克隆体”和原来的东西没有任何关联,你对“克隆体”做任何修改,都不会影响到原来的东西,反过来也一样…

PHP MySQL 读取数据

PHP MySQL 读取数据 引言 在Web开发中,PHP和MySQL是两个常用的技术。PHP是一种服务器端脚本语言,而MySQL是一个关系型数据库管理系统。两者结合,可以构建强大的动态网站。本文将详细介绍如何使用PHP和MySQL进行数据的读取操作。 PHP与MySQ…

git@ccc.coding.net: Permission denied (publickey).

在使用composer update时发生了以下错误 gitccc.coding.net: Permission denied (publickey). 这个错误通常是由于git没有通过ssh密钥认证,无法连接到远程仓库。 需要对ssh做一下配置。 检查本地是否有ssh密钥存在 ls -al ~/.ssh如果有id_rsa相关的内容&#xff…

【Python爬虫(46)】解锁分布式爬虫:实时数据处理的奥秘

【Python爬虫】专栏简介:本专栏是 Python 爬虫领域的集大成之作,共 100 章节。从 Python 基础语法、爬虫入门知识讲起,深入探讨反爬虫、多线程、分布式等进阶技术。以大量实例为支撑,覆盖网页、图片、音频等各类数据爬取&#xff…

Docker 的安全配置与优化(一)

引言 在当今快速发展的云计算和 DevOps 时代,Docker 作为容器化技术的佼佼者,已经成为现代开发和运维的基石。它以其独特的优势,如环境隔离、快速部署、资源高效利用等,极大地改变了软件交付和运行的方式。在微服务架构中&#x…

Deepin(Linux)设置开机自动启动 MySQL

要在系统启动时自动启动 MySQL,可以通过配置 systemd 来实现。由于已经完成了 MySQL 的安装并且能够启动 MySQL 服务,接下来我们将创建一个 systemd 服务单元文件,让 MySQL 在系统启动时自动启动。 1. 创建 systemd 服务文件 首先&#xff…

设备唯一ID获取,支持安卓/iOS/鸿蒙Next(uni-device-id)UTS插件

设备唯一ID获取 支持安卓/iOS/鸿蒙(uni-device-id)UTS插件 介绍 获取设备唯一ID、设备唯一标识,支持安卓(AndroidId/OAID/IMEI/MEID/MacAddress/Serial/UUID/设备基础信息),iOS(Identifier/UUID),鸿蒙&am…

C++:pthread的使用

pthread 简介 pthread 是 POSIX 线程(POSIX Threads)的简称,它是 POSIX 标准中定义的线程接口规范。pthread 库提供了一系列函数,用于创建、销毁、同步和管理线程。在类 Unix 系统(如 Linux、macOS)中&…