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

📄 1602.c

📁 在跷跷板的一端放一个重物
💻 C
字号:
/***************************************
*LCD OCMC2X16A驱动程序
****************************************/
#include<reg52.h>
#include"1602.h"

//查忙函数
static void Busy(void)
{

	LCD_RS=0;
	LCD_RW=1;
	LCD_E=1;
//	LCD_E=1;
//	LCD_E=1;
	while(LCD_DB&0x80);
	LCD_E=0;
}

//写指令函数
void WriteCommand(char com)
{
	Busy();
	LCD_RS=0;
	LCD_RW=0;
	LCD_DB=com;
	LCD_E=1;
        LCD_E=1;
	LCD_E=0;
	LCD_DB=0XFF;
}
//写数据函数
void WriteData(uchar dat)
{ 	Busy();
	LCD_RS=1;
	LCD_RW=0;
	LCD_DB=dat;
	LCD_E=1;
	LCD_E=0;
	LCD_DB=0XFF;
}
//光标定位
void Gotoxy(char x,char y)
{
   uchar code line[]={0x80,0xc0};	//行首地址
   WriteCommand(line[y]+x);
}
/**************************************
*字符串输出
**************************************/
void Puts(char *s)
{
     while(*s!='\0')
     {
        WriteData(*s++);
     }
}
/*自定义字符*/
static void DefMyChar(void)
{	uchar code ch[]=
	{
	0x00,0x0E,0x11,0x11,0x11,0x0A,0x1B,0x00,		//1.欧姆符号
	0x00,0x04,0x04,0x1F,0x04,0x04,0x1F,0x00			//2.正负号
	};
	uchar i;
	WriteCommand(0x48);		//设置CGRAM地址
	for(i=0;i<sizeof(ch);i++)
		{
		WriteData(ch[i]);
		}
	WriteCommand(0x80);
}
//初始化函数
void InitLCD(void)
{
 	unsigned i;
	for(i=0;i<2000;i++);
	WriteCommand(0x38);	//8位数据总线,2行显示模式,5*7点阵
	DefMyChar();		//自定义字符
	WriteCommand(0x06);	//AC自动加1,显示不移位
	WriteCommand(0x0c);	//开显示,不显示光标
	WriteCommand(0x01);
        Gotoxy(0,2);
	Puts("OCM2X16A LCD.");
	for(i=0;i<50000;i++);
	WriteCommand(0x01);	//清屏
}

⌨️ 快捷键说明

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