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

📄 lcd.c

📁 我自己写的在ARM 44B0上能跑通的LCD display 程序
💻 C
字号:
#include "44blib.h"
#include "44b.h"
#include "tp.h"
#include "lcd.h"

extern Clc346_Reset();
extern ByPass_Setting(unsigned char);
extern WriteAsicCommand_Escape(unsigned short, unsigned short);
extern WriteAsic_Escape_Cmd(unsigned short);
extern WriteAsic_Escape_Data(unsigned short);
extern WriteAsic_Escape_subCmd(unsigned short);
extern WriteAsic_Escape_subData(unsigned short);
extern Beep1();

extern const unsigned short mapm[];
//extern const unsigned int maps[];
extern const unsigned short Minit[][3];

void Lcd_Delay(unsigned short t)
{	unsigned short i,j;
	for(i=0;i<t;i++)
		for(j=0;j<50;j++);
}

void Lcd_Delayms(unsigned short t)
{	unsigned short i;
	for(i=0;i<t;i++)
		Lcd_Delay(10);
}

void LCD_main_init()
{	unsigned char i;
	Clc346_Reset();
	for(i=0;i<39;i++)
	{
		WriteAsicCommand_Escape(Minit[i][0],Minit[i][1]);
		if(Minit[i][2]==0) ;
		else Lcd_Delayms(Minit[i][2]);
	}
}

void Lcd_main_RGB()
{
	unsigned short i,j,k;
	unsigned short c[]={0xffff,0x0000,0xf800,0x07e0,0x001f,0xffe0,0x07ff,0xf81f};
	WriteAsic_Escape_Cmd(0x0022);
	for(i=0;i<8;i++)
	{	rPDATE = rPDATE | 0x80;
		for(j=0;j<20480;j++)
		{
	*(unsigned short*) (LCD_MainData) = c[i];
		}
		rPDATE = rPDATE & 0x17f;
		Lcd_Delayms(1000);
	}
}

void Lcd_Main_Display()
{
	unsigned short i;
	WriteAsic_Escape_Cmd(0x0022);
	rPDATE = rPDATE | 0x80;           //??????
	for(i=0;i<20480;i++)
	{
	*(unsigned short*) (LCD_MainData) = mapm[i];
	}
	rPDATE = rPDATE & 0x17f;
	Lcd_Delayms(2000);
}

void LcdByPass()
{
	LCD_main_init();
	while(1)
	{	
		Lcd_main_RGB();
		//Lcd_Main_Display();
	}
}

⌨️ 快捷键说明

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