51单片机之LCD1602

51单片机之LCD1602

描述:利用KEIL5编程,使AT89C52单片机控制LCD1602显示。

硬件:

电路仿真图(未运行)

电路仿真图(运行)

程序:

LCD1602一些基本指令

https://blog.csdn.net/m0_46916361/article/details/106199122?spm=1011.2415.3001.5331

#include <REGX52.H>

#define uchar unsigned char

#define uint unsigned int

sbit RS = P2^0;

sbit RW = P2^1;

sbit E = P2^2;

sbit D7 = P3^7;

void write_code(uchar row, uchar col, uchar *p);

void LCD_init();

void main()

{

LCD_init();

while(1)

{

write_code(0, 0, "0123456789");

write_code(1, 0, "ABCDEFGHIJK");

}

}

void delay(uint n)

{

while(n--);

}

void write_dat(uchar dc, uchar dat)

{

delay(10);

E = 0;

delay(10);

RW = 0;

delay(10);

RS = dc;

delay(10);

P3 = dat;

delay(10);

E = 1;

delay(10);

E = 0;

}

void write_code(uchar row, uchar col, uchar *p)

{

row %= 2; col %= 16;

write_dat(0, 0x80+0x40*row+col);

while(*p != '\0')

write_dat(1, *p++);

}

void LCD_init()

{

write_dat(0, 0x38);

write_dat(0, 0x0c);

write_dat(0, 0x06);

write_dat(0, 0x01);

}

相关推荐
WIZnet7 分钟前
W55RP20-EVB-MKR MicroPython 实战(13):MQTT 协议与阿里云 IoT 平台对接
单片机·udp·wiznet
WIZnet31 分钟前
W55RP20-EVB-MKR MicroPython 实战(15):MQTT协议与ThingSpeak平台对接
单片机·嵌入式硬件·wiznet
LCG元15 小时前
STM32实战:基于STM32F103的家用新风系统智能控制器(空气质量监测+PID调速)
stm32·单片机·嵌入式硬件
LCG元15 小时前
STM32实战:基于STM32F103的多通道工业数据采集与监控系统(Modbus RTU+上位机)
stm32·单片机·嵌入式硬件
资深流水灯工程师16 小时前
STM32 单片机 USB 通讯原理与 HAL 库实战详解
stm32·单片机·嵌入式硬件
资深流水灯工程师16 小时前
STM32 I2C 通讯原理与三种实现模式详解
stm32·单片机·嵌入式硬件
zlinear数据采集卡16 小时前
电源纹波杀手:LDO线性稳压电路的“降噪哲学”——基于ZLinear数据采集卡的深度解析
单片机·嵌入式硬件·fpga开发·硬件架构
资深流水灯工程师16 小时前
STM32 USART 通讯原理与三种模式详解
stm32·单片机·嵌入式硬件
资深流水灯工程师16 小时前
STM32 单片机 SPI 通讯原理详解
stm32·单片机·嵌入式硬件
EMTime16 小时前
玲珑GUI-工程设置
单片机·mcu·ui·用户界面