程序如下:
#include<reg52.h>
#define uint unsigned int
#define uchar unsigned char
sbit P0_0=P0^0;
sbit P0_1=P0^1;
sbit P0_2=P0^2;
sbit P1_4=P1^4;
sbit K1=P3^2;
sbit K2=P3^4;
uchar aa;
void main()
{
P1_4=0;
aa=0;
TMOD=0x01;
TH0=(65536-50000)/256;
TL0=(65536-50000)%256;
EA=1;
ET0=1;
TR0=1;
while(1)
{
if(K1==0)
{
P1_4=0;
P0_0=0;
P0_1=0;
}
if(aa==100)
{
aa=0;
P0_1=1;
P0_2=0;
}
if(K2==0)
{
P1_4=0;
P0_0=1;
P0_2=1;
}
}
}
void timer0() interrupt 1
{
TH0=(65536-50000)/256;
TL0=(65536-50000)%256;
aa++;
}
我的原意是要程序如此执行:接通电源——(按键1按下——1、2号灯亮——延时5秒——2号灯灭3号灯亮——按键2按下——1、3号灯灭)括号内循环执行
可现在烧写后是这样执行的:接通电源——(延时5秒——3号灯亮——按键1按下——1、2号灯亮——延时5秒——2号灯灭——按键2按下——1、3号灯灭)括号内循环执行
跟我的原意思不符,求哪位热心人帮忙指点指点程序哪能里出问题了?
|