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

📄 hd44780.c

📁 一个超声波传感器与51单片机的通信程序,实现了距离的测量
💻 C
字号:
#include"URM37_51demo.H"
/*******************************
*     HD44780 16×2液晶驱动
********************************/
void Delay_ms(uchar ms)
{
	uchar i;
	for(;ms>0;ms--)
		for(i=250;i>0;i--)
		{
		 	
		 	_nop_();
		 	_nop_();	
		}
}

void LCD_WRITE_COMM(uchar comm)	//写命令
{
	
	
	LCD_RS = 0;
	LCD_RW = 0;
		
	LCD_E = 1;
	LCD_DATA = (LCD_DATA & 0xf0) | ((comm>>4) & 0x0f);	//写高4位	
	LCD_E = 0;
		
	LCD_E = 1;
	LCD_DATA = (LCD_DATA & 0xf0) | (comm & 0x0f); //写低4位
	LCD_E = 0;
	Delay_ms(2);		
}

void LCD_WRITE_DATA(uchar Data)//写数据
{
	
	LCD_RS = 1;
	LCD_RW = 0;
	
	LCD_E = 1;
	LCD_DATA = (LCD_DATA & 0xf0) | ((Data>>4) & 0x0f);	//写高4位
	LCD_E = 0;
	
	LCD_E = 1;
	LCD_DATA = (LCD_DATA & 0xf0) | (Data & 0x0f); //写低4位
	LCD_E = 0;
	Delay_ms(2);
}



void	LCD_Init(void)
{
	Delay_ms(15);
	
	
	LCD_RS = 0;
	LCD_RW = 0;
		
	LCD_E = 1;
	LCD_DATA = (LCD_DATA & 0xf0) | 0x00; 	//上电初使
	LCD_E = 0;
	Delay_ms(5);
	
	LCD_E = 1;
	LCD_E = 0;
	Delay_ms(5);
	
	
	LCD_E = 1;
	LCD_E = 0;
	Delay_ms(5);
	
	
	LCD_E = 1;
	LCD_DATA = (LCD_DATA & 0xf0) | 0x02;	//选择4线接口方式,2行显示,5×7点阵
	LCD_E = 0;
	Delay_ms(5);
	
	LCD_WRITE_COMM(0x0c);	//开显示,开光标,开字符闪烁
	LCD_WRITE_COMM(0x06);  	//显示后自动加一,光标移动
	LCD_WRITE_COMM(0x01);	//清显示
	LCD_WRITE_COMM(0x28);	//选择4线接口方式,2行显示,5×7点阵
	LCD_WRITE_COMM(0x80);	//
		
}

⌨️ 快捷键说明

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