/*********************************************************************
目 的: 建立PCF8591操作库
目标系统: 基于AVR单片机
应用软件: ICCAVR
*********************************************************************/
/*01010101010101010101010101010101010101010101010101010101010101010101
----------------------------------------------------------------------
版本更新记录:
----------------------------------------------------------------------
入口参数说明:
sbit I2C_SCL=P3^1;
sbit I2C_SDA=P3^0;
#define WR_DADR 0x90 //器件地址:A2 A1 A0 = 0 0 0
#define RD_DADR 0x91 //器件地址:A2 A1 A0 = 0 0 0
----------------------------------------------------------------------
待定参数说明:
----------------------------------------------------------------------
对外变量说明:
----------------------------------------------------------------------
对外函数说明:
----------------------------------------------------------------------
10101010101010101010101010101010101010101010101010101010101010101010*/
#ifndef PCF8591_H
#define PCF8591_H
#include "D:ICC_HCmmICC.H"
//sbit I2C_SCL=P3^1;
//sbit I2C_SDA=P3^0;
#include "D:ICC_HI2C.H"
//器件地址:A0 A1 A2 = 0 0 0
#ifndef WR_DADR
#define WR_DADR 0x90 //write device-address
#endif
#ifndef RD_DADR
#define RD_DADR 0x91 //read device-address
#endif
#define MODE0 0x00 //Channel0 = AIN0;
//Channel1 = AIN1;
//Channel2 = AIN2;
//Channel3 = AIN3;
#define MODE1 0x10 //Channel0 = AIN3-AIN0;
//Channel1 = AIN3-AIN1
//Channel2 = AIN3-AIN2;
#define MODE2 0x20 //Channel0 = AIN0;
//Channel1 = AIN1;
//Channel2 = AIN3-AIN2;
#define MODE3 0x30 //Channel0 = AIN1-AIN0;
//Channel1 = AIN3-AIN2;
#define CHNL0 0 //Using Channel0
#define CHNL1 1 //Using Channel1
#define CHNL2 2 //Using Channel2
#define CHNL3 3 //Using Channel3
#define DAouputEn 0x40 //0x50 or 0x60 or 0x70 is also ok!
/*--------------------------------------------------------------------
函数全称:
函数功能:
注意事项:
提示说明:
输 入:
返 回:00H~FFH
--------------------------------------------------------------------*/
void PCF8591_getAD(uint8 mode,uint8 chan,uint8 *pRdDat)
{
I2C_Read(WR_DADR,mode|chan,RD_DADR,pRdDat);
}
/*--------------------------------------------------------------------
函数全称:
函数功能:
注意事项:
提示说明:
输 入:00H~FFH
返 回:
--------------------------------------------------------------------*/
void PCF8591_setDA(uint8 val)
{
I2C_Write(WR_DADR,DAouputEn,val);
}
#endif
上一篇:AVR PCF8591 程序
下一篇:基于AVR单片机的AT24C02子程序
推荐阅读最新更新时间:2024-11-07 15:22
设计资源 培训 开发板 精华推荐
- TAR5SB43 点稳压器(低压降稳压器)的典型应用
- 串口墨水屏万能驱动板
- ProMicro_TypeC_All GPIO:自制Atmega32u4核心板
- EVAL-AD5243SDZ,AD5243 双通道、256 位数字电位器评估板
- 使用 TC7117A 模数转换器实现二极管或电阻器限制封装功耗的典型应用
- 使用 Microchip Technology 的 MIC2774N-XXBM5 的参考设计
- STA333ML13TR音响终端2通道无微高效数字音频系统典型应用
- 通用固定结构底板 板卡模块万用快捷固定板 多用途安装底板
- #第五届立创电子设计大赛#大容量蓝牙耳机控制器
- 用于简单时钟振荡器的 NCP301LSN31T1 2.8V 电压检测器的典型应用
- 电子书下载|ADI 触摸屏测试解决方案
- 直播已结束|Littelfuse 智能楼宇电子设备安全与可靠性解决方案
- 安全在任何时候都是第一要素,你的嵌入式设计也是!诚邀参加英飞凌 OPTIGA™ Trust M 安全防御大揭秘!
- TI 邀您填问卷赢好礼|私人定制专属你的 2019 工业应用方案
- 热烈庆祝坛友coyoo新书《FPGA设计实战演练》出版,参与讨论即有机会赢新书!
- 跟 TI工程师 立下你的金猪Flag!立Flag & 分享赢双重好礼!
- STM32嵌入式网络开发套件,超震撼冰点价火爆开团!
- 直播:计算机视觉影像处理应用于智能驾驶的未来及挑战
- [直播预报名] TI 最新蓝牙技术培训,2017 震撼首发!