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);

}

相关推荐
智者知已应修善业1 天前
【51单片机模拟生日蜡烛】2023-10-10
c++·经验分享·笔记·算法·51单片机
智者知已应修善业1 天前
【51单片机如何让LED灯从一亮到八,再从八亮到一】2023-10-13
c++·经验分享·笔记·算法·51单片机
iCxhust1 天前
8086/8088单板机VSCode集成自动下载功能(完善串口接收显示版)
ide·vscode·单片机·编辑器·微机原理·8088单板机·8086单板机
振南的单片机世界1 天前
从数码管到点阵屏:动态扫描加595,3个IO驱动256个LED
stm32·单片机·嵌入式硬件
listhi5201 天前
STC8 16通道模拟采集 + 4路串口 + 8路PWM 程序
stm32·单片机·嵌入式硬件
星夜夏空991 天前
STM32单片机学习(4)——嵌入式概述
stm32·单片机·学习
Deitymoon1 天前
STM32——OLED显示字符串
单片机·嵌入式硬件
Graceful_scenery1 天前
龙芯2k0300 - 走马观碑组按键驱动移植
单片机·嵌入式硬件
d111111111d1 天前
MQTT+STM32+ESP8266网络程序分层+韦老师
笔记·stm32·单片机·嵌入式硬件·学习·php
长安第一美人1 天前
RT-Thread 工业屏驱动开发实战:UART 串口屏协议解析 + 数据实时刷新 + 设备驱动框架完整实现
驱动开发·嵌入式硬件·rt-thread·工业控制·uart通信·串口屏驱动