|
aHR0cDovL2ZyZWVzaGlwLmNvLmty
- ºê·£µå À̸§: Aihasd
- À¯Çü: Ư¼º
- SKU: k000644
Ư¡:
1602 Ç¥ÁØ 16 ÇÇÆ® ÀÎÅÍÆäÀ̽º, ±×µé Áß:
1 feett: Èû vss¸¦ À§ÇØ
2 ÇÇÆ®: VDD 5 V Àü¿ø
3 ÇÇÆ®: lcd ´ëÁ¶¸¦À§ÇÑ v0 Á¶Á¤, ±×¸®°í ÈûÀÌ °¡Àå ¾àÇÑ ´ëÁ¶ÀÏ ¶§, Àü·Â °ø±Þ °¡Àå ³ôÀº ´ëÁ¶¸¦ Á¢Áö, ³ôÀº ´ëÁ¶´Â »ç¿ëµÉ ¶§, “À¯·É” ¸¦ »ý¼ºÇÒ ¼ö ÀÖ½À´Ï´Ù, 10 k °¡º¯ ÀüÀ§Â÷°è ´ëºñ Åë°ú °¡´É
4 ÇÇÆ®: registers ¼±Åÿ¡ ´ë ÇÑ rs, ³ôÀº Àü±â ÀϹÝÀûÀ¸·Î µ¥ÀÌÅÍ µî·Ï±â¸¦ ¼±ÅÃ, ³·Àº Àü±â ÀϹÝÀûÀ¸·Î ¸í·É µî·Ï±â¸¦ ¼±Åà ÇÕ´Ï´Ù.
5 ÇÇÆ®: r/w ½ÅÈ£ ¶óÀÎ ÀÐ±â ¹× ¾²±â, ³ôÀº Àü±â ÀϹÝÀûÀ¸·Î Àбâ ÀÛ¾÷, ³·Àº Àü±â ÀÏ¹Ý ½Ã°£¿¡ ¾²±â ÀÛ¾÷. ³·Àº Àü±â¿¡ ´ë ÇÑ rs ¹× rw ÇÔ²² ÀÏ¹Ý ½Ã°£, ¶Ç´Â Ç¥½Ã ÁÖ¼Ò¿¡¼ Áö½Ã µÉ ¼ö ÀÖÀ» ¶§ ³ôÀº Àü±â¿¡ ´ë ÇÑ ³·Àº ¼öÁØ¿¡ ´ë ÇÑ rs º¸Åë rw ¹Ù»Û ½ÅÈ£¸¦ ÀÐÀ» ¼ö ÀÖ½À´Ï´Ù. ÀúÀü±â¸¦ À§ÇÑ °í¼öÁØÀ» À§ÇÑ rs°¡ º¸Åë rw ÀڷḦ ¾µ ¼ö ÀÖÀ» ¶§.
6 ÇÇÆ®: e ³¡±îÁö ³¡³¯ ¼ö ÀÖ½À´Ï´Ù, e°¡ Á¤±ÔÀûÀÎ ½Ã°£¿¡ ³·Àº Àü±â·Î °í¼öÁØ Á¡ÇÁ¿¡ ÀÇÇØ ¸ô ¶§, lcd ´ÜÀ§ ÀÓ¿ø ¼ø¼.
7 ~ 14 ÇÇÆ®: 8 ¾ç¹æÇâ µ¥ÀÌÅÍ ÄÉÀÌºí ¿ë d0 ~ d7.
15 ÇÇÆ®: ¹é¶óÀÌÆ® Àü¿ø Æ÷ÁöƼºê
16 ÇÇÆ®: ¹é¶óÀÌÆ® Àü¿ø ³×°ÅƼºê
1602 LCD ¸ðµâ ³»ºÎ ij¸¯ÅÍ ÀϾ ¸Þ¸ð¸® (CGROM) ÀÌ¹Ì ÀúÀå 160 ´Ù¸¥ µµÆ® ¸ÅÆ®¸¯½º ij¸¯ÅÍ ±×·¡ÇÈ, Ç¥½ÃµË´Ï´Ù Å×À̺í 1 ÀÌ·¯ÇÑ ¹®ÀÚ´Â ¾Æ¶ø¾î ¼ýÀÚ, ÄÉÀ̽ºÀÇ ¿µ¾î ÆíÁö, ÀϺ»¾î¿Í °ÅÁþ À̸§ÀÇ ¹Ø¿¡ ÀϹÝÀûÀ¸·Î »ç¿ëµÇ´Â ±âÈ£, ¸ðµç ij¸¯ÅÍ´Â ´ë¹®ÀÚ ¿µ¾î ¹®ÀÚ "a" ÄÚµå¿Í °°Àº °íÁ¤ Äڵ尡 01000001 b (41 h), 41 ¸ðµâ h µµÆ® ¸ÅÆ®¸¯½º ¹®ÀÚ ±×·¡ÇÈ µð½ºÇ÷¹ÀÌÀÇ ÁÖ¼Ò¸¦ º¸¿©ÁÖ°í ¹®ÀÚ "a" ¸¦ º¼ ¼ö ÀÖ½À´Ï´Ù.
´ÙÀ½Àº ¹®ÀÚ "a" ÇÁ·Î±×·¥ÀÇ Ã¹ ¹ø° ¹®ÀÚÀÇ À§Ä¡¿¡ µÎ ¹ø° ¶óÀÎ lcd ¸ðµâÀÔ´Ï´Ù: org 0000 h
Rs equ p3.7; ƯÁ¤ Çϵå¿þ¾î ¿¬°áÀ» °áÁ¤
Rw equ p3.6; ƯÁ¤ Çϵå¿þ¾î ¿¬°á °áÁ¤
E equ p3.5; ƯÁ¤ Çϵå¿þ¾î ¿¬°áÀ» °áÁ¤
Mov p1, #00000001 b; ȸé Ŭ¸®¾î¸µ ¹× Ä¿¼ ¸®¼Â
Acall È°¼ºÈ; subroutineÀ» ÁÖ¹®Çϱâ À§ÇØ ÀüÈ
Mov p1, #00111000 b; µð½ºÇ÷¹ÀÌ ¸ðµå ¼³Á¤: 8 2 ¶óÀÎ 5x7 µµÆ® ¸ÅÆ®¸¯½º
Acall È°¼ºÈ; subroutineÀ» ÁÖ¹®Çϱâ À§ÇØ ÀüÈ
Mov p1, #00001111 b; ¿ÀÇ Ŀ¼ÀÇ µð½ºÇ÷¹ÀÌ, ±×¸®°í Ä¿¼ Ç÷¡½Ã Çã¿ë
Acall È°¼ºÈ; subroutineÀ» ÁÖ¹®Çϱâ À§ÇØ ÀüÈ
Mov p1, #00000110 b; ´Ü¾î ¿òÁ÷ÀÌÁö ¸¶¼¼¿ä, Ä¿¼ ¿À¸¥ÂÊÀ¸·Î À̵¿
Acall È°¼ºÈ; subroutineÀ» ÁÖ¹®Çϱâ À§ÇØ ÀüÈ
Mov p1, #0 c0h; ¾²±â Ç¥½Ã ½ÃÀÛ ÁÖ¼Ò (µÎ ¹ø° ¶óÀΠù ¹ø° À§Ä¡)
Acall È°¼ºÈ; subroutineÀ» ÁÖ¹®Çϱâ À§ÇØ ÀüÈ
Mov p1, #01000001 b; ¹®ÀÚ ÄÚµå
Setb rs; rs = 1
Clr rw; rw = 0; µ¥ÀÌÅ͸¦ ¾µ Áغñ°¡µÇ¾ú½À´Ï´Ù.
Clr e; e = 0; ÀÌ±× Á¦ Å¥ Ƽºê ¼î ¸í·É
Acall Áö¿¬; ÆÇ»ç lcd ¸ðµâÀº ¹Ù»Ú½À´Ï±î?
Setb e; e = 1; Ç¥½Ã ¿Ï·á ¹× °ø¿ø¿¡ ÇÁ·Î±×·¥
AJMP $
»ç¿ë:
Clr rs; subroutineÀÇ Á¦¾î ¸í·ÉÀ» ÀÛ¼ºÇϽʽÿÀ.
CLR RW
CLR E
ACALL Áö¿¬
SETB E
RET
Áö¿¬:
Mov p1, #0 ffh; ¹Ù»Û ¾×Á¤ µð½ºÇ÷¹ÀÌ subroutine ¿©ºÎ ÆÇ»ç
CLR RS
SETB RW
CLR E
NOP
SETB E
Jb p1.7, Áö¿¬; ³ôÀº ¼öÁØ¿¡ ´ë ÇÑ p1.7 °æ¿ì ¹Ù»Û ¼øȯ ´ë±â
RET
¿£µå
Lcd ¸ðµâ ±â´ÉÀÇ ½ÃÀÛ ºÎºÐ¿¡¼ ÇÁ·Î±×·¥Àº Çü½ÄÀ¸·Î µ¿ÀÇÇß´Ù. Ä¿¼°¡ ÀÚµ¿ µð½ºÇ÷¹ÀÌ ¹®ÀÚ°¡ Àΰ£ °³ÀÔ¾øÀÌ ¿À¸¥ÂÊÀ¸·Î ¿òÁ÷ÀÏ ¶§ ÁÖÀǸ¦ ±â¿ïÀÌ°í, ¸ðµç ½Ã°£ ÀÔ·Â ¸í·ÉÀº ÀýÂ÷ÀÇ Ã¹ ¹ø° ÆÇ»ç lcd ¸ðµâÀÌ ¹Ù»Û Áö¿¬À̶ó°íÇÕ´Ï´Ù. µé¾î°¡¾ßÇÕ´Ï´Ù ÁÖ¼Ò µð½ºÇ÷¹ÀÌ À§Ä¡ 0 C0H, ¸¶Áö¸·À¸·Î ¼î ij¸¯ÅÍ ÀÔ·Â ÄÚµå 41 H.
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´Â gnd¿¡ 1 k ÀúÇ×À» °¡Áö°í °£´Ù |
-----------------------------
[Âü°í: at89s52 ÀåÄ¡´Â 12 m °áÁ¤À» »ç¿ëÇÕ´Ï´Ù]
= = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = * /
# Define lcm_rw p2_0//Á¤ÀÇ ÇÉ
# Define LCM_RS P2_1
# Define LCM_E P2_2
# Define LCM_Data P1
# ¹Ù»Û 0x80//¹Ù»Û ·Î°í¿¡ lcm »óÅ ´Ü¾î¸¦ Å×½ºÆ®ÇÏ´Â µ¥ »ç¿ë
# I nclude
Void writedatalcm (¼¸íµÇÁö ¾ÊÀº char wdlcm);
Void writecommandlcm (unsigned char wclcm, buysc);
¼¸íµÇÁö ¾ÊÀº char readdatalcm (void »ç¿ë);
¼¸íµÇÁö ¾ÊÀº char readstatuslcm (void »ç¿ë);
Void lcminit (void »ç¿ë);
Void displayonechar (¼¸íµÇÁö ¾ÊÀº char x, unsigned char y, unsigned char ddata);
Void displaylistchar (¼¸íµÇÁö ¾ÊÀº char x, ¼¸íµÇÁö ¾ÊÀº char y, ¼¸íµÇÁö ¾ÊÀº char ÄÚµå * ddata);
Void delay5ms (void »ç¿ë);
Void delay400ms (void »ç¿ë);
¼¸íµÇÁö ¾ÊÀº char ÄÚµå uctech [] = {"uctech");
¼¸íµÇÁö ¾ÊÀº char code net [] = {"uctech. Icpcn. Com ");
Void main (void »ç¿ë)
{
Delay400ms ();//±â´Ù¸®´Â ½ÃÀÛ, ±×¸®°í ±¹°¡ lcmÀÇ ÀÏ¿¡ ¸»ÇϽʽÿÀ
Lcminit ();//lcm ÃʱâÈ
Delay5ms ();/Áö¿¬ ¼ø°£ (ÇÏÁö ¸¶½Ê½Ã¿À)
Displaylistchar (0, 5, uctech);
Displaylistchar (0, 0, net);
Readdatalcm ();//Àǹ̾ø´Â ´Ü¾î¸¦ Å×½ºÆ®
µ¿¾È (1);
}
//¾²±â µ¥ÀÌÅÍ
Void writedatalcm (¼¸íµÇÁö ¾ÊÀº char wdlcm)
{
Readstatuslcm ();/¹Ù»Û Å×½ºÆ®
LCM_Data = WDLCM;
LCM_RS = 1;
LCM_RW = 0;
Lcm_e = 0;//if Å©¸®½ºÅ» ³Ê¹« ³ôÀº ¼Óµµ ÀÛÀº Ãß°¡ Áö¿¬ ÈÄ
Lcm_e = 0;/Áö¿¬
LCM_E = 1;
}
//¾²±â Áöħ
Void writecommandlcm (¼¸í µÈ char wclcm, buysc)//buysc 0 ¹«½Ã ¹Ù»Û ŽÁö
{
If (buysc) readstatuslcm ();//¹Ù»Û °ËÃâÇÏ´Â ÇÊ¿ä¿¡ µû¶ó
LCM_Data = WCLCM;
LCM_RS = 0;
LCM_RW = 0;
LCM_E = 0;
LCM_E = 0;
LCM_E = 1;
}
//Àб⠵¥ÀÌÅÍ
¼¸íµÇÁö ¾ÊÀº char readdatalcm (void »ç¿ë)
{
LCM_RS = 1;
LCM_RW = 1;
LCM_E = 0;
LCM_E = 0;
LCM_E = 1;
¹Ýȯ (lcm_data);
}
//Àб⠽ºÅ×ÀÌÆ®
¼¸íµÇÁö ¾ÊÀº char readstatuslcm (void »ç¿ë)
{
Lcm_data = 0 xff;
LCM_RS = 0;
LCM_RW = 1;
LCM_E = 0;
LCM_E = 0;
LCM_E = 1;
µ¿¾È (lcm_data & ¹Ù»Û);//¹Ù»Û ½ÅÈ£¸¦ ½ÃÇèÇϽʽÿÀ
¹Ýȯ (lcm_data);
}
Void lcminit (void »ç¿ë)//lcm °³½Ã
{
LCM_Data = 0;
Writecommandlcm (0, 0x38);//3 ¹è µð½ºÇ÷¹ÀÌ ¸ðµå ¼³Á¤, ¹Ù»Û ½ÅÈ£¸¦ ÃøÁ¤ÇÏÁö ¾Ê½À´Ï´Ù
Delay5Ms ()
Writecommandlcm (0, 0x38);
Delay5Ms ()
Writecommandlcm (0, 0x38);
Delay5Ms ()
Writecommandlcm (0x38, 1);//µð½ºÇ÷¹ÀÌ ¸ðµå ¼³Á¤, ¸ðµç ½Ã°£ °¨Áö ¹Ù»Û ½ÅÈ£¸¦ ¿ä±¸Çϱ⠽ÃÀÛ
Writecommandlcm (0x08, 1);//disable µð½ºÇ÷¹ÀÌ
Writecommandlcm (0x01, 1);//µð½ºÇ÷¹ÀÌ È¸é »èÁ¦
Writecommandlcm (0x06, 1);//¼î Ä¿¼ ¿îµ¿ ¼³Á¤
Writecommandlcm (0 x0c, 1);//¼î ¿±â ¹× Ä¿¼ ¼³Á¤
}
//¹®ÀÚ¸¦ Ç¥½ÃÇÏ´Â ÁöÁ¤µÈ À§Ä¡¿¡¼
Void displayonechar (¼¸íµÇÁö ¾ÊÀº char x, unsigned char y, unsigned char ddata)
{
Y & = 0x1;
X & = 0 xF; ¸®¹ÌÆ® X ½ÅÀåÀº 15 Y ½ÅÀåÀº 1
If (y) x | = 0x40;//¶§ ÁÖ¼Ò + 0x40;
X | = 0x80;//ÀÛ¾÷ Áö½Ã ÄÚµå
Writecommandlcm (x, 0);//¿©±â ¹Ù»Û ½ÅÈ£¸¦ ½ÃÇèÇÏÁö ¸¶½Ê½Ã¿À, ÁÖ¼Ò¸¦ º¸³»½Ê½Ã¿À
Writedatalcm (ddata);
}
//ÁöÁ¤µÈ À§Ä¡¿¡¼ ¹®ÀÚ¿ÀÇ ¹®ÀÚ¿À» º¸¿©ÁÝ´Ï´Ù
Void displaylistchar (¼¸íµÇÁö ¾ÊÀº char x, ¼¸íµÇÁö ¾ÊÀº char y, ¼¸íµÇÁö ¾ÊÀº char ÄÚµå * ddata)
{
Unsigned char ListLength;
ListLength = 0;
Y & = 0x1;
X & = 0 xF; ¸®¹ÌÆ® X ½ÅÀåÀº 15 Y ½ÅÀåÀº 1
µ¿¾È (ddata [listlength]> 0x20)//if µµÂø, ¹®ÀÚ¿ ¹ÛÀ¸·Î
{
If (x <= 0 xf)//x´Â 0 xf º¸´Ù´Â ´õ ÀûÀºÀ̾î¾ß ÇÕ´Ï´Ù
{
Displayonechar (x, y, ddata [listlength]);//¼î °³º° ¹®ÀÚ
ListLength ++;
X ++;
}
}
}
//5 MS Áö¿¬
Void delay5ms (void »ç¿ë)
{
Unsigned int tempcyc = 5552;
µ¿¾È (TempCyc-
}
//400 MS Áö¿¬
Void delay400ms (void »ç¿ë)
{
Unsigned char tempcyca = 5;
Unsigned int TempCycB;
µ¿¾È (TempCycA-
{
TempCycB = 7269;
µ¿¾È (TempCycB-
};
}
À§ÀÇ ÇÁ·Î±×·¥Àº ÂüÁ¶ ¿ëÀÔ´Ï´Ù!!!!!!
ÆÐÅ°Áö Æ÷ÇÔ:
1x1602 lcd ºí·ç ½ºÅ©¸° 51 Áö¿ø ÇнÀ º¸µå ¹é¶óÀÌÆ®
°ÅÇ° ºÎ´ë¿¡¼ ¾ÈÀüÇÏ°Ô Æ÷ÀåÇÏ´Â.
|
|
|
|
|