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

📄 lcm1601_lo_4bit.c

📁 用51单片机P0口低四位驱动LCM1601显示模块 采用显示芯片的4位模式
💻 C
字号:
/*
说明	用单片机低四位驱动LCM1601显示模块显示指定字符串(4bit模式)
文件	LCM1601_LO_4BIT.C
作者	TEGEST 
修改	修改建议可发到21ICBBS讨论. 或 photar@126.com
版本	V1.00A Build 0811
*/

#include<reg52.h>//采用51单片机P0口低四位03-01输出数据
#define uchar unsigned char
#define uint unsigned int
uchar code table[]="0123456789ABCDEF";
sbit lcdrs=P2^2;
sbit lcdrw=P2^3;
sbit lcden=P2^4;
uchar num;
void delay(uint z)
{
	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(1);
	lcden=1;
	delay(1);
	lcden=0;
}

void write_data(uchar date)
{
	uchar temp;
	temp=date>>4;	//低四位数据

	lcdrs=1;
	delay(1);
	P0=temp;
	delay(1);
	lcden=1;
	delay(1);
	lcden=0;
	delay(1);
	lcdrs=1;		//写低四位数据
	P0=date;
	delay(1);
	lcden=1;
	delay(1);
	lcden=0;
	delay(1);
}

void init()
{
	delay(100);
	lcden=0;
	lcdrw=0;
	write_com(0xf0);
	write_com(0xf2);//地址计数器清零
	delay(1);
	write_com(0xf0);  
	write_com(0xf2);
	delay(1);
	write_com(0xf2);//2line display on 4bits
	write_com(0xf8);//2line display on 4bits
	delay(1);
	write_com(0xf0);
	write_com(0xf6);//display on/off control
	delay(1);
	write_com(0xf0);
	write_com(0xfc);//entry mode set c0光标关  e0光标开  f0光标闪烁开
	delay(1);
	write_com(0xf0);
	write_com(0xf1);//display clear
	delay(1);

	}
void main()
{
	init();

	for(num=0;num<8;num++)
	{
		write_data(table[num]);
		delay(1);
	}

	write_com(0xfc);//指定第二行的地址  0xc0=0x80+0x40
	write_com(0xf0);//指定第二行的地址

	for(num=8;num<16;num++)
	{
		write_data(table[num]);
		delay(1);
	}
		delay(5);
		write_com(0xf0);
		write_com(0xf6);
	while(1);

}

⌨️ 快捷键说明

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