?? control.c
字號(hào):
#include <reg52.h>
#include <ctype.h>
#include <stdlib.h>
#include <stdio.h>
#include <math.h>
#include <intrins.h>
#include "subddc.h"
// 0 1 2 3 4 5 6
// delay_time0,dleay_time1,set_temper,temper_repair,start_bit_temper_repair,defrost_delay_time0,defrost_delay_time1,
// 0 1 2
// defrost_time0,defrost_time1,defrost_temper,
// 多長(zhǎng)時(shí)間內(nèi)收不到數(shù)據(jù),錯(cuò)誤指示燈亮(10秒)
#define NORECE_TIME_MAX 10
#define TEMPER_MIN 102
#define TEMPER_MAX 214
#define HUMIDITY_MIN 15
#define HUMIDITY_MAX 100
#define TRAN_WAIT 15
// 三次發(fā)送的總時(shí)間不能超過(guò)100MS
#define TRAN_ALL_TIME 100
#define TRAN_AGAIN_MAX 30
// 接收到數(shù)據(jù)進(jìn)行回送時(shí),延遲的時(shí)間不超過(guò)10MS
#define TRAN_DATA 3
#define INPUT_COUNT_MAX 7
// 其它的輸出延遲 0.1s
#define OUTPUT_COUNT_MAX 100
// 壓縮機(jī)輸出延遲 15s
#define COMPRESSOR_DELAY_MAX 150
#define TEMPER_OFFSET 2
//
#define START_RUN_MAX 2
// 水泵和風(fēng)扇延遲5S后判斷兩個(gè)設(shè)備是否確認(rèn)開(kāi)啟
#define START_CHECK_MAX 5
// 以秒為單位
#define STOP_DELAY_MAX 15
// 壓縮機(jī)延遲5S后 判斷壓縮機(jī)開(kāi)啟標(biāo)志
#define YSJBH_DELAY_MAX 5
#define TEMPER_HIGH_MAX 60
#define TEMPER_LOW_MIN 1
#define delay_time0 ram_wr24c02[0]
#define delay_time1 ram_wr24c02[1]
#define set_temper ram_wr24c02[2]
#define temper_repair ram_wr24c02[3]
#define start_temper ram_wr24c02[4]
#define defrost_delay_time0 ram_wr24c02[5]
#define defrost_delay_time1 ram_wr24c02[6]
#define defrost_time0 ram_wr24c02[7]
#define defrost_time1 ram_wr24c02[8]
#define defrost_temper ram_wr24c02[9]
#define last_day ram_wr24c02[10]
//--------------------------------------------
unsigned char code temper_table[]={
// -20 -19 -18 -17 -16 -15 -14 -13 -12 -11 -10, -9, -8, -7, -6, -5, -4, -3, -2, -1, 0
// 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
103,106,108,111,114,117,119,122,125,128,130,133,136,139,141,144,147,150,152,155,158,
// 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40
161,163,166,169,172,174,177,180,183,185,188,191,194,196,199,202,205,207,210,213
};
unsigned char code humidity_table[]={
0x00,0x00,
} ;
// this is write and read 24c02 and 8563 sub
extern void Read24c02(unsigned char idata *RamAddress,unsigned char RomAddress,unsigned char bytes);
extern void Write24c02(unsigned char idata *RamAddress,unsigned char RomAddress,unsigned char bytes);
// this is for communication checksum
extern unsigned char crc8(unsigned char idata *ptr,unsigned char len);
extern unsigned int read1543(unsigned char byte);
// this is for key_scan and key_deal
unsigned char bdata status_ram0,status_ram1;
unsigned char bdata protect_ram0,protect_ram1;
// define IO port
sbit work_bit=status_ram0^0; // 下位機(jī)正處于工作狀態(tài)
sbit lj_bit=status_ram1^0; // 冷機(jī)的標(biāo)志位
sbit sb_bit=status_ram1^1; // 水泵的標(biāo)志位
sbit f1_bit=status_ram1^2; // 閥1的標(biāo)志位
sbit f2_bit=status_ram1^3; // 閥2的標(biāo)志位
sbit heat_bit=status_ram1^4; // 加熱標(biāo)志
sbit defrost_bit=status_ram1^5; // 除霜標(biāo)志
sbit fan_bit=status_ram1^6; // 風(fēng)扇標(biāo)志
// define protect port
sbit qsbh_bit=protect_ram0^0;
sbit gybh_bit=protect_ram0^1;
sbit dybh_bit=protect_ram0^2;
sbit yybh_bit=protect_ram0^3;
sbit qxbh_bit=protect_ram0^4;
sbit ysjbh_bit=protect_ram0^5;
sbit fjbh_bit=protect_ram0^6;
sbit sbbh_bit=protect_ram0^7;
bit sec_bit; // 此標(biāo)志位專(zhuān)為通訊而設(shè)置
bit write_bit_24c02;
bit rece_bit_success; // 下位機(jī)接收的數(shù)據(jù)正確
bit rece_bit_fail ; // 下位機(jī)接受的數(shù)據(jù)是錯(cuò)誤
?? 快捷鍵說(shuō)明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號(hào)
Ctrl + =
減小字號(hào)
Ctrl + -