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

📄 variable.h

📁 C8051F020+RA8835 I/O口控制 中英文混合显示
💻 H
字号:
/***************************宏定义*********************************************************************/
//////////////SMBUS////////////////
#define WRITE 0x00 // SMBus WRITE command
#define READ  0x01  // SMBus READ command
#define CHIP_A 0xA0   // Device address for chip A
// SMBus states:
// MT = Master Transmitter
// MR = Master Receiver
#define SMB_BUS_ERROR 0x00 // (all modes) BUS ERROR
#define SMB_START  0x08 // (MT & MR) START transmitted
#define SMB_RP_START 0x10 // (MT & MR) repeated START
#define SMB_MTADDACK 0x18 // (MT) Slave address + W transmitted;
          //  ACK received
#define SMB_MTADDNACK 0x20 // (MT) Slave address + W transmitted;
          //  NACK received
#define SMB_MTDBACK  0x28 // (MT) data byte transmitted; ACK rec'vd
#define SMB_MTDBNACK 0x30 // (MT) data byte transmitted; NACK rec'vd
#define SMB_MTARBLOST 0x38 // (MT) arbitration lost
#define SMB_MRADDACK 0x40 // (MR) Slave address + R transmitted;
          //  ACK received
#define SMB_MRADDNACK 0x48 // (MR) Slave address + R transmitted;
          //  NACK received
#define SMB_MRDBACK  0x50 // (MR) data byte rec'vd; ACK transmitted
#define SMB_MRDBNACK 0x58 // (MR) data byte rec'vd; NACK transmitted
/////////////按键//////////////////////
#define  REG_KEY		0x13
#define  NO			    5
#define	 YES			4
#define	 DOWNKEY		3
#define	 UPKEY			2
#define	 RIGHTKEY 		1 
#define	 LEFTKEY		0
////////////主菜单//////////////////////
#define  MEASURE   		0x40    //测量 
#define  ADJUST_ZERO  	0x50	//调零
#define  CALIBRATION   	0x60	//校准
#define  SHEZHI       	0x70	//设置
#define  LOUJIAN        0x80	//漏检
#define  EDITION        0x90   	//版本信息
#define  SEARCH_CAR     0xa0    //查询记录
////////////设置子菜单//////////////////////
#define  LIGHT        	0x40  	//亮度调节
#define  SERIES			0x50   	//串口设置
#define  REST			0x60	//转速设置
#define  CLMS        	0x70	//测量方式
#define  rlxz           0x80    //燃料选择
#define  settime		0x90	//时间设置
//////////////////////////////////////////////
#define  CAR_INPUT      0x40    //车牌号码输入
#define  CAR_SEARCH     0x50    //查询车牌数据
#define  CAR_MAIN       0x60    //进入主菜单
////////////////机芯/////////////////////////
#define  COMMAND_STATUS	0x01
#define  COMMAND_DATA	0x40
#define  COMMAND_ZERO	0x19
#define  ACK			0x06
////////////////A/D////////////////////////////
#define  ADCTRL_EA0     0x60
#define  ADCTRL0 		0x40
#define  ADCTRL_EA1     0x61
#define  ADCTRL1 		0x41
///////////////LCD/////////////////////////////
#define  LCD_Command    P5
#define  LCD_Data       P5
///////////////延时5秒/////////////////////////
#define  FM_TIME	    50 
////////////////////////////////////////////////////
#define  N_ad			10
#define  N_ad_NO		10
//////////////////////////////////////////////////////////////
/***************************定义引脚******************************************************************/
///////////A/D//////////////
sbit ADNOTREADY=P3^7;
//////////////串口选择/////////////
sbit uartctrl_low =P2^6;
sbit uartctrl_high=P2^7;
///////////键盘/////////////
sbit dat=P2^2;		              // dat 连接于 P3.5     
sbit key=P2^1;
sbit clk=P2^0;		              // clk 连接于 P3.3                        
///////////液晶////////////
sbit RST=P1^2;
sbit BSY=P1^7;
sbit CS1=P1^6;
sbit EN=P1^5;
sbit RW=P1^4;
sbit RS=P1^3;
///////////其它/////////////
sbit pump=P2^5;//泵
sbit valve=P2^4;//阀
sbit buzzer=P2^3;//蜂鸣器

/***********************地址变量******************************************************/
xdata volatile unsigned char ad_addr0	_at_  0x3fff;//低8位输出   
xdata volatile unsigned char ad_addr1	_at_  0x7fff;
xdata volatile unsigned char ds_second 	_at_  0xdf00;//			 1101 1111 0000 0000
xdata volatile unsigned char ds_minute	_at_  0xdf02;
xdata volatile unsigned char ds_hour	_at_  0xdf04;
xdata volatile unsigned char ds_weekday	_at_  0xdf06;
xdata volatile unsigned char ds_day		_at_  0xdf07;
xdata volatile unsigned char ds_month	_at_  0xdf08;
xdata volatile unsigned char ds_year	_at_  0xdf09;
xdata volatile unsigned char ds_regA	_at_  0xdf0A;
xdata volatile unsigned char ds_regB	_at_  0xdf0B;
xdata volatile unsigned char ds_regC	_at_  0xdf0C;
xdata volatile unsigned char ds_regD	_at_  0xdf0D;
xdata volatile unsigned char ds_century	_at_  0xdf32;

/**************************************************************************************/
///////////////SMBUS//////////////////////////////
/******************************************************************************************
*  全局变量定义
******************************************************************************************/
char COMMAND;                       // Holds the slave address + R/W bit for
                                    // use in the SMBus ISR.
char WORD;                          // Holds data to be transmitted by the SMBus
                                    // OR data that has just been received.
char BYTE_NUMBER;                   // Used by ISR to check what data has just been
                                    // sent - High address byte, Low byte, or data
                                    // byte
unsigned char HIGH_ADD, LOW_ADD;    // High & Low byte for EEPROM memory address
bit SM_BUSY;                        // This bit is set when a send or receive
                                    // is started. It is cleared by the
                                    // ISR when the operation is finished.
///////////////ds////////////////////////////////////////////
xdata unsigned char second,minute, hour,day,month,year; 	
xdata unsigned char ptminute,pthour,ptday,ptmonth,ptyear;	
//////////////////////////////////////////////////////////

xdata unsigned int ad_resulth,ad_resultl;//ad转换值高低字节	
xdata unsigned int val_lambda_1,val_lambda_2,Temperature_1,Temperature_2;//高低怠速的lambda和温度
xdata unsigned int co_con,co2_con,o2_con,hc_con;//通用测量时的数据
xdata unsigned int no,no_con,no_zero;
/*xdata unsigned int nospan_x;
xdata unsigned int nospan_0;
xdata unsigned int nospan_1;
xdata unsigned int nospan_2,nospan_3;
xdata unsigned int nospan_4,nospan_5;
xdata unsigned int nospan_6,nospan_7;
xdata float nospan,nosensorvolt;
*/
xdata unsigned char jiajia;//判断延时时是否按键
xdata unsigned char biaozhi;///高低怠速标志
xdata unsigned char Temp_Stroke,Temp_Cylinder4,Temp_Cylinder2;//冲程和汽缸
xdata unsigned char car_number[7]={0,55,81,82,83,84,85};
//xdata unsigned char car_number[7]={91,91,91,91,91,91,91};
xdata unsigned char car_data[16]={0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0};   //数据存储
xdata unsigned char date[5]={0,0,0,0,0 };   // 
xdata unsigned char	Stroke,Cylinder4,Cylinder2;//冲程和汽缸
xdata unsigned char ArrowHeadY,ArrowHeadY1;
xdata unsigned char diii;//测量方式标志位 0:通用,1:双怠速
xdata unsigned char GDdai;//怠速类型50:高怠速(数据)70:怠速(数据)
xdata unsigned char Star;//串口设置 50:与打印机通讯  70:与微机通讯
xdata unsigned char clcs;//测量次数1:高怠速2:怠速
xdata unsigned char cjcs;//调节校准值用的横坐标,计算高低怠速平均值时的总次数
xdata unsigned char XUANZE;//测量方式(通用/双怠速)
xdata unsigned char pc_test;
xdata unsigned int  Pressure;
//以下是双怠速时的测量值
xdata unsigned int  T_IS_7,T_IS_h;//双怠速法测量时的额定转速的70%和高怠速(额定转速的50%)
xdata unsigned int  co_con_1,co2_con_1,o2_con_1,hc_con_1,no_con_1,Idle_Speed_h;//高怠速数据
xdata unsigned int  co_con_2,co2_con_2,o2_con_2,hc_con_2,no_con_2,Idle_Speed;//怠速数据
xdata unsigned long int no_cons,co_cons,co2_cons,o2_cons,hc_cons,Idle_Speeds;
xdata float frequency;
xdata unsigned char Coefficient;
//以上是双怠速时的测量值
xdata unsigned char COMMAND_CODE;//机芯命令码
xdata unsigned char keynumber;//按键值
xdata unsigned char xuanze2;//燃料选择fuel_opt
xdata unsigned char Temp;//临时变量
xdata unsigned char x1000,x100,x10,x1;//数据的千百十个位
xdata unsigned char flag_success;//接收成功标志位
xdata unsigned char rx_array[20];//接收数据的数组
xdata unsigned char bright=0x30;//亮度,写入LCD值为0x20 ~0x3f,对应设定值为0~31
xdata unsigned char byte_sel=91,position_sel=0,yuyan_sel=0;//选择车牌的变量
xdata unsigned int val_lambda;
xdata unsigned int Temperature,T_filter[N_ad];
xdata unsigned int Speed;//通用时转速的测量值
xdata unsigned int mem_position=0,current_position=0,head_position=0;  //存储器位置变量memory position 0~399;

xdata unsigned int *int_ptr; 
/////////////////////////////////////////////////////////////////////
union Float_or_uchar
{
	float flt;
	unsigned char fltc[4];
};
union Float_or_uchar changetype;

⌨️ 快捷键说明

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