lcd1602ÀºÇò±ÈÈü¼ÆÊ±¼Æ·ÖÆ÷±¾¿Æ±ÏÒµÉè¼Æ ÏÂÔØ±¾ÎÄ

°²»Õ²Æ¾­´óѧ¹ÜÀí¿ÆÑ§Ó빤³ÌѧԺ±¾¿Æ±ÏÒµÉè¼Æ

ÖÂл

Öµ´ËÂÛÎÄÍê³ÉÖ®¼Ê£¬½÷Ïò¸øÓèÎÒÖ¸µ¼¡¢¹ØÐĺͰïÖúµÄÀÏʦ¡¢Í¬Ñ§¡¢ÅóÓÑ¡¢Ç×È˱íʾ×îÖÔÐĵĸÐл¡£

±¾Ñо¿¼°Ñ§Î»ÂÛÎÄÊÇÔÚÎҵĵ¼Ê¦Ð»µÀƽÀÏʦµÄÇ×Çйػ³ºÍϤÐÄÖ¸µ¼ÏÂÍê³ÉµÄ¡£ËûÑÏËàµÄ¿ÆÑ§Ì¬¶È£¬ÑϽ÷µÄÖÎѧ¾«Éñ£¬¾«ÒæÇ󾫵Ť×÷×÷·ç£¬ÒÔ¼°¶Ôϸ½ÚÎÊÌâµÄÉî˼¼°½â¾ö°ì·¨£¬ÉîÉîµØ¸ÐȾºÍ¼¤Àø×ÅÎÒ£¬Ê¹ÎÒ¶Ô´ýÎÊÌâ¡¢½â¾öÎÊÌâµÄ̬¶È¸ü¼ÓÑϽ÷¡£´Ó¿ÎÌâµÄÑ¡Ôñµ½ÏîÄ¿µÄ×îÖÕÍê³É£¬Ð»ÀÏʦ¶¼Ê¼ÖÕ¸øÓèÎÒϸÐĵÄÖ¸µ¼ºÍ²»Ð¸µÄÖ§³Ö¡£

Ôڴ˽÷ÏòлÀÏʦÖÂÒÔ³ÏÖ¿µÄлÒâºÍ³ç¸ßµÄ¾´Ò⣡

ÔÚ´Ë£¬ÎÒ»¹Òª¸ÐлÔÚÒ»ÆðÓä¿ìµÄ¶È¹ý±¾¿ÆÉú»îµÄÐŹ¤2°à¸÷λͬѧ£¬ÕýÊÇÓÉÓÚÄãÃǵİïÖúºÍÖ§³Ö£¬ÎÒ²ÅÄܿ˷þÒ»¸öÒ»¸öµÄÀ§ÄѺÍÒÉ»ó£¬Ö±ÖÁ±¾ÎĵÄ˳ÀûÍê³É¡£

ÔÚÂÛÎļ´½«Íê³ÉÖ®¼Ê£¬ÎÒµÄÐÄÇéÎÞ·¨Æ½¾²£¬´Ó¿ªÊ¼½øÈë¿ÎÌâµ½ÂÛÎĵÄ˳ÀûÍê³É£¬ÓжàÉٿɾ´µÄʦ³¤¡¢Í¬Ñ§¡¢ÅóÓѸøÁËÎÒÎÞÑԵİïÖú£¬ÔÚÕâÀïÇë½ÓÊÜÎÒ³ÏÖ¿µÄлÒ⣡×îºóÎÒ»¹Òª¸ÐлÅàÑøÎÒ³¤´óº¬ÐÁÈã¿àµÄ¸¸Ä¸£¬Ð»Ð»ÄãÃÇ£¡

26

°²»Õ²Æ¾­´óѧ¹ÜÀí¿ÆÑ§Ó빤³ÌѧԺ±¾¿Æ±ÏÒµÉè¼Æ

¸½Â¼

Ö÷³ÌÐò£º #include #include #define uchar unsigned char #define uint unsigned int

sbit led=P2^4;//ÿ½Ú½áÊøÊ±¾¯±¨

extern void Initialize_LCD(); //LCD³õʼ»¯

extern void Set_LCD_POS(uchar pos); //ÏòLCDдµØÖ· extern void Write_LCD_Data(uchar dat);//ÏòLCDдÊý¾Ý extern void Print_1602();

uchar tCount_T0=0; uchar tCount_T1=0;

uchar Keyboardcode[]={0xef,0xdf,0xbf};//°´¼üɨÃèÁÐ

char T_24=24;

char T_12_fen=12; char T_12_miao=0;

uchar jie=1;

uchar A_bifen=0,B_bifen=0;

uchar Key_Result=0;//¶Áµ½µÄ°´¼üÖµ 0~8

27

//ÏÔʾ¹Ì¶¨×Ö·û

//¶¨Ê±Æ÷0µÄ±äÁ¿ //¶¨Ê±Æ÷1µÄ±äÁ¿

°²»Õ²Æ¾­´óѧ¹ÜÀí¿ÆÑ§Ó빤³ÌѧԺ±¾¿Æ±ÏÒµÉè¼Æ

uchar KeyPressDown=0;//°´¼ü°´Ï±êÖ¾ uchar Flag_LED=0;//µÆÁÁ±êÖ¾ uchar Flag_finish=0;//Ò»½Ú´Î½áÊø±êÖ¾

void Delay_S(uint ms)//1msÑÓʱ { uchar i; while(ms--)

for(i=0;i<120;i++);

}

uchar Key_Scan() //¼üÅÌɨÃè {

uchar Result_Temp=0; uchar Lie,Hang;

EX0=0;

for(Lie=0;Lie<3;Lie++) { P1=Keyboardcode[Lie]; Result_Temp=P1&0x0f; if(Result_Temp!=0x0f) { switch(Result_Temp) { case 0x0e:Hang=0;break; case 0x0d:Hang=1;break; case 0x0b:Hang=2;break;

}

break;

28

°²»Õ²Æ¾­´óѧ¹ÜÀí¿ÆÑ§Ó빤³ÌѧԺ±¾¿Æ±ÏÒµÉè¼Æ

}

void Process(uchar po)//¶Ô¶Áµ½µÄ°´¼üÖµ½øÐд¦Àí {

case 1:A_bifen=A_bifen+1;break; case 4:A_bifen=A_bifen+2;break; case 7:A_bifen=A_bifen+3;break;

29

}

}

P1=0x0f; EX0=1;

return Hang*3+Lie;

if(Flag_finish==1) {

Flag_finish=0; TR0=1;

T_24=23;

T_12_fen=11; T_12_miao=58;

} switch(po) {

case 0:TR0=1;break; case 3:TR0=0;break;

case 6:jie++;if(jie==5) jie=1;break;

°²»Õ²Æ¾­´óѧ¹ÜÀí¿ÆÑ§Ó빤³ÌѧԺ±¾¿Æ±ÏÒµÉè¼Æ

case 2:B_bifen=B_bifen+1;break; case 5:B_bifen=B_bifen+2;break; case 8:B_bifen=B_bifen+3;break;

}

}

void main() { uchar we;

Initialize_LCD();

TMOD=0x11;

TH0=-50000/256; TL0=-50000%6;

TR0=0; ET0=1;

TH1=-50000/256; TL1=-50000%6;

TR1=0; ET1=1;

IT0=1; EX0=1;

30