智能安全键盘的制作方法

文档序号:6686233阅读:293来源:国知局
专利名称:智能安全键盘的制作方法
技术领域
本实用新型涉及一种智能安全键盘,可应用于银行、金融系统、商场超市购物p0s机、楼宇门禁系统等需要通过键盘输入密码的场所。
背景技术
随着金融系统的逐渐发展以及消费刷卡系统的普及,现在人们进行刷卡消费的频率越来越高。在人们进行刷卡时通常需要通过pos机密码键盘输入银行卡密码。目前使用的键盘的键值都是固定的,即1键所对应位置的值永 久为l,人们通过这样的键盘输入密码时,即使后方等候消费者在距离一米的 安全线以外等候,仍然可以通过刷卡者输入键盘时手按键的位置来大致判断 出密码的数字,导致密码外泄,造成不安全隐患。 实用新型内容本实用新型的目的在于克服现有密码输入键盘键值固定导致密码容易泄 漏的缺陷,提供了一种智能安全键盘,使用该键盘输入密码时,可以有效防 止密码被他人偷窥。为了实现上述目的,本实用新型采取了如下技术方案。本按键主要包括有MCU1、键值显示及键值输入模块3;其中,MCU与键值显示及键值输入模块3相连,MCU通过软件程序生成顺 序随机排列的0 9十个数,并把该排序的数送至键值显示及键值输入模块3 中的键值显示模块显示;MCU1通过行扫描和列扫描判断键值显示及键值输入 模块3中键值输入模块的哪个键被按下;MCU还设置有用于与上位机2相连接的接口,通过该接口 MCU1将键值显 示及键值输入模块3中键值输入模块键入的键值传送给上位机。所述的键值显示及键值输入模块3上设置有"refresh"键,该键与MCU 连接,"refresh"键的按下可控制MCU1生成顺序随即排列的0 9十个数,并把该排序的数送至键值显示模块显示。所述的键值显示及键值输入模块3上设置有"enter"键,该按键通过键 盘按键与MCU连接模块2与MCU1连接,待输入的数值全部输完时,可以按下 该键,当该键被按下时,MCU1将开始生成顺序随即排列的0 9十个数,并把 该排序的数送至按键键值显示模块3显示。MCU设置有用于与上位机相连接的接口,通过该接口 MCIJ1将键值显示及 按键输入模块3中键值输入模块键入的键值传送给上位机。所述的键值显示及按键输入模块3中的键值显示模块为液晶显示器或LED 数码管,主要是在按键上按随机顺序显示0 9十个数。所述的键值显示及键值输入模块(3)中键值输入模块为液晶触摸屏或按 键输入模块,MCU通过行扫描和列扫描来判断键值输入模块中的哪个按键被按 下,并可以把所按键的键值通过接口传送给上位机。MCU可实现三个功能1)生成顺序随机排列的0 9十个数;2)确认键 值输入模块3中的被按键的位置和该键所显示的数值;3)将传送至MCU的按 下键的键值传送至上位机。本实用新型输入键上的数值是随机改变的,在用该键输入密码时,他人 不能通过手按键的位置来判断所输入的数值,具有一定的安全性。

图1为本实用新型的智能安全键盘的结构框图; 图2为本智能安全键盘的主要工作流程; 图3为本智能安全键盘的电路原理图。
具体实施方式
结合图i 图3详细说明本实施例。本实施例主要包括有MCU、上位机、键值显示及键值输入模块3。 MCU通 过软件程序生成顺序随机排列的0 9十个数,并把该排序的数送至键值显示 模块3显示,由于键值不固定,键帽改用七段LED显示器代替,直接将键盘键盘主要工作流程见图2,键盘上电后,首先进行初始化复位,并显示原
始键值排列,如0 9顺序排列。在键盘中设置一个功能键(Refresh),该键 的作用为刷新键值排序,每按一次功能键,键盘键值排序发生一次改变。同 时,键值显示及按键输入模块3上还设置有的确认键(enter)和清除键 (clear),在按下确认键时系统自动对键值进行新的排序,并将确认键之前 所按键的键值返回上位机。
本实施例中的MCU选用的是Atmel公司基于MSC-51内核的AT89S52芯片。 通过对单片机进行编程,单片机能自动生成随机排序的0 9十个数,单片机 将该随机数送至LED显示。随机键值排序是按如下方法生成的
本实施例中借助C程序中srand()函数和rand()函数生成随机键值排序。 这两个函数配合可以生成指定数量、指定位数的随机数,但是该随机数存在 重复的可能性。假设编程生成IO个一位的数组,可以符合要求,但是10个 一位数中可能出现两次0或者n次其他的数,不符合键盘键值的要求,因为 键盘的键值必须是0 9十个数,不能重复。因此我们借助一维数组实现得到 10个不重复的一位数字的要求。
首先定义一个0 9的数组,假设为a[10]—0, 1, 2, 3, 4, 5, 6, 7, 8, 9},通过srand()函数和rancl()函数配合生成的随机数为c,要产成的新的数 组为b[10]二(0h第一次获得一个随机数cl,我们将a[cl]赋给b[O],同时 将a[10]中cl位置后的数前移,直到第9位数字移到第8位。进行十次循环。 在上述过程中,在将a数组中的数赋值给b数组时需要判断获得的随机数是 否小于现在a数组已经赋给b数组值的个数,如现在b数组中已经有5个值 被a数组赋过值,如果这时获得的随机数为8,大于5,继续赋值将会导致新 的数组中出现一个重复数值,无法达到要求,因此需要重新获得随机数,直 至随机数小于等于5,方可继续赋值。由于从a数组中选取数赋值的数字不固 定,因此具有一定的随机性。本例中假设的数组a为0 9顺序排列,亦可随机不重复排列,这样随机性更高。
单片机将生成的随机排序的十个数送至键盘键值显示及按键输入模块3
显示,键盘键值显示及按键输入模块3可为液晶显示器和LED数码管。
本实施例中的键盘键值显示选用的是LED数码管。本实施例有10个LED 显示器固定在键盘上,但各个LED所对应的键值将不再是固定不变的,单片 机在接收到生成的键值排序指令后生成新的键值排序,并对应到各个LED显 不器。
LED的显示采用静态显示方式。静态显示方式需要专门的接口电路,电路 中需要锁存器。可以提供单独锁存的1/0接口电路有许多种,本键盘采用的 是常用的串并转换移位寄存器74LS164。
键盘键值显示模块使用单片机的两个端口 P3.0、 P3. 1,利用单片机本身 的串口来驱动键盘键值的显示。配以10片串入并出移位寄存器74LS164。其 中74LS164的引脚Q0 Q7为8位并行输出端;引脚A、 B为串行输入端;引 脚CLK为时钟脉冲输入端,在CLK脉冲的上升沿作用下实现移位,在CLK二O、 清除端MR二1时,74LS164保持原来的数据状态;MR=0时,74LS164输出清零。
10片7礼S164首尾相串,而时钟端则接在一起,这样,当输入8个脉冲 时,从单片机输出的数据就进入到了第一片74LS164,而当第二个8个脉冲到 来后,这个数据就进入了第二个7礼S164,而新的数据则进入了第一片 74LS164。这样,当第10个8个脉冲完成后,首次送出的数据就被送到了最 左边即第一个74LS164中,其他数据一次出现在第一到第九片74LS164中。 最终实现将单片机生成的新的键值排序显示在键盘按键的LED显示器上,方 便密码输入者输入数据。
键值显示及键值输入模块4中的键值输入模块主要是实现按键的识别功 能,可以为触摸屏或按键输入模块。
本实施例中选用的按键输入模块,就是判断键盘中是否有键按下,若有 键按下则确定其所在的行列位置。本实施例中釆用的程序扫描法是一种常用的键识别方法,在这种方法中,只要CPU空闲,就调用键盘扫描程序,查询 键盘并给预处理。采用查询方法实现的键盘扫描程序的过程如下
A、 查询是否有键按下
首先单片机向行扫描口 P1.4 P1.7输出全为"0"扫描码F0H,然后从列 检测口 P1.0 PL3输入列检测信号,只要有一列信号不为"l",即P1 口不 为FOH,则表示有键按下。接着要查出按下键所在的行列位置。
B、 查询按下键所在的行列位置
单片机将得到的信号取反,P1.0 P1.3中为l的位便是键所在的列。也 即确定键所在的行,需要进行逐行扫描。单片机首先使P1.0接地,P1.1 P1.7为"l",即向P1 口发送扫描码FEH,接着输入列检测信号,若为全"1", 表示不在第一行。接着使Pl.l接地,其余为"1",再读入列信号。这样逐 行发"O"扫描,直到找到按下键所在的行,将该行扫描码取反保留。当各行 都扫描以后仍没有找到,则放弃扫描,认为是键的误动作。
C、 对得到的行号和列号译码,得到键值。 由于本系统采用不含接口转换功能的MCU,所以需要单独设计转换模块进
行转换,以便是单片机与上位机5之间进行通讯,以便把键入的数值传送给 上位机。本实施例采用CP2101 USB转UART桥接器实现转换功能。
CP2101是一种高度集成的USB转UART桥接器提供一个使用最小化的元件 和PCB空间实现RS232转USB的简便的解决方案,该芯片包含一个USB 2. 0 全速功能控制器、USB收发器振荡器和带有全部的调制解调器控制信号的异步 串行数据总线(UART),全部功能集成在一个5咖X 5腿MLP-28封装的IC中, 无需其他的外部USB元件,片内EEPR0M可以用于由原始设备制造商自定义USB 供应商代码、产品代码、产品描述文字、功率标牌、版本号和器件序列号等 数据的存储空间。
权利要求1. 智能安全键盘,其特征在于主要包括有MCU(1)、键值显示及键值输入模块(3),其中,通过软件程序生成顺序随机排列的0~9十个数的MCU(1)与用于显示该排序的十个数的键值显示及键值输入模块(3)相连;通过行扫描和列扫描判断键值显示及键值输入模块(3)中键值输入模块的哪个按键被按下的MCU(1)设置有用于与上位机相连接的接口,通过该接口MCU(1)将键值显示及键值输入模块(3)中键值输入模块键入的键值传送给上位机。
2、 根据权利要求1所述的智能安全键盘,其特征在于所述的键值显示及键值输入模块(3)中的键值显示模块为液晶显示器或LED数码管。
3、 根据权利要求1所述的智能安全键盘,其特征在于所述的键值显示及键 值输入模块(3)中键值输入模块为液晶触摸屏或按键输入模块。
4、 根据权利要求1所述的智能安全键盘,其特征在于键值显示及键值输入模块(3)上还设置有"refresh"键。
5、 根据权利要求1所述的智能安全键盘,其特征在于键值显示及键值输入 模块(4)上还设置有"enter"键。
6、 根据权利要求1所述的智能安全键盘,其特征在于所述的MCU(1)用于与 上位机(2)相连接的接口为USB或UART或COM 口或串口。
专利摘要本实用新型涉及一种智能安全键盘,用于银行、商场超市购物POS机等需要通过键盘输入密码的场所。包括有MCU、键值显示及键只值输入模块(3)。MCU通过软件程序生成顺序随机排列的0~9十个数,并把该排序的数送至键值显示及键值输入模块(3)中的键值显示模块显示;MCU通过行扫描和列扫描判断键值显示及键值输入模块(3)中键值输入模块的哪个按键被按下;MCU(1)设置有用于与上位机相连接的接口,通过该接口MCU(1)将键值显示及键值输入模块(3)中键值输入模块键入的键值传送给上位机。本实用新型输入键上的数值是随机改变的,在用该键输入密码时,他人不能通过手按键的位置来判断所输入的数值,具有一定的安全性。
文档编号G07F7/00GK201111222SQ20072014952
公开日2008年9月3日 申请日期2007年6月8日 优先权日2007年6月8日
发明者张万荣, 甘军宁, 贾宝敦, 鲁俊杰 申请人:北京工业大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1