[单片机][N76E003][PCA9540BD][IIC扩展器] 一组IIC变两组IIC 使用方法 例子 代码

发布者:genius6最新更新时间:2022-10-08 来源: csdn关键字:单片机  N76E003 手机看文章 扫描二维码
随时随地手机看文章

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

/* -----------------------------------------宏定义-----------------------------------------*/


/* -----------------------------------------头文件-----------------------------------------*/

#include "main.h"


/* -----------------------------------------结构体定义-------------------------------------*/

code IIC_TYPE PCA9540BD = {2, 0xE0};

/* -----------------------------------------全局变量定义-----------------------------------*/


/* -----------------------------------------应用程序---------------------------------------*/

void PCA9540BD_Init(void)

{

    IIC_Init();          // I2C初始化

}


/*********************************************

函数名:PCA9540BD_Write_DATA

功  能:写 地址 数据

形  参:addr 地址   dat 数据

返回值:

备  注:

作  者:薛建强

时  间:2020/05/09

**********************************************/

void PCA9540BD_Write_DATA(const uint8_t addr, const uint8_t DATA)

{

    if (addr);

    IIC_Start();                 // 启动

    IIC_WriteByte(PCA9540BD.ADDR); // 设备地址

    IIC_Wait_ACK();              // 等待数据响应

    IIC_WriteByte(DATA);         // 发送数据

    IIC_Wait_ACK();              // 等待数据响应

    IIC_Stop();                  // 停止

}

/*********************************************

函数名:PCA9540BD_Read_DATA

功  能:读地址数据

形  参:addr--寄存器地址

返回值:

备  注:

作  者:薛建强

时  间:2020/05/09

**********************************************/

uint8_t PCA9540BD_Read_DATA(const uint8_t addr)

{

    uint8_t GET_DATA = 0;

    if (addr);

    IIC_Start();                        // 启动

    IIC_WriteByte(PCA9540BD.ADDR | 1);  // 发送地址

    IIC_Wait_ACK();                     // 等待数据响应


    GET_DATA = IIC_ReadByte();          // 获取数据

    IIC_Wait_ACK();                     // 等待数据响应


    IIC_Stop();                         // 停止

    return GET_DATA;

}


/*********************************************

函数名:PCA9540BD_Switch_Ch

功  能:选择IIC通道

形  参:0--IIC0 1--IIC1

返回值:

备  注:

作  者:薛建强

时  间:2020/05/09

使  用:

**********************************************/

void PCA9540BD_Switch_Ch(const uint8_t ch)

{

    if (ch == 0)

    {

        PCA9540BD_Write_DATA(0, 0x04);

    }

    else if (ch == 1)

    {

        PCA9540BD_Write_DATA(0, 0x05);

    }

}



/*********************************************

函数名:PCA9540BD_Switch_Ch

功  能:关闭IIC通道

形  参:

返回值:

备  注:

作  者:薛建强

时  间:2020/05/09

使  用:

**********************************************/

void PCA9540BD_Off_Ch(void)

{

    PCA9540BD_Write_DATA(0, 0x00);

}


#ifndef _PCA9540BD_H

#define _PCA9540BD_H

/* -----------------------------------------宏定义-----------------------------------------*/


/* -----------------------------------------头文件-----------------------------------------*/

#include "main.h"


/* -----------------------------------------结构体定义-------------------------------------*/


/* -----------------------------------------全局变量定义-----------------------------------*/


/* -----------------------------------------应用程序---------------------------------------*/

void    PCA9540BD_Init(void);

void    PCA9540BD_Write_DATA(const uint8_t addr, const uint8_t DATA);

uint8_t PCA9540BD_Read_DATA(const uint8_t addr);

void PCA9540BD_Switch_Ch(const uint8_t ch);

void PCA9540BD_Off_Ch(void);

#endif

关键字:单片机  N76E003 引用地址:[单片机][N76E003][PCA9540BD][IIC扩展器] 一组IIC变两组IIC 使用方法 例子 代码

上一篇:[单片机][IIC/I2C][APDS9960] 手势传感器 4种手势
下一篇:单片机 温度调控 大功率设备调整PWM输出

推荐阅读最新更新时间:2024-11-10 06:37

PIC16C5X单片机程序存储器
PIC16C5X系列单片机内部有一定容量的程序存储器和数据存储器,程序存储器的字节宽度为12位,用于存放用户程序和数据表格。PIC16C52有384字节的程序存储空间,PIC16C54/55的ROM空间为512字节,PIC16C56的地址空间为1024字节,PIC16C57/58则为2048个字节。PIC16C5X单片机采用的是分页寻址方式,每页位512字节,页面地址由状态寄存器f3的PA0、PA1选择。512字节的12位页内可直接寻址,较大的程序存储器可通过选择4个页、每页512字节页面来寻址,如下图所示。 但当页面之间跳转(GOTO CALL指令)必须先把f3的PA0、PA1设置为相应的页面。需要注意的是:在系统复位时,程
[单片机]
PIC16C5X<font color='red'>单片机</font>程序存储器
复旦微电子推出FM33LE0系列MCU产品家族
2022年5月30日,上海讯——复旦微电子今日推出基于 ARM cortex M0内核的FM33LE0系列MCU产品家族 。该系列是FM33LC0系列的成本友好版本,在保证硬件兼容FM33LC0系列的基础上,复旦微MCU团队对其片上存储资源和外设资源进行了更加精准的规划,并且优化部分功能,使其与客户端的需求契合度更高,从而为客户端的产品研发提供了更多的可能性。 该系列MCU是基于ARM Cortex-M0内核的32位低功耗MCU芯片,最高主频为64MHz,提供最大128KB FLASH程序存储空间,搭配 16KB RAM;片上集成LCD驱动、带温补的RTC、SAR-ADC、AES加密,以及丰富的通用外设接口;支持多种封装
[单片机]
复旦微电子推出FM33LE0系列<font color='red'>MCU</font>产品家族
单片机复位电路分析
单片机目前已被广泛地应用于家电、医疗、仪器仪表、工业自动化、航空航天等领域。市场上比较流行的单片机种类主要有Intel公司、Atmel公司和Philip公司的 8051 系列单片机,Motorola公司的M6800系列单片机,Intel公司的MCS96系列单片机以及M IC ro Chip 公司的PIC系列单片机。无论用户使用哪种类型的单片机,总要涉及到单片机复位电路的设计。而单片机复位电路设计的好坏,直接影响到整个系统工作的可靠性。许多用户在设计完单片机系统,并在实验室调试成功后,在现场却出现了“死机”、“程序走飞”等现象,这主要是单片机的复位电路设计不可靠引起的。图1是一个单片机与大功率 LED 八段显示器共享一个 电源
[单片机]
<font color='red'>单片机</font>复位电路分析
pic单片机的各种汇编语言指令解析
pic 单片机为最常用单片机之一,许多程序均基于 pic 单片机进行开发。因此,熟练 pic 单片机编程尤为重要。为保证大家能准确、熟练掌握 pic 单片机的使用,本文特带来 pic 单片机的各种汇编语言指令的讲解上篇,下篇将在后期文章中予以讲解。如果你对本文即将讲解的内容充满兴趣,不妨继续往下阅读哦。 一、pic 的指令系统 pic8 位单片机共有三个级别,有相对应的指令集。基本级 pic 系列芯片共有指令 33 条,每条指令是 12 位字长;中级 pic 系列芯片共有指令 35 条,每条指令是 14 位字长;高级 pic 系列芯片共有指令 58 条,每条指令是 16 位字长。其指令向下兼容。 二、pic 汇编语言指令格
[单片机]
pic<font color='red'>单片机</font>的各种汇编语言指令解析
51单片机的315M发射头发送汇编程序
;防盗器主机程序 FSDD EQU P1.7 ;发射控制D端,高电平控制有效 FSCC EQU P1.6 ;发射控制C端,高电平控制有效 FSBB EQU P1.5 ;发射控制B端,高电平控制有效 BJQ1 EQU P1.1 ;报警器,低电平报警 SPK1 EQU P1.0 ;喇叭,驱动方式为脉冲信号 LED1 EQU P3.0 ;指示灯 JSVT EQU P3.2 ;接收头VT端 JSDD EQU P3.3 ;接收头D输出端,有效高电平输出 JSCC EQU P3.4
[单片机]
单片机8031的自动计量进料系统设计
  1 引言   从提高设备国产化比重、节约外汇、方便维护、保证生产出发,本文应厂方要求,在对进口装置的设备性能和电气信号时序透彻分析的基础上,开发了基于8031的嵌入式的微机 自动计量 进料系统,该系统从性能要求、信号时序到外观尺寸都与进口装置完全匹配,成功地实现了进口设备控制系统国产化。   2 计量进料器的称量和计量进料原理   启动预先设置的计量进料程序后,计量系统首先称量并存储称量锅皮重,然后依次控制各种配料如牛奶、砂糖、水等进入称量锅,其中干物料用振动盘计量进料,粉末料由螺旋进料器计量进料,液体料则由液压阀计量进料,糊状物由泵进料。每一种配料都先后使用粗料和细料两种进料方式,以保证称量精度达到98%~99%。物
[单片机]
<font color='red'>单片机</font>8031的自动计量进料系统设计
我见过的最经典的单片机教程
一、硬件准备:   随着技术的发展,单片机开发手段也越来越先进,而价格却不断下降。当FLASH型单片机被广 泛应用后,采用软件模拟加写片验证成为一种经济实用的实验方法。而近年来很多单片机都具有了 ISP功能,只要一根下载线即可以编程,不再需要编程器。   美国SST公司推出的SST系列单片机更是集成了仿真功能,配合Keil软件,可使用户的目标板直 接具有仿真功能,将单片机的易用性推向一个新的高度。   我们推荐给大家的学习单片机的设备是:方案1:(1)计算机一台;(2)具有仿真功能的实 验板一块,(3)其它如电烙铁、实验电源等常规工具。方案2:(1)计算机一台;(2)下载型实 验板一块;(3)下载线一根;(4)其它如电烙铁、实验电
[单片机]
如何使用和检测89C2051单片机
AT89C2051是爱特梅尔(ATMEL公司AT89系列的与AT89C51相比,有良好的延续性,仅减少了存储容量和I/O端口,其余配置与性能不减,是性能价格比最好的8位单片机。   1)特性   a)指令与MCS-51 100%兼容   b)内带2k可编程闪速存储器(Flash Memory)   c)电可擦写次数:1000次   d)数据保留时间:10年   e)工作电压范围Vcc:2.7-6V   f)编程电压:5V   g)16位定时器/计数器2个   h)中断源5个   i)可编程串行通道VART   j)工作频率:0-24MHZ   k)输出口可直接驱动LED 。   l)片内含模拟比较
[单片机]
如何使用和检测89C2051<font color='red'>单片机</font>
小广播
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved