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

📄 lcd.h

📁 卡车仪表的单片机程序
💻 H
字号:
//#include <iom48v.h>
//#include <macros.h>
//#include <lcd.h>

#define uchar unsigned char
#define unint unsigned int

#define SYSEN 0x01
#define LCDON 0x03
#define BIAS3 0x29

#define cs_set PORTB |= BIT(1)//asm ("sbi 0x05,4")	//portb1
#define cs_clr PORTB &= ~BIT(1)//asm ("cbi 0x05,4")

#define clk_set PORTD |= BIT(0)//asm ("sbi 0x05,3")	//pd0
#define clk_clr PORTD &= ~BIT(0)//asm ("cbi 0x05,3")

#define dat_set PORTD |= BIT(1)	//pd1
#define dat_clr PORTD &= ~BIT(1)


//7位液晶正向显示
//uchar lcdshow[11] = {0x77,0x30,0x6b,0x79,0x3c,0x5d,0x5f,0x70,0x7f,0x7d,0x00};
//7位液晶反响显示                         
//uchar lcdshow[11] = {0x77,0x06,0x6b,0x4f,0x1e,0x5d,0x7d,0x07,0x7f,0x5f,0x00};
//11位液晶正向显示
uchar lcdshow[11] = {0xfb,0xb0,0xed,0xfc,0xb6,0xde,0xdf,0xf2,0x7f,0xfe,0x00};


void delay()
{
 	NOP();
	NOP();
	NOP();
	NOP();
	NOP();
}

void send(uchar sdata,uchar n)
{
 	uchar temp;
	for(;n>0;n--)
	{
	 	temp = sdata & 0x80;
	 	if(temp)
			dat_set;
		else
			dat_clr;
		clk_clr;
		delay();
		clk_set;
		delay();
		
		sdata = sdata << 1;
	}
}

void init_lcd()
{
 	cs_clr;		//片选信号为低,选通液晶
	send(0x80,3);
	send(SYSEN,9);
	send(LCDON,9);
	send(BIAS3,9);
	
	cs_set;		//片选信号为高
	clk_set;	//片选时钟为高
}

void lcd_display(uchar lcdshow[],uchar *p,uchar m)
{
 	uchar showdata;
 	cs_clr;
	send(0xA0,9);
	for(;m>0;m--)
	{
	 	showdata = lcdshow[*p];
		send(showdata,8);
		p++;
	}
	cs_set;		//片选信号为高
	clk_set;	//片选时钟为高
}

⌨️ 快捷键说明

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