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

📄 lcd_1621.c

📁 ht1621之syb2315测试程序
💻 C
字号:
//        Demo Program (HT1621)
//*****************************************************
//连线表: CPU=89C51     System Clock = 12Mhz          *
//        CS=P3.0	      WR=P3.1       DATA=P3.2 *
//*****************************************************
#include <reg52.h>
#include <intrins.h>
#define uchar unsigned char 
#define uint  unsigned int

#define  DAT   1
#define  COM   0

sbit	CS = P3^2;
sbit	RW = P3^3;

sbit	DA = P3^5;
sbit  	Key= P3^4;

unsigned char code HT1621[];

void Write1Bit( void )
{
	RW = 0;
	_nop_();_nop_();
	_nop_();_nop_();
	RW = 1;
	_nop_();_nop_();
	_nop_();_nop_();
}

void WriteMode(unsigned char MODE)
{
	DA = 1;
	Write1Bit();
	DA = 0;
	Write1Bit();
	DA = MODE;
	Write1Bit();
}

void WriteCommand(unsigned char Cbyte)
{
	unsigned char i;
	for(i=0;i<9;i++)
	{
		Cbyte = Cbyte<<1;
		DA = CY;
		Write1Bit();
	}
}

void WriteAddress(unsigned char Abyte)
{
	unsigned char i;
	Abyte = Abyte<<2;
	for(i=0;i<6;i++)
	{
		Abyte = Abyte<<1;
		DA = CY;
		Write1Bit();
	}
}

void WriteData(unsigned char Dbyte)
{
	unsigned char i;
	for(i=0;i<8;i++)
	{
		Dbyte = Dbyte<<1;
		DA = CY;
		Write1Bit();
	}
}

void Delay(unsigned int MS)
{
	unsigned char us,usn;
	while(MS!=0)
	{ 
		usn = 2;
		while(usn!=0)
		{
			us=0xf2;
			while (us!=0){us--;};
			usn--;
		}
		MS--;
	}
}

void DelayKey(unsigned  int HalfSecond)
{
	unsigned int i;
	for(i=0;i<20*HalfSecond;i++)
	{
		if(Key==0)
		{
			Delay(20);
			while(Key==0) {Delay(20);}
			break;
		}
		Delay(10);
	}
}

void LcdInit( void )
{
	CS = 0;
	WriteMode(COM);	
	WriteCommand(0x01);
	WriteCommand(0x03);
	WriteCommand(0x04);
	WriteCommand(0x05);
	WriteCommand(0x08);
	WriteCommand(0x18);
	WriteCommand(0x29);
	WriteCommand(0x80);
	WriteCommand(0x40);
	WriteCommand(0xE3);
	CS = 1;
}

void FullRAM(unsigned char *puts,unsigned char n)
{
	unsigned char i;
	CS = 0;
	WriteMode(DAT);
	WriteAddress(0);
	for(i=0;i<16;i++)
		WriteData(puts[16*n+i]);
	CS = 1;
}
	
void main( void )
{
	unsigned char i;
	Delay(20);
	LcdInit();
	while(1)
	{
		for(i=0;i<9;i++)
		{
			FullRAM(HT1621,i);
			DelayKey(100);
		}
		DelayKey(1000);
	}
}

unsigned char code HT1621[]={
0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,
0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,
0x04,0x04,0x04,0x04,0x04,0x04,0x04,0x04,0x04,0x04,0x04,0x04,0x04,0x04,0x04,0x04,
0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08,
0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,
0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,
0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x40,
0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,
0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
};

⌨️ 快捷键说明

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