如何用51 I/O口模拟时序读写CPU智能卡
如何用51 I/O口模拟时序读写CPU智能卡(最好有代码参考)
CPU卡我用4M的晶振,大概波特率为10K多,每位时间为94US
下面的位时间我用示波器测量过,满足要求,但驱动不了CPU卡,CPU卡
复位也接受到了ATR字符,请帮忙!!!
bool CosSendByte(unsigned char *pData ,unsigned char cNum)
{
bool bCheck;
unsigned char i,j;
EA = false;
for (j= 0 ; j <cNum; j++)
{
ACC = pData[j];
bCheck = P;
B = ACC;
CAD_DATA = false; // 下降沿
DelayN85us();
_nop_();_nop_();_nop_();
_nop_();_nop_();_nop_();
for (i = 0; i <8 ; i++) //传输数据
{
CAD_DATA = BBit0;
DelayN85us();
B = B > > 1;
}
CAD_DATA = bCheck;// 发送偶校验位
DelayN85us();_nop_();_nop_();_nop_();
////////延时 xx etu///////////
CAD_DATA = true;// 高电平(等待200us)
for (i = 0; i < 8; i++)
{
if (!CAD_DATA) //出错退出
return false;
}
}
EA = true;
return true;
}
发表时间:2003年4月2日20:03:34