单片机应用技术6-简易频率计.pptVIP

  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文档。上传文档
查看更多
程序的设计思路: #include AT89X51.h sbit CLK=P2^0; //声明引脚 void main(viod) { 设置定时器的初始化命令; while( 1) { ; } //什么也不做,也可以是其他程序 } void 中断服务函数名( ) interrupt 中断号 { 重装定时器的初始值; CLK=~ CLK; // P2.0取反 } 回 顾 单片机技术基础 成友才 课题六 简易频率计 单片机技术基础 简易频率计 定时器/计数器介绍 输出1kHz方波 定时1s 简易频率计 软件延时是通过不断执行指令,利用每条指令需要一定的机器周期消耗时间。 如循环:for(i=250;i0;i--); 软件定时的特点: 1.编程较为简单,时间计算较为麻烦; 2.更重要的问题是,软件定时执行的过程中,CPU在干嘛?—— 占用了宝贵的CPU资源。 软件延时 A:外加硬件电路实现,例如555时基电路。 缺点:增加成本、电路板尺寸等。 B:利用51单片机自带的定时计数器功能。 51单片机集成了2个16位的定时/计数器,可做定时用,可做计数用,可各自独立也可串联使用。 硬件定时的特点: 定时或计数由单独的电路完成,时间到或计数满,向CPU申请中断。 申请之前,CPU可以做其他事,节省了宝贵的资源。 硬件定时 51单片机的定时计数器 定时器/计数器的实质是一个能够自动加1的电路。 定时功能:是对机器周期计数,机器周期固定,时间就确定。 每一个机器周期结束时定时器自动加1,所以定时器相当于在对机器周期计数,如果机器周期是1us,那么定时器就是每1us加1。 定时器记满(16位/8位/13位几种方式),向CPU申请中断。 51单片机的定时计数器 计数功能:是对外部脉冲计数,脉冲不确定,如流水线上的零件。 只要单片机外部引脚T0或T1有从1到0的负跳变,相应的计数器就自动加1。即计数器实际上是对对应引脚的负跳变在计数,由于受振荡频率的限制,计数的最高频率只能达到振荡周期的1/24。 计数记满(和定时一样,有16/13/8位几种方式),向CPU申请中断。 定时器/计数器简介 T0和T1的工作方式和功能选择由特殊功能寄存器TMOD 的设置确定;定时时间由定时器的计数寄存器(TH0、TL0或TH1、TL1)的值确定;启动标志和定时中断标志在TCON高四位;定时中断允许由中断允许寄存器IE中的相应位确定。 计数器值置于16位的计数寄存器中。向计数寄存器赋值就是给定时器置初始计数数值,直接在表达式中引用计数寄存器就是读取定时器的值。 模式控制寄存器TMOD,是对定时器0和定时器1的计数方式和计数器控制方式进行设置的寄存器,低4位用于T0,高4位用于T1 。 GATE:门控位。为1由外部中断控制定时器工作。 :定时/计数模式选择位。 =0为定时模式; 当 =1为计数模式。 定时模式是对单片机内部的机器周期计数;计数模块是对外单片机引脚上的脉冲计数。 定时器/计数器的控制寄存器TMOD 定时器/计数器的控制寄存器TMOD M1M0 工作方式 功能描述 0 0 方式0 13位计数器(213=8192) 0 1 方式1 16位计数器(216=65536) 1 0 方式2 8位自动重装计数初值计数器 1 1 方式3 仅适用于T0,分为2个独立的8位计数器 方式0为13位计数,由TL0的低5位(高3位未用)和TH0的8位组成。TL0的低5位溢出时向TH0进位,TH0溢出时,置位TCON中的TF0标志,向CPU发出中断请求。最大计数值为:M=213=8192。 定时/计数器的工作方式 0 定时/计数器的工作方式 0 在方式0中,T0计数器的初始值设置命令为: TH0=(8192-t×f/12)/32; TL0=(8192-t×f/12)%32; 表达式中,如果为定时方式,则t为需要定时的时间,单位为μs,f为单片机的工作频率,单位为MHz;如果为计数方式,则t为需要计数的次数,f=12。 在程序编译时,编译程序自动将表达式进行计算,换算成对应的数值并赋值给TH和TL,与手动计算出对应的数值给TH、TL赋值一样。 定时/计数器的工作方式 1

文档评论(0)

132****9295 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档