最近因一台消防控制系统设备需加泡沫罐检漏功能,所以专门做了单片机检测压力传感器电流值,做AD转换,进行实时处理,实现对压力传感器的实时监测和报警功能,原理图如图片所示
单片机源程序如下:
#include
#include
#include
#define LEAK_chg 320 //泄漏判断灵敏度
#define ADD_chg 100 //加液判断灵敏度
#define dat_yu 10 //抖动变量
/*********************
* 基本命令宏定义 *
*********************/
#define HZ_16X16 0XF0 //固定处: 显示16X16点阵国标汉字命令
#define ASCII_8X8 0XF1 //固定处: 显示8X8ASCII字符命令
#define SINGLE_DOT 0XF2 //任意点: 显示命令
#define BYTE_DOT 0XF3 //字节处: 显示点阵命令
#define SCREEN_CLEAR 0XF4 //整屏清屏命令
#define ASCII_8X16 0XF9 //固定处: 显示8X16ASCII字符命令
#define ALL_TOGGLE 0XFA //反白显示命令
#define CURSOR_LENGTH 0XFB //光标: 开关及类型设置命令
#define MOVE_SPEED 0XFC //调整移动速度命令
#define PICTURE_DISP 0XFD //画图片命令
#define SCREEN_ONOFF 0XFE //屏幕开命令
#define POWER_SAVE 0XFF //系统省电命令
#define ASCII_5X8 0XE0 //固定处: 显示5X8ASCII字符命令
#define NUMBER_3X5 0XE1 //固定处: 显示3X5数字及大写字母命令
#define ASCII_6X12 0XE2 //固定处: 显示6X12ASCII命令
#define NUMBER_9X16 0XE3 //固定处: 显示9X16数字命令
#define CURSOR_LOC 0XE4 //光标: 位置设置命令
#define BACK_TOGGLE 0XE5 //背光取反命令
#define CONTRAST_GRADIENT 0XE6 //对比度调整命令
#define UART_BAUDRATE 0XE8 //UART波特率设置命令
#define STR_8X16 0XE9 //固定处: 显示16X16中文和8X16ASCII混合字符串命令
#define HZ_16X16_LOC 0XEA //任意点: 显示16X16中文字符命令
#define STR_8X16_LOC 0XEB //任意点: 显示16X16中文和8X16ASCII混合字符串命令
#define HZ_16X16_CUR 0XEC //光标处: 显示16X16点阵的中文字符命令
#define STR_8X16_CUR 0XED //光标处: 显示中文和8X16ASCII混合字符串命令
#define TEMPERATURE_SET 0XEE //设置温度补偿开关和系数命令
#define SOFT_RESET 0XEF //复位命令
#define ASCII_5X8_CUR 0XD0 //光标处: 显示一个5X8ASCII字符命令
#define ASCII_8X8_CUR 0XD1 //光标处: 显示一个8X8ASCII字符命令
#define ASCII_6X12_CUR 0XD2 //光标处: 显示一个6X12ASCII命令
#define NUMBER_9X16_CUR 0XD3 //光标处: 显示一个9X16数字命令
#define NUMBER_3X5_CUR 0XD4 //光标处: 显示一个3X5数字和大写字母命令
#define STR_ASCII_5X8_CUR 0XD5 //光标处: 显示一5X8ASCII字符串命令
#define STR_NUMBER_3X5_CUR 0XD6 //光标处: 显示3X5数字和大写字母字符串命令
#define STR_6X12_CUR 0XD7 //光标处: 显示12X12中文和6X12ASCII混合字符串命令
#define STR_NUMBER_9X16_CUR 0XD8 //光标处: 显示9X16数字字符串命令
#define ASCII_8X16_CUR 0XD9 //光标处: 显示一个8X16ASCII字符命令
#define STR_ASCII_8X8_CUR 0XDA //光标处: 显示8X8ASCII字符串命令
#define STR_ASCII_5X8_LOC 0XDB //任意点: 显示5X8ASCII字符串命令
#define STR_6X12_LOC 0XDC //任意点: 显示12X12中文和6X12ASCII混合字符串命令
#define STR_NUMBER_9X16_LOC 0XDD //任意点: 显示9X16数字字符串命令
#define STR_NUMBER_3X5_LOC 0XDE //任意点: 显示3X5数字和大写字母字符串命令
#define STR_ASCII_8X8_LOC 0XDF //任意点: 显示8X8ASCII字符串命令
#define ASCII_5X8_LOC 0XC0 //任意点: 显示5X8ASCII字符命令
#define ASCII_8X8_LOC 0XC1 //任意点: 显示8X8ASCII字符命令
#define ASCII_6X12_LOC 0XC2 //任意点: 显示6X12ASCII字符命令
#define NUMBER_9X16_LOC 0XC3 //任意点: 显示9X16数字字符命令
#define NUMBER_3X5_LOC 0XC4 //任意点: 显示3X5数字和大写字母字符命令
#define DRAWLINE 0XC5 //任意点: 画线
#define AREA_MOVE 0XC6 //任意指定: 区域块移位
#define AREA_DATA 0XC7 //任意指定: 区域块显示数据 清零/全亮/反显
#define AREA_FLASH 0XC8 //任意指定: 区域块显示数据自动闪烁
#define ASCII_8X16_LOC 0XC9 //任意点: 显示8X16ASCII字符命令
#define RESERVE_01 0XCA //模块内部预留命令,请勿使用
#define KEYBOARD 0XCB //内置键盘开关命令
#define RESERVE_02 0XCC //模块内部预留命令,请勿使用
#define HZ_FORM 0XCD //设置中文和半角ASCII放大字体命令
#define GET_TEMP 0XCE //获取环境温度命令
#define RESERVE_03 0XCF //模块内部预留命令,请勿使用
#define HZ_12X12 0XB0 //固定处: 显示12X12点阵国标汉字命令
#define RESERVE_04 0XB1 //模块内部预留命
『本文转载自网络,版权归原作者所有,如有侵权请联系删除』