?? veryfy4442.c.txt
字號:
文件頭:
#include <stdio.h>
#include <intrins.h>
#include <reg51.h>
#include <Verify4442.h>
main()
{
init();
if(IC_In == 1)
{
IC_VCCC = 1;
IC_VCC_LED = ON;
Delay10us();
ResetCard(); //
IC_Verify_Flag = Verify(PassWord[0],PassWord[1],PassWord[2]);
BreakOperate();
Delay10us();
//if( IC_Verify_Flag == True)
//{
WriteMainMem(0xff,0xff);
Delay10us();
WriteMainMem(0xe0,0xe0);
//}
Delay10us();
ResetCard();
Verify_Send();
Delay10us();
IC_VCCC = 0;
}
}
bit Verify(uchar pt1,pt2,pt3)
{
uchar idata temp[4]; //暫存4字節的保密區內容
uchar i;
SendComm(RSM_COMM,0xff,0xff); //讀密碼存儲區的命令字,第2,3個參數在此命令中被忽略
ReadMode(temp, 4); //讀出
IC_PassWord[4] = temp[4];
if((temp[0] & 0x07) != 0) //第一字節是錯誤計數器,如果錯誤計數器為0,直接退出
{
if((temp[0] & 0x07)==0x07) // 00000111
i = 0x06;
文件尾:
_nop_();
_nop_();
_nop_();
}
void init()
{
//uchar i;
TMOD=0x20;
TL1=0xFd;
TH1=0xFd;
SCON=0x50;
PCON=0x00;
EA = 1;
ES = 1;
TR1=1;
IC_VCCC = 0;
IC_In = 1;
IC_Verify_LED = OFF;
IC_Read_LED = OFF;
IC_In_LED = OFF;
IC_VCC_LED = OFF;
IC_Read_Flag = True;
IC_Verify_Flag = False;
// IC_Write_add = 0xE0;
// IC_Write_data = 0xE0;
}
void Verify_Send()
{
if(IC_Verify_Flag == True)
{
SBUF = 0xff;
do{}
while(TI == 0);
TI = 0;
}
else
{
SBUF = 0x00;
do{}
while(TI == 0);
TI = 0;
}
}
void ProcessMode(void)
{
uint i;
IC_CLK = 0;
Delay5us();
IC_IO = 0;
for (i = 255; i > 0; i--)
{
IC_CLK = 1;
Delay5us();
IC_CLK = 0;
Delay5us();
}
IC_IO = 1;
}
void WriteMainMem(uchar addr,uchar Data)
{
ResetCard();
SendComm(WMM_COMM, addr, Data); //寫主存的命令字,地址,數據
ProcessMode();
BreakOperate();
}
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -