hg12864_test_0key.c

来自「mg128*64液晶驱动程序,自己的程序测试没问题.lpc2148+hg1286」· C语言 代码 · 共 114 行

C
114
字号
#include "lpc2294.h"
#include "config.h"
//GPIO0
#define BUS_NO 4
#define CS1  12
#define CS2 13
#define RST 14
#define DI  15
#define E   17
#define RW  18

#define SCS1() IO0SET=1<<CS1
#define CCS1() IO0CLR=1<<CS1
#define SCS2() IO0SET=1<<CS2
#define CCS2() IO0CLR=1<<CS2
#define SRST() IO0SET=1<<RST
#define CRST() IO0CLR=1<<RST
#define SDI()  IO0SET=1<<DI
#define CDI()  IO0CLR=1<<DI
#define SE()   IO0SET=1<<E
#define CE()   IO0CLR=1<<E
#define SRW()  IO0SET=1<<RW
#define CRW()  IO0CLR=1<<RW
#define	 OutData(dat)	IO0CLR = 0xFF<<BUS_NO; IO0SET = (dat&0xff)<<BUS_NO

void DELAY5(void)
{
	uint8 i;
	for(i=0;i<100;i++);
}
void LCM_WrCommand1(uint8 command)
{
	CCS1();
	SCS2();
	CRW();
	CE();
//	SRW();
	CDI();
//	OutData(0xFF);
//	SE();
//	IO0DIR=IO0DIR&(~(0xFF<<BUS_NO));		 //    ?
//	while((IO0PIN&(0x80<<BUS_NO))!=0);	 //    ?
//	IO0DIR|=0xFF<<BUS_NO;
//	CRW();
	OutData(command);
	DELAY5();
	SE();
	DELAY5();
	CE();
	DELAY5();
	CCS1();
	CCS2();
}
void LCM_WrData1(uint8 data)
{
	CCS1();
	SCS2();
//	SRW();
//	CDI();
//	OutData(0xFF);
//	SE();
//	IO0DIR=IO0DIR&(~(0xFF<<BUS_NO));		 //    ?
//	while((IO0PIN&(0x80<<BUS_NO))!=0);
//	IO0DIR|=0xFF<<BUS_NO;
	CRW();
	CE();
	SDI();

	OutData(data);
	DELAY5();
	SE();
	DELAY5();
	CE();
	DELAY5();
	CCS1();
	CCS2();
}
void LCM_Init1(void)
{
	OutData(0xFF);
	CCS1();
	SCS2();
	CE();
	DELAY5();
	LCM_WrCommand1(0x3E);//DISPOFF
	LCM_WrCommand1(0xC0);//LCMSTART
//	LCM_Clear();
	LCM_WrCommand1(0x3F);

}

int main(void)
{	uint32  i;
	PINSEL0=0x00000000;
	PINSEL1=0x00000000;
	IO0DIR=0xFFFFFFFF;
	IO0PIN=0xFFFFFFFF;
  CRST();				
  for(i=0; i<5000; i++);
  SRST();   
  for(i=0; i<5000; i++);


	LCM_Init1();
	DELAY5();
	while(1)
	{
	LCM_WrData1(0x0F);
	LCM_WrData1(0x0F);
	DELAY5();
	}
	
}

⌨️ 快捷键说明

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