/****************************************************************************************** 检测方法 1).EM4095的数据格式为:9bit起始位+40bit数据位+10bit行校验位+4bit列校验位+1bit停止位 2).本程序时针对STC12C5A60S2单片机的,与80C51完全兼容,但是大部分指令时单周期指令,也就是 说比普通80C51大约快12倍 3).确定起始位,首先要正确找到数据1,按规则下跳为1,上跳为0. 可检测高电平并等其变低, 但这会把0错检为1,因为0也存在高电平。但是如果检测到一个周期的高电平(数据01)则可 确定找到了数据1,找到1后就可以同步了,因为EM4095卡最后一位数据就是0正好可以利用 作为判断的特征。 4).对于数据的确定,由于有了同步则可在同步后延时384us即3/4个码元周期,再判断接收段电平, 如为高则置数据为1,并一直等到低电平的出现,相反则等高电平的出现,并在此之间插入超时 判断。这样,一个完整的数据判断就完成了,并确保数据的准确性,另外这种方法的抗干扰性 会非常好,而如果采用定时同步的话则会因信号的畸变而引起数据出错,整体会导致读卡几率降低 但是此程序也有其缺点,因为采用纯延时判断的手段,因此其占用单片机的运行时间比较大。 5).同步后开始接收同步数据即9个1,这一部分用一