版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第十七讲 EEPROM器件AT24C02读写单片机程序设计实践教程117.0 项目演示效果图XP_17_01步骤1- EEPROM器件AT24C02读写项目的演示效果217.1 项目目标设计加深对IIC总线通信工作方式及原理的理解;掌握24C02芯片的功能以及在本开发板中所起的作用;掌握EEPROM器件电路的连接方法;理解对24C02进行写和读控制的软件编制方法;在达到以上四点目标的基础上,根据本章“项目扩展任务”中提出的问题,以组或个人为单位,在规定时间里完成扩展项目任务。317.2 项目任务 24C02读写控制项目的电路原理图如图17-1所示。在第17章已经介绍过,STC89C52RC单片
2、机本身不包含I2C总线通信控制器的功能,为了与具有I2C总线通信和存储功能的EEPROM器件24C02芯片进行数据交换,STC89C52RC单片机必须利用自身的两根I/O线(这里是P14和P15引脚),作为I2C的SDA和SCL信号线,利用软件模拟产生I2C通信协议规定的传输数据信号,以完成与24C02芯片之间的数据交换。 本次项目应完成以下程序设计:通过C51嵌入式软件对24C02指定的多个连续地址写入指定数值,再读出已写入24C02器件地址的数值,并在七段LED数码管上进行显示。4图17-1 24C02读写项目的电路原理图517.3 系统板上硬件连线 PMY单片机开发板上24C02读写控制
3、项目的连接插线设置如图17-2所示。图17-2 开发板上24C02读写项目的连接插线设置617.4 程序流程图图17-3 24C02读写项目的程序流程图717.5 C语言源程序(略)17.6 系统构成和程序分析17.6.1 E2PROM器件24C02简介 在家用电器、实时工控、仪器仪表等以单片机为核心的微处理系统中,经常要求数据或状态参数不仅能够在线改写,而且在断电后能够保持,以便在下次开机的时候,系统能恢复到上次退出时的状态,在系统中配置EEPROM是一种简便的选择。常见的EEPROM有两种:并行EEPROM和串行EEPROM。并行EEPROM的容量很大,例如2864(或28C64),有8K
4、8bit(64Kbit)。但是在很多应用系统中,并不需要这么大的容量,这时可以选用串行EEPROM。8图17-4 24C02的实物和引脚分配图9 串行EEPROM的容量一般较小。例如24C02的容量为2568bit(2Kbit),完全可以满足中小规模的应用需要。它最显著的特点是只占用CPU的两根I/O线,就可以实现与CPU之间的数据交换,而不像并行EEPROM,需要数据、地址、控制等多组总线,占用大量的I/O口,这些优点对于小型、紧凑的单片机应用系统来说非常重要。 另外,串行EEPROM的体积小(均提供DIP8 的封装)、价格低(24C02的价格不到2864的1/10),也是不可忽略的成本优势
5、。24系列的EEPROM采用I2C总线与CPU之间进行数据交换,这与前文介绍的第16章数字钟设计项目中PCF8563时钟芯片的通信方式一样,因此,两个项目的C51软件的编制方法也基本上是一致的。10 在PMY单片机开发板上集成的EEPROM是24C02【36】(见图17-1),图17-4给出了24C02的实物和引脚分配图。24C02是2Kbit的IIC总线EEPROM,其内部有256个字节,每个字节为8位数据。由于24C02的地址、数据信息都在同一条线路上传送,当串行总线上挂有多个芯片时,每个芯片必须具有唯一的器件地址【37】。 24C02的器件地址由7位数据位和一位读写位组成,即1010E2
6、E1E0R/W,其中,高4位的1010为24系列的协议格式,是I2C总线分配给串行EEPROM器件的地址;之后的3位E2、E1、E0为可编程地址位,供在总线上连接多片同一型号器件时分配器件地址用。11 片地址有8个选项,表示在一个I2C总线上,可以接8 片24C02,容量最多可达到16Kbit(2568bit8片)。最后一位是读写控制位R/W,当该位为1时,表示当前的操作是读操作;该位为0时,表示当前的操作是写操作。由于项目开发板上的24C02只有一个,可以将E2、E1、E0取为000。 如图17-1中24C02的引脚E2、E1、E0同时接地即可完成以上设置,这样,24C02的写从器件地址为0
7、 xa0(10100000B),读从器件地址为0 xa1(10100001B)。1217.6.2 关于项目的一些说明图17-5 EEPROM器件24C02读写项目的系统功能图13 图17-5为EEPROM器件24C02读写项目的系统功能图,由图可知,本项目与第16章数字钟设计项目的程序编制方法基本一致,都是对I2C总线器件进行读写控制。而且从难易程度上讲,数字钟项目更加复杂,因此建议读者对比数字钟设计项目里关于软件模拟实现IIC总线通信的程序编制方法,例如,函数I_start、I_stop、I_send和I_receive等在两个项目中的软件实现相同,这样可以便于读者更好地掌握本部分的内容。1
8、417.6.3 如何在项目中实现24C02的读写 程序中的_24C02_WriteByte函数是向指定从地址器件的特定寄存器地址写入一个字节数据,虽然与数字钟设计项目程序中的PCF8563_WRINIT函数功能类似,但只是完成了向从器件传送一个字节数据的功能。而PCF8563_WRINIT函数则完成向从器件指定地址写入多个指定字节数据,在本项目主程序main中的以下语句同样可以实现主器件(STC89C52RC)向指定从器件(24C02)的指定地址连续写入多个字节的功能:/*以下语句为向24C02写入数据*/_24C02_Fillbyte(20,0 xff); /将前20字节用0 xff填充 f
9、or(i=0;i16;i+) _24C02_WriteByte(i,DispDati); /将数组DispDat设定的显示代码写入到24C02/*以上语句为向24C02写入数据*/15 在验证是否字节数据已被写入24C02指定地址时,应将包含上述写数据的程序在PMY单片机开发板上下载执行一遍,然后将上面列写的程序段(在17.5节源代码列写中用着重符标出)删除,再编译后向PMY单片机开发板下载一遍,程序执行时如果七段数码管和8位LED发光二极管正常显示,则说明单片机可以正常从24C02中读出已写入数据。 程序中的_24C02_ReadByte函数完成读24C02指定地址n个数值的功能,无论是从语法结构还是作用上讲,与数字钟设计项目程序中的PCF8563_READTIME函数功能完全一样,请读者对比这两个函数并认真加以理解。1617.7 项目扩展任务 理解单片机对24C02读写控制的软硬件原理,以个人或
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年内容分发网络(CDN)行业发展白皮书
- 2026中医养生海马食用作用课件
- 2026年及未来5年市场数据中国甲基乙烯基醚行业发展运行现状及发展趋势预测报告
- 2026年及未来5年市场数据中国座椅安全带行业市场深度研究及发展趋势预测报告
- 2026八年级语文人教版上册语文园地六日积月累
- 2026中医养生优惠券设计课件
- 海外合作信誉承诺书5篇
- 建设工程施工进度承诺保证函(4篇)
- 智慧仓储系统试点验收确认函(8篇范文)
- 品质标准及执行承诺函(6篇)
- 护理查房早期人工流产的护理查房
- 《等腰三角形的判定与反证法》优课一等奖课件
- 广东省五年一贯制语文试卷
- 第4篇:中青班党性分析报告
- DOE实验设计培训教材完整
- GB/T 896-2020开口挡圈
- GB/T 17037.4-2003塑料热塑性塑料材料注塑试样的制备第4部分:模塑收缩率的测定
- GA/T 850-2021城市道路路内停车位设置规范
- 律师职业道德伦理专题课件
- 《推理能力培养》课件
- 交通设计期末复习题+答案
评论
0/150
提交评论