51单片机学习笔记6

您所在的位置:网站首页 单片机定时器功能 51单片机学习笔记6

51单片机学习笔记6

2024-07-11 19:19:27| 来源: 网络整理| 查看: 265

定时器中断属于51单片机3种中断类型其中一种,51单片机具有2个定时器T0和T1(定时器0、定时器1),都需要通过寄存器来配置

定时器中断 1.引脚复用2.定时器配置1.定时器/计数器控制寄存器TCON2.定时器/计数器工作模式寄存器TMOD 3.中断号和中断类型4.定时器中断编程

1.引脚复用

通过原理图可以发现定时器0(T0)和定时器1(T1)是P3.4引脚和P3.5引脚的复用功能,当将这两个引脚配置为定时器功能时,引脚外接的传感器(模块)将不能正常使用,即引脚同一时间只能作为一个功能使用(普通I/O或复用功能) 在这里插入图片描述T0、T1是两个16位定时器/计数器,每经过1个机器周期内部的16位计数寄存器的值加1,当计数器装满时会溢出,在定时模式时单次最大的定时时间是 65535*1.085us 的时间(单位us)

2.定时器配置

定时器0配置需要用到的寄存器(TCON、TMOD、TL0、TH0) 在这里插入图片描述

1.定时器/计数器控制寄存器TCON

TCON为定时器/计数器T0、T1的控制寄存器,同时也锁存T0、T1溢出中断源和外部请求中断源等,TCON格式如下 在这里插入图片描述 TCON高4位是定时器/计数器T0、T1的溢出标志位和运行控制位,低4位是外部中断0、外部中断1触发方式控制位和外部中断使能位

2.定时器/计数器工作模式寄存器TMOD

在这里插入图片描述

3.中断号和中断类型

51单片机有3种中断类型,包括定时器中断、外部中断和串口中断,每个中断都有自己对应的中断号,如下

中断源默认中断级别中断号INT0(外部中断0)0(最高)interrupt 0T0(定时器中断0)1interrupt 1INT1(外部中断1)2interrupt 2T1(定时器1中断)3interrupt 3TX/RX(串口中断)4interrupt 4

其中定时器0对应的中断号是 interrupt 1

4.定时器中断编程

定时器0初始话参考代码如下

void Timer0Init() { TMOD |= 0x01; //配置定时器0为16位定时器,TH0、TL0全用 TH0 = (65536 - 1000)/256; //1000us定时,即1毫秒溢出产生中断 TL0 = (65536 - 1000)%256; //1000us定时,即1毫秒溢出产生中断 ET0 = 1; //开启定时器0中断 EA = 1; //开启全局中断 TR0 = 1; //定时器0开始计数 }

大致说说 TMOD |= 0x01 配置的几个位 在这里插入图片描述

TMOD |= 0x01 0x01 = 0000 0001 定时器1不做配置 TMOD 高4位配置为0 低4位配置定时器0 = 0001 GATE = 0 打开定时器/计数器0 C/T = 0 (置0作为定时器,置1作为计数器) M1 = 0、M0 = 1 配置16位定时器/计数器,TL0、TH0全用

定时器0初始化后编写定时器0中断服务函数,如下函数名可自定义,需在函数末尾加上中断号

unsigned int count = 0; void Timer0() interrupt 1 { //每次产生中断后初始化定时器初值 - 1毫秒产生1次中断 TH0 = (65536 - 1000)/256; TL0 = (65536 - 1000)%256; //200毫秒执行一次操作 count++; if(count == 200) { P1 = ~P1; count = 0; } }

完整代码

#inckude void Timer0Init() { TMOD |= 0x01; //配置定时器0为16位定时器,TH0、TL0全用 TH0 = (65536 - 1000)/256; //1000us定时,即1毫秒溢出产生中断 TL0 = (65536 - 1000)%256; //1000us定时,即1毫秒溢出产生中断 ET0 = 1; //开启定时器0中断 EA = 1; //开启全局中断 TR0 = 1; //定时器0开始计数 } void main() { P1 = 0xff; Timer0Init(); while(1); } unsigned int count = 0; void Timer0() interrupt 1 { //每次产生中断后初始化定时器初值 - 1毫秒产生1次中断 TH0 = (65536 - 1000)/256; TL0 = (65536 - 1000)%256; //200毫秒执行一次P1电平反转 count++; if(count == 200) { P1 = ~P1; count = 0; } }


【本文地址】

公司简介

联系我们

今日新闻


点击排行

实验室常用的仪器、试剂和
说到实验室常用到的东西,主要就分为仪器、试剂和耗
不用再找了,全球10大实验
01、赛默飞世尔科技(热电)Thermo Fisher Scientif
三代水柜的量产巅峰T-72坦
作者:寞寒最近,西边闹腾挺大,本来小寞以为忙完这
通风柜跟实验室通风系统有
说到通风柜跟实验室通风,不少人都纠结二者到底是不
集消毒杀菌、烘干收纳为一
厨房是家里细菌较多的地方,潮湿的环境、没有完全密
实验室设备之全钢实验台如
全钢实验台是实验室家具中较为重要的家具之一,很多

推荐新闻


图片新闻

实验室药品柜的特性有哪些
实验室药品柜是实验室家具的重要组成部分之一,主要
小学科学实验中有哪些教学
计算机 计算器 一般 打孔器 打气筒 仪器车 显微镜
实验室各种仪器原理动图讲
1.紫外分光光谱UV分析原理:吸收紫外光能量,引起分
高中化学常见仪器及实验装
1、可加热仪器:2、计量仪器:(1)仪器A的名称:量
微生物操作主要设备和器具
今天盘点一下微生物操作主要设备和器具,别嫌我啰嗦
浅谈通风柜使用基本常识
 众所周知,通风柜功能中最主要的就是排气功能。在

专题文章

    CopyRight 2018-2019 实验室设备网 版权所有 win10的实时保护怎么永久关闭