SBIT LED 1 = P1^0;//LED1
SBIT LED 2 = P1^1;//LED2
SBIT K 1 = P3^0;
SBIT K2 = P3^1;
SBIT K3 = P3^2;
INT FLAG;<
Time0_init() //타이밍 50밀리초
{
TMOD = 0x 01;
TH0 = 0x3c
TL0 = 0xb0
EA = 1;
ET0 = 1;
TR0 = 1;
}
잘못된 지연 (부호 없는 문자 밀리초)//millisecond delay
{
부호 없는 문자 ti;
언제 (밀리초)
{
for(ti = 0; ti & lt112;ti++){}
}
p>잘못된 마스터 (유효하지 않음)< /p>
{
부호 없는 문자 I = 0;
time 0 _ init();
while(1)
{if ((P3 & amp; 0x07)! = 0x07)
{
delay(10); //지터링 제거 지연
If ((P3 & amp; 0x07)! = 0x07)
{
if(k 1 = = 0 & amp; flag = = 1)//k 1 press LED1 깜박임, 1Hz.
{
flag = 0;
led 1 ^= 1;
}
else if(k2 = = 0 & amp; Flag == 1) //K2 누름 LED2 깜박임, 1Hz.
{
flag = 0;
led 2 ^= 1;
}
Else if(K3 == 0) //P3.2 한번 누르면 정지, 다시 누르면 시작됩니다.
{
If (++i == 1)
{
led 1 = 1;
led 2 = 1;
TR0 = 0;
}
Other
{
led 1 = 0;
led 2 = 0;
I = 0;
TR0 = 1;
}
}
}
void time0_int(void) interrupt 1
{
정적 부호 없는 문자 I;
If(i++ == 20) //20배는 1S와 1Hz입니다.
{
I = 0;
flag = 1;
}
TH0 = 0x3c
TL0 = 0xb0
}
제가 설계했습니다. 이해가 되시나요?
오, 행운을 빌어요 &; 연구 진행 상황 ..........