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

📄 lcd.c

📁 单片机的键盘控制程序和Led显示程序
💻 C
字号:
#include "lcd.h"

void LCD_Initial()
{
	LcdEn = 0 ;
	Delay10ms(1) ;
	LCD_Write(LCD_COMMAND,0x30);           //8位数据端口,1行显示,5*7点阵
  	Delay10ms(1) ;
	LCD_Write(LCD_COMMAND,0x30);
	Delay10ms(1) ;
	LCD_Write(LCD_COMMAND,0x30);           //8位数据端口,1行显示,5*7点阵
	LCD_Wait() ;
    LCD_Write(LCD_COMMAND,0x30);
	LCD_SetDisplay(LCD_HIDE) ;             //关闭显示
	LCD_Wait() ;
	LCD_Write(LCD_COMMAND,LCD_CLEAR_SCREEN);   //清屏
	LCD_SetDisplay(LCD_SHOW|LCD_NO_CURSOR) ;
	LCD_SetInput(LCD_AC_UP|LCD_NO_MOVE);       //AC递增, 画面不动

}
/*void LCD_Initial()
{
	LcdEn=0;
	LCD_Write(LCD_COMMAND,0x38);           //8位数据端口,2行显示,5*7点阵
	LCD_Write(LCD_COMMAND,0x38);
	LCD_SetDisplay(LCD_SHOW|LCD_NO_CURSOR);    //开启显示, 无光标
	LCD_Write(LCD_COMMAND,LCD_CLEAR_SCREEN);   //清屏
	LCD_SetInput(LCD_AC_UP|LCD_NO_MOVE);  
}*/

void LCD_Write(bit style, unsigned char input)
{
	LcdEn = 0 ;
	LcdRs = style ;
	LcdRw = 0 ;			_nop_();
	DBPort = input ;	_nop_();//注意顺序
	LcdEn = 1 ;			_nop_();//注意顺序
	LcdEn = 0 ;			_nop_();
}

void LCD_SetDisplay(unsigned char DisplayMode)
{
	LCD_Wait() ;
	LCD_Write(LCD_COMMAND, 0x08|DisplayMode) ;	
}

void LCD_SetInput(unsigned char InputMode)
{
	LCD_Wait() ;
	LCD_Write(LCD_COMMAND, 0x04|InputMode) ;
}

void LCD_Display(unsigned char NumDisplay)
{
	unsigned char ASC_Num = 0 ;
	ASC_Num = NumDisplay + 0x30 ;
	_cror_(ASC_Num,7) ;
	LCD_Wait() ;
	LCD_Write(LCD_DATA, ASC_Num) ;
}

void LCD_Wait(void)
{
	LcdRs = 0;
	LcdRw = 1;	_nop_() ;
	LcdEn = 1;	_nop_() ;
	while(DBPort&0x80);//在用Proteus仿真时,注意用屏蔽此语句,在调用GotoXY()时,会进入死循环,
						 //可能在写该控制字时,该模块没有返回写入完备命令,即DBPort&0x80==0x80
						 //实际硬件时打开此语句
	LcdEn = 0 ;	
}	

⌨️ 快捷键说明

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