最新消息: USBMI致力于为网友们分享Windows、安卓、IOS等主流手机系统相关的资讯以及评测、同时提供相关教程、应用、软件下载等服务。

电气专业+基于51单片机的老人防跌倒GPS定位报警器-毕业论文

IT圈 admin 70浏览 0评论

2024年8月29日发(作者:齐天蓉)

---文档均为word文档,下载后可直接编辑使用亦可打

印---

摘要

本产品设计了一种基于51单片机,利用ADXL345加速度传感器的跌倒实

时检测系统,来实现来人摔倒后的报警。用以完成老人跌倒后可以被及时发现并

救助;它运用基于SVM阈值法的三次判别算法;精准判断老人是否摔倒。设计

还使用了GPS卫星定位模块;对老人摔倒后进行准确定位。大量实践数据表明,

设计产品对大多数情况都能正确判断,误报率较低,可有效的区分日常生活行为

和跌倒行为,对老人摔倒检查正确率达到90%,稳定性,识别率很高。

关键词:加速度传感器;阈值法;跌倒检测

Abstract

The design of this product is based on 51 single-chip computer, using ADXL345

accelerometer real-time fall detection system, to achieve the alarm after people fall. It

can be found and rescued in time after the elderly fall. It uses the three-time

discriminant algorithm based on SVM threshold method to accurately judge whether

the elderly fall or not. GPS satellite positioning module is also used in the design,

which can accurately locate the elderly after falling down. A large number of practical

data show that the design product can correctly judge most cases, and the rate of false

alarm is low. It can effectively distinguish daily life behavior and fall behavior. The

correct rate of fall detection for the elderly is 90%, stability and recognition rate is

high.

Key words: acceleration sensor; threshold method; fall detection

摘要 ........................................................................................................................ 1

1 概述 .................................................................................................................... 4

1.1研究背景及意义 ...................................................................................... 4

1.2研究现状 .................................................................................................. 4

1.3应用前景 ................................................................... 错误!未定义书签。

2 线路设计 ............................................................................................................ 5

2.1设计思路 .................................................................................................. 5

2.2模块分析 .................................................................................................. 5

2.2.1 GSM模块: .................................................................................. 5

2.2.2 GPS模块: ................................................................................... 6

2.2.3 ADXL345 模块: .......................................................................... 6

2.2.4单片机STC12C5A60S2的功能及最小系统的电路设计 ......... 7

3硬件简述: ....................................................................................................... 10

3.1GPS模块VK2828U7G5LF部分 .......................................................... 10

3.2 ADXL345简要介绍 ................................................................................ 17

3.3GSM模块简介 ........................................................................................ 19

4 软件设计 .......................................................................................................... 21

4.1 keil应用 ................................................................................................. 21

4.2 Altium Designer应用 ............................................................................ 21

4.3程序流程 ................................................................................................ 22

5.系统分析与调试 ............................................................................................... 24

6 设计心得体会 .................................................................................................. 26

参考文献 .............................................................................................................. 27

附录 ...................................................................................................................... 29

原理图 .......................................................................................................... 29

源程序 ............................................................................. 错误!未定义书签。

1 概述

1.1研究背景及意义

随着社会人口比例的变化 老年人占比越来越高,大多数家庭都出现了老人

多,年轻人少的情况,老人的照顾不到位,那么老人的安全问题往往成为了每个

家庭的安全隐患。老年人摔倒现象时有发生,摔倒本身大多数情况下没多大问题,

问题往往出现在摔倒后的处理不当,造成严重的后果。因此,准确判断老年人单

独上街的行为状态,设计老年人跌倒GPS定位报警器显得十分重要。根据上述

现象,本文设计了一种基于51单片机的老年人跌倒GPS报警器,内置的跌倒检

测传感器ADXL345可以进行跌倒识别,GPS模块VK2828U7G5LF部分可以实

时检查老人的位置信息,GSM模块的SIM900能给监护人发去老人摔倒的位置

信息,使摔倒老人及时得到救助,治疗。尽可能的降低摔倒后造成的不利后果

1.2研究现状

现有的老年人防跌倒报警装置大多是通过无线对讲系统或者基于android智

能手机APP研发的。它们自动化程度高,有很强的专业性。但是 这也成为了它

们的缺陷,因为大多数老年人使用现代化产品不熟练,或许并不会用,使用起来

有很大困难。况且老年人在跌倒以后,身体受到了冲击,更没有能力去操作APP

了,本设计操作简单易懂,自动化程度高,设施简单,原件成本较低,所以一款

基于51单片机的老人防摔设计的研究势如破竹。

2 线路设计

2.1设计思路

本次设计的老人防摔设计主要是基于51单片机作为主控芯片、ADXL345

电容式微机械三轴加速度计作为检测老人摔倒的检测传感器、还有GPS模块做

为老人摔倒地址定位的传感器以及一块GSM模块进行通知亲友。考虑到扩展的

可能性,额外增加了一个继电器控制,可以自己外接认为摔倒减少伤害的模块。

详细的硬件框图如下:

2.2模块分析

2.2.1 GSM模块:

SIM900A是通过串口发送AT指令来完成控制的,所以我们需要一块多

串口的51单片机STC12C5A,检查好电源和接地后,SIM900A的TXD和RXD

分别连接到STC12C5A的P3.0和P3.1即可。当ADXL345检查到老人摔倒数据

后,通过单片机指令实现老人摔倒后位置信息的发送。

2.2.2 GPS模块:

通过串口通信与单片机相连接,当它工作的时候,就开始定位了,它将定位

数据传输给单片机,数据遵守NMEA0183协议,里面有地面速度、时间、位置

信息等,24小时检查老人位置信息。我们可以直接对送过来的数据用C语言进

行处理,让GSM模块把信息发送到指定手机号上。例如多个监护人电话号码、

医院急救车电话等。

2.2.3 ADXL345 模块:

ADXL345是一款三轴、数字化的加速度传感器,它能测X、Y、Z三个方向轴上的加速度,

它可以在倾斜检测应用中测量静态重力加速度,还可以测量运动或冲击导致的动态加速度。

ADXL345首先由前端感应器件感应测得加速度的大小,然后由感应电信号器件转为可识别的电

信号,这个信号是模拟信号。ADXL345集成的A/D装换器将此模拟信号转换为数字信号。当

检查到老人摔倒时,通过单片机里的程序指令,让GSM模块发出求救信息,并使蜂鸣器报警。

2.2.4单片机STC12C5A60S2的功能及最小系统

的电路设计

STC12C5A60S2系列单片机是宏晶科技生产的单时钟/机器周期(1T)的单片

机。它是高速/低功耗/超强抗干扰的新一代8051单片机,指令代码完全兼容传统

8051,但速度快8-12倍。内部集成MAX810专用复位电路,2路PWM,8路高速10

位A/D转换(250K/S),针对电机控制,强干扰场合。 VCC:供电电压;

GND:接地;

P0口:P0口为一个8位漏级开路双向I/O口,每个管脚可吸收8TTL门电

流。当P0口的管脚写“1”时,被定义为高阻输入。P0能够用于外部程序数据存

储器,它可以被定义为数据/地址的第八位。在FLASH编程时,P0口作为原码

输入口,当FLASH进行校验时,P0输出原码,此时P0外部电位必须被拉高;

P1口:P1口是一个内部提供上拉电阻的8位双向I/O口,P1口缓冲器能接

收输出4TTL门电流。P1口管脚写入“1”后,电位被内部上拉为高,可用作输入,

P1口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。在FLASH

编程和校验时,P1口作为第八位地址接收;

P2口:P2口为一个内部上拉电阻的8位双向I/O口,P2口缓冲器可接收,

输出4个TTL门电流,当P2口被写“1”时,其管脚电位被内部上拉电阻拉高,

且作为输入。作为输入时,P2口的管脚电位被外部拉低,将输出电流,这是由

于内部上拉的缘故。P2口当用于外部程序存储器或16位地址外部数据存储器进

行存取时,P2口输出地址的高八位。在给出地址“1”时,它利用内部上拉的优势,

当对外部八位地址数据存储器进行读写时,P2口输出其特殊功能寄存器的内容。

P2口在FLASH编程和校验时接收高八位地址信号和控制信号;

P3口:P3口管脚是8个带内部上拉电阻的双向I/O口,可接收输出4个TTL

门电流。当P3口写入“1”后,它们被内部上拉为高电平,并用作输入。作为输入

时,由于外部下拉为低电平,P3口将输出电流(ILL),也是由于上拉的缘故。P3

口也可作为AT89C51的一些特殊功能口:

P3.0 RXD(串行输入口)

P3.1 TXD(串行输出口)

P3.2 INT0(外部中断0)

P3.3 INT1(外部中断1)

P3.4 T0(记时器0外部输入)

P3.5 T1(记时器1外部输入)

P3.6 WR (外部数据存储器写选通)

P3.7 RD (外部数据存储器读选通)

同时P3口同时为闪烁编程和编程校验接收一些控制信号;

RST:复位输入。当振荡器复位器件时,要保持RST脚两个机器周期的高

平时间;

ALE / PROG :当访问外部存储器时,地址锁存允许的输出电平用于锁存地

址的低位字节。在FLASH编程期间,此引脚用于输入编程脉冲。在平时,ALE

端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6。因此它可用

作对外部输出的脉冲或用于定时目的。然而要注意的是:每当用作外部数据存储

器时,将跳过一个ALE脉冲。如想禁止ALE的输出可在SFR8EH地址上置0。

此时, ALE只有在执行MOVX,MOVC指令时ALE才起作用。另外,该引脚

被略微拉高。如果微处理器在外部执行状态ALE禁止,置位无效;

PSEN:外部程序存储器的选通信号。在由外部程序存储器取址期间,每个

机器周期PSEN两次有效。但在访问内部数据存储器时,这两次有效的PSEN信

号将不出现;

EA/VPP:当EA保持低电平时,访问外部ROM;注意加密方式1时,EA将

内部锁定为RESET;当EA端保持高电平时,访问内部ROM。在FLASH编程期

间,此引脚也用于施加12V编程电源(VPP);

XTAL1:反向振荡放大器的输入及内部时钟工作电路的输入;

XTAL2:来自反向振荡器的输出;

单片机的引脚图如图3.3所示。

图3.3 STC12C5A60S2单片机引脚图

单片机最小系统,是指用最少的元件与单片机组成的可以工作的系统。对

51单片机来说,最小系统一般应该包括:单片机、晶振电路、复位电路。单片

机接口电路主要用来连接计算机和其他外部设备,各功能模块及原理如下:

复位电路:单片机最小系统复位电路的极性电容C1的大小直接影响单片机

的复位时间,一般采用10-30μF,51单片机最小系统容值越大需要的复位时间越

短。单片机工作之后,只要在RST引线上加载10ms以上的高电平,单片机就能

有效地复位。CS-51单片机通常采用自动复位和按键复位两种方式。这里采用按

键复位和上电复位两种电路结合。

晶振电路:典型的晶振取11.0592M,晶振越大,则单片机的处理速度越快。

单片机的最小起振电容C2,C3一般采用15-33pF,并且电容离晶振越近越好。

单片机最小系统的设计电路如图3.4所示。

图3.4 单片机最小系统的设计电路

3硬件简述:

3.1GPS模块VK2828U7G5LF部分

GPS模块就是集成了RF射频芯片、基带芯片和核心CPU,并加上相关外

围电路而组成的一个集成电路。在本次设计采用了设计要求的VK2828U7G5LF

模块,这个模块主芯片是UBX-G7020-KT,通过串口通信与单片机相连接,当使

他工作的时候,就会开始定位,并将数据通过串口送给单片机,数据遵守

NMEA0183协议,里面有时间、位置、地面速度信息等,我们可以直接对送过

来的数据进行解读,就可以获取我们所先要的时间信息。

1.正常工作条件:

RF射频属性:

NMEA0183协议

NMEA 0183 输出

GGA:时间、位置、定位类型

GLL:经度、纬度、 UTC 时间

GSA:GPS 接收机操作模式,定位使用癿卫星,DOP 值

GSV:可见 GPS 卫星信息、仰角、方位角、信噪比(SNR)

RMC:时间、日期、位置、速度

VTG:地面速度信息

MSS:信号强度等

注意:输出癿信息、频率不设置有关

样例数据:

$GPGGA,060826.00,2236.91284,N,11403.24705,E,2,08,1.03,107.8,M,-2.4,M,,0

000*4A

$GPGSA,A,3,24,22,14,12,15,25,18,42,,,,,2.20,1.03,1.95*01

$GPGSV,3,1,11,12,31,117,47,14,30,290,46,15,19,060,42,18,70,010,45*78

$GPGSV,3,2,11,21,47,207,,22,40,326,43,24,44,036,43,25,24,159,42*70

$GPGSV,3,3,11,31,03,218,,42,51,128,35,50,46,122,45*4E

$GPGLL,2236.91284,N,11403.24705,E,060826.00,A,D*66

$GPRMC,060827.00,A,2236.91267,N,11403.24701,E,0.001,,130214,,,D*79

$GPVTG,,T,,M,0.029,N,0.054,K,D*2C

4.样例数据详解

本次设计在软件编程时所处理的数据GGA样例数据,详细会在软件部

分介绍。

GGA样例数据:

$GPGGA,060826.00,2236.91284,N,11403.24705,E,2,08,1.03,107.8,M,-2.4,M,,0000*

4A

序号 名称 样例 单位 描述

0 消息ID $GPGGA GGA协

议头

1 UTC时间 060826.0 hhmmss.s

0 s

2 纬度 2236.912 ddmm.m

84 mmmm

3 N/S指示 N N=北,S=

4 经度 11403.24 dddmm.m

705 mmmm

5 E/W指示 E W=西,E=

6 定位指示 2 0:未定位

1:SPS模式,定

位有效

2:差分,

SPS模式,定

位有效3:PPS

模式,定位有

7 卫星数目 08 范围0到

12

8

9

10

11

12

13

HDOP

MSL

单位

大地

单位

差分时间

1.03

107.8

M

-2.4

M

水平精度

平均海平

面高度

单位:米

平均海平

单位:米

当没有

DGPS时,无

当没有

DGPS时,无

$不*之间

所有字符

ASCII码癿校

验和

消息结束

14 差分ID 0000

15 校验和 *4A

16

>

GSA样例数据:

$GPGSA,A,3,24,22,14,12,15,25,18,42,,,,,2.20,1.03,1.95*01

序号 名称 样例 单位

0 消息ID $GPGSA

1 模式1 A

描述

GSA协议

M=手劢

(强制操作在

2D或3D模

式),A=自动

1:定位无

效2:2D定位

3:3D定位

通道1

通道2

通道3

通道4

通道5

通道6

通道7

通道8

,,,

2 模式2 3

3

4

5

6

7

8

9

10

11

卫星使用

卫星使用

卫星使用

卫星使用

卫星使用

卫星使用

卫星使用

卫星使用

,,,

24

22

14

12

15

25

18

42

,,,

,,,

12

13

14

15

16

卫星使用

PDOP

HDOP

VDOP

校验和

2.20

1.03

1.95

*01

17

>

通道12

位置精度

水平精度

垂直精度

$不*之间

所有字符

ASCII码癿校

验和

GSV

样例数据:

$GPGSV,3,1,11,12,31,117,47,14,30,290,46,15,19,060,42,18,70,010,45*78

$GPGSV,3,2,11,21,47,207,,22,40,326,43,24,44,036,43,25,24,159,42*70

$GPGSV,3,3,11,31,03,218,,42,51,128,35,50,46,122,45*4E

序号 名称 样例 单位 描述

0 消息ID $GPGSV GSV协议

1 消息数目 3 范围1到

3

2 消息编号 1 范围1到

3

3 卫星数目 11 卫星的数

4 卫星ID 12 卫星ID

5 仰角 31 度 仰角(范

围0°到90°)

6 方位角 117 度 方位角

(范围0°到

359°)

7 载噪比47 dBHz 信号强度

(C/No) (范围0到99)

没有跟踪时为

8 卫星ID 14 卫星ID

9 仰角 30 度 仰角(范

围0°到90°)

10 方位角 290 度 方位角

(范围0°到

359°)

11 载噪比46 dBHz 信号强度

(C/No) (范围0到99)

没有跟踪时为

12

13

14

卫星ID

仰角

方位角

15

19

060

15 载噪比

(C/No)

42 dBHz

16

17

,,,

校验和

,,,

*78

,,,

18

>

卫星ID

仰角(范

围0°到90°)

方位角

(范围0°到

359°)

信号强度

(范围0到99)

没有跟踪时为

,,,

$不*之间

所有字符

ASCII码癿校

验和

消息结束

GLL样例数据:$GPGLL,2236.91284,N,11403.24705,E,060826.00,A,D*66

序号 名称 样例 单位 描述

0 消息ID $GPGLL GLL协议

1 纬度 2236.912 ddmm.m

84 mmmm

2 N/S指示 N N=北,S=

3 经度 11403.24 dddmm.m

705 mmm

4 E/W指示 E W=西,E=

5 UTC位置 060826.0 hhmm.m

0 mmm

6 状态 A A=数据

有效;V=数据

无效

7 模式指示 D A=自主

定位,D=差

分,E=估算,

N=数据无效

8 校验和 *18 $不*之间

所有字符

ASCII码癿校

验和

9

>

RMC样例数据:

$GPRMC,060827.00,A,2236.91267,N,11403.24701,E,0.001,,130214,,,D*79

序号 名称 样例 单位 描述

0 消息ID $GPRMC RMC协

议头

1 UTC时间 060827.0 hhmmss.s

0 s

2 状态 A A=数据

有效;V=数据

无效

3 纬度 2236.912 ddmm.m

67 mmmm

4 N/S指示 N N=北,S=

5 经度 11403.24 dddmm.m

701 mmmm

6 E/W指示 E W=西,E=

7 地面速度 0.001 Knot(节) 地面速度

8 方位 度 地面航线

9 日期 130214 日,月,年

癿格式日期

10 磁变量 磁场变化

值(空白-丌支

持)

11 模式指示 D A=自主

定位,D=差

分,E=估算,

N=数据无效

12 校验和 *79 $不*之间

所有字符

ASCII码癿校

验和

13

>

VTG样例数据:$GPVTG,,T,,M,0.029,N,0.001,K,D*2C

序号 名称 样例 单位 描述

0 消息ID $GPVTG VTG协议

1 方位 度 地面航线

2 参考 T 真北

3 参考 -

4

5

6

7

8

9

参考

速度

单位

速度

单位

模式指示

M

0.029

N

0.001

K

D

Knots

(节)

公里/小

地面航线

(磁癿),丌

输出

地面速度

固定字节

地面速度

公里/小

A=自主

定位,D=差

分,E=估算,

N=数据无效

$不*之间

所有字符

ASCII码癿校

验和

消息结束

10 校验和 *2C

11

>

3.2 ADXL345简要介绍

ADXL345 是 ADI 公司推出的基于 iMEMS 技术的 3 轴、数字输出加速度传感器。该加速度传

感器的特点有:

①分辨率高。最高 13 位分辨率。

②量程可变。具有+/-2g, +/-4g, +/-8g, +/-16g 可变的测量范围。

③灵敏度高。最高达 3.9mg/LSB,能测量不到 1.0°的倾斜角度变化。

④功耗低。 40~145uA 的超低功耗,待机模式只有 0.1uA。

⑤尺寸小。整个 IC 尺寸只有 3mm*5mm*1mm, LGA 封装。

ADXL 支持标准的 I2C 或 SPI 数字接口,自带 32 级 FIFO 存储,并且内部有多种运动状态

检测和灵活的中断方式等特性。ADXL345 传感器的检测轴如图所示:

当 ADXL345 沿检测轴正向加速时,它对正加速度进行检测。在检测重力时用户需要注意,当

检测轴的方向与重力的方向相反时检测到的是正加速度。图 为输出对重力的响应:

ADXL345 的引脚图,如图 42.1.1.3 所示:

ADXL345 传感器的初始化步骤

我们介绍一下 ADXL345 的初始化步骤。 ADXL345 的初始化步骤如下:

1) 上电

2) 等待 1.1ms

3) 初始化命令序列

4) 结束

其中上电这个动作发生在开发板第一次上电的时候,在上电之后,等待1.1ms 左右,就可以开

始发送初始化序列了,初始化序列一结束, ADXL345 就开始正常工作了。这里的初始化序列,最

简单的只需要配置 3 个寄存器,如下:

3.3GSM模块简介

sim900a模块引脚及功能

SIMCom推出新款紧凑型产品—SIM900A. 它属于双频GSM/GPRS模

块,完全采用SMT封装形式,SIM900A仅适用于中国市场,其性能稳定,外观

精巧,性价比高,能满足您的多种需求。

SIM900A模块主要特点:

SMT封装:易于客户生产加工

尺寸小: 24*24*3mm

功耗低:待机模式电流低于18mA、sleep模式低于2mA

供电范围宽:3.2~4.8V

支持频段:GSM/GPRS 900/1800MHz

语音编码:支持半速率、全速率、增强型速率

支持回声抑制算法,可以基于不同客户设备通过AT命令调节回音抑制消除。

4 软件设计

4.1 keil应用

Keil C51是美国Keil Software公司出品的51系列兼容单片机C语言软件开

发系统,与汇编相比,C语言在功能上、结构性、可读性、可维护性上有明显的

优势,因而易学易用。用过汇编语言后再使用C来开发,体会更加深刻。 Keil

C51软件提供丰富的库函数和功能强大的集成开发调试工具,全Windows界面。

另外重要的一点,只要看一下编译后生成的汇编代码,就能体会到Keil C51生

成的目标代码效率非常之高,多数语句生成的汇编代码很紧凑,容易理解。在开

发大型软件时更能体现高级语言的优势。下面详细介绍Keil C51开发系统各部

分功能和使用。 Keil_c软件界面如图17:

图17 Keil_c软件界面

该软件是一款集编程和仿真于一体的软件,它支持汇编、C语言及二者的混

合编程。

4.2 Altium Designer应用

Altium Designer是PORTEL公司在80年代末推出的EDA软件。Altium

Designer是应用于Windows9X/2000/NT操作系统下的EDA设计软件,采用设计

库管理模式,可以网设计,具有很强的数据交换能力和开放性及3D模拟功能,

是一个32位的设计软件,可以完成电路原理图设计,印制电路板设计和可编程

逻辑器件设计等工作,可以设计32个信号层,16个电源--地层和16个机加工层。

Altium Designer软件的特点:

可生成30多种格式的电气连接网络表;

强大的全局编辑功能;

在原理图中选择一级器件,PCB中同样的器件也将被选中;

同时运行原理图和PCB,在打开的原理图和PCB图间允许双向交叉查找元

器件、引脚、网络

既可以进行正向注释元器件标号(由原理图到PCB),也可以进行反向注

释(由PCB到原理图),以保持电气原理图和PCB在设计上的一致性;

满足国际化设计要求(包括国标标题栏输出,GB4728国标库); * 方便

易用的数模混合仿真(兼容SPICE 3f5);

支持用CUPL语言和原理图设计PLD,生成标准的JED下载文件; * PCB

可设计32个信号层,16个电源-地层和16个机加工层;

强大的“规则驱动”设计环境,符合在线的和批处理的设计规则检查;

智能覆铜功能,覆铀可以自动重铺;

提供大量的工业化标准电路板做为设计模版;

放置汉字功能;

可以输入和输出DXF、DWG格式文件,实现和AutoCAD等软件的数据交

换;

智能封装导航(对于建立复杂的PGA、BGA封装很有用);

方便的打印预览功能,不用修改PCB文件就可以直接控制打印结果;

4.3程序流程

本次设计,通过ADXL345检测老人是否摔倒 ,如果老人摔倒,蜂鸣器会

报警,如果摔倒超过15S老人仍为站起来,单片机会通过GSM模块给所绑定的

手机号进行发送提示短息,信息里有最近一次的GPS的定位信息。

主程序流程图如下:

开始

初始化

数据采集

数据处理

控制电路

结束

GSM模块发送短信流程图

开始

N

老人是否摔倒

Y

N

摔倒15秒仍没有起来

Y

发送短信

结束

5.系统分析与调试

本设计是在Keil C环境下开发的,Keil C软件支持C语言的编程及调试,

运用方便,是做C语言毕业设计者的首选。设计的首要任务是安装和学习使用

这个软件,在简单的学习和了解Keil C后,在编译完Keil C后,再运用

STC_ISP_V480软件烧录到开发板上,实现实物与程序的连接。在烧录前要对

STC_ISP_V480进行一些必要的设置。第一步:设置MCU Type为STC89C51RC;

第二步:打开编写好并编译的程序文件,它是以.hex为后缀的文件;第三步:选

择对应的COM端口,(可在我的电脑的设备管理处查看COM选项);第四步:

点击Download/下载,等提示

请给MCU上电时,打开开发板上的开关,它就自行烧录了。

图20 程序烧录运行图

在完成对程序的调试及烧录之后,还要对功能进行测试,首先用万用表测试

电源和地有没有短路,然后再对设计进行通电。最开始要对主控板进行测试,因

为它是核心,按下按键看下数码管是否显示正常,当显示“b”会显示30s,当

“b”灭掉之后按下“sos”按键看系统会不会报警,如果报警则系统基本正常,

再按下“c”撤防。按键功能正常后,在测试人体感应部分,按下布放后,将设

计放在无人的地方(或是用东西盖住),当“b”灭掉之后,让人体感应模块感

应人体,主控机会显示“一”。

本次设计出现的问题及解决方法:

万用表检测是否短路时,发现有短路显现,经过排查,发现数码管接错,数

码管的两个“com”接口是相通的,都接电源或只接一个。我将两个分别接了电

源和地,改正后,无短路现象。

程序烧录不了,当用同学的电脑烧录时,可以烧录,最后发现是串口的com

端口选择错误,每个电脑的端口都不一样的。要用“串口调试助手”测试。

蜂鸣器一直在响,问题应该出现在驱动哪里。最后确定是三极管出了问题,

设计中应该用pnp型三极管结果误选了npn型的,换过之后可以正常报警。

当布防灭掉之后就报警,人体感应模块根本没有检测到人体为什么会报警

呢?通过电路的排除和查阅资料,最终确定是人体感应模块的延时调到了最大,

由于刚开机的时候会检测到人体,就一直有电平输出,放在无人的地方时,还处

于延时状态,当布防后,还保持输出信号,所以会报警。

6 设计心得体会

这次课程设计让我受益匪浅,收获的不仅仅是一个设计作品的完成,更

是作品制作过程中的经历,不单单是作品本身所需要的知识,也间接的了解到了

多方面的知识。在此之前,无论是课程设计还是结课作业都没有此次毕业设计记

忆犹新,因为之前没有哪次作业像毕业设计这样竭尽所能,没有方向的限制,没

有指定技术的约束。只要能把作品的功能做出来。就像在一个更大的舞台,把大

学阶段乃至中学小学学到的所有东西尽可能多的发挥出来。这种感觉让我感到自

己已经成长了,成长到要去创作出一个世上可能没有的东西。我绞尽脑汁去思考

我的知识能做出什么作品,我花了很多时间在前期立题,可行性分析,需求分析

包括可能遇到的难题,解决办法等。我仍记得当我的了解到本次设计作品需要多

个串口时,我意识到平时我们课上所熟悉的89C51单片机已经不能满足需求了,

我开始去找一款我能驾驭的同样兼容51内核的多串口51单片机。最后我选定了

STC12C5A。我通过网上资料,了解各模块芯片的引脚排列,引脚介绍,分析电

路,规划电路。在老师的指导下,终于设计出了总原理图。

通过课程设计能够理论联系实际的学习,还记得我在连接实物芯片的时候遇

到了很多问题,在万用板焊接,由于焊接技术不好,我把万用表焊粘糊,导致单

片机插不进排座里,最后还弄坏了单片机的两个引脚,最后我只能直接把先接到

了单片机的引脚上。实践也提高了单片机知识的理解水平。在这次课程设计中我

还体会到了合作与团结的力量,当我遇到问题,我就会在QQ群里讨论或者是同

学之间相互帮助。团结就是力量,无论在现在的学习中还是在以后的工作中,团

结都是至关重要的,有了团结就会有更多的理念、更多的思维、更多的情感。

单片机是一门很重要的课程。如果学好一门单片机,就能找到一份好的

工作。尽管我们在课堂学到的东西很有限,但在以后的学习中单片机还是要好好

的深入研究和学习,学好单片机也就是多了一项生存的本钱。

最后感谢老师对我的精心指导和帮助,同时也感谢同学们对我的帮助。

参考文献

[1]郭天祥.新概念51单片机C语言教程:入门、提高、开发、拓展全攻略

[M].北京:电子工业出版

社,2009.

[2]龙脉工作室.51单片机C语言应用开发技术大全[M].北京:人民邮电

出版社,2008.

[3]普拉塔.C Primer Plus:第5版[M].北京:人民邮电出版社,2005.

[4]Keil Software-Cx51编译器用户手册[M/oL].2001.

[5]周润景,张丽娜,刘印群.PROTEUS入门使用教程[M].北京:机械工

业出版社,2007.

[6]P87C51RA2/RB2/RC2/RD2 DATA S脏ET[M/OL].2003.

[7]樊永显,许勇,张向文等.基于STC89C54RC/RD+单片机的游戏机系

统设计[J].湖南工业大学学

报,2007,21(5):66—69.

[8]金春霞,白秋产.基于J21CE技术手机游戏开发与实现[J].计算机与数

字工程,2008,36(4):177—

179.

[9]王宏宇.VF游戏设计一贪吃蛇[J].中国科技信息,2007(7):91—92.

[10]李德建,姚远程,周东杰.基于SOPC架构的贪吃蛇游戏研究与设计实

现[J].科技创新导报,

2008(31):26-27.

[11]林锐,韩永泉.高质量程序设计指南:C++/C语言[M].北京:电子工

业出版社,2007.

[12]Specification for LCD Module TSl620一l[M/oL].SHENZHEN

TECHSTAR ELECTRONICS CO.,LTD.

n3]SMCl602A LCM使用说明书[M/oL].长沙太阳人电子有限公司,2001.

[14]Specification for LCD Module AGl2864C[M/0L].晶采光电科技股份有

限公司,2003.

[15]李振军,成良玉.基于MIDP的Java手机游戏开发方法的分析与实现

[J].计算机应用,2004,24

(3):237-241.

[16]唐天兵,严毅,陈纬文.基于J2ME的手机游戏开发与实现[J].广西大

学学报,2005,30(7):51—53.

[17]拉伯罗斯.嵌入式实时操作系统uC/0s—II EM].北京:北京航空航天

大学出社,2003.

[18]WolfW.Hardware—Software Co—Design of Embedded Systems

Proceedings[J].the

IEEE,2004,82(7):123—126.

[19]KuoKai Shyu.A Newly Robust Controllet Design for the Position Control of

Permanent-Magnet Synchronous Motor[J].IEEE Trans.Ind.Electron,2002,

49(3):558—564.

[20]Karl J Astrom.The Application of Keil and Proteus in MCU Game

Desisn[J].the

IEEE,2001,80(5):23—27.

[21]谢少伟.基于MCS-51单片机功能完善的音乐播放程序设计[J].电子技

术,2007,36(II):36-39.

[22]王健,林原珩.带音效的手机游戏的设计与实现[J].长春师范学院学报,

2008,27(5):53—55

附录

原理图

2024年8月29日发(作者:齐天蓉)

---文档均为word文档,下载后可直接编辑使用亦可打

印---

摘要

本产品设计了一种基于51单片机,利用ADXL345加速度传感器的跌倒实

时检测系统,来实现来人摔倒后的报警。用以完成老人跌倒后可以被及时发现并

救助;它运用基于SVM阈值法的三次判别算法;精准判断老人是否摔倒。设计

还使用了GPS卫星定位模块;对老人摔倒后进行准确定位。大量实践数据表明,

设计产品对大多数情况都能正确判断,误报率较低,可有效的区分日常生活行为

和跌倒行为,对老人摔倒检查正确率达到90%,稳定性,识别率很高。

关键词:加速度传感器;阈值法;跌倒检测

Abstract

The design of this product is based on 51 single-chip computer, using ADXL345

accelerometer real-time fall detection system, to achieve the alarm after people fall. It

can be found and rescued in time after the elderly fall. It uses the three-time

discriminant algorithm based on SVM threshold method to accurately judge whether

the elderly fall or not. GPS satellite positioning module is also used in the design,

which can accurately locate the elderly after falling down. A large number of practical

data show that the design product can correctly judge most cases, and the rate of false

alarm is low. It can effectively distinguish daily life behavior and fall behavior. The

correct rate of fall detection for the elderly is 90%, stability and recognition rate is

high.

Key words: acceleration sensor; threshold method; fall detection

摘要 ........................................................................................................................ 1

1 概述 .................................................................................................................... 4

1.1研究背景及意义 ...................................................................................... 4

1.2研究现状 .................................................................................................. 4

1.3应用前景 ................................................................... 错误!未定义书签。

2 线路设计 ............................................................................................................ 5

2.1设计思路 .................................................................................................. 5

2.2模块分析 .................................................................................................. 5

2.2.1 GSM模块: .................................................................................. 5

2.2.2 GPS模块: ................................................................................... 6

2.2.3 ADXL345 模块: .......................................................................... 6

2.2.4单片机STC12C5A60S2的功能及最小系统的电路设计 ......... 7

3硬件简述: ....................................................................................................... 10

3.1GPS模块VK2828U7G5LF部分 .......................................................... 10

3.2 ADXL345简要介绍 ................................................................................ 17

3.3GSM模块简介 ........................................................................................ 19

4 软件设计 .......................................................................................................... 21

4.1 keil应用 ................................................................................................. 21

4.2 Altium Designer应用 ............................................................................ 21

4.3程序流程 ................................................................................................ 22

5.系统分析与调试 ............................................................................................... 24

6 设计心得体会 .................................................................................................. 26

参考文献 .............................................................................................................. 27

附录 ...................................................................................................................... 29

原理图 .......................................................................................................... 29

源程序 ............................................................................. 错误!未定义书签。

1 概述

1.1研究背景及意义

随着社会人口比例的变化 老年人占比越来越高,大多数家庭都出现了老人

多,年轻人少的情况,老人的照顾不到位,那么老人的安全问题往往成为了每个

家庭的安全隐患。老年人摔倒现象时有发生,摔倒本身大多数情况下没多大问题,

问题往往出现在摔倒后的处理不当,造成严重的后果。因此,准确判断老年人单

独上街的行为状态,设计老年人跌倒GPS定位报警器显得十分重要。根据上述

现象,本文设计了一种基于51单片机的老年人跌倒GPS报警器,内置的跌倒检

测传感器ADXL345可以进行跌倒识别,GPS模块VK2828U7G5LF部分可以实

时检查老人的位置信息,GSM模块的SIM900能给监护人发去老人摔倒的位置

信息,使摔倒老人及时得到救助,治疗。尽可能的降低摔倒后造成的不利后果

1.2研究现状

现有的老年人防跌倒报警装置大多是通过无线对讲系统或者基于android智

能手机APP研发的。它们自动化程度高,有很强的专业性。但是 这也成为了它

们的缺陷,因为大多数老年人使用现代化产品不熟练,或许并不会用,使用起来

有很大困难。况且老年人在跌倒以后,身体受到了冲击,更没有能力去操作APP

了,本设计操作简单易懂,自动化程度高,设施简单,原件成本较低,所以一款

基于51单片机的老人防摔设计的研究势如破竹。

2 线路设计

2.1设计思路

本次设计的老人防摔设计主要是基于51单片机作为主控芯片、ADXL345

电容式微机械三轴加速度计作为检测老人摔倒的检测传感器、还有GPS模块做

为老人摔倒地址定位的传感器以及一块GSM模块进行通知亲友。考虑到扩展的

可能性,额外增加了一个继电器控制,可以自己外接认为摔倒减少伤害的模块。

详细的硬件框图如下:

2.2模块分析

2.2.1 GSM模块:

SIM900A是通过串口发送AT指令来完成控制的,所以我们需要一块多

串口的51单片机STC12C5A,检查好电源和接地后,SIM900A的TXD和RXD

分别连接到STC12C5A的P3.0和P3.1即可。当ADXL345检查到老人摔倒数据

后,通过单片机指令实现老人摔倒后位置信息的发送。

2.2.2 GPS模块:

通过串口通信与单片机相连接,当它工作的时候,就开始定位了,它将定位

数据传输给单片机,数据遵守NMEA0183协议,里面有地面速度、时间、位置

信息等,24小时检查老人位置信息。我们可以直接对送过来的数据用C语言进

行处理,让GSM模块把信息发送到指定手机号上。例如多个监护人电话号码、

医院急救车电话等。

2.2.3 ADXL345 模块:

ADXL345是一款三轴、数字化的加速度传感器,它能测X、Y、Z三个方向轴上的加速度,

它可以在倾斜检测应用中测量静态重力加速度,还可以测量运动或冲击导致的动态加速度。

ADXL345首先由前端感应器件感应测得加速度的大小,然后由感应电信号器件转为可识别的电

信号,这个信号是模拟信号。ADXL345集成的A/D装换器将此模拟信号转换为数字信号。当

检查到老人摔倒时,通过单片机里的程序指令,让GSM模块发出求救信息,并使蜂鸣器报警。

2.2.4单片机STC12C5A60S2的功能及最小系统

的电路设计

STC12C5A60S2系列单片机是宏晶科技生产的单时钟/机器周期(1T)的单片

机。它是高速/低功耗/超强抗干扰的新一代8051单片机,指令代码完全兼容传统

8051,但速度快8-12倍。内部集成MAX810专用复位电路,2路PWM,8路高速10

位A/D转换(250K/S),针对电机控制,强干扰场合。 VCC:供电电压;

GND:接地;

P0口:P0口为一个8位漏级开路双向I/O口,每个管脚可吸收8TTL门电

流。当P0口的管脚写“1”时,被定义为高阻输入。P0能够用于外部程序数据存

储器,它可以被定义为数据/地址的第八位。在FLASH编程时,P0口作为原码

输入口,当FLASH进行校验时,P0输出原码,此时P0外部电位必须被拉高;

P1口:P1口是一个内部提供上拉电阻的8位双向I/O口,P1口缓冲器能接

收输出4TTL门电流。P1口管脚写入“1”后,电位被内部上拉为高,可用作输入,

P1口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。在FLASH

编程和校验时,P1口作为第八位地址接收;

P2口:P2口为一个内部上拉电阻的8位双向I/O口,P2口缓冲器可接收,

输出4个TTL门电流,当P2口被写“1”时,其管脚电位被内部上拉电阻拉高,

且作为输入。作为输入时,P2口的管脚电位被外部拉低,将输出电流,这是由

于内部上拉的缘故。P2口当用于外部程序存储器或16位地址外部数据存储器进

行存取时,P2口输出地址的高八位。在给出地址“1”时,它利用内部上拉的优势,

当对外部八位地址数据存储器进行读写时,P2口输出其特殊功能寄存器的内容。

P2口在FLASH编程和校验时接收高八位地址信号和控制信号;

P3口:P3口管脚是8个带内部上拉电阻的双向I/O口,可接收输出4个TTL

门电流。当P3口写入“1”后,它们被内部上拉为高电平,并用作输入。作为输入

时,由于外部下拉为低电平,P3口将输出电流(ILL),也是由于上拉的缘故。P3

口也可作为AT89C51的一些特殊功能口:

P3.0 RXD(串行输入口)

P3.1 TXD(串行输出口)

P3.2 INT0(外部中断0)

P3.3 INT1(外部中断1)

P3.4 T0(记时器0外部输入)

P3.5 T1(记时器1外部输入)

P3.6 WR (外部数据存储器写选通)

P3.7 RD (外部数据存储器读选通)

同时P3口同时为闪烁编程和编程校验接收一些控制信号;

RST:复位输入。当振荡器复位器件时,要保持RST脚两个机器周期的高

平时间;

ALE / PROG :当访问外部存储器时,地址锁存允许的输出电平用于锁存地

址的低位字节。在FLASH编程期间,此引脚用于输入编程脉冲。在平时,ALE

端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6。因此它可用

作对外部输出的脉冲或用于定时目的。然而要注意的是:每当用作外部数据存储

器时,将跳过一个ALE脉冲。如想禁止ALE的输出可在SFR8EH地址上置0。

此时, ALE只有在执行MOVX,MOVC指令时ALE才起作用。另外,该引脚

被略微拉高。如果微处理器在外部执行状态ALE禁止,置位无效;

PSEN:外部程序存储器的选通信号。在由外部程序存储器取址期间,每个

机器周期PSEN两次有效。但在访问内部数据存储器时,这两次有效的PSEN信

号将不出现;

EA/VPP:当EA保持低电平时,访问外部ROM;注意加密方式1时,EA将

内部锁定为RESET;当EA端保持高电平时,访问内部ROM。在FLASH编程期

间,此引脚也用于施加12V编程电源(VPP);

XTAL1:反向振荡放大器的输入及内部时钟工作电路的输入;

XTAL2:来自反向振荡器的输出;

单片机的引脚图如图3.3所示。

图3.3 STC12C5A60S2单片机引脚图

单片机最小系统,是指用最少的元件与单片机组成的可以工作的系统。对

51单片机来说,最小系统一般应该包括:单片机、晶振电路、复位电路。单片

机接口电路主要用来连接计算机和其他外部设备,各功能模块及原理如下:

复位电路:单片机最小系统复位电路的极性电容C1的大小直接影响单片机

的复位时间,一般采用10-30μF,51单片机最小系统容值越大需要的复位时间越

短。单片机工作之后,只要在RST引线上加载10ms以上的高电平,单片机就能

有效地复位。CS-51单片机通常采用自动复位和按键复位两种方式。这里采用按

键复位和上电复位两种电路结合。

晶振电路:典型的晶振取11.0592M,晶振越大,则单片机的处理速度越快。

单片机的最小起振电容C2,C3一般采用15-33pF,并且电容离晶振越近越好。

单片机最小系统的设计电路如图3.4所示。

图3.4 单片机最小系统的设计电路

3硬件简述:

3.1GPS模块VK2828U7G5LF部分

GPS模块就是集成了RF射频芯片、基带芯片和核心CPU,并加上相关外

围电路而组成的一个集成电路。在本次设计采用了设计要求的VK2828U7G5LF

模块,这个模块主芯片是UBX-G7020-KT,通过串口通信与单片机相连接,当使

他工作的时候,就会开始定位,并将数据通过串口送给单片机,数据遵守

NMEA0183协议,里面有时间、位置、地面速度信息等,我们可以直接对送过

来的数据进行解读,就可以获取我们所先要的时间信息。

1.正常工作条件:

RF射频属性:

NMEA0183协议

NMEA 0183 输出

GGA:时间、位置、定位类型

GLL:经度、纬度、 UTC 时间

GSA:GPS 接收机操作模式,定位使用癿卫星,DOP 值

GSV:可见 GPS 卫星信息、仰角、方位角、信噪比(SNR)

RMC:时间、日期、位置、速度

VTG:地面速度信息

MSS:信号强度等

注意:输出癿信息、频率不设置有关

样例数据:

$GPGGA,060826.00,2236.91284,N,11403.24705,E,2,08,1.03,107.8,M,-2.4,M,,0

000*4A

$GPGSA,A,3,24,22,14,12,15,25,18,42,,,,,2.20,1.03,1.95*01

$GPGSV,3,1,11,12,31,117,47,14,30,290,46,15,19,060,42,18,70,010,45*78

$GPGSV,3,2,11,21,47,207,,22,40,326,43,24,44,036,43,25,24,159,42*70

$GPGSV,3,3,11,31,03,218,,42,51,128,35,50,46,122,45*4E

$GPGLL,2236.91284,N,11403.24705,E,060826.00,A,D*66

$GPRMC,060827.00,A,2236.91267,N,11403.24701,E,0.001,,130214,,,D*79

$GPVTG,,T,,M,0.029,N,0.054,K,D*2C

4.样例数据详解

本次设计在软件编程时所处理的数据GGA样例数据,详细会在软件部

分介绍。

GGA样例数据:

$GPGGA,060826.00,2236.91284,N,11403.24705,E,2,08,1.03,107.8,M,-2.4,M,,0000*

4A

序号 名称 样例 单位 描述

0 消息ID $GPGGA GGA协

议头

1 UTC时间 060826.0 hhmmss.s

0 s

2 纬度 2236.912 ddmm.m

84 mmmm

3 N/S指示 N N=北,S=

4 经度 11403.24 dddmm.m

705 mmmm

5 E/W指示 E W=西,E=

6 定位指示 2 0:未定位

1:SPS模式,定

位有效

2:差分,

SPS模式,定

位有效3:PPS

模式,定位有

7 卫星数目 08 范围0到

12

8

9

10

11

12

13

HDOP

MSL

单位

大地

单位

差分时间

1.03

107.8

M

-2.4

M

水平精度

平均海平

面高度

单位:米

平均海平

单位:米

当没有

DGPS时,无

当没有

DGPS时,无

$不*之间

所有字符

ASCII码癿校

验和

消息结束

14 差分ID 0000

15 校验和 *4A

16

>

GSA样例数据:

$GPGSA,A,3,24,22,14,12,15,25,18,42,,,,,2.20,1.03,1.95*01

序号 名称 样例 单位

0 消息ID $GPGSA

1 模式1 A

描述

GSA协议

M=手劢

(强制操作在

2D或3D模

式),A=自动

1:定位无

效2:2D定位

3:3D定位

通道1

通道2

通道3

通道4

通道5

通道6

通道7

通道8

,,,

2 模式2 3

3

4

5

6

7

8

9

10

11

卫星使用

卫星使用

卫星使用

卫星使用

卫星使用

卫星使用

卫星使用

卫星使用

,,,

24

22

14

12

15

25

18

42

,,,

,,,

12

13

14

15

16

卫星使用

PDOP

HDOP

VDOP

校验和

2.20

1.03

1.95

*01

17

>

通道12

位置精度

水平精度

垂直精度

$不*之间

所有字符

ASCII码癿校

验和

GSV

样例数据:

$GPGSV,3,1,11,12,31,117,47,14,30,290,46,15,19,060,42,18,70,010,45*78

$GPGSV,3,2,11,21,47,207,,22,40,326,43,24,44,036,43,25,24,159,42*70

$GPGSV,3,3,11,31,03,218,,42,51,128,35,50,46,122,45*4E

序号 名称 样例 单位 描述

0 消息ID $GPGSV GSV协议

1 消息数目 3 范围1到

3

2 消息编号 1 范围1到

3

3 卫星数目 11 卫星的数

4 卫星ID 12 卫星ID

5 仰角 31 度 仰角(范

围0°到90°)

6 方位角 117 度 方位角

(范围0°到

359°)

7 载噪比47 dBHz 信号强度

(C/No) (范围0到99)

没有跟踪时为

8 卫星ID 14 卫星ID

9 仰角 30 度 仰角(范

围0°到90°)

10 方位角 290 度 方位角

(范围0°到

359°)

11 载噪比46 dBHz 信号强度

(C/No) (范围0到99)

没有跟踪时为

12

13

14

卫星ID

仰角

方位角

15

19

060

15 载噪比

(C/No)

42 dBHz

16

17

,,,

校验和

,,,

*78

,,,

18

>

卫星ID

仰角(范

围0°到90°)

方位角

(范围0°到

359°)

信号强度

(范围0到99)

没有跟踪时为

,,,

$不*之间

所有字符

ASCII码癿校

验和

消息结束

GLL样例数据:$GPGLL,2236.91284,N,11403.24705,E,060826.00,A,D*66

序号 名称 样例 单位 描述

0 消息ID $GPGLL GLL协议

1 纬度 2236.912 ddmm.m

84 mmmm

2 N/S指示 N N=北,S=

3 经度 11403.24 dddmm.m

705 mmm

4 E/W指示 E W=西,E=

5 UTC位置 060826.0 hhmm.m

0 mmm

6 状态 A A=数据

有效;V=数据

无效

7 模式指示 D A=自主

定位,D=差

分,E=估算,

N=数据无效

8 校验和 *18 $不*之间

所有字符

ASCII码癿校

验和

9

>

RMC样例数据:

$GPRMC,060827.00,A,2236.91267,N,11403.24701,E,0.001,,130214,,,D*79

序号 名称 样例 单位 描述

0 消息ID $GPRMC RMC协

议头

1 UTC时间 060827.0 hhmmss.s

0 s

2 状态 A A=数据

有效;V=数据

无效

3 纬度 2236.912 ddmm.m

67 mmmm

4 N/S指示 N N=北,S=

5 经度 11403.24 dddmm.m

701 mmmm

6 E/W指示 E W=西,E=

7 地面速度 0.001 Knot(节) 地面速度

8 方位 度 地面航线

9 日期 130214 日,月,年

癿格式日期

10 磁变量 磁场变化

值(空白-丌支

持)

11 模式指示 D A=自主

定位,D=差

分,E=估算,

N=数据无效

12 校验和 *79 $不*之间

所有字符

ASCII码癿校

验和

13

>

VTG样例数据:$GPVTG,,T,,M,0.029,N,0.001,K,D*2C

序号 名称 样例 单位 描述

0 消息ID $GPVTG VTG协议

1 方位 度 地面航线

2 参考 T 真北

3 参考 -

4

5

6

7

8

9

参考

速度

单位

速度

单位

模式指示

M

0.029

N

0.001

K

D

Knots

(节)

公里/小

地面航线

(磁癿),丌

输出

地面速度

固定字节

地面速度

公里/小

A=自主

定位,D=差

分,E=估算,

N=数据无效

$不*之间

所有字符

ASCII码癿校

验和

消息结束

10 校验和 *2C

11

>

3.2 ADXL345简要介绍

ADXL345 是 ADI 公司推出的基于 iMEMS 技术的 3 轴、数字输出加速度传感器。该加速度传

感器的特点有:

①分辨率高。最高 13 位分辨率。

②量程可变。具有+/-2g, +/-4g, +/-8g, +/-16g 可变的测量范围。

③灵敏度高。最高达 3.9mg/LSB,能测量不到 1.0°的倾斜角度变化。

④功耗低。 40~145uA 的超低功耗,待机模式只有 0.1uA。

⑤尺寸小。整个 IC 尺寸只有 3mm*5mm*1mm, LGA 封装。

ADXL 支持标准的 I2C 或 SPI 数字接口,自带 32 级 FIFO 存储,并且内部有多种运动状态

检测和灵活的中断方式等特性。ADXL345 传感器的检测轴如图所示:

当 ADXL345 沿检测轴正向加速时,它对正加速度进行检测。在检测重力时用户需要注意,当

检测轴的方向与重力的方向相反时检测到的是正加速度。图 为输出对重力的响应:

ADXL345 的引脚图,如图 42.1.1.3 所示:

ADXL345 传感器的初始化步骤

我们介绍一下 ADXL345 的初始化步骤。 ADXL345 的初始化步骤如下:

1) 上电

2) 等待 1.1ms

3) 初始化命令序列

4) 结束

其中上电这个动作发生在开发板第一次上电的时候,在上电之后,等待1.1ms 左右,就可以开

始发送初始化序列了,初始化序列一结束, ADXL345 就开始正常工作了。这里的初始化序列,最

简单的只需要配置 3 个寄存器,如下:

3.3GSM模块简介

sim900a模块引脚及功能

SIMCom推出新款紧凑型产品—SIM900A. 它属于双频GSM/GPRS模

块,完全采用SMT封装形式,SIM900A仅适用于中国市场,其性能稳定,外观

精巧,性价比高,能满足您的多种需求。

SIM900A模块主要特点:

SMT封装:易于客户生产加工

尺寸小: 24*24*3mm

功耗低:待机模式电流低于18mA、sleep模式低于2mA

供电范围宽:3.2~4.8V

支持频段:GSM/GPRS 900/1800MHz

语音编码:支持半速率、全速率、增强型速率

支持回声抑制算法,可以基于不同客户设备通过AT命令调节回音抑制消除。

4 软件设计

4.1 keil应用

Keil C51是美国Keil Software公司出品的51系列兼容单片机C语言软件开

发系统,与汇编相比,C语言在功能上、结构性、可读性、可维护性上有明显的

优势,因而易学易用。用过汇编语言后再使用C来开发,体会更加深刻。 Keil

C51软件提供丰富的库函数和功能强大的集成开发调试工具,全Windows界面。

另外重要的一点,只要看一下编译后生成的汇编代码,就能体会到Keil C51生

成的目标代码效率非常之高,多数语句生成的汇编代码很紧凑,容易理解。在开

发大型软件时更能体现高级语言的优势。下面详细介绍Keil C51开发系统各部

分功能和使用。 Keil_c软件界面如图17:

图17 Keil_c软件界面

该软件是一款集编程和仿真于一体的软件,它支持汇编、C语言及二者的混

合编程。

4.2 Altium Designer应用

Altium Designer是PORTEL公司在80年代末推出的EDA软件。Altium

Designer是应用于Windows9X/2000/NT操作系统下的EDA设计软件,采用设计

库管理模式,可以网设计,具有很强的数据交换能力和开放性及3D模拟功能,

是一个32位的设计软件,可以完成电路原理图设计,印制电路板设计和可编程

逻辑器件设计等工作,可以设计32个信号层,16个电源--地层和16个机加工层。

Altium Designer软件的特点:

可生成30多种格式的电气连接网络表;

强大的全局编辑功能;

在原理图中选择一级器件,PCB中同样的器件也将被选中;

同时运行原理图和PCB,在打开的原理图和PCB图间允许双向交叉查找元

器件、引脚、网络

既可以进行正向注释元器件标号(由原理图到PCB),也可以进行反向注

释(由PCB到原理图),以保持电气原理图和PCB在设计上的一致性;

满足国际化设计要求(包括国标标题栏输出,GB4728国标库); * 方便

易用的数模混合仿真(兼容SPICE 3f5);

支持用CUPL语言和原理图设计PLD,生成标准的JED下载文件; * PCB

可设计32个信号层,16个电源-地层和16个机加工层;

强大的“规则驱动”设计环境,符合在线的和批处理的设计规则检查;

智能覆铜功能,覆铀可以自动重铺;

提供大量的工业化标准电路板做为设计模版;

放置汉字功能;

可以输入和输出DXF、DWG格式文件,实现和AutoCAD等软件的数据交

换;

智能封装导航(对于建立复杂的PGA、BGA封装很有用);

方便的打印预览功能,不用修改PCB文件就可以直接控制打印结果;

4.3程序流程

本次设计,通过ADXL345检测老人是否摔倒 ,如果老人摔倒,蜂鸣器会

报警,如果摔倒超过15S老人仍为站起来,单片机会通过GSM模块给所绑定的

手机号进行发送提示短息,信息里有最近一次的GPS的定位信息。

主程序流程图如下:

开始

初始化

数据采集

数据处理

控制电路

结束

GSM模块发送短信流程图

开始

N

老人是否摔倒

Y

N

摔倒15秒仍没有起来

Y

发送短信

结束

5.系统分析与调试

本设计是在Keil C环境下开发的,Keil C软件支持C语言的编程及调试,

运用方便,是做C语言毕业设计者的首选。设计的首要任务是安装和学习使用

这个软件,在简单的学习和了解Keil C后,在编译完Keil C后,再运用

STC_ISP_V480软件烧录到开发板上,实现实物与程序的连接。在烧录前要对

STC_ISP_V480进行一些必要的设置。第一步:设置MCU Type为STC89C51RC;

第二步:打开编写好并编译的程序文件,它是以.hex为后缀的文件;第三步:选

择对应的COM端口,(可在我的电脑的设备管理处查看COM选项);第四步:

点击Download/下载,等提示

请给MCU上电时,打开开发板上的开关,它就自行烧录了。

图20 程序烧录运行图

在完成对程序的调试及烧录之后,还要对功能进行测试,首先用万用表测试

电源和地有没有短路,然后再对设计进行通电。最开始要对主控板进行测试,因

为它是核心,按下按键看下数码管是否显示正常,当显示“b”会显示30s,当

“b”灭掉之后按下“sos”按键看系统会不会报警,如果报警则系统基本正常,

再按下“c”撤防。按键功能正常后,在测试人体感应部分,按下布放后,将设

计放在无人的地方(或是用东西盖住),当“b”灭掉之后,让人体感应模块感

应人体,主控机会显示“一”。

本次设计出现的问题及解决方法:

万用表检测是否短路时,发现有短路显现,经过排查,发现数码管接错,数

码管的两个“com”接口是相通的,都接电源或只接一个。我将两个分别接了电

源和地,改正后,无短路现象。

程序烧录不了,当用同学的电脑烧录时,可以烧录,最后发现是串口的com

端口选择错误,每个电脑的端口都不一样的。要用“串口调试助手”测试。

蜂鸣器一直在响,问题应该出现在驱动哪里。最后确定是三极管出了问题,

设计中应该用pnp型三极管结果误选了npn型的,换过之后可以正常报警。

当布防灭掉之后就报警,人体感应模块根本没有检测到人体为什么会报警

呢?通过电路的排除和查阅资料,最终确定是人体感应模块的延时调到了最大,

由于刚开机的时候会检测到人体,就一直有电平输出,放在无人的地方时,还处

于延时状态,当布防后,还保持输出信号,所以会报警。

6 设计心得体会

这次课程设计让我受益匪浅,收获的不仅仅是一个设计作品的完成,更

是作品制作过程中的经历,不单单是作品本身所需要的知识,也间接的了解到了

多方面的知识。在此之前,无论是课程设计还是结课作业都没有此次毕业设计记

忆犹新,因为之前没有哪次作业像毕业设计这样竭尽所能,没有方向的限制,没

有指定技术的约束。只要能把作品的功能做出来。就像在一个更大的舞台,把大

学阶段乃至中学小学学到的所有东西尽可能多的发挥出来。这种感觉让我感到自

己已经成长了,成长到要去创作出一个世上可能没有的东西。我绞尽脑汁去思考

我的知识能做出什么作品,我花了很多时间在前期立题,可行性分析,需求分析

包括可能遇到的难题,解决办法等。我仍记得当我的了解到本次设计作品需要多

个串口时,我意识到平时我们课上所熟悉的89C51单片机已经不能满足需求了,

我开始去找一款我能驾驭的同样兼容51内核的多串口51单片机。最后我选定了

STC12C5A。我通过网上资料,了解各模块芯片的引脚排列,引脚介绍,分析电

路,规划电路。在老师的指导下,终于设计出了总原理图。

通过课程设计能够理论联系实际的学习,还记得我在连接实物芯片的时候遇

到了很多问题,在万用板焊接,由于焊接技术不好,我把万用表焊粘糊,导致单

片机插不进排座里,最后还弄坏了单片机的两个引脚,最后我只能直接把先接到

了单片机的引脚上。实践也提高了单片机知识的理解水平。在这次课程设计中我

还体会到了合作与团结的力量,当我遇到问题,我就会在QQ群里讨论或者是同

学之间相互帮助。团结就是力量,无论在现在的学习中还是在以后的工作中,团

结都是至关重要的,有了团结就会有更多的理念、更多的思维、更多的情感。

单片机是一门很重要的课程。如果学好一门单片机,就能找到一份好的

工作。尽管我们在课堂学到的东西很有限,但在以后的学习中单片机还是要好好

的深入研究和学习,学好单片机也就是多了一项生存的本钱。

最后感谢老师对我的精心指导和帮助,同时也感谢同学们对我的帮助。

参考文献

[1]郭天祥.新概念51单片机C语言教程:入门、提高、开发、拓展全攻略

[M].北京:电子工业出版

社,2009.

[2]龙脉工作室.51单片机C语言应用开发技术大全[M].北京:人民邮电

出版社,2008.

[3]普拉塔.C Primer Plus:第5版[M].北京:人民邮电出版社,2005.

[4]Keil Software-Cx51编译器用户手册[M/oL].2001.

[5]周润景,张丽娜,刘印群.PROTEUS入门使用教程[M].北京:机械工

业出版社,2007.

[6]P87C51RA2/RB2/RC2/RD2 DATA S脏ET[M/OL].2003.

[7]樊永显,许勇,张向文等.基于STC89C54RC/RD+单片机的游戏机系

统设计[J].湖南工业大学学

报,2007,21(5):66—69.

[8]金春霞,白秋产.基于J21CE技术手机游戏开发与实现[J].计算机与数

字工程,2008,36(4):177—

179.

[9]王宏宇.VF游戏设计一贪吃蛇[J].中国科技信息,2007(7):91—92.

[10]李德建,姚远程,周东杰.基于SOPC架构的贪吃蛇游戏研究与设计实

现[J].科技创新导报,

2008(31):26-27.

[11]林锐,韩永泉.高质量程序设计指南:C++/C语言[M].北京:电子工

业出版社,2007.

[12]Specification for LCD Module TSl620一l[M/oL].SHENZHEN

TECHSTAR ELECTRONICS CO.,LTD.

n3]SMCl602A LCM使用说明书[M/oL].长沙太阳人电子有限公司,2001.

[14]Specification for LCD Module AGl2864C[M/0L].晶采光电科技股份有

限公司,2003.

[15]李振军,成良玉.基于MIDP的Java手机游戏开发方法的分析与实现

[J].计算机应用,2004,24

(3):237-241.

[16]唐天兵,严毅,陈纬文.基于J2ME的手机游戏开发与实现[J].广西大

学学报,2005,30(7):51—53.

[17]拉伯罗斯.嵌入式实时操作系统uC/0s—II EM].北京:北京航空航天

大学出社,2003.

[18]WolfW.Hardware—Software Co—Design of Embedded Systems

Proceedings[J].the

IEEE,2004,82(7):123—126.

[19]KuoKai Shyu.A Newly Robust Controllet Design for the Position Control of

Permanent-Magnet Synchronous Motor[J].IEEE Trans.Ind.Electron,2002,

49(3):558—564.

[20]Karl J Astrom.The Application of Keil and Proteus in MCU Game

Desisn[J].the

IEEE,2001,80(5):23—27.

[21]谢少伟.基于MCS-51单片机功能完善的音乐播放程序设计[J].电子技

术,2007,36(II):36-39.

[22]王健,林原珩.带音效的手机游戏的设计与实现[J].长春师范学院学报,

2008,27(5):53—55

附录

原理图

发布评论

评论列表 (0)

  1. 暂无评论