datasheet
超过460,000+ 应用技术资源下载
pdf

24c16读写程序

  • 1星
  • 日期: 2015-08-18
  • 大小: 42.82KB
  • 所需积分:1分
  • 下载次数:1
  • favicon收藏
  • rep举报
  • 分享
  • free评论
标签: 24c16

24c16的都写程序

/*用于检测 i2c 的效果,将键盘输入的值存入 i2c 内,然后通过 read 读出并显示出来,显示和 键盘扫描就用自己的。只要你的键盘和显示 1 程序没问题。该程序已经通过测试*/ #include sbit SCL=P2^2; sbit SDA=P2^1; //I2C 时钟和数据线 void s24(void) { SCL=1; delay1c(8); SDA=0; delay1c(8); SCL=0; delay1c(8); } //起始函数 void p24(void) //停止函数 { SDA=0; delay1c(8); SCL=1; delay1c(8); SDA=1; delay1c(8); SCL=0; delay1c(8); } unsigned char rd24(void) //从 24c16 读一字节数据 { unsigned char i=8,j; for(i=0;i<8;i++) { j<<=1; SCL=1; delay1c(8); if(SDA) j |= 1; SCL=0; delay1c(8); } SDA=1; delay1c(8); return(j); } void wd24(unsigned char ch) //向 24c16 写一字节数据 { unsigned char i=8; for(i=0;i<8;i++) { if(ch & 0x80) SDA=1; else SDA=0; ch=(ch<<1); SCL = 1; delay1c(8); SCL=0; delay1c(8); } SDA=1; delay1c(8); SCL = 1 ; delay1c(8); SCL=0; delay1c(8); } unsigned char read(unsigned int address) { unsigned char dd; s24(); wd24(0xa0); //开始条件 //写器件地址(写命令) wd24(address); //写数据地址 s24(); wd24(0xa1); dd=rd24(); //开始条件 //写器件地址(读命令) //读 一字节 p24(); //停止条件 return(dd); } void write(unsigned int address,unsigned char dd) { s24(); wd24(0xa0); //开始条件 //写器件地址; wd24(address); //写数据地址 wd24(dd); p24(); //写 dd 数据 //停止条件; } //****************************************************************************// void main(void) { unsigned char i=0,ad1=10,dt1; LEDBUF[0]=read(ad1); LEDBUF[1]=read(ad1+1); LEDBUF[2]=read(ad1+2); LEDBUF[3]=read(ad1+3); display(4); //显示 while(1){ if(testkey()) { dt1=getkey(); write(ad1+i,dt1); delay1(100); LEDBUF[i]=read(ad1+i); i++; display(4); while(i==4) {i=0;} } } }
更多简介内容

评论

下载专区

$(function(){ var appid = $(".select li a").data("channel"); $(".select li a").click(function(){ var appid = $(this).data("channel"); $('.select dt').html($(this).html()); $('#channel').val(appid); }) })