单片机转速器的设计.doc

  1. 1、本文档共11页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
摘要 转速表是机械行业必备的仪器之一,用来测定电机的转速、线速度或频率。常用于电机、电扇、造纸、塑料、化纤、洗衣机、汽车、飞机、轮船等制造业。转速测量在国民经济的的各个领域,都是必不可少的。转速检测仪表可分为离心式转速表、磁性转速表、电动式转速表、磁电式转速表、闪光式转速表、电子式转速表、离心式转速表等。 转速传感器从原理上分:有磁电感应式、光电效应、式、霍尔效应式、磁阻效应式、介质电磁感应式等。另外间接测量转速的转速传感器,如加速度传感器、位移传感器等。测速发电机和某些磁电传感器在线性区域,可以直接通过交流有效值转换来测量速度大多数都输出脉冲信号。针对脉冲信号测量转速的方法有:频率积分法和频率运算法。 随着电子技术的发展,现在大多数采用电子数字式转速表,常见的是由光电或霍尔传感器获取信号,通过对脉冲进行计数而推算出转速,并由数字显示器件直接显示。本文用AT89C51单片机来实现转速测量。测量频率主要是在单位定时时间里对被测信号脉冲进行计数。以89C51内部振荡器输出的时钟脉冲信号作为计数信号去触发定时器T0开始定时,再用一个外加脉冲源去触发计数器T1开始计数。然后查看在T0定时在我设定的时间范围内计数器T1所计的数,根据公式f=N/T计算出被测信号的频率,然后单片机把频率换算成转速并通过液晶显示屏显示出来。 关键词:单片机;定时器;计时器;显示器 目 录 1 摘要.......................................................................................................................................I 2 题目 1 3 电路原理图的设计 1 2.1 转速器(LED显示)的电路原理图 1 2.2 LED显示模块 2 2.3 时间模块 2 4 软件系统设计 3 3.1 软件系统的流程结构 3 3.2 时间程序模块 3 3.3 LED显示程序模块 4 5 仿真及调试 5 6 总论 6 参 考 文 献 6 致 谢 7 2 题目 转速计的设计(LED显示) 功能要求: 用MCS-51系列单片机作为控制器;采用4位LED进行转速显示(转/分钟)。 3 电路原理图的设计 3.1 转速器的电路原理图 硬件总体电路原理图如下所示,其中包括电机转动信息的读取模块、读写存储器芯片模块、实时定时计时模块、LED显示模块等。 3.2 LED显示模块 显示电路采用LED数码管动态显示,LED(Light-Emitting Diode)是一种外加电压从而渡过电流并发出可见光的器件。LED是属于电流控制器件,使用时必须加限流电阻。这里采用的是4位LED进行转速动态显示。 3.3 时间模块 在激励电源的激励作用下,L298作为电机驱动芯片,过后给单片机发信号过CMOS4030输出CMOS用的是增强型场效应管,它具有输入阻抗高,输出阻抗低,跨大,抗干扰能力强,功耗低等特点 4 软件系统设计 4.1 软件系统的流程结构 转速器的软件主要包括电机转动信息的读取、读写存储器芯片、实时定时计时的读取、LED显示等模块组成。其流程结构框图如图3-1所示: 系统由开始后,进入电机,发出脉冲信号,进入相应的存储信息、经过计时计数后有LED显示等程序模块。下面叙述主要相关模块程序的编写。 4.2 时间程序模块 void main(void) { TMOD=0x51; //T1工作于计数模式1,T0工作于计时模式1; TH0=0xd8; //定时器T0赋初值 TL0=0xf0; EA=1; //开总中断 ET0=1; //定时器T0中断允许 TR0=1; //启动定时器T0 // count=0; //将T0中断次数初始化为0 while(1) { TR1=1; //计数T1启动 TH1=0; //计数T1高8位赋初值0 TL1=0; //计数T1低8位赋初值0 flag=0; //时间还未满1秒钟 while(flag==0) //时间未满等待 ; sudu=(TH1*256+TL1)*60/16; //计算速度,每周产生16个脉冲 // sudu=10000/(T

文档评论(0)

mx597651661 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档