《实验三秒表实验》PPT课件.ppt_第1页
《实验三秒表实验》PPT课件.ppt_第2页
《实验三秒表实验》PPT课件.ppt_第3页
《实验三秒表实验》PPT课件.ppt_第4页
《实验三秒表实验》PPT课件.ppt_第5页
已阅读5页,还剩33页未读 继续免费阅读

下载本文档

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

文档简介

实验三秒表实验 主要内容 MCS 51单片机定时 计数器的结构MCS 51单片机的中断系统定时器工作原理 一 MCS 51单片机定时 计数器的结构 1 MCS 51定时 计数器的结构 MCS 51的单片机内有两个16位可编程的定时 计数器 它们具有四种工作方式 其控制字和状态均在相应的特殊功能寄存器中 通过对控制寄存器的编程 就可方便地选择适当的工作方式 定时器 计数器的主要作用是用来精确地确定某一段时间间隔 作为定时器用 或累计外部输入的脉冲个数 作为计数器用 当用作为定时器时 在其输入端输入周期固定的脉冲 根据定时器 计数器中累计 或事先设定 的周期固定的脉冲个数 即可计算出所定时间的长度 定时器 计数器的作用 定时器T0特性功能寄存器TL0 低8位 和TH0 高8位 构成 定时器T1由特性功能寄存器TL1 低8位 和TH1 高8位 构成 方式寄存器TMOD控制定时 计数器的工作模式和方式 控制寄存器TCON则用于控制计数器的启动和停止以及计数溢出的标志的设置 并可以向CPU发出中断请求 完成定时计数器的控制功能 程序开始时需对TL0 TH0 TL1和TH1进行初始化编程 以定义它们的工作方式和控制T0和T1的计数 1 方式寄存器TMOD GATE 门控位 控制方式选择位 GATE 0启动不受 INT0或 INT1的控制 GATE 1启动受 INT0或 INT1的控制 C T 外部计数器 定时器方式选择位 C T 0定时方式 C T 1计数方式 M1和M0为工作方式选择位 确定定时器 计数器的工作方式 功能 M1 M0 工作模式选择位 2 定时 计数器控制寄存器TCON 功能 确定定时器 计数器运行状态和启动 停止 TF1 定时器1溢出标志位 当定时器1计满溢出时 由硬件使TF1置 1 并且申请中断 进入中断服务程序后 由硬件自动清 0 在查询方式下用软件清 0 TR1 定时器1运行控制位 由软件清 0 关闭定时器1 当GATE 1 且INT1为高电平时 TR1置 1 启动定时器1 当GATE 0 TR1置 1 启动定时器1 TF0 定时器0溢出标志 其功能及操作情况同TF1 TR0 定时器0运行控制位 其功能及操作情况同TR1 IE1 外部中断1请求标志 IT1 外部中断1触发方式选择位 IE0 外部中断0请求标志 IT0 外部中断0触发方式选择位 3 定时 计数器编程的主要方法 正确设置控制字 初值设置 a把工作方式字写入TMOD b把定时 计数初值装入THx TLx寄存器 c置位ETx允许定时 计数器中断 对中断允许寄存器IE位赋值 d置位EA 使CPU开放中断 e置位TRx 启动计数 对TCON设置 设置定时 计数器的初值 设最大值为M 计数值为N 初值为X 对于计数 X M N 对于定时 X M 定时时间 T其中 T 12 晶振频率 设振荡频率为12MHZ 定时器 计数器初始化流程图 例1 在12MHz系统时钟下 实现5ms定时 分别计算在方式0 1下计数器的初值 计数初值为M 2k X 12 fosc对于方式0 计数器为13位 因此k 13 X 5ms fosc 12MHzM 213 5000 3192 0C78HTHX 0CH TLX 78H对于方式1 计数器为16位 因此k 16 X 5ms fosc 12MHzM 216 5000 60536 EC78HTHX ECH TLx 78H 例2 设定定时器1为定时工作方式 要求软件启动定时器1按方式2工作 定时器0为计数方式 要求由软件启动定时器0 按方式1工作 C T位 D6 是定时或计数功能选择位 当C T 0时定时 计数器就为定时工作方式 所以要使定时 计数器1工作在定时器方式必需使D6 0 定时 计数器1工作在方式2 M0 D4 M1 D5 的值必须是10 设定定时器0为计数方式 定时 计数器0的工作方式选择位也是C T D2 当C T 1时 就工作在计数器方式 使定时 计数器0工作在方式1 M0 D0 M1 D1 的值必须是01 由软件启动定时器0 定时器1 当门控位GATE 0时 定时 计数器的启停就由软件控制 D7 D3为0 D7D6D5D4D3D2D1D000100101 结论 TMOD 0 x25 2 定时器 计数器工作方式 定时 计数器0的工作方式0电路逻辑结构 1 工作方式0 计数器由TH的全部8位和TL的低5位构成 TL的高3位没有使用 当C T 0时 多路开关接通振荡脉冲的12分频输出 13位计数器依次进行计数 这就是定时工作方式 当C T 1时 多路开关接通计数引脚To P3 4 或T1 P3 5 外部计数脉冲由引脚To或T1输入 当计数脉冲发生负跳变时 计数器加1 这就是计数工作方式 在该工作方式下 当作为计数器使用时 其计数范围是1 8192 如果晶振频率fosc 12MHz 则定时范围为1 s 8192 s 工作原理 当TL的低5位溢出时 都会向TH进位 而全部13位计数器溢出时 则会向计数器溢出标志位TF0进位 当TMOD中M1M0 00时 定时器 计数器选定方式0进行工作 定时 计数器工作方式1等效电路 2 工作方式1 当TMOD中M1M0 01时 定时器 计数器选定方式1进行工作 工作原理 其逻辑结构与方式0不同的是两个8位寄存器TH0和TL0全部构成了一个16位的定时器 计数器 其他与工作方式0完全相同 在该工作方式下 当作为计数器使用时 其计数范围是1 65536 如果晶振频率fosc 12MHz 则定时范围为1 s 65536 s 3 工作方式2 定时 计数器工作方式2等效电路 它具有自动重装载功能 即自动加载计数初值 所以也称之为自动重加载工作方式 在这种工作方式中 16位计数器分为两部分 即以TL0为计数器 以TH0作为预置寄存器 初始化时把计数初值分别加载至TL0和TH0中 当计数溢出时 不再象方式0和方式1那样需要 人工干预 由软件重新赋值 而是由预置寄存器TH以硬件方法自动给计数器TL0重新加载 程序初始化时 给TL0和TH0同时赋以初值 当TL0计数溢出时 置位TF0的同时把预置寄存器TH0中的初值加载给TL0 TL0重新计数 这样省去了程序不断需给计数器赋值的麻烦 而且计数准确度也提高了 但这种方式也有其不利的一面 就是计数结构只有8位 计数值有限 最大只能到255 所以这种工作方式很适合于那些重复计数的应用场合 工作原理及特点 当TMOD中M1M0 10时 定时器 计数器选定方式2进行工作 4 工作方式3 定时 计数器工作方式3等效电路 在该工作方式下 T0和T1具有完全不同的功能 定时 计数器T0被拆成两个独立的8位计数器TL0和TH0 其中TL0既可以作计数器使用 也可以作为定时器使用 定时 计数器0的各控制位和引脚信号它都可以使用 其功能和操作与方式0或方式1完全相同 TH0只能作为简单的定时器使用 并占用了定时器T1的状态控制位TRl和TF1 占用T1的中断源 在工作方式3下 定时器 计数器0可以构成2个定时器或1个定时器 1个计数器 如果定时器 计数器T0已工作在工作方式3下 则定时器 计数器T1只能工作在方式0 方式1或方式2下 工作原理 当TMOD中M1M0 11时 定时器 计数器选定方式3进行工作 二 MCS 51的中断系统 MCS 51中断系统结构 外部中断请求源 INT0 外部中断0 由P3 2端口线引入 低电平或下跳沿引起 INT1 外部中断1 由P3 3端口线引入 低电平或下跳沿引起 内部中断请求源T0 定时器 计数器0中断 由T0计满回零引起 T1 定时器 计数器l中断 由T1计满回零引起 TI RI 串行I O中断 串行端口完成一帧字符发送 接收后引起 1 中断处理流程 现场保护和现场恢复 中断打开和中断关闭 中断服务程序 中断返回 2 MCS 51的中断源 1 外部中断请求0 由INT0 P3 2 输入 2 外部中断请求1 由INT1 P3 3 输入 3 片内定时 计数器溢出中断请求TF0 4 片内定时 计数器溢出中断请求TF1 5 片内串行口发送 接收中断请求TI或RI 这几个中断源由TCON和SCON两个特殊功能寄存器进行控制 引起计算机中断的事件 如外设 请求输入输出数据 报告故障等 如事件 掉电 硬件故障 软件错误 非法操作 定时时间到等 概念 TCON寄存器结构 SCON寄存器结构 TF0 TF1 定时器 计数器0 1溢出中断请求标志 当TF1 TF0计数溢出时 由硬件置位 TF0 TF1 1 当CPU响应中断时 由硬件清除 TF0 TF1 0 串行口控制寄存器 RI接收中断请求位 硬件置位 RI 1 T1发送中断请求位 硬件置位 T1 1 3 中断的控制实现中断开关管理和中断优先级管理 MCS 51的对中断的开放和屏蔽是由中断允许寄存器IE控制来实现的 EA为CPU开 关中断控制位 ET0 ET1为定时 计数器溢出中断允许位 IE的结构格式 IP结构格式 MCS 51的对申请中断优先级是通过寄存器IP实现的 PT0 PT1为定时 计数器中断优先级控制位 1为高优先级 0为低优先级 IE寄存器的各控制位功能 EA 中断总控制位 EA 1 CPU开放中断 EA 0 CPU禁止所有中断 ES 串行口中断控制位 ES 1允许串行口中断ES 0 屏蔽串行口中断 ET1 定时 计数器T1中断控制位 ET1 1 允许T1中断 ET1 0 禁止T1中断 EX1 外中断1中断控制位 EX1 1 允许外中断1中断 EX1 0 禁止外中断1中断 ET0 定时 计数器T0中断控制位 ET1 1 允许T0中断 ET1 0 禁止T0中断 EX0 外中断0中断控制位 EX1 1 允许外中断0中断 EX1 0 禁止外中断0中断 4 中断响应 中断响应过程如下 中断源发出中断请求 中断判优 对中断请求进行响应 执行中断服务程序 返回主程序 29 应首先根据需要对这些寄存器进行初始化 即设置T0和T1的工作方式 并对T0和T1定时器装入初始值以得到精确的定时时间 T0和T1的工作方式及运行状态是由TMOD和TCON两个特殊功能寄存器控制的 而TMOD和TCON是由用户所编的程序控制 三 定时 计数器的初始化过程 具体步骤 确定T C工作方式 利用TMOD寄存器 计算T C中计数初值 并装载TH TL T C在中断方式下工作 需开CPU中断 利用IE寄存器 启动T C 利用TCON中的TR0 TR1 1 定时器工作原理 T1 方式1 2 定时器初始化 1 设置定时器工作方式 方式1 方式控制寄存器TMOD 程序设计思路 TMOD 0X10 2 计算定时器初值 并将其放入TL1和TH1中初值计算公式 N 216 Tc 机器周期 方式1 例 在系统时钟为11 0592MHz下 实现1ms的定时要求 计算在方式1的计数器初值 并将初值放入TL1和TH1中 其中Tc 1ms f 11 0592MHzN 65536 1000 11 0592 12 64614 FC66HTH1 0XFCTL1 0X66 3 开定时器中断设置中断允许寄存器IE CPU允许中断EA 1 定时器开中断ET1 1 4 启动定时器设置定时 计数器控制寄存器T

温馨提示

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

评论

0/150

提交评论