工业控制 | 能源技术 | 汽车电子 | 通信网络 | 安防监控 | 智能电网 | 移动手持 | 无线技术 | 家用电器 | 数字广播 | 消费电子 | 应用软件 | 其他方案

电路设计->光电电路图->其他光电实用电路图->用AT89C2051单片机设计的双向门进计数器

用AT89C2051单片机设计的双向门进计数器

作者:dolphin时间:2016-09-22

  对于图书馆、超市等人流量较大的场所,要进行客流量统计,以及实时掌握现有客容量,门进计数器是必不可少的。这里,提出了一种基于AT89C2051单片机的简易双向门进计数器的实现方法。

  本系统核心为一片AT89C2051单片机,包括红外检测、显示、串行通讯及PC机处理程序四部分。总体结构如图所示。

  1、红外检测部分
  
  检测装置为两对红外对管,如图所示,每对发射和接收管分别置于门的两侧,并且两对管之间间隔一定距离,其接收信号分别接至MCU的两个外部中断输入口INTO和INTlo在工作过程中.MCU可根据两中断产生的先后次序来判断客人是进入还是离开,从而进行后续处理。为了防止互相干扰,两对对管之间的距离不应太小。

  2、显示部分
  
  本系统采用了8个数码管进行显示,显示内容包括时间、营业状态和顾客数量等。89C2051作为51单片机的简化版,可用口线由原来四组减少到两组,仅有P1、P3口,而且P3口中除P3.7外均为多功能口,因此可用I/O口线很少。这里,我们巧妙地利用了P3.7这一口线,结合P1口很简便地实现了八位显示,如图所示。

  外部扩展了一片373和一片244,将P3.7口同时与373的锁存端及244的使能端相连。根据373和244的特性,在P3.7脚为低电平时送出位码经244驱动,然后将P3.7脚置高,利用这个上升沿将段码送出,由373锁存。

  3、串行通信部分
  
  考虑到单片机的存储容量问题,并且为了进一步对数据进行统计分析,我们设计了单片机与PC机的串行通信电路。由于单片机串口为TTL电平,而PC机串口为RS-232电平形式,我们采用了美国美信公司的单片单电源TTU232电平转换芯片MAX232A.接口形式如图所示。

  4、PC机内应用程序
  
  PC机内应用程序分为两部分:串口通信和数据库操作,编程语言我们选择了VISUAL BASIC6.0。VB6是一种可视化的、事件驱动型的Windows应用程序开发工具,它在通信和数据库开发方面都具有简单易行、功能强大等优点。

  VB中提供了用于串行通信的MSComm32.ocx控件,它具有丰富的用于串口通信的属性和事件,提供了一系列标准通信命令的接口,可以用来创建全双工、事件驱动、高效使用的通信程序。

  串口初始化程序

  1、通过数据库控制控件DataControl访问:

  2、通过VB提供的数据库对象变量编程访问;3、通过ODBC接口访问ODBCAPI函数。

  在这三种方法中,第一种方法操作起来最方便、灵活、易于掌握,同时也最能体现Visual BasIC面向对象的特色,因而采用了第一种方法。

  下面是对ADO(MicroSOFt ActiveXData)控件的初始化程序'.............................'

  '数据库初始化Dim str As String‘定义一字符串用来取得当前工程的路径

  向数据库表单中读写数据,以及后面的统计、管理也很方便。

  总之,AT89C2051体积小、价格低廉,使得本装置可以做到结构小巧、成本较低。与计算机的通信接口也使得其功能更加灵活,结合计算机强大的处理功能和数据库管理功能,将更加方便人员流量的统计控制,以便更加合理安排营业时间等。

  同时,由于本装置接口全部开放,只需改变内部软件,便可以很方便地实现其他的监测功能,可以适用于很多领域内。



评论

技术专区