|
新手,先做個功能,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(); //??
}
}
}
|
|