注册 登录
编程论坛 单片机编程

新手求教:这个程序怎么会出错啊

河南机专 发布于 2010-10-09 09:40, 677 次点击
#include "AT89X51.h"
#include "intrins.h"
void    main(void)
{
TCON=0x01;
IE = 0x81;

P2=0x0f;

while(1)
        {P2=~P2;
        delay(100);
        }
}
int0()  interrupt  0
{unsigned char s1=0xfe,i;
 for (i=0;i<16;i++)
 {
  p2=s1;
  s1=_corl_(s1,1);
  delay(100);}
p2=0x0f;
}
3 回复
#2
河南机专2010-10-09 20:13
#include "AT89X51.h"
#include "intrins.h"
void  delay (unsigned int count)
void    main(void)
{
TCON=0x01;
IE = 0x81;

P2=0x0f;

while(1)
        {P2=~P2;
        delay(100);
        }
}
int0()  interrupt  0
{unsigned char s1=0xfe,i;
for (i=0;i<16;i++)
{
  P2=s1;
  s1=_crol_(s1,1);
  delay(100);}
P2=0x0f;
}
#3
软编小虫2010-10-09 22:58
兄弟,应养成个好习惯,要先说明你所编的程序到低是用来实现什么功能的,以让别人好去理解你编的东东。
不知你用的是哪种编译器,如你用的是KEIL编译器,那你的#include "intrins.h"  宏定义它是不识别的,为此你调用 corl_(X1,X2)函数时,编译器不识别,马上报错。
其次你的delay()延迟函数也没编写(但我看到你在宏开头也进行delay()函数声明,可能你所调用的函数都包函在"intrins.h"宏中,但编译器不识别这些,当然就出错了,所以还要老老实实写出这些函数)

#4
河南机专2010-10-11 10:02
回复 3楼 软编小虫
呵呵,是,我问过我的老师了,确实是这样的,刚学,不知道怎么弄,谢谢了哈!
1