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

📄 jf_atmel.h

📁 一款完整的家用电器程序,具有控制商用机的功能,应用广泛,有一定的参考价值
💻 H
📖 第 1 页 / 共 3 页
字号:
	#define		b_rh_highlimit 	0x10  //回风湿度高于上限
unsigned   char fault_state_dir_L;	//主模块板故障标志  test,同fault_state6
	#define		b_th_lowlimit 	0x80  //回风温度低于下限
	#define		b_th_highlimit 	0x40  //回风温度高于上限
	#define		b_rh_lowlimit 	0x20  //回风湿度低于下限
	#define		b_rh_highlimit 	0x10  //回风湿度高于上限
		
unsigned   char fault_state_dir_H;	//主模块板故障标志 test
	#define		b_fault_v_high	0x01	//电压过高故障
	#define		b_fault_v_low	0x02	//电压过低故障
	#define		b_fault_wet		0x04	//地面有水报警
	#define		b_fault_fire	0x08	//消防报警
	#define		b_fault_yonghu1	0x10	//用户连锁报警1
	#define		b_fault_yonghu2	0x20	//用户连锁报警2
	#define		b_fault_yonghu3	0x40	//用户连锁报警3
	#define		b_fault_yonghu4	0x80	//用户连锁报警4	
unsigned   char fault_yuliu;	//20071115数据11预留 主模块故障标志 B7
	#define		b_fault_stop	0x80	//主模块板发出的停机命令如水浸开关报警、高低电压、消防报警停止整机		
	#define		b_fault_hmi		0x40	//主模块与触摸屏通讯故障
unsigned   char fault_state_temp;  //故障标志暂存值 未用
unsigned   char fault_state2_temp;  //故障标志暂存值 未用
unsigned   char fault_state3_temp;  //故障标志暂存值 未用
unsigned   char fault_state4_temp;  //故障标志暂存值 未用
unsigned   char fault_state5_temp;  //故障标志暂存值 未用
unsigned   char fault_state6_temp;  //故障标志暂存值 未用		
	
void 	init_devices(void);
void 	port_init(void);
void 	timer0_init(void);
void 	timer2_init(void);
void 	uart0_init(void);
void 	uart1_init(void);
void 	adc_init(void);
void fun_humid_i_act(unsigned   char  imax10); //按电流大小来动作加湿器程序

void    ADStartP(void);		//启动AD并等待转换完成
void    funADsample(void);//AD采样程序
signed char  Fun_ad_20k(unsigned char  thAD);	//将AD采样值查表得到温度值20K感温包-分压电阻20K,,15K感温包-分压电阻15K
unsigned char  Fun_ad_50k(unsigned char  thAD);//将AD采样值查表得到排气温度值50K感温包-分压电阻15K
void funADsum(void);	//将AD采样值进行64次加,取高8位为AD值
void fun_act_on(void);	//手动开机(ff)
void fun_guanji(void);	//关机
void fun_comp_off(void);	//关压缩机
void fun_humid_on(void); //启动加湿器
void fun_fault_guanji(void); //故障停机
void fun_fan_delay_on(void); //内风机等待延时启动
void fun_fan_delay_off(void); //内风机等待延时关
void fun_set_default(void); //出厂设置值初始化
void fun_delaytime_1s(void); //在1S中定时程序
void fun_delaytime_20s(void); //在20S中定时程序
void fun_ofandelayoff(void);	//冷凝风机等待延时关
void fun_comp_delayon(void);	//压缩机等待延时开 
void fun_fault_detect(void); //故障检测程序
void fun_lpp(void);	//压缩机低压开关保护
void fun_comp_off_fault(void);  //故障时关压缩机
void fun_rxdgood0(void );	//接收正确处理程序
void fun_rxd_data0(void);	//存入显示板点名的数据 
void fun_txddata0_ID(void);	//取uart0发送ID命令
void fun_txd_data0(void);	//发送主板的数据
unsigned   char t_20s_times;	//20s计时时间
unsigned   char t_1min_times;	//2分钟计时时间
unsigned   char t_lpp_delaytime ; //定时3min到
unsigned    char   rxd_state0;	//接收状态
unsigned    char   rxd_command0;	//接收命令字
unsigned    char   rxd_len0;	//接收长度
unsigned    char   rxd_len0_ask;	//接收长度的规定值
unsigned    char   rxd_good0;	//
unsigned    char   rxd_checksum0;	//接收校验码	
unsigned    char   rxd_data0[40];	//接收数据缓冲区
unsigned    char   txd_data0[40];	//发送数据缓冲区
unsigned    char   txd_state0;	//uart0 0x01-txd_rxdstart=1,0x02-rxd_txdstart=1
//uart1  0x08-txd_rxdstart=1,0x04-rxd_txdstart=1
	#define		txd_rxdstart1	0x04	//uart1发送完成转接收的启动标志 no use
	#define		rxd_txdstart1	0x08	//uart1接收完成转发送的启动标志
	#define		txd_rxdstart0	0x01	//uart0发送完成转接收的启动标志 no use
	#define		rxd_txdstart0	0x02	//uart0接收完成转发送的启动标志
unsigned    char   txd_len0;	//
unsigned    char   txd_rxd_delaytime0;	//接收转发送的延时
unsigned    char   txd_len0_ask;  //ask len
//uart1
void fun_txddata(void );	//取发送数据程序
void fun_rxdgood(void );	//接收正确处理程序
unsigned    char   rxd_state;	//接收状态
unsigned    char   rxd_command;	//接收命令字
unsigned    char   rxd_len;	//接收长度
unsigned    char   rxd_len1_ask;	//接收长度的规定值
unsigned    char   rxd_good;	//???
unsigned    char   rxd_checksum;	//接收校验码	
unsigned    char   rxd_data[75];	//接收数据缓冲区
unsigned    char   txd_data[75];	//发送数据缓冲区
unsigned    char   txd_len;	//发送长度
unsigned    char   txd_rxd_delaytime;	//接收转发送的延时
unsigned    char   time_flag;	//01-10ms,80-1s
#define		b_time_1s	0x80	//定时1s到
#define		b_time_20s	0x40	//定时20s到
#define		b_time_1min	0x20	//定时1 min到
#define		b_time_3s	0x10	//定时3s到
#define		b_time_5s	0x08	//定时5s到
#define		b_time_100ms	0x04	//定时100ms到
#define		b_time_30min	0x02	//定时30min到
#define		b_time_10ms	0x01	//定时10ms到
unsigned   char t_10ms_times;  //10ms时间计时
unsigned   char t_5s_times;	//计时5s
unsigned    char   ADsum_times;	//AD采样次数
unsigned    char   i_humid_AD;	//加湿电流AD值
unsigned    int   defrost_AD;	//管温AD值
unsigned    int   evin_AD;
unsigned    char   exghaust_AD;	//排气温度AD值
unsigned    int    valctlcount;
unsigned    char   xs;
unsigned    char   exghaust_TH;	//排气温度的值
signed    char   defrost_TH;	//管温值
unsigned	char   defrost_time;
unsigned	char   evin_time;
signed    char   evin_TH;
unsigned    int    i_evin_sumADL;
unsigned 	int	   i_evin_sumADH;
unsigned    int    i_i_humid_sumADL;	//加湿电流读低8位AD值
unsigned    int    i_i_humid_sumADH;	//读高8位AD值
unsigned    int    i_defrost_sumADL;	//压缩机电流低8位AD值
unsigned    int    i_defrost_sumADH;
unsigned    int    i_exghaust_sumADL;	//室外排气温度低8位AD值
unsigned    char   i_exghaust_sumADH;
//RT1
#define		noACK 1	//应答1结束与SHT通讯
#define		ACK 0	//应答0继续与SHT通讯
					//addr  command r/w
#define		STATUS_REG_W 0x06	//000  0011     0
#define		STATUS_REG_R 0x07	//000  0011     1
#define		MEASURE_TEMP 0x03	//000  0001     1
#define		MEASURE_HUMID 0x05	//000  0010     1
#define		RESET	 0x1E		//000  1111     0
unsigned char  rh_value;  //补偿后的湿度值
float t_value; //计算得到的温度值
signed int t_value10; //补偿后的的温度值*10=t_value*10+th_value_modify
void s_write_byte(unsigned char value);
unsigned char s_read_byte(unsigned char ack); //读字节
void s_transstart(void); //起始步
void s_connectionreset(void);	//SHT失控时连续发9个SCK使其复位
float calc_sth15_t(unsigned char temp_h1,unsigned char temp_l1);  //计算温度值
unsigned char calc_sth15_rh(unsigned char rh_h1,unsigned char rh_l1,float t); //根据读入的湿度值计算湿度
void delay_20us(void); //延时20us
void delay_tt(unsigned int tt); //延时tt次20us

unsigned  char  fault_hpp_times;	//连续检测到高压开关断开的次数
unsigned  char  fault_pfan_times;	//连续检测到外风机断开的次数
unsigned  char  fault_nixiang_times;	//连续检测到逆相保护器断开的次数
unsigned  char  fault_comp_guozai_s;	//连续检测到过流保护器断开的秒
unsigned  char  fault_comp_guozai_times;	//检测到过流保护器的次数
unsigned  char  fault_nixiang_times;	//连续检测到外风机断开的次数
unsigned  char  fault_overheat1_times;	//连续检测到限温器1断开的次数
unsigned  char  fault_overheat2_times;	//连续检测到限温器2断开的次数
unsigned  char  fault_heatdai_times;	//连续检测到电加热带断开的次数
unsigned  char  fault_pfilter_times;	//连续检测到过滤器堵塞的次数
unsigned  char  t_comp_gz_delaytime;	//检测到过流保护器的延时时间
unsigned  char  comp_guozai_clear_time;	//检测到过流保护器恢复的时间
unsigned  char  address;	//本机地址
unsigned  char  T_addr;	//发送方地址
unsigned  char  ID_h;	//IDH机组ID号
unsigned  char  ID_l;	//IDl机组ID号

void fun_1232_wdt(void);  //1232的看门狗翻转时钟脉冲

void fun_beep(unsigned	char beep_time_temp);	//初始化定时器2,开始CTC模式 



unsigned   char    t_value_lowset_times;  //回风温度信号低于设定值时间
  unsigned   char    t_value_highset_times;  //回风温度信号高于设定值时间
  unsigned   char  rh_value_lowset_times;  //湿度低于设定值次数
  unsigned   char  rh_value_highset_times;  //湿度高于设定值次数
 unsigned   char  auto_state;  //自动中用的状态
  	#define		b_t_auto_run	0x80	//D7自动运行时间到
  	#define		b_sht_temp_measure		0x40	//D6温度SHT开始测量
  	#define		b_sht_humid_measure		0x20	//D5湿度SHT开始测量
  	#define		b_sht_noACK		0x10	//D4温湿度SHT测量无应答
  	#define		b_beep_stop		0x08	//蜂鸣器间隔停止
  	#define		b_humid_paishui_end		0x04	//20080417加湿排空水结束
  	#define		b_humid_clean_big		0x02	//加湿清洗
  	#define		b_humid_clean_end		0x01	//加湿清洗结束
unsigned   int t_power_on;	//上电时间秒
unsigned   char  t_auto_start;  //30秒前加自动开始时间
  unsigned   char  t_heat1_on;  //电加热1开时间
  unsigned   char  t_heat2_on;  //电加热2开时间	
  unsigned   char  t_heat1_off;  //电加热1关时间
  unsigned   char  t_heat2_off;  //电加热2关时间
  unsigned   char  rh_low20s_times;  //湿度低于前20秒次数 200712已取消
  unsigned   char  rh_high20s_times;  //湿度高于前20秒次数 200712已取消	
  unsigned   char  t_high20s_times;  //温度T大于前20秒T次数 200712已取消	
  unsigned   char  t_low20s_times;  //温度T低于前20秒次数 200712已取消
unsigned char TH_lowlimit; //回风温度下限
unsigned char TH_highlimit; //回风温度上限
unsigned char RH_lowlimit; //回风湿度下限
unsigned char RH_highlimit; //回风湿度上限
unsigned char t_value_ok_times;  //回风温度在上下限之间
unsigned char rh_value_ok_times;  //回风温度在上下限之间
unsigned int i_highlimit_times; //电流高于上限值时间
unsigned int i_lowlimit_times; //电流低于下限值时间
unsigned int i_highlimit; //电流上限值
unsigned int i_lowlimit; //电流下限值
signed int t_value10_20s; //前面20s温度值
unsigned char  rh_value_20s;  //前面20s湿度值
unsigned char key_onoff_time;  //按下开关按钮的持续时间
unsigned char key_reset_fault_time;  //按下复位按钮的持续时间
unsigned char key_urgent_time;  //按下紧急按钮的持续时间
unsigned    char   key_temp;	//保存PORTE的3个按钮

unsigned   char int_THset; //设定温度出厂设置23整数
unsigned   char RHset; //设定湿度出厂设置50%D整数
unsigned   char dig_THset;//低4位为设定温度出厂设置小数
unsigned   char  rh_actual;	//湿度精度RHm2~10,出厂设置5
unsigned   char th_actual10;  //温度精度Tm 0.5~5,出厂设置*10
signed    char  rh_value_modify;	//字节17回风湿度修正值负数
signed    char  th_value_modify;	//字节18回风温度修正值负数*10
unsigned    char   i_humid10;	//加湿电流*10
unsigned    char  dangwei_ofan;	//室外风机档位预留

⌨️ 快捷键说明

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