dm12864.c

来自「s3c44b0+sl811读写u盘程序」· C语言 代码 · 共 117 行

C
117
字号
#include "..\target\44b.h"

#define rs	{rPDATC |= 0x020;}
#define nrs	{rPDATC &= 0xffdf;}
#define rw	{rPDATC |= 0x040;}
#define nrw	{rPDATC &= 0xffbf;}
#define en	{rPDATC |= 0x080;}
#define nen	{rPDATC &= 0xff7f;}
#define comm  0
#define dat   1

void wr_lcd (unsigned char dat_comm,unsigned char content);
void chk_busy (void);

unsigned char tab1[]={
"     EUE44B0    "
};

unsigned char tab2[]={
"  WWW.31DSP.COM "
};

unsigned char tab3[]={
"  WWW.EESEA.COM "
};

unsigned char tab4[]={
"联合推出"
};

/*------------------初始化-----------------*/
void init_lcd (void)
{
  wr_lcd (comm,0x30);  /*30---基本指令动作*/   
  wr_lcd (comm,0x01);  /*清屏,地址指针指向00H*/
  wr_lcd (comm,0x06);  /*光标的移动方向*/
  wr_lcd (comm,0x0c);  /*开显示,关游标*/
}
/*---------------显示汉字或字符----------------*/
void chn_disp (unsigned char *chn)
{
  unsigned char i,j;
  wr_lcd(comm,0x30);
  
  wr_lcd(comm,0x80);
  for (i=0;i<16;i++)
  wr_lcd(dat,chn[i]);
  
  wr_lcd(comm,0x90);
  for (i=0;i<16;i++)
  wr_lcd(dat,tab2[i]);
  
  wr_lcd(comm,0x88);
  for (i=0;i<16;i++)
  wr_lcd(dat,tab3[i]);
  
   wr_lcd(comm,0x9a);
  for (i=0;i<8;i++)
  wr_lcd(dat,tab4[i]);
  
}
/*--------------清DDRAM------------------*/
void clrram (void)
{
  wr_lcd (comm,0x30);
  wr_lcd (comm,0x01);
}
/*---------------------------------------*/
void wr_lcd (unsigned char dat_comm,unsigned char content)
{
  unsigned int i;
  chk_busy ();
  if(dat_comm)
   {
    rs;   //data
    nrw;   //write
   }
  else 
   {
    nrs;   //command
    nrw;   //write
   }
  rPDATD=content;   //output data or comm
  en;
  for(i=0;i<500;i++);
  nen;
}

void chk_busy (void)
{
  rPDATD=0xff;
  nrs;
  rw;
  en;
  rPCOND = 0x1555;
  while(rPDATD&0x80);
  rPCOND = 0x5555;
  nen;
}

void change_port()
{
	rPCONC &= 0xffff03ff;  //
	rPCONC |= 0xffff577f;   //设置GPC 3 5 6 7为OUTPUT
	
	rPCOND = 0x5555;
	
}


void DM12864_main(void)
{
   change_port();
   init_lcd ();
   clrram();
	  chn_disp (tab1);
}

⌨️ 快捷键说明

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