用单片机实现的脉冲编码传感器

发布者:CW13236066525最新更新时间:2010-08-11 来源: 单片机与嵌入式系统应用 关键字:单片机  编码器  解码器  解码写入器  智能传感器 手机看文章 扫描二维码
随时随地手机看文章

       引 言
   
       随着社会的发展,出租车成为人们生活中非常方便且较普遍的交通工具,但出租车计价器却相对较为落后。在过去,出租车采用机械式计价器,用齿轮比的方式来计算出租车所跑的里程数,并由里程数来换算车费。但是机械齿轮体积较大,计算不是很准确,而且容易磨损。后来又采用了传感器方式,利用传感器接收车的跑动信息,从而计算里程数和车费。但此方法通常使干扰信号也能产生计数脉冲,所以也不完善。笔者引用单片机技术,使用编码和解码信息传递方式来完成计价器计数脉冲的形成。单片机可以很精确的检测到传感器信号,这样计价就会非常准确。完成此装置所需器件简单,成本非常低,技术上也容易实现。

       1 系统原理
   
       系统框图如图1所示,本文主要介绍虚线框内模块的设计。出租车驱动轮转数与转轴转数的传动比是一定的,而转轴转动时带动一小磁体转动,其传动比也是一定的,小磁体每转动一周就和磁感应传感器正对一次,磁感应传感器就会产生一个大约20 ms的低脉冲,可以通过计算磁感应传感器产生的低脉冲数来计算出租车跑的里程数及相应的车费。

系统框图

       编码器的单片机通过一个I/0口来检测磁感应传感器信号,当确定为传感器产生的信号时,就通过另一个I/O口向解码器的单片机发送一组编码,而解码器的单片机则首先判断当前准备接收的数据是编码器发送的编码还是解码写入器发送的解码。当判断是解码写入器发送的解码时,解码器的单片机接收此解码,并利用12c总线协议将解码保存到E2PROM中去;当判断是编码器发送的编码时,解码器的单片机先接收此编码,然后读出自己E2PROM中的解码,将其与接收到的编码相比较,如果相同则解码器单片机通过一个I/0口向计价装置发出计价脉冲,否则不发出计价脉冲。注意:这里每一辆出租车计价器的编码和解码都是不同的,这样有利于出租车的管理以及防止计价器的盗用,解码器中的解码是使用解码写入器写入其E2PRoM中去的。每辆出租车计价器都具有一个编码器和一个解码器,而所有的出租车计价器都共用一个解码写人器。也就是说,在计价器卖出之前,用同一个解码写入器为所有的计价器的解码器写入不同的初始解码。写入初始解码以后,计价器就不再需要解码写入器了,除非此计价器坏掉需要重新更换解码器,此时需再用解码写入器给新的解码器写入初始解码。硬件电路设计图如图2和图3所示。

解码器和编码器电路图


       2 系统功能的实现

       2.1 传感器

   
        本系统的编码器部分利用传感器来接收出租车的跑动信号,这里采用的传感器为磁感应传感器,当其与车辆转轴带动的小磁体正对时,传感器的输出引脚便会产生一个约20ms的低脉冲。

       2.2编码器

   
       编码器部分使用的单片机为PIC12C508A,利用PIC12C508A芯片的第4个引脚GP3来检测传感器的输出信号。当检测到确定的传感器信号后,单片机将按一定的时序在其第7个引脚GP0连续发送5个十进制数据(即编码形式为5位十进制数)给解码器,每个数据都是按脉冲方式发送出去的。十进制数是多少,就发送几个低脉冲,发送一个十进制数据所用的时间要保证在255μs以内。其程序流程图如图4所示。

编码器程序流程图

       2.3 解码写入器
   
       解码写入器部分使用的单片机为AT89C51,解码写入器的功能与编码器的功能类似。由于发送的解码要能随时改变,这里可以外接5个小数字键盘,解码写入器要发送的解码可以从5个小数字键盘上获得。为了和编码器发送的编码区别开来,解码写入器需要先发送一个区别字符,使解码器能够识别出当前接收的是编码器还是解码写入器发出的数据。区别字符后面紧跟着的是解码,所有这些数据的发送方式与编码器编码的发送方式完全相同,由AT89C51单片机的P3.4口输出,其程序流程图如图5所示。

解码写入器的程序框图

       2.4 解码器
   


       这部分采用的单片机是PIC12CE5C18,其内部有E2PROM。可以利用I2c协议随时从E2PROM中读出解码或者向E2PROM中写入新的编码。下面介绍工作过程。首先解码器读出内部E2PRoM中00h~04h中的5个十进制数据,分别保存到5个内部数据存储单元中。然后调用接收数据子程序,接收1个数据,并先保存到1个内部数据存储单元中,判断这个数据是否为区别字符10。若不是区别字符,说明现在接收的数据可能是编码器发送的编码,则继续接收后面的4个数据,并保存到4个内部数据存储单元中,将接收到的这5个十进制数据与前面解码器读出的内部E2PROM中00h~04h中的5个十进制数据进行比较,相等则在GP0引脚上发送一个2 ms的低脉冲作为计价脉冲,不相等则重新接收数据。若是区别字符10,说明现在解码写入器要修改解码器的解码,必须马上接收跟在区别字符后面的5个数据,并将这5个十进制数据保存到E2PROM的00h~04h中,覆盖以前的解码。其程序流程图如图6所示,其调用的子程序如图7和图8所示。

解码器流程图

调用子程序流程
调用子程序流程

       结论
   
       本系统解决了以往计价器计价不准确、使用寿命短等缺点,现在采用以单片机为主控制单元的编码解码技术,使每个出租车的计价器拥有不同的编码,从而防止出租车之间计价器的相互盗用,便于出租车公司对出租车的管理。同时,可以随时对单片机的外围电路进行扩展,并通过软件编程实现本系统的不断升级。

关键字:单片机  编码器  解码器  解码写入器  智能传感器 引用地址:用单片机实现的脉冲编码传感器

上一篇:用VC++.NET实现C167CR单片机与PC的串行通信
下一篇:智能液晶触摸显示终端与单片机接口的设计

推荐阅读最新更新时间:2024-03-16 12:29

基于MODEM的单片机与PC机间的远程通信研究
随着 计算机 技术、通信技术的发展和成熟, 数据通信 已经成为一种广泛应用的通信方式,它是利用通信系统将数字、字母及字符等以二进制形成在计算机之间进行传输、交换和处理。数据通信可以在两台及以上PC 机之间、PC机与 单片机 之间以及单片机之间进行,通过通 信通 道如公用 电话网 、载波通道、光绺通道、微波通道、卫星通道将两机联结。目前,单片机以其高性能价格比、高可靠性广泛用于自动监视、测量、控制等技术领域。单片机主要用作从机,安装在监视、测量和控制现场,而PC机则用作主机,安装在条件优越的环境(如温度和温度适合、几乎无干扰源)中。单片机与PC机之间利用公共电话 网通 过调制解调器 MODEM 实现远程数字通信,其原理框图如图1所示
[单片机]
8051单片机架构类型有哪些
8051单片机使用8位数据总线,因此它们最多可以支持64K的外部数据存储器和64k的外部程序存储器。总的来说,8051单片机可以寻址128k的外部存储器。 当数据和代码位于不同的内存块时,这种架构被称为哈佛架构。如果数据和代码位于同一内存块中,则该架构称为冯诺依曼架构。 冯诺依曼架构 冯诺依曼架构最早由计算机科学家约翰冯诺依曼提出。在这种架构中,指令和数据都存在一个数据路径或总线。因此,CPU一次执行一项操作。它要么从内存中获取指令,要么对数据执行读/写操作。因此取指令和数据操作不能同时发生,共享公共总线。 冯诺依曼架构支持简单的硬件,它允许使用单个顺序存储器。今天的处理速度大大超过了内存访问时间,只使用了非常快且数量
[单片机]
8051<font color='red'>单片机</font>架构类型有哪些
Microchip推出具有集成2D GPU和集成DDR2存储MCU
PIC32MZ DA MCU借助MPLAB® Harmony工具和支持,简化了24位彩色大屏幕的图形设计 Microchip Technology Inc.(美国微芯科技公司)日前宣布推出32位PIC32MZ DA单片机(MCU)系列,这是业界首款具有集成2D图形处理单元(GPU)和高达32 MB集成DDR2存储器的MCU。微芯科技公司是单片机、混合信号、模拟和闪存专利解决方案的领先提供商,提供的该系列产品使客户能够借助使用方便的单片机(MCU)资源和工具(包括MPLAB®集成开发环境(IDE)和MPLAB Harmony集成软件框架),提高其应用的颜色分辨率和显示尺寸(最大12英寸)。 对于希望继续使用熟悉的M
[单片机]
Microchip推出具有集成2D GPU和集成DDR2存储<font color='red'>器</font>的<font color='red'>MCU</font>
嵌入式实时操作系统uC/OS-II及其应用
早在上世纪六十年代,就已经有人开始研究和开发嵌入式操作系统。但直到最近,它才在国内被越来越多的提及。其在通信、电子、自动化等需要实时处理的领域所日益显现的重要性吸引了人们越来越多的注意力。针对国内大部分用户使用的51系列的8位处理器,我们可以选择mC/OS-II 。  mC/OS- II是由Labrosse先生编写的一个开放式的内核,它最主要的特点就是源码公开的自由软件。这一点对于用户来说可谓利弊各半;好处在于,一方面它是免费的;另一方面用户可以根据自己的需要对它进行修改。坏处在于,它缺乏必要的支持。它没有功能强大的软件包,用户通常得自己编写驱动程序,特别当用户使用的是不太常用的单片机,还必须自己编写移植程序。  mC/OS-I
[嵌入式]
单片机交通灯实验
弄了两三天的交通灯程序终于差不多完成了,就是调试时间还有点问题,调试了很久,不过现在跟之前的要求差不多了,嘿嘿。 参考资料:http://www.51hei.com/mcu/58.html 程序:#include reg52.h #define uint unsigned int #define uchar unsigned char sbit red1=P0^2; sbit yellow1=P0^1; sbit green1=P0^0; sbit red2=P0^7; sbit yellow2=P0^6; sbit green2=P0^5; void delay(int);//调用程序声明 void main() { whi
[单片机]
<font color='red'>单片机</font>交通灯实验
基于单片机的自动血压监控系统设计原理
  0 引 言   目前医院使用的自动血压监控系统大多为进口设备,价格昂贵,就医成本高。本文所讨论的系统价格低廉,测量准确,有其独特之处,具有很高的实用价值。   1系统功能和构成   该系统由一台PC机实现数据接收和数据管理,再配合每个病房单独使用的自动血压监测仪(在自动血压计内部加装单片机测控板改装而成),构成完整的自动血压监控系统。如图1所示。   管理用PC机设置在护士站,在PC机上可设定各病房使用的血压监测仪启动和测量的时间,并按设定的时间控制血压监测仪工作,然后接收血压监测仪传回的测量数据;最终将各病房24小时传回的数据绘制成图形或表格,供医生参考。   市场上能完成自动测量的血压计种类繁多,但只能完成单
[医疗电子]
基于<font color='red'>单片机</font>的自动血压监控系统设计原理
采用IEEE 1451.2的智能传感器独立接口设计
引言   20世纪80~90年代,基于各种现场总线技术的智能传感器得到了迅速发展。由于现场总线种类很多,智能传感器接口纷繁复杂。20世纪90年代末,IEEE陆续推出了IEEE 1451协议族,提出了统一的传感器接口和传感器的自描述模型,解决了智能化传感器的兼容性、互换性和互操作性等问题。该协议已经用于压力监测、石油液位监测、蔬菜大棚环境监测等诸多领域。   IEEE 1451.2(transducer to microprocessor communication protocols and transducer electronic data sheet formats)是IEEE 1451协议族中的数字式点对点有线传输
[嵌入式]
基于SPCE061A单片机的数控直流电流源设计
本文设计的数控直流电流源能够很好地降低因元器件老化、温漂等原因造成的输出误差,输出电流在20mA~2000mA可调,输出电流可预置、具有“+”、“-”步进调整、输出电流信号可直接显示和语音提示等功能。 硬件电路采用凌阳单片机SPCE061A为控制核心,利用闭环控制原理,加上反馈电路,使整个电路构成一个闭环,在软件方面主要利用PID算法来实现对输出电流的精确控制。该系统可靠性高、体积小、操作简单方便、人机界面友好。 系统硬件实现方案 本设计采用单片机作为主要控制部件,通过键盘预置输出电流值并采用液晶模块实时显示。整个系统硬件部分由微控制器、电压-电流转换、键盘、显示、直流稳压电源和语音提示等模块组成。系统组成框图
[电源管理]
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved