部分源程序如下:
/*****************************************************************************************
*函数名称:Wiegand_Data1( )
*函数功能:韦根卡数据1中断处理
*入口函数:无
*出口函数:无
*****************************************************************************************/
void Wiegand_Data1( ) interrupt 2 using 1 //中断1处理函数,使用第一组寄存器
{
EX1=0; //关中断1
udelay(5);
if(DATA1 == 0)
{
rf_card->wiegand[rf_card->global_var] = '1';
rf_card->global_var = rf_card->global_var + 1;
}
udelay(500);
EX1=1; //开中断0
}
/*****************************************************************************************
*函数名称:udelay(uint num)
*函数功能:延时函数 延时num us
*入口函数:num
*出口函数:无
*****************************************************************************************/
void udelay(uint num)
{
num=num/5;
while(--num);
}
/*****************************************************************************************
*函数名称:main( )
*函数功能:主函数
*入口函数:无
*出口函数:无
*****************************************************************************************/
void main()
(
whlie(1)
{
initial(void);
rf_card->global=0;
//等待中断
}
)
1