⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 ty514.c

📁 EMV2000 LEVEL 1实现的源码
💻 C
字号:
#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 + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -