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

📄 lcd.c

📁 MCS8051-III学习板演示程序[LCD演示内容] 功能: 在LCD上显示内容
💻 C
字号:
/*****************************************************************************
						MCS8051-III学习板演示程序
							
				(c) Copyright 2007-2007,广州恒芯电子
						All Rights Reserved
*****************************************************************************/

/*****************************************************************************
程序说明
名称: MCS8051-III学习板演示程序(LCD演示内容)
功能: 在LCD上显示内容
版本:2007-07-01
*****************************************************************************/

/*****************************************************************************
硬件说明
单片机:   兼容MCS-51单片机/STC89C51
晶振频率: 12MHz
*****************************************************************************/

#include "regx52.h"

/****************************************************************************
说明: 程序预定义
*****************************************************************************/
#define LCD_DELAY 255/*LCD延时参数*/
#define LCD_DATA P0/*LCD八位数据引脚*/
#define LCD_RW P3_5/*LCD读写引脚*/
#define LCD_E P3_6/*LCD使能引脚*/
#define LCD_A0 P3_4/*LCD数据/指令引脚*/

/****************************************************************************
名称: LCDWriteOrder()
说明: LCD写指令
参数: unsigned char ucOrder 指令值
返回: 无
****************************************************************************/
void LcdWriteOrder(unsigned char ucOrder);

/****************************************************************************
名称: LCDWriteData()
说明: LCD写数据
参数: unsigned char ucData 数据值
返回: 无
****************************************************************************/
void LcdWriteData(unsigned char ucData);

/****************************************************************************
名称: LCDDelay()
说明: LCD延时
参数: 无
返回: 无
****************************************************************************/
void LcdDelay();

unsigned char m_ucText1[]=
{"MCU8051 学习板"
};

unsigned char m_ucText2[]=
{"LCD 演示程序"
};

/*****************************************************************************
程序开始
*****************************************************************************/
void main()
{
	unsigned char a;
	
	LcdDelay();		

	/*LCD参数初始化*/
   	LcdWriteOrder(0x30); 
	LcdWriteOrder(0x04);
	LcdWriteOrder(0x0c);
	LcdWriteOrder(0x01); 
	LcdWriteOrder(0x02); 

	LcdWriteOrder(0x80);/*光标定位到第一行左边第一个字节*/
											
	for(a=0;a<14;a++)/*写数据*/
		LcdWriteData(m_ucText1[a]); 
   	
	LcdWriteOrder(0x90);/*光标定位到第二行左边第一个字节*/

	for(a=0;a<13;a++)/*写数据*/
		LcdWriteData(m_ucText2[a]); 

	while(1);
}

/****************************************************************************
名称: LCDWriteOrder()
说明: LCD写指令
参数: unsigned char ucOrder 指令值
返回: 无
****************************************************************************/
void LcdWriteOrder(unsigned char ucOrder)
{
	LCD_E=1;
	LCD_A0=0;
	LCD_RW=0;
	LCD_DATA=ucOrder;
	LCD_E=0;
		
	LcdDelay();

}

/****************************************************************************
名称: LCDWriteData()
说明: LCD写数据
参数: unsigned char ucData 数据值
返回: 无
****************************************************************************/
void LcdWriteData(unsigned char ucData)
{	
	LCD_E=1;
	LCD_A0=1;
	LCD_RW=0;
	LCD_DATA=ucData;
   	LCD_E=0;
	
	LcdDelay();
} 

/****************************************************************************
名称: LCDDelay()
说明: LCD延时
参数: 无
返回: 无
****************************************************************************/
void LcdDelay()
{
	unsigned char a;

	for(a=0;a<LCD_DELAY;a++);
}

⌨️ 快捷键说明

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