- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 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.启动定时器:
您可能关注的文档
最近下载
- 螺纹和紧固件基础知识剖析课件.ppt VIP
- 技术管理标准化手册—设计文件审核.ppt
- (压轴题)初中化学九年级上册第五单元《化学方程式》测试题(含答案解析)(4).doc VIP
- 2023-2024学年北京市西城区八年级上学期期末考试道德与法治试卷含答案.pdf VIP
- 5S基础知识——5S推行5S基础知识——5S推行.ppt VIP
- 螺纹和紧固件基础知识剖析课件.pptx VIP
- 马工程管理学全章节(共16章&绪论)思维导图.pdf VIP
- 病理科业务学习细胞蜡块的制备.pptx VIP
- 前处理软件BETA-ANSA操作指导书.doc VIP
- 初中历史教学中的情境导入分析教学研究课题报告.docx
文档评论(0)