导航: 老古网老古论坛XMOS公共讨论区XMOS开源项目区单片机程序设计嵌入式系统广告区域
→发表看法:[wocy]这个24C02的程序错误太多了能不能帮忙



No.51284
作者:wocy
邮件:wocy@mail.china.com
ID:17660
登陆:5次
文章数:8篇
最后登陆IP:219.133.6.51
最后登陆:2004/4/30 21:45:16
注册:2004/1/29 18:10:22
财富:137
发帖时间:2004/3/24 22:11:43
发贴者IP:218.18.141.57
标题:wocy:这个24C02的程序错误太多了能不能帮忙看一下.
摘要:No.51284这个24C02的程序错误太多了能不能帮忙看一下. #include  <reg52.h>  
#include  <intrins.h>  
#define uchar unsigned char 
#define uint  unsigned int 
sbit ASDA=P1^0;
sbit ACLK=P1^1;
sbit kd_key=P1^2;
sbit LEDP=P1^7;
sbit SDA=P3^4;
sbit SCL=P3^5;


 extern void Read24c02(unsigned char *RamAddress,
                     unsigned char RomAddress,unsigned char bytes);
 extern void Write24c02(unsigned char *RamAddress,
                     unsigned char RomAddress,unsigned char bytes);
/****************************************************************/
#define WriteDeviceAddress 0xa0
#define ReadDviceAddress 0xa1

 uchar i,k,second=0,minute=0;
 uint time;
uchar data display_bit ,display_buffer[4];
uchar code led[10]=
{0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90};
void send(uchar a);
void delay(uint n);
void display(void);
void start(void);
void stop(void);
void ACK(void);
void NOACK(void);
void TESTACK(void);
bit Write8Bit(unsigned char input);
unsigned char Read8Bit();

void delay(uint n)
   {
    unsigned char i,j;
     
      for(i=0;i  <n;i++)
        {
         for(j=0;j  <250;j++);
        }
    }   

void send(uchar a)
   {
     uchar k;
    for (k=0;k  <8;k++)
      {
         if(_crol_(a,k)&0x80)
          ASDA=1;
         else
         ASDA=0;
         ACLK=1;
         ACLK=0;
        }
    }

void display()
   { 
     display_bit=0xbf;
    // uchar i,k;
     
     for(i=0;i  <4;i++)
      {   
        P1=0XFF;
   
     k=led[display_buffer[i]];
       send(k);
       delay(1);
       P1=display_bit;
       display_bit=_cror_(display_bit,1);
   
       
      }
    }

void time0(void)interrupt 1 using 1

   TH0=-9216/256;
   TL0=-9216%256;
   if(++time==100) 
       {
         ++second;
         time=0;
 

       }
   if(second==60) 
       {
       
     ++minute;   
         second=0;
         
       }
   
   if(minute==59)
      { 
        minute=0;
        
       }
   

//*******************************************************************
/********************/
void Start() {
 SDA=1;
 SCL=1;
 SDA=0;
 SCL=0;
}

/*********************/
void Stop() {
 SCL=0;
 SDA=0;
 SCL=1; ......

>>返回讨论的主题



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


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

   




老古网执行:16毫秒 最大:11162毫秒 查询6次