EDN China > 设计实例 > 工业电子 > 工业仪表 > 正文
? 2016博客大赛-不限主题,寻找电子导师,大奖升级??

(多图) 非接触式IC卡预收费电度表的设计

来源:中国开关网?? 2008年03月26日 ?? 收藏0

  电表转盘读数头(红外发射接收管)产生的脉冲信号经一个非门输出到单片机的P1.4口,单片机实时对P1.4口进行监测。

  RS232串行通讯电路采用MAX232芯片,实现单片机与微机的数据交换。微机主要采用VB的通讯控件通过RS232与单片机进行通讯,通过事先约定好的字符对单片机实现控制。

  看门狗电路由4538单稳电路组成。初上电时,CLR端为低电平,使输出Q为低电平,从而使系统复位。正常工作时,单片机在每个主程序循环时发出一个低电平脉冲,触发单稳;当程序受干扰跑飞时,单稳因得不到触发脉冲而复位,此时,输出端Q=0,使系统复位。

  振铃控制电路由蜂鸣器、两个三极管和电阻组成。当单片机的P1.7端发出一个高电平时,触发蜂鸣器蜂鸣。为使系统在停电时也能正常工作,由两组电源给系统供电,一组是将220V/50Hz的市电经变压、整流、稳压得到5V直流电,另一组由12V/4A的可充电电流经斩波、隐压、稳压得到5V直流电。一般由市电供电,并对可充电电池充电。市电停电时由电池供电,12V/4A的可充电电流能使系统连续工作24h以上。

  3 软件设计

  本非接触式IC卡预收费电度表的程序采用了模块化的设计,整个系统由用户端电度表计费程序和供电部门存未及管理程序两部分组成。每部分程序又由单片机系统程序和VB用户接口程序两部分组成,单片机程序和VB程序之间采用VB的通讯控件MSComm通过RS232进行通讯,通讯协议使用基于ASCII码的查询命令、中断收发字符。微机通过事先约定好的字符对单片机实现控制,单片机通过判断微机发来的不同字符,执行不同的单片机子程序。

  3.1 用户端电度表计费程序

  3.1.1 单片机系统程序的主要功能

  (1)读取有效的非接触式IC卡功能。对卡进行防冲突、密码认证、卡号认证等操作,并读出卡中存储的数据,然后将卡清零、停卡。

  (2)完成电度表的预收费功能。将从IC卡中读出的电度数与单片机内存剩余的电度数相加,并存回内存。

  (3)显示功能。系统周期性地扫描,动态显示机内剩余的电度数。此外,当读写IC卡发生错误时,显示出错信号。

  (5)电度计数功能。系统实时监测电表转盘读数头(红外发射接收管)发来的脉冲信号,当脉冲信号由高电平变为低电平时,计数器COUNT加1;而当COUNT值等于电表常数(转/度)时,剩余电度数减1,用电量加1,同时COUNT清零。

  (6)报警断电功能。当机内剩余电度数小于15度时,点亮预告用电量将尽的发光二极管指示器,提示用户持卡到供电部门重新购电。而当用户电表中剩余电量完全用完时,控制继电器切断用户供电电源。用户只有再次存入电度数后,才能继续供电。

  单片机系统程序由主监控程序、IC卡处理子程序、电度计数子程序、串行中断服务子程序等组成,其框图分别见图4(a)、(b)、(c)、(d)。

单片机系统程序
单片机系统程序

  3.1.2 VB用户接口程序的主要功能

  (1)显示。根据输入的用户编号,显示相应的用户信息。

  (2)采集。将用户编号通过通讯控件发送给单片机,单片机认证用户编号后,返回该用户的用电量和剩余电度数。

  (3)写入。将采集来的数据。加上用户编号和日期,一并写入数据库,以供查询。

  (4)查看。查看当用各用户的用电量情况及剩余电度数;查看所有的用电情况。

  3.2 供电部门存款及管理程序

  3.2.1 单片机系统程序的主要功能

  (1)系统初始化设置。设置寄存器地址、中断源入口、加载IC卡认证密码以及设置串行口、定时器0和定时器1的工作模式等。

  (2)接收微机发来的控制字符。执行串行中断服务子程序,如控制字符为R则执行对IC卡的询卡、防冲突、选卡、认证等操作,并返回给微机卡号;如控制字符为W则将用户购买的电度数写入IC卡,再读出写入的电度数,然后停卡。

  (3)显示功能。显示IC卡中存入的电度数,当对IC卡操作过程中有任何错误时,将显示错误信息,提示用户。

  程序由主程序程序和串行中断服务子程序等组成,它们的框图见图5(a)、(b)。

主程序程序和串行中断服务子程序

  (1)IC卡存款功能。用户持卡到供电部门存款,工作人员将放在读写器上,按“读卡”按钮,微机发送字符“R”给单片机,单片机执行相应的中断处理后返回卡号。系统根据返回的卡号显示对应的用户信息,确认无误后,输入用户交纳的金额,系统自动转化成电度数。按下“存款”按扭,将电度数存入IC卡,同时将存款的相关信息写入数据库,以供查询。

  (2)查询功能。查询用户信息、IC卡信息以及用户的用电情况,可以根据输入的用户编号或电卡号进行有选择地查询。

  (3)维护功能。对数据库的维护包括添加新的记录、删除不需要的记录以及对现有记录的更新。本系统所使用的数据库由MSAccess建立,通过VB的数据对象控件与用户界面关联,对数据的所有操作都实时地更新所关联的数据库。


?? ?? ??


打开微信“扫一扫”,打开网页后点击屏幕右上角分享按钮

1.扫描左侧二维码
2.点击右上角的分享按钮
3.选择分享给朋友
?? ??

非接触式IC卡? 预收费电度表? 单片机?

相关文章

我来评论
美国的游客
美国的游客 ??? (您将以游客身份发表,请登录 | 注册)
?
有问题请反馈