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

📄 lcd1602.h

📁 简易智能电动小车程序
💻 H
字号:
//////////////////////////////////////////////////////////////
//
//          1602子程序
//函数说明:delay(uchar d)             延时2us程序
//			lcd_wrcmd(uchar cmd)	   写命令子程序
//			lcd_wrdata(uchar lcddata)  写数据子程序
//			lcd_h()                    建立自定义字符库
#include<reg51.h>
#include<intrins.h>

#define uint unsigned int
#define uchar unsigned char
#define lcd_bus P0


sbit rs=P2^5;
sbit rw=P2^6;
sbit e =P2^7;

				    //年月摄氏度	
uchar code hanzi[]={0x80,0x0f,0x12,0x0f,0x0a,0x1f,0x02,0x02,  
                    0xf,0x9,0xf,0x9,0xf,0x9,0x11,0,  
                   0x1C,0x14,0x1C,0x0,0x0,0x0,0x00,0x00,
		   0x06,0x08,0x10,0x10,0x10,0x08,0x06,0x00};  
                	            

//////////////////////////////////////////
delay(uint d)
{
        while(--d);
}


/**********判断忙标志,返回的是一个位BF**********/
bit lcd_busy(void)
{
        uchar bflag;     
        rs=0;
        rw=1;
        _nop_();
        e=1;
	    _nop_();
        lcd_bus=0xff;
        bflag=lcd_bus;
        e=0;
        return(bit)(bflag&0x80);    //BF=1 busy   
}



/*********写命令,有两个参数,第一个是要写的命令控制字,
第二个是用来控制是否进行忙标志的判断。
busyflag=1:判断;为 0:不判断****************/
void lcd_wrcmd(uchar cmd)
{
        while(lcd_busy());
        lcd_bus=cmd;
        rs=0;
        rw=0;
        _nop_();
        e=1;
        _nop_();
        _nop_();
        e=0; 
}


/************向液晶片写数据***************/
void lcd_wrdata( uchar lcddata)
{
		while(lcd_busy());
        lcd_bus=lcddata;
        rs=1;
        rw=0;
        _nop_();
        e=1;
        _nop_();
        _nop_();
        e=0;
}

/****************初始化***************/
void lcd_ini(void)
{
        lcd_wrcmd(0x38); 
        delay(100);
        lcd_wrcmd(0x0c);
		delay(100);
        lcd_wrcmd(0x06);
		delay(100);
        lcd_wrcmd(0x01);
		delay(100);
}

//////////////////////////////////////////////
//
//	  生成汉字子模函数
//	  当lcd_wrdata(0);显示第一个汉字
//    当lcd_wrdata(1);显示第二个汉字
//
//////////////////////////////////////////////


/*lcd_h()
{
    uchar i;
    lcd_wrcmd(0x40);
	for(i=0;i<32;i++) lcd_wrdata(hanzi[i]);
} */

⌨️ 快捷键说明

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