- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
* 实验三 ?秒表实验 主 要 内 容 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 模式 说明 0 0 0 13位定时/计数器 高八位TH(7 ~ 0)+ 低五位TL(4 ~ 0) 0 1 1 16位定时/计数器TH(7 ~ 0)+ TL(7 ~ 0) 1 0 2 8位计数初值自动重装TL(7 ~ 0) TH(7 ~ 0) 1 1 3 T0运行,而T1停止工作,8位定时/计数。 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=12MHz M=213-5000=3192=0C78H THX=0CH,TLX=78H 对于方式1,计数器为16位,因此k=16,X=5ms,fosc=12MHz M=216-5000=60536=EC78H THX=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)的值必须是1 0。 设定定时器0为计数方式。定时/计
文档评论(0)