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

📄 1602流动显示两行字符.c

📁 花钱购买的C51学习板里的源码
💻 C
字号:
/*************************************************************************************
* 程序名称:在LCD1602中心位置第一行显示"welcomel!"  第二行显示“www.mcusy.cn"
**************************************************************************************/

#include<reg52.h>
#define uint unsigned int
#define uchar unsigned char

uchar code table[]="     Welcome!    ";	//第一行字符定义/空格可当一个字符(共16)
uchar code table2[]="  WWW.MCUSY.CN  ";	//第二行字符定义
uchar num;
sbit lcdRS=P2^5;	//读写命令/数据端  0-写命令/1-读写数据
sbit lcdRW=P2^6;	//读写控释命令端   1-读/0-写
sbit lcdE=P2^7;		//使能端



void delay(uint z)	//1MS延时
{
	uint x,y; 	
	for(x=z;x>0;x--)
	{
	for(y=110;y>0;y--);
	 }
}

void write_com(uchar com)	//写命令函数
{
	lcdRS=0;	//写命令
	P0=com; 	//送命令
	delay(5);
	lcdE=1;	//使能
	delay(5);
	lcdE=0;	//关使能

}

void write_data(uchar date)	//写数据函数
{
	lcdRS=1;	//写数据
	P0=date;	//送数据
	delay(5);
	lcdE=1;	//使能
	delay(5);
	lcdE=0;	//关使能

}

void init()
{	//指令
	write_com(0x38);	//显示为16*2、5*7
	write_com(0x0f);	//打开光标
	write_com(0x06);	//光标闪烁/加一
	write_com(0x01);	//清屏
	write_com(0x80);	//数据指针指向第一位
}  

void main()
{
lcdRW=0;//只写不读
init();
for(num=0;num<14;num++)	//对字符个数的调节
	{
	write_data(table[num]);	//送数显示
	delay(200);
	}
//	write_com(0x01);	//加入清屏指令可使写完第一行后清除再写第二行
	write_com(0x80+0x40);	//0x80-第一行起始地址+0x40-第二行起始地址
	for(num=0;num<16;num++)
	{
	write_data(table2[num]);
	delay(200);
	}
while(1);
}

⌨️ 快捷键说明

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