CN106998207A - 一种应用于pos***的扫描按键方法 - Google Patents

一种应用于pos***的扫描按键方法 Download PDF

Info

Publication number
CN106998207A
CN106998207A CN201710044981.3A CN201710044981A CN106998207A CN 106998207 A CN106998207 A CN 106998207A CN 201710044981 A CN201710044981 A CN 201710044981A CN 106998207 A CN106998207 A CN 106998207A
Authority
CN
China
Prior art keywords
row
stitch
default
scanned
scan
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN201710044981.3A
Other languages
English (en)
Inventor
谭有宁
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Vanstone Electronic Beijing Co Ltd
Original Assignee
Vanstone Electronic Beijing Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Vanstone Electronic Beijing Co Ltd filed Critical Vanstone Electronic Beijing Co Ltd
Priority to CN201710044981.3A priority Critical patent/CN106998207A/zh
Publication of CN106998207A publication Critical patent/CN106998207A/zh
Pending legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M11/00Coding in connection with keyboards or like devices, i.e. coding of the position of operated keys
    • H03M11/20Dynamic coding, i.e. by key scanning

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Input From Keyboards Or The Like (AREA)

Abstract

本发明公开了一种应用于POS***的扫描按键方法,涉及POS机程序领域。所述方法:预先设置根据历史按键的行列电平输入状态数据获得的键盘按键表;当有按键按下时,调用按键扫描函数,随机选取预设扫描方法得到当前被扫描行或列的电平数据;所述预设扫描方法包括:拉高扫描列方法、拉低扫描列方法、拉高扫描行方法、拉低扫描行方法;在预先设置的键盘按键表的基础上,结合当前被扫描行或列的电平数据,获得被按下的按键并存入缓存区,完成一次按键的扫描。使用本发明所述方法在按键扫描过程中随机使用不同预设扫描方法,避免键盘侧录等方式对按键扫描过程的攻击,保证了数据的安全性。

Description

一种应用于POS***的扫描按键方法
技术领域
本发明涉及POS机程序领域,尤其涉及一种应用于POS***的扫描按键方法。
背景技术
随着刷卡或二维码消费的增多,POS机应用也越来越广泛。进行刷卡或二维码消费时,需要键入支付密码,而诸如键盘侧录等方式会攻击POS机***,盗取用户的支付密码和支付账户,造成在POS机***上消费用户的财产损失。
发明内容
本发明的目的在于提供一种应用于POS***的扫描按键方法,从而解决现有技术中存在的前述问题。
为了实现上述目的,本发明所述应用于POS***的扫描按键方法,所述方法:
S1,预先设置根据历史按键的行列电平输入状态数据获得的键盘按键表;
S2,当有按键按下时,调用按键扫描函数,随机选取预设扫描方法得到当前被扫描行或列的电平数据;
所述预设扫描方法包括:拉高扫描列方法、拉低扫描列方法、拉高扫描行方法、拉低扫描行方法;
S3,在预先设置的键盘按键表的基础上,结合当前被扫描行或列的电平数据,获得被按下的按键并存入缓存区,完成一次按键的扫描。
优选地,相邻两次按键扫描的时间间隔为10毫秒。
优选地,所述预设扫描方法为拉高扫描列方法,具体包括以下步骤:
A1,判断列当前计数是否小于预设列的最大计数,如果是,则进入A2;如果否,则记录当前按键的状态数据;
A2,设置所有列和所有行所对应针脚的电阻下拉,设置所有列和所有行所对应针脚为输入;
A3,设置被扫描列所对应针脚为输出,设置被扫描列所对应针脚为高电平;
A4,判断行的计数是否小于预设行的最大计数,如果是,则记录被扫描行对应针脚输出高电平时,当前被扫描列和被扫描行所对应的按键状态数据;如果否,则返回A1。
优选地,所述预设扫描方法为拉低扫描列方法,具体包括以下步骤:
B1,判断列当前计数是否小于预设列的最大计数,如果是,则进入B2;如果否,则记录当前按键的状态数据;
B2,设置所有列和所有行所对应针脚的电阻上拉,设置所有列和所有行所对应针脚为输入;
B3,设置被扫描列所对应针脚为输出,设置被扫描列所对应针脚为低电平;
B4,判断行的计数是否小于预设行的最大计数,如果是,则记录被扫描行对应针脚输出低电平时,当前被扫描列和被扫描行所对应的按键状态数据;如果否,则返回B1。
优选地,所述预设扫描方法为拉高扫描行方法,具体包括以下步骤:
C1,判断行当前计数是否小于预设行的最大计数,如果是,则进入C2;如果否,则记录当前按键的状态数据;
C2,设置所有列和所有行所对应针脚的电阻下拉,设置所有列和所有行所对应针脚为输入;
C3,设置被扫描行所对应针脚为输出,设置被扫描行所对应针脚为高电平;
C4,判断列的计数是否小于预设列的最大计数,如果是,则记录被扫描列对应针脚输出高电平时,当前被扫描列和被扫描行所对应的按键状态数据;如果否,则返回C1。
优选地,所述预设扫描方法为拉低扫描行方法,具体包括以下步骤:
D1,判断行当前计数是否小于预设行的最大计数,如果是,则进入D2;如果否,则记录当前按键的状态数据;
D2,设置所有列和所有行所对应针脚的电阻上拉,设置所有列和所有行所对应针脚为输入;
D3,设置被扫描行所对应针脚为输出,设置被扫描行所对应针脚为低电平;
D4,判断列的计数是否小于预设列的最大计数,如果是,则记录被扫描列对应针脚输出低电平时,当前被扫描列和被扫描行所对应的按键状态数据;如果否,则返回D1。
优选地,在步骤S3之后还包括以下步骤:
S4,检测缓存区中是否有新更新的按键,如果有,则检测是否需要播放按键音;如果是,则播放按键音;如果否,则不播放按键音;
在检测是否需要播放按键音的同时,唤醒读取按键的线程。
本发明的有益效果是:
使用本发明所述方法在按键扫描过程中随机使用不同预设扫描方法,避免键盘侧录等方式对按键扫描过程的攻击,保证了数据的安全性。
附图说明
图1是应用于POS***的扫描按键方法的流程示意图;
图2是拉高扫描列方法的流程示意图;
图3是拉低扫描列方法的流程示意图;
图4是拉高扫描行方法的流程示意图;
图5是拉低扫描行方法的流程示意图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施方式仅仅用以解释本发明,并不用于限定本发明。
实施例
本实施例所述应用于POS***的扫描按键方法,所述方法:
S1,预先设置根据历史按键的行列电平输入状态数据获得的键盘按键表;
S2,当有按键按下时,调用按键扫描函数,随机选取预设扫描方法得到当前被扫描行或列的电平数据;
所述预设扫描方法包括:拉高扫描列方法、拉低扫描列方法、拉高扫描行方法、拉低扫描行方法;
S3,在预先设置的键盘按键表的基础上,结合当前被扫描行或列的电平数据,获得被按下的按键并存入缓存区,完成一次按键的扫描;
S4,检测缓存区中是否有新更新的按键,如果有,则检测是否需要播放按键音;如果是,则播放按键音;如果否,则不播放按键音;在检测是否需要播放按键音的同时,唤醒读取按键的线程。
更详细的解释说明为:
(一)相邻两次按键扫描的时间间隔为10毫秒。
(二)
1、所述预设扫描方法为拉高扫描列方法,具体包括以下步骤:
A1,判断列当前计数是否小于预设列的最大计数,如果是,则进入A2;如果否,则记录当前按键的状态数据;
A2,设置所有列和所有行所对应针脚的电阻下拉,设置所有列和所有行所对应针脚为输入;
A3,设置被扫描列所对应针脚为输出,设置被扫描列所对应针脚为高电平;
A4,判断行的计数是否小于预设行的最大计数,如果是,则记录被扫描行对应针脚输出高电平时,当前被扫描列和被扫描行所对应的按键状态数据;如果否,则返回A1。
2、所述预设扫描方法为拉低扫描列方法,具体包括以下步骤:
B1,判断列当前计数是否小于预设列的最大计数,如果是,则进入B2;如果否,则记录当前按键的状态数据;
B2,设置所有列和所有行所对应针脚的电阻上拉,设置所有列和所有行所对应针脚为输入;
B3,设置被扫描列所对应针脚为输出,设置被扫描列所对应针脚为低电平;
B4,判断行的计数是否小于预设行的最大计数,如果是,则记录被扫描行对应针脚输出低电平时,当前被扫描列和被扫描行所对应的按键状态数据;如果否,则返回B1。
3、所述预设扫描方法为拉高扫描行方法,具体包括以下步骤:
C1,判断行当前计数是否小于预设行的最大计数,如果是,则进入C2;如果否,则记录当前按键的状态数据;
C2,设置所有列和所有行所对应针脚的电阻下拉,设置所有列和所有行所对应针脚为输入;
C3,设置被扫描行所对应针脚为输出,设置被扫描行所对应针脚为高电平;
C4,判断列的计数是否小于预设列的最大计数,如果是,则记录被扫描列对应针脚输出高电平时,当前被扫描列和被扫描行所对应的按键状态数据;如果否,则返回C1。
4、所述预设扫描方法为拉低扫描行方法,具体包括以下步骤:
D1,判断行当前计数是否小于预设行的最大计数,如果是,则进入D2;如果否,则记录当前按键的状态数据;
D2,设置所有列和所有行所对应针脚的电阻上拉,设置所有列和所有行所对应针脚为输入;
D3,设置被扫描行所对应针脚为输出,设置被扫描行所对应针脚为低电平;
D4,判断列的计数是否小于预设列的最大计数,如果是,则记录被扫描列对应针脚输出低电平时,当前被扫描列和被扫描行所对应的按键状态数据;如果否,则返回D1。
本发明所述方法由中央处理器负责解码,需要用到针脚的上拉或下拉电阻、一个中断、一个硬件定时器。每次中断时扫描按键一次,同时激活定时器,定时器每十毫秒触发一次,每次也扫描按键一次,当按键解码完成不再需要继续扫描时,会自动关闭该定时器。
扫描按键时,按扫描行或扫描列对应的通用输入输出针脚的上拉或下拉电阻分类,共有四种扫描按键方法,分别为:拉高扫描列方法、拉低扫描列方法、拉高扫描行方法、拉低扫描行方法,在程序撰写时,赋予上述四种方法唯一的编码号。
每次扫描按键时,从四个编码号中随机选取编码号,保证了每个按键不会和某一特定的时序相对应,增加了攻击的难度。
通过采用本发明公开的上述技术方案,得到了如下有益的效果:
使用本发明所述方法在按键扫描过程中随机使用不同预设扫描方法,避免键盘侧录等方式对按键扫描过程的攻击,保证了数据的安全性。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视本发明的保护范围。

Claims (7)

1.一种应用于POS***的扫描按键方法,其特征在于,所述方法:
S1,预先设置根据历史按键的行列电平输入状态数据获得的键盘按键表;
S2,当有按键按下时,调用按键扫描函数,随机选取预设扫描方法得到当前被扫描行或列的电平数据;
所述预设扫描方法包括:拉高扫描列方法、拉低扫描列方法、拉高扫描行方法、拉低扫描行方法;
S3,在预先设置的键盘按键表的基础上,结合当前被扫描行或列的电平数据,获得被按下的按键并存入缓存区,完成一次按键的扫描。
2.根据权利要求1所述应用于POS***的扫描按键方法,其特征在于,相邻两次按键扫描的时间间隔为10毫秒。
3.根据权利要求1所述应用于POS***的扫描按键方法,其特征在于,所述预设扫描方法为拉高扫描列方法,具体包括以下步骤:
A1,判断列当前计数是否小于预设列的最大计数,如果是,则进入A2;如果否,则记录当前按键的状态数据;
A2,设置所有列和所有行所对应针脚的电阻下拉,设置所有列和所有行所对应针脚为输入;
A3,设置被扫描列所对应针脚为输出,设置被扫描列所对应针脚为高电平;
A4,判断行的计数是否小于预设行的最大计数,如果是,则记录被扫描行对应针脚输出高电平时,当前被扫描列和被扫描行所对应的按键状态数据;如果否,则返回A1。
4.根据权利要求1所述应用于POS***的扫描按键方法,其特征在于,所述预设扫描方法为拉低扫描列方法,具体包括以下步骤:
B1,判断列当前计数是否小于预设列的最大计数,如果是,则进入B2;如果否,则记录当前按键的状态数据;
B2,设置所有列和所有行所对应针脚的电阻上拉,设置所有列和所有行所对应针脚为输入;
B3,设置被扫描列所对应针脚为输出,设置被扫描列所对应针脚为低电平;
B4,判断行的计数是否小于预设行的最大计数,如果是,则记录被扫描行对应针脚输出低电平时,当前被扫描列和被扫描行所对应的按键状态数据;如果否,则返回B1。
5.根据权利要求1所述应用于POS***的扫描按键方法,其特征在于,所述预设扫描方法为拉高扫描行方法,具体包括以下步骤:
C1,判断行当前计数是否小于预设行的最大计数,如果是,则进入C2;如果否,则记录当前按键的状态数据;
C2,设置所有列和所有行所对应针脚的电阻下拉,设置所有列和所有行所对应针脚为输入;
C3,设置被扫描行所对应针脚为输出,设置被扫描行所对应针脚为高电平;
C4,判断列的计数是否小于预设列的最大计数,如果是,则记录被扫描列对应针脚输出高电平时,当前被扫描列和被扫描行所对应的按键状态数据;如果否,则返回C1。
6.根据权利要求1所述应用于POS***的扫描按键方法,其特征在于,所述预设扫描方法为拉低扫描行方法,具体包括以下步骤:
D1,判断行当前计数是否小于预设行的最大计数,如果是,则进入D2;如果否,则记录当前按键的状态数据;
D2,设置所有列和所有行所对应针脚的电阻上拉,设置所有列和所有行所对应针脚为输入;
D3,设置被扫描行所对应针脚为输出,设置被扫描行所对应针脚为低电平;
D4,判断列的计数是否小于预设列的最大计数,如果是,则记录被扫描列对应针脚输出低电平时,当前被扫描列和被扫描行所对应的按键状态数据;如果否,则返回D1。
7.根据权利要求1所述应用于POS***的扫描按键方法,其特征在于,在步骤S3之后还包括以下步骤:
S4,检测缓存区中是否有新更新的按键,如果有,则检测是否需要播放按键音;如果是,则播放按键音;如果否,则不播放按键音;
在检测是否需要播放按键音的同时,唤醒读取按键的线程。
CN201710044981.3A 2017-01-20 2017-01-20 一种应用于pos***的扫描按键方法 Pending CN106998207A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710044981.3A CN106998207A (zh) 2017-01-20 2017-01-20 一种应用于pos***的扫描按键方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710044981.3A CN106998207A (zh) 2017-01-20 2017-01-20 一种应用于pos***的扫描按键方法

Publications (1)

Publication Number Publication Date
CN106998207A true CN106998207A (zh) 2017-08-01

Family

ID=59430926

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710044981.3A Pending CN106998207A (zh) 2017-01-20 2017-01-20 一种应用于pos***的扫描按键方法

Country Status (1)

Country Link
CN (1) CN106998207A (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109598872A (zh) * 2018-12-06 2019-04-09 深圳市新国都支付技术有限公司 通过模拟波形对键盘施加干扰信号的方法和***
CN111145394A (zh) * 2019-12-20 2020-05-12 上海爱信诺航芯电子科技有限公司 电容触控按键的扫描控制方法与扫描控制装置

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1548947A1 (en) * 2003-12-22 2005-06-29 Banksys S.A. A method and a device for reading out keyboard keys.
CN101951263A (zh) * 2010-10-22 2011-01-19 刘利华 一种按键扫描方法及***
CN101958717B (zh) * 2010-09-29 2013-04-03 惠州Tcl移动通信有限公司 一种按键扫描的方法及按键扫描装置
CN103473517A (zh) * 2013-09-05 2013-12-25 天津科技大学 一种密码防盗随机变化数字键盘
CN103971071A (zh) * 2013-02-06 2014-08-06 王基旆 防止输入数据被侧录的计算机网络***

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1548947A1 (en) * 2003-12-22 2005-06-29 Banksys S.A. A method and a device for reading out keyboard keys.
CN101958717B (zh) * 2010-09-29 2013-04-03 惠州Tcl移动通信有限公司 一种按键扫描的方法及按键扫描装置
CN101951263A (zh) * 2010-10-22 2011-01-19 刘利华 一种按键扫描方法及***
CN103971071A (zh) * 2013-02-06 2014-08-06 王基旆 防止输入数据被侧录的计算机网络***
CN103473517A (zh) * 2013-09-05 2013-12-25 天津科技大学 一种密码防盗随机变化数字键盘

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
叶绿: "《单片机技术与应用》", 31 January 2010, 浙江科学技术出版社 *

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109598872A (zh) * 2018-12-06 2019-04-09 深圳市新国都支付技术有限公司 通过模拟波形对键盘施加干扰信号的方法和***
CN111145394A (zh) * 2019-12-20 2020-05-12 上海爱信诺航芯电子科技有限公司 电容触控按键的扫描控制方法与扫描控制装置
CN111145394B (zh) * 2019-12-20 2021-08-03 上海爱信诺航芯电子科技有限公司 电容触控按键的扫描控制方法与扫描控制装置

Similar Documents

Publication Publication Date Title
US10296140B2 (en) Information processing method for avoidance of a mis-touch and electronic device thereof
CN101661383B (zh) 一种电子设备及其显示控制方法
CN106844067A (zh) 一种内容的处理方法及移动终端
CN101996072A (zh) 一种操作***的窗口管理方法及计算机
US9576411B2 (en) Apparatus and method for providing security keypad through shift of keypad
CN106998207A (zh) 一种应用于pos***的扫描按键方法
CN107277411A (zh) 一种视频录制方法及移动终端
CN105760059A (zh) 消息阅读的控制方法及装置
CN105827816A (zh) 一种终端屏幕的分屏方法及移动终端
CN107370874A (zh) 应用的启动方法、移动终端及存储介质
US9753638B2 (en) Method and apparatus for entering symbols from a touch-sensitive screen
CN105809117A (zh) 一种信息提示方法及用户终端
CN108762568B (zh) 触摸屏的断线修复方法、装置和家用电器
CN111782036A (zh) 输入方法、装置、电子设备及存储介质
CN105573646A (zh) 一种多媒体内容播放进度控制方法及用户终端
CN107396018A (zh) 一种录像方法、移动终端及计算机可读存储介质
CN105760104A (zh) 一种消息处理方法及终端
CN103207984A (zh) 指纹传感装置和方法
CN206290112U (zh) 智能锁
CN103034441B (zh) 解锁方法及装置
CN110502890B (zh) 一种验证码的处理方法、装置、电子设备及存储介质
CN107168549A (zh) 输入方法、显示装置及计算机可读存储介质
CN104407802B (zh) 一种多事件输入的方法和终端
WO2020029975A1 (zh) 控制方法、终端及存储介质
CN104216563B (zh) 一种终端

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
RJ01 Rejection of invention patent application after publication

Application publication date: 20170801

RJ01 Rejection of invention patent application after publication