📄 main.h
字号:
//*************************************************************************
//**软 件 名:灭火控制盘(XMP4-2)
//**模 块 名:main.h
//**说 明:头文件
//** 定义关键字
//** IO口定义
//** 全局变量外部定义
//** 全局函数外部定义
//*************************************************************************
#include <absacc.h>
//简化变量定义
#define uchar unsigned char
#define uint unsigned int
//定义键值常量
#define RESET 1
#define MUTE 2
#define TEST 4
#define SETUP 8
#define OK 16
#define UP 32
#define DOWN 64
#define QUERY 96
//定义初始化密码
#define PASSWORD 0x0F
//定义液晶命令代码
//液晶开
#define Disp_On 0x3f
//液晶关
#define Disp_Off 0x3e
//液晶列地址
#define Col_Add 0x40
//液晶页地址
#define Page_Add 0xb8
//液晶起始行
#define Start_Line 0xc0
//液晶数据说明
//液晶开 0x3f
//液晶关 0x3e
//液晶Y地址(列) 0x40+(0-63
//液晶X地址(页) 0xb8+(0-7
//液晶Z地址(起始行) 0xc0+(0-63
//液晶状态格式 BUSY,0,ON/OFF,RESET,0,0,0,0
//定时器初值定义
#define TH0INIT 0xDC //定时器0 方式1 定时时间为 10ms 晶振为 11.0592MHz
#define TL0INIT 0x32
//地址定义
//EEPROM29C040地址
//集成电路:D15(AT29C040)
//网 络 表:AZK
#define EEPROM29040 XBYTE[0x8000]
//读取赛福德的YD8000传来的启动和停止命令
//集成电路:D25(74HC245)
//网 络 表:YML
#define READYD8000COMMAND XBYTE[0x9000]
//一区检测信号输入地址
//集成电路:D10(74HC245)
//网 络 表:YB2
#define ONEPORTDETECT XBYTE[0x9800]
//二区检测信号输入地址
//集成电路:D10(74HC245)
//网 络 表:YB3
#define TWOPORTDETECT XBYTE[0xA000]
//三区检测信号输入地址
//集成电路:D10(74HC245)
//网 络 表:YB4
#define THREEPORTDETECT XBYTE[0xA800]
//四区检测信号输入地址
//集成电路:D10(74HC245)
//网 络 表:YB5
#define FOURPORTDETECT XBYTE[0xB000]
//一区故障检测地址
//集成电路:D12(74HC245)
//网 络 表:YC2
#define ONEPORTFAULTEST XBYTE[0xB800]
//二区故障检测地址
//集成电路:D12(74HC245)
//网 络 表:YC3
#define TWOPORTFAULTEST XBYTE[0xC000]
//三区故障检测地址
//集成电路:D12(74HC245)
//网 络 表:YC4
#define THREEPORTFAULTEST XBYTE[0xC800]
//四区故障检测地址
//集成电路:D12(74HC245)
//网 络 表:YC5
#define FOURPORTFAULTEST XBYTE[0xD000]
//AD转换ADC0809地址(在此处列出了八个通道的地址)
//集成电路:D8(ADC0809)
//网 络 表:A/D
#define CHANNLE1 XBYTE[0xD800]
#define CHANNLE2 XBYTE[0xD801]
#define CHANNLE3 XBYTE[0xD802]
#define CHANNLE4 XBYTE[0xD803]
#define CHANNLE5 XBYTE[0xD804]
#define CHANNLE6 XBYTE[0xD805]
#define CHANNLE7 XBYTE[0xD806]
#define CHANNLE8 XBYTE[0xD807]
//12864A液晶显示器的地址
//集成电路:L12864A(X4)
//网 络 表:ALCD
#define DISPLAY_ADDRESS XBYTE[0xE000]
//向右屏写命令地址
#define WR_CMD2 XBYTE[0xE002]
//向左屏写命令地址
#define WR_CMD1 XBYTE[0xE004]
//向右屏写数据地址
#define WR_DAT2 XBYTE[0xE003]
//向左屏写数据地址
#define WR_DAT1 XBYTE[0xE005]
//读右屏命令地址
#define RD_CMD2 XBYTE[0xE00A]
//读左屏命令地址
#define RD_CMD1 XBYTE[0xE00C]
//读右屏数据地址
#define RD_DAT2 XBYTE[0xE00B]
//读左屏数据地址
#define RD_DAT1 XBYTE[0xE00D]
//键盘列扫描地址
//集成电路:D12(74HC245)
//网 络 表:JPCS
#define KEY_PORT XBYTE[0xE800]
//时钟DS12887各个地址
//集成电路:D7(DS12887)
//网 络 表:SZCS
//DS12887秒地址(0-59)
#define P128870 XBYTE[0xF000]
//DS12887秒报警地址(0-59)
#define P128871 XBYTE[0xF001]
//DS12887分地址(0-59)
#define P128872 XBYTE[0xF002]
//DS12887分报警地址(0-59)
#define P128873 XBYTE[0xF003]
//DS12887小时地址(1-12或0-23)
#define P128874 XBYTE[0xF004]
//DS12887小时报警地址(1-12或0-23)
#define P128875 XBYTE[0xF005]
//DS12887星期的地址(星期日为1)
#define P128876 XBYTE[0xF006]
//DS12887天的地址
#define P128877 XBYTE[0xF007]
//DS12887月的地址
#define P128878 XBYTE[0xF008]
//DS12887年的地址
#define P128879 XBYTE[0xF009]
//DS12887的A寄存器
#define P12887a XBYTE[0xF00A]
//DS12887的B寄存器
#define P12887b XBYTE[0xF00B]
//DS12887的C寄存器
#define P12887c XBYTE[0xF00C]
//DS12887的D寄存器
#define P12887d XBYTE[0xF00D]
//四个区的开关
#define Qu_onoff XBYTE[0xF011]
//手动启动延时时间
#define SD_time XBYTE[0xF012]
//自动启动延时时间
#define ZD_time XBYTE[0xF013]
//一区LED显示地址
//集成电路:D3(74HC273)
//网 络 表:YB2
#define ONEPORTLEDDISP XBYTE[0xF800]
//二区LED显示地址
//集成电路:D3(74HC273)
//网 络 表:YB3
#define TWOPORTLEDDISP XBYTE[0xF900]
//三区LED显示地址
//集成电路:D3(74HC273)
//网 络 表:YB4
#define THREEPORTLEDDISP XBYTE[0xFA00]
//四区LED显示地址
//集成电路:D3(74HC273)
//网 络 表:YB5
#define FOURPORTLEDDISP XBYTE[0xFB00]
//向赛福德的YD8000传送四个区的状态
//集成电路:D11(74HC273)
//网 络 表:YA6
#define SENDSTATUS XBYTE[0xFC00]
//选择AT29C040高七位地址的地址
//集成电路:D21(74HC273)
//网 络 表:YA7
#define HIGH040ADDRESS XBYTE[0xFD00]
//键盘行扫描地址(包括状态灯显示,485状态转换)
//集成电路:D13(74HC273)
//网 络 表:YA8
#define KEYCOL_SCAN XBYTE[0xFE00]
//打印机地址
//集成电路:X5
//网 络 表:PRINT
#define PRINTPORT XBYTE[0xFF00]
//***********************IO口定义***********************
sfr P4 = 0xe8;
sbit P43 = P4^3; //IN_S2
sbit P42 = P4^2; //IN_O2
sbit P41 = P4^1; //IN_S1
sbit P40 = P4^0; //IN_O1
sbit HJLED = P1^0; //火警灯
sbit GZLED = P1^1; //故障灯
sbit ZQDLED = P1^2; //总启动灯
sbit YSLED = P1^3; //延时灯
sbit YSQD = P1^4; //对继电器延时上电位
sbit CHCNTL = P1^5; //备电充电控制
sbit ACOK = P1^6; //主电故障检测
sbit CDOK = P1^7; //充电故障检测
sbit IKEY = P3^2; //键盘中断
sbit DCOK = P3^3; //备电故障检测
sbit P_BUSY = P3^5; //打印机忙标志
sbit BUZZ = P3^4; //蜂鸣器控制端
//*******代码段的数组定义******************************
extern uchar code asc_num[];
extern uchar code asc_xiexian[];
extern uchar code asc_maohao[];
extern uchar code asc_s[];
extern uchar code hz_ying[];
extern uchar code hz_kou[];
extern uchar code hz_huan[];
extern uchar code hz_ying1[];
extern uchar code hz_shi1[];
extern uchar code hz_yong[];
extern uchar code hz_qi1[];
extern uchar code hz_ti[];
extern uchar code hz_zi[];
extern uchar code hz_dong[];
extern uchar code hz_mie[];
extern uchar code hz_kong[];
extern uchar code hz_zhi[];
extern uchar code hz_pan[];
extern uchar code hz_xi[];
extern uchar code hz_tong[];
extern uchar code hz_yun[];
extern uchar code hz_xing[];
extern uchar code hz_cu[];
extern uchar code hz_shi4[];
extern uchar code hz_hua[];
extern uchar code hz_zhong[];
extern uchar code hz_jian[];
extern uchar code hz_gong[];
extern uchar code hz_zuo[];
extern uchar code hz_zheng[];
extern uchar code hz_chang[];
extern uchar code hz_gu[];
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -