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

📄 e_bike_w79e83x.h

📁 华邦的W79E834单片机作电动车控制器的头文件
💻 H
字号:
/*******************************************************************************
*	Application: Demo code for E_Bike in W79E83X
*	Edition:	Version:1.0
*	Company: Winbond Electronics(Shanghai),Ltd.
*       Author:  NM01 team
*       Contact: Tel:021-62365999转1854 Mobil:13762016364
*	Time: March 2007
*******************************************************************************/
/******************************************************************************/
#ifndef __E_BIKE_W79E83X_H_
#define __E_BIKE_W79E83X_H_
/******************************************************************************/
/******************************************************************************/
//#define CURRENT_MAX 0xFFFF
//#define SPEED_MIN   0x0300
//#define SPEED_MAX   0x0C00
#define VOLTAG_MAX   0xAFF
/*  PIN assigment table */
#define Braker P02;
#define EABS   P25;
#define Senser P06;

//===MOS管控制上桥臂===//
#define UT P00
#define VT P17
#define WT P16
//===MOS管控制下桥臂===//
#define UB P22
#define VB P23
#define WB P24

//=============================================================================
unsigned char idata Current_Buffer[32];	// 电流ADC采样缓存
unsigned char idata Speed_Buffer[20];		// 转把电压ADC采样缓存
unsigned char idata Voltage_Buffer[16];	// 电压ADC采样缓存

unsigned int 	idata Current_SUM;				// 电流ADC采样值
unsigned int 	idata Speed_SUM;					// 转把电压ADC采样值
unsigned int 	idata Voltage_SUM;				// 电压ADC采样值
unsigned char Current_P;
unsigned char Speed_P;
unsigned char Voltage_P;

//=============================================================================
unsigned char Count_Current;
unsigned char Count_Speed;
unsigned char Count_Voltage;
bit Speed_REQ,Current_REQ,Voltage_REQ;
bit ADC_Ready; 

//=============================================================================
//===霍尔信号===//
unsigned char H_State,Old_State;
unsigned char State1,State2;
unsigned char H1,H2,H3;

//=============================================================================
//===PWM设定===//
bit PWM_Duty_min; 
unsigned int idata PWM_Duty,Speed_Low;
unsigned char PWM_Duty_H,PWM_Duty_L;
unsigned int PWM_Duty_Max;

//=============================================================================
//===巡航定速功能变量===//
unsigned int  KS_TempData;
unsigned char KS_Count;
unsigned char KS_Time;
unsigned char KS_LowSpeed;
unsigned int  KS_PWM_Duty;
unsigned int  KS_CNT;
bit KS_EN;
bit KeepSpeed_Flag,KS_Point;
bit KS_Z1,KS_Z2;

//=============================================================================
//===电流控制===//
unsigned char CurrentOver_Count;	//过流中断
unsigned int  Current_Max;				// 电流限制最大值

//=============================================================================
//===助力功能变量===//
unsigned char AH_CNTL,AH_CNTH,AH_CT;
unsigned char AH_KT;
unsigned int  AH_Duty;
unsigned char AH_Time;
unsigned char AH_Count;
bit AutoHelp_Flag,SenBak,AH_EN;

//=============================================================================
//===欠压保护功能变量===//
unsigned char Voltage_Count;
unsigned int  Voltage_Min;
bit Power_Off;

//=============================================================================
//===电子刹车,滑行充电===//
bit EABS_SlipEN,EABS_BrakeEN;
bit EABS_Flag;

//=============================================================================
//===堵转保护===//
unsigned char Block_CNT;
bit Block_Flag;

//=============================================================================
//===速度限制===//
unsigned int  Motor_Speed;
unsigned char Speed_Grade,SP_Lim;

//=============================================================================

void Init(void);						/*初始化函数*/
void Init_IO(void);					/*初始化端口*/
//=============================================================================

void H_Sample(void);				/*霍尔信号采样*/
void Phase_Change(void);		/*相位变换*/
void PWM_ADJ(void);					/*PWM调整*/
void Phase_Detect(void);		/*相位检测*/
//=============================================================================

void Current_Lim(unsigned int CM);		/*过流上限设定*/
void Volt_Low(void);									/*欠压保护功能*/
void LowVoltage_Lim(unsigned int CM);	/*欠压最小值设定*/
void Block_Detect(void);							/*堵转保护*/
//=============================================================================

void Keep_Speed(void);		/*巡航定速功能*/
void KS_Finish(void);			/*退出巡航定速状态*/
void AutoHelp(void);			/*自助力功能*/
void Brake_Setting(void);	/*刹车*/
void Slip_Setting(void);	/*滑行*/
//=============================================================================

/*巡航定速参数设定*/
void Keep_SpeedEN(bit K_EN,unsigned char K_Time,unsigned char K_LowSpeed);
/*自助力参数设定*/
void AutoHelpEN(bit A_EN,unsigned int A_Duty,unsigned char A_Time);
/*速度上限软件设定*/
void Speed_LimSW(unsigned char SG);
/*速度上限硬件设定*/
void Speed_LimHW(bit SG1,bit SG2,bit SG3,bit SG4);
/*EABS允许功能*/
void EABS_Set(bit EBS_EN,bit EBB_EN);

//=============================================================================

void PWM_Setting(void);	/*PWM更新*/
/******************************************************************************/
#endif
/******************************************************************************/

⌨️ 快捷键说明

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