2410loader.c

来自「本源码是用ARM9 2410开发的OLED液晶驱动开发代码」· C语言 代码 · 共 379 行 · 第 1/2 页

C
379
字号
{0x00,0x18,0x3C,0x24,0x00,0x00},//c
{0x00,0x38,0x28,0x3E,0x00,0x00},//d
{0x00,0x1C,0x2A,0x2A,0x2C,0x00},//e
{0x00,0x24,0x3E,0x25,0x01,0x00},//f
{0x00,0x98,0xA4,0xA4,0x7C,0x00},//g
{0x00,0x3F,0x04,0x3C,0x00,0x00},//h
{0x00,0x28,0x3D,0x20,0x00,0x00},//i
{0x00,0x80,0x88,0xFD,0x00,0x00},//j
{0x00,0x3F,0x08,0x34,0x00,0x00},//k
{0x00,0x22,0x3F,0x20,0x00,0x00},//l
{0x00,0x3C,0x02,0x3E,0x02,0x3C},//m
{0x00,0x00,0x3E,0x02,0x3E,0x00},//n
{0x00,0x18,0x24,0x24,0x18,0x00},//o
{0x00,0xF8,0x28,0x38,0x00,0x00},//p
{0x00,0x38,0x28,0xF8,0x00,0x00},//q
{0x00,0x22,0x3E,0x22,0x06,0x00},//r
{0x00,0x24,0x2A,0x12,0x00,0x00},//s
{0x00,0x04,0x3E,0x24,0x00,0x00},//t
{0x04,0x1C,0x20,0x20,0x1C,0x20},//u
{0x00,0x04,0x0C,0x30,0x0C,0x04},//v
{0x00,0x1C,0x30,0x3C,0x30,0x1C},//w
{0x00,0x24,0x24,0x18,0x24,0x24},//x
{0x00,0x26,0x38,0x0C,0x06,0x00},//y
{0x00,0x24,0x34,0x2C,0x24,0x00},//z
{0x00,0x08,0xFF,0x81,0x00,0x00},//{
{0x00,0x00,0xFF,0x00,0x00,0x00},//|
{0x00,0x00,0x81,0xFF,0x08,0x00},//}
{0x02,0x01,0x02,0x04,0x04,0x02}//~
};

void Start(void)
{   
	 int j;
	unsigned char b=0x20;
	unsigned char f1[6]={0x88,0xF8,0xFC,0xFC,0x80,0x00};
	ChangeMPllValue(172,4,1);//180MHz
	//ChangeMPllValue(161,3,3);
	
	Port_Init();
	Uart_Init();
    Uart_Printf("oled is ok\n");
	ini_oled();
	
	/*WriteCommand(0xaf);

	WriteCommand(0xAD); /* Set DC-DC */
	//WriteCommand(0x8B); /* 8B=ON, 8A=Off */
/*	WriteCommand(0xaf);

	WriteCommand (0xb7);      //设置显示位置—行
	WriteCommand (0x40);      //设置显示位置—列低地址
	WriteCommand (0x10);      //设置显示位置—列高地址
	for(j=0;j<6;j++)
			WriteData(f1[j]);      //屏幕显示,全亮
	WriteCommand (0xb6);      //设置显示位置—行
	WriteCommand (0x40);      //设置显示位置—列低地址
	WriteCommand (0x10);      //设置显示位置—列高地址
		for(j=0;j<6;j++)
			WriteData(figer1[16][j]);      //屏幕显示,全亮

//-----------------------------------------------------------------------
	WriteCommand (0x40);
	WriteCommand (0xb5);    //设置显示位置—行
	WriteCommand (0x40);      //设置显示位置—列低地址
	WriteCommand (0x10);      //设置显示位置—列高地址
for(j=0;j<6;j++)
			WriteData(figer1[17][j]);      //屏幕显示,全亮

	WriteCommand (0xb4);    //设置显示位置—行
	WriteCommand (0x40);      //设置显示位置—列低地址
	WriteCommand (0x10);      //设置显示位置—列高地址
		for(j=0;j<6;j++)
			WriteData(figer1[18][j]);      //屏幕显示,全亮
//-----------------------------------------------------------------------
	WriteCommand (0x40);
	WriteCommand (0xb3);    //设置显示位置—行
	WriteCommand (0x40);      //设置显示位置—列低地址
	WriteCommand (0x10);      //设置显示位置—列高地址
		for(j=0;j<6;j++)
			WriteData(figer1[19][j]);      //屏幕显示,全亮

	WriteCommand (0xb2);    //设置显示位置—行
	WriteCommand (0x40);      //设置显示位置—列低地址
	WriteCommand (0x10);      //设置显示位置—列高地址
		for(j=0;j<6;j++)
			WriteData(figer1[20][j]);      //屏幕显示,全亮
//-----------------------------------------------------------------------
	WriteCommand (0x40);
	WriteCommand (0xb1);    //设置显示位置—行
	WriteCommand (0x0f);      //设置显示位置—列低地址
	WriteCommand (0x10);      //设置显示位置—列高地址
for(j=0;j<6;j++)
			WriteData(figer1[21][j]);      //屏幕显示,全亮

	WriteCommand (0xb0);    //设置显示位置—行
	WriteCommand (0x0f);      //设置显示位置—列低地址
	WriteCommand (0x10);      //设置显示位置—列高地址
		for(j=0;j<6;j++)
			WriteData(figer1[22][j]);      //屏幕显示,全亮
			
WriteCommand(0xaf);

	WriteCommand(0xAD); /* Set DC-DC */
/*	WriteCommand(0x8B); /* 8B=ON, 8A=Off */
/*	WriteCommand(0xaf);

	WriteCommand (0xb2);      //设置显示位置—行
	WriteCommand (0x00);      //设置显示位置—列低地址
	WriteCommand (0x10);      //设置显示位置—列高地址
	for(j=5;j>=0;j--)
	{WriteData(f1[j]);      //屏幕显示,全亮
	  Delay(500);
	  }

			WriteData(0x00);      //屏幕显示,全亮
			WriteData(0x80);      //屏幕显示,全亮
			WriteData(0xFC);      //屏幕显示,全亮
			WriteData(0xFC);      //屏幕显示,全亮
			WriteData(0xF8);      //屏幕显示,全亮
		    WriteData(0x88);      //屏幕显示,全亮
		//for(j=1;j<=100;j++)
		
		
		
			
		//	WriteData(0xF8);      //屏幕显示,全亮
		for(j=1;j<=3;j++)
		    WriteData(0x0f);
		for(j=0;j<=8;j++)
		    WriteData(0xf0);*/
		    WriteCommand(0xaf);

    WriteCommand(0xAD); /* Set DC-DC */
    WriteCommand(0x8B); /* 8B=ON, 8A=Off */
    WriteCommand(0xaf);

    WriteCommand (0xb6);      //设置显示位置—行
    WriteCommand (0x00);      //设置显示位置—列低地址
    WriteCommand (0x10);      //设置显示位置—列高地址
        for(j=1;j<=255;j+=2)
            WriteData(d[j]);      //屏幕显示,全亮
    WriteCommand (0xb7);      //设置显示位置—行
    WriteCommand (0x00);      //设置显示位置—列低地址
    WriteCommand (0x10);      //设置显示位置—列高地址
        for(j=0;j<=255;j+=2)
            WriteData(d[j]);      //屏幕显示,全亮

//-----------------------------------------------------------------------
    WriteCommand (0x40);
    WriteCommand (0xb4);    //设置显示位置—行
    WriteCommand (0x00);      //设置显示位置—列低地址
    WriteCommand (0x10);      //设置显示位置—列高地址
        for(j=1;j<=255;j+=2)
            WriteData(d1[j]);       //屏幕显示,全亮

    WriteCommand (0xb5);    //设置显示位置—行
    WriteCommand (0x00);      //设置显示位置—列低地址
    WriteCommand (0x10);      //设置显示位置—列高地址
        for(j=0;j<255;j+=2)
            WriteData(d1[j]);        //屏幕显示,全亮
//-----------------------------------------------------------------------
    WriteCommand (0x40);
    WriteCommand (0xb2);    //设置显示位置—行
    WriteCommand (0x00);      //设置显示位置—列低地址
    WriteCommand (0x10);      //设置显示位置—列高地址
        for(j=1;j<=255;j+=2)
            WriteData(d2[j]);       //屏幕显示,全亮

    WriteCommand (0xb3);    //设置显示位置—行
    WriteCommand (0x00);      //设置显示位置—列低地址
    WriteCommand (0x10);      //设置显示位置—列高地址
        for(j=0;j<255;j+=2)
            WriteData(d2[j]);        //屏幕显示,全亮
//-----------------------------------------------------------------------
    WriteCommand (0x40);
    WriteCommand (0xb0);    //设置显示位置—行
    WriteCommand (0x00);      //设置显示位置—列低地址
    WriteCommand (0x10);      //设置显示位置—列高地址
        for(j=1;j<=255;j+=2)
            WriteData(d3[j]);       //屏幕显示,全亮

    WriteCommand (0xb1);    //设置显示位置—行
    WriteCommand (0x00);      //设置显示位置—列低地址
    WriteCommand (0x10);      //设置显示位置—列高地址
        for(j=0;j<255;j+=2)
            WriteData(d3[j]);        //屏幕显示,全亮
    
 while(1);
}

⌨️ 快捷键说明

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