ws_lcd1602_src.h
来自「STM8全部资料」· C头文件 代码 · 共 99 行
H
99 行
/********************************************************************************************************
*
* File : ws_lcd1602_src.h
* Hardware Environment:
* Build Environment : ST Visual Develop 4.1.6
* Version : V1.0
* By : Xiao xian hui
*
* (c) Copyright 2005-2010, WaveShare
* http://www.waveShare.net
* All Rights Reserved
*
*********************************************************************************************************/
#ifndef _WS_LCD1602_SRC_H_
#define _WS_LCD1602_SRC_H_
_Bool lcd1602_busy(void)
{
_Bool result;
RS_CLR;
RW_SET;
EN_SET;
delay(5);
PORT_busy;
result=(busy & 0x80);
EN_CLR;
return result;
}
void lcd1602_write_com(u8 com)
{
while(lcd1602_busy());
RS_CLR;
RW_CLR;
EN_CLR;
PORT_OUT;
PORT=com;
EN_SET;
delay(5);
EN_CLR;
}
void lcd1602_write_data(u8 dat)
{
while(lcd1602_busy());
RS_SET;
RW_CLR;
EN_CLR;
PORT_OUT;
PORT=dat;
EN_SET;
delay(5);
EN_CLR;
}
void lcd1602_gotoxy(u8 x,u8 y)
{
u8 add;
if(y==0)
add=0x80+x;
else
add=0xc0+x;
lcd1602_write_com(add);
}
void lcd1602_init(void)
{
delay(100);
lcd1602_write_com(0x38);
lcd1602_write_com(0x0c);
lcd1602_write_com(0x06);
lcd1602_write_com(0x01);
}
void lcd1602_display(u8 *str)
{
while(*str)
{
lcd1602_write_data(*str);
str++;
delay(5);
}
}
void lcd1602_setGCRAM(u8 add,u8 *str)
{
u8 i;
lcd1602_write_com(0x40|(add<<3));
for(i=0;i<8;i++)
{
lcd1602_write_data(*str);
str++;
}
delay(5);
}
#endif /*_WS_LCD1602_SRC_H_*/
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?