以下资料由微雪电子整理并发布,未经许可不得转载,否则追究相应责任!
软件设计 |
---|
/*********************************************************************
微 雪 电 子 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();
}
STM8 PCF8591 AD/DA转换子程序
——