?? a.c
字號:
#include "reg51.h"
//#include <REGX51.H>
#define uchar unsigned char
sbit irpot=P3^2;
sbit P2_7 =P2^7;
sbit P2_6 =P2^6;
sbit P2_5 =P2^5;
sbit P2_4 =P2^4;
sbit P2_3 =P2^3;
sbit P2_2 =P2^2;
sbit P2_1 =P2^1;
sbit P2_0 =P2^0;
uchar dat[4]={0,0,0,0};
void main(void)
{
irpot=1;
TMOD=0x01;
EA=1;
EX0=1;
P2=0xff;
P2_7=0;
while(1);
}
void int0(void) interrupt 0
{ uchar i,j;
EX0=0;
i=10;
while(--i)
{
TH0=0xfc;
TL0=0xe7;
TR0=1;
while(!TF0); //延時860毫秒
TF0=0;
TR0=0;
if(irpot) {EX0=1; return ;}
}
while(!irpot);
//----------------------------------------
TH0=0xf6;
TL0=0xff;
TR0=1;
while(!TF0);
TF0=0;
TR0=0; //延時2500毫秒
if(!irpot){EX0=1;return;}
while(irpot);
// P2_6 =~P2_6;
//--------------------------------------------------------
for(i=0;i<4;i++)
{
for(j=0;j<8;j++)
{
while(!irpot);
dat[i]>>=1;
TH0=0xfc;
TL0=0xe7;
TR0=1;
while(!TF0);
TR0=0;
TF0=0; //延時860us
if(irpot)
{
dat[i]|=0x80;
while(irpot);
}
}
}
switch(dat[2])
{
case 0x18: P2_0=~P2_0;break;
case 0x19: P2_1=~P2_1;break;
case 0x1a: P2_2=~P2_2;break;
case 0x1b: P2_3=~P2_3;break;
case 0x1c: P2_4=~P2_4;break;
case 0x1d: P2_5=~P2_5;break;
default:dat[2]=0;break;
}
EX0=1;
return;
}
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -