⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 lcd1602字符显示.c

📁 单片机写的程序都含有Protues仿真结果
💻 C
字号:
#include <reg51.h>
#define uchar unsigned char
#define uint unsigned int
sbit RS=P2^0;
sbit RW=P2^1;
sbit E=P2^2;

void delay(uint timer);
void init(void);
void wc51r(uchar j);
void wc51ddr(uchar j);
void fbusy(void);

void main()
{
SP=0x50;
init();
wc51r(0x80);	 //第0行 第0列
wc51ddr(0x49);	 //字符 I
wc51r(0x82);	 //第0行 第2列 
wc51ddr(0x4c);	 //字符 L
wc51ddr(0x4f);	 //字符 O
wc51ddr(0x56);	 //字符 V		  //这里可以看出 地址值(没有设定时)是按列自动加1
wc51ddr(0x45);	 //字符 E		  //当有设置值时 从设置值出开始 显示 数据

wc51r(0xC0);	 //第1行 第0列
wc51ddr(0x4d);	 //字符 M
wc51ddr(0x43);	 //字符 C
wc51ddr(0x55);	 //字符 U
wc51ddr(0x21);	 //字符 !
while(1);
}

void init()
{
wc51r(0x01);  //清屏幕
wc51r(0x38);  //显示方式16*2 字符5*7
wc51r(0x0c);  //显示开 光标闪烁
wc51r(0x06);  //字符不动 光标自动右移一格
}


void fbusy()
{
E=0;		 //这里 加上 E=0 液晶才能正常显示 
RS=0;
RW=1;
E=1;
while(P1&0x80);
E=0;
delay(10);
}

void wc51r(uchar j)	   //写指令
{
fbusy();
E=0;
RS=0;
RW=0;
E=1;
P1=j;
E=0;
delay(10);
}

void wc51ddr(uchar j) //写数据
{
fbusy();
E=0;
RS=1;
RW=0;
E=1;
P1=j;
E=0;
delay(1000);
}
void delay(uint timer)
{
uchar y;
for(;timer>0;timer--)
for(y=0;y<120;y++)
{;}
} 

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -