4定时器计数器_第1页
4定时器计数器_第2页
4定时器计数器_第3页
4定时器计数器_第4页
4定时器计数器_第5页
已阅读5页,还剩8页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

定时器定时器 计数器计数器 1 定时器 定时器 T1 和和 T0 是单片机内相互独立的两个资源 是单片机内相互独立的两个资源 2 定时器 定时器 T1 有两个加法计数器 分别是有两个加法计数器 分别是 TH1 和和 TL1 定时器 定时器 T0 有两个有两个 加法计数器 分别是加法计数器 分别是 TH0 和和 TL0 3 定时器的工作原理 定时器的工作原理 1 必须有可参考的基准时钟信号 即依靠晶振产生的时钟周期 必须有可参考的基准时钟信号 即依靠晶振产生的时钟周期 2 通过程序向定时器的加法计数器 通过程序向定时器的加法计数器 THx 和和 TLx 写入一个初值写入一个初值 X 3 累加器在机器周期作用下进行累加 每个机器周期 其数值加 累加器在机器周期作用下进行累加 每个机器周期 其数值加 1 4 当计数器由初值 当计数器由初值 X 累加到全累加到全 1 然后再累加一次便会变成全 然后再累加一次便会变成全 0 并且 并且 产生溢出 此时累加的总次数为产生溢出 此时累加的总次数为 N 次 次 5 这个溢出会使定时器的溢出标志位 这个溢出会使定时器的溢出标志位 TFx 由硬件自动设置为由硬件自动设置为 1 即 即 TFx 1 从而产生定时事件 该事件需要被 从而产生定时事件 该事件需要被 CPU 处理 处理 6 定时器累加 定时器累加 N 次所用的时间也就是我们定时的时间次所用的时间也就是我们定时的时间 T 7 CPU 对定时事件的处理有两种方式 一种是查询方式 一种是中断对定时事件的处理有两种方式 一种是查询方式 一种是中断 方式 方式 4 初值 初值 X 的计算的计算 1 应用中 都是根据需要定时的时间应用中 都是根据需要定时的时间 T 计算计数值计算计数值 N 再由 再由 N 计算等计算等 到初值到初值 X 用举例方式讲解 用举例方式讲解 X 的计算方法 的计算方法 2 假设 系统的时钟频率为假设 系统的时钟频率为 12MHz 12 106 那么每秒钟一共有 那么每秒钟一共有 106 个时钟周期 即定时器的加法累加器每秒钟累加个时钟周期 即定时器的加法累加器每秒钟累加 106次 次 3 如果定时为如果定时为 0 005 秒 那么在秒 那么在 0 005 秒之内 定时器一共累加的次数秒之内 定时器一共累加的次数 为 为 N 106次次 0 005 5000 4 那么 定时器的初值那么 定时器的初值 X 5000 满值满值 产生溢出产生溢出 定时事件发生定时事件发生 TFx 1 5 所以所以 X 满值满值 计数值计数值 5000 因此 因此 X 满值满值 计数值计数值 N 公式展开后 公式展开后 X 满值满值 系统时钟频率系统时钟频率 12 定时时间定时时间 T 5 定时器的工作方式一用有定时器的工作方式一用有 4 种种 方式方式 0 13 位的定时器位的定时器 计数器计数器 方式方式 1 16 位的定时器位的定时器 计数器计数器 方式方式 2 8 位的初值自动重装载定时器位的初值自动重装载定时器 计数器计数器 方式方式 3 两个两个 8 位的定时器位的定时器 计数器 只有计数器 只有 T0 有 有 6 如果设置定时器的工作方式 那么对 如果设置定时器的工作方式 那么对 TMOD 寄存器操作寄存器操作 7 定时器的启动控制位 定时器的启动控制位 TRx 和标志位和标志位 TFx 都是都是 TCON 寄存器中的控制寄存器中的控制 位或状态位位或状态位 8 设写入定时器的初值为设写入定时器的初值为 X 那么在定时器各种方式下 那么在定时器各种方式下 X 如何装载到如何装载到 初值寄存器中 初值寄存器中 方式方式 0 13 位 位 THx X 32 TLx X 32 方式方式 1 16 位 位 THx X 256 TLx X 256 方式方式 2 8 位自动重装载 位自动重装载 THx TLx X 9 如何确定使用定时器的哪种工作方式 如何确定使用定时器的哪种工作方式 选择的依据 根据计数值选择的依据 根据计数值 N 来选定工作方式 原则是来选定工作方式 原则是 N 满值 满值 10 定时器每种工作方式下 初值的范围分别是多少 定时器每种工作方式下 初值的范围分别是多少 范围是 范围是 0 满值 满值 1 方式方式 0 13 位 位 0 8191 方式方式 1 16 位 位 0 65535 方式方式 2 8 位自动重装载 位自动重装载 0 255 11 如何进行定时器的初始化操作 如何进行定时器的初始化操作 1 必须根据要求选择方式 确定方式控制字 写入方式控制寄存器 必须根据要求选择方式 确定方式控制字 写入方式控制寄存器 TMOD 2 必须根据要求计算定时 必须根据要求计算定时 计数器的计数值 再由计数值求得初值 计数器的计数值 再由计数值求得初值 写入初值寄存器写入初值寄存器 TH0 TL0 TH1 TL1 3 可以根据需要开放定时 可以根据需要开放定时 计数器中断 后面须编写中断服务程序 计数器中断 后面须编写中断服务程序 置置 EA 1 ET0 ET1 1 4 必须设置定时 必须设置定时 计数器控制寄存器计数器控制寄存器 TCON 的值 启动定时的值 启动定时 计数器计数器 开始工作 开始工作 TR0 TR1 1 12 简答题 设晶振频率为 简答题 设晶振频率为 12MHz 如果定时时间为 如果定时时间为 0 001 秒 并且选择秒 并且选择 定时器定时器 T0 工作 那么在工作 那么在 13 位工作方式和位工作方式和 16 位工作方式下 位工作方式下 TH0 和和 TL0 寄存器的值分别应该是多少 寄存器的值分别应该是多少 答 计数值答 计数值 N 12 106 12 0 001 1000 13 位方式下 位方式下 计数初值计数初值 X 8192 1000 7192 TH0 7192 32 TL0 7192 32 16 位方式下 位方式下 计数初值计数初值 X 65536 1000 65436 TH0 65436 256 TL0 65436 256 13 按以下要求编程定时器的初始化程序 设晶振频率为 按以下要求编程定时器的初始化程序 设晶振频率为 12MHz 如果 如果 定时时间为定时时间为 0 001 秒 并且选择定时器秒 并且选择定时器 T1 工作在方式一 工作在方式一 16 位 下 位 下 启用定时器中断 启用定时器中断 TMOD 0 x10 设设 T1 定工作方式定工作方式 1 TL1 65536 1000 256 TH1 65536 1000 256 写入初始值写入初始值 TR1 1 EA 1 ET1 1 14 简述 简述 MCS 51 单片机内部的定时单片机内部的定时 计数器如何实现定时功能的计数器如何实现定时功能的 1 定时器内部的计数器在机器周期作用下进行累加 每个机器周期 定时器内部的计数器在机器周期作用下进行累加 每个机器周期 其数值加其数值加 1 2 计数器由初值 计数器由初值 X 累加到全累加到全 1 然后再累加一次便会变成全 然后再累加一次便会变成全 0 并且产 并且产 生溢出 此时累加的总次数为生溢出 此时累加的总次数为 N 次 次 3 这个溢出会使定时器的溢出标志位 这个溢出会使定时器的溢出标志位 TFx 由硬件自动设置为由硬件自动设置为 1 即 即 TFx 1 从而产生定时事件 该事件需要被 从而产生定时事件 该事件需要被 CPU 处理 处理 4 定时器累加 定时器累加 N 次所用的时间也就是我们定时的时间次所用的时间也就是我们定时的时间 T 15 练习 练习 1 关于关于 51 单片机的定时器资源描述有误的一项是单片机的定时器资源描述有误的一项是 A 51 单片机内部一共包含两个独立的定时器资源单片机内部一共包含两个独立的定时器资源 B 每个定时器的核心部件是一个每个定时器的核心部件是一个 16 位的加法计数器位的加法计数器 C 每个定时器的核心部件是一个每个定时器的核心部件是一个 16 位的减法计数器位的减法计数器 D 定时器的核心部件对机器周期进行计数定时器的核心部件对机器周期进行计数 2 定时器工作时 其加法计数器对 定时器工作时 其加法计数器对 进行计数 从而实现定时功能进行计数 从而实现定时功能 A 时钟周期时钟周期 B 指令周期指令周期 C 机器周期机器周期 D 状态状态 3 定时器的工作方式选择需要设置 定时器的工作方式选择需要设置 寄存器 寄存器 A TMOD B TCON C PCON D SCON 4 启动定时器工作 需要设置 启动定时器工作 需要设置 寄存器 寄存器 A TMOD B TCON C PCON D SCON 5 启动定时器 启动定时器 T1 工作的语句是工作的语句是 A TR1 1 B TR1 0 C TR0 1 D TR0 0 6 如果设置定时器 如果设置定时器 T1 工作在方式工作在方式 1 定时器 定时器 T0 工作在方式工作在方式 2 下面语 下面语 句正确的一项是句正确的一项是 A TMOD 0X21 B M1 1 M0 2 C TMOD 0X12 D TCON 0X12 7 下面描述有误的一项是 下面描述有误的一项是 A 定时器定时器 T1 和和 T0 都具有工作方式都具有工作方式 0 B 定时器定时器 T1 和和 T0 都具有工作方式都具有工作方式 1 C 定时器定时器 T1 和和 T0 都具有工作方式都具有工作方式 2 D 定时器定时器 T1 和和 T0 都具有工作方式都具有工作方式 3 8 定时器哪种工作方式具有初值自动重装载功能 定时器哪种工作方式具有初值自动重装载功能 A 方式方式 0 B 方式方式 1 C 方式方式 2 D 方式方式 3 9 定时器哪种工作方式是 定时器哪种工作方式是 16 位的位的 A 方式方式 0 B 方式方式 1 C 方式方式 2 D 方式方式 3 10 设晶振频率为 设晶振频率为 12MHz 如果定时时间为 如果定时时间为 0 005 秒 并且选择定时器秒 并且选择定时器 T0 工作在工作在 13 位工作方式 则计数器的初值设置应为位工作方式 则计数器的初值设置应为 A TH1 99 TL1 24 B TH1 156 TL1 8 C TH1 12 TL1 120 D TH1 19 TL1 136 11 设晶振频率为 设晶振频率为 12MHz 如果定时时间为 如果定时时间为 0 005 秒 并且选择定时器秒 并且选择定时器 T0 工作在工作在 16 位工作方式 则计数器的初值应为位工作方式 则计数器的初值应为 A TH1 99 TL1 24 B TH1 156 TL1 8 C TH1 12 TL1 120 D TH1 19 TL1 136 12 设晶振频率为 设晶振频率为 12MHz 则加法累加器需要累加多少次溢出可以实 则加法累加器需要累加多少次溢出可以实 现定时时间为现定时时间为 0 005 秒秒 A 5000 B 60000 C 5536 D 3192 13 对下面操作描述有误的一项是 对下面操作描述有误的一项是 A TR1 1 功能是设置定时器功能是设置定时器 T1 启动启动 B TF1 0 功能是清除功能是清除 T1 的溢出标志位的溢出标志位 C IT1 1 功能是使功能是使 T1 工作在定时方式下工作在定时方式下 D PT1 1 功能是设置 功能是设置 T1 为高中断优先级为高中断优先级 14 如果计算定时器 如果计算定时器 T1 的计数值的计数值 N 5000 则不能选择哪种工作方式 则不能选择哪种工作方式 A 13 位位 B 16 位位 C 8 位初值自动重装载位初值自动重装载 D 13 位或位或 16 位位 15 关于定时器的初始化操作描述有误的一项是 关于定时器的初始化操作描述有误的一项是 A 必须设置计数初值必须设置计数初值 B 必须设置工作方式必须设置工作方式 C 必须启动定时器必须启动定时器 D 必须开放中断必须开放中断 16 定时 定时 计数器的方式计数器的方式 0 为为 位计数器 位计数器 A 8 位位 B 13 位位 C 16 位位 D 自动重装入的自动重装入的 8 位计数器位计数器 17 定时 定时 计数器计数器 的定时是指的定时是指 A 对时间计数对时间计数 B 外部事件定时外部事件定时 C 对内部时钟计数对内部时钟计数 D 外部事件计数外部事件计数 18 当 当 TMOD 中的中的 M1 M0 为为 1 0 时 定时器的工作方式为时 定时器的工作方式为 A 方式方式 0 B 方式方式 1 C 方式方式 2 D 方式方式 3 19 定时器 定时器 1 溢出后将对溢出后将对 标志置标志置 1 A IT1 B TR1 C TF1 D TR0 20 下列关于 下列关于 TH0 和和 TL0 的叙述正确的是的叙述正确的是 A TH0 和和 TL0 均为均为 16 位寄存器 位寄存器 B TH0 存放计数值低存放计数值低 8 位 位 TL0 存放计数值高存放计数值高 8 位 位 C TH0 存放计数值高存放计数值高 8 位 位 TL0 存放计数值低存放计数值低 8 位 位 D TH0 和和 TL0 必须为相同的值 必须为相同的值 21 当定时器工作在方式 当定时器工作在方式 1 系统采用 系统采用 12MHh 晶振时 若要定时器晶振时 若要定时器 定时定时 50ms 则定时器的初始值为 则定时器的初始值为 A 50 B 50000 C 65536 D 15536 22 定时器是工作在计数还是定时方式由 定时器是工作在计数还是定时方式由 TMOD 的的 位决位决 定 定 A C T B GATE C IT D IE 23 定时器 定时器 T1 的溢出标志为的溢出标志为 TF1 采用中断方式 当定时器溢出时 采用中断方式 当定时器溢出时 若若 CPU 响应中断后 该标志响应中断后 该标志 A 由软件清零由软件清零 B 由硬件清零由硬件清零 C 随机状态随机状态 D AB 都可以都可以 24 定时器 定时器 T0 的溢出标志位的溢出标志位 TF0 采用查询方式 若查询到有溢出时 采用查询方式 若查询到有溢出时 该标志该标志 A 由软件清零由软件清零 B 由硬件自动清零由硬件自动清零 C 随机状态随机状态 D AB 都可以都可以 25 决定定时器 决定定时器 T0 的定时时间间隔的寄存器是的定时时间间隔的寄存器是 A TH0 TL0 B TH1 TL1 C TH0 TL1 D TH1 TL0 26 MCS 51 系列单片机内部有系列单片机内部有 个个 16 位可编程定时位可编程定时 计计 数器 数器 A 1 个个 B 2 个个 C 3 个个 D 4 个个 16 编程 编程 P2 口分别连接发光二极管的阴极 要求使用定时器定时 控制口分别连接发光二极管的阴极 要求使用定时器定时 控制 发光二极管的闪烁 且闪烁的频率为发光二极管的闪烁 且闪烁的频率为 1 秒钟 设晶振频率为秒钟 设晶振频率为 12MHz 示例代码示例代码 定时定时 0 05 秒 秒 20 个个 0 05 秒是秒是 1 秒 秒 N 50000 则 则 X 65536 5000 include void initT0 TMOD 0X01 设置设置 T0 工作在方式工作在方式 1 下下 TH0 65536 50000 256 TL0 65536 50000 256 TR0 1 EA 1 开放开放 T0 的中断的中断 ET0 1 void T0 service void interrupt 1 static unsigned char cnt 0 20 说明 说明 1 秒钟到秒钟到 TH0 65536 50000 256 重新装载初值 使定时器重新工作重新装载初值 使定时器重新工作 TL0 65536 50000 256 cnt if cnt 20 cnt 0 P2 P2 led 闪烁闪烁 main initT0 while 1 17 编程 编程 P2 口分别连接发光二极管的阴极 要求使用定时器定时 口分别连接发光二极管的阴极 要求使用定时器定时 控制发光二极管流水 控制发光二极管流水 1 个亮 个亮 7 个灭 个灭 且流水频率为 且流水频率为 1 秒钟 设晶振频秒钟 设晶振频 率为率为 12MHz 分析分析 本道题目与上题的区别仅在于本道题目与上题的区别仅在于 1 秒钟后的操作有所不同 所以其秒钟后的操作有所不同 所以其 余部分代码完全一样 只是中断函数需要更改 余部分代码完全一样 只是中断函数需要更改 void T0 service void interrupt 1 static unsigned char ldata 0 xfe static unsigned char cnt 0 20 说明 说明 1 秒钟到秒钟到 TH0 65536 50000 256 重新装载初值 使定时器重新工作重新装载初值 使定时器重新工作 TL0 65536 50000 256 cnt if cnt 20 cnt 0 P2 ldata ldata ldata 1 0 x1 if ldata 0 xff ldata 0 xfe 18 编程 使用定时器 编程 使用定时器 T0 的中断方式 使的中断方式 使 P2 1 引脚能够输出周期为引脚能够输出周期为 1S 的方波 设晶振频率为的方波 设晶振频率为 12MHz 示例代码示例代码 include sbit P21 P2 1 void initT0 TMOD 0X01 设置设置 T0 工作在方式工作在方式 1 下下 TH0 65536 50000 256 TL0 65536 50000 256 TR0 1 EA 1 开放开放 T0 的中断的中断 ET0 1 void T

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论