为什么用keil编译时老是出错!!!

[复制链接]
3585|10
 楼主| 陈剑2008 发表于 2008-12-8 18:39 | 显示全部楼层 |阅读模式
请教那位高手帮我看看错在哪里???
代码如下:

#include <reg51.h>
unsigned int temp=0;
bit pf2=0;
sbit P2_3=P2^3;
sbit P2_2=P2^2;
sbit P2_1=P2^1;
sbit P2_0=P2^0;
sbit P3_2=P3^2;
sbit P3_3=P3^3;
//中断子程序***********************************************
viod wai_zhong_duan_1() interrupt 2 using 2
{
   pf2=~pf2;
}
//延时子程序********************************************
void delayms(unsigned char ms)    
{                        
    unsigned char i;
    while(ms--)
    {
        for(i = 0; i <120; i++);
    }
}

//显示子程序*********************************************
void display()
{
   unsigned char seg[10]={0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90};
   unsigned char qing,bai,shi,ge;
    int i;
    i=temp;
    qing=i/1000;
   i=i-(qing*1000);
    bai=i/100;
    i=i-(bai*100);
    shi=i/10;
    i=i-(shi*10);
   ge=i;
    for(i=1;i<=50;i++)
    {
   P2_0=0; 
   P0=seg[qing];
    delayms(1);
   P2_0=1; 
    P2_1=0; 
   P0=seg[bai];
    delayms(1);
   P2_1=1;
    P2_2=0; 
   P0=seg[shi];
    delayms(1);
   P2_2=1; 
    P2_3=0; 
   P0=seg[ge];
    delayms(1);
   P2_3=1;
   }
}

//主程序***************************************************
main()

   IE=0x84;
   P3=0xff; 
   IT0=0;
   pf2=0; 
   while(1)
   {
       display();
        if(pf2==1) temp++;
        if(temp==10000) temp=0;
        if(P3_3==0) temp=0;
    }
}
耕在此行 发表于 2008-12-8 19:20 | 显示全部楼层

问题不详? .

 楼主| 陈剑2008 发表于 2008-12-8 20:04 | 显示全部楼层

编译后老是提示中断声明有错!我不知道错在哪里!

zq1987731 发表于 2008-12-8 20:15 | 显示全部楼层

语法错误

viod wai_zhong_duan_1() interrupt 2 using 2


viod和void..........LZ不够细心
耕在此行 发表于 2008-12-8 21:40 | 显示全部楼层

呵呵 楼上比较仔细.

耕在此行 发表于 2008-12-8 21:41 | 显示全部楼层

编程环境下应该能发现这种错误的

C关键字应该会另类显示.
 楼主| 陈剑2008 发表于 2008-12-8 21:57 | 显示全部楼层

。。。是的!

救火车 发表于 2008-12-9 19:05 | 显示全部楼层

建议将C关键字改成其他颜色显示。

mohanwei 发表于 2008-12-9 19:57 | 显示全部楼层

“viod”……太强了,提示应该是很明显的。

fuyi115 发表于 2008-12-9 22:21 | 显示全部楼层

为什么我的KEIL不能编译?

为什么我的KEIL不能编译?
您需要登录后才可以回帖 登录 | 注册

本版积分规则

5

主题

27

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部