Introduction to the hardware connection between LCD driver MAX7232BF and microcontroller

Publisher:灵感火花Latest update time:2012-03-03 Source: 21IC Reading articles on mobile phones Scan QR code
Read articles on your mobile phone anytime, anywhere

MAX7232BF has 4-bit serial input, 2 decimal points and 4-bit address; the output is 10-bit data plus 20 independent decimal points, the data output code is BCD code, and the 2 decimal points of each bit are on COM3. It can be directly connected to the microprocessor.

1 Pin structure and description

MAX7232BF has a dual in-line 40-pin package and a quad 44-pin package. The pin structure and function of the 40-pin package are introduced in the general form; the 44-pin package is similar, except that some pins are empty (NC), and the other pin numbers and their functions are slightly different from the 40-pin package. See Table 1.


2 Dynamic Display Drive Timing

Since the LCD display drive signal is not quite the same as the LED display drive signal, it is not possible to simply add a high level or a low level to the LCD electrode in the dynamic display drive mode, otherwise the display will be chaotic. On the other hand, there should be no DC voltage between the two electrodes of the LCD, that is, the average value of the drive signal of the two electrodes should be 0. Therefore, the LCD display drive signal needs to use the bias method. Commonly used bias methods include 1/2 bias, 1/3 bias, 1/4 bias and 1/7 bias. The MAX7232BF drive signal uses 1/3 bias for dynamic scanning drive. The scanning signal is output from the back electrode, and the display information is output from the segment electrode.

3 Decoding selection format

MAX7232BF inputs 4-bit data, 2-bit decimal point and 4-bit address binary data. Different combinations of them will produce different output formats. The following will discuss the decoding formats of various combinations. According to different display needs, different encoding combinations can be selected to produce the required display format.

3.1 Decimal point decoding output format

The decimal point control input is 2 bits, which produces 4 different combinations. Any format can be selected according to the display needs. The decoding format is shown in Table 2.

3.2 Data decoding output format

The data control inputs 4 bits of binary data, forming a total of 16 output formats. Since the MAX7232BF outputs BCD code, only 9 digits from 1 to 9 are required, and there is also 1 non-output control, so the other 6 bits are not used.

3.3 Address decoding output format

The MAX7232BF can output up to 10 bits of data, which is controlled by the 4-bit input binary address data. These 4 bits of data are decoded into 16 bits, of which the first 10 bits select the address of the output bit and the last 6 bits are invalid.

4 MAX7232BF Operating Timing

The MAX7232BF has three input timings:

The first type is used to output 10-bit data (maximum value, can be less than 10 bits) and 20 independent decimal points;

The second type is used to output 10-bit data (maximum value, can be less than 10 digits) but without any decimal point;

The third type is used to output 10-bit data (maximum value, can be less than 10 digits) but only outputs 10 independent decimal points on the right (AN2).

In order to make the display function of the designed LCD as powerful as possible, it is necessary not only to ensure powerful hardware functions, but also to maximize the hardware functions in software. Therefore, the first timing should be selected in the timing so that both decimal points can be displayed. Here, only the first timing is read. Figure 1 shows the input timing of this input method.

As shown in Figure 1, the data input timing is: AN1→AN2→BD0→BD1→BD2→BD3→A0→A1→A2→A3. It is required to input these 10 bits of data in sequence at the rising edge of the clock pulse. It cooperates with the clock pulse to input data. At the rising edge of each clock pulse, MAX7232BF automatically reads the data on the data input line. Therefore, each clock pulse must input one bit of data. It is not allowed to stop for several cycles during the write period until the write control line becomes a low level. [page]

In addition, there is the relationship between the write input line and the data enable output line, as well as the principle and process of controlling data input through them. When the data enable output is high, the rising edge of the write pulse of the write input line will trigger the reset shift register and control logic, and start reading data from the rising edge of the next clock pulse; when the data enable output remains high, when the MAX7232BF is reading data, if there is another write input pulse, the shift register and control logic will be reset again, and the MAX7232BF will start reading data again; when the data enable output is low, the rising edge of the write pulse of the write input line will make the data enable output high, and the two work together to decode and latch the input data into the output buffer, and reset the shift register and control logic, ready to read the next data.

5 Hardware connection between MAX7232BF and MCU

The P1 port of the 89C51 microcontroller is used as the input part of the control display, and its three control lines P1.2, P1.1 and P1.0 are used to control the clock input, write control input and data input of the MAX7232BF respectively; considering the needs of different programming methods, some of them need to use the output signal of the data enable output line of the MAX7232BF as the selection condition, and P1.3 can be used as the receiving end of the output enable line of the MAX7232BF.

6 Software Programming

This article gives the displayed subroutine, which is as follows:

7 Conclusion

The MAX7232BF is used as the LCD driver, and the LCD display is driven by the 1/3 time division method to replace the parallel display to reduce the number of transmission lines and increase the life of the display. It is rare to see the discussion of using the MAX7232BF as an LCD driver before. This article also has reference significance for the MAX7232CF and MAX7234 series. The difference between the MAX7232CF and the MAX7232BF is that the MAX7232CF has a decimal point on COM1, while the other is on COM3. The MAX7234 has a serial input of 6-bit data (ASCII code), a 3-bit address, and an output of 5 characters, but there is no independent decimal point.

Reference address:Introduction to the hardware connection between LCD driver MAX7232BF and microcontroller

Previous article:Microcontroller controller improves TV image quality for large-screen LCDs
Next article:Implementation of temperature and humidity sensing system based on single chip microcomputer

Recommended ReadingLatest update time:2024-11-17 04:40

51 single chip microcomputer drives LCD1602 liquid crystal display system
Without further ado, here are the pictures of the real thing LCD1602+51 single-chip computer minimum system application simulation and production Okay, now let’s officially enter the production phase: Step 1: Simulation After the schematic diagram is drawn, the minimum system of the single-chip microcomputer onl
[Microcontroller]
51 single chip microcomputer drives LCD1602 liquid crystal display system
74HC595 drives LCD1602 program
In order to save ports, I also changed the 1602 LCD to 595 to drive it. There are 2 files in total. The program has been tested by me. You only need to change the port in your own application. ///////////////////////////////////////////////////// /////////////////////////// #include LCD1602.H unsigned char code Text_
[Microcontroller]
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号