程序如下:
#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號燈滅)括號內循環執行
跟我的原意思不符,求哪位熱心人幫忙指點指點程序哪能里出問題了?
|