⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 c51_lcd.c

📁 PC机与单片机之间进行通讯连接的C51代码和PC机的VC++代码
💻 C
字号:
/****************************/
/*LCD 显示模块-----c51_lcd.c*/
/****************************/
#define LcdCmdPort P1
#define LcdDataPort P1
/* Bit Address Assignment*/
sbit LCD_E = 0xB4; /* P3.4 */
sbit LCD_RW = 0xB3; /* P3.3 */
sbit LCD_RS = 0xB5; /* P3.5 */
code char table[]="0123456789ABCDEF";
void LcdBusy(void); /* LCD忙检测函数 */
void LcdBusy()
{

LCD_RS = 0;
LCD_RW = 1;
LcdCmdPort = 0xff;
LCD_E = 1;
LCD_E = 0;
while ((LcdCmdPort&0x80)!=0)
{
LCD_E =0;
LCD_E =1;
}
LCD_E = 1;
}
void LcdDelay(void); /* 延时函数 */
void LcdDelay()
{
data int i;
for (i=0;i<200;i++);
}
void LcdCmd(char); /* LCD控制命令函数 */
void LcdCmd(char c)
{
LcdBusy();
LcdCmdPort = c;
LCD_RS = 0;
LCD_RW = 0;
LCD_E = 0;
LCD_E = 1;
}
void LcdData(char); /* LCD数据输入函数 */
void LcdData(char c)
{
LcdBusy();
LcdDataPort = c;
LCD_RS = 1;
LCD_RW = 0;
LCD_E = 0;
LCD_E = 1;
}
void LcdInit(void); /* LCD初始化函数 */
void LcdInit()
{
LCD_RS = 1;
LCD_RW = 1;
LCD_E = 1;
LcdCmd(0x38);
LcdCmd(0x38);
LcdCmd(0x06);
LcdCmd(0x0c);
LcdCmd(0x01);
}
void LcdClr(void); /* LCD清屏函数 */
void LcdClr()
{
LcdCmd(0x01);
}
void LcdXY(char,char); /* LCD显示定位函数 */
void LcdXY(char x,char y)
{
if ((y&0x01)!=0)LcdCmd(0x80|(x-1));
else LcdCmd(0xC0|(x-1));
}
void LcdStr(char *); /* 显示字符串函数 */
void LcdStr(char *c)
{
data int d=0;
while (c[d]!=0)
LcdData(c[d++]); /* char of LCM */
}
void LcdHex1(char); /* 小于16字符的十六进制显示函数 */
void LcdHex1(char c)
{
LcdData(table[(c&0x0f)]);
}
void LcdHex2(char); /* 字符的十六进制显示函数 */
void LcdHex2(char c)
{
LcdData(table[(((c&0xf0)>>4)&0x0f)]);
LcdData(table[(c&0x0f)]);
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -