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

📄 main.c

📁 ucos在三星s3c44b0上的LCD程序
💻 C
字号:
#include "lcd.h"

static unsigned long Lcd_Buffer[SCR_XSIZE*SCR_YSIZE/4]; 

//640*480 双扫描 16级灰度显示
void Lcd_Init(void)
{
	unsigned int i;
	/* 配置引脚状态为VD0~VD7*/
	rPCOND = 0xaaaa;
	rPCONC = 0xaaaaffaa;
	/* 禁止视频输出、双4位单扫描*/
	rLCDCON1=(DISABLE)|(INVVD<<1)|(DISMODE<<5)|(MMODE<<7)|(WDLY<<8)|(WLH<<10)|(CLKVAL<<12);
	/* 行、列、空白时间设置 */
	rLCDCON2=(LINEVAL)|(HOZVAL<<10)|(LINEBLANK<<21);
	/* 黑白单色模式,帧缓冲区起始地址 */
	rLCDSADDR1= (MODESEL<<27) | (((unsigned int)Lcd_Buffer >> 22) << 21) | M5D((unsigned int)Lcd_Buffer>>1);
	/* 帧缓冲区底部地址 */
	rLCDSADDR2= M5D((((unsigned int)Lcd_Buffer+(SCR_XSIZE/4*SCR_YSIZE))>>1)) | (MVAL<<21);
	/* 使能视频输出 */
	rLCDCON1=(ENABLE)|(DISMODE<<5)|(MMODE<<7)|(WDLY<<8)|(WLH<<10)|(CLKVAL<<12);

	//清屏 
	for (i=0;i<640*480/4;i++)
	{
		Lcd_Buffer[i] = 0x00000000;
	}
}

int Main ()
{
	long i;
	Lcd_Init();
	//0<=hz_x<20 
	//0<=hz_y<480
	//hz_y <240为下半,大于240为上半
	for (i=640/8*0;i<640/8*6;i++)
	{
		Lcd_Buffer[i] = 0x11111111;
	}

	for (i=640/8*475;i<640/8*479;i++)
	{
		Lcd_Buffer[i] = 0xaaaaaaaa;
	}
	return 1;
}

⌨️ 快捷键说明

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