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

📄 variant.h

📁 应用与c8051f020的地震波检测单片机源代码
💻 H
字号:
//data type
#define uint  	unsigned int
#define ulong	unsigned long
#define uchar	unsigned char

#define	nop()	_nop_()

//Global Constant
#define SYSCLK  18432000					//系统时钟
#define Diam	1
#define Mark	2
#define MarkChannel 0x04					//转换通道选择
#define DiamChannel	0x07
#define TEMPRTUR	0x10

#define  BAUD_RATE_4800    120
#define  BAUD_RATE_9600    60
#define  BAUD_RATE_57600   10
#define  BAUD_RATE_115200  5
#define  BAUD_RATE_576000  1
#define  DIAM_FILE         0
#define  MARK_FILE         1


	uchar code Diamhd[8] = {0x44,0x49,0x41,0x4D,0x45,0x54,0x45,0x52};		//变径文件前12B为 DIAMETER
	uchar code Markhd[8] = {0x4B,0x49,0x4C,0x4F,0x4D,0x41,0x52,0x4B};		//标记文件前12B为 KILOMARK
	uchar code MkSectorHd[10] = {'M','a','r','k','F','i','l','e'};			//文件中标记扇区的起始标志
	uchar code MarkPrefix[8] = {0x54,0x6A,0x55,0x73,0x50,0x69,0x4F,0x65};	//每条标记记录的前缀  TjUsPiOe
	uchar code MarkSuffix[8] = {0x74,0x4A,0x75,0x53,0x70,0x49,0x6F,0x45};	//每条标记记录的后缀  tJuSpIoE
	uchar data WorkNo[5] = {'0','6','0','0','1'};							//工作号

																			//工程信息
	uchar idata Info[24]  = {1,6,4,24,0x04,0xB1,0xB1,0xBE,0xA9,0x06,0xC7,0xD8,0xBB,0xCA,0xB5,0xBA,0,0,0,0,0,0,0,0};

																			//将按字节倒序的代码表定义在code区
	uchar code rev[16]={0x00,0x08,0x04,0x0C,0x02,0x0A,0x06,0x0E,0x01,0x09,0x05,0x0D,0x03,0x0B,0x07,0x0F};


//外部变量定义
//	sbit Mark_sta = P3^4;				//查询标记信号有效否
//	sbit PlugIn   = P3^6;				//查询电缆接否
//	sbit RsEnable = P2^0;				//3323允许端
//	sbit RE422    = P2^2;
//	sbit TE422    = P2^3;
//	sbit PlsOut	  = P1^2;

//	sbit U0OtPls  = P3^0;
//	sbit U0OtPW   = P3^1;				//指示复位次数
//	sbit PlsADtest= P3^2;
//	sbit lamp	  = P3^3;

	data uchar RstCounter = 0;			//记录看门狗复位的次数
	data uchar RstPWCntr = 0;			//脉冲宽度计数器
	data uchar U0OTProNo = 0;			//超时的协议号
	data uchar U0PWCntr = 0;			//脉冲宽度计数器
	data uchar U0OtTimes = 0;			//超时的次数
	data uchar U0OtTmCntr = 0;			//超时的次数脉冲宽度计数器


	data ulong Mc=0;			//Mc为主计数器值
    data ulong Mc_old=0;
	
	bit  Mark_sta_old = 1;				//Mark_sta的旧状态,初始化为1
//	bit  Mark_valid = 0;				//标记信号有效的标志位
//	bit  MarkADrequst = 0;				//请求采集标记信号

	bit DiamBufferFull=0;
//	bit MarkBufferFull=0;
	bit USB_DISK_READY=0;
	bit USBDiamFileMdfied=0;
//	bit USBMarkFileMdfied=0;
	bit USBDiamFileCreated=0; 
//	bit USBMarkFileCreated=0; 
	bit USB_BAUDRATE_CHANGED=0;
	data uchar CurrentDmBffer=0; 
//	data uchar CurrentMkBffer=0;					//当前缓存区序号
	bit FILE_END = 0; 
	bit CurrentFile=DIAM_FILE;//U盘当前打开并可操作的文件标志;0:变径文件;1:标记文件。
	 uint  DmBffPtr=0;				//DiamBufferPosition,变径缓存区的位置指针
//	data uint  MkBffPtr=0;				//MarkBufferPosition,标记缓存区的位置指针

	bit PlsOutOld = 0;
	bit FileInfoChanged = 0;

	xdata uchar DiamBuffer[2][1536];
//	xdata uchar MarkBuffer[2][512];
	data  uchar RTCstring[7] = {0x06,0x04,0x24,0x05,0x23,0x59,0x30};

///////////////////////////////////////////////////////////////
//	data uchar LYB_125us_PULSE;
	data uchar LYB_10ms_PULSE;
	data uchar LYB_100ms_PULSE;
	data uchar LYB_125us_PlsOld;
	data uchar LYB_10ms_PULSE_OLD;
	data uchar LYB_100ms_PULSE_OLD;


//与UART0有关的全局变量定义及函数声明
	#define U0MaxOverTIME 100				//UART0超时时间限制,1s
	bit RS232FLAG = 0;						//接收到数据的标志
	bit U0Tbusy = 0;						//发送忙标志
	data uchar RS232=0;						//应用层的接收缓冲区
	data uchar PrtocolNo=0;					//应用层协议号
	data uchar U0Overtimer=0;				//UART0超时计数器,每100ms加1
	data uchar LONG=0;						//应用层协议中接收到的数据个数
	void send(unsigned char cc);
	void Uart0Process(void);


//与UART1有关的全局变量定义及函数声明
	#define U1MaxOverTIME 200				//UART1超时时间限制,2s
	bit UART1flag=0;						//接收到数据的标志
	bit U1Tbusy = 0;						//发送忙标志
	data uchar U1sbuf = 0;					//应用层的接收缓冲区
	data uchar Ptr = 0;						//应用层协议中接收到的数据个数
	data uchar U1PrtoNo  = 0;				//应用层协议号
	data uchar U1OverTimer = 0;				//UART1超时计数器,每10ms加1


//与SMBus有关的全局变量定义及函数声明
	void ReadRTCy2s(void);


     data uint test0 _at_ 0x5A;
     data uint samcout _at_ 0x58;
     data uchar FullNumx = 0;
     data uchar j;
     data uint x;
	 sbit Ledred= P2^6;
	 bit  oldred = 1;
	 bit  oldgreen = 0;
	 sbit Ledgreen = P2^5;
	 sbit syn = P0^5;

⌨️ 快捷键说明

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