首页
|
新闻
|
新品
|
文库
|
方案
|
视频
|
下载
|
商城
|
开发板
|
数据中心
|
座谈新版
|
培训
|
工具
|
博客
|
论坛
|
百科
|
GEC
|
活动
|
主题月
|
电子展
注册
登录
论坛
博客
搜索
帮助
导航
默认风格
uchome
discuz6
GreenM
»
模拟电路
» 基于PIC16F877单片机的简易测速计设计方案
返回列表
回复
发帖
发新话题
发布投票
发布悬赏
发布辩论
发布活动
发布视频
发布商品
基于PIC16F877单片机的简易测速计设计方案
发短消息
加为好友
520503
当前离线
UID
872339
帖子
13270
精华
0
积分
6635
阅读权限
90
在线时间
361 小时
注册时间
2012-3-2
最后登录
2016-3-10
论坛元老
UID
872339
1
#
打印
字体大小:
t
T
520503
发表于 2013-11-24 22:17
|
只看该作者
基于PIC16F877单片机的简易测速计设计方案
单片机
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为被测对象齿轮的直径,通过物理方法测得。
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中断标志位置位,直接采用中断方式进行处理,即在中断服务子程序中处理相关寄存器的数值或状态变化,计算并储存相关物理量,以上设置均由软件编程来完成。
2.3设计与实现
该简易速度计的设计实现主要基于PIC16F877的CCP模块功能,这里我们首先将PIC16F877的CCP1配置为捕捉模式,预分频比设置为1:1,每个上升沿触发。
当捕捉到跳变后CPP1中断标志位置位,直接采用中断方式进行处理,即在中断服务子程序中处理相关寄存器的数值或状态变化,计算并储存相关物理量,以上设置均由软件编程来完成。
收藏
分享
评分
回复
引用
订阅
TOP
返回列表
电商论坛
Pine A64
资料下载
方案分享
FAQ
行业应用
消费电子
便携式设备
医疗电子
汽车电子
工业控制
热门技术
智能可穿戴
3D打印
智能家居
综合设计
示波器技术
存储器
电子制造
计算机和外设
软件开发
分立器件
传感器技术
无源元件
资料共享
PCB综合技术
综合技术交流
EDA
MCU 单片机技术
ST MCU
Freescale MCU
NXP MCU
新唐 MCU
MIPS
X86
ARM
PowerPC
DSP技术
嵌入式技术
FPGA/CPLD可编程逻辑
模拟电路
数字电路
富士通半导体FRAM 铁电存储器“免费样片”使用心得
电源与功率管理
LED技术
测试测量
通信技术
3G
无线技术
微波在线
综合交流区
职场驿站
活动专区
在线座谈交流区
紧缺人才培训课程交流区
意见和建议