基于51单片机的接触式IC卡设计相关资料(9)

2019-08-31 00:15

第五章 系统软件设计

图5-2 插卡子程序流程图

当单片机系统检测到插入的卡是合法的用户卡,单片机进入读写子程序。单片机分别从EEPROM和IC卡中读出IC卡的卡号,两者加以比较来判断是否为本功能所对应的卡。比较通过后,然后进行密码校验。如果密码正确,则允许进行读写操作。

5.3 键盘扫描子程序

16个按键的键盘电路分别为:数字键0~9及小数点“.”,可以设定用户信息及余额;此外还有5个功能键,分别为:

(1) 修改/确认键,用来控制信息的改写及确认; (2) 账号显示键,用来控制用户账号信息的显示;

- 36 -

第五章 系统软件设计

(3) 余额/总数显示键,用来控制余额或总数的显示; (4) 计数开始/停止键,用来控制计数系统的计数; (5) 备用键; (6) 备用键。

此读写系统中,键盘采用编程扫描方式。所谓编程扫描就是CPU对键盘的扫描采取程序控制方式,一旦进入键盘扫描状态则反复地扫描键盘,等待用户从键盘上输入命令或数据。而在执行键入命令或处理键入数据的过程中,CPU不再响应键入要求,直到CPU返回重新扫描键盘为止。键盘扫描子程序流程图如图5-3所示。图中可见,键盘扫描子程序要完成以下的功能:

1)判断键盘上有无键按下。其方法为P2.3口连续16次全输出为“0”电平时,读P2.2口行线电平状态,若行电平全为“1”电平,则键盘无键按下,若不为“1”电平,则有键按下。

2)取出键抖动及重键的影响。在键盘电路中,按键按下闭合后,将产生一个一个负的矩形脉冲。但由于在按动按键时总有一些抖动,因此在负脉冲的开始和末尾部位总要出现一些毛齿波,毛齿波的长短与开关的机械特性有关,一般为5~10ms。除了抖动之外还有重键,即一个键按下后紧接着由按下另一键,或者两个键同时按下。这些需要采取一定的措施加以消除。本系统采用软件延时的方法来解决。通过延时来等待信号稳定,在信号稳定后查询键码。其过程是在查询到有按键按下后延时一段时间,一般为10ms。再查询一次看是否有键按下。若这次查询不到,则说明前一次查询结果为干扰或抖动,若这次查询到有键按下,则说明信号已经稳定,然后判断闭合按键的键码。当闭合按键地键码确定之后,再去查询按键是否释放,待按键释放后再进行处理,这样既可消除释放抖动的干扰。对于重键则以后一次查询为最后结果。 3)扫描键盘,得到按下的键的键值。方法是P2.3口连续16次输出“1”电平,然后输出一次“0”电平,同时进行计数为00H,若P2.2口仍为“1”电平,

- 37 -

第五章 系统软件设计

则继续连续输出“1”电平进行移位,并同时计数,直到P2.2口输入的电平为“0”电平,表明此时的键即为按下的键,对应的计数值即为键值,然后调用对应的键处理子程序。键值与键号的对应关系如表5-1所示。

4) 表5-1 键值与键号对应表 键值 键号 键值 键号 键值 键号 键值 键号 00H 0 06H 6 01H 1 07H 7 02H 2 08H 8 03H 3 09H 9 04H 4 0AH . 05H 5 0BH 修改/确认 0EH 开始/停止

0CH 账号显示 0FH 备用 0DH 余额/总数 10H 备用

图5-3 键盘扫描流程图

- 38 -

第五章 系统软件设计

5.4 显示子程序

读卡器在运行过程中,对用户的信息进行不断改变,并写入EEPROM中。当用户需要查询IC卡的运行状态时,只需按动显示按钮,即可显示用户的帐号信息、帐号余额、计数值等信息。流程图如图5-4所示。

图5-4 显示子程序流程图

5.5 比较校验数据程序

该程序把输入的“校验数据”的各个字节与相对应的参照数据(存放在加密存储器中)进行比较。如果比较不成功(即两组数据不相同),则密码错误数器的一个字位将只会被从“1\写成“0\,并且不能被擦除。该命令的执行流程见下图5-5所示。

- 39 -

第五章 系统软件设计

图5-5 比较校验数据的流程图

首先用一个修改命令将密码错误计数器中的一位写0,然后紧跟着三条比较校验数据命令。比较从参照数据的字节1开始。整个比较过程成功与否是用能否擦除密码错误计数器来证实。如果比较成功,则擦除操作执行有效,这时只要不断电,对整个芯片各存储器的各区域的写入/擦除处理都可以进行,如果比较不成功,擦除操作执行无效,密码错误计数器将不会恢复为“111”。但只要(EC)不全为0,就允许外部接口设备IFD对芯片进行重试:如果(EC)全为0,则比较被封锁,IC卡不能再做修改数据的操作。

当校验数据比较成功,加密存储器也同样被打开,其单元中的参数数据也可以象主存储器中的其他单元一样进行修改变换。芯片在出厂时,根据用户的专门安排,常常将可编程加密代码(PSC)中编入一个专门代码。这样在使用时,要打开卡片就必须合法得到一个代码,这也是防止非法窃用或伪造卡片的重要手段。

- 40 -


基于51单片机的接触式IC卡设计相关资料(9).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:西工大16秋《助剂化学》在线作业

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: