ty514.c

来自「EMV2000 LEVEL 1实现的源码」· C语言 代码 · 共 109 行

C
109
字号
#include "def.h"

//=============================================================================

bit     	isRESET;			//MCU复位标志
bit     	CPU1_REST_FLAG;		//cpu card reset or no
bit     	CPU2_REST_FLAG;		//cpu card reset or no
bit     	STATE_FLAG;
bit		case3;
bit		CPU1_T0_T1;
bit		CPU2_T0_T1;
bit		CPU1_block;
bit		CPU2_block;
bit     	SAM1_REST_FLAG;		//cpu card reset or no
bit     	SAM2_REST_FLAG;		//cpu card reset or no
bit     	SAM3_REST_FLAG;		//cpu card reset or no
bit     	SAM4_REST_FLAG;		//cpu card reset or no
bit             reverse;
bit             flag;
bit             Power;//冷热复位标志
bit             parity_bit;//奇偶错误标志
bit             TC1_flag;  //TC1=0XFF时置1
bit             Reset_Flag;
bit             Squence_flag;
bit             Card1T1_flag;

uchar data  temp;
uchar data  ID;
uchar data  command;
uint  data  offset;
uint  data  length;
uchar data  NAD;
uchar data  PCB;
uchar data  LEN;
uchar data  TC1;
uchar data  ins;
uchar data  pp3;
uchar data  sw1;
uchar data  sw2;
uchar data  TA1;
uchar data  TA2;
uchar data  TA3;
uchar data  IFSD;
uchar data  TB3;
uchar data  BWI;
uint  data  pointer;
uchar data  IFSC;
uchar data  WTX;
uchar data  tempPCB2;
uchar  data   ISquen;
uint  data   counter;//再同步处理


uchar data  WI;
uchar data  bps;			//根据波特率而存放的时间参数
uint  data  timer0;
uint  data  timer1;
//=====================================================================================

//-------------------------------------------------------------------------------------
//void _Delay(unsigned char _1us)				//延时1us
//{
//	while(_1us--)
//	{
//		_nop_();
//	}
//	WDTC = 0xa7;			//ebable WDT and set time periods with PS[2:0]=111 (262.144ms)
//}
//-------------------------------------------------------------------------------------
void _Delay_20us(unsigned char _20us)		//延时20us
{
	while(_20us--)
	{
	  _nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();
	  _nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();
                    _nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();
	}
	WDTC = 0xa7;			//ebable WDT and set time periods with PS[2:0]=111 (262.144ms)
}
//-------------------------------------------------------------------------------------
void delay100ms(void)						//延时100ms
{
	ET1 = 0;
	timer1 = 500;
	ET1 = 1;
	while(timer1);
	ET1 = 0;
}
//-------------------------------------------------------------------------------------
void delay2ms(void)							//延时2ms
{
	ET1 = 0;
	timer1 = 20;
	ET1 = 1;
	while(timer1);
	ET1 = 0;
}
//-------------------------------------------------------------------------------------
void _Delay_1ms(unsigned char _1ms)			//延时1ms
{
	while(_1ms--)
	{
	  _Delay_20us(50);
	}
	WDTC = 0xa7;			//ebable WDT and set time periods with PS[2:0]=111 (262.144ms)
}

//---------------------------------------------------------------------------------------
/*"int0(IC_SW)中断服务函

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?