当前位置:首页 > 单片机 > 单片机
[导读] 内容摘要:自动取款机系统采用高可靠性的AT89C52单片机作为核心控制芯片,采用具备I2C总线接口的FM24C02芯片完成密码与金额的存储,通过液晶显示器128x64显示运行状态和操作步骤。软件设计采用具有较

内容摘要:自动取款机系统采用高可靠性的AT89C52单片机作为核心控制芯片,采用具备I2C总线接口的FM24C02芯片完成密码与金额的存储,通过液晶显示器128x64显示运行状态和操作步骤。软件设计采用具有较好移植性和可读性的C51语言编写程序,以便修改和增减功能。通过Proteus软件成功实现了自动取款机的仿真过程。经仿真表明,利用Proteus软件进行仿真设计可极大地简化单片机程序在目标硬件上的调试工作。


引言

自动取款机,简称ATM(AutomatICTeller Machine),它使用现代技术实现自动取款、修改密码、查询余额等操作,是业务电子化的一种机器设备,由于其便利性和实用性受到了人们的青睐。本文设计了一种自动取款机系统,模拟自动取款机的基本功能(取款、查询余额、修改密码、取卡),使人们了解利用Proteus软件来实现自动取款机的仿真过程。

1 系统总体设计

本系统主要由微控制器模块、液晶显示模块、键盘输入模块、存储模块、蜂鸣电路所组成。系统结构如图1所示。

微控制器模块主要完成对整个系统操作过程的控制;液晶显示模块模拟自动取款机的人机交互界面;键盘输入模块完成对密码的输入及修改功能;存储模块完成对模拟银行卡密码及金额的存储功能。

2 系统硬件电路设计

系统硬件电路仿真图如图2所示。微控制器采用Atmel公司的AT89C52,存储器采用具备I2C总线接口的FM24C02芯片,液晶显示采用LCD128x64模块。

液晶显示模块是128x64点阵的汉字图形型液晶显示模块,可显示汉字及图形,内置8 192个中文汉字(16×16点阵)、128个字符(8×16点阵)及64x256点阵显示RAM(GDRAM)。可与微处理器直接相连,提供两种界面来连接微处理器:8位并行及串行两种连接方式。利用该模块灵活的接口方式,可构成全中文人机交互图形界面。

FM24C02是2 048位的串行电可擦除只读存储器,内部组织为256 B,其作用是存储模拟银行卡的密码及金额。

由图2可知,AT89C52的P0口通过上拉电阻RPt与LCD 128x64的数据端口DB0~DB7相连,使读取或写入的数据显示在液晶模块上。P1.0~P1.5实现对模拟银行卡的操作,如密码的输入与修改,查询余额,取款,取卡等;P2.0,P2.1,P2.2分别接LCD 128x64的使能端,读/写数据控制端口及片选端口;P2.5,P2.6端口作为模拟银行卡“CARD1”,“CARD2”按键输入端,当LCD 128x64液晶显示界面出现“请插卡”时,按下相应的按键即表示了插入银行卡;P3.0~P3.6端口实现对键盘的扫描,实现密码的输入、修改等功能;P3.7接蜂呜电路,当对模拟银行卡操作时,就会发出声响提示操作已经完成。

3 系统软件设计

本系统软件包括主程序模块、键盘输入扫描模块、液晶显示模块等。采用C51语言对系统的各个模块编写程序。系统程序流程如图3所示。

3.1 主程序模块

主程序主要用于定义全局变量,给全局变量赋初值,初始化E2PROM,从FM24C02中读取或写入密码,驱动显示等,为整个程序提供数据。FM24C02读/写数据部分子程序如下:

3.2 键盘输入扫描模块

该模块具备扫描键盘确定被按键的具体位置、判断键盘上有无键按下、消除去抖动、判断闭合的按键是否释放等功能。

3.3 液晶显示模块

此模块包括液晶初始化、命令的输入、显示数据的输入。

向LCD 128x64里写数据部分子程序如下:

4 系统仿真结果

本文采用具有强大的EDA仿真功能的Proteus软件进行仿真,仿真测试结果如图4所示。

当按下运行的Proteus软件中的“play”按钮时,即启动系统,此时LCD液晶屏显示如图4(a)所示的界面。按下仿真电路中“CARD1”按键或“CARD2”按键,出现图4(b)所示画面,在键盘输入界面中输入银行卡“CARD1”或“CARD2”密码。若在密码输入的过程中,出现错误,则可按“key0”键进行修改。密码输入完成之后,按下仿真电路图中“key1”按键确定,若密码输入错误,则出现图4(c)所示界面,3 s钟之后转向图4(d)所示界面,重新输入密码。密码输入错误3次及以上,出现图4(e)所示界面,提示“此卡已被冻结”,再按“key1”按键取卡;若密码正确,则会出现图4(f)所示界面。在图4(f)所示界面下,按下“key0”按键选择“修改密码”功能,出现图4(g)界面,输入新的密码,修改成功之后跳转图4(h)界面;按下“key2”按键选择“查询余额”功能,出现图4(i)界面;按下“key3”按键选择“取款”功能,出现图4(i)界面,选择相应的金额按键按下(key0按键表示1 000,key2按键表示2 000,key3按键表示3 000),之后出现图4(k)界面,按下“key4”按键取钞,界面跳转到图4(1),完成取款操作。若要继续选择业务功能,则按下“key5”按键,界面重新跳转到图4(f)界面;若要取卡,则按下“key1”按键,则界面跳转到图4(a),对重新插入的银行卡进行操作。


5 结语

本文利用Proteus与Keil μVision3软件对自动取款机系统进行了仿真设计与实现。从仿真结果可知,利用Proteus软件进行仿真设计可极大地简化单片机程序在目标硬件上的调试工作,同时也可直观展示系统的运行界面,实现了自动取款机的基本功能,证明了此设计方案的可行性与正确性。


本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

LED驱动电源的输入包括高压工频交流(即市电)、低压直流、高压直流、低压高频交流(如电子变压器的输出)等。

关键字: 驱动电源

在工业自动化蓬勃发展的当下,工业电机作为核心动力设备,其驱动电源的性能直接关系到整个系统的稳定性和可靠性。其中,反电动势抑制与过流保护是驱动电源设计中至关重要的两个环节,集成化方案的设计成为提升电机驱动性能的关键。

关键字: 工业电机 驱动电源

LED 驱动电源作为 LED 照明系统的 “心脏”,其稳定性直接决定了整个照明设备的使用寿命。然而,在实际应用中,LED 驱动电源易损坏的问题却十分常见,不仅增加了维护成本,还影响了用户体验。要解决这一问题,需从设计、生...

关键字: 驱动电源 照明系统 散热

根据LED驱动电源的公式,电感内电流波动大小和电感值成反比,输出纹波和输出电容值成反比。所以加大电感值和输出电容值可以减小纹波。

关键字: LED 设计 驱动电源

电动汽车(EV)作为新能源汽车的重要代表,正逐渐成为全球汽车产业的重要发展方向。电动汽车的核心技术之一是电机驱动控制系统,而绝缘栅双极型晶体管(IGBT)作为电机驱动系统中的关键元件,其性能直接影响到电动汽车的动力性能和...

关键字: 电动汽车 新能源 驱动电源

在现代城市建设中,街道及停车场照明作为基础设施的重要组成部分,其质量和效率直接关系到城市的公共安全、居民生活质量和能源利用效率。随着科技的进步,高亮度白光发光二极管(LED)因其独特的优势逐渐取代传统光源,成为大功率区域...

关键字: 发光二极管 驱动电源 LED

LED通用照明设计工程师会遇到许多挑战,如功率密度、功率因数校正(PFC)、空间受限和可靠性等。

关键字: LED 驱动电源 功率因数校正

在LED照明技术日益普及的今天,LED驱动电源的电磁干扰(EMI)问题成为了一个不可忽视的挑战。电磁干扰不仅会影响LED灯具的正常工作,还可能对周围电子设备造成不利影响,甚至引发系统故障。因此,采取有效的硬件措施来解决L...

关键字: LED照明技术 电磁干扰 驱动电源

开关电源具有效率高的特性,而且开关电源的变压器体积比串联稳压型电源的要小得多,电源电路比较整洁,整机重量也有所下降,所以,现在的LED驱动电源

关键字: LED 驱动电源 开关电源

LED驱动电源是把电源供应转换为特定的电压电流以驱动LED发光的电压转换器,通常情况下:LED驱动电源的输入包括高压工频交流(即市电)、低压直流、高压直流、低压高频交流(如电子变压器的输出)等。

关键字: LED 隧道灯 驱动电源
关闭