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

📄 user.h.bak

📁 此文件是一个完整的发动机转速表,用步进电机实现指示功能,利用HOLTECK的HT46R232作为MCU.
💻 BAK
字号:
#ifdef  USER_MAIN_GLOBALS
#define MAIN_EXT
#else
#define MAIN_EXT  extern
#endif
#define     USER_SIG       6 

#define _nop_()   asm("nop")    //空指令
#define  SPEED     _pa5        //车速         
#define   CLRDATA       _pa4           //清零按键
#define SEEPLONG        800  //转一圈所需要的脉冲数,
#define ENGSEEPLONG     130        //发动机1转输出的脉冲数
#define STEEPFAR        800       //一个脉冲所走的距离放大了1000倍 
#define ONEKMNUMB       100000         //0.1KM
#define WRITEADRSS      4             //当前数据存储的地址
#define WRITEDATE       8           //数据存储的起始地址

MAIN_EXT INT8U   WriteNumb;               //写入的次数
MAIN_EXT INT8U   WriteAdrss;              //写入的地址
MAIN_EXT INT16U  ExternNowTime;           //一次采集的低脉冲时间
MAIN_EXT INT16U  NowAllPulseTime;         //一次采集的低脉冲时间
MAIN_EXT INT32S  CountNumb;               //计到的里程数
MAIN_EXT INT16U  NowFast;                 //当前的时速
MAIN_EXT INT16U  LastFast;                //上次的时速
MAIN_EXT INT8U   Time_Set;                //倒计时               //单程里程
MAIN_EXT bit     Tmr0OutEn;

MAIN_EXT INT16U  Speed_AllPulseTime;            //总累计时间
MAIN_EXT INT16U  Speed_PulseNumb;               //采到的脉冲数
MAIN_EXT INT16U  Speed_NowAllCountTime;         //本此采集过程总累计时间
MAIN_EXT INT8U   Speed_PulseTimeA[30];           //采到的脉冲的时间CHG
MAIN_EXT INT8U   Speed_PulseTimeB[30];           //CHG
MAIN_EXT INT8U   Speed_NowPulseTime;             //CHG当前脉冲的时间
MAIN_EXT INT16U  Speed_ErrorTime;               //总采样时间 
MAIN_EXT INT16U  Speed_CountRxImpNumb;
MAIN_EXT bit     SpeBufStat;
MAIN_EXT INT8U   VidaoHex[10];             //显示缓冲区
MAIN_EXT INT8U   VidaoDate[10];           //送显数据缓冲区 
MAIN_EXT INT8U   NowChangeFiles;          //当前的最大档位值          

//MAIN_EXT INT8U   CarFiles;                //车当前的档位
MAIN_EXT INT16U  Speed_Fcp,Speed_Fcd,Speed_Fcj;
MAIN_EXT bit     Speed_OneOver;               //采集一组完成标志
MAIN_EXT bit     RightLeft;               //正转标志
MAIN_EXT bit     ChangeRun;               //改变速度标志
MAIN_EXT bit     BStartInit;              //工作状态标志
MAIN_EXT bit     SizatReturn;              //指针归位标致


MAIN_EXT INT8U   AddSteep;                //加速步距
MAIN_EXT INT8U   SetTime;                 //设定运行时间
MAIN_EXT INT8U   NowRexNumb;              //当前档位
MAIN_EXT INT16S  StartSeat;               //启动位置(当前位置)
//MAIN_EXT INT16S  EndSeat;               //目标位置
MAIN_EXT INT16S  RunGap;                  //需要运行的距离
MAIN_EXT INT8U   PWMNumb;                 //当前的PWM数组的位置
MAIN_EXT INT8U   AddSteep;                //加速步距
MAIN_EXT INT8U   ChangeFiles;             //当前档位值
MAIN_EXT INT8U   NowFilesDate;
MAIN_EXT INT8U   ChangeSteep;             //低速时的电极换向时间
MAIN_EXT INT8U   ADErrorTime;
//MAIN_EXT INT16U  PulseNumb;               //采到的脉冲数

/**********************************************************
                        以下为新添加的变量
/**********************************************************/
#define PWMDate1     _pwm0
#define PWMDate2     _pwm1
#define PWMDate3     _pwm2
#define PWMDate4     _pwm3
#define   MOUT1        _pd0
#define   MOUT2        _pd1
#define   MOUT3        _pd2
#define   MOUT4        _pd3
#define   TEXT         _pa5

#define MAXHOURFAST     3500           //最高时速
#define MAXSTEEP        2880           //表盘最大的步数   
const unsigned char PWMOutDate1[24]={245,230,210,150,75,45,0,0,0,0,0,0,0,0,0,0,0,0,0,45,75,150,210,230};
const unsigned char PWMOutDate2[24]={0,0,0,0,0,0,0,45,75,150,210,230,245,230,210,150,75,45,0,0,0,0,0,0};
const unsigned char PWMOutDate4[24]={75,45,0,0,0,0,0,0,0,0,0,0,0,0,0,45,75,150,210,230,245,230,210,150};
const unsigned char PWMOutDate3[24]={0,0,0,45,75,150,210,230,245,230,210,150,75,45,0,0,0,0,0,0,0,0,0,0};
//const unsigned char ChangeTemr0Date_l[14]={0x00,0x60,0x00,0xa0,0xa0,0x00,0x00,0x00,0x80,0xc0,0x20,0x40,0x00,0xc0};
//const unsigned char ChangeTemr0Date_h[14]={0xe0,0xe5,0xe8,0xea,0xee,0xf1,0xf3,0xf5,0xf6,0xf7,0xf8,0xf9,0xfa,0xfc};
//const unsigned char LowChangeTemr0Date_l[7]={0x00,0x60,0x00,0xa0,0xa0,0x00,0x00};
//const unsigned char LowChangeTemr0Date_h[7]={0xe0,0xe5,0xe8,0xea,0xee,0xf1,0xf3};

const unsigned char ChangeTemr0Date_l[14]={0x00,0x60,0x00,0xa0,0xa0,0x00,0x00,0x00,0x80,0xc0,0x88,0x50,0x18,0x1d};
const unsigned char ChangeTemr0Date_h[14]={0xe0,0xe5,0xe8,0xea,0xee,0xf1,0xf3,0xf5,0xf6,0xf7,0xf8,0xf9,0xfa,0xfb};
const unsigned char LowChangeTemr0Date_l[7]={0x00,0x60,0x00,0xa0,0xa0,0x00,0x00};
const unsigned char LowChangeTemr0Date_h[7]={0xe0,0xe5,0xe8,0xea,0xee,0xf1,0xf3};
 



//const unsigned char ChangeTemr0Date_l[14]={0xfd,0xfd,0xfd,0xfd,0xfd,0x00,0x00,0x00,0x80,0xc0,0x20,0x40,0x00,0xc0};
//const unsigned char ChangeTemr0Date_h[14]={0xef,0xef,0xef,0xef,0xef,0xf3,0xf3,0xf5,0xf6,0xf7,0xf8,0xf9,0xfa,0xfc};
//const unsigned char LowChangeTemr0Date_l[7]={0xfd,0xfd,0xfd,0xfd,0xfd,0x00,0x00};
//const unsigned char LowChangeTemr0Date_h[7]={0xef,0xef,0xef,0xef,0xef,0xf3,0xf3};

//const unsigned char ChangeNumbSeep[14]={2,2,2,2,3,3,4,4,4,4,5,5,6,3};
//const unsigned char SlowDate[6]={5,4,3,2,1,0};

const unsigned char ChangeNumbSeep[19]={1,1,1,2,2,2,2,2,3,3,3,3,3,3,4,4,4,4,1};
//const unsigned char ChangeNumbSeep[19]={2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,1};
const unsigned char SlowDate[6]={1,1,1,1,2,2};
/*********************************************************/
MAIN_EXT void CountMotTheer(void) ;
MAIN_EXT void CountRunFar(INT16S sav,INT32S allfar) ;
MAIN_EXT void CountRunSeep(void);
MAIN_EXT void CPU_Init(void);
MAIN_EXT void Delay(INT16U numb);
MAIN_EXT void EngCountRunSeep(void);
MAIN_EXT void interrupt Int0Int(void);
MAIN_EXT void ReadFarDate(void);
MAIN_EXT void SeeKey(void);
MAIN_EXT void VidaoDisp(void) ;
MAIN_EXT void WriteFarDate(void); 
MAIN_EXT void InitialMCU(void);
MAIN_EXT void SpeedDigFilter(void);
MAIN_EXT void IntMast(void);

⌨️ 快捷键说明

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