Pay special attention to its working time when using the LCD screen. When working continuously for more than 96 hours at full load, it will age rapidly. In severe cases, it will even burn out, causing huge economic losses to users. This is because the pixel points of the LCD screen are composed of liquid crystals. When working for a long time, it is easy to overheat some pixels (Pixel Dot), and once it exceeds the limit, it will cause permanent damage. This forms what is often called "bad point" (some media called "black spots"). Therefore, if the user has to work for a long time, it is also necessary to let the screen get intermittent rest, and the same content cannot be displayed for a long time. When the screen is waiting for work, it is necessary to reduce the brightness. The experts on the 52 hardware forum said that it is a good habit to use the screen saver. This can not only delay the aging of the LCD screen, extend its service life, but also avoid hardware damage.
Question 2: Do not disassemble the LCD screen if you encounter problemsFor the LCD screen, since its construction is very delicate and delicate, you should never disassemble the LCD screen yourself, no matter what the user's screen is. If you suspect that your LCD screen is not working properly, you should ask the manufacturer to send a professional worker to help solve the problem. The transformer in the LCD backlight assembly may still have a 1000V high voltage (although it is a micro-current) after a certain period of shutdown. Non-professionals may cause new failures of the component if not handled properly. In severe cases, the screen may be permanently Can't work - this is a real unwise move because of small loss.
Question 3: Use LCD display to pay attention to anti-pressure and shockproofThe LCD display screen is very fragile and delicate, and the impact resistance is far less than the CRT screen. Once subjected to a strong impact, it is likely to cause damage to many of the precision glass components and sensitive and delicate electrical components contained in the LCD. So be sure to avoid the oscillation of strong impact. In addition to preventing strong impacts, be careful not to apply pressure to the LCD screen surface. Some users will find more and more dead pixels on the screen for a period of time. The most likely reason is that users often use their fingers to point to a certain part of the screen (even a slight click may cause serious local defects). In this case, the user has no way to remedy this situation. Therefore, it is very important to develop good habits. Do not touch the screen of the screen casually.
The illuminator in the LCD screen is the only natural-consuming component. After a long period of use, it will age, causing the screen to become darker and the brightness to drop. If the screen is darkened due to aging, you only need to replace the lights to make the screen come back to life and restore youth. Of course, the most important thing is to pay attention to maintenance, and prevent it. With my years of experience in screen maintenance on the 52 hardware forum, users can pay attention to some problems: for example, brightness can not be adjusted too high, long-term high-load work will accelerate the screen aging
In non-working hours, you should use an action screen saver and so on. If you pay attention to weekday maintenance, you can greatly extend the life of the backlight.
Question 5: Different blinking patterns of LCD screens have different meaningsDue to the influence of the analog signal output interface, such as the clock and phase of the pixel are not synchronized with the analog signal output, it will cause flicker. This phenomenon is usually called Pixel Jitter, which is an occasional flicker phenomenon. The inevitable situation in the analog/digital conversion process. In order to solve such problems, there are two ways. It can be "automatically adjusted". There is an "automatic setting" function on the LCD screen. Its function is to adjust the input signal to adjust the LCD screen to the optimal state. It can also be “manually adjusted†and adjusted by the two functions of phase and clock.
However, if it is a regular flashing or often unexplained flashing, it may be that the screen is really a problem. First check if there is contact failure. If not, it is likely that the LCD screen itself has failed.
When using the LCD screen, be sure to put it in a ventilated and dry environment to avoid the intrusion of water vapor. This is because the internal design of the LCD screen is very precise, and once the short circuit occurs due to oxidative corrosion caused by environmental humidity, it will bring huge economic losses to the user. If you accidentally get wet of the screen, don't panic, turn off the power first. If there is only moisture on the surface of the screen, wipe it off with a soft cloth before turning on the power. If moisture has entered the LCD screen, the LCD must be placed in a well-ventilated or warm place to allow the water to evaporate. If the situation is very serious, the user should ask a professional to help. Remember, first turn off the power, do not let the LCD power up when the moisture is not removed, otherwise the liquid crystal electrode will be corroded, and even the best technicians will be back.
Question 7: How to properly remove dirt on the screen surface of the LCD screenWhen the screen is used for a period of time, it will inevitably have dust and dirt on the surface area, and the user can clean it, but the correct method must be used. First, the medium used for wiping is preferably a soft, non-fibrous material such as absorbent cotton, lens paper or a soft cloth. Because rough cloth or paper items are easy to scratch the screen. Then gently rub it with a little glass cleaner (do not use a chemical solvent such as alcohol). Another thing to remind everyone is to use a cloth dipped in detergent to wipe, instead of spraying the cleaning directly onto the surface of the display screen, because it is easy to flow into the screen, causing short-circuit faults inside the LCD screen, causing unnecessary losses. .
//FileName:delay.h
#ifndef __LZP_DELAY_H_
#define __LZP_DELAY_H_
#define TRUE 1
#define FALSE 0
/ / Set the baud rate#define OSC_FREQ 11059200L
#define BAUD_115200 256 - (OSC_FREQ/192L)/115200L // 255
#define BAUD_57600 256 - (OSC_FREQ/192L)/57600L // 254
#define BAUD_38400 256 - (OSC_FREQ/192L)/38400L // 253
#define BAUD_28800 256 - (OSC_FREQ/192L)/28800L // 252
#define BAUD_19200 256 - (OSC_FREQ/192L)/19200L // 250
#define BAUD_14400 256 - (OSC_FREQ/192L)/14400L // 248
#define BAUD_9600 256 - (OSC_FREQ/192L)/9600L // 244
// TImer2
#define RCAP2_50us 65536L - OSC_FREQ/240417L
#define RCAP2_1ms 65536L - OSC_FREQ/12021L
Void delay_ms(unsigned int num);
Void delay_50us(unsigned char num);
Void delay_us(unsigned char num);
#endif
//FileName:delay.c
/********************************************
** start51 study board
** delay funcTIon implementaTIon
** author:bluehacker"kernelpaniccrash At gmail.com"
**********************************************/
#include "delay.h"
#include "reg52.h"
Void delay_ms(unsigned int num)
{
RCAP2H = (RCAP2_1ms) 8);
RCAP2L=(RCAP2_1ms&0x00ff);
TH2=(RCAP2_1ms》8);;
TL2=(RCAP2_1ms&0x00ff);;
ET2 = 0; // Disable TImer2 interrupt
T2CON = 0x04; // 16-bit auto-reload, clear TF2, start timer
While (num--)
{
While (!TF2);
TF2 = FALSE;
}
TR2 = FALSE;
}
Void delay_50us(unsigned char num)
{
RCAP2H=(RCAP2_50us》》8);
RCAP2L=(RCAP2_50us&0x00ff);
TH2=(RCAP2_50us》》8);
TL2=(RCAP2_50us&0x00ff);
ET2=0;
T2CON=0x04;
While(num--)
{
While(!TF2)
TF2=FALSE;
}
TR2=FALSE;
}
Void delay_us(unsigned char num)
{
Unsigned char i;
For (i=0;i"num;i++)
{
}
}
//FileName:lcd.h
#ifndef __LZP_LCD_H_
#define __LZP_LCD_H_
#include "reg52.h"
/////////////////////////////////
/ / Define the LCD control pin
///////////////////////////////
Sbit LCDRS=“P2â€^0;
Sbit LCDRW=“P2â€^1;
Sbit LCDE=“P2â€^2;
Void lcd_write_cmd(unsigned char cmd);
Void lcd_write_data(unsigned char dat);
Void lcd_clear(void);
Void lcd_init(void);
Unsigned char lcd_status(void);
Void lcd_set_mode(unsigned char cursor, unsigned char text);
Void lcd_write_str(unsigned char x,unsigned char y,unsigned char *s);
Void lcd_write_char(unsigned char x,unsigned char y, unsigned char d);
#endif
//FileName:lcd.c
/************************************************* *******
**This development board supports 1602 character LCD
**This LCD interface information can be found a lot with google
** pin definition:
* 1---GND
* 2---VDD
* 3---VLCD: contrast adjustment
* 4---RS: register selection, select data register when high level, select instruction register when low level
* 5---R/W: Read and write signal line, read operation when high level, write operation when low level.
When RS and RW are low together, the instruction or display address can be written, when RS is low
The busy signal can be read when RW is high, and can be written when RS is high and RW is low.
* 6---E: Enable, when the E terminal changes from high level to low level, the LCD module executes the command.
* 7~14---DB0~DB7 data line,
* 15---A: backlight pin, "A" is positive
* 16---K: backlight pin, "K" is negative
** author:bluehacker"kernelpaniccrash AT gmail.com"
**date: 2007-11-15
************************************************** *******/
#include "lcd.h"
#include "delay.h"
#include "intrins.h"
/*Write commands to the LCD*/
Void lcd_write_cmd(unsigned char cmd)
{
Unsigned char status;
P0=cmd;
LCDRS=“0â€;
LCDRW = "0";
LCDE=“0â€;
Delay_us(5);
Do{
Status=“lcdâ€_status();
}while(status&0x80);
LCDE=“1â€;
}
Void lcd_write_data(unsigned char dat)
{
Unsigned char status;
P0=dat;
LCDRS=“1â€;
LCDRW = "0";
LCDE=“0â€;
Delay_us(5);
Do{
Status=“lcdâ€_status();
}while(status&0x80);
LCDE=“1â€;
}
Void lcd_clear(void)
{
Lcd_write_cmd(0x01);
}
/ * Display string write function * /
Void lcd_write_str(unsigned char x,unsigned char y,unsigned char *s)
{
If (y == 0) {
Lcd_write_cmd(0x80 + x);
}
Else {
Lcd_write_cmd(0xC0 + x);
}
While (*s) {
Lcd_write_data( *s);
s ++;
}
/*
Unsigned char i;
For(i=0;i"16&&s!=0;i++)
{
Lcd_write_char(x+i,y,s);
}
*/
}
Void lcd_write_char(unsigned char x,unsigned char y, unsigned char d)
{
If(y==0)
{
Lcd_write_cmd(0x80+x);
}
Else
{
Lcd_write_cmd(0xc0+x);
}
Lcd_write_data(d);
}
/ / Cursor reset
Void lcd_reset_cursor(void)
{
Lcd_write_cmd(0x02);
}
/ / Set the display mode
Void lcd_set_mode(unsigned char cursor, unsigned char text)
{
Unsigned char mode=“0x04â€;
If(cursor){//cursor right shift
Mode|=0x02;
}
Else{//cursor left shift
Mode|=0x00;
}
If(text){//text move
Mode|=0x01;
}
Else{//text does not move
Mode|=0;
}
Lcd_write_cmd(mode);
}
Void lcd_init(void)
{
P0=0;
LCDE=“1â€;
Delay_ms(500);
Lcd_clear();
Lcd_write_cmd (0x38); / / set lcd function: 8-bit bus, double-line display, 5X7 dot matrix characters
Lcd_write_cmd(0x0f);//Display switch control: display ON, cursor ON, flashing ON
Lcd_write_cmd (0x06); / / cursor input mode incremental shift
Lcd_write_cmd(0x80);
//lcd_write_cmd(0x0c);
//lcd_clear();
}
/ / Read the status, whether it is busy
Unsigned char lcd_status(void)
{
Unsigned char tmp=“0â€;
P0=0xff;
LCDRS=“0â€;
LCDRW = "1";
LCDE=“0â€;
_nop_();
LCDE=“1â€;
//_nop_();
Tmp=“P0â€;
Return tmp;
}
//FileName:test.c
/*******************************
** Start51 study board test software
** test 1602LCD
** author: bluehacker"kernelpaniccrash AT gmail.com"
***********************************/
#include "lcd.h"
#include "delay.h"
#include "intrins.h"
Void main(void)
{
/ / initialize the serial port
SCON=“0x50â€; /*mode 1,1 start bit ,8 data bit ,1 stop bit,enable receive*/
PCON=“0x80â€; /*SMOD=1, Baud Rate twice*/
TMOD=“0x21â€; /*timer 0--mode 1 and timer 1 ---mode2*/
//set baud rate,use timer 1 as baud rate generator
TH1=BAUD_19200;
TL1=TH1;
TR1=TRUE;
ET1=FALSE; //disable timer 1 interrupt
EA=“0â€;
//delay_ms(400);
Lcd_init();
// lcd_set_mode(1,0);
//lcd_reset_cursor();
// lcd_write_char(3,1,'c');
Lcd_write_str(2,0, "bluehacker");
Lcd_write_str(2,1,"QQ");
While(1)
{
}
}
Twinkle System Technology Co Ltd , https://www.pickingbylight.com