void delay(char);
sbit asight=P1^0; /*A灯*/ sbit bsight=P1^1; /*B灯*/ sbit csight=P1^2; /*C灯*/ void key1() {
asight=1; /*A灯亮*/ delay(11);
bsight=1; /*B灯亮*/ delay(15);
csight=1; /*C灯亮*/ }
void key2() {
csight=0; /*C灯灭*/ delay(17);
bsight=0; /*B灯灭*/ delay(12);
asight=0; /*A灯灭*/ }
void in_0() interrupt 0 using 0 {
switch (sum) {
case 0: {
key1(); sum++;
EX0=1; /*由于在执行中断之后EX和EA会硬件自动置0*/ EA=1; break; }
case 1: key2(); break; } }
void delay_1_s() /*延时1s*/ {
char wt=10; uint j;
while(wt--) {
j=9050; while(j--); } }
void delay(char s) /*延时N秒,参数s为需要延时的秒数*/ {
while(s--) {
delay_1_s(); } }
void main() {
P1=0x00;
EX0=1; EA=1; while(1) {;} }