关 闭

新闻中心

EEPW首页 > 工控自动化 > 设计应用 > 基于nRF24L01的矿用搜救器设计

基于nRF24L01的矿用搜救器设计

作者:崔玉祥 太原理工大学信息工程学院时间:2011-02-23来源:电子产品世界收藏

  无线通信

本文引用地址:http://www.eepw.com.cn/article/117157.htm

  无线通信模块通信芯片采用的是工作在2.4GHzISM频段的,整个模块的结构简单,采用单芯片进行数据的处理。只要用很少的外围元件就可以进行正常的工作。无线通信模块电路主要是由、数字衰减器(HMC274)、天线、晶振电路组成,框图如图3所示。

  在功能上,主要用于和目标识别卡之间的数据收发。nRF24L01和STM32F103VE通过SPI口进行数据交换。

  OLED显示屏

  选用奇晶光电的OLED显示模块C0283QGLC-T。该显示模块带有2.8英寸OLED显示屏并且集成OLED显示屏驱动芯片S6E63D6,S6E63D6支持intel 8080总线模式。S6E63D6与STM32F103VE的FSMC接口相连,通过将FSMC设置成16位的PSRAM控制器,结合FSMC提供的时钟信号、控制信号以及数据总线可以把S6E63D6看成外部存储器来操作。

  触摸按键

  选用PIC基于mTouch技术的电容触摸专用单片机PIC16F724,该单片机最多提供8个触摸按键输入。与PIC16F724相连的6个触摸按键定义为所需要的功能键。

  软件设计

  软件采用主从结构,程序采用C语言编写。STM32F103VE收到PIC单片机的发送的数据后,根据通信协议取出命令字和键码,然后根据键码完成相应的操作。软件基于模块化思想设计,主要包括主控制器程序和触摸按键感应程序。

  主控制器程序

  主控制器程序完成STM32F103VE初始化、OLED显示屏初始化、nRF24L01初始化,nRF24L01数据处理,红外数据数据处理和显示内容更新等工作。其中nRF24L01数据接收,红外数据交换,按键键码的获取是通过中断方式完成的。

  触摸按键检测程序

  键值判断程序包括主程序和中断服务程序。单片机上电后进入主程序先完成初始化工作(包括I/O端口、定时器、电容传感模块和USART的设置),然后开全局中断,依次查询按键标记(KeyFlag)的值,如果按键标记置位(KeyFlag的值等于1)则将按键标记清零并调用USART发送函数将相应的键码发送给主MCU(STM32F103VE)否则查询下一个按键标记直到8个按键标记查询完后进入休眠等待中断程序的到来。中断程序唤醒单片机后,先将定时器1的TMR1值读出,接下来将TMR1值与0.85倍的平均值做比较。如果TMR1的值小于0.85倍的平均值则将按键标记KeyFlag置1,接着设置成下一个触摸传感器;如果TMR1的值大于或等于0.85倍的平均值则将TMR1的值代入程式计算新的平均值,接着设置成下一个触摸传感器。最后重启定时器并退出中断服务程序。退出中断服务程序后进入主程序进行新的一次按键标记查询。程序流程图如图4所示,左图是主程序流程图,右图为中断服务程序流程图。


上一页 1 2 下一页

关键词: 搜救器 nRF24L01

评论


相关推荐

技术专区

关闭