立即注册 找回密码

微雪课堂

搜索
微雪课堂 STM8 STM8单片机笑傲江湖 查看内容

STM8 PCF8591 AD/DA转换子程序

2015-7-16 13:53| 发布者: waveshare-admin| 查看: 9117| 评论: 0

摘要: 软件设计/*********************************************************************微 雪 电 子 WaveSharehttp://www.waveShare.net目 的: 建立PCF8591操作库目标系统: 基于STM8单片机应用软件: Cosmic CxSTM8说 明: ...
软件设计

/*********************************************************************
微 雪 电 子 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();
}

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


462

顶一下

刚表态过的朋友 (462 人)

最新评论

所有教程
STM8

微雪官网|产品资料|手机版|小黑屋|微雪课堂. ( 粤ICP备05067009号 )

GMT+8, 2024-3-28 20:11 , Processed in 0.017031 second(s), 20 queries .

返回顶部