定时计数初值的设定.ppt_第1页
定时计数初值的设定.ppt_第2页
定时计数初值的设定.ppt_第3页
定时计数初值的设定.ppt_第4页
定时计数初值的设定.ppt_第5页
已阅读5页,还剩10页未读 继续免费阅读

下载本文档

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

文档简介

1、在定时器/计数器中设置计时/计数的初始值,查阅知识,如果单片机时钟电路的振荡频率fosc为11.0592兆赫兹,则经过12次分频后得到的机器周期T0为:T0=1.085us微秒,如果单片机想计数,就不能直接把要计数的值作为初始值放入寄存器中(因为MCS-51单片机的定时器/计数器T0和T1都是增量计数器),而是要计数的。计算定时器/计数器初始计数值的公式,其中n是由工作模式决定的定时器/计数器位数。在工作模式0下,n为13,213=8192,在工作模式1下,n为16,216=65,536。并且初始计数值是2n-实际计数值。例1,在工作模式1中,计时器T0应该用于计时50毫秒。需要以下步骤:(1

2、)设置定时器/计数器T0的工作模式TMOD=0x 01;/tmod=000001 b低4位设置时序/计数器T0,GATA=0,C/T=0,M1M0=01 C/T=0,T0为时序函数。2.实际计数值可根据以下公式计算:实际计数值=46083。3.确定定时器T0 TL0=(65536-46083)%6的初始计数值计时;4。启动定时器T0用C语言启动定时器T0语句:tr0=1;当定时器T0启动时,每个机器循环仪的寄存器TH0和TL0中的计数值将自动增加1。46083个周期后,计数值将增加到溢出值65536,导致溢出。由于定时器在模式2和模式3下工作的最大计时时间仅为0.256毫秒,定时器必须在模式0

3、或模式1下工作才能获得2毫秒的计时时间。在模式0下,可以获得定时器初始值:定时器/计数器T0计数初始值为(213-2000)=8192-2000=6192,实际计数值为=2000。例2:如果单片机的时钟频率为126MHz,请计算2毫秒的定时器初始值。思考:让时钟振荡频率在定时器T0工作在模式0时。1.原理蜂鸣器由单片机驱动,只要单片机发送给蜂鸣器的电平信号每半个音频周期反转一次,蜂鸣器就会发出相应的音频。2.当蜂鸣器鸣响时,电平信号的反转时间应由计时器控制。例如,以1KHz音频发音为例,音频的半周期为0.5毫秒,即500微秒。要计数的脉冲为500/1.085=460次,可通过定时器模式0进行计

4、时。如果使用定时器T1,需要以下步骤:设置定时器/计数器T1的工作模式TMOD=0x 00;/M1M0=00确定定时器T1的初始计数值。计时/计数器T1的初始计数值为(213-460)=(8192-460),并将其存储在寄存器中。声明如下:TH1=(8192-460)/32;TL1=(8192-460)2;启动定时器T1 TR1=1,#包括头文件sbit声音=P37输出引脚3.7至无效主(无效)主功能TMOD=0x 00;定时器T1的工作模式为0 T1=(8192-460)/32;定时器T1的高八位被分配初始值TL1=(8192-460)2;定时器的第五位被赋予初始值TR1=1;当(1)时启动定时器T1,当(TF1=0)时无限循环,询问定时器T1是否溢出;如果没有溢出,等待TF1=0;如果溢出,软件清除并执行以下程序声音=声音;取3.7英尺为T

温馨提示

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

评论

0/150

提交评论