当前位置:首页 > 读后感 > 基于PIC16F877单片机的公交车智能投币机设计_IAP15F2K61S2单片机
 

基于PIC16F877单片机的公交车智能投币机设计_IAP15F2K61S2单片机

发布时间:2019-02-23 04:35:52 影响了:

  [摘要]介绍应用PIC单片机对硬币进行鉴别的原理及其在公交车智能投币机系统中的具体实现。系统采用电涡流传感器对硬币进行信号检测收集,使用PIC16F877作为设计的核心数字信号处理部分,在软件方面使用速度加权算法,目标是硬币的正确辨识率达到98%以上。
  [关键词]电涡流传感器PIC16F877智能投币机
  中图分类号:TP2文献标识码:A文章编号:1671-7597(2009)1110020-01
  
  一、引言
  
  随着社会经济的快速发展及城市交通的不断改善,无人售票公交车得到了普及。但现行的无人投币系统存在着难以辨别真假币,难以对投入的尺寸大小相近的币值自动进行识别和累计等功能,因此导致了一些不文明现象的发生,从而给公交公司造成了巨额经济损失。快速鉴别真假硬币技术在很多方面都有应用,研究一种新型的能够避免上述缺点的投币机无论是对公交公司的发展和社会的发展都会有很大的帮助。本文介绍了一种新型的智能投币机,能够高效、实时、较准确的鉴别真假硬币具有一定推广作用。
  
  二、工作流程及方式
  
  开启电源,系统上电,单片机自动复位,自动初始化,液晶显示屏上显示结果为0.0。当有乘客投入硬币时,由电涡流传感器产生的经过外围电路变换的信号送入单片机,使其对硬币进行检测辨识、分类并输出结果。可能发生的情况可分2种:
  1.是真币,且满1元,响铃。
  2.如果检测结果是假币,则报警器发出警报并且开动电机牵引通道侧门将假币退出。
  除此之外,系统还提供总票款查询功能(最大显示结果为4位即9999)。当需检查总票款时,按动相应按键,转换为显示总票款状态,液晶显示屏显示总票款,数秒后恢复正常显示状态。当有人按清零键时,液晶显示屏中所有位归零,重新显示0.0,内部保存的4位总票款不变。
  
  三、系统组成部分及工作原理
  
  (一)系统的硬件设计
  本系统属单片机应用系统,其硬件组成主要包括单片机及信号获取模块、显示模块、报警及电机驱动模块、信号处理模块等。系统信号流程图如图1所示。
  美国微芯(Microchip)公司的PIC系列单片机主要有以下特点:(1)哈佛总线结构;(2)指令单字节化;(3)精简指令集(RISC);(4)寻址方式简单;(5)代码压缩率高;(6)运行速度高;(7)功耗低;(8)自带硬件看门狗;(9)开发工具成熟强大。这些特点使得PIC系列单片机在工业控制、消费电子产品、办公自动化设备、智能仪器仪表、汽车电子等不同的领域得到了广泛的应用。基于以上特点,本系统采用PIC16F877型单片机进行设计。系统使用12MHz晶体振荡器,机器周期为1s,晶振频率稳定,保证了本系统辨识硬币的准确性和可靠性。
  系统采用高频反射式电涡流传感器来获得待检信号,工作原理为:当在有骨架的空心线圈中通以交变电流时,线圈周围产生1个交变的磁场H1,将被测金属放人H1中,则金属导体中产生涡流J。该涡流J产生1个反向的磁场H2,削弱原有磁场H1,从而导致线圈的电感量、阻抗、品质因数发生变化。金属材料对各项参数的变化有直接的影响。若以正弦振荡电路为激励电路,以系统的频率为函数,可以推导出关系为:
   (1)
  式中,σ:金属导体的电阻率; :金属导体的磁导率;d:线圈与金属导体的距离;f:电涡流传感器输出信号频率。也就是说,当线圈与金属导体的距离固定不变时,传感器输出信号的频率只与磁场中的金属导体材料的固有性质有关。所以我们可以通过测量传感器信号的频率来获得我们分辨真/假币和币值的依据。由于真假币之间的差别是很小的,所以从传感器获取的信号是非常微弱的,这就需要进行分析、放大、检波,从而获得一直流信号,信号的放大电路如图2所示。单片机不能处理正弦的频率信号,因此需要在传感器后面加上零位比较器将其波形整形为方波信号,电路图省略。
  
  (二)系统显示部分
  HT1621是128点内存映象和多功能的LCD显示器,HT1621的软件配置特性使它适用于多种LCD应用场合,包括LCD模块和显示子系统。用于连接主控制器和HT1621的管脚只有4或5条,HT1621还有一个节电命令用于降低系统功耗。静态显示内存(RAM)以32×4位的格式储存所显示的数据。RAM的数据直接映象到LCD驱动器,可以用READ、WRITE和READZ-MODIFY-WRITE命令访问。并可由软件配置成1/2或1/3的LCD驱动器偏压和2、3或4个公共端口,这一特性使HT1621适用于多种LCD应用场合。LCD驱动时钟由系统时钟分频产生,LCD驱动时钟的频率值保持为256Hz,由频率为32.768kHz的晶振、片内RC振荡器或外部时钟产生。
  H 1621只有四根管脚用于接口。管脚 用于初始化串行接口电路和结束主控制器与HT1621之间的通讯。管脚 设置为“1”时,主控制器和HT1621之间的数据和命令无效并初始化。在产生模式命令或模式转换之前,必须用一个高电平脉冲初始化HT1621的串行接口。管脚DATA是串行数据输入/输出管脚,读/写数据和写命令通过管脚DATA进行。管脚 是读时钟输入管脚,在 信号的下降沿时数据输出管脚DATA上,在 信号上升
  沿和下一个下降沿之间,主控制器应读取相应的数据。管脚 是写时钟输入管脚,在 信号上升沿时,管脚DATA上的数据、地址和命令被写入HT1621。可选的管脚可用作主控制器和HT1621之间的接口,可用软件设置作为定时器输出或WDT溢出标志输出。主控制器与HT1621的/IRQ相连接后,可以实现时基或WDT功能。
  Ht1621液晶显示器的片选 与单片机RB5端口连接,用于初始化串行接口电路和结束主控制器与HT1621之间的通讯。写信号 和写数据DATA分别与单片机的RD0和RD1端口连接,实现数据写入。
  
  四、软件设计
  
  系统的软件部分需要实时地完成对硬币的准确检测,因此采用外部中断服务程序实现检测的功能。软件结构主要可分为主程序、中断中断服务子程序等2大部分。主程序是全部程序的主体,机器运行中的绝大部分时间都在循环执行该代码段,主要实现显示和扫描控制信号并作相应动作的功能。中断服务子程序,实现检测、辨识、与控制信号发出的功能。显示中断子程序,实现从主程序切换到显示状态。
  显示部分主程序如下:
  void LCD_DISP(void)
  {
  LCD_CS = 0;
  LCD_WRITE_HEAD();
  for (lcdi=0;lcdi 本文为全文原貌 未安装PDF浏览器用户请先下载安装 原版全文

猜你想看
相关文章

Copyright © 2008 - 2022 版权所有 职场范文网

工业和信息化部 备案号:沪ICP备18009755号-3