logo

STM8应用笔记 STM8单片机笑傲江湖 STM8 PCF8591 AD/DA转换子程序

STM8 PCF8591 AD/DA转换子程序

以下资料由微雪电子整理并发布,未经许可不得转载,否则追究相应责任!

软件设计

/*********************************************************************
微 雪 电 子 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转换子程序

——