导航: 老古网老古论坛XMOS公共讨论区XMOS开源项目区单片机程序设计嵌入式系统广告区域
→发表看法:[zhengjl]一个24c01/02的c51语言驱动程序



No.38545
作者:zhengjl
邮件:zj_zj_zjl@hotmail.com
ID:13914
登陆:3次
文章数:17篇
最后登陆IP:61.164.128.197
最后登陆:2003/9/15 18:51:44
注册:2003/7/26 21:16:31
财富:150
发帖时间:2003/7/28 15:48:08
发贴者IP:61.164.129.201
标题:zhengjl:一个24c01/02的c51语言驱动程序
摘要:No.38545一个24c01/02的c51语言驱动程序 #include  <reg51.h>  
#include  <intrins.h>  
#include  <51port.c>  
#define uchar unsigned char
#define uint unsigned int
sbit P3_4=0xb4;
sbit P3_5=0xb5;
#define SDA P34
#define SCL P35

/*ganerater start status*/
void iic_start(void){
 SDA=1;
 SCL=1;
 _nop_();_nop_();
 SDA=0;
 _nop_();_nop_();
 SCL=0;
 _nop_();
 }

/*ganerater stop status*/
void iic_stop(void){
 SCL=0;
 SDA=0;
 _nop_();_nop_();
 SCL=1;
 _nop_();_nop_();
 SDA=1;
 _nop_();
 }

/*chack NO ACK*/
void iic_send_noack(void){
 SDA=1;
 _nop_();
 SCL=1;
 _nop_();_nop_();
 SCL=0;
 _nop_();
 }

/*send ACK*/
void iic_send_ack(void){
 SDA=0;
 _nop_();
 SCL=1;
 _nop_();_nop_();
 SCL=0;
 _nop_();
 SDA=1;
 }

/*ACK check*/
bit  iic_check_ack(void){
 bit flag=0;
 SDA=1;
 _nop_();_nop_();
 SCL=1;
 _nop_();_nop_();
 _nop_();_nop_();
 if(SDA==0)
  flag=1;
 else
  flag=0;
 SCL=0;
 _nop_();
 return flag;
 }
 
/*byte send*/
void iic_byte_out(uchar trans){
 uchar i=8,j=0;
 j=trans;
 while(i--){
  SCL=0;
  if(((j&0x80)!=0))
   SDA=1;
  else
   SDA=0;
  j=j  <  <1;
  SCL=1;
  _nop_();_nop_();
  }
 SCL=0;
 _nop_();
 SDA=1;
 }
  
/*byte recev*/
uchar iic_byte_in(void){
 uchar i=8,buff;
 while(i--){
  SDA=1;
  buff=buff  <  <1;
  SCL=1;
  _nop_();_nop_();
  if(SDA)
   buff++;
  SCL=0;
  _nop_();_nop_();
  }
 return buff;
 }

/*waiting for device write cycle*/
bit waiting_w(uchar addr){
 uchar comm=0xa0,i;
 uchar delay_coun=100;
 bit flag=0;
 addr=(addr  <  <1)&0x0f;
 comm|=addr;
 for(i=0; i  <delay_coun; i++){
  iic_start();
  iic_byte_out(comm);
  if(iic_check_ack()){
   flag=1;
   break;
   }
  }
 iic_stop();
 return flag;
 }
  
/*multibytes write*/
/*The slav is device address,stor_add is EEPROM int ......

>>返回讨论的主题



  发表回复
用户名   *您没有注册?
密码   *
验证码   * .
标题   *
心情
随便说说    我回答你    最新发现    得意的笑   
气死我了    真是没劲    坚决同意    表示反对   
大家过来    好奇怪哟    懒得理它    大家小心   
文件上传
内容


字体:      字体大小:    颜色:
粗体 斜体 下划线 居中 超级连接 Email连接 图片 Flash图片 Shockwave文件 realplay视频文件 Media Player视频文件 QuickTime视频文件 引用 飞行字 移动字 发光字 阴影字 查看更多的心情图标 背景音乐
点击加入表情
                         
选项
有回复时用短消息通知您?

   




老古网执行:31毫秒 最大:5186毫秒 查询6次