




已阅读5页,还剩57页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第第5章定时章定时 计数器及串行通信应用计数器及串行通信应用 第5章定时 计数器及串行通信应用定时 计数器及串行通信应用 5 1 定时 计数器5 1 定时 计数器 5 3 综合应用举例5 3 综合应用举例 5 2 单片机串行通信5 2 单片机串行通信 湖南工业大学电气与信息工程学院湖南工业大学电气与信息工程学院 第第5章定时章定时 计数器及串行通信应用计数器及串行通信应用 问题的提出 问题的提出 1 在微机应用系统中 普遍用到定时 计数的功能 如对工业过程量信号的定时采样 对流水生产工艺中某一 产品的计数 或计件 因此 定时 计数具有广泛的应 用背景 2 在前面的程序设计一章 大家已学习了软件延时 即通过执行一个循环程序进行时间的延迟 实现定时功 能 但这种定时具有明显的缺点 一是循环程序执行占用 CPU时间 降低CPU的利用率 二是定时时间不精确或计算 比较麻烦 因此 针对应用广泛的定时 计数功能 必须在CPU中 用硬件来实现定时 计数功能 1 在微机应用系统中 普遍用到定时 计数的功能 如对工业过程量信号的定时采样 对流水生产工艺中某一 产品的计数 或计件 因此 定时 计数具有广泛的应 用背景 2 在前面的程序设计一章 大家已学习了软件延时 即通过执行一个循环程序进行时间的延迟 实现定时功 能 但这种定时具有明显的缺点 一是循环程序执行占用 CPU时间 降低CPU的利用率 二是定时时间不精确或计算 比较麻烦 因此 针对应用广泛的定时 计数功能 必须在CPU中 用硬件来实现定时 计数功能 湖南工业大学电气与信息工程学院湖南工业大学电气与信息工程学院 第第5章定时章定时 计数器及串行通信应用计数器及串行通信应用 问题的解决 问题的解决 由于定时 计数功能的普遍性应用 特别是在长时间 定时或定时精度要求较高的场合 通常选用硬件实现定 时 采用硬件实现定时 我们希望 1 定时 计数的功能及工作方式是可编程的 即可选 它作定时器 也可作计数器 同时 可选择几种工作方 式 2 定时 计数值在规定的范围内是可编程的 即根据 需要 通过软件来设定定时值或计数值 3 当达到定时 计数的设定值时 应向CPU申请中断 以便实现定时 计数控制 由于定时 计数功能的普遍性应用 特别是在长时间 定时或定时精度要求较高的场合 通常选用硬件实现定 时 采用硬件实现定时 我们希望 1 定时 计数的功能及工作方式是可编程的 即可选 它作定时器 也可作计数器 同时 可选择几种工作方 式 2 定时 计数值在规定的范围内是可编程的 即根据 需要 通过软件来设定定时值或计数值 3 当达到定时 计数的设定值时 应向CPU申请中断 以便实现定时 计数控制 湖南工业大学电气与信息工程学院湖南工业大学电气与信息工程学院 第第5章定时章定时 计数器及串行通信应用计数器及串行通信应用 5 1 定时定时 计数器计数器 51系列单片机内部提供系列单片机内部提供2个定时个定时 计数器计数器 T0和和T1 89S系列有系列有3个 既可用作定 时器 也可用作计数器 还可作为串行 口的波特率发生器 定时 个 既可用作定 时器 也可用作计数器 还可作为串行 口的波特率发生器 定时 计数器实现 软 硬件结合 给应用系统的设计带来 很多方便之处 计数器实现 软 硬件结合 给应用系统的设计带来 很多方便之处 主要作用 主要作用 对外部脉冲计数 产生精确 定时时间 作串行口的波特率发生器 对外部脉冲计数 产生精确 定时时间 作串行口的波特率发生器 湖南工业大学电气与信息工程学院湖南工业大学电气与信息工程学院 第第5章定时章定时 计数器及串行通信应用计数器及串行通信应用 烘箱温度控制系统要 定时对温度进行采 样 与温度给定值比 较后 通过一个隔离 输出控制电热丝的通 断来控制烘箱内温 度 定时的任务由单 片机片内的定时器 烘箱温度控制系统要 定时对温度进行采 样 与温度给定值比 较后 通过一个隔离 输出控制电热丝的通 断来控制烘箱内温 度 定时的任务由单 片机片内的定时器 计 数器完成 计 数器完成 烘 箱 温 度 控 制 系 统 烘 箱 温 度 控 制 系 统 湖南工业大学电气与信息工程学院湖南工业大学电气与信息工程学院 第第5章定时章定时 计数器及串行通信应用计数器及串行通信应用 5 1 1定时 计数器的定时和计数功能5 1 1定时 计数器的定时和计数功能 TH1TL1 7 07 0 T1 TH0TL0 7 07 0 T0 TCONTMOD 微处理器 内部 总线 内部 总线 P 用于确定T1和T0 的功能和工作方式 用于确定T1和T0 的功能和工作方式 用于控制T1和T0 的启动 停止及中 断请求 用于控制T1和T0 的启动 停止及中 断请求 1 定时器 定时器 计数器计数器T0 T1的结构的结构 湖南工业大学电气与信息工程学院湖南工业大学电气与信息工程学院 第第5章定时章定时 计数器及串行通信应用计数器及串行通信应用 定时 指采用具有精确的固定周期的脉冲信号进行计 数 一般是利用内部振荡脉冲 即机器周期 定时 指采用具有精确的固定周期的脉冲信号进行计 数 一般是利用内部振荡脉冲 即机器周期 fosc 12 1 T 作为计数脉冲 计数 指对外部输入脉冲进行计数 作为计数脉冲 计数 指对外部输入脉冲进行计数 计数 脉冲不等间隔 计数 脉冲不等间隔 波形等间隔 次数已定 时间确定即对机器周期 波形等间隔 次数已定 时间确定即对机器周期T 进行计数 进行计数 左图定时时间为左图定时时间为 N T 每个下降沿计数一次每个下降沿计数一次 确认一次负跳变需两个机器周期 所以 计数频率最高为 确认一次负跳变需两个机器周期 所以 计数频率最高为fosc 24 2 定时与计数的概念2 定时与计数的概念 N个方波个方波 T 湖南工业大学电气与信息工程学院湖南工业大学电气与信息工程学院 第第5章定时章定时 计数器及串行通信应用计数器及串行通信应用 定时器0方式字段定时器0方式字段定时器1方式字段定时器1方式字段 M0M1C TGATEM0M1C TGATE D0D1D2D3D4D5D6D7 1 工作方式控制寄存器工作方式控制寄存器TMOD 定时方式时 每个机器周期使 计数器加 定时方式时 每个机器周期使 计数器加1 T 12 fosc 计数方式时计数方式时T0 P3 4 T1 P3 5 的负跳变使计数器加的负跳变使计数器加1 最大计数速率是最大计数速率是fosc 24 即高 低电平分别能保持一个机器周 期 即高 低电平分别能保持一个机器周 期 用于控制定时器用于控制定时器 计数器的功能和工作方式计数器的功能和工作方式 TMOD格式格式 字节地址字节地址89H 操作模式控制位操作模式控制位 GATE 门控制 门控制 GATE 1时 如时 如INTx 1 且 且 TRx 1 则启动定时器 则启动定时器 GATE 0 只要 只要TRx 1定时器 就开始工作 定时器 就开始工作 C T 0定时方式 定时方式 C T 1计数方式 计数方式 5 1 2 定时定时 计数器的控制计数器的控制 C T 选择定时或计数方式 选择定时或计数方式 M1M0方式方式计 数 器 配 置计 数 器 配 置 0 00TLx低低5位与位与THx的的8位构成位构成13位计数器位计数器 0 11TLx与与THx构成构成16位计数器位计数器 1 02自动重装初值自动重装初值 THx 的的8位位 TLx溢出时溢出时 计数器计数器 1 13仅用于仅用于T0 分成两个 分成两个8位计数器 位计数器 T1停止计数停止计数 湖南工业大学电气与信息工程学院湖南工业大学电气与信息工程学院 第第5章定时章定时 计数器及串行通信应用计数器及串行通信应用 D7D6D5D4D3D2D1D0 TF1TR1TF0TR0IE1IT1IE0IT0 TF1 定时器定时器T1溢出中断标志 溢出中断标志 当定时器当定时器1溢出时 由硬件置溢出时 由硬件置1 当响应中断转向中断服务程序时由硬件清当响应中断转向中断服务程序时由硬件清0 TR1 定时器定时器T1运行控制位 运行控制位 由软件置位由软件置位 复位 控制定时器是否运行 复位 控制定时器是否运行 TF0 功能与功能与TF1类似 类似 TR0 功能与功能与TR1类似 类似 定时器定时器0 控制位控制位 定时器定时器1 控制位控制位 2 状态控制寄存器 状态控制寄存器TCON TCON格式 字节地址格式 字节地址88H 湖南工业大学电气与信息工程学院湖南工业大学电气与信息工程学院 第第5章定时章定时 计数器及串行通信应用计数器及串行通信应用 D7D6D5D4D3D2D1D0 TF1TR1TF0TR0IE1IT1IE0IT0 TF1 定时器定时器T1溢出中断标志 溢出中断标志 当定时器当定时器1溢出时 由硬件置溢出时 由硬件置1 当响应中断转向中断服务程序时由硬件清当响应中断转向中断服务程序时由硬件清0 TR1 定时器定时器T1运行控制位 运行控制位 由软件置位由软件置位 复位 控制定时器是否运行 复位 控制定时器是否运行 TF0 功能与功能与TF1类似 类似 TR0 功能与功能与TR1类似 类似 定时器定时器0 控制位控制位 定时器定时器1 控制位控制位 2 状态控制寄存器 状态控制寄存器TCON TCON格式 字节地址格式 字节地址88H 湖南工业大学电气与信息工程学院湖南工业大学电气与信息工程学院 第第5章定时章定时 计数器及串行通信应用计数器及串行通信应用 D7D6D5D4D3D2D1D0 TF1TR1TF0TR0IE1IT1IE0IT0 TF1 定时器定时器T1溢出中断标志 溢出中断标志 当定时器当定时器1溢出时 由硬件置溢出时 由硬件置1 当响应中断转向中断服务程序时由硬件清当响应中断转向中断服务程序时由硬件清0 TR1 定时器定时器T1运行控制位 运行控制位 由软件置位由软件置位 复位 控制定时器是否运行 复位 控制定时器是否运行 TF0 功能与功能与TF1类似 类似 TR0 功能与功能与TR1类似 类似 定时器定时器0 控制位控制位 定时器定时器1 控制位控制位 2 状态控制寄存器 状态控制寄存器TCON TCON格式 字节地址格式 字节地址88H 湖南工业大学电气与信息工程学院湖南工业大学电气与信息工程学院 第第5章定时章定时 计数器及串行通信应用计数器及串行通信应用 D7D6D5D4D3D2D1D0 TF1TR1TF0TR0IE1IT1IE0IT0 TF1 定时器定时器T1溢出中断标志 溢出中断标志 当定时器当定时器1溢出时 由硬件置溢出时 由硬件置1 当响应中断转向中断服务程序时由硬件清当响应中断转向中断服务程序时由硬件清0 TR1 定时器定时器T1运行控制位 运行控制位 由软件置位由软件置位 复位 控制定时器是否运行 复位 控制定时器是否运行 TF0 功能与功能与TF1类似 类似 TR0 功能与功能与TR1类似 类似 定时器定时器0 控制位控制位 定时器定时器1 控制位控制位 2 状态控制寄存器 状态控制寄存器TCON TCON格式 字节地址格式 字节地址88H 湖南工业大学电气与信息工程学院湖南工业大学电气与信息工程学院 第第5章定时章定时 计数器及串行通信应用计数器及串行通信应用 D7D6D5D4D3D2D1D0 TF1TR1TF0TR0IE1IT1IE0IT0 TF1 定时器定时器T1溢出中断标志 溢出中断标志 当定时器当定时器1溢出时 由硬件置溢出时 由硬件置1 当响应中断转向中断服务程序时由硬件清当响应中断转向中断服务程序时由硬件清0 TR1 定时器定时器T1运行控制位 运行控制位 由软件置位由软件置位 复位 控制定时器是否运行 复位 控制定时器是否运行 TF0 功能与功能与TF1类似 类似 TR0 功能与功能与TR1类似 类似 定时器定时器0 控制位控制位 定时器定时器1 控制位控制位 2 状态控制寄存器 状态控制寄存器TCON TCON格式 字节地址格式 字节地址88H 湖南工业大学电气与信息工程学院湖南工业大学电气与信息工程学院 第第5章定时章定时 计数器及串行通信应用计数器及串行通信应用 1 方式 方式0 T0的等效逻辑结构的等效逻辑结构 5 1 3 定时定时 计数器的工作方式计数器的工作方式 在计数工作方式下 计数器的计数值范围是 在计数工作方式下 计数器的计数值范围是 1 8192 2的的13次方 次方 当为定时工作方式时 定时时间的计算公式为 当为定时工作方式时 定时时间的计算公式为 8192 计数初值 晶振周期 计数初值 晶振周期 12 湖南工业大学电气与信息工程学院湖南工业大学电气与信息工程学院 第第5章定时章定时 计数器及串行通信应用计数器及串行通信应用 编程思路 编程思路 P1 0输出周期为输出周期为10ms宽的方波 只要每隔宽的方波 只要每隔5ms 到反一次即可得到到反一次即可得到10ms的方波 由此可选用的方波 由此可选用T0定时定时5ms 例例1 选用选用T0操作模式操作模式0 用于定时 由 用于定时 由P1 0输出周期 为 输出周期 为10ms的方波 设晶振的方波 设晶振fosc 6MHz 高高8位送入位送入TH0 TH0 10110001B 0B1H X 213 t fosc 12 8192 6 5 1000 12 5692 163CH 163CH 0001 0110 0011 1100 其中低其中低5位位11100前添加前添加3位位000送入送入TL0 TL0 00011100B 1CH ORG 0100H MOV TMOD 00H SETB TR0 LP1 MOV TL0 1CH MOV TH0 0B1H LP2 JBC TF0 LP3 AJMP LP2 LP3 CPL P1 0 SJMP LP1 初值为 初值为 方式0 启动T0 等待T0定时到 重置初值 输出方波 启动定时器 定时到 开始 输出反相 清定时到标志 预置定时初值 设定时器工作方式 湖南工业大学电气与信息工程学院湖南工业大学电气与信息工程学院 第第5章定时章定时 计数器及串行通信应用计数器及串行通信应用 2 工作方式 工作方式1 T0的等效逻辑结构的等效逻辑结构 在工作方式在工作方式1下 计数器的计数值范围是 下 计数器的计数值范围是 1 65536 2的的16次方 次方 当为定时工作方式当为定时工作方式1时 定时时间的计算公式为 时 定时时间的计算公式为 65536 计数初值 晶振周期 计数初值 晶振周期 12 湖南工业大学电气与信息工程学院湖南工业大学电气与信息工程学院 第第5章定时章定时 计数器及串行通信应用计数器及串行通信应用 编程思路 编程思路 方波周期方波周期T 1 50 0 02s 20ms 用 用T1定时定时10ms 例例2 用定时器用定时器T1产生一个产生一个50Hz的方波 由的方波 由P1 1输 出 仍用程序查询方式 输 出 仍用程序查询方式 fosc 12MHz X 216 10 103 12 12 65536 10000 55536 D8F0H ORG 0100H MOV TMOD 10H SETB TR1 LOOP MOV TH1 0D8H MOV TL1 0F0H JNB TF1 CLR TF1 CPL P1 1 SJMP LOOP T1方式0 启动T1 等待T1定时到 重置初值 输出方波 启动定时器T1 10ms定时到 开始 P1 1输出反相 Yes 清定时到标志 预置定时初值 No 设定时器T1工作方式 湖南工业大学电气与信息工程学院湖南工业大学电气与信息工程学院 第第5章定时章定时 计数器及串行通信应用计数器及串行通信应用 3 工作方式 工作方式2 T0的等效逻辑结构的等效逻辑结构 方式方式2为能自动重置计数器初值的工作方式 为能自动重置计数器初值的工作方式 TL0为为8位计数器 位计数器 TH0为计数器初值暂存器 为计数器初值暂存器 定时时间定时时间 T 256 计数初值计数初值 晶振周期 晶振周期 12 湖南工业大学电气与信息工程学院湖南工业大学电气与信息工程学院 第第5章定时章定时 计数器及串行通信应用计数器及串行通信应用 编程思路 编程思路 T1工作于计数方式 外部计数脉冲由工作于计数方式 外部计数脉冲由T1 P3 0 引脚引入 每来一个由 引脚引入 每来一个由1至至0的跳变计数器加的跳变计数器加1 由 程序查询 由 程序查询TF1的状态 的状态 例例3 用定时器用定时器1 模式 模式2计数 要求每计满计数 要求每计满200次 将次 将 P1 0端取反 端取反 TH1 TL1 38H ORG 0100H MOV TMOD 60H MOV TH1 38H MOV TL1 38H SETB TR1 LOOP JBC TF1 REP SJMP LOOP REP CPL P1 0 SJMP LOOP T1方式2计数 送初值 启动T1 等待T1计数到 取反 计数初值 计数初值 X 200 56 38H 8 2 湖南工业大学电气与信息工程学院湖南工业大学电气与信息工程学院 第第5章定时章定时 计数器及串行通信应用计数器及串行通信应用 方式方式2与方式与方式0 1的区别 的区别 方式方式0方式方式1 计数溢出后 计数器为全计数溢出后 计数器为全0 因而循环 定时或循环计数应用时就存在反复设置初值的问题 这给程序设计带来许多不便 同时也会影响计时精 度 因而循环 定时或循环计数应用时就存在反复设置初值的问题 这给程序设计带来许多不便 同时也会影响计时精 度 方式方式2 具有自动重装载功能 即自动加载计数初 值 具有自动重装载功能 即自动加载计数初 值 16位计数器分为两部分 位计数器分为两部分 TL0为计数器 为计数器 TH0作 为预置寄存器 当计数溢出时 由预置寄存器 作 为预置寄存器 当计数溢出时 由预置寄存器TH0以 硬件方法自动给计数器 以 硬件方法自动给计数器TL0重新加载 方式 重新加载 方式2在串口通讯时 常用作波特率发生器 在串口通讯时 常用作波特率发生器 湖南工业大学电气与信息工程学院湖南工业大学电气与信息工程学院 第第5章定时章定时 计数器及串行通信应用计数器及串行通信应用 只有只有T0能工作于方式能工作于方式3 此时 此时T1的的一些控制位已被的的一些控制位已被T0借用 只能工作在方式 借用 只能工作在方式0 方式 方式1或方式或方式2下 等效电路参见下图 下 等效电路参见下图 4 工作方式 工作方式3 湖南工业大学电气与信息工程学院湖南工业大学电气与信息工程学院 第第5章定时章定时 计数器及串行通信应用计数器及串行通信应用 5 定时 定时 计数器的初始化和初值确定计数器的初始化和初值确定 为使定时为使定时 计数器正常工作 首先必须对定时计数器正常工作 首先必须对定时 计数器进行初始化 然后再开启定时或计数 定 时计数器的初始化包括以下内容 计数器进行初始化 然后再开启定时或计数 定 时计数器的初始化包括以下内容 4 启动定时器 启动定时器 计数器 如 计数器 如 SETB TR0 1 确定工作方式 确定工作方式 对对TMOD赋值 如 赋值 如 MOV TMOD 06H 设定 设定T0为计数器工作方式 为计数器工作方式 2 预置定时计数器中计数的初值 预置定时计数器中计数的初值 直接写入直接写入 TH和和TL 如 如 MOV TH0 00H 设定计数初值 设定计数初值 MOV TL0 00H 3 根据需要开放定时 根据需要开放定时 计数器的中断计数器的中断 对对IE位赋值 位赋值 湖南工业大学电气与信息工程学院湖南工业大学电气与信息工程学院 第第5章定时章定时 计数器及串行通信应用计数器及串行通信应用 初值的计算方法 初值的计算方法 X M 计数值计数值 M是定时器的最大计数值 视工作方式不同而不同 是定时器的最大计数值 视工作方式不同而不同 工作方式工作方式工作方式工作方式0 0 13位定时位定时 计数方式 因此 最多可以计 到 计数方式 因此 最多可以计 到2的的13次方 也就是次方 也就是8192次 次 工作方式工作方式工作方式工作方式1 1 16位定时位定时 计数方式 因此 最多可以计 到 计数方式 因此 最多可以计 到2的的16次方 也就是次方 也就是65536次 次 工作方式工作方式工作方式工作方式2 2和和工作方式工作方式工作方式工作方式3 3 都是都是8位的定时位的定时 计数方式 因此 最多可以计到 计数方式 因此 最多可以计到2的的8次方 也说是次方 也说是256次 次 湖南工业大学电气与信息工程学院湖南工业大学电气与信息工程学院 第第5章定时章定时 计数器及串行通信应用计数器及串行通信应用 预置值计算 预置值计算 用最大计数量减去需要的计数次 数即可 用最大计数量减去需要的计数次 数即可 通过上面的任务 我们掌握了计数程序的编制方 法 下面我们再看看定时程序怎样编制 通过上面的任务 我们掌握了计数程序的编制方 法 下面我们再看看定时程序怎样编制 首先我们看一下下面的程序段 首先我们看一下下面的程序段 MOV TMOD 01H MOV TL0 00H MOV TH0 4CH SETBTR0 以上程序是一个定时初始化程序段 计数方式和 它类似 以上程序是一个定时初始化程序段 计数方式和 它类似 湖南工业大学电气与信息工程学院湖南工业大学电气与信息工程学院 第第5章定时章定时 计数器及串行通信应用计数器及串行通信应用 编程思路 编程思路 T0定时每定时每50ms中断一次 中断程序使中断一次 中断程序使P3 0反 相一次 反 相一次 例例1 已知已知focs 12MHZ 利用定时器 使图中发光二极管 利用定时器 使图中发光二极管VD进行秒闪烁 要 求亮 进行秒闪烁 要 求亮50ms 暗 暗50ms 采用中断编程 采用中断编程 X 216 t fosc 12 65536 12 50 1000 12 15536 3CB0H 初值为 初值为 5 1 4 应用举例应用举例 P3 0 AT89C2051 VD 湖南工业大学电气与信息工程学院湖南工业大学电气与信息工程学院 第第5章定时章定时 计数器及串行通信应用计数器及串行通信应用 ORG 0000H SJMP START ORG 000BH LJMP TIME0 START MOV TMOD 01H MOV TH0 3CH MOV TL0 0B0H SETB TR0 MOV IE 82H WAIT SJMP WAIT TIME0 MOV TH0 3CH MOV TL0 0B0H CPL P3 0 RETI 主程序其他任务 开放中断与定时器 重置初值 改变输出状态 主程序入口 中断程序入口 中断返回 湖南工业大学电气与信息工程学院湖南工业大学电气与信息工程学院 第第5章定时章定时 计数器及串行通信应用计数器及串行通信应用 例例2 用定时器用定时器T1完成时钟秒 分 时的定时 已知晶体振 荡频率为 完成时钟秒 分 时的定时 已知晶体振 荡频率为12MHz 分析 分析 由于机器周期 采用方式由于机器周期 采用方式1能定时的最长时 间也只有 能定时的最长时 间也只有65 536ms 要得到长时间的定时 必须采用 要得到长时间的定时 必须采用软件计 数器 软件计 数器 例如定时器定时 例如定时器定时50ms 对 对50ms计数计数20次为次为1秒 对秒 对1秒 计数 秒 计数60次为次为1分 对分 对1分计数分计数60次为次为1小时 小时 ST1 50ms计数次数 计数次数 50000 1 50000次 定时初值 次 定时初值 65536 50000 15536 秒计数初值 秒计数初值 50H单元 单元 20 分计数初值 分计数初值 51H单元 单元 60 时计数初值 时计数初值 52H单元 单元 60 湖南工业大学电气与信息工程学院湖南工业大学电气与信息工程学院 第第5章定时章定时 计数器及串行通信应用计数器及串行通信应用 程序 程序 ORG 0000H MOV TMOD 10H MOV TH0 15536 MOD 256 MOV TL0 15536 256 MOV 50H 20 MOV 51H 60 MOV 52H 60 SETB TR1 例例5 2 No 预置各定时计数初值 50ms定时到 开始 清标志 重置定时常数 启动定时器T0 设定时器T1工作方式 1秒定时到 重置1秒计数值 1分定时到 重置1分计数值 1小时定时到 重置1小时计数值 No No No Yes Yes Yes Yes 方式1定时 启动定时器 时间常数 软计数常数 湖南工业大学电气与信息工程学院湖南工业大学电气与信息工程学院 第第5章定时章定时 计数器及串行通信应用计数器及串行通信应用 L2 JNBTF1 L2 CLRTF1 MOV TL0 15536 MOD 256 MOV TH0 15536 256 DJNZ 50H L2 MOV 50H 20 DJNZ 51H L2 MOV 51H 60 DJNZ 52H L2 MOV 52H 60 SJMP L2 END No 预置各定时计数初值 50ms定时到 开始 清标志 重置定时常数 启动定时器T0 设定时器T1工作方式 1秒定时到 重置1秒计数值 1分定时到 重置1分计数值 1小时定时到 重置1小时计数值 No No No Yes Yes Yes Yes 湖南工业大学电气与信息工程学院湖南工业大学电气与信息工程学院 第第5章定时章定时 计数器及串行通信应用计数器及串行通信应用 编程思路 编程思路 延时程序由延时程序由 T0定时定时10ms 连续延时 连续延时 20次为次为0 2秒 秒 例例3 如图开始时如图开始时P2 0亮 延 时 亮 延 时0 2秒后左移至秒后左移至P2 1亮 如 此左移 亮 如 此左移7次至次至P2 7亮 再延时亮 再延时 0 2秒右移至秒右移至P2 6亮 如此右 移 亮 如此右 移7次后至次后至P2 0亮 亮 X 216 t fosc 12 65536 6 10 1000 12 60536 0D8F0H 初值为 初值为 RST XT1 XT2 6MHz 22pF 22pF GND AT89C2051 5V10k Vcc EA VP 470 Vcc 4 7 F P2 0 P2 2 P2 3 P2 4 P2 5 P2 6 P2 7 P2 1 湖南工业大学电气与信息工程学院湖南工业大学电气与信息工程学院 第第5章定时章定时 计数器及串行通信应用计数器及串行通信应用 ORG 0000H MOV TMOD 01 START MOV A OFEH MOV R2 07 LOOP MOV P2 A RL A MOV R3 20 LCALL DELAY DJNZ R2 LOOP MOV R2 07 LOOP1 MOV P2 A RR A MOV R3 20 LCALL DELAY DJNZ R2 LOOP1 LJMP START 左移至下一位 左移7次 等待左移结束 方式1定时 点亮第一个灯 右移与左移相同 延时0 2秒 主程序 主程序 湖南工业大学电气与信息工程学院湖南工业大学电气与信息工程学院 第第5章定时章定时 计数器及串行通信应用计数器及串行通信应用 DELAY SETB TR0 AGAIN MOV TH0 D8H MOV TL0 0F0H LOOP2 JBC TF0 LOOP3 LJMP LOOP2 LOOP3 DJNZ R3 AGAIN CLR TR0 RET END 等待10mS定时到 预置时间常数 等待0 2S定时到 启动定时器 关定时器 返回 定时程序 定时程序 湖南工业大学电气与信息工程学院湖南工业大学电气与信息工程学院 第第5章定时章定时 计数器及串行通信应用计数器及串行通信应用 例例4 要求当要求当P3 3每来每来3个脉冲时 个脉冲时 P1 0的状态 翻转改变一次 的状态 翻转改变一次 分析 分析 定时器定时器T0工作在计数方式 计数工作在计数方式 计数3次将次将 P1 0输出取反一次 由于计数初值小 因此采用 方式 输出取反一次 由于计数初值小 因此采用 方式2最好 最好 计数次数 计数次数 3次 计数初值 次 计数初值 256 3 253 湖南工业大学电气与信息工程学院湖南工业大学电气与信息工程学院 第第5章定时章定时 计数器及串行通信应用计数器及串行通信应用 程序 程序 ORG 0000H MOV TMOD 06H MOV TL0 253 MOV TH0 253 SETB TR0 MOV P3 0FFH LP2 JNBTF0 LP2 CLRTF0 CPLP1 0 SJMP LP2 END 例例5 3 湖南工业大学电气与信息工程学院湖南工业大学电气与信息工程学院 第第5章定时章定时 计数器及串行通信应用计数器及串行通信应用 5 1 5 定时 计数器T25 1 5 定时 计数器T2 1 T2的寄存器的寄存器 1 T2CON控制寄存器控制寄存器 TF2 定时器2 溢出标志 定时器 定时器2 溢出标志 定时器2 溢出时置位 必须由软件清除 当溢出时置位 必须由软件清除 当RCLK或或 TCLK等于等于1 时时TF2 将不会置位 将不会置位 EXF2 定时器2 外部标志 当 定时器2 外部标志 当EXEN2 1且且T2EX 的负跳变产生捕获或重装时的负跳变产生捕获或重装时EXF2 置位 定时器置位 定时器2中断开放时中断开放时EXF2 1 将使将使CPU 从中断向量 处执行定时器 从中断向量 处执行定时器2 中断子程序 中断子程序 EXF2 位必须用软件清零 在递增 位必须用软件清零 在递增 递减计数器模式 递减计数器模式 DCEN 1 中 中EXF2 不会引起 中断 不会引起 中断 湖南工业大学电气与信息工程学院湖南工业大学电气与信息工程学院 第第5章定时章定时 计数器及串行通信应用计数器及串行通信应用 RCLK接收时钟标志 接收时钟标志 RCLK 1时 定时器时 定时器2 的溢出脉冲作为串行口模式的溢出脉冲作为串行口模式1和模式和模式3的接收时 钟 的接收时 钟 RCLK 0 时 将定时器时 将定时器1 的溢出脉冲作为接收时钟 的溢出脉冲作为接收时钟 TCLK发送时钟标志 发送时钟标志 TCLK 1时 定时器时 定时器2 的溢出脉冲作为串行口模式的溢出脉冲作为串行口模式1和模式和模式3的发送 时钟 的发送 时钟 TCLK 0 时 将定时器时 将定时器1 的溢出脉冲作为发送时钟 的溢出脉冲作为发送时钟 EXEN2定时器2 外部使能标志 当其置位且定时器 定时器2 外部使能标志 当其置位且定时器2 未作为串行口时钟时 允许未作为串行口时钟时 允许T2EX 的负跳变产生 捕获或重装 的负跳变产生 捕获或重装 EXEN2 0 时 时 T2EX 的跳变对定时器的跳变对定时器2 无效 无效 TR2定时器2 启动 停止控制位 置 定时器2 启动 停止控制位 置1 时启动定时器 时启动定时器 C T2定时器 计数器选择 置 定时器 计数器选择 置0时定时器时定时器2工作在定时状态 置工作在定时状态 置1时工作在计数器状态 时工作在计数器状态 CP RL2 捕获 重装标志 置位时 捕获 重装标志 置位时 EXEN2 1时 时 T2EX 的负跳变产生捕获 清零时 的负跳变产生捕获 清零时 EXEN2 1则定时器则定时器2 溢出或溢出或T2EX 的负跳变都可使定时器自动重装 当的负跳变都可使定时器自动重装 当 RCLK 1 或或TCLK 1 时该位无效且定时器强制为溢出时自动重 装 时该位无效且定时器强制为溢出时自动重 装 湖南工业大学电气与信息工程学院湖南工业大学电气与信息工程学院 第第5章定时章定时 计数器及串行通信应用计数器及串行通信应用 2 T2MOD方式控制寄存器方式控制寄存器 不可用 保留将来之用 不可用 保留将来之用 T2OE定时器2 输出使能位 定时器2 输出使能位 T2OE 1 允许 允许T2输出 输出 T2OE 0 禁止 禁止T2输 出 输 出 DCEN 向下计数使能位 定时器 向下计数使能位 定时器2 可配置成向上可配置成向上 向下计数器 向下计数器 DCEN 0 T2加加1计数 计数 DCEN 1且且T2EX 1时 时 T2加加1计 数 计 数 DCEN 1且且T2EX 0时 时 T2减减1计数 计数 湖南工业大学电气与信息工程学院湖南工业大学电气与信息工程学院 第第5章定时章定时 计数器及串行通信应用计数器及串行通信应用 2 T2的工作方式的工作方式 1 定时 定时 计数自动重装方式 递增计数自动重装方式 递增 递减计数器 递减计数器 16 位自动重装模式中 定时器位自动重装模式中 定时器T2 可通过可通过C T2 配置为定时 器 配置为定时 器 计数器 编程控制递增计数器 编程控制递增 递减计数 计数的方向是由递减计数 计数的方向是由 DCEN 递减计数使能位确定的 递减计数使能位确定的 DCEN 位于位于T2MOD 寄存 器 中当 寄存 器 中当 DCEN 0 时 定时器时 定时器2 默认为向上计数 当默认为向上计数 当 DCEN 1 时 定时器时 定时器2 可通过可通过T2EX 确定递增或递减计 数 确定递增或递减计 数 湖南工业大学电气与信息工程学院湖南工业大学电气与信息工程学院 第第5章定时章定时 计数器及串行通信应用计数器及串行通信应用 当当DCEN 0 时 定时器时 定时器2 自动递增计数 在该模式中通过设置自动递增计数 在该模式中通过设置 EXEN2 位进行选择 如果位进行选择 如果EXEN2 0 定时器 定时器2 递增计数到溢出后 将 递增计数到溢出后 将TF2 置位 然后将置位 然后将RCAP2L 和和RCAP2H 中的中的16 位值作为重新装载 值装入定时器 位值作为重新装载 值装入定时器2 RCAP2L 和和RCAP2H 的值是通过软件预设的 如 果 的值是通过软件预设的 如 果EXEN2 1 16 位重新装载可通过溢出或位重新装载可通过溢出或T2EX 从从1 0 的负跳变 实现 此负跳变同时将 的负跳变 实现 此负跳变同时将EXF2置位 如果定时器置位 如果定时器2中断被使能 则当中断被使能 则当 TF2 或或EXF2置置1时产生中断 时产生中断 DCEN 1时 定时器时 定时器2 可递增或递减计数 此模式允许可递增或递减计数 此模式允许T2EX 控制 计数的方向 当 控制 计数的方向 当T2EX 1时定时器时定时器2递增计数 计数到递增计数 计数到0FFFFH 后溢 出并置位 后溢 出并置位TF2 还将产生中断 如果中断被使能 定时器 还将产生中断 如果中断被使能 定时器2的溢出 将使 的溢出 将使RCAP2L和和RCAP2H中的中的16位值作为重新装载值放入位值作为重新装载值放入TL2和和 TH2 当 当T2EX 0时 将使定时器时 将使定时器2递减计数 当递减计数 当TL2 和和TH2 计数 到等于 计数 到等于RCAP2L 和和RCAP2H 时 定时器产生溢出 定时器时 定时器产生溢出 定时器2 溢出置 位 溢出置 位TF2 并将 并将0FFFFH 重新装入重新装入TL2 和和TH2 当定时器 当定时器2递增递增 递减产 生溢出时 外部标志位 递减产 生溢出时 外部标志位EXF2 翻转 如果需要可将翻转 如果需要可将EXF2 位作为第位作为第17 位 在此模式中位 在此模式中EXF2 标志不会产生中断 标志不会产生中断 湖南工业大学电气与信息工程学院湖南工业大学电气与信息工程学院 第第5章定时章定时 计数器及串行通信应用计数器及串行通信应用湖南工业大学电气与信息工程学院湖南工业大学电气与信息工程学院 第第5章定时章定时 计数器及串行通信应用计数器及串行通信应用湖南工业大学电气与信息工程学院湖南工业大学电气与信息工程学院 第第5章定时章定时 计数器及串行通信应用计数器及串行通信应用 2 定时 定时 计数捕获方式计数捕获方式 在捕获模式中通过在捕获模式中通过T2CON 中的中的EXEN2 设置两个选项 如果设置两个选项 如果 EXEN2 0 定时器 定时器2 作为一个作为一个16 位定时器或计数器 由位定时器或计数器 由 T2CON 中中C T2 位选择 溢出时置位位选择 溢出时置位TF2 定时器 定时器2 溢出标志 位 该位可用于产生中断 通过使能 溢出标志 位 该位可用于产生中断 通过使能IE 寄存器中的定时器寄存器中的定时器2 中 断使能位 如果 中 断使能位 如果EXEN2 1 与以上描述相同 但增加了一个 特性 即外部输入 与以上描述相同 但增加了一个 特性 即外部输入T2EX 由由1 变变0 时 将定时器时 将定时器2 中中TL2 和和TH2 的 当前值各自捕获到 的 当前值各自捕获到RCAP2L 和和RCAP2H 另外 另外T2EX 的负跳变使的负跳变使 T2CON 中的中的EXF2 置位 置位 EXF2 也象也象TF2 一样能够产生中断 其 向量与定时器 一样能够产生中断 其 向量与定时器2溢出中断地址相同 定时器溢出中断地址相同 定时器2 中断服务程序通过查 询 中断服务程序通过查 询TF2 和和EXF2 来确定引起中断的事件 来确定引起中断的事件 捕获模式如图所示 在该模式中捕获模式如图所示 在该模式中TL2 和和TH2 无重新装载值 甚至 当 无重新装载值 甚至 当T2EX 产生捕获事件时 计数器仍以产生捕获事件时 计数器仍以T2EX 的负跳变或振荡频 率的 的负跳变或振荡频 率的1 12计数 计数 湖南工业大学电气与信息工程学院湖南工业大学电气与信息工程学院 第第5章定时章定时 计数器及串行通信应用计数器及串行通信应用湖南工业大学电气与信息工程学院湖南工业大学电气与信息工程学院 第第5章定时章定时 计数器及串行通信应用计数器及串行通信应用 3 波特率发生器方式 波特率发生器方式 寄存器寄存器T2CON 的位的位TCLK 和或和或RCLK 允许从定时器允许从定时器1 或定时器或定时器2 获 得串行口发送和接收的波特率 当 获 得串行口发送和接收的波特率 当TCLK 0 时定时器时定时器1作为串行口发 送波特率发生器 当 作为串行口发 送波特率发生器 当TCLK 1时定时器时定时器2 作为串行口发送波特率发生 器 作为串行口发送波特率发生 器 RCLK对串行口接收波特率有同样的作用 通过这两位串行口能 得到不同的接收和发送波特率 一个通过定时器 对串行口接收波特率有同样的作用 通过这两位串行口能 得到不同的接收和发送波特率 一个通过定时器1 产生 另一个通 过定时器 产生 另一个通 过定时器2 产生 产生 定时器定时器2工作在波特率发生器模式时与自动重装模式相似 当工作在波特率发生器模式时与自动重装模式相似 当TH2 溢 出时 波特率发生器模式使定时器 溢 出时 波特率发生器模式使定时器2 寄存器重新装载来自寄存器 寄存器 寄存器重新装载来自寄存器 寄存器RCAP2H 和和RCAP2LR 的值由软件预置 当串行口工作于模 式 的值由软件预置 当串行口工作于模 式1 和模式和模式3 时 波特率由下面给出的定时器时 波特率由下面给出的定时器2 溢出率所决定 溢出率所决定 X 振荡频率 溢出率 波特率 和串行口方式 655363216 T2 31 式中的X为16位无符号数 即式中的X为16位无符号数 即RCAP2H 和和RCAP2L的的16位的值 位的值 湖南工业大学电气与信息工程学院湖南工业大学电气与信息工程学院 第第5章定时章定时 计数器及串行通信应用计数器及串行通信应用 4 可编程时钟输出方式 可编程时钟输出方式 当C T2 0 T2工作在定时器方式 时 置位当C T2 0 T2工作在定时器方式 时 置位T2OE则定 时器 则定 时器T2可从可从P1 0输出占空比为输出占空比为1 1的时钟信号 时钟输出 频率为 的时钟信号 时钟输出 频率为 X 振荡频率 时钟输出频率 655364 式中的X为16位无符号数 即式中的X为16位无符号数 即RCAP2H 和和RCAP2L的的 16位的值 位的值 湖南工业大学电气与信息工程学院湖南工业大学电气与信息工程学院 第第5章定时章定时 计数器及串行通信应用计数器及串行通信应用 5 1 6 定时器T3 WDT监视定时器5 1 6 定时器T3 WDT监视定时器 5 6 1 WDT的功能和应用特点的功能和应用特点 当系统的当系统的CPU部位受到干扰信号的作用时 将使系统失 控 最典型的故障是破坏程序计数器 部位受到干扰信号的作用时 将使系统失 控 最典型的故障是破坏程序计数器PC的状态值 导致程序在 地址空间内 的状态值 导致程序在 地址空间内 乱飞乱飞 或者陷入死循环 而我们对这种情况的处 理主要有这么几种方法 或者陷入死循环 而我们对这种情况的处 理主要有这么几种方法 1 指令冗余技术 指令冗余技术 2 软件陷阱 技术 软件陷阱 技术 3 看门狗技术 看门狗技术 看门狗是利用一个专门的定时器 来监控主程序的运行 也就是说在主程序的正常运行过程中 我们要在看门狗定时时 间到之前对定时器进行复位 如果出现死循环 或者说 看门狗是利用一个专门的定时器 来监控主程序的运行 也就是说在主程序的正常运行过程中 我们要在看门狗定时时 间到之前对定时器进行复位 如果出现死循环 或者说PC指 针不能回来 那么看门狗得不到复位 其定时时间到后就会产 生一个信号使单片机复位 程序重新开始运行 指 针不能回来 那么看门狗得不到复位 其定时时间到后就会产 生一个信号使单片机复位 程序重新开始运行 湖南工业大学电气与信息工程学院湖南工业大学电气与信息工程学院 第第5章定时章定时 计数器及串行通信应用计数器及串行通信应用 要激活或复位要激活或复位89S51看门狗 只需向看门狗复位寄存 器 看门狗 只需向看门狗复位寄存 器WDTRST 地址为 地址为A6H 顺序写入 顺序写入1EH和和E1H即可 即可 MOV0A6H 1EH 先送先送1EH MOV 0A6H 0E1H 后送后送E1H 注意事项 注意事项 1 89S51的看门狗必须由程序激活后才开始工作 所以必须 保证 的看门狗必须由程序激活后才开始工作 所以必须 保证CPU有可靠的上电复位 否则看门狗也无法工作 有可靠的上电复位 否则看门狗也无法工作 2 看门狗使用的是 看门狗使用的是CPU的晶振 在晶振停振的时候看门狗也 无效 的晶振 在晶振停振的时候看门狗也 无效 3 89S51只有只有14位计数器 在位计数器 在16383个机器周期内必须至少 喂狗 看门狗复位 一次 而且这个时间是固定的 无法更 改 当晶振为 个机器周期内必须至少 喂狗 看门狗复位 一次 而且这个时间是固定的 无法更 改 当晶振为12M时每时每16个毫秒需喂狗一次 个毫秒需喂狗一次 89S52只有只有13 位计数器 在位计数器 在8191个机器周期内必须至少喂狗一次 当晶振 为 个机器周期内必须至少喂狗一次 当晶振 为12M时每时每8个毫秒需喂狗一次个毫秒需喂狗一次 湖南工业大学电气与信息工程学院湖南工业大学电气与信息工程学院 第第5章定时章定时 计数器及串行通信应用计数器及串行通信应用 并行通信和串行通信并行通信和串行通信并行通信和串行通信并行通信和串行通信
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 汉字的笔画笔顺课件
- 云南省曲靖市民族中学2024-2025学年高一上学期期中检测物理试卷(含解析)
- 内蒙古自治区巴彦淖尔市杭锦后旗2024-2025学年八年级上学期9月月考数学试卷(含答案)
- 《微积分中的真善美》(视频课)知到智慧树答案
- 平凡中演讲稿
- 店面承包合同(10篇)
- 2025食品原料采购合同
- 汉字书法演变课件
- 2025年新型便携式温、湿、风向风速仪项目规划申请报告范样
- 2024年秋新北师大版数学一年级上册教学课件 第二单元 5以内数加与减 第1课时 一共有多少
- 《物业管理法规》课件
- 2024华为干部管理资料第7版
- 《复活》(节选)列夫托尔斯泰-精讲课件
- (完整版)投标文件范本(格式)
- 中国风肺胀中医护理方案
- GB/T 10433-2024紧固件电弧螺柱焊用螺柱和瓷环
- 2024年样板注塑机转让合同范本
- 医院耗材供货服务方案
- 丹江口事业单位笔试真题2024
- 云南大学附属中学数学2023-2024学年七年级上学期开学分班考试数学试题
- 2024年施工承包合同电子版(5篇)
评论
0/150
提交评论