pcf8576.c

来自「EasyARM615的KEIL下的调试程序,包含IO口,串口,SPI口等」· C语言 代码 · 共 57 行

C
57
字号
/****************************************************************************
* File:PCF8576.C
* 功能:PCF8576驱动程序。
* 说明:需要使用I2C软件包。
****************************************************************************/
#include "PCF8576.H"
#include "I2CINT.h"

void DelayMS(unsigned char no);
/****************************************************************************
* 名称:PCF8576_Ini
* 功能:初始化PCF8576。
* 入口参数: mode 		方式设定字,低5位有效
*            glitter  	闪烁设定字,低3位有效
* 出口参数: 返回值,为1时表示操作正确,为0表示初化失败。
****************************************************************************/
unsigned char PCF8576_Ini(unsigned char mode, unsigned char glitter)
{ mode = (mode&0x1f)|0x40;			// 设置方式设置字
  if( ISendByte(PCF8576, mode)==0 ) return(0);

  glitter = (glitter&0x07)|0x70;
  ISendByte(PCF8576, glitter);
  return(1);
}

/****************************************************************************
* 名称:PCF8576_Disp
* 功能:向PCF8576发送显示数据。
* 入口参数: drive		器件选择地址,低3位有效
*            adr    	要显示的起始地址,低5位有效
*            buf		数据缓冲区
*            no         要发送的数据个数
* 出口参数: 无
****************************************************************************/
void PCF8576_Disp(unsigned char drive, unsigned char adr, unsigned char *buf, unsigned char no)
{ drive = (drive&0x07)|0x60;
  ISendByte(PCF8576, drive);       	// 选择器件,以便使器件复位
  adr = adr&0x1f;
  ISendStr(PCF8576, adr, 1, buf, no);
}

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



⌨️ 快捷键说明

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