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

📄 ram.c

📁 电机测速程序,用nec芯片,5mhz晶振,调试通过
💻 C
字号:
#include "define.h"

/*--------------------------------------------*/
/*====== jumper define              ==========*/
/*--------------------------------------------*/
    /*1->接上跳线,0->断开跳线	
    	b0->JX2
    	b1->JF1
    	b2->JF2
    	b3->JPH
    	b4->JPM
    	b6->JX1
    */
#define JX2             sys_ram.0
#define JF1             sys_ram.1
#define JF2             sys_ram.2
#define JPH             sys_ram.3
#define cool_only       sys_ram.4
#define JP35       		sys_ram.5	/*已无跳线设定*/
#define JX1            	sys_ram.6

#define autostart       !JPH
#define TeShu_fan       sys_ram.7
/*
    TeShu_fan = 0 : 普通转速
    TeShu_fan = 1 : 非默认转速
*/

#define Vane_ID         JF2
/*
    Vane_ID = 0 : 旧风口 35V 用
    Vane_ID = 1 : 新风口 25V 用
*/


/*--------------------------------------------*/
/*====== Ram define                 ==========*/
/*--------------------------------------------*/

#define cdly1s          Flag1sRam1.0
#define outfan1s        Flag1sRam1.1
#define fantime1s       Flag1sRam1.2
#define guoyali_1s      Flag1sRam1.3
#define defrost_1s      Flag1sRam1.4
#define out_coil_1s      Flag1sRam1.5
#define coil4c_1s       Flag1sRam1.6
#define yure_1s         Flag1sRam1.7


#define emergency1s     Flag1sRam2.0
#define dew_prv1s       Flag1sRam2.1
#define timer1s         Flag1sRam2.2
#define sleep1s         Flag1sRam2.3
#define yufang_c1s      Flag1sRam2.4
#define autoMset1s      Flag1sRam2.5
#define c_c_t1s         Flag1sRam2.6
#define fan_very_hi_1s  Flag1sRam2.7


/*
#define fanVHi_1s       Flag1sRam3.0
*/
#define inside_1s       Flag1sRam3.1


#define tempfall_1s     Group1sRam.0
#define fancheck1s      Group1sRam.1
#define port1s          Group1sRam.2
#define fanerr1s        Group1sRam.3
#define ad1s            Group1sRam.4
#define fanctl1s        Group1sRam.5
/*
#define                 Group1sRam.6
*/
#define E2PRom1s        Group1sRam.7


#define d15sflg         Coffflag.0
#define d175sflg        Coffflag.1
#define d235sflg        Coffflag.2
#define d295sflg        Coffflag.3
#define d10mflg         Coffflag.4

#define c1min           Conflag.0
#define c2min           Conflag.1
#define c3min           Conflag.2
#define c5min           Conflag.3
#define c7min           Conflag.4
#define c8min           Conflag.5
#define c9min           Conflag.6
#define c10min          Conflag.7

#define roomtemp_err    Err_ram.0
#define incoiltemp_err  Err_ram.1
#define outcoiltemp_err Err_ram.2
#define fan_err         Err_ram.3


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

#ifdef MAINRAM
    #define __SUAdr         sreg unsigned char
    #define __SUWord        sreg unsigned int
    #define __SWord         sreg int
    #define __SAdr_union    sreg union
    #define __SAdr_struct   sreg struct
    #define __UAdr          unsigned char
    #define __UWord         unsigned int
    #define __Adr_union     union
    #define __Flag          bit
#else
    #define __SUAdr         extern sreg unsigned char
    #define __SUWord        extern sreg unsigned int
    #define __SWord         extern sreg int
    #define __SAdr_union    extern sreg union
    #define __SAdr_struct   extern sreg struct
    #define __UAdr          extern unsigned char
    #define __UWord         extern unsigned int
    #define __Adr_union     extern union
    #define __Flag          extern bit
#endif

/***********************
++++++++++++++++++++++++
    RAM define here
++++++++++++++++++++++++
**********************/
__Flag F0;

__SUWord coil4c_time,coil_time_cnt;
__SUWord timer10min;
__SUWord yufang_c_time;

__SUWord sleeptime,automodeT;
__SUWord dew_prv_time,emergency_test_time,c_cumulate_time;
__SUWord defrost_time,defrostTime,fallingtime,guoyali_Total_T;

__SWord  PID_buff,this_e,last_e,this_delta_e,last_delta_e,double_delta_e;
__SUWord this_CR00_v,set_v,spd_result,pulse_width_cnt;
__SUWord Old_CR90,Old_CR90_5ms;

__SUWord InSideDry_T;
/*
__SUWord Gao16bit,Di16bit,ChuShu16bit;
*/

__SAdr_union
{
    unsigned int word;
    struct
    {
        unsigned char L;
        unsigned char H;
    } byte;
} adHLram,Gao16bit,Di16bit,ChuShu16bit;

__SUAdr  Gao8bit,Di8bit,ChuShu8bit,yushu,shan;
__SUAdr  PluseOneCyc,fan_run_detect;

/*
Word_Buff,
#define tempc Word_Buff.byte.H
#define tempd Word_Buff.byte.L
*/

__SUAdr  Ram5mscnt;

__SUAdr  Flag1sRam1,Flag1sRam2,Flag1sRam3;  /* can be shorted */
__SUAdr  Group1sRam;             /* can't be shorted */

__SUAdr  Conflag,Coffflag;
__SUAdr  Err_ram;


__UAdr  rmot_fancode,rmot_fancode_bak;
__SUAdr  mode,runmode,oldrunmode,automode_mode,automode_settemp;

__SUAdr  vane_Tcnt;
__SUAdr  vane_mode;

/*
__SUAdr  v_position_cnt;
__SUAdr  v_object_cnt;
__SUAdr  v_angle_cnt;
*/
__SUWord  v_position_cnt;
__SUWord  v_object_cnt;
__SUWord  v_angle_cnt;

__SUAdr  v_swing_cnt;
__SUAdr  v_swing_dly;
__SUAdr  motor_step;


/********** only for adsub ***************/
__SUAdr  adnum;

__SUAdr  tempa,tempb;

/*
__SUAdr  Timer1mscnt;
*/

__SUAdr  ad_room,ad_coil,ad_out_coil,ad_ID,roomtemp,settemp;


__SUAdr  fan_1s_pls,fanspd_cnt,fan_p_cnt;

__SUAdr  buzcounter;

__SUAdr  remo_buff,remo_step,remo_byte,remo_bit;

__SUAdr  sys_ram,sys_ram_bak; /* system jumper flag */
__SUAdr  E2PROM_sys_ram;
        /*E2PROM中,10h-17h数据*/
        /* 10h-15h = GADEGG,并且
           16h = 17h,则数据有效
E2PROM_sys_ram bit 7 6 5 4 3 2 1 0
               | | | | | | |_|____> b1b0 : 00 - 正常机型
               | | | | | |                 01 - 25v/GC机型
               | | | | | |                 10 - SAMPO机型
               | | | | | |                 11 - 暂无
               | | | | | |________> b4 : 0 - 新风口(25V)  1 - 旧风口(35V)
               | | | | |__________>
               | | | |____________>
               | | |______________>
               | |________________>
               |__________________>
        */


__UAdr  T_on_m,T_off_m;
__UAdr  compoffT,componT,compTcnt;

__SUAdr  E2RomAdr;
__SUAdr  E2RomRWptr;
__SUAdr  E2RomRWnum; /*Max read cnt : 8 / Max write cnt : 8 */
__SUAdr  E2RomWork[8];


__SUAdr  flashcnt;


__SUAdr  reg_remo_fan;

__UAdr key_cnt,k_ID,k_ck_T;

__UAdr yuretime,guoyali_time;


__UAdr outfan_d5s;


__UAdr defrost_step;

__UAdr fantime;

__SUAdr old_fan_run_word,fan_run_word;

__SUAdr fancheckram,fanerrram;


__SUAdr tempfalltime,old_incoiltemp;

__SUAdr  incoilcnt,coiltempbuff,incoiltemp;

/*
__SUAdr position_plus;
*/

__SUAdr K_short_cnt;

__SUAdr FlagRamOne;
__SUAdr FlagRamTwo;
__SUAdr FlagRamThree;
__SUAdr FlagRamFour;
__SUAdr FlagRamFive;
__SUAdr FlagRamSix;
__SUAdr FlagRamSeven;
__SUAdr FlagRamEight;
__SUAdr FlagRamNine;
__SUAdr FlagRamTen;


__UAdr heater_dly_cnt;

__SUAdr jixing;


__SUAdr angle_off_v;
__SUAdr angle_1_v;
__SUAdr angle_3_v;
__SUAdr angle_4_v;
__SUAdr angle_5_v;

__SWord angle_2_v;
__SWord position_plus;

__SUAdr remo_code[14],test1,test2;

__SUAdr Task_ptr;

__SUAdr remoTimerCnt;
__SUAdr send_loop,send_byte,TmsCnt,show_cnt;
__SUAdr show_dataL,show_dataH,led_show,show_buff[4];
__SUAdr time_300ms_cnt;

__UAdr tm82_5ms_cnt,tm82_1s_cnt,tm82_20ms_cnt;
__UAdr show_type;
__UAdr fan_very_hi_1min,fan_very_hi_30min,fan_1min_cnt;
__UAdr fan_run_10min,fan_run_1h,fan_run_240h;
__UAdr show_data_bak,show_data;
__UAdr temptime,flash_T_cnt;

/*********************************************/
#define save_power  FlagRamOne.0
#define saveTflg    FlagRamOne.1
#define ACKOk       FlagRamOne.2
#define E2PROM_Ok   FlagRamOne.3
#define E2PROM_ison FlagRamOne.4
#define Data_right  FlagRamOne.5
#define remo_ok     FlagRamOne.6
#define remo_ready  FlagRamOne.7

#define comp        FlagRamTwo.0
#define valve       FlagRamTwo.1
#define outdoor_fan FlagRamTwo.2
#define aux_heater  FlagRamTwo.3
#define TCB         FlagRamTwo.4
#define power       FlagRamTwo.5
#define abnormal    FlagRamTwo.6
#define fan_off     FlagRamTwo.7

#define emergency       FlagRamThree.0
#define emergency_test  FlagRamThree.1
#define To100msFLG      FlagRamThree.2
#define yufang          FlagRamThree.3
#define defrost         FlagRamThree.4
#define timer           FlagRamThree.5
#define time_on         FlagRamThree.6
#define time_off        FlagRamThree.7

#define automode_settemp_ok     FlagRamFour.0
#define mode_is_selt            FlagRamFour.1
#define dry_init_temp_ok        FlagRamFour.2
#define coolfan_prv             FlagRamFour.3
#define defrost_interval_pass   FlagRamFour.4
#define first_mode_change       FlagRamFour.5
#define incoil_falling          FlagRamFour.6
#define TERM_C                  FlagRamFour.7

#define sleeptime_pass      FlagRamFive.0
#define H_comp_150min_ok    FlagRamFive.1
#define close_ok            FlagRamFive.2
#define position_ok         FlagRamFive.3
#define vane_work_or_close  FlagRamFive.4
#define dew_prv             FlagRamFive.5
#define vane_cool_prv       FlagRamFive.6
#define v_up_down           FlagRamFive.7

#define triger_flg          FlagRamSix.0
#define triger_lock         FlagRamSix.1
#define oldkey              FlagRamSix.2
#define oldkeystd           FlagRamSix.3
#define fan_is_ok           FlagRamSix.4
#define f_chck_first        FlagRamSix.5
#define too_top_press_flg   FlagRamSix.6
#define comp_ever           FlagRamSix.7

#define inside_dry      FlagRamSeven.0
#define adstart         FlagRamSeven.1
#define beeon           FlagRamSeven.2
#define beeLong         FlagRamSeven.3
#define beeLongFLG      FlagRamSeven.4
#define fan_spdVAL_ok   FlagRamSeven.5
#define FLG5ms          FlagRamSeven.6
#define FLG500ms        FlagRamSeven.7

#define flash05sflg     FlagRamEight.0
#define whoshow         FlagRamEight.1
#define flash_ms        FlagRamEight.2
#define flash_flg       FlagRamEight.3
#define outcoil_flg     FlagRamEight.4
#define short_EN        FlagRamEight.6
#define keyisOK         FlagRamEight.7

#define press_exit_255s FlagRamNine.0
#define ziwaiLED        FlagRamNine.1
#define step_swing_FLG  FlagRamNine.2
#define swing_init      FlagRamNine.3
#define up_swingFLG     FlagRamNine.4
#define clean     		FlagRamNine.5
#define dryness_flg    	FlagRamNine.6
#define comp_ever_cool 	FlagRamNine.7

#define tm51ok 			FlagRamTen.0
#define tm82_20ms 		FlagRamTen.1
#define fan_1min 		FlagRamTen.2
#define rinse_flg 		FlagRamTen.3
#define delay_30s_flg	FlagRamTen.4
#define clean_disreco_flg	FlagRamTen.5

⌨️ 快捷键说明

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