2347|3

7

帖子

0

TA的资源

一粒金砂(中级)

楼主
 

帮忙看看24C02程序,为什么编译不过,谢谢 [复制链接]

#include

#include
#define uchar unsigned char
#define uint unsigned int
sbit sda=P1^2;
sbit scl=P1^1;
void start(void);
void stop(void);
void ack(void);
void noack(void);
void iicwr_byte(uchar dat);
void init(void);
void delay (void);
void delay1(void);
void write_byte(uchar add,uchar dat);
void read_byte(uchar
uchar iicre_byte(void)


void delay1(void)

{

uint j=30000;
while(j--);

}

void delay (void)
{
_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();
}

uchar step[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0x88,0x83,0xc6,0xa1,0x86,0x8e};
uchar step1[]={0x80,0x40,0x20,0x10,0x08,0x04,0x02,0x01};

                                                                                                                                                                                                                                                                                                                                                                              
void delay_50us(uint t)//延时50us

{


    uchar j;
    for(t;t>0;t--)
    for(j=19;j>0;j--);

  }
void start(void)//起始信号

{
sda=1;
delay();
scl=1;
delay();
sda=0;
delay();


}

void stop(void) //终止信号
{

sda=0;
delay();
scl=1;
delay();
sda=1;
delay();

}

void ack(void)//应答信号
{
uchar i;
scl=1;
delay();
while((sda==1)&&(i<200))i++;
scl=0;
delay();
}


void noack(void)  //非应答信号

{
sda=1;
delay();
scl=1;
delay();
scl=0;
delay();

}


void init(void)
{
sda=1;
scl=1;


}
void iicwr_byte(uchar dat)
{
uchar i;
scl=0;
for(i=0;i<8;i++)

   {
               
                if(dat&0x80)
                {
                sda=1;
                }
                else

        {
         
      sda=0;
         }
     dat=dat<<1;
     delay();
     scl=1;
     delay();
     scl=0;
     delay();
        }
    sda=1;
   delay();
}

uchar iic_byte(void)

{

uchar i,dat;
scl=0;
delay();
sda=1;
delay();
for(i=0;i<8;i++);
  {

                scl=1;
                delay();
        dat=dat<<1;
       if(sda)
       {
       dat++;
      

        }
        scl=0;
                delay();
  }
return dat;
}
void main()
{

/*it();
start();
iicwr_byte(0xa0);
ack();
iicwr_byte(10);
ack();
iicwr_byte(0x55);
ack();
stop;
delay1();


/////////////////////////

init();
start();
iicwr_byte(0xa0);
ack();
iicwr_byte(10);
ack();
start();
iicwr_byte(0xa1);
ack();
P0=iicre_byte();
noack();
stop();*/

uchar k;
k=read_byte(7);
k=k%10;
P1=step[k];
k++;
write_byte(7,k);
while(1);


}

void write_byte(uchar add,uchar dat)
{

init();
start();
iicwr_byte(0xa0);
ack();
iicwr_byte(add
ack();
iicwr_byte(dat);
ack();
stop();

}

uchar read_byte(uchar add)
{
uchar a;
init();
start();
iicwr_byte(0xa0);
ack();
iicwr_byte(add);
ack();
start();
iicwr_byte(0xa1);
ack();
a=iicre_byte();
noack();
stop();
return a;
}
此帖出自单片机论坛

最新回复

  同意,编译不通过,看IDE的错误信息贴出来才方便解决。  详情 回复 发表于 2012-1-3 13:15
点赞 关注
 

回复
举报

44

帖子

0

TA的资源

一粒金砂(高级)

沙发
 
#include 后面没有包含文件名呀.
此帖出自单片机论坛
 
个人签名能力越大,责任越大;知道越多,未知更多
 

回复

308

帖子

0

TA的资源

纯净的硅(中级)

板凳
 
把报错信息贴出来啊。。。
此帖出自单片机论坛
 
 
 

回复

2751

帖子

0

TA的资源

裸片初长成(初级)

4
 

原帖由 xiaojiong886 于 2012-1-3 12:31 发表 把报错信息贴出来啊。。。

 

同意,编译不通过,看IDE的错误信息贴出来才方便解决。

此帖出自单片机论坛
 
 
 

回复
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/10 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表