单片机C51液晶显示器LM016L的操作方法

单片机----南枫


一、在Proteus中配好电路图

在这里插入图片描述

二、打开K5软件进行编程

1.首先写初始结构

在这里插入图片描述
注:这里上面的应该为:sbit en=P2^2;
P需要大写,刚开始截图的时候未注意到,抱歉。

2.第二步、写入命令和写入内容

在这里插入图片描述


3.第三步、写想展示出的内容

在这里插入图片描述


4.第四步、写主函数的程序

在这里插入图片描述


5.第五步、查看运行结果

在这里插入图片描述

附录(代码)

#include<reg51.h>
#define uint unsigned int//定义类型
#define uchar unsigned char
	sbit rs=P2^0;
	sbit rw=P2^1;
	sbit en=P2^2;
uchar code name[]={"nanfeng.blog.com"};
uchar code text[]={"study together!"};
void delay(uint xms);//函数声明
void write_com(uchar com);
void write_data(uchar dat);
void main()
{
	uint i=0;
	//在初学阶段,这些可看作是默认写的指令,直接写上即可。具体指令,可参考教材。
	//-----------------------------------------------
	write_com(0x01);//清屏指令
	write_com(0x06);//光标向右移动
	write_com(0x0c);//显示功能开,无光标,不闪烁
	write_com(0x38);//数据总线8位,显示2行数据
	//---------------------------------------------
	while(1)
	{
		//从第一行的第一个位置开始写数据
		write_com(0x80);
		//写数据
		for(i=0;i<16;i++)
		{
			write_data(name[i]);
		}
		//从第二行的第一个位置开始写数据
		write_com(0xc0);
		//写数据
		for(i=0;i<15;i++)
		{
			write_data(text[i]);
		}
	}
}
//写入命令
void write_com(uchar com)
{
	
	en=0;//初始状态E设置为0
	//R/W为读写信号,高电平时进行读操作,低电平时进行写操作
	
	rw=0;//低电平进行写操作
	//RS数据、命令选择,高电平1时选择数据寄存器,低电平0时选择指令寄存器
	
	rs=0;//指令寄存器
	
	P0=com;//将要写的命令送到P0口
	
	//en是E引脚,E为使能端,当E由高电平跳变成低电平时,液晶显示模块执行指令
	en=1;
	delay(5);//稍作延时
	en=0;
}

//写入内容
void write_data(uchar dat)
{
	en=0;
	rw=0;
	rs=1;//数据寄存器
	P0=dat;//将要写的内容送到P0口
	
	en=1;
	delay(5);//稍作延时
	en=0;
}

//延时
void delay(uint xms)
{
	uint i,j;
	for(i=xms;i>0;i--)
		for(j=110;j>0;j--);
}

总结

以上就是今天要讲的内容,本文简单介绍了单片机中液晶显示器LM016L的使用,还有许多的命令没有提到,大家可以再参考书籍或其他博客等进行拓展。
最后:希望大家学习进步!事业有成!制作文章不易,本人未设置那些关注才可阅读文章的条条框框,即希望一起学习,一起进步!如果这篇文章对您有帮助,希望您点个赞,点个关注,支持一下,您的支持,就是我的动力!                                                                                          作者:南枫
### LM016L液晶显示屏技术参数 LM016L是一款常见的字符型LCD显示器,具有16×2的字符显示能力。其主要的技术参数如下: - 显示模式:16列 × 2行 - 字符集支持:5 × 7点阵英文字符和部分日文假名 - 工作电压范围:4.5V至5.5V DC[^1] - 驱动方式:采用HD44780兼容控制器芯片 - 接口类型:并行数据传输接口(DB0~DB7) - 控制信号:使能端E、读写控制R/W以及寄存器选择RS - 对比度调节:通过外部电位器调整背光亮度与对比度 - 背光源选项:带有绿色LED背光功能 ### LM016L工作原理 该设备基于反射式扭曲向列相(TN)液晶材料实现图像形成机制。当施加适当电信号时,液晶分子排列发生变化从而改变光线透过率来呈现不同灰阶效果。 具体来说,在初始化阶段会设置一些基本配置比如显示开/关状态、游标的可见性和闪烁情况等。之后可以通过发送指令命令或ASCII码形式的数据给LCD模块完成特定位置上的文字打印操作。对于每一个要显示出来的字符而言,都是由一组固定的像素构成,这些像素按照一定的规律被点亮或者熄灭以组成所需的图案形状。 ```c++ #include <LiquidCrystal.h> // 初始化引脚定义 LiquidCrystal lcd(12, 11, 5, 4, 3, 2); void setup() { // 设置 LCD 的大小为 16 列 * 2 行: lcd.begin(16, 2); // 打印一条消息到 LCD 上: lcd.print("Hello, world!"); } void loop() { // 将光标移动到第二行的第一列: lcd.setCursor(0, 1); // 输出当前秒数作为动态更新的内容: lcd.print(millis()/1000); } ``` 这段代码展示了如何利用Arduino平台配合库函数轻松驱动一块标准尺寸的小型LCD屏,并实现了简单的文本输出及时间计数展示的功能。 ### LM016L的应用场景 由于成本低廉且易于编程控制的特点,使得这类小型化字符级别的LCD非常适合应用于各种低功耗便携式的电子产品之中,例如但不限于以下几种情形: - 温湿度监控装置中的数据显示单元; - 家庭自动化控制系统里的人机交互界面; - DIY电子制作项目里的信息提示窗口; - 嵌入式开发板上用于调试目的的状态监视面板。
评论 9
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

南枫_Y

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值