关键词:编码传感器

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所示。



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