📄 lcd1602-4line.c
字号:
//***********************************
// LCD1602.c File
//
// Created by Zhao liang
// email: zhaoliang_0801@dl.cn
// May 2006
//
//***********************************
#include "LCD1602.h"
void LCD1602_Read_BF(void)
{
unsigned char read=0;
LCD1602_RW = HIGH; //RW 1
LCD1602_RS = LOW; //RS 0
LCD1602_EN = HIGH; //EN 1 Read BF
LCDIO = 0xFF;
do{
read = LCDIO;
}while(read&MSB);
LCD1602_EN = LOW;
}
void LCD1602_delay_1us(void) //1us延时函数
{
unsigned char i;
for(i=0;i<1;i++);
}
void LCD1602_en_write(void) //EN端产生一个高电平脉冲,写LCD
{
LCD1602_EN = HIGH;
LCD1602_delay_1us();
LCD1602_EN = LOW;
}
//*************************************
void LCD1602_en_com(unsigned char command)
{
LCD1602_Read_BF();
LCD1602_RS = LOW; //RS 0
LCD1602_RW = LOW; //RW 0
LCDIO &= 0x0F;
LCDIO |= command&0xF0;
LCD1602_en_write();
command = command << 4;
LCDIO &= 0x0F;
LCDIO |= command&0xF0;
LCD1602_en_write();
}
//*********************************
void LCD1602_en_dat(unsigned char dat)
{
LCD1602_Read_BF();
LCD1602_RS = HIGH; //RS 1
LCD1602_RW = LOW; //RW 0
LCDIO &= 0x0F;
LCDIO |= dat&0xF0;
LCD1602_en_write();
dat = dat << 4;
LCDIO &= 0x0F;
LCDIO |= dat&0xF0;
LCD1602_en_write();
}
//**********************************************
void LCD1602_set_xy(unsigned char x,unsigned char y)
{
unsigned char address;
if(x == LINE1)
address = LINE1_HEAD + y;
else
address = LINE2_HEAD + y;
LCD1602_en_com(address);
}
//****************************************************************
/*void LCD1602_write_char(unsigned x,unsigned char y,unsigned char dat)
{
LCD1602_set_xy(x,y);
LCD1602_en_dat(dat);
}*/
//*********************************************************************
void LCD1602_write_string(unsigned char x,unsigned char y,unsigned char *s)
{
LCD1602_set_xy(x,y);
while(*s)
{
LCDIO = *s;
LCD1602_en_dat(*s);
s++;
}
}
//****************/*********************
void LCD1602_init(void)
{
LCD1602_en_com(DATA_MODE);
//set 8 bit data transmission mode
LCD1602_en_com(OPEN_SCREEN);
//open display (enable lcd display)
LCD1602_en_com(DISPLAY_ADDRESS);
//set lcd first display address
CLEARSCREEN;
//clear screen
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -