单片机定时器课件.ppt

上传人:小** 文档编号:23635939 上传时间:2021-06-10 格式:PPT 页数:65 大小:698.50KB
收藏 版权申诉 举报 下载
单片机定时器课件.ppt_第1页
第1页 / 共65页
单片机定时器课件.ppt_第2页
第2页 / 共65页
单片机定时器课件.ppt_第3页
第3页 / 共65页
资源描述:

《单片机定时器课件.ppt》由会员分享,可在线阅读,更多相关《单片机定时器课件.ppt(65页珍藏版)》请在装配图网上搜索。

1、定 时 器 /计 数 器 及 其 应 用 2 定 时 器 /计 数 器 及 其 应 用n 定 时 器 /计 数 器 的 应 用 场 合 : 定 时 或 延 时 控 制 、 对 外 部 事 件 的 检 测 、 计数 等 ;n MCS-51系 列 8031、 8051单 片 机 有 两 个16位 定 时 器 /计 数 器 ( 即 T0和 T1) ;n 8032、 8052单 片 机 有 3个 16位 定 时 器 /计数 器 ( 即 T0、 T1和 T2) ; 3 定 时 器 /计 数 器 及 其 应 用n 所 谓 计 数 器 就 是 对 外 部 输 入 脉 冲 的 计 数 ;n 所 谓 定 时 器

2、 也 是 对 脉 冲 进 行 计 数 完 成 的 ,计 数 的 是 MCS-51内 部 产 生 的 标 准 脉 冲 , 通过 计 数 脉 冲 个 数 实 现 定 时 。n 所 以 , 定 时 器 和 计 数 器 本 质 上 是 一 致 的 ,在 以 后 的 叙 述 中 将 定 时 器 /计 数 器 笼 统 称 为定 时 器 。 4 5 第 5章 定 时 器 /计 数 器 及 其 应 用n 5.1 定 时 器 的 结 构 及 工 作 原 理n 5.2 定 时 器 的 TMOD和 TCON寄 存 器n 5.3 定 时 器 的 工 作 方 式n 5.3.1 方 式 0n 5.3.2 方 式 1 n

3、5.3.3 方 式 2n 5.3.4 方 式 3n 5.4 定 时 器 的 编 程 和 应 用 6 第 5章 定 时 器 /计 数 器 及 其 应 用5.1 定 时 器 的 结 构 及 工 作 原 理 7 5.1 定 时 器 的 结 构 及 工 作 原 理 n 组 成 : 两 个 16位 的 定 时 器 T0和 T1, 以 及 他 们 的 工 作 方 式 寄 存 器TMOD和 控 制 寄 存 器 TCON等 组 成 。 内 部 通 过 总 线 与 CPU相 连 。n 定 时 器 T0和 T1各 由 两 个 8位 特 殊 功 能 寄 存 器 TH0、 TL0、 TH1、TL1构 成 。n 工 作

4、 方 式 寄 存 器 TMOD: 用 于 设 置 定 时 器 的 工 作 模 式 和 工 作 方 式 ;n 控 制 寄 存 器 TCON: 用 于 启 动 和 停 止 定 时 器 的 计 数 , 并 控 制 定 时 器的 状 态 ;n 单 片 机 复 位 时 , 两 个 寄 存 器 的 所 有 位 都 被 清 0。8051 定时器内部结构框图 8 5.1 定 时 器 的 结 构 及 工 作 原 理n 两 个 可 编 程 的 定 时 器 /计 数 器 T1、 T0。n 每 个 定 时 器 内 部 结 构 实 际 上 就 是 一 个 可 编 程 的 加 法 计 数 器 ,由 编 程 来 设 置 它

5、 工 作 在 定 时 状 态 还 是 计 数 状 态 。两 种 工 作 模 式 : (1) 计 数 器 工 作 模 式就 是 对 外 部 事 件 进 行 计 数 。 计 数 脉 冲 来 自 相 应 的 外 部 输 入 引 脚 T0( P3.4)或 T1(P3.5)。 当 输 入 信 号 发 生 由 1至 0的 负 跳 变 (下 降 沿 )时 ,计 数 器 ( TH0, TL0或 TH1, TL1) 的 值 增 1。 计 数 的 最 高 频 率 一 般 为振 荡 频 率 的 1/24。 Why?(2) 定 时 器 工 作 模 式也 是 通 过 计 数 实 现 的 。 计 数 脉 冲 来 自 内

6、部 时 钟 脉 冲 , 每 个 机 器 周 期计 数 值 增 1, 每 个 机 器 周 期 =12个 振 荡 周 期 , 因 此 计 数 频 率 为 振 荡 频 率 的 1/12。 所 以 定 时 时 间 =计 数 值 机 器 周 期 。4种 工 作 方 式 (方 式 0-方 式 3) 。 9 5.1 定 时 器 的 结 构 及 工 作 原 理 n 当 控 制 信 号 定 时 器 工 作 在 定 时 方 式 ; 加 1计 数 器 对 脉 冲 f进 行 计 数 , 每 来 一 个 脉 冲 , 计 数 器 加 1, 直 到 计 时 器 计 满 溢 出 ; 因 为 , 即 一 个 计 数 脉 冲 的

7、 周 期 就 是 一 个 机 器 周 期 ; 计 数器 计 数 的 是 机 器 周 期 脉 冲 个 数 。 从 而 实 现 定 时 。n 当 控 制 信 号 定 时 器 工 作 在 计 数 方 式 ; 加 1计 数 器 对 来 自 输入 引 脚 T0(P3.4)和 T1(P3.5)的 外 信 号 脉 冲 进 行 计 数 , 每 来 一 个脉 冲 , 计 数 器 加 1, 直 到 计 时 器 计 满 溢 出 ;C/T=0Tx THx TFxTLxTRxINTx 定 时计 数0f 0 /12f f 控 制 信 号 K“ 1” 启 动 , 计 数 器 运 行 ;“ 0” 停 止 , 计 数 器 停

8、止 ;定 时 器 /计 数 器 原 理 框 图加 1计 数 器0 /12f f 1C/T= 10n 控 制 信 号 K可 以 控 制 计 数 器 的 “ 启 动 ” 和 “ 停 止 ” , TCON( 88H) K =TRx(INTx+GATE) 11n 振 荡 周 期 : 是 振 荡 脉 冲 的 周 期 , 也 成 为“ 拍 ” , 用 P表 示 。 就 是 晶 体 振 荡 器 的 周 期 ,或 外 部 振 荡 脉 冲 的 周 期 。 是 MCS-51单 片 机 的最 小 时 序 单 位 。 P1 P2S1 振 荡 周 期时 钟 周 期机 器 周 期 机 器 周 期指 令 周 期XTAL2(

9、OSC) S2 S3 S4 S5 S6 S1 S2 S4 S5S3 S6P1 P1 P1P1 P1 P1 P1 P1 P1 P1 P1P2 P2 P2 P2 P2 P2 P2 P2 P2 P2 P2n 时 钟 周 期 : 是 振 荡 源 信 号 经 二 分 频 后 形 成 的 时钟 脉 冲 信 号 , 用 S表 示 。 每 个 时 钟 周 期 分 成 P1、P2两 个 节 拍 , 又 被 称 为 一 个 状 态 。 是 MCS-51单 片 机 的 最 基 本 的 时 序 单 位 。n 机 器 周 期 : 通 常 将 完 成 一 个 基 本 操 作 所 需 的 时 间 称为 机 器 周 期 ,

10、由 6个 状 态 ( 12拍 ) 组 成 , 所 以 一 个机 器 周 期 可 以 依 次 表 示 为 S1P1、 S2P2S6P1、S6P2。 通 常 算 术 逻 辑 操 作 发 生 在 节 拍 P1期 间 , 而 内部 寄 存 器 到 寄 存 器 的 传 送 发 生 在 节 拍 P2期 间 。指 令 周 期 : 是 指 CPU执 行 一 条 指 令 所 需 要 的时 间 。 是 MCS-51单 片 机 的 最 大 的 时 序 单 位 ,由 若 干 个 振 荡 周 期 组 成 。 一 个 指 令 周 期 通 常含 有 1 4个 机 器 周 期 , MCS-51典 型 的 指 令 周期 为 一

11、 个 机 器 周 期 。 振 荡 周 期 、 时 钟 周 期 、 机 器 周 期 和 指 令 周 期 12 5.1 定 时 器 的 结 构 及 工 作 原 理n 在 每 个 机 器 周 期 的 S5P2期 间 采 样 检 测 引 脚 输 入 电 平 。 n 若 前 一 个 机 器 周 期 采 样 值 为 “ 1” , 后 一 个 机 器 周 期 采 样 值为 “ 0” , 则 计 数 器 加 1。n 新 的 计 数 值 在 检 测 到 输 入 引 脚 电 平 发 生 “ 1” 到 “ 0” 的 负跳 变 ( 下 降 沿 ) 后 , 于 下 一 个 机 器 周 期 的 S3P1期 间 装 入 计

12、数 器 中 。n 由 于 CPU需 要 两 个 机 器 周 期 来 识 别 一 个 “ 1” 到 “ 0” 的 跳 变信 号 , 所 以 最 高 的 计 数 频 率 为 振 荡 周 期 的 1/24。P1 P2S1 振 荡 周 期状 态 周 期机 器 周 期 机 器 周 期指 令 周 期XTAL2(OSC) S2 S3 S4 S5 S6 S1 S2 S4 S5S3 S6P1 P1 P1P1 P1 P1 P1 P1 P1 P1 P1P2 P2 P2 P2 P2 P2 P2 P2 P2 P2 P2 13 5.1 定 时 器 的 结 构 及 工 作 原 理n 定 时 /计 数 器 对 输 入 信 号

13、 的 要 求1. 外 部 计 数 脉 冲 的 最 高 频 率 为 系 统 振 荡 器 频 率 的 1/24, 例 如选 用 12MHz频 率 的 晶 体 , 则 可 输 入 500KHz的 外 部 脉 冲 。2. 输 入 信 号 的 高 、 低 电 平 至 少 要 分 别 保 持 一 个 机 器 周 期 。如 图 所 示 , 图 中 Tcy为 机 器 周 期 。 14 n 可 编 程 定 时 器 的 工 作 方 式 、 启 动 、 停 止 、 溢 出 标志 、 计 数 器 等 都 是 可 编 程 的 通 过 设 置 寄 存 器TMOD,TCON,TH0,TL0,TH1和 TL1 实 现 。n

14、当 设 置 了 定 时 器 的 工 作 方 式 并 启 动 定 时 器 工 作 后 ,定 时 器 就 按 被 设 定 好 的 工 作 方 式 独 立 工 作 , 不 再占 用 CPU, 只 有 在 计 数 器 计 满 溢 出 时 才 向 CPU申请 中 断 , 占 用 CPU。n 由 此 可 见 , 定 时 器 是 单 片 机 中 工 作 效 率 高 且 应 用灵 活 的 部 件 。5.1 定 时 器 的 结 构 及 工 作 原 理 15 第 5章 定 时 器 /计 数 器 及 其 应 用5.2 定 时 器 的 TMOD和 TCON寄 存 器 16 5.2 定 时 器 的 TMOD和 TCON

15、寄 存 器n 8051单 片 机 定 时 器 主 要 有 几 个 特 殊 功 能 寄 存 器 组成 : TMOD,TCON,TH0,TL0,TH1,TL1。n TMOD: 设 置 定 时 器 的 工 作 方 式 ;n TCON: 控 制 定 时 器 的 启 动 和 停 止 ;n TH0和 TL0 : 存 放 定 时 器 T0的 初 值 或 计 数 结 果 ; TH0存 放 高 8位 , TL0 存 放 低 8位 ; n TH1和 TL1 : 存 放 定 时 器 T1的 初 值 或 计 数 结 果 ; TH1存 放 高 8位 , TL1 存 放 低 8位 ; 17 5.2.1 工 作 方 式 控

16、 制 寄 存 器 TMOD8位 分 为 两 组 , 高 4位 控 制 T1, 低 4位 控 制 T0。(1) GATE 门 控 位 0: 以 TRX (X=0,1) 来 启 动 定 时 器 /计 数 器 运 行 。1: 用 外 中 断 引 脚 (INT0 *或 INT1*) 上 的 高 电 平 和TRX来 启 动 定 时 器 /计 数 器 运 行 。(2) M1、 M0 工 作 方 式 选 择 位 M1 M0 工 作 方 式 0 0 方 式 0, 13位 定 时 器 /计 数 器 。 0 1 方 式 1, 16位 定 时 器 /计 数 器 。 1 0 方 式 2, 8位 常 数 自 动 重 新

17、 装 载 1 1 方 式 3, 仅 适 用 于 T0,T0分 成 两 个 8位 计 数 器 , T1停 止 计 数 。3 C/T* 计 数 器 模 式 和 定 时 器 模 式 选 择 位0: 定 时 器 模 式 。 1: 计 数 器 模 式 。4 TMOD无 位 地 址 , 不 能 位 寻 址 。(5) 复 位 时 , TMOD所 有 位 均 为 “ 0”。 18 低 4位 与 外 部 中 断 有 关 , 后 面 介 绍 。 高 4位 的 功 能 如 下 : (1) TF1、 TF0 计 数 溢 出 标 志 位 定 时 器 T0或 T1计 数 溢 出 时 , 由 硬 件 自 动 将 此 位 置

18、 “ 1”;TFx可 以 由 程 序 查 询 , 也 是 定 时 中 断 的 请 求 源 ;(2) TR1、 TR0 计 数 运 行 控 制 位 TRx=1: 启 动 定 时 器 /计 数 器 工 作 TRx=0: 停 止 定 时 器 /计 数 器 工 作 5.2.2 控 制 寄 存 器 TCON 19 20 5.2.3 定 时 /计 数 器 的 初 始 化MCS-51单 片 机 的 定 时 器 /计 数 器 是 可 编 程 的 , 但 在 进 行 定时 或 计 数 之 前 要 对 程 序 进 行 初 始 化 , 具 体 步 骤 如 下 :( 1) 对 TMOD赋 值 , 以 确 定 定 时

19、器 的 工 作 模 式 ;( 2) 置 定 时 /计 数 器 初 值 , 直 接 将 初 值 写 入 寄 存 器 的 TH0、TL0或 TH1、 TL1;( 3) 根 据 需 要 , 对 IE置 初 值 , 开 放 定 时 器 中 断 ;( 4) 对 TCON寄 存 器 中 的 TR0或 TR1置 位 , 启 动 定 时 /计 数器 , 置 位 以 后 , 计 数 器 即 按 规 定 的 工 作 模 式 和 初 值 进 行 计数 或 开 始 定 时 。 21 5.2.3 定 时 /计 数 器 的 初 始 化初 值 计 算 : 设 计 数 器 的 最 大 值 为 M, 则 置 入 的 初 值 X

20、为 : 计 数 方 式 : X=M-计 数 值 定 时 方 式 : 由 (M-X)T=定 时 值 ,得 X=M-定 时 值 /T T为 计 数 周 期 , 是 单 片 机 的 机 器 周 期 。( 模 式 0: M为 213, 模 式 1: M为 216, 模 式 2和 3: M为 28)例 如 : 机 器 周 期 为 1 s 时 , 若 工 作 在 模 式 0, 则 最 大 定 时 值 为 :2 13 1 s =8.192ms 若 工 作 在 模 式 1,则 最 大 定 时 值 为 : 216 1 s =65.536ms 22 第 5章 定 时 器 /计 数 器 及 其 应 用5.3 定 时

21、 器 的 工 作 方 式 23 nMCS-51的 定 时 器 T0有 4种 工 作 方 式 :即 : 方 式 0, 方 式 1, 方 式 2, 方 式 3。nMCS-51的 定 时 器 T1有 3种 工 作 方 式 :即 : 方 式 0, 方 式 1, 方 式 2。5.3 定 时 器 的 工 作 方 式 24 5.2.1 方 式 0 M1、 M0设 置 为 00 , 为 13位 计 数 器 , 以 T1为 例 ,其 框 图 如 下 :5.3 定 时 器 的 工 作 方 式 方 式 0计 数 脉冲 输 入 加 1计 数 器 25 5.3 定 时 器 的 工 作 方 式 方 式 0TH1 D12

22、D11 D10 D9 D8 D7 D6 D5 TL1 D4 D3 D2 D1 D0n 在 这 种 方 式 下 , 16位 寄 存 器 TH1和 TL1只 用 13位 ,由 TH1的 8位 和 TL1的 低 5位 组 成 。 TL1的 高 3位 不 定 。n 当 TL1的 低 5位 计 数 溢 出 时 , 向 TH1进 位 。 而 TH1计数 溢 出 时 , 则 向 中 断 标 志 位 TF1进 位 ( 即 硬 件 将 TF1置 1) , 并 请 求 中 断 。n 可 通 过 查 询 TF1是 否 置 “ 1”或 考 察 中 断 是 否 发 生 来 判定 定 时 器 T1的 操 作 完 成 与

23、否 。 26 5.3 定 时 器 的 工 作 方 式 方 式 0n 当 C/T=0时 , 为 定 时 工 作 模 式 , 开 关 接 到 振 荡 器的 12分 频 器 输 出 上 , 计 数 器 对 机 器 周 期 脉 冲 计 数 。其 定 时 时 间 为 :(213-初 值 ) 振 荡 周 期 12例 如 : 若 晶 振 频 率 为 12MHz, 则 最 长 的 定 时 时 间为 (213-0) (1/12) 12us=8.191ms n 当 C/T=1时 , 为 计 数 工 作 模 式 , 开 关 与 外 部 引 脚T1(P3.5)接 通 , 计 数 器 对 来 自 外 部 引 脚 的 输

24、 入 脉冲 计 数 。 当 外 部 信 号 发 生 负 跳 变 时 计 数 器 加 1。 27 5.3 定 时 器 的 工 作 方 式 方 式 0n GATE控 制 定 时 器 Tx(T1或 T0)的 条 件 :(1) 当 GATE=0时 , “ 或 门 ” 输 出 恒 为 1, “ 与 门 ” 的 输出 信 号 K由 TRx决 定 (即 此 时 K=TRx), 定 时 器 不 受 INTx输 入 电 平 的 影 响 , 由 TRx直 接 控 制 定 时 器 的 启 动 和 停 止 。TRx=1; 计 数 启 动 ;TRx=0; 计 数 停 止 ;(2) 当 GATE=1时 , “ 与 门 ”

25、 的 输 出 信 号 K由 INTx输 入电 平 和 TRx位 的 状 态 一 起 决 定 (即 此 时 K=TRxINTx),当 且 仅 当 TRx=1且 INTx=1(高 电 平 )时 , 计 数 启 动 ;否 则 , 计 数 停 止 。 返 回 28 5.3.2 方 式 1 M1、 M0=01, 为 16位 的 计 数 器 , 除 位 数 外 , 其 他 与 方 式 0相 同 。 n 其 定 时 时 间 为 :(216-初 值 ) 振 荡 周 期 12例 如 : 若 晶 振 频 率 为 12MHz, 则 最 长 的 定 时 时 间 为(216-0) (1/12) 12us=65.536m

26、s 5.3 定 时 器 的 工 作 方 式 方 式 1 29 5.3.3 方 式 2 M1、 M0=10 , 为 自 动 恢 复 初 值 的 8位 计 数 器 , 等 效 框 图 如下 : TLx作 为 8位 计 数 器 , THx作 为 重 置 初 值 的 缓 冲 器 。 5.3 定 时 器 的 工 作 方 式 方 式 2THx作 为 常 数 缓 冲 器 , 当 TLx计 数 溢 出 时 , 在 置 “ 1”溢 出 标 志 TFx的 同 时 , 还 自 动 的 将 THx中 的 初 值 送 至 TLx, 使 TLx从 初 值 开 始 重新 计 数 。 定 时 器 /计 数 器 的 方 式 2

27、工 作 过 程 如 图 (x=0, 1) 。 30 n 优 点 :方 式 0和 方 式 1用 于 循 环 重 复 定 时 或 计 数时 , 在 每 次 计 数 器 挤 满 溢 出 后 , 计 数 器复 0。 若 要 进 行 新 一 轮 的 计 数 , 就 得 重新 装 入 计 数 初 值 。 这 样 一 来 不 仅 造 成 编程 麻 烦 , 而 且 影 响 定 时 精 度 。 而 方 式 2具 有 初 值 自 动 装 入 的 功 能 , 避 免 了 这 个缺 点 , 可 实 现 精 确 的 定 时 。n 缺 点 :只 有 8位 计 数 器 , 定 时 时 间 短 、 计 数 范围 小 。 其

28、定 时 时 间 为 : (2 8-初 值 ) 振 荡 周 期 12若 晶 振 频 率 为 12MHz, 则 最 长 的 定 时 时 间 为(28-0) (1/12) 12us=0.256ms 5.3 定 时 器 的 工 作 方 式 方 式 2 方 式 2工 作 过 程 图 (x=0, 1) 。 31 5.3.4 方 式 3 只 适 用 于 定 时 器 /计 数 器 T0。 T1不 能 工 作 在 方 式 3。如 果 将 T1置 为 方 式 3, 则 相 当 于 TR1=0, 停 止 计 数 (此 时 T1可 用 来 作 串 行 口 波 特 率 产 生 器 ) 。1. 工 作 方 式 3下 的

29、T0 T0在 方 式 3时 被 拆 成 两 个 独 立 的 8位 计 数 器 : TH0和 TL0。n 8位 计 数 器 TL0使 用 T0的 状 态 控 制 位 C/T*、 GATE、 TR0、INT0, 它 既 可 以 工 作 在 定 时 方 式 , 也 可 以 工 作 在 计 数 方 式 。n 8位 定 时 器 TH0被 固 定 为 一 个 8位 定 时 器 (不 能 作 外 部 计 数 模式 ) , 并 使 用 定 时 器 T1的 状 态 控 制 位 TR1, 同 时 占 用 定 时 器T1的 中 断 请 求 源 TF1。 此 时 , 定 时 器 TH0的 启 动 或 停 止 只 受T

30、R1控 制 。TR1=1时 , 启 动 TH0的 计 数 ; TR1=0时 , 停 止 TH0的 计 数5.3 定 时 器 的 工 作 方 式 方 式 3 32 5.3 定 时 器 的 工 作 方 式各 引 脚 与 T0的 逻 辑 关 系 如 图 所 示 : 33 2. T0工 作 在 方 式 3下 T1的 各 种 工 作 方 式 注 意 : 当 T0处 于 方 式 3时 , T1仍 可 设 置 为 方 式 0、 方 式 1和 方 式 2。n 当 时 由 于 TR1、 TF1和 T1的 中 断 源 都 已 被 定 时 器 T0(中 的 TH0)占用 , 所 以 定 时 器 T1 仅 有 控 制

31、 位 C/T来 决 定 其 工 作 在 定 时 方 式 或计 数 方 式 。n 当 计 数 器 计 满 溢 出 时 , 不 能 置 位 “ TF1”, 而 只 能 将 输 出 送 往 串口 。 所 以 , 此 时 定 时 器 T1一 般 用 作 串 口 的 波 特 率 发 生 器 , 或 不 需要 中 断 的 场 合 。(1) T1工 作 在 方 式 05.3 定 时 器 的 工 作 方 式 34 (2) T1工 作 在 方 式 1 (3) T1工 作 在 方 式 25.3 定 时 器 的 工 作 方 式 35 第 5章 定 时 器 /计 数 器 及 其 应 用5.4 定 时 器 的 编 程

32、和 应 用 36 5.4 定 时 器 的 编 程 和 应 用n 编 程 说 明MCS-51单 片 机 的 定 时 器 是 可 编 程 的 , 但 在 进 行 定 时 或 计 数 之 前 要 对 程序 进 行 初 始 化 , 具 体 步 骤 如 下 :( 1) 确 定 工 作 方 式 字 : 对 TMOD寄 存 器 正 确 赋 值 ;( 2) 确 定 定 时 初 值 : 计 算 初 值 , 直 接 将 初 值 写 入 寄 存 器 的 TH0、 TL0或TH1、 TL1;初 值 计 算 : 设 计 数 器 的 最 大 值 为 M, 则 置 入 的 初 值 X为 : 计 数 方 式 : X=M-计

33、数 值 定 时 方 式 : 由 (M-X)T=定 时 值 ,得 X=M-定 时 值 /T T为 计 数 周 期 , 是 单 片 机 的 机 器 周 期 。( 模 式 0 M为 2 13, 模 式 1 M为 216, 模 式 2和 3 M为 28)( 3) 根 据 需 要 , 对 IE置 初 值 , 开 放 定 时 器 中 断 ;( 4) 启 动 定 时 /计 数 器 , 对 TCON寄 存 器 中 的 TR0或 TR1置 位 , 置 位 以后 , 计 数 器 即 按 规 定 的 工 作 模 式 和 初 值 进 行 计 数 或 开 始 定 时 。 37 5.4 定 时 器 的 编 程 和 应 用

34、例 5-1 要 在 P1.0上 输 出 一 个 周 期 为 2ms的 方波 , 假 设 系 统 振 荡 频 率 采 用 12MHz。 利 用 T0方 式 0产 生 1ms的 定 时方 波 的 周 期 用 T0来 确 定 , 让 T0每 隔 1ms计 数 溢 出 1次 , 即 TF0=1; 查 询 到 TF0=1 则 CPU对 P1.0取 反 。即 要 使 P1.0每 隔 1ms取 反一 次 。 38 5.4 定 时 器 的 编 程 和 应 用第 一 步 : 确 定 工 作 方 式 字 方 式 0 (13位 )最 长 可 定 时 8.192ms; 方 式 1 (16位 )最 长 可 定 时 65

35、.536ms; 方 式 2 (8位 )最 长 可 定 时 256s。 n T0为 方 式 0, M1M0=00 n 定 时 工 作 状 态 , C/T=0n GATE=0, 不 受 INT0控 制 ,n T1不 用 全 部 取 “ 0”值 。n 故 TMOD=00H 39 5.4 定 时 器 的 编 程 和 应 用第 二 步 : 计 算 1ms定 时 的 初 值 X 设 初 值 为 X, 则 有 : (213-X) 12 10-6 1/12=1 10-3可 求 得 : X=8192-1000=7192X化 为 16进 制 ,即 X=1C18H=1,1100,000 1,1000B。所 以 ,

36、T0的 初 值 为 : TH0=E0H TL0=18HTH0 1 1 1 0 0 0 0 0 TL0 1 1 0 0 0 40 第 三 步 : 程 序 设 计 采 用 查 询 TF0的 状 态 来 控 制 P1.0的 输 出 , 同 时 要 重 新装 入 初 值 。5.4 定 时 器 的 编 程 和 应 用 41 参 考 程 序 : ORG 0100HMAIN: MOV TMOD, #00H ; 设 置 T0为 方 式 0MOV TL0, #18H ; 送 计 数 初 值 MOV TH0, #0E0H ; 送 计 数 初 值SETB TR0 ; 启 动 T0LOOP: JBC TF0, NEX

37、T ; 查 询 定 时 时 间 到 , 转 NEXT, 同 时 清 TF0SJMP LOOP ; 重 复 循 环NEXT: MOV TL0, #18H ; T0重 置 初 值 MOV TH0, #0E0H ; T0重 置 初 值 CPL P1.0 ; P1.0的 状 态 取 反SJMP LOOP ; 重 复 循 环 END 42 例 5-2 将 例 5-1中 的 输 出 方 波 周 期 改 为 1秒 。 分 析 : 周 期 为 1s的 方 波 要 求 500ms的 定 时 。 (1) T0工 作 方 式 的 确 定因 定 时 时 间 较 长 , 采 用 哪 一 种 工 作 方 式 ? 由 各

38、种 工 作 方式 的 特 性 , 可 计 算 出 : 方 式 0 (13位 )最 长 可 定 时 8.192ms; 方 式 1 (16位 )最 长 可 定 时 65.536ms; 方 式 2 (8位 )最 长 可 定 时 256s。 所 以 采 用 定 时 器 定 时 加 软 件 计 数 的 方 法 来 实 现 延 长 定 时 。选 方 式 1, 定 时 50ms, 软 件 计 数 10次 。50ms 10=500ms。 所 以 , TMOD=01H5.4 定 时 器 的 编 程 和 应 用 以 上 各 方 式都 不 满 足 要 求 43 (2) 计 算 计 数 初 值因 为 : (216-X

39、) 12 10-6 1/12=50 10-3所 以 : X=15536=3CB0H因 此 : TH0=3CH, TL0=B0H (3) 10次 计 数 的 实 现设 计 一 个 软 件 计 数 器 , 初 始 值 设 为 10。 每 隔50ms定 时 时 间 到 , 产 生 溢 出 标 志 TF0, 程 序 查 询到 TF0=1, 则 软 件 计 数 器 减 1。 这 样 减 到 0时 就 获得 了 500ms的 定 时 。5.4 定 时 器 的 编 程 和 应 用 44 (4) 程 序 设 计 ( 参 考 程 序 ) MAIN: MOV TMOD, #01H ; 设 T0工 作 在 方 式

40、1MOV TL0, #0B0H ; 给 T0设 初 值MOV TH0, #3CHMOV R7, #10 ; 软 件 计 数 器 初 值SETB TR0 ; 启 动 T0LOOP: JBC TF0, NEXT ; 查 询 定 时 时 间 到 , 转 NEXT, 同 时 清 TF0SJMP LOOP NEXT: DJNZ R7, EXIT ; R7不 等 于 0, 则 不 对 P1.0取 反CPL P1.0MOV R7, #10 ; 重 置 软 件 计 数 器 初 值EXIT: MOV TL0,#0B0H ; T0中 断 子 程 序 , 重 装 初 值MOV TH0,#3CH SJMP LOOPE

41、ND 45 n 以 上 的 定 时 程 序 中 , 程 序 都 要 重 置 计 时 器 初 值 , 这样 从 定 时 器 溢 出 发 出 溢 出 标 志 , 到 重 装 完 定 时 器 初值 , 在 开 始 计 数 , 之 间 总 会 有 一 段 时 间 间 隔 , 使 定时 时 间 增 加 了 若 干 微 秒 , 造 成 定 时 不 够 精 确 。n 为 了 减 小 这 种 定 时 误 差 , 单 片 机 中 设 置 了 工 作 方 式2(自 动 重 装 初 值 ), 则 可 避 免 上 述 因 素 , 省 去 程 序中 重 装 初 值 的 指 令 , 实 现 精 确 定 时 。n 但 是

42、工 作 方 式 2的 缺 点 是 只 有 8位 计 数 器 , 定 时 时 间受 到 很 大 限 制 。5.4 定 时 器 的 编 程 和 应 用 46 例 5-3 利 用 T0方 式 2产 生 250us的 定 时 , 在 P1.0引 脚 上 输 出 周期 为 500us的 方 波 (要 求 精 确 定 时 )。 (设 系 统 振 荡 为 12MHz)(1) 工 作 方 式 选 择实 现 精 确 定 时 , 采 用 方 式 2。对 于 12MHz晶 振 , 方 式 2的 最 大 计 数 时 间 为 28=256us, 所 以 可 实 现 250us的 精 确 定 时 。故 , 设 置 TMO

43、D=02H。(2) 计 算 初 值设 初 值 为 X: 则 (28-X) 12 10-6 1/12=250 10-6 X=2 8-250=6=06H(3) 程 序 设 计采 用 查 询 TF0的 状 态 来 控 制 P1.0的 输 出 。 5.4 定 时 器 的 编 程 和 应 用 47 (4) 参 考 程 序MAIN: MOV TMOD, #02H ;置 T0方 式 2MOV TH0, #06H ; 送 计 数 初 值MOV TL0, #06HSETB TR0 ; 启 动 T0LOOP: JBC TF0, NEXT ; 查 询 定 时 时 间 到 , 转 NEXT, 同 时 清 TF0SJM

44、P LOOPNEXT: CPL P1.0 ; 输 出 取 反SJMPLOOP ; 重 复 循 环END5.4 定 时 器 的 编 程 和 应 用 48 nGATE门 可 使 定 时 器 Tx(T0或 T1)的 启 动 计 数受 INTx*的 控 制 , 可 测 量 引 脚 INTx*(P3.2或P3.3) 上 正 脉 冲 的 宽 度 (机 器 周 期 数 ) 。n以 T1为 例 :门 控 制 位 GATE的 应 用 测 量 脉 冲 宽 度 回 顾当 GATE=1时 , K=TRxINTxK 49 例 5-4 利 用 T1门 控 位 GATE测 试 INT1*(P3.3)引 脚 上 出 现 的

45、正 脉 冲的 宽 度 。分 析 :n 根 据 设 计 要 求 , 将 T1设 定 为 定 时 工 作 模 式 、 方 式 1、 GATE=1;n 当 TR1=1时 , 一 旦 INT1*(P3.3)引 脚 上 出 现 高 电 平 就 开 始 计数 , 直 到 出 现 低 电 平 为 止 。n 然 后 读 取 TH1、 TL1中 的 计 数 值 , 分 别 送 到 寄 存 器 A和 B中 。n 由 于 T1工 作 在 定 时 方 式 , 计 数 器 计 数 的 是 机 器 周 期 的 脉 冲 数 ;n 将 脉 冲 数 转 化 成 时 间 , 就 可 得 到 正 脉 冲 的 宽 度 。门 控 制

46、位 GATE的 应 用 测 量 脉 冲 宽 度 50 ORG 0100HMAIN: MOV TMOD, #90H ; T1为 方 式 1定 时 控 制 字MOV TL1, #00H ; 计 数 器 初 值 为 0MOV TH1, #00HLOOP: JB P3.3, LOOP ; 等 待 INT1*低SETB TR1 ; 如 INT1*为 低 , 启 动 T1LOOP1: JNB P3.3, LOOP1; 等 待 INT1*升 高 , 开 始 计 数LOOP2: JB P3.3, LOOP2 ; 等 待 INT1*降 低 , 停 止 计 数CLR TR1 ; 停 止 T1计 数MOV A, T

47、L1 ; T1计 数 值 的 低 8位 送 AMOV B, TH1 ; T1计 数 值 的 高 8位 送 B由 于 定 时 器 最 长 为 16位 计 数 器 , 因 此 被 测 脉 冲 高 电 平 的 宽 度 不 能 超 过 65536个 机 器 周 期 。 参 考 程 序 : 51 例 5-5 当 T0(P3.4) 引 脚 上 发 生 负 跳 变 时 , 从 P1.0引 脚 上输 出 一 个 周 期 为 1ms的 方 波 ,如 图 所 示 。 (系 统 振 荡 为6MHz) 两 个 计 数 器 同 时 使 用5.4 定 时 器 的 编 程 和 应 用 52 (1) 工 作 方 式 选 择l

48、 T0为 方 式 1计 数 , 初 值 0FFFFH, 即 外 部 计 数 输 入 端T0(P3.4) 发 生 一 次 负 跳 变 时 , T0加 1且 溢 出 , 溢 出 标 志 TF0置 “ 1”, 发 中 断 请 求 。 在 进 入 T0中 断 程 序 后 , 把 F0标 志 置“ 1”, 说 明 T0引 脚 上 已 接 收 了 负 跳 变 信 号 。l T1定 义 为 方 式 2定 时 。 在 T0引 脚 产 生 一 次 负 跳 变 后 , 启 动 T1每 500s产 生 一 次 中 断 , 在 中 断 服 务 程 序 中 对 P1.0求 反 , 使P1.0产 生 周 期 1ms的 方

49、 波 。l TMOD=0010,0101=25H(2) 计 算 T1初 值设 T1的 初 值 为 X: 则 (2 8-X) 2 10-6=5 10-4 X=28-250=6=06H 5.4 定 时 器 的 编 程 和 应 用 53 MAIN: MOV TMOD, #25H ; 初 始 化 , T1为 方 式 2定 时 , T0为 方 式 1计 数MOV TL0, #0FFH ; T0置 初 值 MOV TH0, #0FFHSETB TR0 ; 启 动 T0MOV TL1, #06H ; T1置 初 值MOV TH1, #06HLOOP0: JBC TF0, NEXT0 ; 查 询 T0有 无

50、负 跳 变 , 有 则 转 到 NEXT0SJMP LOOP0NETX0: CPL P1.0 ; P1.0取 反SETB TR1 ; 启 动 T1LOOP1: JBC TF1, NEXT1 ; 查 询 T1定 时 时 间 到 否 , 到 则 转 到 NEXT1SJMP LOOP1NEXT1: CPL P1.0 ; P1.0取 反 SJMP LOOP1END (3) 程 序 设 计 54 5.4 定 时 器 的 编 程 和 应 用nT0 方 式 3时 , TL0和 TH0被 分 成 两 个 独立 的 8位 定 时 器 /计 数 器 。 其 中 ,n TL0: 8位 定 时 器 /计 数 器 ;n

51、 TH0: 8位 定 时 器 。n当 T1作 串 行 口 波 特 率 发 生 器 时 , T0才设 置 为 方 式 3。 55 n 以 上 例 题 均 采 用 查 询 的 方 法 , 这 种 方 法 很 简 单 ,但 是 在 定 时 器 整 个 计 数 的 过 程 中 , CPU要 不 断地 查 询 溢 出 标 志 TFx的 状 态 , 很 难 执 行 其 他 操作 , 占 用 了 CPU的 工 作 时 间 , 使 得 CPU的 工 作效 率 不 高 。n 若 采 用 中 断 的 方 式 来 实 现 , 可 大 大 提 高 CPU的工 作 效 率 。n 我 们 下 一 章 学 习 中 断 ,

52、学 习 完 之 后 再 返 回 来 分析 和 比 较 两 者 的 区 别 与 特 点 。5.4 定 时 器 的 编 程 和 应 用 56本 章 结 束 ! 57 5.4 定 时 器 的 编 程 和 应 用例 5-6 假 设 某 MCS-51应 用 系 统 的 两 个 外 中 断 源 已 被 占 用 ,设 置 T1工 作 在 方 式 2, 作 波 特 率 发 生 器 用 。 现 要 求 增 加一 个 外 部 中 断 源 , 并 控 制 P1.0引 脚 输 出 一 个 5kHz的 方波 。 设 系 统 振 荡 为 6MHz。 58 (1) 选 择 工 作 方 式TL0为 方 式 3计 数 , 把

53、T0引 脚 (P3.4) 作 附 加 的 外 中 断 输 入 端 ,TL0初 值 设 为 0FFH, 当 检 测 到 T0引 脚 电 平 出 现 负 跳 变 时 ,TL0溢 出 , 申 请 中 断 , 这 相 当 于 跳 沿 触 发 的 外 部 中 断 源 。TH0为 8位 方 式 3定 时 , 控 制 P1.0输 出 5kHz的 方 波 信 号 。 如图 所 示 。5.4.3 方 式 3的 应 用 59 (2) 初 值 计 算TL0的 初 值 设 为 0FFH。5kHz的 方 波 的 周 期 为 200s, TH0的 定 时 时 间 为 100s。TH0初 值 X计 算 如 下 : (28-

54、X) 2 10-6=1 10-4X=28-100=156=9CH(3) 程 序 设 计ORG 0000HLJMP MAINORG 000BH ; T0中 断 入 口LJMP TL0INT ; 跳 T0中 断 服 务 程 序ORG 001BH ; 在 T1方 式 3时 , TH0占 用T1的 中 断LJMP TH0INT ; 跳 TH0中 断 服 务 程 序5.4.3 方 式 3的 应 用 60 ORG 0100HMAIN: MOV TMOD, #27H ; T0方 式 3计 数 , T1方 式 2定 时MOV TL0, #0FFH ; 置 TL0初 值MOV TH0, #9CH ; 置 TH0

55、初 值MOV TL1, #dataL ; data为 波 特 率 常 数MOV TH1, #dataHMOV TCON, #55H; 启 动 T0、 T1, 设 置 外 部 中 断 为 跳 沿 触发MOV IE, #9FH ; 开 中 断TL0INT: MOV TL0, #0FFH ; TL0中 断 服 务 程 序 , TL0重 新装 入 初 值 中 断 处 理 TH0INT: MOV TH0, #9CH ; TH0中 断 服 务 程 序 , TH0重 新 装 入 初值 CPL P1.0 ; P1.0位 取 反 输 出RETI 5.4.3 方 式 3的 应 用 61 1. 实 时 时 钟 实

56、现 的 基 本 思 想 如 何 获 得 1秒 的 定 时 , 可 把 定 时 时 间 定 为 100ms, 采用 中 断 方 式 进 行 溢 出 次 数 的 累 计 , 计 满 10次 , 即 得 到秒 计 时 。片 内 RAM中 规 定 3个 单 元 作 为 秒 、 分 、 时 单 元 , 具 体安 排 如 下 : 42H: “秒 ” 单 元 ; 41H: “分 ” 单 元 ; 40H: “时 ” 单元从 秒 到 分 , 从 分 到 时 是 通 过 软 件 累 加 并 进 行 比 较 的 方法 来 实 现 的 。5.4.5 实 时 时 钟 的 设 计 62 2. 程 序 设 计 (1) 主

57、程 序 的 设 计流 程 如 图 所 示 。5.4.5 实 时 时 钟 的 设 计 63 (2) 中 断 服 务 程 序 的 设 计中 断 服 务 程 序 的 主 要功 能 是 实 现 秒 、 分 、时 的 计 时 处 理 。 参 考程 序 略 。5.4.5 实 时 时 钟 的 设 计 64 在 读 取 运 行 中 的 定 时 器 /计 数 器 时 , 需 注 意 : 若 恰 好 出现 TLX溢 出 向 THX进 位 的 情 况 , 则 读 得 的 (TLX) 值 就完 全 不 对 。 同 样 , 先 读 (THX) 再 读 (TLX) 也 可 能 出 错 。方 法 : 先 读 (THX) ,

58、 后 读 (TLX) , 再 读 (THX) 。 若 两次 读 得 (THX) 相 同 , 则 读 的 内 容 正 确 。 若 前 后 两 次 读的 (THX) 有 变 化 , 则 再 重 复 上 述 过 程 , 这 次 重 复 读 得的 内 容 就 应 是 正 确 的 。 下 面 是 有 关 的 程 序 , 读 得 的(TH0) 和 (TL0) 放 置 在 R1和 R0内 。5.4.6 运 行 中 读 定 时 器 /计 数 器 65 RDTIME: MOV A, TH0 ; 读 (TH0) MOV R0, TL0 ; 读 (TL0) CJNE A, TH0, RDTIME; 比 较 2次 读 得 的 (TH0) ; 不 相 等 则 重 复 读MOV R1, A ; (TH0) 送 入 R1中 RET 5.4.6 运 行 中 读 定 时 器 /计 数 器

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

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!