📄 main.h
字号:
/*****************************************************************************
功能:函数声明及部分宏的定义
创建时间:06.11.29
*****************************************************************************/
#define uchar unsigned char
#define uint unsigned int
//波特率设定
#define fosc 8000000 //晶振为8MHZ
#define baud 19200 //波特率为19200
//每页显示的节点数目
#define num1 16
#define num2 8
#define num3 4
//485收发选择
#define cs_485_receive() PORTE|=0x04
#define cs_485_send() PORTE&=0xFB
#define xtal 11.0592 //延时函数用
/****************GAL门的片选地址的定义***************************/
#define GAL1ADDR (*(volatile unsigned char *)0x6000)
#define GAL2ADDR (*(volatile unsigned char *)0x2000)
#define GAL3ADDR (*(volatile unsigned char *)0x3000)
#define GAL4ADDR (*(volatile unsigned char *)0x4000)
#define GAL5ADDR (*(volatile unsigned char *)0x5000)
/*****************************************************************/
/*****************************函数声明***************************************/
//mcu相关的函数
void wdr(void) ; //max705
void mcu_ok(uchar i); //系统正常灯
void uart0_init(void);
void uart1_init(void);
void spi_init(void);
void port_init(void);
void init_devices(void);
void timer1_init(void) ;
void usart_transmit_char(uchar c); //发送
//void watchdog_init(void);
//熄灭系统故障,及报警灯函数
//void lit_gz_det(void) ;
void fault(void); //故障
void unit_common(void) ; //浓度单位判断
/***********显示函数***************/
void zhuanhuan1(void);
void zhuanhuan2(void);
void zhuanhuan3(void);
void zhuanhuan4(void);
void zhuanhuan5(void);
void zhuanhuan6(void);
void zhuanhuan7(uchar temp1,uchar temp2);
void zhuanhuan(void);
void zbzj(void);
void zbjs(void);
void zong(uchar temp); //综合设置
void clear(uchar temp); //清屏
void colour(uchar temp1,uchar temp2,uchar temp3); //颜色配置
void sound(uchar temp1);
void xtzb(uchar temp1,uchar temp2,uchar temp3,uchar temp4); //系统坐标
void zfjj(uchar temp); //字符间距
void fdbs(uchar temp); //放大倍数
void juxing(uchar x1h,uchar x1l,uchar y1h,uchar y1l,uchar x2h,uchar x2l,uchar y2h,uchar y2l);//画矩形
void ltjx(uchar x1h,uchar x1l,uchar y1h,uchar y1l,uchar x2h,uchar x2l,uchar y2h,uchar y2l); //立体矩形
void xszf(uchar x,uchar y); //显示字符集1到4
void init_lcd(void);
void line( uchar x1h,uchar x1l,uchar y1h,uchar y1l,uchar x2h,uchar x2l,uchar y2h,uchar y2l); //画直线
void xianshi(uint num); //显示变量
void xstx(uchar x,uchar y,uchar z); //显示"画面存储器"中的BMP图像
void menu(void); //菜单
void kong(uchar temp1,uchar temp2); //空格
void bank1(void); //列表界面中第一行
void bank2(void); //报警界面中第一行
void bank3(void); //故障界面中第一行
void bank4(void); //开关机界面中第一行
void bank5(void); //控制外部设备界面中第一行
void bank6(void); //节点设置界面中第一行
void bank7(void); //实时界面中的首报信息显示
void bank8(void); //实时记录的第一行显示
void button_page(void); //翻页按钮
void button_can(void); //转换器按钮
void button2(void);
void button3(void);
void button_print(void); //打印按钮
void background(void); //背景
void num_conversion(void); //转换器编号
uchar Read1(uint addr,uchar num); //从内部E2中读取转换器使用情况
uchar Read2(uint addr,uchar num); //从内部E2中读取节点使用情况
uchar Read3(uint addr); //从内部E2中读取节点探测器和联动的选择情况
//uchar Read4(uint addr);
void chroma_disp(void); //浓度显示
void unit_disp(void); //浓度单位显示
void state_disp(void); //状态显示
void clarm(void); //报警显示
void fault(void); //故障显示
void open_close(void); //开关机显示
void real_disp(void); //实时显示
void ram_erase(void); //清除外部RAM实时记录
void jiemian1(void); //列表状态界面
void jiemian2(void); //报警记录界面
void jiemian3(void); //故障记录界面
void jiemian4(void); //开关机记录界面
void jiemian5(void); //系统设置界面
void jiemian6(void); //节点设置界面
void jiemian7(uchar temp); //探测器界面
void jiemian8(void); //联动界面
void jiemian9(void); //控制外部设备界面
void jiemian10(void); //修改地址界面
void jiemian11(void); //报警实时显示界面
void jiemian12(void); //故障实时显示界面
void jiemian13(void); //本地关联界面
void denglu1(void);
void denglu2(void);
void choice1(void); //"查看"菜单
void choice2(void); //登录前"设置"菜单
void choice3(void); //登录后"设置"菜单
void choice4(void); //"控制"菜单
void self_check(void); //自检
void reset(void); //复位
void renew(void); //恢复出厂设置
void gong(void); //界面底部显示共用部分函数
void passage_det(uint addr1,uchar temp1,uchar temp2); //检测输出通道与探测器关联情况
void transfer(void); //将内部E2中的关联信息转到外部RAM中
void local_relate(void); //本地关联函数
void high_trans(void); //高报浓度进制转换
void low_trans(void); //低报浓度进制转换
void sound(uchar temp1); //按键音
void pass_proc1(void); //密码判断
void pass_proc2(void); //密码判断
void det_disp(void); //探测器选择
void det_choice(uchar temp); //探测器选择
void link_disp(void); //联动选择
void link_choice(uchar temp); //联动选择
void non_use(void); //不使用
void nouse_choice(uchar temp); //不使用选择
void trans1(void);
void trans2(void);
void save1(uint addr,uchar num); //转换器使用存入
void save2(uint addr,uchar num); //节点使用存入以及使用探测器存入
void save3(uint addr1,uchar temp1,uchar temp2); //存储关联情况
void save4(uint addr,uchar num); //转换器不使用存入
void save5(uint addr,uchar num); //节点的不使用存入
void save6(uint addr,uchar num); //使用联动模块存入
void save7(uint addr,uchar num); //使用探测器存入
void state_node(void); //节点设置中节点状态显示函数
void type_choice(void); //气体类型选择函数
void unit_choice(void); //浓度单位选择函数
//void share1(uchar temp);
void judge1(uchar temp); //界面8中输入条件判断
void share2(void);
void judge2(void); //界面8中退格条件判断
void gbxs(uchar x1h,uchar x1l,uchar y1h,uchar y1l,uchar x2h,uchar x2l,uchar y2h,uchar y2l); //光标显示
//void same1(uchar temp);
void common1(uchar temp1); //显示键盘数字
void common2(void);
void same2(uchar temp1,uchar temp2,uchar temp3,uchar temp4);
void common3(void); //实现Tab键的功能
void common4(uchar temp2); //显示数字功能函数
void common5(void); //一页显示16个编号
void common6(void); //一页显示8个编号
void common7(void); //退格功能函数
void common8(void); //"退格"按键功能函数
void common9(void); //一页4个编号
void common10(void); //显示can编号
void common11(uchar temp); //在探测器界面或联动界面显示can和485的编号
void send(uchar temp1,uchar temp2,uchar temp3,uchar temp4,uchar temp5,uchar temp6,uchar temp7,uchar temp8);//发送
void receive(uchar temp1,uchar temp2,uchar temp3,uchar temp4,uchar temp5,uchar temp6,uchar temp7,uchar temp8);//接收
void keyboard(void); //键盘
/*********触摸屏函数***********/
uchar pbAN(uint Xzb,uint Yzb); //判别按键
jccmp(void); //触摸屏检测
void keyproc(void); //按键检测
//实时时钟显示函数
void clock_deal(uchar temp) ; //时钟处理函数
void clock_disp(void) ; //显示
/*****************************/
RAMread(uint temp);
E2read(uint temp);
/***************打印函数****************/
void write_print(uchar cmd); //写打印函数
void cha_print(uchar temp1,uchar temp2); //命令打印函数
void int_prt(void); //初始化打印机
//void test_print(void); //测试用
void kong_print(uchar temp); //空格打印函数
void gas_choice(void); //气体类型选择
void unit_judge(void); //浓度单位选择
void print1(uint num); //打印格式1
void date_print(uchar temp); //时间处理打印函数
void num_print(uchar temp); //编号打印
void clarm_print(void); //报警记录打印
void fault_print(void); //故障记录打印
void opclo_print(void); //开关机记录打印
/****************************************************************************/
void common10(void); //显示can的编号
void type_choice(void); //气体类型选择
void unit_choice(void); //气体浓度单位选择
/**************************************************************************************/
/*****************************************************/
//和can有关的函数
void reset_MCP(void);
void write_MCP(unsigned char adress, unsigned char value);
unsigned char read_MCP(unsigned char adress);
void bit_modify(unsigned char adress,unsigned char cc, unsigned char value);
void send_box_0(void);
void init_can(void);
void fill_msg_box_0(void);
void remotesend(uchar id_addr); //数据包请求函数
void atuo_search(void);
//延时函数
void delay_1us(void);
void delay_nus(unsigned int n);
void delay_1ms(void);
void delay_nms(unsigned int n);
//485相关函数
void Usart_Transmit_Data(uchar data,uchar i);
void usart_transmits(unsigned char n, unsigned char *p);
uchar Usart_Receive_Data(void);
uchar Usart2_Receive_Data(void);
void lunxun485(void);
//对轮循的数据进行处理
void proc485(void);
void detuse_auto_search(void); //485模式自动搜索
void conv_auto_search(void);
//片内E2PROM读写函数
void EEPROM_write(unsigned int address,unsigned char data);
unsigned char EEPROM_read(unsigned int address);
//TWI相关函数
void TWI_Master_Initialise( void );
uchar byte_revert(uchar data); //字节高低位全部翻转
uchar I2cRead(uchar device_wt,uchar device_rd, uchar addrhi,uchar addrlo,uchar num);
uchar I2cWrite(uchar *msg,uchar num);
//时间设定函数
void timeset(void);
void time_trans(void); //设置时间格式转换函数
uchar clock_wt(uchar *msg,uchar num);
uchar clock_rd(uchar command,uchar num);
//开关机记录函数
void poweron_off_record(void);
//实时关机记录函数
void realtime_off_record(void);
//void chongdian(void); //充电故障检测
//界面底部显示函数
void state_bottom(void);
void alarm( unsigned char type);
//接受到的数处理
void canrx_process(void);
void save_real_fault(uchar temp);
//void save_can_fault(void);
void save_can_fault(uchar temp);
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -