Design and simulation of ARM display system based on PROTEUS technology

Publisher:HappyHeartedLatest update time:2010-12-18 Source: 电子技术 Reading articles on mobile phones Scan QR code
Read articles on your mobile phone anytime, anywhere

0 Introduction

With the development of science and technology, ARM is increasingly used in all aspects of society. ARM chips are widely used in wireless products, PDAs, GPS, networks, consumer electronics, STBs and smart cards. LPC2138 is a RISC microprocessor based on ARM7TDMI produced by Philips, with a main frequency of up to 50MHz. Liquid crystal display is a human-computer interaction interface that reflects the input/output of the system in embedded systems. Liquid crystal display is widely used for its advantages such as micro power consumption, small size, rich display content, modularization, and simple interface circuits. Based on the introduction of the pin structure and function of the LM016L liquid crystal module with HD44780 as the controller, this article builds the hardware interface circuit between LM016L and LPC2138 chips, writes the display program in C language, and uses PROTEUS software for functional simulation.

1 Introduction to LCD module structure and function

The LM016L LCD module uses the HD44780 controller. The HD44780 has a simple but powerful instruction set that can realize functions such as character movement and flashing. The HD44780 controller consists of two 8-bit registers, an instruction register (IR) and a data register (DR), a busy flag (BF), a display data RAM (DDRAM), a character generator ROM (CGROM), a character generator RAM (CGRAM), and an address counter (AC). IR is used to store instruction codes and can only be written but not read; DR is used to store data, which is automatically written to DDRAM and CGRAM by internal operations, or temporarily stores data read from DDRAM and CGRAM. When BF is 1, the LCD module is in internal processing mode and does not respond to external operation instructions or receive data. DDRAM is used to store displayed characters and can store 80 character codes. CGROM generates 160 types of 5 x 7 dot matrix characters and 32 types of 5×10 dot matrix characters from 8-bit character codes, and the corresponding relationship between 8-bit character codes and characters. CGRAM is reserved for users to write special characters, and its capacity is only 64 bytes. You can customize 8 5×7 dot matrix characters or 4 5×10 dot matrix characters. AC can store DDRAM and CGRAM addresses. If the address code is written to IR with the instruction, IR will automatically load the address code into AC and select DDRAM or CGRAM unit at the same time. The pin functions of LMO16L LCD module are shown in Table 1 below.

Pin functions of LMO16L LCD module

2 LCD module simulation based on Proteus ISIS 7

2.1 Interface Design

Run Proteus ISIS 7 to enter the design interface, and select the required components in the component library as shown in Figure 1. The P0.0-P0.7 ports of Lpc2138 are used as the output terminals of 8-bit data, and P0.8, P0.9, and P0.10 are used as the output terminals of control signals. The connected circuit is shown in Figure 1.

Connect the completed circuit

2.2 Software Design

After the circuit diagram is drawn, the driver program of LM016L can be written. There are two types of operations of LM016L: read operation and write operation. Generally, it is not necessary to read data from the LCD, so the operation of the LCD is mainly two write operations: write instruction and write data. For the busy flag (BF), the query method ensures that the LCD module has enough time to process internal data. When writing the source program, it is necessary to write the program according to the timing diagram of the LCD module. The timing of LM016L is shown in Figure 2.

Timing of LM016L

According to the circuit diagram 1, define the pins: RS BIT P0.8; RW BIT P0.9; LCD E BIT P0.10.

The development environment of this design is Keil Uvision3. The program is roughly divided into three parts: initialization, control information and data transmission. The following will briefly explain it in conjunction with the program source code:

program

program

Generate a HEX file after compiling with Keil software. Open the lpc2138 chip property dialog box in Proteus, load the generated HEX file into it, and then run the simulation to see the result in Figure 3, indicating that the design is successful.

Simulation Results

3 Conclusion

Proteus is used to simulate the ARM7+LM016L LCD module and display the string. Proteus provides a good software platform for ARM learning, allowing beginners to quickly master the core content of ARM without worrying about some details in circuit design. At the same time, this method does not require hardware resources, and it also opens up a best way for schools to offer ARM courses.

Reference address:Design and simulation of ARM display system based on PROTEUS technology

Previous article:Design of industrial coal composition analysis system based on S3C44B0X
Next article:Intelligent disinfection robot control system for livestock breeding based on ARM7

Recommended ReadingLatest update time:2024-11-16 20:29

Use cross-ng to build arm-linux cross-compilation environment under CentOS
There are many articles on the Internet about how to use cross-ng to build arm-linux cross-compilation tools under Ubuntu, but it is difficult to find them under CentOS. Here I record my own construction process for reference by netizens. 1. Configuration environment 1. Operating system: CentOS5.5 2. Source code
[Microcontroller]
Programming experience under ARM architecture
Many programming strategies for efficient ARM-based codes are derived from RISC processors. Like many RISC processors, memory access of ARM series processors also requires data alignment, that is, when accessing "word" data, four-byte alignment is required, and bits of the address == 0b00; when accessing "halfwords",
[Microcontroller]
Design of intelligent vehicle terminal equipment system based on ARM
 1 Overall construction of the system   The intelligent vehicle management system consists of three parts: intelligent vehicle terminal equipment, GPRS wireless communication link and master station monitoring center. The overall structure diagram is shown in Figure 1. Figure 1 Block diagram of the intellige
[Microcontroller]
Design of intelligent vehicle terminal equipment system based on ARM
Optimizing Industrial Control with ARM Architecture Processors
Operating modern factories and processing plants is technically complex. To achieve precise control of machinery and production processes, manufacturers need to adopt the latest series of sensors, actuators and servo systems. As an example of adding technology to gain the advantages of precise control functions, var
[Industrial Control]
Optimizing Industrial Control with ARM Architecture Processors
Configure arm linux Qt development environment
The process of configuring the arm linux Qt development environment is relatively complicated, so it is necessary to record the steps. Version: Ubuntu10.04 LTS / Qt SDK 4.7.3 / arm-linux-gcc 4.4.3   1. Install arm-linux-gcc compiler 1. Download arm-linux-gcc-4.4.3, http://ishare.iask.sina.com.cn/f/13836544.html 2. Af
[Microcontroller]
Breaking news: TSMC's 300-person team cooperates with Apple to develop its own Arm architecture processor
At Apple's WWDC conference tonight, in addition to iOS 14 and Mac OS systems, the most watched event was Apple's introduction of Arm processors to replace the 15-year-old x86 processors. It is reported that Apple has tested Arm-based chips on Mac computers and found that their performance has been greatly improved ove
[Mobile phone portable]
ARM Basic Learning-ATPCS Subroutine Call Basic Specifications
ATPCS is the abbreviation of Arm Thumb Procedure Call Standard, which means the basic specification of subroutine calls in arm programs and thumb programs. Register usage rules When the number of parameters is less than or equal to 4, the parameters are passed between subroutines through R0~R3, and there is no nee
[Microcontroller]
Analysis of Parallelization Methods for Embedded ARM Multi-core Processors
     At present, embedded multi-core processors have been widely used in the field of embedded devices, but embedded system software development technology is still stuck in the traditional single-core mode, and has not fully utilized the performance of multi-core processors. Program parallel optimization is currently
[Microcontroller]
Analysis of Parallelization Methods for Embedded ARM Multi-core Processors
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号