当前课程知识点:单片机原理及应用 >  6 中断与定时系统 >  6.7 定时计数器工作方式及程序编写 >  定时计数器工作方式及程序编写

返回《单片机原理及应用》慕课在线视频课程列表

定时计数器工作方式及程序编写在线视频

定时计数器工作方式及程序编写

下一节:定时器举例

返回《单片机原理及应用》慕课在线视频列表

定时计数器工作方式及程序编写课程教案、知识点、字幕

同学

你好

今天我们将重点地介绍一下

51单片机中定时计数器的四种工作方式

我们前面在介绍和定时计数器

相关的寄存器的时候也说过

在相关寄存器中

可以通过相关的位的设定

来选择设定定时计数器的工作方式

我们的51单片机内部的定时计数器

有四种工作方式

由方式选择位M1 M0来设定

我们先来看一看方式0

方式零对应的M1 M0就等于00

这种方式定时计数器为13位的定时计数器

THx8八位和TLx的低五位

就组成了13位的加1计数器

其逻辑结构图如这个图中所示

如果功能为计数器

请注意此时的计数脉冲

就从Tx引脚引入

那么C/T开关位应设为1

使该开关向下能够计量外部脉冲的个数

计量的个数为1到8192

如果说计数器的功能

如果设为定时器

要注意此时的计数脉冲

就是从内部时钟振荡器经12分屏后引入

这时候C/T开关位应该设为0

使该开关向上

假设此时系统的机器周期如果为一微秒

则可定时的时间就是一微秒到8.19毫秒

那么注意一下我们前面说过

一个机器周期等于12个时钟周期

同学们注意一下换算的关系

我们下面再来看一看方式一

方式一要把M1M0设为01

这种方式定时计数器

为16位的定时计数器

由THx的8位和TLx8位

共同组成了一个16位的加1计数器

其逻辑结构也是同学们可以看一下

如这个图所示

如果说功能是设为计数器

那么注意此时的计数脉冲也是从Tx引脚引入

那么C/T开关也应设为1

使该开关向下能够计量外部脉冲的个数

是一到65536

如果说我们的功能选择的是定时器

这个时候注意一下此时的计数脉冲

就是从内部时钟振荡器经12分屏后引入

这个时候C/T开关应该设为0

使该开关向上

假设此时的机器周期也设为1微秒

则可定时的时间就是1微秒到65.54毫秒

也是一样

我们说过一个机器周期是等于12个时钟周期

此外定时计数器

还有工作方式二和方式三

其功能结构类同我们这里面就不过多介绍

同学们可以自行的下去之后

看一些相关的资料进行学习

当我们掌握了51单片机

内部定时计数器的功能后

如果说你想在实际应用系统中

应用该定时计数器

我们还需要在程序中

对定时计数器进行初始化的编程

使用定时计数器工作之前

应先把方式字写入到

相关的控制寄存器中

要确定好定时器工作方式

初始化编程的格式我们这里面也列了出来

首先用MOV TMOD , #方式字这个指令

来选择定时计数器的工作方式

然后用MOV THx ,# 常数

和MOV TLx , #常数指令

来装入定时计数器x的时间常数

再用SETB EA和SETB ETx指令

来设定定时计数器X的中断

当然如果你不用中断方式来处理定时计数器

则可不写这两条中断指令

最后用SETB TRx来启动定时计数器x

了解了如何在这个程序中初始化

并启动定时计数器后

我们再来看一看

当定时时间到或者计数个数到而产生的

定时计数器溢出的时候

在程序中应该如何来处理这个溢出事件

处理溢出的方法有两种

一种是查询的方式

一种是中断的方式

查询的方式是先查询定时计数器溢出标志

再进行溢出处理

具体程序格式我们这边也给了出来

其核心的指令就是L0: JBC TFx , L1的

判位清零转移指令

我们利用该指令可以检测定时计数器溢出标志

你可根据这个程序的注释

仔细地阅读该段程序

掌握一下查询方式

处理定时计数器溢出事件的内涵

而中断方式比较简单

首先我们看这个程序

首先在主程序初始化中要开

定时计数器中断并启动它

而溢出事件发生时

单片机会自动的暂停主程序

转到定时计数器的中断服务程序入口处

去执行相关的中断服务程序

我们前面讲过

定时计数器0的中断服务程序入口地址为000BH

而定时计数器1的入口地址为001BH

一般来说

我们在这些入口处会放一条转移指令

通过该转移指令转移到真正的

中断服务程序处

去执行相关的中断服务程序

PPT中我们也给出了中断方式的程序结构

同学们可以根据程序的注释

仔细的阅读该段程序

掌握中断方式

处理定时器溢出事件的这个程序的精髓

好的

今天我们就主要介绍了一下

定时计数器的初始化以及它的相关程序的编写

今天的课就到这里

同学们再见

单片机原理及应用课程列表:

1 单片机系统概述

-1.1 单片机的名称

--单片机的名称

-1.2 单片机的相关概念

--单片机的相关概念

-1.3 单片机的设计语言及软件

--单片机的设计语言及软件

-1.4 单片机的发展

--单片机的发展

-1.5单片机的应用

--单片机的应用

-1.6 第一单元作业

2 单片机的硬件结构

-2.1 单片机的结构框图

--单片机的结构框图

-2.2 80C51内部结构

--80C51内部结构

-2.3 信号引脚

--信号引脚

-2.4 内部数据存储器RAM

--内部数据存储器RAM

-2.5 特殊功能寄存器

--特殊功能寄存器

-2.6 堆栈

--堆栈

-2.7 内部程序存储器ROM

--内部程序存储器ROM

-2.8 存储器的结构特点

--存储器的结构特点

-2.9 并行输入输出接口电路

--并行输入输出接口电路

-2.10 并口功能与时序

--并口功能与时序

-2.11 工作方式

--工作方式

-2.12 最小应用系统

-- 最小应用系统

-2.13 第二单元作业

3 指令系统

-3.1 指令格式

--指令格式

-3.2 立即寻址与直接寻址

--立即寻址与直接寻址

-3.3 寄存器寻址与寄存器间接寻址

--寄存器寻址与寄存器间接寻址

-3.4 变址间接寻址与位寻址

--变址间接寻址与位寻址

-3.5 内部RAM传送指令

--内部RAM传送指令

-3.6 外部RAM传送指令

--外部RAM传送指令

-3.7 ROM传送指令

--ROM传送指令

-3.8 交换指令

--交换指令

-3.9 堆栈操作指令

--堆栈操作指令

-3.10 传送类指令习题讲解

--传送类指令习题讲解

-3.11 算术运算类指令特点

--算术运算类指令特点

-3.12 加法指令

--加法指令

-3.13 加法习题、减法和乘除指令

--加法习题、减法和乘除指令

-3.14 逻辑运算指令

--逻辑运算指令

-3.15 布尔变量操作指令

--布尔变量操作指令

-3.16 无条件转移指令

--无条件转移指令

-3.17 条件转移指令

--条件转移指令

-3.18 循环转移指令

--循环转移指令

-3.19 子程序相关指令

--子程序相关指令

-3.20 并口访问指令及指令小结

--并口访问指令及指令小结

-3.21 第三单元作业

4 汇编语言程序设计

-4.1 汇编程序约定

--汇编程序约定

-4.2 宏指令

--宏指令

-4.3 汇编控制指令

--汇编控制指令

-4.4 汇编语言程序设计步骤

--汇编语言程序设计步骤

-4.5 顺序程序举例

-- 顺序程序举例

-4.6 单重分支结构

--单重分支结构

-4.7 多重分支结构

--多重分支结构

-4.8 单重循环结构

--单重循环结构

-4.9 计数控制循环程序

--计数控制循环程序

-4.10 特征控制循环程序

-- 特征控制循环程序

-4.11 多重循环程序

--多重循环程序

-4.12 子程序的概念

--子程序的概念

-4.13 子程序设计注意事项

--子程序设计注意事项

-4.14 子程序举例

--子程序举例

-4.15 第四单元作业

5 单片机存储器扩展

-5.1 系统扩展

--系统扩展

-5.2 51单片机扩展方法

--51单片机扩展方法

-5.3 存储器单元位数扩充方法

--存储器单元位数扩充方法

-5.4 存储器容量单元扩充方法

--存储器容量单元扩充方法

-5.5 译码线选法

--译码线选法

-5.6 程序存储器的类型

--程序存储器的类型

-5.7 程序存储器的扩展

--程序存储器的扩展

-5.8 数据存储器的扩展

--数据存储器的扩展

-5.9 存储器综合扩展

--存储器综合扩展

-5.10 单片机存储器系统的特点

-- 单片机存储器系统的特点

-5.11 第五单元作业

6 中断与定时系统

-6.1 中断技术

--中断技术

-6.2 中断优先级及中断系统内部结构

--中断优先级及中断系统内部结构

-6.3 中断控制寄存器及中断响应过程

--中断控制寄存器及中断响应过程

-6.4 中断请求的撤消

--中断请求的撤消

-6.5 外部中断举例

--外部中断举例

-6.6 定时器/计数器

--定时器/计数器

-6.7 定时计数器工作方式及程序编写

--定时计数器工作方式及程序编写

-6.8 定时器举例

--定时器举例

-6.9 第六单元作业

7 I/O扩展及应用

-7.1 并行接口

-- 并行接口

-7.2 并口举例

--并口举例

-7.3 并口扩展芯片

--并口扩展芯片

-7.4 8155连接方式及编程

--8155连接方式及编程

-7.5 键盘接口技术

--键盘接口技术

-7.6 按键处理程序及举例

--按键处理程序及举例

-7.7 键盘扫描子程序

-- 键盘扫描子程序

-7.8 显示接口技术

--显示接口技术

-7.9 多位字符静态显示

--多位字符静态显示

-7.10 多位字符动态显示

--多位字符动态显示

-7.11 第七单元作业

8 单片机实验

-8.1 流水灯控制系统设计

--html

-8.2 数码管显示系统设计

--html

-8.3 按键控制系统设计

--html

-8.4 中断控制系统设计

--html

-8.5 定时计数器系统设计

--html

-8.6 串口通信系统设计

--html

-8.7 汉字显示系统设计

--html

-8.8 单片机烧录方法

--单片机烧录方法

-8.9 第八章作业-作业

定时计数器工作方式及程序编写笔记与讨论

也许你还感兴趣的课程:

© 柠檬大学-慕课导航 课程版权归原始院校所有,
本网站仅通过互联网进行慕课课程索引,不提供在线课程学习和视频,请同学们点击报名到课程提供网站进行学习。