




已阅读5页,还剩18页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
定时 实现方式 1 软件定时 2 不可编程硬件定时 3 可编程定时 2 9MCS 51单片机的定时 计数器 定时 计数器简称定时器 8051单片机有2个16位的定时 计数器 定时器0 T0 和定时器1 T1 它们都有定时器或事件计数的功能 可用于定时控制 延时 对外部事件计数和检测等场合 T0由2个特殊功能寄存器TH0和TL0构成 T1则由TH1和TL1构成 一 定时 计数器的定时和计数功能 1 定时功能 计数输入信号是内部时钟脉冲 每个机器周期使寄存器的值加1 所以 计数频率是振荡频率的1 12 2 计数功能 计数脉冲来自相应的外部输入引脚 T0为P3 4 T1为P3 5 作计数器时 通过引脚T0 P3 4 和T1 P3 5 对外部脉冲信号计数 当输入脉冲信号从1到0的负跳变时 计数器就自动加1 计数的最高频率一般为振荡频率的1 24 定时 计数器的核心部件是二进制加1计数器 TH0 TL0或TH1 TL1 二 定时器 计数器的控制寄存器 与定时器 计数器有关的控制寄存器有 1 定时器控制寄存器TCON 中断请求标志 触发方式选择 启动定时 计数器 0低电平1下降沿 0停止1启动 2 工作方式控制寄存器TMOD T1控制 T0控制 GATE 门控位 M1M0 工作方式选择 计数脉冲输入 三 定时器 计数器的工作方式 定时器 计数器共有四种工作方式 1 方式0 13位方式 13位计数器 定时器 计数器 2 方式1 16位方式 3 方式2 8位自动装入时间常数方式 4 方式3 2个8位方式 仅T0可以工作在方式3 此时T0分成2个独立的计数器 TL0和TH0 前者用原来T0的控制信号 TR0 TF0 后者用原来T1的控制信号 TR1 TF1 1 计数器初值的计算把计数器计满为零所需要的计数值设定为C 计数初值设定为TC 由此可得到公式 TC M C式中 M为计数器模值 该值和计数器工作方式有关 在方式0时M为213 在方式1时M为216 在方式2和方式3时M为28 四 定时 计数器常数的计算 2 定时器初值的计算在定时器模式下 计数器由单片机主脉冲经12分频后计数 因此 定时器定时时间T的公式 T M TC T计数上式也可写成 TC M T T计数式中 M为模值 和定时器的工作方式有关 T计数是单片机振荡周期TCLK的12倍 TC为定时器的定时初值 五 应用举例 可编程器件在使用前需要进行初始化 确定TMOD控制字 编程时将控制字送TMOD 计算计数器的计数初值 编程时将计数初值送THi TLi 开中断 如果使用中断方式 编程实置位EA ETi TRi位置位控制定时器的启动和停止 例题1 设晶振频率fOSC 6MHz 使用定时器1以方式1产生周期为500 s的方波脉冲 并由P1 0输出 试以中断方式实现 TMOD确定 T1控制 T0控制 控制字10H 要产生500 s的方波脉冲 只需在P1 0端以250 s为间隔 交替输出高低电平即可实现 为此 定时间应为250 s 使用6 z晶振 则一个机器周期为2 s 设待求计数初值为 则 计算计数器的计数初值 216 X 2 10 6 250 10 6即216 X 125X 216 125 10000H 7DH 0FF83H所以 初值为 TH1 0FFH TL1 83H 采用中断方式 编程时打开全局和局部中断 由定时器控制寄存器TCON中的TR1位控制定时器的启动和停止 TR1 1 启动 TR1 0 停止 例题2 假设单片机的振荡频率fosc 6MHz 现要求产生1ms的定时 试分别计算定时器T1在方式0 方式1和方式2时的初值 解 方式0 最大计数值为M 213 因此定时器的初值应为X 213 1 10 3 12 6 10 6 7692D 1111000001100B其中高8位为TH1的初值 即F0H 低5位为TL1的初值 注意 这里TL1的初值应为00001100B即0CH 而不是60H 因为在方式 时 TL1的高3位是不用的 应都设为0 方式1 最大计数值为M 216 因此定时器的初值应为X 216 1 10 3 2 10 6 65036D 1111111000001100B FE0CH此时高8位TH1的初值为FEH 低8位TL1的初值为0CH 方式2 最大计数值为M 28 因此定时器的初值应为X 28 1 10 3 2 10 6 256 500 254计算得到的初值为负值 说明当fosc 6MHz时 不能采用方式2 即常数自动装入 来产生1ms的定时 除非把单片机的时钟频率降得很低 定时器 计数器应用实例 实例内容 利用T0定时 产生2s定时 使得P1口输出信号 控制8个发光二极管循环点亮 设fOSC 12MHz 难点 P1口输出信号 控制8个发光二极管循环点亮 但此处由于定时时间长达2s 所以单靠一个定时器不能解决问题 可以采取硬件定时和软件计数 或硬件计数 结合方式 硬件定时与软件计数结合方式解题思路 让T0作定时器用 如T0可以定时50ms 每当定时时间到 在T0中断处理程序中一个寄存器内容加1 同时判断是否加到2000 50 40 如果不到40 则直接返回 如果计到40 说明2s时间到 使P1口循环点亮8个发光二极管后再返回 T0工作在方式1 控制字01H 计数初值 216 X 1 10 6 50 10 3即216 X 50000X 216 50000 10000H C350H 3CB0H所以 初值为 TH1 3CH TL1 B0H 程序设计 ORG0000HLJMPMAIN 主程序入口ORG000BHLJMPINTT0 T0中断入口 ORG1000HMAIN MOVTMOD 01H T0为方式1MOVTH0 3CHMOVTL0 B0H 初值SETBEA 允许中断SETBET0SETBTR0 启动定时MOVA 01H LED0先亮MOVP1 A MOVR0 0SJMP 等待中断 主程序 中断处理程序 INTT0 MOVTH0 3CH 重新设置初值MOVTL0 B0HINCR0CJNER0 40 NEXT 不等直接返回MOVR0 0 2s到RLA 依次点亮NEXT RETI 硬件定时与硬件计数结合方式解题思路 将引脚P3
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 离婚协议书模板:结合遗产规划与家族企业传承
- 离婚双方房产、存款及子女抚养责任明确协议书
- 商务酒店租赁合同终止及客户权益保障协议
- 离婚协议书关于房产分割及还款责任约定
- 离婚协议范本:共同子女教育基金管理细则
- 高端公寓租赁合同提前终止及补偿条款详尽协议
- 班组级安全培训重点内容课件
- 2025年急救医学AED操作技能竞赛答案及解析
- 冷挤压技术考试题及答案
- 交通银行2025随州市秋招无领导小组面试案例题库
- SJ-T 11805-2022 人工智能从业人员能力要求
- 高职大学生心理健康教育 第四版 课件 第二单元 完善自我意识
- 电机与拖动(高职)全套教学课件
- 建筑质量事故分析全套教学课件
- 急诊科护士的突发事件应急处置
- 屋檐下的腊八粥
- 妇产科母乳喂养质量持续改进QCC品管圈PDCA案4例
- 固定管板式换热器检修要点
- 深圳机场国际货站信息系统(CTIS)全流程综合联调方案v17
- 手术操作分类代码国家临床版3.0
- (完整word)软件验收单
评论
0/150
提交评论