📄 wg_26readprg.c
字号:
#include<reg52.h>
#include <intrins.h>
#define uchar unsigned char
#define uint unsigned int
uchar idata wiegand[26];
sbit rs=P2^0;
sbit en=P2^2;
sbit rw=P2^1;
sbit DATA0=P3^2;
sbit DATA1=P3^3;
bit re_even;
bit re_odd;
bit even_check;
bit odd_check;
uchar num;
void delay(uint z)
{
uchar j;
while(z--)
{
for(j = 0; j < 114; j++);
}
}
void write_com(uchar com) //写指令
{
rs=0;
rw=0;
P0=com;
delay(2);
en=0;
delay(2);
en=1;
delay(1);
}
void write_date(uchar date) //写数据
{
rs=1;
rw=0;
P0=date;
delay(2);
en=0;
delay(2);
en=1;
delay(1);
}
void write_num(uchar date)
{
if(date<10)
{
write_date(0x30+date);
}
}
void main(void)
{
uchar i;
num=0;
en=0;
EA=1;
ET0=1;
TMOD=0x01;
TH0=0x68;
TL0=0xcc;
// TR0=1;
EX0=1;
EX1=1;
// PX0=1;
IT0=1;
IT1=1;
write_com(0x38);
write_com(0x38);
write_com(0x0c);
write_com(0x06);
write_com(0x01);
delay(1);
while(1)
{
if(num>25)
{
EA=0;
write_com(0x01);
write_com(0x80);
for(i=0;i<16;+i++)
write_num(wiegand[num]);
write_com(0x80+0x40);
for(i=16;i<26;+i++)
write_num(wiegand[num]);
num=0;
EA=1;
}
}
}
void data0() interrupt 0
{
EX0=0;
wiegand[num]=0;
num++;
EX0=1;
}
void data1() interrupt 2
{
EX1=0;
wiegand[num]=1;
num++;
EX1=1;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -