新手,先做个功能,3个按键,每个按键分别控制3个灯循环点亮,使用STC15F204EA,在网上找的程序片段拼的,但是编译不过,好多错误,麻烦大神帮我看看,我到底错在哪了,谢谢...
#include <STC15X.h>
sbit key1 = P3^7;//定义按键端口
sbit key2 = P3^6;//定义按键端口
sbit key3 = P3^5;//定义按键端口
sbit led1 = P1^7;//定义LED1端口
sbit led2 = P1^6;//定义LED1端口
sbit led3 = P1^5;//定义LED1端口
sbit led4 = P1^4;//定义LED1端口
sbit led5 = P1^3;//定义LED1端口
sbit led6 = P1^2;//定义LED1端口
sbit led7 = P1^1;//定义LED1端口
sbit led8 = P1^0;//定义LED1端口
sbit led9 = P2^7;//定义LED1端口
/******************delay**********************/
void delay()
{
unsigned int i, j;
for(i = 0; i < 100; i++) for(j = 0; j < 500; j++);
}
/******************按键识别***********************/
void readkey(void)
{
unsigned char i, j;
if(!key1) {
for(i = 0; i < 10; i++)
for(j = 0; j < 120; j++); //????
while(!key1); //??????
aa++;
aa %= 3; //n1 = 0~2
}
if(!key2) {
for(i = 0; i < 10; i++)
for(j = 0; j < 120; j++); //????
while(!key2); //??????
bb++;
bb %= 3; //n2 = 0~2
}
if(!key3) {
for(i = 0; i < 10; i++)
for(j = 0; j < 120; j++); //????
while(!key3); //??????
cc++;
cc %= 3; //n3 = 0~2
}
}
}
/******************主函数***********************/
void main()
{
while(1)
{
switch(aa) {
case 0: led1 = 1;led2 = 0;led3 = 0; readkey(); //??
case 1: led1 = 0;led2 = 1;led3 = 0; readkey(); //??
case 2: led1 = 0;led2 = 0;led3 = 1; readkey(); //??
}
switch(bb) {
case 0: led4 = 1;led5 = 0;led6 = 0; readkey(); //??
case 1: led4 = 0;led5 = 1;led6 = 0; readkey(); //??
case 2: led4 = 0;led5 = 0;led6 = 1; readkey(); //??
}
switch(cc) {
case 0: led7 = 1;led8 = 0;led9 = 0; readkey(); //??
case 1: led7 = 0;led8 = 1;led9 = 0; readkey(); //??
case 2: led7 = 0;led8 = 0;led9 = 1; readkey(); //??
}
}
}
|