c语言keil软件没有分段,51单片机,keil 软件 C语言问题(我错在哪了)

//主机C语言程序

#include //头文件,单片机硬件的底层驱动程序

#define uchar unsigned char//定义无符号的字符

#define uint unsigned int//定义无符号的整型

sbit SW=P1^0;

sbit LED=P1^1;

sbit SPK=P1^2;

uchar c=0x00;

uint n=0;

uint num[3];

//数码管段选码

uchar code dule_CODE[]={0x3F,//0

0x06,//1

0x5B,//2

0x4F,//3

0x66,//4

0x6d,//5

0x7c,//6

0x07,//7

0x7F,//8

0x67//9

};

//数码管位选码

uchar code wele_CODE[]={0x01,//1

0x02,//2

0x04,//3

};

//延时

void Delay(uint x)

{

uchar i;

while(x--)for(i=0;i<120;i++);

}

//向串口发送识别码

void putc_to_serialport(uchar c)

{

SBUF=c;

while(TI==0);

TI=0;

}

//主程序

void main()

{

LED=0;//关闭LED

SPK=0;//关闭蜂鸣器

p0=0x00;//关闭数码管

P2=0x00;

SCON=0x50;//串口工作方式1,允许接收

TMOD=0x20;//T1工作在模式2,8位自动装载

PCON=0x00;//波特率不倍增

TH1=0xFD;//波特率 9600

TL1=0xFD;

TI=RI=0;

TR1=1;//启动定时器T1

IE=0x90;//允许串口中断

while(1)

{

Delay(100);

if(SW==0)

{

while(SW==0);

c=SBUF;

putc_to_serialport(c);

LED=0;

SPK=0;

P0=0x00;

P2=0x00;

continue;

}

}

}

//主机串口接收中断函数

void serial_INT()interrupt 4

{

if(RI)//接收到一字节

{

RI=0;//清除串行接收中断标志

while(SW)

{

SPK=~SPK;

LED=~LED;

uint j;

for(j=0;j++;j<3)

{

n=SBUF-'0';

num[2]=n/100;//取百位

num[1]=n/10%10;//取十位

num[0]=n%10;//取个位

uint k;

for(k=0;k++;k<3)

{

P2=wele_CODE[k];

P0=dule_CODE[num[k]];

Delay(1);

}

}

}

}

}

编译 test.c ...

TEST.C(46): 错误 C202: 'p0': undefined identifier

TEST.C(82): 错误 C141: syntax error near 'unsigned'

TEST.C(82): 错误 C202: 'j': undefined identifier

TEST.C(83): 错误 C202: 'j': undefined identifier

TEST.C(89): 错误 C141: syntax error near 'unsigned'

TEST.C(89): 错误 C202: 'k': undefined identifier

TEST.C(90): 错误 C202: 'k': undefined identifier

TEST.C(92): 错误 C202: 'k': undefined identifier

TEST.C(93): 错误 C202: 'k': undefined identifier

test.c - 9 个错误, 0 个警告。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值