📄 minid.h
字号:
/*****************************************************************
* 文件名: main.c
* 版本号:
* 创作日期: 2005.7.12
* 作者: fengzm
* 功能说明: 主函数
* 其它说明: 使用AVR单片机Atmega48, 晶振:8Mhz
*****************************************************************/
/*****************************************************************
* 修改日期:
* 修改人:
* 修改原因:
*******************************************************************/
#ifndef minid_h
#define minid_h
#include <iom48v.h>
#include <macros.h>
#include "PIDCALC.h"
#include "ADC.h"
#include "IIC.h"
#include "ENC.h"
#include "Err.h"
//宏定义:定义常用数据类型
#define byte unsigned char //常用数据类型byte
#define word unsigned int //常用数据类型word
#define dword unsigned long int //常用数据类型dword
//宏定义:定义常用口线操作等,具体应用前应根据实际情况修改!
#define LEDFLICKTIME1 50 // LED 灯闪烁时亮的时间T1 * 10 ms
#define LEDFLICKTIME2 50 // LED 灯闪烁时灭的时间T2 * 10 ms
#define LEDFLICKTIME3 150 // LED 灯闪烁时两次闪烁间隔时间T3 * 10 ms
//函数定义
void adc_init(void); //ADC initialize
void adc_isr(void);
word AdcPedal(word adcp); //踏板信号转换为对应的控制值
void timer1_capt_isr(void);
void timer1_init(void);
struct PID sPID; // 定义PID结构体
sdword SumDu; //增量式PID算法数值
dword g_Temp;
byte g_flag10ms; //定时器0溢出标志 0xff 有效
byte g_TotalEnc;
word g_CntUpdate,g_CntOld;
dword g_DeltaEnc;
byte g_AdcEnd,g_AdcNum;
word g_ValueAdc;
byte g_FirstData,g_IicData;
byte g_ErrCode01,g_ErrCode02; // 故障代码 每一位指代不同的故障// 初始化为0
word g_Over220VCnt; // 记录超过220v 的次数// 初始化为0
word g_Lower220VCnt; // 记录低于220v 的次数// 初始化为0
word g_Over400VCnt; // 记录超过400v 的次数// 初始化为0
word g_Lower400VCnt; // 记录低于400v 的次数// 初始化为0
word g_LowSpeedCnt; // 记录电机速度小于10 RPM 的次数// 初始化为0
byte g_LedTimesCnt; // LED 灯闪烁次数计数// 初始化为0
byte g_LedTimes; // LED 灯闪烁次数 // 初始化为0
byte g_LedTimesT1; // LED 灯闪烁时亮的时间统计 10ms 为单位// 初始化为0
byte g_LedTimesT2; //LED 灯闪烁时灭的时间统计 10ms 为单位// 初始化为0
word g_LedTimesT3; //LED 灯闪烁时间隔的时间统计 10ms 为单位// 初始化为0
byte g_MotorRun; // 电机运动状态标志 : 1 表示运行 0 表示停止// 初始化为0
byte g_LowVol; // 确定检测到欠压标志: 1 表示欠压// 初始化为0
byte g_SingleLowVol; // 单次欠压标志: 1 表示欠压// 初始化为0
byte g_SynEncoderErr; // 同步编码器故障: 1 表示发生故障// 初始化为0
byte g_MotorBlock; //电机堵转标志: 1 表示发生电机堵转// 初始化为0
byte g_LowSpeed; // 电机速度小于10 RPM 标志1 表示速度小于10 RPM // 初始化为0
byte g_NostopNeedle; // 无停针信号标志 : 1 表示无停针信号// 初始化为0
byte g_OverVol; // 确定检测到过压标志: 1 表示过压// 初始化为0
byte g_SingleOverVol; // 单次过压标志: 1 表示过压// 初始化为0
byte g_HallErr; // 电机HALL信号故障 标志1 表示电机HALL信号故障 // 初始化为0
byte g_LedType; // LED 灯闪烁类别 1 红灯 0 绿灯 // 初始化为0
byte g_StartLedFlick; // 启动LED 灯闪烁标志// 初始化为0
byte g_LedTimes; // LED 灯闪烁次数 1 表示 开始闪烁 // 初始化为0
byte g_E_Mag_No; // 选择电磁铁的序号1~3 // 初始化为1
byte g_Err_Det_Disable; // 故障检测禁止1 表示禁止检测故障 // 初始化为0
#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -