⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 magcard.c

📁 不少单片机C代码
💻 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 + -