📄 water.h
字号:
#include<aduc842.h>
#include<absacc.h>
#include<intrins.h>
#include<math.h>
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
#define uint unsigned int
#define uchar unsigned char
#define nop _nop_
#define TsetL 500 //设定温度的下限值为5度
#define TsetH 3500 //设定温度上限值为35度
#define LimL 50 //设定最低流量为0.5升
#define LimH 100 //设定最高流量为1升
#define CUR 0.0001 //温控恒流源100uA
#define N0 5
#define N2 5
#define N3 5
#define N4 3
#define N5 5
#define N6 5
#define N7 5
uint xdata filter0_buf[N0];
uint xdata filter2_buf[N2];
uint xdata filter3_buf[N3];
uint xdata filter4_buf[N4];
uint xdata filter5_buf[N5];
uint xdata filter6_buf[N6];
uint xdata filter7_buf[N7];
uchar xdata array0,array2,array3,array4,array5,array6,array7;
/* *************************7279 operation *************************************/
#define CMD_RESET 0xa4
#define CMD_TEST 0xbf
#define DECODE0 0x80
#define DECODE1 0xc8
#define CMD_READ 0x15
#define UNDECODE 0x90
#define RTL_CYCLE 0xa3
#define RTR_CYCLE 0xa2
#define RTL_UNCYL 0xa1
#define RTR_UNVYL 0xa0
#define ACTCTL 0x98
#define SEGON 0xe0
#define SEGOFF 0xc0
#define BLINKCTL 0x88
/*KEY number*/
#define KEY_STANDBY 2
#define KEY_ADD 5
#define KEY_SUB 3
#define KEY_MODE 1
#define KEY_DISPLAY 0
#define KEY_ENTER 4 //service
/*LED number */
#define LED_Enter 19
#define LED_Internal 21
#define LED_External 20
#define LED_CW 22
#define LED_Power 10
#define LED_LackWater 11
#define LED_FlowLow 12
#define LED_Fault 13
#define LED_Standby 18
sbit CS = P0^4;
sbit CLK = P0^5;
sbit DAT = P0^6;
sbit KEY = P0^7;
void delay(uint i);
void long_delay(void);
void short_delay(void);
void send_byte( uchar out_byte);
uchar receive_byte(void);
void write7279(uchar cmd, uchar dta);
uchar read7279(uchar cmd);
void GetFlow();
void GetTemset();
void GetTemTin();
void GetTemTout();
uint filter(uchar channel);
uint GetADCData(uchar channel);
void TempContral(uint t);
void initlization();
void key_detect();
void key_process(uchar key_number);
void AddProcess(void);
void SubProcess(void);
void AdjustProcess(void);
void ScreenFresh();
void DispPage(uchar page);
void FaultDisp();
void Fault();
void FaultDisp();
void StoreData2();
void RetriveData2();
void ExTempSet();
void Excontrol();
void closeWater();
void Ldelay();
void SendLim();
void SendTout();
/********************************************* 液晶 ********************************************/
//指令集定义
#define SClear 0x01 //清显示指令
#define SOrigin 0x80 //屏幕开始处
#define SEntryMode 0x06 //设置输入模式
#define SDispOn 0x0c //设置开显控制
#define SDispOff 0x08 //设置关显控制
#define SCursorOn 0x0e //设置光标显示
#define SConvertOn 0x0f //设置光标处反白
#define SFunSetB 0x30 //功能设定(基本指令)
#define SFunSetE 0x24 //功能设定(扩充指令)
#define SFunDrawOn 0x36 //设置绘图功能
//逻辑
#define OFF 0 //逻辑关
#define ON 1 //逻辑开
sbit SCLK=P2^0;
sbit SID=P2^1;
sbit SCS=P0^3;
uint Tout,Tin,Pout,Timernum;
uint Lim=80,Tset=2500,Tc,TsetB;
uchar Moder,Second=0;
uint TL=0;
uint xdata Ni;
uint xdata Rate,T;
uint xdata count=0;
uint xdata NT,N;
uint xdata Toutc,ToutB;
uchar xdata DataChflag = 0;
uchar I=0;
bit longflag=0;
bit Star=0; //制冷开启标志位
bit Time=0;
bit Time1=0;
bit Time2=0;
bit Time3=0;
bit Time4=0;
bit Time5=0;
bit begin=1; //内控按键控制标志位
sbit PWM=P2^7;
sbit WATER=P2^6; //水泵
sbit Ready=P2^4; //外控制冷启动端口需确定
sbit water=P2^5;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -