1602液晶通常情况下作字符显示,操作很方便。
首先来看1602的引脚;由于是8位并行数据传递,所以占用IO较多:
输入指令表:
对1602的操作包括读数据和写数据;
在大多数情况下我们要用LCD显示简单的字符,所以最基本的操作就是写操作;写操作又包括写指令和写数据:写指令是告诉LCD做一些特殊的操作;写数据是告诉LCD要显示什么数据;
通过R/W区分读和写,通过RS区分指令还是数据,通过E说明什么时候做操作:
写指令又分为特殊指令(如清屏,指定显示方式等)和显示地址指令(告诉LCD要在什么位置显示);
我们通常使用两行显示模式,他们的显示地址如下:
然而实际上这个地址还要加上0x80才是真正的显示地址:
例如0行0列的地址是0x80 + 0 + 0 = 0x80;
例如1行3列的地址是0x80 + 0x40 + 3 = 0xc3;
也就是说1行?列的地址是0x8?;
2行?列的地址是0xc?。
至于写数据操作,就是只要写入某个字符的ASCII码值,LCD就知道要显示什么字符了。
一个最简单的显示程序:
#include <reg51.h> #define uchar unsigned char #define uint unsigned int #define writeCmd(cmd) write((cmd),0) #define writeDat(dat) write((dat),1) #define LCD P0 sbit RS = P2^0; sbit RW = P2^1; sbit E = P2^2; void delay(unsigned char n) { unsigned char x,y; for(x=n; x>0; x--) for(y=110; y>0; y--); } void write(uchar dat, bit rs) { RS = rs; LCD = dat; delay(5); E = 1; E = 0; } void lcdInit() { RW = 0; writeCmd(0x38); //0x38 是把1602设置为 8位数据,双列,5*7字形 的显示模式 writeCmd(0x0c); //设置为关闭光标功能 writeCmd(0x06); //设定lcd自动把显示地址递增 writeCmd(0x01); //清屏 writeCmd(0x80); //显示地址指向头 } void main() { lcdInit(); writeCmd(0xc3); //要在第2行3列显示一个S writeDat('S'); while(1); }
仿真显示效果:
相关推荐
51单片机驱动LCD1602程序设计(C语言),文档里还包含了lcd的管脚图和显示图形的代码
51单片机——LCD1602 1、1602液晶读写时序 (1)、读状态 RS=L,R/W=H,E=H。(判断忙完毕后释放总线) (2)、读数据 RS=H,R/W=H,E=H。 (3)、写指令 RS=L,R/W=L,D0~D7=指令码,E=高脉冲 (4)、写...
c语言 使用51单片机驱动LED1602液晶显示器,有控制键
51单片机LCD1602液晶屏驱动代码 包含LCD1602初始化、显示字符、显示字符串等函数
本刊上期介绍单片机捕获红外遥控器解码方法电路原路和程序设计方法,并给出了实例...这一讲将介绍单片机驱动LCD1602 液晶显示模块。通过该讲,读者可以掌握LCD1602 液晶的工作原理和如何通过单片机来驱动LCD1602 液晶。
51或51单片机驱动LCD1602液晶,主要是初始化,也是很关键的一步,具体想显示什么,可以更改。
它是由字符型液晶显示屏(LCD)、控制驱动主电路HD44780及其扩展驱动电路HD44100,以及少量电阻、电容元件和结构件等装配在PCB板上而组成。该显示屏的优点是耗电量低、体积小、辐射低。 LCD1602主要用来显示数字、...
1602液晶驱动程序(适用于12M晶振的51单片机)内涵Proteus模拟(版本为7的)
51单片机采用汇编代码编写LCD1602液晶显示屏驱动,单片机实训。
LCD1602液晶屏的51单片机驱动代码,24Mhz外部晶振(2Mhz主频)及下至6Mhz外部晶振(0.5Mhz主频)测试通过,可以接受字符、字符串输出,也编写了自定义字符的写入代码(读取只需使用字符输出代码,输入0-7(数字)...
// lcdWriteCmd(cmd) 向液晶写命令字函数 void lcdWriteChar(const unsigned char chr); // lcdWriteChar(chr) 向液晶写字符函数 void lcdWriteData(const unsigned char pos,const unsigned char dat); //...
该方案以AT89C51单片机为主控芯片,以内部定时器产生的1s中断作为时钟的驱动,然后再通LCD液晶显示器来组成数字钟电路。但是此方案最大的缺点在于单片机89C51产生的1s中断存在误差,如果工作时间长的话,数字时钟...
基于51单片机的LCD1602液晶控制源代码,LCD1602的基本操作
这一讲将介绍单片机驱动LCD1602 液晶显示模块。通过该讲,读者可以掌握LCD1602 液晶的工作原理和如何通过单片机来驱动LCD1602 液晶。 一、原理简介 液晶显示模块具有体积小、功耗低、显示内容丰富、超薄轻巧等...
51单片机LCD1602 LCD16864液晶显示模数转换SD卡读写 BMP图片解码等例程(35例)源码: 例程(1)-LED驱动 例程(10)-内部EEPROM 例程(11)-用PCA扩展外部中断 例程(12)-用PCA实现定时器 例程(13)-用PCA输出高速脉冲 例程...
51单片机 基于普中A2开发板 实现LCD12864液晶显示日历及温度 51单片机 基于普中A2开发板 实现LCD12864液晶显示日历及温度 51单片机 基于普中A2开发板 实现LCD12864液晶显示日历及温度 51单片机 基于普中A2开发板 ...
本程序是通过51单片机汇编语言编写DS18b20、DS1302、红外遥控、LCD1602等驱动程序,实现用1602液晶屏显示时间、日期、室内温度。并通过红外遥控器按键实现时间的修改、闹钟的设置,到达设定闹钟时间时,控制蜂鸣器响...
基于LCD1602液晶显示模块实验例程C51单片机KEIL工程软件源码10个合集 LCD1602液晶实验例程C51单片机KEIL工程源码文件10个合集: 1602LCD串行方式显示 1602LCD显示字符A ...LCD液晶时钟程序 LCD随机数字显示
st7789 320240 51单片机驱动