24c02的连续读写(Continuous read and write of 24C02).doc

24c02的连续读写(Continuous read and write of 24C02).doc

  1. 1、本文档共14页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
24c02的连续读写(Continuous read and write of 24C02)

24c02的连续读写(Continuous read and write of 24C02) / ********************************************** 24C02驱动程序 P3 ^ SDA = 6;SCL = P3 ^ 7; 可以写一个字节,写一串字符(以\n作为结束标志) 可以读一个字节,读一串字符(以\n作为结束标志) ********************************************** / #包括 reg51. H #包括信息。” #定义unsigned char函数 # unsigned int定义单元 #定义w24c02 0xA0 /存储器的写地址 #定义r24c02 0xA1 /存储器的读地址 ******************** / / P3 ^了SDA的= 6;// AT24C02串行数据5脚 P3 ^了SCL = 7;// AT24C02串行时钟6脚 start_24c02() /开始无效; stop_24c02() /停止无效; 无效response_24c02(位);/ /应答 无效write_8bit(函数);/ /写8位 write_byte(void函数,函数);/ /写一字节 write_list(void函数,函数*);/ /写*指向的数据(以\n作结束) read_8bit()函数;//读8位 read_byte函数(函数);/ /从某一地址读1字节 read_list(void函数,函数*);/ /从某一地址开始连续读,存到*所指位置 / ******************** 开始,在读\写前调用 ******************** / 无效start_24c02() { SDA的= 1; _nop_(); _nop_(); SCL = 1; _nop_(); _nop_(); SDA的= 0; _nop_(); _nop_(); } / ******************** 结束,在读\写完后调用 ******************** / 无效stop_24c02() { SDA的= 0; _nop_(); _nop_(); SCL = 1; _nop_(); _nop_(); SDA的= 1; _nop_(); _nop_(); } / ******************** 应答 当单片机写时,ACK = 1,为等待24C02的应答信号 当单片机读时,ACK = 0,为向24C02发送应答信号 ******************** / 无效respons_24c02(位ACK)/ AK为1则单片机接收24C02的应答信号;AK为0则24C02接收单片机的应答信号 { 函数I = 0; SDA = ACK; (我在 250和SDA的= = 1)我+ +; SCL = 1; _nop_(); _nop_(); SCL = 0; _nop_(); SDA的= 1; } / ******************** 向24C02写入一字节(8位)的数据 ******************** / 无效write_8bit(UCHAR DAT) { 我的函数; SCL = 0; 为(i = 0;i 8;i++) { 1 DAT DAT =; SDA = CY; SCL = 1; _nop_(); _nop_(); SCL = 0; _nop_(); _nop_(); } } / ******************** 从24C02读取一字节(8位) 的数据 ******************** / read_8bit()函数 { 我的函数,K; 为(i = 0;i 8;i++) { SCL = 1; _nop_(); _nop_(); k(k<<1)| SDA; SCL = 0; _nop_(); _nop_(); } 返回K; } / ******************** 向地址地址写入数据DAT ******************** / 无效write_byte(函数的函数地址,DAT) { start_24c02(); write_8bit(w24c02); (1)respons_24c02; write_8bit(地址); (1)respons_24c02; write_8bit(DAT); (1)respons_24c02; stop_24c02(); } / ******************** 从地址地址形如连续写入 表中的数据,以\n为 结束标志 ******************** / 无效write_list(函数的函数地址,*列表) { 函数I = 0

您可能关注的文档

文档评论(0)

jgx3536 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

版权声明书
用户编号:6111134150000003

1亿VIP精品文档

相关文档