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

📄 movement_control.h.bak

📁 UCOSii for c8051f020
💻 BAK
📖 第 1 页 / 共 2 页
字号:
enum Control_Signal_2{C_T_TilitNEG_EN , C_MoveAllToZero , C_CP_ChooseLarge , C_CP_ChooseMiddle , 
                      C_CP_ChooseSmall};

//定义输出信号
//Q 代表输出

enum Output_Signal_1{Q_T_TilitPOS , Q_T_TilitNEG ,  Q_TL_AngulationHead , Q_TL_AngulationFoot , 
                     Q_La_MoveOutside ,Q_La_MoveInside , Q_L_MoveHead , Q_L_MoveFoot , 
                     Q_SID_MoveUp , Q_SID_MoveDown , 
                     Q_SC_MoveHead , Q_SC_MoveFoot , Q_RF_RoteClock , Q_RF_RoteAngiClock};
enum Output_Signal_2{Q_Angulation_5 , Q_Angulation_4 , Q_Angulation_3 , Q_Angulation_2 , 
                     Q_Angulation_1 , Q_SID_3 , Q_SID_2 , Q_SID_1 
                     
                     };


//定义输出信号
//Q 代表输出
enum Output_Q0{Q_CP_SmallLED , Q_CP_MiddleLED , Q_CP_LargeLED , Q_PositionLED ,
               Q_Motor_Alarm , Q_En_Move , Q_CP_Direction , Q_CP_Power};


//定义软定时器
enum Soft_Timer_Dispatch{Tilit_Timer,Lateral_Timer,BX_Timer};
enum Soft_Timer_Signal{Timer_RunOrStop,Timer_Flag, TON, TOF,StartToCount};

//定义本地标志
enum Local_Signal_1{V_Tilit_EnTilit,V_Tilit_EnStopZero,V_CompressorForce_Limit,V_SID_POSEDGE,
                    V_Lateral_MoveDirection};
enum Local_Signal_2{V_GIM_NMS,V_GIM_PMS};

//定义保护标志
enum Protect_Signal_1{V_T_ProtectTL,V_T_ProtectL};
          
// Structure Define
//*****************************************************************************************************************     

struct Switch_Data
{
    INT16U Last_Flag;
    INT16U Now_Flag;
};

struct Control_Data
{
    INT16U Last_Flag;
    INT16U Now_Flag;
};

struct Output_Data
{
    INT16U Last_Flag;
    INT16U Now_Flag;
};

struct Protect_Data
{
    INT16U Last_Flag;
    INT16U Now_Flag;
};

struct Soft_Timer
{
    INT16U Last_Flag;
    INT16U Now_Flag;
    INT16U  DelayTime; 
};

//-----------------------------------------------------------------------------------------------------------------
//TL16C554相关控制开始
//-----------------------------------------------------------------------------------------------------------------
#define URT_CLK   11059200 	     	 // 串口晶振波特率SYSCLK frequency in Hz

//波特率定义
#define UART_A_Baud 		9600
#define UART_B_Baud 		9600
#define UART_C_Baud 		19200
#define UART_D_Baud 		19200

#define  Read_TL16C554_INIT() 		(TL_16C554_INIT_SY = TL16C554_INIT,TL_16C554_INIT_SY)
//串口芯片控制端口定义
/****************TL16C554 A口接口定义*********************/
//TL16C554与CPLD相关中断向量

#define TL16C554_INIT  XBYTE[0x8000]

//TL16C554寄存器地址

#define TL16C554_A_LCR  XBYTE[0x8103]
#define TL16C554_A_FCR  XBYTE[0x8102]
#define TL16C554_A_MCR  XBYTE[0x8104]
#define TL16C554_A_DLL  XBYTE[0x8100]
#define TL16C554_A_DLM  XBYTE[0x8101]
#define TL16C554_A_IER  XBYTE[0x8101]
#define TL16C554_A_LSR  XBYTE[0x8105]
#define TL16C554_A_MSR  XBYTE[0x8106]
#define TL16C554_A_RBR  XBYTE[0x8100]
#define TL16C554_A_THR  XBYTE[0x8100]

#define TL16C554_B_LCR  XBYTE[0x8203]
#define TL16C554_B_FCR  XBYTE[0x8202]
#define TL16C554_B_MCR  XBYTE[0x8204]
#define TL16C554_B_DLL  XBYTE[0x8200]
#define TL16C554_B_DLM  XBYTE[0x8201]
#define TL16C554_B_IER  XBYTE[0x8201]
#define TL16C554_B_LSR  XBYTE[0x8205]
#define TL16C554_B_MSR  XBYTE[0x8206]
#define TL16C554_B_RBR  XBYTE[0x8200]
#define TL16C554_B_THR  XBYTE[0x8200]

#define TL16C554_C_LCR  XBYTE[0x8303]
#define TL16C554_C_FCR  XBYTE[0x8302]
#define TL16C554_C_MCR  XBYTE[0x8304]
#define TL16C554_C_DLL  XBYTE[0x8300]
#define TL16C554_C_DLM  XBYTE[0x8301]
#define TL16C554_C_IER  XBYTE[0x8301]
#define TL16C554_C_LSR  XBYTE[0x8305]
#define TL16C554_C_MSR  XBYTE[0x8306]
#define TL16C554_C_RBR  XBYTE[0x8300]
#define TL16C554_C_THR  XBYTE[0x8300]

#define TL16C554_D_LCR  XBYTE[0x8403]
#define TL16C554_D_FCR  XBYTE[0x8402]
#define TL16C554_D_MCR  XBYTE[0x8404]
#define TL16C554_D_DLL  XBYTE[0x8400]
#define TL16C554_D_DLM  XBYTE[0x8401]
#define TL16C554_D_IER  XBYTE[0x8401]
#define TL16C554_D_LSR  XBYTE[0x8405]
#define TL16C554_D_MSR  XBYTE[0x8406]
#define TL16C554_D_RBR  XBYTE[0x8400]
#define TL16C554_D_THR  XBYTE[0x8400]

//RS485发送控制端定义
sbit RSSET_554 		= P1^5;
sbit RS485_SEND		= P1^7;
/***********************************/
//通讯命令字定义
#define Read_FRENIC		'R'             //读出数据
#define Write_FRENIC_Comm 		'W'             //写入数据
#define Rest		'E'             //复位命令

#define Fudamental	'F'             //基本功能
#define Extension	'E'             //端子功能
#define Control		'C'             //控制功能
#define Motor1		'P'             //电动机1
#define Motor2		'A'             //电动机2
#define High		'H'             //高级功能

#define FREMIC_Mov_Control		'S'             //标准帧通讯控制
#define Standm		'M'             //标准帧监视器用

//写16C554控制字
#define Write_TL16C554(TL16C554_ADD,TL16C554_REG)  (TL16C554_ADD = TL16C554_REG)

//读16C554寄存器
#define Rread_TL16C554(TL16C554_ADD)  			(TL16C554_REG = TL16C554_ADD,TL16C554_REG)

//通过各个串口发送数据
#define SendChar_UART_A(SendChar)	 		(TL16C554_A_THR = SendChar)
#define SendChar_UART_B(SendChar)	 		(TL16C554_B_THR = SendChar)
#define SendChar_UART_C(SendChar)	 		(TL16C554_C_THR = SendChar)
#define SendChar_UART_D(SendChar)	 		(TL16C554_D_THR = SendChar)

//通过各个串口接收数据
#define RevvChar_UART_A()	 		 (RevvChar_A = TL16C554_A_RBR,RevvChar_A)
#define RevvChar_UART_B()	 		 (RevvChar_B = TL16C554_B_RBR,RevvChar_B)
#define RevvChar_UART_C()	 		 (RevvChar_C = TL16C554_C_RBR,RevvChar_C)
#define RevvChar_UART_D()	 		 (RevvChar_D = TL16C554_D_RBR,RevvChar_D)
//定时器2相关操作
#define Timer2_On()			(TR2 = 1)
#define Timer2_Off()		(TR2 = 0)

#define RevvCharNumber 0x08				//中断一次接收字节数
#define Ttimer_2	 20					//定时器2的中断时间17ms
//TL16C554相关控制结束
//-----------------------------------------------------------------------------------------------------------------

⌨️ 快捷键说明

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