LCD 1602 Nền Xanh Dương Chữ Trắng 5V
-
27,000VND
-
30,000VND
-
50,000VND
Mô tả
Đây là LCD ký tự 16×2 chữ trắng nền xanh dương có IC điều khiển HD44780 Super Twisted Nematic (STN) LCD. Giao tiếp đơn giản với 4 bit hoặc 8 bit. Giao tiếp dễ dàng với các loại vi điều khiển và board Arduino, ATMEL AVR hoặc PIC.
Đặc điểm:
- LCD STN độ tương phản cao 16×2
- Chữ trắng nền xanh dương
- Điện áp hoạt động: +5.0VDC
- Đèn LED nền màu trắng
- Ký tự 5×8 dot
- IC điều khiển HD44780 hoặc tương đương
- Giao tiếp 4 or 8 bit
Kích thước:
- Module: 80.0×36.0x13.5mm
- Viewing area: 66.0×16.0mm
Sơ đồ chân:
1:VSS
2:VDD5V
3:V0, 10K
4:RS
5:R/W
6:E
7~14:D0~D7.
15:A
16:K
Code
RS EQU P3.7;
RW EQU P3.6 ;
E EQU P3.5 ;
MOV P1,#00000001B ;
ACALL ENABLE;
MOV P1,#00111000B ;
ACALL ENABLE ;
MOV P1,#00001111B ;
ACALL ENABLE ;
MOV P1,#00000110B ;
ACALL ENABLE ;
MOV P1,#0C0H ;
ACALL ENABLE ;
MOV P1,#01000001B ;
SETB RS ;RS=1
CLR RW ;RW=0 ;
CLR E ;E=0 ;
ACALL DELAY ;
SETB E ;E=1 ;
AJMP $
ENABLE:
CLR RS ;
CLR RW
CLR E
ACALL DELAY
SETB E
RET
DELAY:
MOV P1,#0FFH ;
CLR RS
SETB RW
CLR E
NOP
SETB E
JB P1.7,DELAY ;
RET
END
DELAY,0C0H,A 41H。
SMC1602A(16*2)
—————————————————
|LCM—–51 | LCM—–51 | LCM——51 |
————————————————|
|DB0—–P1.0 | DB4—–P1.4 | RW——-P2.0 |
|DB1—–P1.1 | DB5—–P1.5 | RS——-P2.1 |
|DB2—–P1.2 | DB6—–P1.6 | E——–P2.2 |
|DB3—–P1.3 | DB7—–P1.7 | VLCD 1K GND|
—————————————————
[ AT89S52 12M ]
=============================================================*/
#define LCM_RW P2_0 //
#define LCM_RS P2_1
#define LCM_E P2_2
#define LCM_Data P1
#define Busy 0x80 //
#i nclude
void WriteDataLCM(unsigned char WDLCM);
void WriteCommandLCM(unsigned char WCLCM,BuysC);
unsigned char ReadDataLCM(void);
unsigned char ReadStatusLCM(void);
void LCMInit(void);
void DisplayOneChar(unsigned char X, unsigned char Y, unsigned char DData);
void DisplayListChar(unsigned char X, unsigned char Y, unsigned char code *DData);
void Delay5Ms(void);
void Delay400Ms(void);
unsigned char code uctech[] = {“uctech”};
unsigned char code net[] = {“uctech.icpcn.com”};
void main(void)
{
Delay400Ms(); // LCM
LCMInit(); //LCM
Delay5Ms(); //
DisplayListChar(0, 5, uctech);
DisplayListChar(0, 0, net);
ReadDataLCM();//
while(1);
}
//
void WriteDataLCM(unsigned char WDLCM)
{
ReadStatusLCM(); //
LCM_Data = WDLCM;
LCM_RS = 1;
LCM_RW = 0;
LCM_E = 0; //
LCM_E = 0; //
LCM_E = 1;
}
//
void WriteCommandLCM(unsigned char WCLCM,BuysC) //BuysC
{
if (BuysC) ReadStatusLCM(); //
LCM_Data = WCLCM;
LCM_RS = 0;
LCM_RW = 0;
LCM_E = 0;
LCM_E = 0;
LCM_E = 1;
}
//
unsigned char ReadDataLCM(void)
{
LCM_RS = 1;
LCM_RW = 1;
LCM_E = 0;
LCM_E = 0;
LCM_E = 1;
return(LCM_Data);
}
//
unsigned char ReadStatusLCM(void)
{
LCM_Data = 0xFF;
LCM_RS = 0;
LCM_RW = 1;
LCM_E = 0;
LCM_E = 0;
LCM_E = 1;
while (LCM_Data & Busy); //
return(LCM_Data);
}
void LCMInit(void) //LCM
{
LCM_Data = 0;
WriteCommandLCM(0x38,0); //
Delay5Ms();
WriteCommandLCM(0x38,0);
Delay5Ms();
WriteCommandLCM(0x38,0);
Delay5Ms();
WriteCommandLCM(0x38,1); //
WriteCommandLCM(0x08,1); //
WriteCommandLCM(0x01,1); //
WriteCommandLCM(0x06,1); //
WriteCommandLCM(0x0C,1); //
}
//
void DisplayOneChar(unsigned char X, unsigned char Y, unsigned char DData)
{
Y &= 0x1;
X &= 0xF; // X 15,Y 1
if (Y) X |= 0x40; // +0x40;
X |= 0x80; //
WriteCommandLCM(X, 0); //
WriteDataLCM(DData);
}
//
void DisplayListChar(unsigned char X, unsigned char Y, unsigned char code *DData)
{
unsigned char ListLength;
ListLength = 0;
Y &= 0x1;
X &= 0xF; // X 15,Y 1
while (DData[ListLength]>0x20) //
{
if (X <= 0xF) //X 0xF
{
DisplayOneChar(X, Y, DData[ListLength]); //
ListLength++;
X++;
}
}
}
//5ms
void Delay5Ms(void)
{
unsigned int TempCyc = 5552;
while(TempCyc–);
}
//400ms
void Delay400Ms(void)
{
unsigned char TempCycA = 5;
unsigned int TempCycB;
while(TempCycA–)
{
TempCycB=7269;
while(TempCycB–);
};
-
3,000VND
-
17,000VND
Đánh giá
Chưa có đánh giá nào.