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

📄 1602.c

📁 1602显示测试程序
💻 C
字号:
/* This program is a example */
#include <reg51.h>
#include <intrins.h>
#define	uchar unsigned	char
#define	uint unsigned 	int
#define	LCDCLRCMD		0X01
#define	LCDIPMODECMD	0X06
#define	LCDDISPCMD		0X0C
#define	LCDDISPCMD2		0X0D
#define	LCDCURSHIFTCMD	0X10
#define	LCDRETURNCMD	0X02
#define	LCDFUCCMD		0X38
/*BIT*/
sbit	RS=P2^5;
sbit	RW=P2^6;
sbit	EN=P2^7;
sbit	LGT=P1^0;
/*function*/
void	LCDCMDSET(uchar CMD,uint DLT);
void	LCDDDRAMSET(uchar  LCDLCDADDR);
void	LCDDATAWRITE(uchar	 LCDDATA);
void	DELAY(uint  T);
void 	DISPSTR(uchar code *str);
uchar code STRING1[]={"CHEAP MAN.......CHEAP MAN......."};
uchar code STRING2[]={"OH YEAH.........OH YEAH........."};
void	DELAY(uint  T)
{
	uchar i;
	while(T)
	{
		 T--;
		for(i=0;i<10;i++)_nop_();
	}	
}
void	LCDCMDSET(uchar CMD,uint DLT)
{
	RS=0;
	RW=0;
	P0=CMD;
	EN=1;
	EN=0;	//r/w at the falling adge
	DELAY(DLT);
}
void	LCDDDRAMSET(uchar LCDADDR)
{	
	RS=0;
	RW=0;
	LCDADDR=LCDADDR|0x80;
	P0=LCDADDR;
	EN=1;
	EN=0;
	DELAY(4);	
}
void	LCDDATAWRITE(uchar  LCDDATA)
{	
	RS=1;
	RW=0;
	P0 =LCDDATA;
	EN=1;
	EN=0;	
	DELAY(4);
}
void DISPSTR(uchar code *str)
{
	uchar data i;
	LCDDDRAMSET(0x00);
	for(i=0;i<16;i++)
	{	
		LCDDATAWRITE(*str++);
	}
	LCDDDRAMSET(0x40);

	for(i=0;i<16;i++)
	{	
		LCDDATAWRITE(*str++);
	}
}
void	LCDINIT()
{
	LCDCMDSET(LCDCLRCMD,200);
	LCDCMDSET(LCDIPMODECMD,4);
	LCDCMDSET(LCDDISPCMD2,4);
	LCDCMDSET(LCDFUCCMD,4);
	LCDCMDSET(LCDRETURNCMD,200);
}
void	main()
{
	LCDINIT();
	while(1)
	{
		LGT = !LGT;
		if(LGT==0)
		{
			DISPSTR(STRING2);
		}		
		if(LGT==1)
		{
			DISPSTR(STRING1);
		}
		DELAY(20000);
	}
}

⌨️ 快捷键说明

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