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

📄 main.c

📁 这个是s3c44b驱动并口液晶的测试程序
💻 C
字号:
#include"uhal.h"
#include"myuart.h"
#include"44b.h"
#pragma import(__use_no_semihosting_swi)  // ensure no functions that use semihosting 

/* bank3 ban4 做为系统的片选信号,
  44b0     lcd
  复位-----复位     8位数据宽  address-----i/d*/

#define  bank1(y)  (*(volatile unsigned char *) (0x0c02000000 + y))
#define  bank3(x)  (*(volatile unsigned char *) (0x0c06000000 + x))
//#define  bank4(y)  (*(volatile unsigned char *) (0x0c08000000 + y))

unsigned char map[8][128]={
{0x80,0x40,0x40,0x20,0x10,0x08,0x08,0x04,0x02,0x01,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x03,0x07,0x0f,0x1f,0x3f,0x3f,0x1f,0x0f,0x07,0x03,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},
{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x03,0x87,0x47,0x2f,0x2f,0x1f,0x0f,0x1f,0x1f,0x1f,0x1f,0x3f,0x3f,0x3f,0x3f,0x3f,0x1f,0x1f,0x1f,0x0f,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},
{0x00,0x00,0x00,0x00,0x0f,0x1f,0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0xfe,0xfc,0xf8,0xf8,0xf8,0xf0,0xf0,0xc8,0x84,0x02,0x02,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x03,0x03,0x07,0x07,0x07,0x07,0x07,0x0f,0x07,0x07,0x07,0x07,0x07,0x07,0x07,0x03,0x03,0x01,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x01,0x03,0x07,0x07,0x07,0x0f,0x1f,0x1f,0x1f,0x1f,0x1f,0x1f,0x1f,0x1f,0x1f,0x0f,0x0f,0x07,0x07,0x07,0x03,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},
{0x00,0x00,0x1f,0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe0,0xc0,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x80,0x40,0x40,0x20,0x11,0x1f,0x3f,0x7f,0xff,0xff,0xff,0xff,0xf8,0xf0,0xe0,0xe0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xe0,0xe0,0xf0,0xf0,0xfc,0xff,0xff,0x3f,0x3f,0x1f,0x0f,0x01,0x00,0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf0,0xe0,0xc0,0xc0,0xc0,0xc0,0xc0,0x80,0xc0,0xc0,0xc0,0xc0,0xe0,0xe0,0xf0,0xfc,0xff,0xff,0x3f,0x1f,0x0f,0x00,0x00,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x3f,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},
{0x00,0x00,0xf0,0xf8,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x7f,0x3f,0x1f,0x0f,0x0f,0x0f,0x0f,0x0f,0x1f,0x1f,0x3f,0x7f,0x7f,0x7f,0x7f,0x7f,0x7f,0x7f,0x7f,0x3f,0x1f,0xf0,0xf8,0xfc,0xfe,0xff,0xff,0xff,0xbf,0x4f,0x2f,0x2f,0x17,0x0b,0x07,0x05,0x03,0x01,0x01,0x01,0x01,0x03,0x07,0x07,0x0f,0x0f,0xff,0xff,0xff,0xff,0xfe,0xf0,0xe0,0x00,0xf0,0xf8,0xfe,0xfe,0xff,0xff,0xff,0xff,0x1f,0x0f,0x0f,0x07,0x07,0x07,0x07,0x07,0x07,0x07,0x07,0x07,0x0f,0x0f,0x0f,0x3f,0xff,0xff,0xff,0xfe,0xf8,0x00,0x00,0xfe,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x7f,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},
{0x00,0x00,0x00,0x00,0x00,0x80,0xc0,0xe0,0xf0,0xf0,0xf8,0xf8,0xfc,0xfc,0xfc,0xfc,0xfc,0xfc,0xfe,0xfe,0xfe,0xfe,0xfe,0xfe,0xfe,0xfe,0xfe,0xfc,0xfc,0xfc,0xfc,0xfc,0xf8,0xf0,0xc0,0x00,0x00,0x00,0x00,0x00,0x00,0xc0,0xc0,0xe0,0xf0,0xf0,0xf0,0xf8,0xf8,0xfc,0xfd,0xfd,0xfd,0xfd,0xf9,0xf9,0xf9,0xfb,0xf3,0xfb,0xf7,0xe3,0xe3,0x03,0x03,0x03,0x03,0x03,0x03,0x03,0x03,0x03,0x03,0x03,0x83,0xc3,0xc3,0xe3,0xf3,0xf3,0xf3,0xfb,0xfb,0xfb,0xfb,0xf9,0xf1,0xf0,0xf0,0xf0,0xe0,0xe0,0xe0,0xc0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xfe,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x07,0x03,0x03,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},
{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x03,0x07,0x0f,0x0f,0x1f,0x1f,0x1f,0x1f,0x3f,0x7f,0x7f,0x7f,0x7f,0x7f,0xff,0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0xfe,0xfe,0xfe,0xfc,0xfc,0xfc,0xfc,0xfc,0xfc,0xfc,0xfe,0xfd,0xf9,0xf8,0xf8,0xf8,0xf8,0xf8,0xf8,0xf8,0xf8,0xf8,0xfc,0xfc,0xf8,0xfc,0xff,0xff,0xff,0xff,0xff,0x7f,0x7f,0x3f,0x04,0x00,0x00,0x00,0x00,0x00,0x00,0xc0,0xe0,0xf0,0xf8,0xfc,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf8,0xc0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},
{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x38,0xf8,0xf8,0xfc,0xfc,0xfc,0xfc,0xfc,0xfc,0xfc,0xf8,0xf8,0xf8,0xf8,0xf0,0xf0,0xe0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0x80,0x80,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x80,0x40,0x20,0x20,0x10,0x08,0x04,0x04,0x02,0x31,0x78,0xf8,0xf8,0xf8,0xf0,0xf0,0xe0,0xc0,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00}};

void delay(void)
   {int i;
    for(i=0;i<100;i++);
    }
    
void  portf(void)
   {rPCONF=0x92555;       
    rPUPF=0x0;           
    rPDATF=0x00;     			 //down
  	rPDATF|=0x1ff;   			 //up
    rPDATF&=0x00;   			 //down
   }

void LCD_init(void)
   {// rPCONB|=0x300;             // enable    bank3.4  	
    // rBWSCON&=0xfffccfff;        //date bus  bank3,4
    rPCONB|=0x340;             // enable    bank1,3  	
    rBWSCON&=0xfffccfcf;        //date bus  bank1,3
  
  
    bank1(0)=0x3e;   delay();   //close  led   poin iniyt
    bank1(0)=0xc0;   delay();   //start  0 row
    bank1(0)=0xb8;   delay();   //page   0
    bank1(0)=0x40;   delay();   //y address  0	
  	
  	bank3(0)=0x3e;   delay();   //close  led   poin iniyt
    bank3(0)=0xc0;   delay();   //start  0 row
    bank3(0)=0xb8;   delay();   //page   0
    bank3(0)=0x40;   delay();   //y address  0
  /* 
    bank4(0)=0x3e;   delay();   //close  led   poin iniyt
    bank4(0)=0xc0;   delay();   //start  0 row
    bank4(0)=0xb8;   delay();   //page   0
    bank4(0)=0x40;   delay();   //y address  0
  */
  
   }

void LCD_diplay(void)
  {unsigned char i,j;
   unsigned  int a=0,b=0,c=0;
   
   for(i=0;i<8;i++)
     {
      bank3(0)=(0xb8+i);   delay();   //page   
      for(j=0;j<64;j++)
       {a=map[i][j];    delay();
      
        b=a&0x01;   b=b<<7;      c=c|b;
        b=a&0x02;   b=b<<5;      c=c|b;
        b=a&0x04;   b=b<<3;      c=c|b;
        b=a&0x08;   b=b<<1;      c=c|b;      
        b=a&0x10;   b=b>>1;      c=c|b;
        b=a&0x20;   b=b>>3;      c=c|b;
        b=a&0x40;   b=b>>5;      c=c|b;
        b=a&0x80;   b=b>>7;      c=c|b;

        bank3(1)=c;
        c=0;
       }
       bank1(0)=(0xb8+i);   delay();   //page        
    // bank4(0)=(0xb8+i);   delay();   //page       
     for(j=64;j<128;j++)
        {a=map[i][j];    delay();
      
        b=a&0x01;   b=b<<7;      c=c|b;
        b=a&0x02;   b=b<<5;      c=c|b;
        b=a&0x04;   b=b<<3;      c=c|b;
        b=a&0x08;   b=b<<1;      c=c|b;      
        b=a&0x10;   b=b>>1;      c=c|b;
        b=a&0x20;   b=b>>3;      c=c|b;
        b=a&0x40;   b=b>>5;      c=c|b;
        b=a&0x80;   b=b>>7;      c=c|b;
 bank1(1)=c;
       // bank4(1)=c;
        c=0; 
       }
      }
     bank3(0)=0x3f;     delay();// open led 
     delay();            delay();
     delay();            delay();
      bank1(0)=0x3f;     delay();// open led
     //bank4(0)=0x3f;     delay();// open led   
    }

int main(void)
  { 
	char c1[1];
	char err;
	
	ARMTargetInit();	 		//开发版初始化
	portf();          			 // 端口测试
    LCD_init();
    LCD_diplay();          
    
	while(1)
	{
       	Uart_SendByte(0,0xa);//换行
		Uart_SendByte(0,0xd);//回车
        	err=Uart_Getch(c1,0,0);	//从串口采集数据
        	Uart_SendByte(0,c1[0]);	//显示采集的数据
	}
	
	return 0;
}

⌨️ 快捷键说明

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