C51编写的A24C02详细的读写程序.doc

  1. 1、本文档共9页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
C51_AT24C02读写程序: /* void start() //开始信号 void stop() //停止信号 void Ack() //发确认信号 void NoAck() //发无确认信号 void init()//初始化信号,拉高SDA和SCL两条总线 bit write_byte(uchar date)//写一字节,将 date 写入AT24C02 中 uchar read_byte()//读一字节,从 AT24C02 中读一字节 bit busy() //应答查询,stop()后,启动AT24C02内部写周期 ,启动查询 //初始化EEPROM子程序内容为0XFF,nPage(0~31) void Init_Flash(uchar nPage) //8 bytes/1 page init 0xFF void write_add(uchar address,uchar date)//向 AT24C02 中写数据 //从AT24C02中给定的地址nAddr起,将存放在以指针nContent开头的存储空间中的nLen个字节数据,连续写入AT24C02 void write_flash(uchar *nContent,uchar nAddr, uchar nLen) uchar read_add(uchar address)//从 AT24C02 中读出数据 //从AT24C02中给定的地址nAddr起,读取nLen个字节数据存放在以指针nContent开头的存储空间。 void read_flash(uchar *nContent,uchar nAddr, uchar nLen) */ /* 单片机P2口接74HC138(三八译码器)P2.3--74HC138:/EI、P2.2--74HC138:A2、P2.1--74HC138:A1、P2.0--74HC138:A0 译码器输出 Y0,Y1、Y2、Y3、Y4、Y5、Y6、Y7均低电平有效,分别选通1~8个数码管。包括2个四位一体数码管LG3641BH,共2x4=8个数码管。 数码管数据口为P0口。数码管为共阳4位一体数码管。 功能: 译码器输出为1——8个数码管的段选信号,轮流选择1——8数码管。 void display(uchar *nContent,uchar nLen)功能:在8段数码管上显示nLen个字符,这些字符存储在指针nContent开头的往下的内容中。 显示原理: 1、送出要显示的段数 2、P2译码,选择要显示的位 3、延时1——2ms,时间不能太长,否则会闪烁,也不能太短,否则会很暗。 4、取消段选,消隐! 若要显示多段,重复以上4步! */ #include reg51.h #include intrins.h #define uchar unsigned char #define uint unsigned int sbit L8 =P1^7; sbit P2_3 =P2^3; // 74HC138--/EI sbit P2_2 =P2^2; // 74HC138--A2 sbit P2_1 =P2^1; // 74HC138--A1 sbit P2_0 =P2^0; // 74HC138--A0 uchar code table[]={ 0xc0,0xf9,0xa4,0xb0, 0x99,0x92,0x82,0xf8, 0x80,0x90,0x88,0x83, 0xc6,0xa1,0x86,0x8e }; // 共阳数码管0——F sbit sda=P1^2; sbit scl=P1^0; uchar a; void delay()//延时函数 { ;; } void start() //开始信号 { sda=1; _nop_(); scl=1; _nop_(); sda=0; _nop_(); } void stop() //停止信号 { sda=0; _nop_(); scl=1; _nop_(); sda=1; _nop_(); } void Ack() //发确认信号 { scl = 0; _nop_(); sda = 0; _nop_(); scl = 1; _nop_(); scl = 0; _nop_(); } void NoAck() //发无确认信号 { scl = 0; _nop_(); sda = 1; _nop_(); scl = 1; _nop_(); scl = 0; _nop_(); } //void respons()

文档评论(0)

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

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

1亿VIP精品文档

相关文档