?? magcard.c
字號:
#include <reg51.h>
#define uchar unsigned char
sbit p1_4=P1^4;
sbit p1_5=P1^5;
sbit int0=P3^2;
bit flag=0;
uchar idata cardbuf[10];
uchar idata disbuf[10];
void disp(uchar idata *p);
void dlms(void);
uchar ascc(uchar cb);
void main(void)
{ uchar i=0;
uchar hdline[8]={"welcome"};
TMOD=0x01;
EX0=1;EA=1;
disp(hdline);
while(flag!=1);
while(cardbuf[i]!=0x0f)
{ disbuf[i]=ascc(cardbuf[i]);
i++;
}
disbuf[i]=0x00;
disp(disbuf);
}
void cardint(void) interrupt 0 using 1
{ uchar i,state=0;
uchar j,d,bitc;
for(j=0;j<10;j++) {cardbuf[j]=0;}
init:d=bitc=0;
do
{ while(p1_5!=0);
while(p1_5!=1);
dlms();
if(p1_4==1) {
if(state!=1) {state=1;bitc=0;d=0;}
d|=0x10;
}
bitc++;
if(bitc>=5)
{ if(state!=1) goto init;
cardbuf[i]=d&0x0f;i++;
d=0; bitc=0;
if (d==0x0f) flag=1;
}
else d=d>>1;
} while (int0==0);
}
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -