历史上的今天
返回首页

历史上的今天

今天是:2025年01月12日(星期日)

2020年01月12日 | 单片机压力传感器的实时监测和报警程序

2020-01-12 来源:51hei

最近因一台消防控制系统设备需加泡沫罐检漏功能,所以专门做了单片机检测压力传感器电流值,做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        //模块内部预留命令,请勿使用

#define     RESERVE_05              0XB2        //模块内部预留命令,请勿使用

#define     RESERVE_06              0XB3        //模块内部预留命令,请勿使用

#define     RESERVE_07              0XB4        //模块内部预留命令,请勿使用

#define     BACK_ONOFF              0XB5        //背光开关命令

#define     RESERVE_08              0XB6        //模块内部预留命令,请勿使用

#define     RESERVE_09              0XB7        //模块内部预留命令,请勿使用

#define     RESERVE_10              0XB8        //模块内部预留命令,请勿使用

#define     STR_6X12                0XB9        //固定处: 显示12X12中文和6X12ASCII混合字符串命令

#define     HZ_12X12_LOC            0XBA        //任意点: 显示12X12中文字符命令 

#define     NOP                     0XBB        //空转命令

#define     HZ_12X12_CUR            0XBC        //光标处: 显示12X12点阵的中文字符命令

推荐阅读

史海拾趣

Eaton公司的发展小趣事

伊顿公司起源于1911年,由Viggo Torbensen和年轻商人Joseph Eaton共同创建的Torbensen齿轮轴承公司,这是伊顿的前身。Joseph Eaton坚信战略收购是拓展业务的最佳方法,因此在公司的发展过程中,他积极推动了一系列重要的收购活动。随着时间的推移,公司的产品逐渐多元化,从最初的齿轮轴承扩展到更广泛的能源管理领域。到1932年,公司更名为伊顿制造公司,进一步彰显了其向多元化发展的决心。

Frolyt Condensers & Elements GmbH公司的发展小趣事

随着全球对环保问题的日益重视,Frolyt Condensers & Elements GmbH积极响应号召,将环保理念融入产品设计和生产流程中。公司投入大量资金研发环保型电容器材料和生产工艺,成功推出了多款低能耗、无污染的电容器产品。这些产品不仅满足了市场对环保产品的需求,还帮助Frolyt树立了良好的企业形象,进一步提升了市场竞争力。

富满电子(FM)公司的发展小趣事

在电子元件领域,Frolyt Condensers & Elements GmbH起初是一家专注于电容器研发的小型制造商。2005年,公司研发团队成功开发出一种新型高性能铝电解电容器,该电容器在耐高温、长寿命和低阻抗方面表现出色,迅速吸引了市场的关注。通过持续的技术创新和严格的品质控制,Frolyt的电容器产品在汽车电子、通信设备等多个领域得到广泛应用,公司因此实现了市场份额的快速增长。

ELPIDA公司的发展小趣事

2008年全球金融危机的爆发对ELPIDA造成了巨大冲击。由于DRAM需求的急剧下降和价格的暴跌,公司的业绩急剧恶化。在这种情况下,ELPIDA不得不采取一系列措施来应对困境,包括削减成本、优化生产流程等。然而,这些措施并未能完全扭转公司的颓势。

Gamma Microelectronics ( APM )公司的发展小趣事

G24i在发展过程中始终注重国际合作与市场拓展。公司董事长Mr. Edward J Stevenson及其团队多次访问国内外知名科研机构和企业,就DSSC技术的研发、产业化等方面进行深入交流。同时,G24i还积极参加国际太阳能展会和论坛,展示其最新的技术成果和产品应用。这些努力不仅提升了G24i在国际市场上的知名度和影响力,也为公司赢得了更多的合作机会和市场份额。通过国际合作与市场拓展,G24i正逐步成为全球DSSC领域的领军企业之一。

Greenconn Corp公司的发展小趣事
如果经检查发现继电器或定时器故障,需要按照冰箱型号和规格要求更换新的部件。

问答坊 | AI 解惑

VxWorks 在 80C186EB 上开发的一些问题!

想请问哈如果要在80C186上使用VxWORKS开发的话是使用VxWORKS FOR PENTIUM开发吗?另外就是在网上找了不少时间但是没找到80C186的BSP,不晓得是没有还是不支持!如果哪位知道也请你发个链接哈!谢谢了!…

查看全部问答>

我下一步有可能做手机开发,想拖大家帮忙推荐款适合的手机。谢谢。

    我明年毕业,现在在单位实习,主要做Oracle、MSSQL、.NET相关,我计划明年3到5月份之间买部新手机。考虑到将来可能自学手机开发,比如J2ME、Symbian和VC等等,所以我想问一下大家,什么牌子的哪款手机操作系统和处理器都更适合程序员 ...…

查看全部问答>

CE系统下的数据库

用EVC开发CE系统下的数据库应用程序. 需要哪些工具或软件? 哪里有的下载? …

查看全部问答>

请教:改变串口发送数据的格式(长度)

大家好,小弟现在调试的串口程序进行简单的收发数据没有什么问题,比如我发送“A”,以ASCII码显示的话在串口另一端可以收到“A”,  问题在于此时发送的A对应的十六进制数是41 00,我希望发送的“A”是十六进制数41,感觉把数据类型改为 ...…

查看全部问答>

FPGA验证问题

为什么FPGA验证时改动一个模块会影响其他模块的功能,(注:两模块无任何联系),有时候增加某项功能或完善会导致所有的功能都不能实现了,这是为什么啊??…

查看全部问答>

关于STM8编译问题

感觉编译莫名其秒,警告也看不懂,来请教过来,先申明软件安装和编译安装没问题,已用另个一个程序证实了,今天在ST官网上下了标准STM8各个模块标准文件,建了工程就是编译有问题。提示如下图: 1.JPG (188.79 KB) 下载 ...…

查看全部问答>

自动流水线工件计数设计

   用单片机和传感器,工件在自动线皮带机上单方向传送,当工件通过检测区时,由传感器检测到工件并进行计数,计数通过5位数码显示管显示器即刻器显示,计数范围为0~10000,当传送带上每通过100个工件,即计数器值为100的整数倍时,讯响 ...…

查看全部问答>

步进电机驱动问题

额,我做的是ln298和ln297联用来驱动步进电机,可是我的ln297,,,,18脚时钟进去的时候例如是40hz的方波,ln297发出的a,b,c,d四相并不是占空比为0.25,而是0.5的方波,但是频率却是10hz,不懂啊,和说明书上差距很大啊,哪里有问题吗,我用的是全步19 ...…

查看全部问答>

B题有没要求放硬币的时候板要水平?

本帖最后由 paulhyde 于 2014-9-15 03:57 编辑 如题  …

查看全部问答>

阜昂科技上海电子商城开业了

上海阜昂电子科技有限公司是一家为客户提供优质性价比电源解决方案的全方位服务的公司。拥有开关电源、模块电源、整机电源、三大类。 具有研发、生产、销售、市场调研的综合实力,以制造为根本,积极推进符合时代和世界潮流的商品的开发、制造和 ...…

查看全部问答>