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

📄 dpcf8576.c

📁 pcf8576的实验程序源码,液晶驱动芯片的具体使用
💻 C
字号:
/****************************************************************************
* File:DPCF8576.C
* 功能:使用PCF8676驱动程序LCD,显示" Hello dp-932 "
* 说明:将跳线器J11、J12分别短接到SDA、SCL端;
*       通过跳线器J8、J9选择高频晶振6MHz,J28短接到BEEP端。
****************************************************************************/
#include "VI2C_C51.H"
#include "PCF8576.H"
#include "REG932.H"

sbit	BEEP	= P2^7;

/****************************************************************************
* 名称:DelayNS
* 功能:长软件延时
* 入口参数:no		延时参数,值越大时延时越久
****************************************************************************/
void DelayNS(uchar no)
{ uchar i,j;
  for(; no>0; no--)
  { for(i=0; i<200; i++)
     for(j=0; j<250; j++);
  }
}


/* 液晶显示字符表,0-9 */
uchar code LED_TAB1[] = {0xB7,0x06,0xE5,0xC7,0x56,0xD3,0xF3,0x07,0xF7,0xD7};
uchar code LED_TAB2[] = {0xED,0x60,0xA7,0xE3,0x6A,0xCB,0xCF,0xE0,0xEF,0xEB};

void main(void)
{ uchar disp_buf[20];			// 定义显示缓冲区
  uchar i;

  P1M1=0x00;					// 设置IO口工作模式
  P1M2=0x00;
  P2M1=0xc0;
  P2M2=0xc0;

  /* 初始化PCF8576,正常工作模式,打开显示,1/3偏压,4背极,禁止闪烁 */
  if( PCF8576_Ini(MODE_E, NOGLITTER)==0 )		
  { while(1)					// 若器件无应答,则蜂鸣报警
    { BEEP = ~BEEP;
	  DelayNS(5);
	}
  }

  /* 输出显示数据,全显示 */
  for(i=0; i<20; i++)
  { disp_buf[i]=0xff;
  }
  PCF8576_Disp(0, 0x00, disp_buf, 20);	// 0x00是数据指针指向00H的指令
  DelayNS(50);

  /* 显示"123...."*/
  for(i=1; i<8; i++)					// 第1行显示数据
  { disp_buf[i]=LED_TAB1[i]|0x08;
  }
  for(i=9; i<16; i++)					// 第2行显示数据
  { disp_buf[i]=LED_TAB2[i-8]|0x10;
  }
  PCF8576_Disp(0, 0x00, disp_buf, 20);
  DelayNS(150);

  /* 显示" Hello dp-932 "  */
  for(i=0; i<20; i++)
  { disp_buf[i]=0x00;
  }
  disp_buf[1]=0x76;						// 'H'
  disp_buf[2]=0xf1;						// 'E'
  disp_buf[3]=0xb0;						// 'L'
  disp_buf[4]=0xb0;						// 'L'
  disp_buf[5]=0xb7;						// 'O'

  disp_buf[15]=0x67;					// 'd'
  disp_buf[14]=0xae;					// 'p'
  disp_buf[13]=0x02;					// '-'
  disp_buf[12]=LED_TAB2[9];				// '9'
  disp_buf[11]=LED_TAB2[3];				// '3'
  disp_buf[10]=LED_TAB2[2]|0x10;		// '2'
  PCF8576_Disp(0, 0x00, disp_buf, 20);
  while(1);
}

⌨️ 快捷键说明

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