安媛+冯震
摘 要:随着人们生活圈的智能化和整体化,金融业成为其中必不可少的环节,该文介绍一种基于单片机的ATM系统,将单片机核心控制模块、RC522读卡器、LCD12864显示器、存储芯片24C02以及矩阵键盘有效融为一体,能够实现取款、密码保护修改、账户冻结、余额查询等基本必需功能,界面简洁、操作简单、稳定安全,有一定的市场推广价值。
关键词:ATM STC89C52单片机 RC522 24C02
中图分类号:TP274 文献标识码:A 文章编号:1674-098X(2016)07(c)-0072-02
在信息化、科技化的推动下,人们生活圈日渐趋于智能化、整体化,金融业成为其中必不可少的环节,界面简洁、操作方便、安全稳定的ATM系统对于银行业务的开展和生活质量的提高有着积极的推动作用。
ATM自动取款系统是由计算机控制的持卡人自我服务型的金融专用设备,集计算机技术、网络技术、自动控制技术于一体,可提供最基本的银行服务,包括取钞、存钞、修改密码、转账等功能,可大大减轻银行工作人员的工作负担,提高工作效率。
文章设计的基于单片机的ATM系统,将单片机的强大数字处理能力和RC522读卡功能有效结合,并综合LCD12864、矩阵键盘以及24C02,可实现取款、改密、查余等功能,界面简洁、操作方便,可大大推动金融业在生活圈内的发展。
1 ATM系统功能分析
基于单片机的ATM系统能够实现取款、查余、改密、账户冻结等功能,ATM系统启动后,显示“中国农业银行欢迎您请插入银行卡”,由MFRC522读取磁片信息,用户信息存储于磁片内,用户通过矩阵键盘输入密码,输入密码与磁卡内设定密码一致时登录成功,若密码错误次数大于3次则该用户被冻结。用户登录成功后,可选择查询、改密、取款、退出等功能,分别由与单片机P1.0、P1.1、P1.2、P1.3引脚相连的独立按键控制实现,且每一功能屏都有退出按键可返回上一层目录。
查询功能选定按键P1.2,可查询磁卡余额;取款功能选定按键P1.3,系统为用户提供了“100”“200”“300”3种可选金额,若卡中余额不够取款所需的金额时,界面就会显示“余额不足”,系统自动回到原先的界面,若卡内余额足够支付取款余额,则直接在卡内原余额基础上扣除取款金额。
修改密码功能选择按键P1.0,用户可修改磁卡密码,修改后密码存入卡内,下次登录时需用新密码。退出时,选择P1.1按键,进入退出界面,系统延迟5 ms跳转登录界面,以供其他用户使用。
2 ATM系统硬件设计
ATM系统硬件部分主要包括单片机、24C02存储芯片、RC522读卡器、LCD12864显示器以及矩阵键盘。
2.1 单片机控制电路
ATM系统采用STC89C52单片机作为核心控制芯片,该芯片采用MCS-51内核,具有8K在系统可编程闪存存储器、512字节RAM、8k字节Flash、32个I/O口线、一个7向量4级中断结构、3个16位定时器/计数器、MAX810复位电路,而且STC89C52进行逻辑操作时可降至0 Hz静态,提供两种软件选择省电模式。主控单元采用12 MHz晶振,有利于系统时间计算。
2.2 存储器
存储器选择24C02,该芯片为2048位的串行电可拆卸的ROM,256字节的内部组织,每字节有8位,该芯片被普遍应用于低电压、低功耗的工业和商业部门,可靠性比较高。
24C02存储器时钟线与单片机P1.6引脚相连,24C02的数据线接P1.7引脚,24C02地址输入端接地,以防在掉电情况下对信息进行储存并能保证将用户新密码存入磁卡内。
2.3 LCD12864显示电路
LCD12864是一种点阵式的液晶显示器,分辨率为128×64,该显示屏具备接口方式比较灵活,操作指令相对比较简单、方便的优点,又可以构成全中文的人机交互图形界面。并且12864显示屏所需要的电压值较低,因此其功耗也比较小,相较于其他显示器而言比较节能。
ATM系统中使用单片机P0口驱动12864,因为P0口为漏极接口,需通过1K上拉电阻驱动显示器,P2.0、P2.1、P2.2为数据控制端,同时显示器CS1和CS2引脚置高,以便显示全屏数据。
2.4 RC522读卡模块
MF RC522是采用13.56 MHz非接触式通信的高度的读写卡芯片集成的,双向数据传送速度可达424 kbit/s,使用SPI方式与主机通信,可以减少连接,减小PCB板的体积,还可以在一定程度上降低成本。
RC522的SDA、SCK与单片机I/O口进行数据传输,MOSI(SPI接口主出从入)和MISO(SPI接口主入从出)分别接单片机的P2.5和P2.6。
2.5 矩阵键盘
键盘输入模块由3×4矩阵键盘和独立按键构成,矩阵键盘分别对应与数字“1~9”“*”键和“#”键,由单片机P3.0~P3.6引脚控制数据传输。独立按键分别对应于系统功能屏的各个功能选择,由单片机P1.0~P1.5控制数据传送。
3 系统软件设计
ATM系统硬件在软件程序的支撑下能够实现取款、查余、改密、账户冻结、密码保护等功能。
当系统开始工作时,RC522读卡器判断是否接收到IC卡发出的数据,当检测到有卡插入时,LCD12864清屏,跳转到“输入密码”的界面,输入6位密码,如果输入错误,可即时进行修改,并且每输一位密码,之后都会以“*”显示,起到保护密码信息不外露的作用。
定义全局变量chakc,当读卡器读取到磁卡数据时,chakc大于等于1,不同的chakc值对应于不同的系统功能,具体见表1。
系统采用程序扫描法识别按键,选择行扫描的方法。当取款键keysanf_rk2( )子程序扫描到该键按下时,就跳转到取款子程序,完成取款;当查询键keysanf_rk2( )子程序扫描到该键按下时,程序跳转到查询子程序完成相应任务;当修改密码键keysanf_rk2( )子程序扫描到该键按下时,程序跳转到修改密码页面,完成密码修改任务。键在每一个页面定义不同。
4 ATM系统调试结果
ATM系统经过仿真测试、硬件焊接调试能够实现取款、查询余额、修改保护密码、冻结账户等功能,系统硬件电路图如图1所示。
系统为单片机上电后,系统出现开机界面,提示插入磁卡。当读卡器读取磁卡数据后,提示用户输入密码,若密码正确则进入功能界面,若密码错误则出现密码错误页面,密码输入错误次数超过3次,则提示该磁卡被冻结,以保护用户信息安全。
系统页面转至业务功能界面后,选择取款业务,则系统为用户提供3种定额取款(100、200、300),选择相应取款金额后,系统会提示用户正在准备钞票,钞票准备完毕后提示用户取走钞票,用户即可按下相应按键取走钞票。
用户在使用系统过程中,可随时修改磁卡密码,系统软件设计中将“ininticcdate() //E2PROM中数据的初始化”语句进行备注,保证单片机对该命令只读不写,即可保证FM24C02执行其存储记忆功能,将修改后密码作为新密码存入磁片内,更符合实际用卡。
5 结语
此ATM系统以单片机作为核心控制模块,有机结合RC522读卡器、LCD12864显示器、矩阵键盘、存储器24C02等模块电路,能够有效完成自动取款机的基本功能,包括磁卡信息读取、密码修改、保护账户、取款、查询等,系统具有界面简洁、操作简单、安全稳定等特点,有一定的实用价值。
参考文献
[1]野莹莹,伍彩云,刘新.ATM自动提款机智能温度控制系统[J].装备制造技术,2012(2):75-76.
[2]杨宏,李国辉.基于proteus与单片机的步进电机控制设计[J].现代电子技术,2010(5):104-106.
[3]刘强军.基于单片机的温度检测与控制[J].中国科技博览,2009(25):94-95.
[4]杨庆文,崔海.基于AT89C51单片机的温度控制系统[J].中国科技信息,2010(23):153-154.
[5]黄志刚.超声波测距用LCD12864显示[J].电子世界,2012(23):84-85.
[6]聂茹.基于proteus的单片机自动取款机系统设计与仿真研究[J].系统仿真技术,2014,10(2):159-164.