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

📄 lcm1602_no.h

📁 温度传感器
💻 H
字号:
/**************************************************

LCD1602库函数应用说明:
如果欲显示字符则如下例:
	  如果起初是str0[]={"            "};
	  str2[]={"0123456789"};那么
	  str0[0]=str2[2];后在屏幕的第一行第一个字符就会
	  显示出'2'	

**************************************************/

#ifndef _lcm1602_h_
#define _lcm1602_h_

#include "delay.h"

#define DATA_PORT P0
#define BUSYY 0x80

sbit LCD_RS=P2^2;
sbit LCD_RW=P2^1;
sbit LCD_EN=P2^0;


/***************函数声明***************/
void Check_busy(void);

/****************************

写指令到LCD

****************************/ 
 
void write_command(unsigned char write_out,unsigned char BUSYA )
{
	 if(BUSYA)Check_busy();
	 DATA_PORT=write_out;
	 LCD_RS=0;
	 LCD_RW=0;
	 LCD_EN=1;
	 _nop_();
	 _nop_();
	 _nop_();
	 LCD_EN=0;
	 
}

/****************************

写数据到LCD

****************************/  

void write_data(unsigned char Wdata)
{
 	Check_busy();
	DATA_PORT=Wdata;
	LCD_RS=1;
	LCD_RW=0;
	LCD_EN=1;
	_nop_();
	_nop_();
	_nop_();
	LCD_EN=0;
	
	
}
/****************************

检测忙状态

****************************/ 

void Check_busy(void)
{
	DATA_PORT=0xff;
	LCD_RS=0;
	LCD_RW=1;
	LCD_EN=1;
	_nop_();
	_nop_();
	_nop_();
	while(DATA_PORT&BUSYY)
	{
		   LCD_EN=0; //仿真时用
	   	   _nop_();
	       _nop_();
	       LCD_EN=1;
	       _nop_();
	       _nop_();
	}
	LCD_EN=0;
}

/****************************

显示指定坐标的一个字符子函数

****************************/
void DisplayOneChar(unsigned char X,unsigned char Y,unsigned char DData)
{
    Y&=1;
    X&=15;
    if(Y)X|=0x40;               
    X|=0x80;                    
    write_command(X,1);
    write_data(DData);
}
/****************************

显示指定坐标的一串字符子函数

****************************/

void DisplayListChar(unsigned char X,unsigned char Y,unsigned char *DData)
{
    unsigned char ListLength=0;
    Y&=0x01;
    X&=0x0f;
    while(X<16)
    {
        DisplayOneChar(X,Y,DData[ListLength]);
        ListLength++;
        X++;
    }
}

/*************LCD初始化**************/

void initialization_Lcd(void)
{
	 DATA_PORT=0;
	 delay(15);
	 write_command(0x38,0);
	 delay(5);
	 write_command(0x38,0);
	 delay(5);
	 write_command(0x38,0);
	 delay(5);
	 write_command(0x38,1);
	 write_command(0x08,1);
	 write_command(0x01,1);
	 write_command(0x06,1);
	 write_command(0x0f,1);
}

/************************************************/

#endif

⌨️ 快捷键说明

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