/********************************************************************* 微 雪 电 子 WaveShare http://www.waveShare.net 目 的: 建立PCF8591操作库 目标系统: 基于STM8单片机 应用软件: Cosmic CxSTM8 说 明: 若用于商业用途,请保留此段文字或注明代码来源 深 圳 市 微 雪 电 子 有 限 公 司 保 留 所 有 的 版 权 *********************************************************************/ #include <ws_i2c.h> #define MODE0 0x00 #define MODE1 0x10 #define MODE2 0x20 #define MODE3 0x30 #define CHNL0 0 #define CHNL1 1 #define CHNL2 2 #define CHNL3 3
#define DAouputEn 0x40
#define WD_DADR 0x90 #define RD_DADR 0x91
void PCF8591_WriteAByte(u8 dat) { I2C_Start(); I2C_SendDAdr(WD_DADR); I2C_SendDat(dat); I2C_stop(); }
u8 PCF8591_ReadAByte(void) { u8 dat; I2C_Start(); I2C_NAck(); I2C_SendDAdr(RD_DADR); dat=I2C_RcvDat(); I2C_stop(); I2C_Ack(); return dat; }
void PCF8591_getAD(u8 mode,u8 chan,u8 *ADC) { PCF8591_WriteAByte(mode|chan); ADC[0]=PCF8591_ReadAByte(); } |