• 毕业设计 基于51单片机老人防跌倒GSM短信报警系统


    0、毕业设计选题原则说明(重点)

    • 选题之前,同学们要弄明白一件事情,做毕业设计是干什么用的!
    • 这里我告诉大家,毕业设计对于你来说,不是让你去搞研究,掌握运用所学知识的,也不是让你去比谁做的毕业设计多么牛逼,多么厉害。
    • 说白点,它的作用就是一个,让你顺利毕业,能够拿到学位证,毕业证而已!!!
    • 当你明白这一点后,作毕业设计的要求就是在满足老师的要求后,越简单越好,这样不但容易去做,而且你自己也容易去理解,掌握,同样也能花最少的钱!!!
    • 满足老师的要求,这个没办法,毕竟他是决定你是否能通过答辩的人。
    • 每年都有很多同学找到我的时候,后悔当初为什么要把功能写的那么复杂,后悔没有提前找我咨询一下!所以在这里提醒同学们,提交开题报告之前一定要多想想,咨询下以往的学长学姐,不要自己随便写一堆提交上去!!!
    • 大家找不到学长学姐的话,也可以找我咨询,我可以给大家一些建议
    • 点击此处即可咨询

    1、项目简介

    1.1 系统构成

    本设计由STC89C52单片机电路+ADXL345加速度传感器电路+按键电路+蜂鸣器报警电路+DS18B20温度传感器电路+LED灯电路+GSM模块电路+电源电路组成。

    1.2 系统功能

    • 1、板子竖直放置的时候,蜂鸣器不报警,板子歪倒一定角度,则蜂鸣器鸣叫报警。一段时间约15s未回复正确状态,GSM发送报警信息给手机:Help me!!。
    • 2、如果温度超过38度,蜂鸣器报警,持续温度过高约15s左右,同时短信报警:has a cold
    • 3、设计带有误报警按键,蜂鸣器报警的时候,如果老人认为是误报警,则按键按下,蜂鸣器停止报警,如果持续问题存在还会报警。
    • 4、短信处理过程有指示灯显示。
    • 5、GSM模块是SIM800A,该模块和SIM900A电路程序完全兼容外观外形一模一样。

    2、部分电路设计

    2.1 GSM SIM800A模块电路设计

    GSM模块,是将GSM射频芯片、基带处理芯片、存储器、功放器件等集成在一块线路板上,具有独立的操作系统、GSM射频处理、基带处理并提供标准接口的功能模块。GSM模块具有发送SMS短信,语音通话,GPRS数据传输等基于GSM网络进行通信的所有基本功能。简单来讲,GSM模块加上键盘、显示屏和电池,就是一部手机。

    模块应用领域:远程监控、远程智能抄表、智能家居和车载设备等远程通讯设备。

    模块接口原理图如下图所示:


    模块内部具体原理图如下图所示:

    2.2 蜂鸣器报警电路(低电平有效)设计

    电路中采用三极管9012来驱动,只要单片机控制引脚为低电平,蜂鸣器就会鸣叫报警,反之则不鸣叫,可以通过控制单片机引脚方波输出形式控制蜂鸣器的鸣叫方式。

    2.3 ADXL345倾角传感器模块电路设计

    本设计选择倾角传感器ADXL345模块实时检测相关的状态信息。ADXL345是一款小而薄的超低功耗3轴加速度计,分辨率高(13位),测量范围达± 16g。数字输出数据为16位二进制补码格式,可通过SPI(3线或4线)或I2C数字接口访问。

    ADXL345模块接口图如下图所示:

    2.4 DS18B20温度传感器模块电路设计

    DS18B20是常用的数字温度传感器,其输出的是数字信号,具有体积小,硬件开销低,抗干扰能力强,精度高的特点。

    DS18B20接口图如下图所示:

    3、部分代码展示

    3.1 ds18b20初始化

    bit Init_DS18B20(void)
    {
     bit dat=0;
     DQ = 1;    //DQ复位
     DelayUs2x(5);   //稍做延时
     DQ = 0;         //单片机将DQ拉低
     DelayUs2x(200); //精确延时 大于 480us 小于960us
     DelayUs2x(200);
     DQ = 1;        //拉高总线
     DelayUs2x(50); //15~60us 后 接收60-240us的存在脉冲
     dat=DQ;        //如果x=0则初始化成功, x=1则初始化失败
     DelayUs2x(25); //稍作延时返回
     return dat;
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14

    3.1 ADXL345初始化

    void Init_ADXL345()
    {
       Single_Write_ADXL345(0x31,0x0B);   //测量范围,正负16g,13位模式
       Single_Write_ADXL345(0x2C,0x08);   //速率设定为12.5 参考pdf13页
       Single_Write_ADXL345(0x2D,0x08);   //选择电源模式   参考pdf24页
       Single_Write_ADXL345(0x2E,0x80);   //使能 DATA_READY 中断
       Single_Write_ADXL345(0x1E,0x00);   //X 偏移量 根据测试传感器的状态写入pdf29页
       Single_Write_ADXL345(0x1F,0x00);   //Y 偏移量 根据测试传感器的状态写入pdf29页
       Single_Write_ADXL345(0x20,0x05);   //Z 偏移量 根据测试传感器的状态写入pdf29页
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
  • 相关阅读:
    CF1846F交互题WA了求Debug!
    呀!这款markdown编辑器我太中意啦!
    Java的idea不能新建java class
    Vim插件合集 (打造你的专属炫酷IDE)
    2、模块传参和依赖
    Docker安装部署ElasticSearch(ES)
    SPA路由实现的基本原理
    postman接口自动化测试
    数据库进阶教学——索引
    c语言之volatile关键字
  • 原文地址:https://blog.csdn.net/m0_51061483/article/details/127541134