lcd1602头文件 联系客服

发布时间 : 星期日 文章lcd1602头文件更新完毕开始阅读bf6068794693daef5ff73d51

****************************************/ void lcd_write_dat(unsigned char dat) {

lcd_busy(); e=0; port=dat; rs=1; rw=0; e=1; e=0; }

/**************************************** 向lcd写字符串

*****************************************/ void lcd_gets(char *dat) {

while(*dat!=0) {

lcd_write_dat(*dat); dat++; } }

/***************************************** 确定要写的位子即x y 坐标

******************************************/ void lcd_xy(unsigned char x,unsigned char y) {

switch(y) {

case 0:lcd_write_com(0x80+x);break;//第一行第X个位置

case 1:lcd_write_com(0xc0+x);break;//0xc0==0x80+0x50 第二行第X个位置

case 2:lcd_write_com(0x94+x);break;// case 3:lcd_write_com(0xd4+x);break;//4*20 } }

/**************************************************** 单行显示才有5*10 其他5*8 MODE=1 5*8 MODE=0 5*10 ****************************************************/

add_custom_word(unsigned char *dat,unsigned char len,unsigned char mode) {

unsigned char n,m; for(n=0;n

lcd_write_com(0x40+8*n); for(m=0;m<8;m++)

{

lcd_write_dat(*dat); dat++; } } else {

lcd_write_com(0x40+10*n); for(m=0;m<10;m++) {

lcd_write_dat(*dat); dat++; } } } }

/******************************************** 初始化lcd

********************************************/ void lcd_init() {

lcd_write_com(0x01) ;//清屏 lcd_write_com(0x03) ; lcd_write_com(0x3c) ; lcd_write_com(0x40) ;

lcd_write_com(0x0c) ;

add_custom_word(ziku,4,1); //初始化自定义字符 }

/******************************************** 1ms 为基本单位的延时函数

********************************************/ void delay(unsigned char z) {

unsigned char x,y,a; for(x=z;x>0;x--) for(y=110;y>0;y--) for(a=1;a>0;a--) ; }

/****************************************** main.c 主文件

******************************************/ #include #include\main() {

lcd_init(); lcd_busy();

lcd_xy(6,0); lcd_write_dat('b');

while(1); }