【单片机】辉光管时钟系列<二>LCD液晶显示

本文介绍了如何通过LCD1602液晶显示器将单片机系统的信息进行可视化展示,包括电路原理图、液晶与单片机的连接方法、C语言程序示例,以及显示效果。程序中展示了如何在LCD1602上显示两行文字,推荐在P0口添加上拉电阻以确保稳定工作。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在前一篇文章《辉光管时钟系列<一>单片机最小系统》中,我们是通过蜂鸣器或发光二极管来验证最小系统是否正常工作。很多时候,我们需要将系统的信息进行可视化展示,方面我们对系统进行测试。这里我们介绍如何通过常用的LCD1602液晶来显示一些单片机的信息。

图1为LCD1602与单片机的电路原理图:

图1

除了单片机最小系统的元器件外,还需要液晶显示器1602以及相应的电阻,其实物图如图2所示:

图2

图2中,排针用于使用杜邦线连接LCD1602和单片机,可调变阻器用于调节LCD1602的明暗程度。

最后,我们给出简单的LCD1602显示的C语言程序:

#include<reg52.h>

#define uchar unsigned char
#define uint unsigned int

sbit lcden=P2^7;

sbit lcdrs=P2^5;

uchar code table1[]="   Hello World!   ";
uchar code table2[]=" tengweitw.com  ";

void delay(uint z)
{
	uint x,y;
	for(x=z;x>0;x--)
		for(y=110;y>0;y--);
}


void write_com(uchar com)// LCD1602写命令
{
	lcdrs=0;
	P0=com;
	delay(5);
	lcden=1;
	delay(5);
	lcden=0;
	
}

void write_date(uchar dat)// LCD1602写数据
{
	lcdrs=1;
	P0=dat;
	delay(5);
	lcden=1;
	delay(5);
	lcden=0;
}


void init()
{

	lcden=0;

	write_com(0x38); //设置1602显示
	write_com(0x0e);//开显示、显示光标、光标不显示
	write_com(0x06); //移动光标
	write_com(0x01); //清除LCD的显示内容
	write_com(0x80);//设置显示的起始地址
}



void main()
{
	uchar num;


	init();
    write_com(0x80);

	for(num=0;num<16;num++)//显示第一行
		{
			write_date(table1[num]);
			delay(10);
		}

    write_com(0x80+0x40);

	for(num=0;num<16;num++)//显示第二行
		{
			write_date(table2[num]);
			delay(10);
		}


	while(1);//程序停在这

}

显示的效果图如下:

图3

注意:在图3中,P0口没有加10K的上拉电阻,也能正常工作,但是还是推荐加上上拉电阻。关于LCD1602显示的其他设置,可以参考LCD1602的datasheet,链接地址如下:https://github.com/tengweitw/LCD1602_Datasheet 。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值