51单片机入门学习笔记——定时器中断实验

本笔记整理自B站教程【普中官方】51单片机手把手教学视频(上)

不是所有的51单片机都有定时器2,一些增强型有

定时器介绍

CPU时序

目录

定时器介绍

CPU时序

预备知识

定时器配置

定时器原理

​编辑 TMOD​编辑

TCON

工作方式

方式0

硬件设计

软件设计


振荡周期:为单片机提供定时信号的振荡源的周期;晶振:12M/11.0592M,可以通过晶振的频率来计算振荡周期(倒数)

状态周期:两个振荡周期为一个状态周期

机器周期:1个机器周期等于6个状态周期,相当于等于12个振荡周期

指令周期:指完成一条指令所占用的全部时间,以机器周期为单位,通常是1~4微秒

常用的是机器周期

预备知识

51单片机有两组定时计数器,既可以实现定时也可以实现计数

定时计数和CPU是独立的

定时器配置

定时器原理

 TMOD

GATE:为0,再通过设置TR0或者TR1来控制定时器0或者定时器1是否开始定时(启动);为1,除了需要设置上述的TR0和TR1,还需要设置INT0或者INT1给高,来启动

C/T:选择是定时还是计数,C是用于计数,高电平有效,T是用于定时,低电平有效

M1,M0:工作方式设置 

其中方式2主要用于一些精确的脉冲发生器,比如串口通信

TCON

外部中断主要是用TCON的低4位,这里不做讲解,定时器主要是用TCON的高4位

TF1:定时器1溢出中断的标志,定时器1溢出是由硬件自动置1,不需要软件设置,也由硬件自动清零,等待下一次的响应,当然也可以由软件置1和清零

TR1:定时器1的运行控制位,为1,定时器1开始工作;为0,停止定时器的工作,这是通过软件来设置的

工作方式

方式0

 T0引脚是P3.4;T1引脚是P3.5

方式1 

 TH0保存重装载的初值,当TL0溢出时,TH0会把这个初值又重新装载到TL0中,这种比较于精确的脉冲信号发生器,比如之前提到的串口通信

 这里以11.0592M晶振为例,先计算机器周期

振荡周期:1 / 11.0592 us

机器周期 = 12 * 振荡周期 = 12 * 1 / 11.0592 us = 1.085us 

如果要让定时器定时1ms,初始值应该怎么设置?(以11.0592M晶振为例)

1ms / 1.085us = 1000 / 1.085 = 921.659 = 922次

65536 - 922 = 64614

64614转换成16进制,为FC66

TL0 = 0x66

TH0 = 0xFC

如果要定时500ms呢?

对于时间比较大的,可以定时10ms,然后在定时器中断函数中用一个变量++,当加到50时,表示定时到了500ms,再产生响应。

范例程序

 

硬件设计

软件设计

具体程序实现可自行查看B站视频20.7-定时器中断实验--软件编程_哔哩哔哩_bilibili 

定时器0的中断号是1

定时器1的中断号是3

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

AoXin_TechJZ.

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值