STM8 PCF8591 AD/DA转换子程序
软件设计 |
---|
/********************************************************************* 微 雪 电 子 WaveShare <a class="Blue_2_12px_" href="http://wiki.diustou.com/" style="color: rgb(7, 66, 184);">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(); }