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

📄 lcd.c

📁 基于MSP430的长度测量 包括16*2液晶程序
💻 C
字号:
#include"LCD.h"
void soft_nop(){;}
char lcd_checkbusy()/*检查LCD忙*/
{	char lcdstate=0x00;
	RS_LOW();				/*dc=1为数据,=0为命令.*/
	RW_HIGH();				/*rw=1为读,=0为写.*/
	CS_HIGH();				 /*cs=1选通.*/
	soft_nop();
        P2DIR&=0x00;
	lcdstate|=P2IN;
	CS_LOW();
	return((lcdstate&0x80));
}
void lcd_wrcmd(unsigned char lcdcmd) /*写LCD命令*/
{	//lcdusing1=1;
	while(lcd_checkbusy()==0x80);
        P2DIR|=0xff;
	P2OUT=lcdcmd;
	RS_LOW();				/*dc=1为数据,=0为命令.*/
	RW_LOW();				/*rw=1为读,=0为写.*/
        CS_HIGH();			/*cs=1选通.*/
	soft_nop();
        CS_LOW();
	P2OUT=0xff;
	//lcdusing1=0;
}
void lcd_init()/*初始化*/
{	lcd_wrcmd(0x38);		/*设置8位格式,2行,5*7*/
	lcd_wrcmd(0x0c);		/*整体显示,关光标,不闪烁*/
	lcd_wrcmd(0x06);		/*设定输入方式,增量,不移位*/
	lcd_wrcmd(0x01);		/*清除显示*/
	//lcdcounter=0;
}
void lcd_moveto(char position)
{	char cmd=0x80;
	//lcdcounter=position;
                   if (position > 19)position += 0x2c;
	cmd=cmd|position;
	lcd_wrcmd(cmd);
}
void lcd_wrdata(char lcddata)
{	
	while(lcd_checkbusy());
        P2DIR|=0xff;
	P2OUT=lcddata;
	RS_HIGH();
	RW_LOW();
	CS_HIGH();
	soft_nop();
	CS_LOW();
	P2OUT=0xff;
	
}
void lcd_string(char *strpoint)
{	char i=0;
	while(strpoint[i]!=0){
		lcd_wrdata(strpoint[i]);
		i++;
		}
}
void lcd_clr()
{
  lcd_wrcmd(0x01);		/*清除显示*/
}

⌨️ 快捷键说明

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