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

📄 lcd.c

📁 DHT11采集温湿度并用LCD12864显示的源程序
💻 C
字号:
#include "LCD.h"

void chk_busy()					//判忙函数
{
    rs=0 ;
    rw=1 ;
    e=1 ;
    P0=0xff ;
    while((P0&0x80)==0x80);
    e=0 ;
}

void lcd_write_cmd(uchar com) //LCD12864写命令
{
    chk_busy();
    rs=0 ;
    rw=0 ;
    e=1 ;
    P0=com;
    delay_50us(1);
    //------------------在数据写入的时候加入适当的延时
    e=0 ;
}

void lcd_write_data(uchar dat)	 //LCD12864写数据
{
    chk_busy();
    rs=1 ;
    rw=0 ;
    e=1 ;
    P0=dat;
    delay_50us(1);
    //------------------在数据写入的时候加入适当的延时
    e=0 ;	
}

/**********************************************************************
* 名称:  Addr_Set()
* 函数功能:字符位置确定
* 入口参数: x(0~7)  指定点所在列的位置
*            y(0~3)   指定点所在行的位置
* 出口参数:无
* 说明:汉字必须是存在在液晶字库中的
**********************************************************************/
void Addr_Set(uchar x,uchar y)  
{  
	uchar address;
    switch(x)
    {  
		case 0:  x = 0x80 ; break;
      	case 1:  x = 0x90 ; break;
     	case 2:  x = 0x88 ; break;
      	case 3:  x = 0x98 ; break;
      	default: return;
    }
   address = x+y;
   lcd_write_cmd(address);
}

void LCD_12864_initinal(void)
{
	delay_50ms(2);
	lcd_write_cmd(0x30); //Function set 基本指令操作
	lcd_write_cmd(0x0c);   //显示状态开/关00001DCB     
	//D=1: 整体显示 ON C=1: 游标ON B=1:游标位置反白允许
	lcd_write_cmd(0x01);
  //清除显示 将DDRAM填满"20H",并且设定DDRAM的地址计数器(AC)到"00H"
	lcd_write_cmd(0x06);
//进入点设定0001I/DS
//指定在数据的读取与写入时,设定游标的移动方向及指定显示的移位
}

/*------------------显示字符串--------------------------*/
void string_dis(uchar code *s)
{
    while(*s>0)             //"\0"结束
    {
        lcd_write_data(*s);
        s++;
        //delay_1ms(500);	//慢速显
		//delay_1ms(200);	//中速显
		delay_50us(1);	//快速显

    }
}

⌨️ 快捷键说明

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