📄 lcd显示模块c51源程序.mht
字号:
From: <由 Microsoft Internet Explorer 5 保存>
Subject: =?gb2312?B?TENEz9TKvsSjv+lDNTHUtLPM0PI=?=
Date: Sun, 17 Nov 2002 18:52:19 +0800
MIME-Version: 1.0
Content-Type: text/html;
charset="gb2312"
Content-Transfer-Encoding: quoted-printable
Content-Location: http://www.zzili.edu.cn/huweb/MCU/data/source/c51Lcd.html
X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2600.0000
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML><HEAD><TITLE>LCD=CF=D4=CA=BE=C4=A3=BF=E9C51=D4=B4=B3=CC=D0=F2</TITL=
E>
<META http-equiv=3DContent-Type content=3D"text/html; charset=3Dgb2312">
<META content=3D"MSHTML 6.00.2600.0" name=3DGENERATOR></HEAD>
<BODY background=3D"">
<P=20
align=3Dcenter>/*********************************************************=
***********/<BR> =20
</P>
<P align=3Dcenter>LCD =CF=D4=CA=BE=C4=A3=BF=E9 =
<BR>=D2=D7=B1=F8<BR>=B0=E6=C8=A8<A href=3D"http://mcu21cn.yeah.net/"=20
target=3D_blank>=A1=B6=B5=A5=C6=AC=BB=FA=B1=E0=B3=CC=CA=C0=BD=E7=A1=B7</A=
><BR>=D2=BB=BE=C5=BE=C5=BE=C5=C4=EA=CA=AE=D4=C2=C8=FD=CA=AE</P>
<P=20
align=3Dcenter><BR>/*****************************************************=
***************/</P>
<P><BR>#define LcdCmdPort P1<BR>#define LcdDataPort P1<BR><BR>/* Bit =
Address=20
Assignment*/<BR>sbit LCD_E =3D 0xB4; /* P3.4 */<BR>sbit LCD_RW =3D 0xB3; =
/* P3.3=20
*/<BR>sbit LCD_RS =3D 0xB5; /* P3.5 */<BR><BR>code char=20
table[]=3D"0123456789ABCDEF";<BR><BR>void LcdBusy(void); /* =
LCD=C3=A6=BC=EC=B2=E2=BA=AF=CA=FD */<BR>void=20
LcdBusy()<BR>{ </P>
<BLOCKQUOTE>
<P>LCD_RS =3D 0;<BR>LCD_RW =3D 1;<BR>LcdCmdPort =3D 0xff;<BR>LCD_E =3D =
1;<BR>LCD_E =3D=20
0;<BR>while ((LcdCmdPort&0x80)!=3D0)<BR>{ </P>
<BLOCKQUOTE>
<P>LCD_E =3D0;<BR>LCD_E =3D1;</P></BLOCKQUOTE>
<P>}<BR>LCD_E =3D 1;</P></BLOCKQUOTE>
<P>}</P>
<P><BR>void LcdDelay(void); /* =D1=D3=CA=B1=BA=AF=CA=FD */<BR>void =
LcdDelay()<BR>{ </P>
<BLOCKQUOTE>
<P>data int i;<BR>for (i=3D0;i<200;i++);</P></BLOCKQUOTE>
<P>}</P>
<P><BR>void LcdCmd(char); /* LCD=BF=D8=D6=C6=C3=FC=C1=EE=BA=AF=CA=FD =
*/<BR>void LcdCmd(char c)<BR>{ </P>
<BLOCKQUOTE>
<P>LcdBusy();<BR>LcdCmdPort =3D c;<BR>LCD_RS =3D 0;<BR>LCD_RW =3D =
0;<BR>LCD_E =3D=20
0;<BR>LCD_E =3D 1;</P></BLOCKQUOTE>
<P>}</P>
<P><BR>void LcdData(char); /* LCD=CA=FD=BE=DD=CA=E4=C8=EB=BA=AF=CA=FD =
*/<BR>void LcdData(char c)<BR>{ </P>
<BLOCKQUOTE>
<P>LcdBusy();<BR>LcdDataPort =3D c;<BR>LCD_RS =3D 1;<BR>LCD_RW =3D =
0;<BR>LCD_E =3D=20
0;<BR>LCD_E =3D 1;</P></BLOCKQUOTE>
<P>}</P>
<P><BR>void LcdInit(void); /* LCD=B3=F5=CA=BC=BB=AF=BA=AF=CA=FD =
*/<BR>void LcdInit()<BR>{ </P>
<BLOCKQUOTE>
<P>LCD_RS =3D 1;<BR>LCD_RW =3D 1;<BR>LCD_E =3D=20
=
1;<BR>LcdCmd(0x38);<BR>LcdCmd(0x38);<BR>LcdCmd(0x06);<BR>LcdCmd(0x0c);<BR=
>LcdCmd(0x01);</P></BLOCKQUOTE>
<P>}</P>
<P><BR>void LcdClr(void); /* LCD=C7=E5=C6=C1=BA=AF=CA=FD */<BR>void =
LcdClr()<BR>{ </P>
<BLOCKQUOTE>
<P>LcdCmd(0x01);<BR></P></BLOCKQUOTE>
<P>}</P>
<P><BR>void LcdXY(char,char); /* LCD=CF=D4=CA=BE=B6=A8=CE=BB=BA=AF=CA=FD =
*/<BR>void LcdXY(char x,char y)<BR>{=20
</P>
<BLOCKQUOTE>
<P>if ((y&0x01)!=3D0)LcdCmd(0x80|(x-1));<BR>else=20
LcdCmd(0xC0|(x-1));<BR></P></BLOCKQUOTE>
<P>}</P>
<P><BR>void LcdStr(char *); /* =
=CF=D4=CA=BE=D7=D6=B7=FB=B4=AE=BA=AF=CA=FD */<BR>void LcdStr(char =
*c)<BR>{ </P>
<BLOCKQUOTE>
<P>data int d=3D0;<BR>while (c[d]!=3D0)<BR>LcdData(c[d++]); /* char of =
LCM=20
*/</P></BLOCKQUOTE>
<P>}</P>
<P><BR>void LcdHex1(char); /* =
=D0=A1=D3=DA16=D7=D6=B7=FB=B5=C4=CA=AE=C1=F9=BD=F8=D6=C6=CF=D4=CA=BE=BA=AF=
=CA=FD */<BR>void LcdHex1(char c)<BR>{=20
</P>
<BLOCKQUOTE>
<P>LcdData(table[(c&0x0f)]);</P></BLOCKQUOTE>
<P>}</P>
<P><BR>void LcdHex2(char); /* =
=D7=D6=B7=FB=B5=C4=CA=AE=C1=F9=BD=F8=D6=C6=CF=D4=CA=BE=BA=AF=CA=FD =
*/<BR>void LcdHex2(char c)<BR>{ </P>
<BLOCKQUOTE>
=
<P>LcdData(table[(((c&0xf0)>>4)&0x0f)]);<BR>LcdData(table[(=
c&0x0f)]);<BR></P></BLOCKQUOTE>
<P>}</P>
<P align=3Dcenter></P></BODY></HTML>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -