单片机实验6--51定时器实验.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
电子信息工程系实验报告 成 绩:课程名称:单片机原理及接口 成 绩: 指导教师(签名):实验项目名称:51定时器实验 实验时间:2011.12.12 指导教师(签名): 班级:通信 姓名: 学号: 实 验 目 的: 熟悉keil仿真软件、proteus仿真软件的使用和单片机定时程序的编写。了解51单片机中定时、计数的概念,熟悉51单片机内部定时/计数器的结构与工作原理。掌握中断方式处理定时/计数的工作过程,掌握定时/计数器在C51中的设置与程序的书写格式以及使用方法。 实 验 环 境: KEIL C51单片机仿真调试软件,proteus系列仿真调试软件 实 验 内 容 及 过 程: 8051型单片机有两个十六位定时/计数器T0、T1,有四种工作方式,跟定时/计数器相关的特殊功能寄存器有这样几个: 方式控制寄存器TMOD;TMOD的低四位为T0的方式字,高四位为T1的方式字。 D7 D6 D5 D4 D3 D2 D1 D0 GATE C/T M1 M0 GATE C/T M1 M0 M1、M0的状态决定定时器的工作方式,定时和外部事件计数方式选择位C/T,C/T=0为定时器方式。GATE与TR0、TR1配合决定定时/计数器的启停。GATE = 0时,定时器/计数器的启停只受定时器运行控制位(TR0、TR1)的控制。 (软件启动)。GATE = 1时,定时器/计数器的启停除受TR0、 TR1控制外,还受外部引脚(INT0、 INT1)输入电平的控制(为高)。即TR0和INT0控制T0的运行,TR1和INT1控制T1的运行 (软硬启动)。 M1 M0 功 能 说 明 0 0 1 1 0 1 0 1 方式0,为13位的定时/计数器 方式1,为16位的定时/计数器 方式2,为常数自动重装入的8位定时/计数器 方式3,T0分为两个8位定时/计数器, T1在该方式时停止 加法计数寄存器TH0、TH1 (高八位)TL0、TL1(低八位); 定时/计数到标志TF0、TF1(中断控制寄存器TCON); 定时/计数器启停控制位TR0、TR1(TCON); 定时/计数器中断允许位ET0、ET1(中断允许寄存IE); 定时/计数器中断优先级控制位PT0、PT1(中断优IP); 当M1M0=01时,定时器工作于方式1。T1工作于方式1时,由TH1作为高8位,TL1作为低8位,构成一个十六位的计数器。 MCS-51单片机定时计数器的工作原理如下图所示, 单片机内部的定时计数模块,在定时时,对工作频率的12分频进行计数,先记入TL后记入TH,直到溢出为止,根据TL、TH内的初值不同可以定出不同的时间;在计数工作方式时,对T0(T1)引脚的输入脉冲进行计数,将计数值记入TL、TH。当定时/计数溢出时,会引起中断。 计数初值与定时时间的关系为:T = 12×(T_all – a)/fosc定时间隔为T,计数初值为a。所以有计数初值a =–T×fosc/12,THx = a / 256,TLx = a % 256。定时器均有一个最大定时时间,对于长时间的定时需要,可以将定时间隔为固定的较小时间,通过另设一全局变量ah1用于计数,累加固定的较小定时时间来进行。 使用MCS-51单片机的定时/计数器的步骤是: 1.设定TMOD,确定: 工作状态(用作定时器/计数器); 工作方式; 控制方式。 2.设置合适的计数初值,以产生期望的定时间隔。由于定时/计数器在方式0、方式1和方式2时的最大计数间隔取决于使用的晶振频率fosc,如下表所示,当需要的定时间隔较大时,要采用适当的方法,即将定时间隔分段处理。 3.确定定时/计数器工作于查询方式还是中断方式,若工作于中断方式,则在初始化时开放定时/计数器的中断及总中断: ET0 = 1; EA = 1; 还需要编写中断服务函数: void T0_srv(void) interrupt 1 using 1 { TL0 = a % 256; TH0 = a / 256; 中断服务程序段 } 4.启动定时器:

文档评论(0)

137****7707 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档