Design of Automatic Teller Machine Based on Proteus

Publisher:PositiveVibesLatest update time:2018-03-18 Source: eefocusKeywords:Proteus Reading articles on mobile phones Scan QR code
Read articles on your mobile phone anytime, anywhere

      Abstract: The ATM system uses the highly reliable AT89C52 microcontroller as the core control chip, and uses the FM24C02 chip with an I2C bus interface to store passwords and amounts. The operating status and operation steps are displayed on a 128x64 LCD. The software design uses the C51 language with good portability and readability to write programs, so as to modify and add or remove functions. The simulation process of the ATM is successfully implemented through Proteus software. The simulation shows that using Proteus software for simulation design can greatly simplify the debugging of the microcontroller program on the target hardware.


    introduction

    Automatic teller machine, referred to as ATM (Automatic Teller Machine), uses modern technology to realize automatic withdrawal, password change, balance inquiry and other operations. It is a kind of machine equipment for electronic business, and is favored by people because of its convenience and practicality. This paper designs an automatic teller machine system to simulate the basic functions of the automatic teller machine (withdrawal, balance inquiry, password change, card withdrawal), so that people can understand the use of Proteus software to realize the simulation process of the automatic teller machine.

    1 Overall system design

    The system is mainly composed of microcontroller module, LCD module, keyboard input module, storage module and buzzer circuit. The system structure is shown in Figure 1.

Design and simulation of automatic teller machine based on Proteus

    The microcontroller module mainly controls the entire system operation process; the LCD display module simulates the human-computer interaction interface of the ATM; the keyboard input module completes the password input and modification functions; the storage module completes the storage function of the simulated bank card password and amount.

    2 System Hardware Circuit Design

    The system hardware circuit simulation diagram is shown in Figure 2. The microcontroller uses Atmel's AT89C52, the memory uses the FM24C02 chip with an I2C bus interface, and the liquid crystal display uses an LCD 128x64 module.

Design and simulation of automatic teller machine based on Proteus

    The LCD module is a 128x64 dot Chinese graphic LCD module that can display Chinese characters and graphics. It has 8,192 Chinese characters (16×16 dot), 128 characters (8×16 dot) and 64x256 dot display RAM (GDRAM). It can be directly connected to the microprocessor and provides two interfaces to connect to the microprocessor: 8-bit parallel and serial connection. Using the flexible interface mode of this module, a full Chinese human-computer interactive graphical interface can be constructed.

    FM24C02 is a 2 048-bit serial electrically erasable read-only memory with an internal structure of 256 B. Its function is to store the password and amount of the simulated bank card.

    As shown in Figure 2, the P0 port of AT89C52 is connected to the data port DB0~DB7 of LCD 128x64 through the pull-up resistor RPt, so that the read or written data is displayed on the LCD module. P1.0~P1.5 realizes the operation of simulated bank cards, such as password input and modification, balance query, withdrawal, card withdrawal, etc.; P2.0, P2.1, P2.2 are respectively connected to the enable end of LCD 128x64, read/write data control port and chip select port; P2.5, P2.6 ports are used as the input ends of the simulated bank card "CARD1", "CARD2" buttons. When the LCD 128x64 liquid crystal display interface shows "Please insert the card", pressing the corresponding button indicates that the bank card has been inserted; P3.0~P3.6 ports realize the scanning of the keyboard, and realize the functions of password input and modification; P3.7 is connected to the buzzer circuit. When the simulated bank card is operated, a sound will be emitted to prompt that the operation has been completed.

    3 System Software Design

    The system software includes the main program module, keyboard input scanning module, LCD display module, etc. C51 language is used to program each module of the system. The system program flow is shown in Figure 3.

Design and simulation of automatic teller machine based on Proteus

    3.1 Main program module

    The main program is mainly used to define global variables, assign initial values ​​to global variables, initialize E2PROM, read or write passwords from FM24C02, drive the display, etc., to provide data for the entire program. The subroutines for reading/writing data from FM24C02 are as follows:

Design and simulation of automatic teller machine based on Proteus
Design and simulation of automatic teller machine based on Proteus

    3.2 Keyboard input scanning module

    The module has the functions of scanning the keyboard to determine the specific position of the pressed key, judging whether any key is pressed, eliminating jitter, and judging whether the closed key is released.

    3.3 LCD Module

    This module includes LCD initialization, command input, and display data input.

    The subroutine for writing data to LCD 128x64 is as follows:

Design and simulation of automatic teller machine based on Proteus
Design and simulation of automatic teller machine based on Proteus

    4 System Simulation Results

    This paper uses Proteus software with powerful EDA simulation function for simulation, and the simulation test results are shown in Figure 4.

Design and simulation of automatic teller machine based on Proteus

    When the "play" button in the running Proteus software is pressed, the system is started, and the LCD screen displays the interface shown in Figure 4(a). Press the "CARD1" button or the "CARD2" button in the simulation circuit, and the screen shown in Figure 4(b) appears. Enter the bank card "CARD1" or "CARD2" password in the keyboard input interface. If an error occurs during the password input process, press the "key0" key to modify it. After the password is entered, press the "key1" button in the simulation circuit diagram to confirm. If the password is entered incorrectly, the interface shown in Figure 4(c) appears. After 3 seconds, it turns to the interface shown in Figure 4(d) and re-enters the password. If the password is entered incorrectly 3 times or more, the interface shown in Figure 4(e) appears, prompting "This card has been frozen". Press the "key1" button again to take the card; if the password is correct, the interface shown in Figure 4(f) appears. In the interface shown in Figure 4(f), press the "key0" button to select the "Change Password" function, and the interface in Figure 4(g) will appear. Enter the new password. After the change is successful, jump to the interface in Figure 4(h); press the "key2" button to select the "Check Balance" function, and the interface in Figure 4(i) will appear; press the "key3" button to select the "Withdraw" function, and the interface in Figure 4(i) will appear. Select the corresponding amount button and press it (key0 button represents 1,000, key2 button represents 2,000, and key3 button represents 3,000). Then the interface in Figure 4(k) will appear. Press the "key4" button to withdraw money, and the interface will jump to Figure 4(1) to complete the withdrawal operation. If you want to continue to select business functions, press the "key5" button, and the interface will jump back to the interface in Figure 4(f); if you want to withdraw a card, press the "key1" button, and the interface will jump back to Figure 4(a), and operate the reinserted bank card.


    5 Conclusion

    This paper uses Proteus and Keil μVision3 software to simulate and implement the ATM system. From the simulation results, it can be seen that using Proteus software for simulation design can greatly simplify the debugging of the microcontroller program on the target hardware, and it can also intuitively display the system's operating interface, realize the basic functions of the ATM, and prove the feasibility and correctness of this design.


Keywords:Proteus Reference address:Design of Automatic Teller Machine Based on Proteus

Previous article:Research on the Application of C8051F020 in LCD Control System
Next article:Improved keyboard circuit for P1 port

Recommended ReadingLatest update time:2024-11-16 12:24

1~99 seconds countdown digital tube display C program + Proteus simulation
1~99 seconds countdown digital tube display C program + Proteus simulation file. The program is optimized, and the internal timer of 51 single-chip microcomputer is used to realize the countdown within 1-99 seconds. The simulation effect is:   The source program is: /* Debugging environment: Proteus 7.8 AT89S52 sin
[Microcontroller]
1~99 seconds countdown digital tube display C program + Proteus simulation
Proteus and kilec51 online debugging introductory experiment
Yesterday I started to debug the connection between kilec51 and Proteus. First, I had to download the software from the Internet and install it. I started by downloading kile 2.0 and debugging it online, but it didn't work. The problem was that startup.a51 didn't appear during kile operation. I was so depressed. I just
[Microcontroller]
Proteus and kilec51 online debugging introductory experiment
Proteus and Keil Cx51 microcontroller simulation (serial port simplex communication)
The serial ports of the microcontrollers U1 and U2 both work in mode 1, with U1 acting as a receiver and U2 as a transmitter. The baud rate is 9600. After U1 receives the data sent by U2, it sends it to ports P1, P0, and P2 in sequence for running light display. Try to write a program and simulate it through Proteus.
[Microcontroller]
LPC2124+L297+L298+ drive motor proteus simulation
  /**************************************************************************** * File:Main.C * Function: ****************************************************************************/ #include  "config.h" /******************************************************************************* * Name: IRQ_Eint0() *Function:
[Microcontroller]
LPC2124+L297+L298+ drive motor proteus simulation
Design of Automatic Teller Machine Based on Proteus
      Abstract: The ATM system uses the highly reliable AT89C52 microcontroller as the core control chip, and uses the FM24C02 chip with an I2C bus interface to store passwords and amounts. The operating status and operation steps are displayed on a 128x64 LCD. The software design uses the C51 language with good porta
[Microcontroller]
Design of Automatic Teller Machine Based on Proteus
st7735 color LCD simulation (Proteus 8 +bascom avr microcontroller)
Proteus simulation test of st7735 The microcontroller source program is as follows: '----------------------------------------------------------------------------' '                      ST7735R display library                             ' '                         resolution 128x160                                 
[Microcontroller]
st7735 color LCD simulation (Proteus 8 +bascom avr microcontroller)
TLC2543 MCU program with Proteus simulation circuit schematic diagram AD conversion experiment
The MCU and TLC2543 interface realizes AD conversion and uses digital tube display for simulation schematic diagram as follows (Proteus simulation project file can be downloaded from the attachment of this post) Circuit diagram of TLC2543 connected to MCU:   TLC2543 is an 11-channel 12-bit serial A/D converter. For
[Microcontroller]
TLC2543 MCU program with Proteus simulation circuit schematic diagram AD conversion experiment
Latest Microcontroller Articles
  • Download from the Internet--ARM Getting Started Notes
    A brief introduction: From today on, the ARM notebook of the rookie is open, and it can be regarded as a place to store these notes. Why publish it? Maybe you are interested in it. In fact, the reason for these notes is ...
  • Learn ARM development(22)
    Turning off and on interrupts Interrupts are an efficient dialogue mechanism, but sometimes you don't want to interrupt the program while it is running. For example, when you are printing something, the program suddenly interrupts and another ...
  • Learn ARM development(21)
    First, declare the task pointer, because it will be used later. Task pointer volatile TASK_TCB* volatile g_pCurrentTask = NULL;volatile TASK_TCB* vol ...
  • Learn ARM development(20)
    With the previous Tick interrupt, the basic task switching conditions are ready. However, this "easterly" is also difficult to understand. Only through continuous practice can we understand it. ...
  • Learn ARM development(19)
    After many days of hard work, I finally got the interrupt working. But in order to allow RTOS to use timer interrupts, what kind of interrupts can be implemented in S3C44B0? There are two methods in S3C44B0. ...
  • Learn ARM development(14)
  • Learn ARM development(15)
  • Learn ARM development(16)
  • Learn ARM development(17)
Change More Related Popular Components

EEWorld
subscription
account

EEWorld
service
account

Automotive
development
circle

About Us Customer Service Contact Information Datasheet Sitemap LatestNews


Room 1530, 15th Floor, Building B, No.18 Zhongguancun Street, Haidian District, Beijing, Postal Code: 100190 China Telephone: 008610 8235 0740

Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved 京ICP证060456号 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号