基于AVR单片机的AT24C02子程序

发布者:fengting最新更新时间:2020-06-28 来源: eefocus关键字:AVR  单片机  AT24C02子程序 手机看文章 扫描二维码
随时随地手机看文章

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

目    的:   建立AT24C02操作库

目标系统:   基于AVR单片机                                                 

应用软件:   ICCAVR                                                      

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


/*01010101010101010101010101010101010101010101010101010101010101010101

----------------------------------------------------------------------

版本更新记录:


----------------------------------------------------------------------

入口参数说明:

//#define RD_DADR 0xA1 //器件地址:A2 A1 A0 = 0 0 0

//#define WR_DADR 0xA0 //器件地址:A2 A1 A0 = 0 0 0


----------------------------------------------------------------------

待定参数说明:


---------------------------------------------------------------------- 

对外变量说明:


----------------------------------------------------------------------

对外函数说明:


----------------------------------------------------------------------

10101010101010101010101010101010101010101010101010101010101010101010*/


#ifndef AT24CXX_H

#define AT24CXX_H


#include "D:ICC_HCmmICC.H"

#include "D:ICC_HI2C.H"


//器件地址:A0 A1 A2 = 0 0 0

#ifndef WR_DADR 

#define WR_DADR 0xA0 //write device-address 

#endif

#ifndef RD_DADR 

#define RD_DADR 0xA1 //read device-address

#endif


#define AT24CXX_ERR 0

#define AT24CXX_CRR 1


/*--------------------------------------------------------------------

函数名称:AT24CXX写入一个数据

函数功能:

注意事项:

提示说明:

输 入:

返 回:

--------------------------------------------------------------------*/

bool AT24CXX_Write(uint8 wordAdr,uint8 dat) 

{

if( I2C_Write(WR_DADR, wordAdr, dat)==I2C_ERR )

return AT24CXX_ERR;

return AT24CXX_CRR;

}

/*--------------------------------------------------------------------

函数名称:AT24CXX读出一个数据

函数功能:

注意事项:

提示说明:

输 入:

返 回:

--------------------------------------------------------------------*/

bool AT24CXX_Read(uint8 wordAdr,uint8 *pRdDat) 

{

if( I2C_Read(WR_DADR, wordAdr, RD_DADR, pRdDat)==I2C_ERR )

return AT24CXX_ERR;

return AT24CXX_CRR;

}


#endif


关键字:AVR  单片机  AT24C02子程序 引用地址:基于AVR单片机的AT24C02子程序

上一篇:基于AVR单片机的PCF8563子程序
下一篇:AVR PCF8563 程序

推荐阅读最新更新时间:2024-11-16 23:48

STM32单片机中的独立看门狗与窗口看门狗有哪些不同之处
1.关于看门狗的解释不再说明,窗口看门狗简而言之即只能看某个窗口期即某段时间内才能够喂狗。32的独立看门狗是没有中断的,而窗口看门狗可根据需要配置中断 2.关于独立看门狗和窗口看门狗的应用,手册p316 即17.1节讲的非常清楚。首先独立看门狗和窗口看门狗都可用来监视软件程序是否正常运行,而具体而言,因为独立看门狗独立于系统时钟单独运行,因此其可用来监视是否发生了硬件错误,比如说系统时钟故障,看门狗仍然能够起到重启的作用,但是独立看门狗的计时精度比较差,更多的应用在独立系统运行之外的对计时要求低的地方。而窗口看门狗是由系统时钟提供的,因此其计时也会很准确,当然其也就只能用来检测软件故障,比如硬件故障系统时钟坏了,自身也就不动了,也
[单片机]
高手谈谈单片机编程思路
我曾经做过两年的单片机产品,在对单片机编程的过程中逐渐形成了一个大体固定的整体框架,也可以说是编程思路。现提出来供大家参考。 首先,对外围芯片进行分类,属同一功能或同一芯片的程序采用模块化的形式,用固定的几个函数实现,一般不同芯片之间的函数功能尽量不重叠,也不要使用一个函数覆盖几个芯片,以便于后期的调试,如果涉及到芯片之间通讯的,可以单独列出,使用专门的函数进行处理; 其次,将单片机中需要完成的工作按轻重缓急进行分类,一般我会设置两个定时中断,其中一个定时时间大致在20mS左右,用来处理一些按钮防抖处理、时间日期计算、对输入处理后产生对应标志位、器件刷新等一些实时性要求不是很高,但必须有时间要求的事物处理,另外设立一个定时
[单片机]
自己做的单片机音乐盒,外加LED做数码管显示数字
单片机源程序如下: #include reg52.h #define uint unsigned int #define uchar unsigned char sbit speaker=P1^4;//喇叭接30脚 sbit key1=P1^0;//流水灯按键(暂时) sbit key2=P1^1;//播放音乐按键(暂定) uchar a,b,num1,s1num,n1,n2; uchar qushu=0; char num;//定义num为可以负数 uchar code yinfu ={0xfb,0xe9, //Do 0xfc,0x5c, //Re 0xfc,0xc1,
[单片机]
自己做的<font color='red'>单片机</font>音乐盒,外加LED做数码管显示数字
单片机奇偶校验
【例子】通过奇偶校验的方式实现数据传输与控制,例如控制LED灯、蜂鸣器、发送数据到上位机。 由于是数据传输与控制,需要定制一个结构体、共用体方便数据识别,同时增强可读性。从数据帧格式定义中可以定义为“PKT_PARITY_EX”类型。 识别数据请求什么操作可以通过以下手段来识别:识别数据头部1、数据头部2,操作码。 当完全接收数据完毕后通过校验该数据得出的校验值与该数据的尾部的校验值是否匹配。若匹配,则根据操作码的请求进行操作;若不匹配则丢弃当前数据帧,等待下一个数据帧的到来。 结构体定义: /*使用结构体对数据包进行封装 *方便操作数据 */ typedef struct _PKT_PARITY { U
[单片机]
51单片机的GPIO配置
导语 通过单片机控制外围器件(LED,蜂鸣器,数码管,按键),本质上是对于单片机IO口的操作,相对于STM32,51单片机IO口模式较少,但了解IO的内部对于学习了解51单片机也由很大的帮助。 GPIO GPIO(General Purpose Input Output),通用输入输出。既能当输入口使用,又能当输出口使用。端口,就是元器件上的一个引脚。可以通过软件去控制。 在大多数的时候,我们将IO口可以看为一个电子开关,通过向IO寄存器中写入相应的值,其输出的电平就随着寄存器的变化而变化,这是IO口的输出,在大多数的单片机中,需要去配置单片机的IO模式,是输入还是输出。 即需要预先初始化,配置GPIO的参数,再去使用
[单片机]
51<font color='red'>单片机</font>的GPIO配置
公交车防超载智能语音提示系统设计
O 引言   对于大多数城市居民来说,公共交通系统是他们每天都要接触的。然而,随着城市化的加速发展。城市人口的迅速增长,城市公交系统也变得越来越拥挤。市民普遍感到乘公交车难,车上挤得难受。同时,由于公交车超载现象的普遍存在,因而也存在一定的安全隐患。2009年6月5日8时25分许,成都北三环附近一辆“川A49567”9路公交车发生燃烧,导致27人遇难72人受伤。值得注意的是,超载的交通负荷加剧了此次事故的损失,而其背后,则是城市化加速后的公共交通之困。事实上,成都遇到的公交难题也是全国性的。   从现行法律上讲,给公交超载标准定性倒不太难。《道路交通安全法》明确指出,界定核载人数的标准是公安机关为机动车核发的行驶证上的核载人数
[汽车电子]
公交车防超载智能语音提示系统设计
MCS-51单片机、8051单片机、51单片机的区别
MCS-51单片机---是指美国INTEL公司生产的内核兼容的一系列单片机的总称。“MCS-51”也代表这一系列单片机的内核。这一系列单片机硬件结构和指令系统一致,包括8031、8051、8751、8032、8052、8752等基本型。 8051单片机---是MCS-51系列单片机中的一个基本型,是MCS-51系列中最早期、最典型、应用最广泛的产品,所以8051单片机也就成了MCS-51系列单片机的典型代表。 51单片机---51单片机是对目前所有兼容MCS-51指令系统的单片机的统称,包括INTEL MCS-51系列单片机、以及其他厂商生产的兼容MCS-51内核的增强型8051单片机。只要和MCS-51内核兼容的单片机都叫做
[单片机]
基于LabVIEW的单片机温度自动测试系统
1 引 言 LabVIEW是美国国家仪器公司(National Instru-ment)开发的一种虚拟仪器平台,他是一种用图标代码来代替文本式编程语言创建应用程序的开发工具。Lab-VIEW功能强大,提供了丰富的数据采集、分析和存储库函数以及包括DAQ,GPIB,PXI,VXI,RS 232/485在内的各种仪器通信总线标准的所有功能函数。利用LabVIEW设计的数据采集系统,可模拟采集各种信号,但是配备NI公司的数据采集板卡比较贵,在实际开发中可选用单片机小系统对数据进行采集。 冷库是发展冷藏业的基础设施,也是在低温条件下贮藏货物的建筑群。食品保鲜主要以食品冷藏链为主,将易腐畜禽、水产、果蔬、速冻食品通过预冷、加工、贮存和冷
[测试测量]
基于LabVIEW的<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