基于PIC16F877单片机简易测速计设计与仿真.docVIP

基于PIC16F877单片机简易测速计设计与仿真.doc

  1. 1、本文档共7页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
基于PIC16F877单片机简易测速计设计与仿真

基于PIC16F877单片机简易测速计设计与仿真   摘 要:介绍了一种基于低功耗芯片PIC16F877的简易测速计的设计过程,并给出了其在Proteus软件下的仿真结果。整个测速计的设计有效地利用了PIC单片机的CPP1捕捉功能,因而简单易行、成本低、可靠性强,而采用Proteus软件进行仿真,则缩短了测速计的设计周期,降低了开发成本。   关键词:PIC16F877; 单片机; CPP1捕捉功能; 测速计; Proteus软件仿真   中图分类号:TP274 文献标识码:A 文章编号:2095-1302(2013)08-0027-03   0 引 言   随着微电子技术的迅猛发展,单片机在汽车、通信、办公自动化、工业控制、高级玩具、家用电器等方面都得到了广泛的应用。如果将Proteus作为单片机系统仿真工具,则不用制作电路板,而可以使用Proteus进行系统虚拟实现,这样不仅能完成所需功能设计验证,还能降低硬件成本的耗用,从而缩短整个设计周期,从根本上提高了电子产品的开发效率。   测速是工农业生产中经常遇到的问题,基于单片机的各种优势,将单片机应用于测速系统,具有很重要的意义。而对于测速技术,首先要解决的就是采样问题。在使用模拟技术制作测速设备时,常用测速发电机的方法,即将测速发电机的转轴与待测轴相连,测速发电机的电压高低反映了转速的高低;而使用单片机进行测速,则可以使用简单的脉冲计数法。只要转轴每旋转一周,产生一个或固定的多个脉冲,并将脉冲送入单片机中进行计数,最终计算出单位时间内的脉冲个数,即可获得转速的相关信息。本文将基于PIC16F877单片机的捕捉功能来完成脉冲计数,利用软件编程实现相关物理关系的转换,最终得出齿轮线速度,并显示在数码管上。   1 测速计原理   1.1 CCP1捕捉功能   PIC16F877单片机中有两个CCP模块,其构造基本相同,分别记为CCP1和CCP2。每个CCP模块可以任意配置为捕捉(Capture)、比较(Compare)和脉宽调制(PWM)3个功能模式之一。   CCP1的捕捉模式具有如下三个功能:其一是可以捕捉RC2/CPP1引脚出现的跳变并保存当时TMR1计数寄存器内容;其二是具有预分频器,可以实现每1个脉冲、每4个脉冲或16个脉冲捕捉一次;其三是捕捉时间能产生中断。   1.2 CCP测速计原理   在捕捉模式下,单片机可以捕捉引脚电平变化时刻的时间值,即引脚输入脉冲上升沿或下降沿出现时刻的精确时间值。PIC16F877的CCP1模块工作于捕捉模式时,当特定的跳变沿出现时,TMR1定时器的计数值会立即复制到CCPR1H和CCPR1L中并产生中断信号,通过在中断服务程序中读取这个16位计数值。当使用CCP1模块的捕捉功能实现相邻两次上升沿时间间隔的测量时,此时间间隔就是输入信号的周期g??_Period。由于主频是4 MHz,即每个指令周期为1 μs,将预分频比设置为1:1,测得周期结果单位为微秒级。所以最终测得的速度值speed通过以下公式得出:   speed=(1M*60s*0.01m*pi)/g_Period   其中,pi为圆周率值;0.01m为被测对象齿轮的直径,通过物理方法测得。   2 功能实现   2.1 系统结构图   测速计功能的实现可由基于PIC16F877的主控制模块、显示模块、齿轮和光电传感器构成的被测模块等几部分构成。通过单片机的RC2/CCP1引脚分别连接被测模块和测量子模块,在Proteus软件仿真时,分别由信号发生器SG1和频率计作为硬件设备连接。SG1用来模拟被测模块产生信号,F1采用频率计方式运行,用来显示当前信号频率,用来做参考值与显示模块数据,即测速计测速结果值进行比较,以验证测速计测速结果的正确与否。各模块之间的连接关系如图1所示。   2.2 设计与实现   该简易速度计的设计实现主要基于PIC16F877的CCP 模块功能,这里我们首先将PIC16F877的CCP1配置为捕捉模式,预分频比设置为1:1,每个上升沿触发。   当捕捉到跳变后CPP1中断标志位置位,直接采用中断方式进行处理,即在中断服务子程序中处理相关寄存器的数值或状态变化,计算并储存相关物理量,以上设置均由软件编程来完成。   本设计软件编程部分统一在PIC系列单片机的专用开发环境MPLAB IDE 8.90下完成,程序代码采用C语言编写。系统主程序流程如图2所示,图3所示是系统中的中断服务程序运行流程。   3 功能仿真   3.1 Proteus下仿真电路的搭建   要在Proteus下完成测速计功能的仿真,首先应在其界面新建设计文件并搭建仿真电路图,本例的测速计功能电路图如图4所示。   在Proteu

文档评论(0)

erterye + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档