lcd1602_driver_12m.h
来自「MC145162双锁相环芯片的51单片机驱动程序,能同时配置两个通道的NA值.」· C头文件 代码 · 共 80 行
H
80 行
#include "reg52.h"
#include "intrins.h"
#define uchar unsigned char
#define uint unsigned int
/*LCD1602引脚 :
第1脚:VSS为地电源
第2脚:VDD接5V正电源
第3脚:V0为液晶显示器对比度调整端,接正电源时对比度最弱,接地电源时对比度最高,对比度过高时会产生"鬼影",使用时可以通过一个10K的电位器调整对比度
第4脚:RS为寄存器选择,高电平时选择数据寄存器、低电平时选择指令寄存器。
第5脚:RW为读写信号线,高电平时进行读操作,低电平时进行写操作。当RS和RW共同为低电平时可以写入指令或者显示地址,当RS为低电平RW为高电平时可以读忙信号,当RS为高电平RW为低电平时可以写入数据。
第6脚:E端为使能端,当E端由高电平跳变成低电平时,液晶模块执行命令。
第7~14脚:D0~D7为8位双向数据线
*/
sbit rs=P2^5;
sbit rw=P2^6;
sbit en=P2^7;
#define dat P0
void delay_1602(uint time)
{
while(--time!=0);
}
void write_1602_CMD(uchar temp)
{
dat=temp;
en=0;
rs=0;
rw=0;
_nop_();
en=1;
_nop_();
en=0;
delay_1602(200);
}
void write_1602_DDR(uchar temp)
{
dat=temp;
en=0;
rs=1;
rw=0;
_nop_();
en=1;
_nop_();
en=0;
delay_1602(200);
}
void lcd1602_init()
{
write_1602_CMD(0x01);
write_1602_CMD(0x38);
write_1602_CMD(0x0c);
write_1602_CMD(0x06);
write_1602_CMD(0x01);
}
void dis_one_char(uchar x,uchar y,uchar ascii)
{
uchar p;
p=64*x+y;
write_1602_CMD(0x80|p);
write_1602_DDR(ascii);
}
void dis_cls()
{
write_1602_CMD(0x01);
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?