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

📄 lcm1601_hi_4bit.c

📁 用51单片机P0口高四位驱动LCM1601显示模块 采用显示芯片的4位模式
💻 C
字号:
/*
说明	用单片机高四位驱动LCM1601显示模块显示指定字符串(4bit模式)
文件	LCM1601_HI_4BIT.C
作者	TEGEST 
修改	修改建议可发到21ICBBS讨论. 或 photar@126.com
版本	V1.00A Build 0811
*/
#include<reg52.h>//采用51单片机P0口高四位07-04输出数据
#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=date;
	delay(1);
	lcden=1;
	delay(1);
	lcden=0;
	delay(1);
	lcdrs=1;		//写低四位数据
	P0=temp;
	delay(1);
	lcden=1;
	delay(1);
	lcden=0;
	delay(1);
}

void init()
{
	delay(100);
	lcden=0;
	lcdrw=0;
	write_com(0x0f);
	write_com(0x2f);//地址计数器清零
	delay(1);
	write_com(0x0f);  
	write_com(0x2f);
	delay(1);
	write_com(0x2f);//2line display on 4bits
	write_com(0x8f);//2line display on 4bits
	delay(1);
	write_com(0x0f);
	write_com(0x6f);//display on/off control
	delay(1);
	write_com(0x0f);
	write_com(0xcf);//entry mode set c0光标关  e0光标开  f0光标闪烁开
	delay(1);
	write_com(0x0f);
	write_com(0x1f);//display clear
	delay(1);

	}
void main()
{
	init();

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

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

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

}

⌨️ 快捷键说明

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