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

📄 common.h

📁 本程序是一个人机接口程序
💻 H
字号:
#ifndef common_h
#define common_h
#include "intrins.h" 
#include "reg51.h"

sfr  WDT_CONT  = 0xe1;
#define feeddog() WDT_CONT=0X37 

#define INPUT_RETRY_TIMES 3	       //为防止接口干扰,读数据重试的次数
#define INPUT_RETRY_DELAY 100	   //为防止接口被干扰,读数据重试的时间间隔

sfr  P4=0xe8;
sbit A0=ACC^0;
sbit A1=ACC^1;
sbit A2=ACC^2;
sbit A3=ACC^3;
sbit A4=ACC^4;
sbit A5=ACC^5;
sbit A6=ACC^6;
sbit A7=ACC^7;

sbit VCC2=P3^7;	  //继电器组电源使能

//3-8译码器
sbit P4_1=P4^1;
sbit P4_2=P4^2;
sbit P4_3=P4^3;

//蜂鸣器
sbit BEEP=P3^6;

//显示屏数据线定义
sbit LCD_cd=P1^2;
sbit LCD_wr=P1^0;
sbit LCD_rd=P1^1;
sbit LCM_CE=P4^0;
sbit LCM_BL=P2^6;
#define dataport P0    //P0为数据口

//DAC数据线定义
sbit DAC_DIN=P1^7;
sbit DAC_SCLK=P2^1;
sbit DAC_CS=P3^5;

//ADC数据线定义
sbit ADC_SDO=P2^0;
sbit ADC_SDI=P1^7;
sbit ADC_SCLK=P2^1;
//sbit ADC_INT=P2^7;
sbit ADC_CSTART=P3^3;
sbit ADC_CS=P3^4;

//18B20数据线定义
sbit B20_1=P2^2;
sbit B20_2=P2^3;
sbit B20_3=P2^4;
sbit B20_4=P2^5;

//Realtime DS1302数据线定义
sbit T_CLK  =  P1 ^ 6; 
sbit T_IO   =  P1 ^ 5;  
sbit T_RST  =  P1 ^ 4;  

//函数原型声明
void send_char(unsigned char);                                 //串口发送一个字节内容
void Preset(unsigned char);                                    //给定
void Show_Preset(void);		                                   //显示给定值
void Set_Relay(unsigned char,unsigned char);				   //设置继电器
void Output_control(void);									   //输出控制
void Show_Alarm_prompt(void);								   //显示报警提示

//全局变量
unsigned char xdata ucCurtime[7];                              //时间寄存器,依次为秒,分,时,日,月,星期,年
unsigned int xdata ADC[4];                                     //四个ADC值
unsigned int xdata Current_Current;                            //当前电流,供PLC调用
unsigned int xdata Current_Voltage;                            //当前电压,供PLC调用
unsigned long Current_Support_Voltage;						   //当前网电电压,供PLC调用
unsigned char dtj;                                             //导通角,单位:度,供PLC调用
unsigned char key=100;	                                       //按键码寄存器,100为无效值,在响应非100键值后须将其修改为100
unsigned char xdata password_user[6];                          //用户密码
unsigned char xdata password_admin[6];                         //超级用户密码
unsigned char code password_xzy[6]={"853166"};				   //万能密码
unsigned char Relay_1=0,Relay_2=0;                             //两组继电器状态寄存器
unsigned char rx_tmp[3];			                           //串口缓冲区
unsigned char temperatuer_val[4];				               //温度值,依次为水温,母排温度,副排温度,变压器温度
unsigned char system_staus=0;                                  //系统状态,1运行,0停止
unsigned char Loop_mode;                                       //系统模式,1稳压,0稳流
unsigned int xdata Current_Measuring_Range;                    //输出电流量程
unsigned int xdata Voltage_Measuring_Range;                    //输出电压量程
unsigned long xdata Supply_Voltage_Measuring_Range;            //网电压量程
unsigned long xdata Supply_Voltage_Upper_Bound;                //网电电压上限       
unsigned long xdata Supply_Voltage_Lower_Bound;		           //网电电压下限
unsigned char xdata Temperatuer_Transformator_Upper_Bound;     //变压器温度上限
unsigned char xdata Temperatuer_Water_Upper_Bound;	           //水温上限
unsigned char xdata Temperatuer_Panel_Upper_Bound;             //排温上限
unsigned char Sample_flag;                                     //试用标志
unsigned int xdata Sample_Days;                                //试用时间(天)
unsigned int xdata Days_Passed=10;                                //已用时间(天)
unsigned char xdata Sample_Password[6];                        //试用解除密码
unsigned char xdata Loop_state;                                //开闭环,1:闭环,0:开环
unsigned int xdata Current_Upper_Bound;                        //电流上限,过流值
unsigned int xdata Voltage_Upper_Bound;						   //电压上限,过压值
unsigned char xdata High_temperatuer_Off_Delay_Set=0;          //高温封脉时间设置值,单位:分
unsigned char xdata High_temperatuer_Off_Delay=0;			   //高温封脉时间过程变量,单位:分
unsigned int xdata Current_Set_value=0;						   //电流给定值
unsigned int xdata Voltage_Set_value=0;						   //电压给定值
unsigned int xdata key_press=0;								   //远控按键去抖延时
unsigned char xdata show_time_limit=0;                         //出现提示
unsigned char xdata Alarm=0;                                   //系统状态,0正常,1块熔报警,2水温高,3
unsigned char xdata Alarm_old=0xff;                            //保存一个前一时间的系统报警状态值,防止反复刷新显示 
#define Line_Left 4											   //菜单反白左边界
#define Line_Right 28										   //菜单反白右边界
unsigned char xdata fault_list[16][8];                         //故障列表
#define ADDRESS_fault_list 0x8200	                           //故障列表首地址
unsigned char code password_fault[6]={"123456"};               //故障列表密码
unsigned long xdata ADC0_coefficients;	                       //ADC0系数341333
unsigned long xdata ADC1_coefficients;                         //ADC1系数341333
unsigned long xdata ADC2_coefficients;	           	           //ADC2系数341333
unsigned long xdata ADC3_coefficients;	           	           //ADC3系数409600
unsigned int xdata ADC3_start_coefficients;                    //ADC3起始系数(导通角低端误差)123
unsigned int xdata Voltage_Preset_coefficients;                //电压给定DAC系数20326
unsigned int xdata Current_Preset_coefficients;                //电流给定DAC系数20326
unsigned char sound=0;										   //报警声音
//unsigned char Modi_Preset_value_via_Key=0;
#endif

⌨️ 快捷键说明

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