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

📄 lcd_j.c

📁 在ARM7上调试通过的金鹏串行12864程序
💻 C
字号:
/*********************************
	LPC2103 ARM_LCD_J
***********************************/
#include "config.h"

#define comm 0
#define dat 1

//硬件连接
#define LCD_CS 1<<7
#define LCD_DAT 1<<22
#define LCD_CLK 1<<23
#define LCD_CS_L() IO0CLR=LCD_CS
#define LCD_CS_H() IO0SET=LCD_CS
#define LCD_CLK_L()   IO0CLR=LCD_CLK
#define LCD_CLK_H()   IO0SET=LCD_CLK
#define LCD_DAT_L()   IO0CLR=LCD_DAT
#define LCD_DAT_H()   IO0SET=LCD_DAT
			
/************************************
function: delay
************************************/
void delay (uint8 us)   //delay time
{
  while(us--);
}
/////////////////////////////////////
void Delay_10_us(uint32 time)
{
	uint32 i;
	for(;time>0;time--)
	   for(i=84;i>0;i--);
}
//////////end function//////////////////

/*****************************************
function: Write LCD_J
******************************************/
void W_LCD(uint8 data_comm,uint8 a)
{
	uint8 i,j;
	
	LCD_CS_H();
	LCD_DAT_H();
	LCD_CLK_L();
	for(i=1;i<=5;i++)
	{
		LCD_CLK_L();
		LCD_CLK_H();
	}
	LCD_DAT_L();
	LCD_CLK_L();
	LCD_CLK_H();
	if(data_comm==1)
		LCD_DAT_H();//data
			
	else
		LCD_DAT_L();//command
	LCD_CLK_L();
	LCD_CLK_H();
	LCD_DAT_L();
	LCD_CLK_L();
	LCD_CLK_H();
	for(j=1;j<=2;j++)
	{
	    for(i=1;i<=4;i++)
	    {
	        if(a&0x80)
				LCD_DAT_H();				
			else
				LCD_DAT_L();
			a=a<<1;		 	
			LCD_CLK_L();
			LCD_CLK_H();
	    }
		LCD_DAT_L();
	    for(i=1;i<=4;i++)
	   {
		LCD_CLK_L();
		LCD_CLK_H();
	    }      
	}
	LCD_CS_H();
	Delay_10_us(5); 
}
///////////end function//////////////////////////

/**************************************************
function: Initialize LCD_J
***************************************************/
void init_LCD(void)
{
	PINSEL0=PINSEL0&(~(0x03<<14));
	PINSEL1=PINSEL1&(~(0x0f<<12));//0.18,0.19,020GPIO
	IO0DIR =IO0DIR | LCD_CS ;           
 	IO0DIR =IO0DIR | LCD_DAT ;
 	IO0DIR =IO0DIR | LCD_CLK ; //GPIO全部为输出 	

	W_LCD(comm,0x30);//基本指令操作
	Delay_10_us(100);
	W_LCD(comm,0x01);//清屏,地址指针指向00
	Delay_10_us(100);
	W_LCD(comm,0x06);//写DDRAM状态,光标右移
	Delay_10_us(20);
	W_LCD(comm,0x0c);//开显示,关光标	
	Delay_10_us(20);
}
/////////////end function/////////////////////

⌨️ 快捷键说明

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