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

📄 data_define.h

📁 nRF905无线FSK芯片在51单片机上工作的代码
💻 H
字号:

////////////////////////////////////////////////////////////
#ifndef DATA_define_h
#define DATA_define_h
#include<reg51.h>
#include <absacc.h>
enum state{C11,C12 ,C22a,C22b,C21a,C21b,C21c } ;//接收数据状态定义
/*祯定义*/
#define MAXNUM_BUF  30//缓冲数据区的最大值
#define MAXNUM_INFO 10//数据区的最大空间
#define NUM_OF_SITE 6;//站点的数目

#define ADDR_8255_control  XBYTE[0xe003] //8255方式选择控制字
#define ADDR_8255_data  XBYTE[0xe000] //8255写数据
sbit WR_8255=P3^6;//8255的写使能,低电平有效
sbit RD_8255=P3^7;//读使能,低有效
sbit RESET_8255=P1^4;//高有效
//////////
//把数据桢定义为结构体
//////////

////////////////////////////////////////////////////////////
//数据祯
unsigned char SOI='~'; 
unsigned char VER=0x10;   //版本号
unsigned char ADR                          =0x00;
unsigned char CMD1                         =0x00;
unsigned char RSPD							=0x00;
unsigned char CMD2=0x00;
unsigned char RTN                           =0x00 ;
unsigned char LENGTH=0x04;
unsigned char INFO[MAXNUM_INFO];
unsigned char CHKSUM						=0x00;
unsigned char EOI='\r';
////需要设置ADR、RSPD、RTN、LENGTH、INFO[2*LENGTH]、CHKSUM

///	length=0x02,剩余的补0
///  info格式info[0]=tem,spe,dis;info[1]=dir.
///////////////////////////////////////////////////////////////
unsigned char xdata CUP_INFO_UP[MAXNUM_INFO];
unsigned char xdata DIST_INFO_UP[MAXNUM_INFO];
unsigned char xdata MOTOR_INFO_UP[MAXNUM_INFO];
unsigned char xdata CUP_INFO_DOWN[MAXNUM_INFO];
unsigned char xdata DIST_INFO_DOWN[MAXNUM_INFO];
unsigned char xdata MOTOR_INFO_DOWN[MAXNUM_INFO];
/////////////////////////////////////////////////////////////
//错误信息的反馈定义
#define FRAME_OK		0x00;	//帧正确
#define VER_ERR			0x01;	//VER错
#define CHKSUM_ERR		0x02;	//CHKSUM错
#define COMMAND_ERR		0x03;	//命令错误
#define LENGTH_ERR		0x04;	//数据段长度错
#define INFO_ERR		0x05;	//数据错误
#define ADR_ERR			0x06;	//地址错
////////////////////////////////////////////////////////


///////////////////////////////////////////////////////////
//命令定义
//CMD1
unsigned char SET=0x00;//设置
unsigned char RED=0x01;//读取
//CMD2
unsigned char TEM=0x00;//温度
unsigned char SPE=0x01;//速度
unsigned char LEN=0x02;//距离
unsigned char DIR=0x03;//方向
////////////////////////////////////////////////////////////

//////////////////////////////////////////////////////////////
/*

unsigned char mainframe_send=0xb0; //主机法送,与地址香火
unsigned char mainframe_receive=0x3f;//接受	,与地址相遇
unsigned char temperature_send=0x30;//温度发送
unsigned char temperature_receive=0xcf;//温控接收
unsigned char motor_send=0x0b;//电及发送
unsigned char motor_receive=0xf3;//电机接收
unsigned char supersonic_send=0x03;//超声发送
unsigned char supersonic_receive=0xfc;//超声接收
*/
////////////////////////////////////////////////////////////////

unsigned char HOST_ADR=0x00;
/////////////////////////////////////////////////////////////
//地址定义
unsigned char address=0xaa;//地址
unsigned char LOCAL_ADR=0x00;//本地
unsigned char MOTOR_ADR=0x01;//电机
unsigned char CUP_ADR=0x02;//电热杯
unsigned char TOP_ADR=0x03;//远程
unsigned char DIST_ADR=0x04;//测距
unsigned char TEST_ADR=0x05;//用于测试的端口,也可用于拓展端口
///////////////////////////////////////////////////////////////

///////////////////////////////////////////////////////////////////
//info定义
//unsigned char xdata tempr_control_info[MAXNUM_INFO];//温度信息
//unsigned char xdata motor_control_info[MAXNUM_INFO];//电机速度信息
//unsigned char xdata distance_test_info[MAXNUM_INFO];//测量距离
//////////////////////////////////////////////////////////////////////
//////////////////////////////////////////////////////////////
unsigned char xdata Sbuffer[MAXNUM_BUF];//储存发送的信息	 
unsigned char xdata Rbuffer[MAXNUM_BUF];//储存接收的信息
bit buffer_flag=0;//接收数据的buf标志,当接收完毕时置位
bit feedbackdone_flag=0;//反馈发送完毕标志
bit receivedone_flag=0;
unsigned char Sbuffer_point=0;//S_buffer的指针
unsigned char Rbuffer_point=1;//R_buffer的指针
unsigned char D_T=4;//20ms
unsigned char RES_TIME=100;//500ms
unsigned char d_time=0;//计时器
enum state state_flag;//状态标志
unsigned char SendBack_flag=0;
unsigned char Sendfinish_flag=0;
unsigned char Adrchange_flag=0;//地址转换的标
unsigned char state=1;//状态
unsigned char buscontrol_output;//总线控制
unsigned char bus_control_count=0;
#endif
///////////////////////////////////////////////////////////////////////


⌨️ 快捷键说明

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