毕业设计基于msp430单片机的无线距离报警系统设计.docx

上传人:b****6 文档编号:8246423 上传时间:2023-01-30 格式:DOCX 页数:20 大小:316.08KB
下载 相关 举报
毕业设计基于msp430单片机的无线距离报警系统设计.docx_第1页
第1页 / 共20页
毕业设计基于msp430单片机的无线距离报警系统设计.docx_第2页
第2页 / 共20页
毕业设计基于msp430单片机的无线距离报警系统设计.docx_第3页
第3页 / 共20页
毕业设计基于msp430单片机的无线距离报警系统设计.docx_第4页
第4页 / 共20页
毕业设计基于msp430单片机的无线距离报警系统设计.docx_第5页
第5页 / 共20页
点击查看更多>>
下载资源
资源描述

毕业设计基于msp430单片机的无线距离报警系统设计.docx

《毕业设计基于msp430单片机的无线距离报警系统设计.docx》由会员分享,可在线阅读,更多相关《毕业设计基于msp430单片机的无线距离报警系统设计.docx(20页珍藏版)》请在冰豆网上搜索。

毕业设计基于msp430单片机的无线距离报警系统设计.docx

毕业设计基于msp430单片机的无线距离报警系统设计

HefeiUniversity

课程设计

项目报告

项目名称:

无线距离报警

无线距离报警

摘要

本无线距离报警是以MSP430F1232超低功耗单片机作为主控核心和无线通信模块nRF2401的各个功能模块及其特性。

系统主要实现了无线距离报警即当从机离开主机一定距离后主机会自动报警,并且在报警发生后可有用户通过按键对报警状态进行清除,另外从机还预设了内线的掉线检测,即主从机在正常通信的状态下,从机会实时将自身的一根内线信号上传给主机并伴有灯光报警提示。

分析了数据发送和接收的工作原理以及实现本系统所要解决的关键问题最后通过实物验证了系统的性能。

关键词:

单片机MSP430 、NRF24L2401、无线通信、报警   

Wireless alarmdistance

ABSTRACT

The wireless alarmdistance is MSP430F1232ultralowpowermicrocontrolleras themaincontrol coreof eachfunctionmodule andwirelesscommunicationmodule nRF2401anditscharacteristics. Thesystemmainlyimplementsthewireless alarmdistance is whenthehost certaindistancefromthe machineafterthedepartureof thehostwillautomaticallyalarm, and alarm occurs incan theuserthroughthe buttononthe alarm stateis clear, alsofromthemachine alsopresupposesthe disconnection detection inside, namely themaster-slave communication in normal state, theopportunity willbe a realtimefrom theinside signal uploadtheir tothehost andaccompaniedby light alarm.Analysisofthe datasendingandreceiving theworkprincipleandthe keyproblemsof implementationofthe systemtosolve thefinal performanceofthesystemisvalidated by real.

Keyword:

 MCUMSP430, NRF24L2401, wirelesscommunication, alarm

 

目录

目录II

第一章引言-1-

第二章方案设计-1-

2.1系统实现的主要功能路-1-

2.2总体方案-2-

2.2.1方案论证与比较-2-

第三章系统硬件与软件设计-4-

3.1部分单元电路设计-4-

3.2软件设计-9-

4.1测试仪器-10-

4.2测试及性能分析-11-

第五章结论-12-

参考文献-13-

附电路原理图和PCB版图及主从机部分代码-14-

系统总体原理图-14-

系统PCB版图-14-

主从机部分代码............................................................................................................-14-

第一章引言

随着电子信息技术和计算机网络技术的发展人们的生活水平越来越高而报警系统作为现代防盗系统的一个重要组成部分其性能的好坏直接关系到人们日常生活的安全。

把无线网络技术应用到报警系统中通过实时采集周围的环境信息再通过无线的方式将信息传输给控制中心能够弥补有线设备的缺陷具有价廉、可靠性高等优点。

本设计中我们根据无线网络技术的特点设计了一种基于MSP430F1232超低功耗单片机和无线通信模块nRF2401的无线距离报警器。

该系统通过从机向主机不间断的发送信号当从机离开主机能够接受的范围时母机会自动进行声光报警。

第二章方案设计

2.1系统实现的主要功能

本设计是基于MSP430F1232超低功耗单片机和无线通信模块nRF2401的无线距离报警器。

其实现的主要功能有

1、当从机/主机在接受范围内时从机/主机的发光二极管会正常发光显示已经接收到从机/主机发来的信号。

2、当从机/主机离开超出了从机/主机所能接收到的范围时从机/主机立即报警并且发光二极管会闪烁。

3、在报警发生后可有用户通过按键对报警状态进行清除。

4、从机还预设了内线的掉线检测,即主从机在正常通信的状态下,从机会实时将自身的一根内线信号上传给主机并伴有灯光报警提示。

2.2总体方案

本系统制作的是一个无线距离传输报警器系统主要由单片机、无线发送和接受模块、电源模块、按键控制模块、声光报警模块组成。

系统总体框图如下图1所示

 

 

 

图2.2方案设计总体框图

2.2.1方案论证与比较

⏹控制器部分方案的选择与论证

方案一:

单片机STM32Cortex-M3超级单片机完成对其他各部分控制。

方案二:

采用单片机89C51作为控制部分。

方案三:

采用MSP430超低功耗单片机作为控制部分。

方案论证:

方案一所使用的STM32-cortexM3是一款高速、低功耗、性价比高的超级单片机,其内部具有强大的存储能力,在一定程度上不必考虑代码的冗余且能实现各种复杂的控制功能,该芯片是贴片封装且管教分布较为密集会给后期硬件的设计带来不便,方案二采用AT89C51单片机,可在开发环境及代码编写上相对来说较为简单,源于51内核的单片机是基础教程且网上资源相当丰富基本可以涵盖多数控制操作,但功耗比较大、数据传输速率低。

方案三采用MSP430单片机,具有超低功耗且运行速度介于方案一、二之间,再有其指令系统较上述两种最少,故具有相当高的抗干扰能力,给整个系统的稳定提供了基础。

所以本系统采用MSP430F1232作为主控芯片。

⏹无线收发模块选择与论证

方案一:

由RC电路和三极管等分立元件组成多谐振荡器。

其电路优点是简单、廉价,但电路工作频率单一,虽然可以通过调节RC参数改变电路频率,但实现起来比较困难,识别能力有限,因此难以有效地进行ID识别。

方案二:

采用集成芯片M7216。

M7216是一款低电压遥控编码芯片,内码共有20位元100万组(2的20次方),降低使用中编码重复的机率;低工作电压。

其缺点是译码部分需要利用可编程逻辑器件,系统实现起来较为复杂。

方案三:

采用挪威的Nordic研发的的一种型号的无线模块(nRF2401AG),其工作频率范围为2.4GHz,具有更高的传输速度,是新型的无线传输模块。

其也具有价格低廉的优点,在现在的一些无线传输系统中应用中比较广泛。

 其工作电压为1.9~3.6V低电压,是一种低功耗的传输模块。

根据无线防盗报警器的实际要求,需要尽量做到电路简单、功耗低,ID可识别,因此我们选择方案三。

⏹工作电源选择与论证

方案一:

采用两节7号电池供电。

方案二:

采用USB标准接口供电。

由于本设计处于试用调试阶段,采用单独的电池供电不利于开发阶段的调试(公地问题,USB下载问题),而采用方案二的优点在于:

将系统的USB下载和供电问题合二为一,介于当前移动电源较为普及故将后期的作品验收预的电源供电问题带来方便。

第三章系统硬件与软件设计

3.1部分单元电路设计

⏹单片机主控电路图

本系统的的控制部分主要是通过MSP430F1232超低功耗单片机进行控制,该单片机片速度可达8MIPS、极高的抗干扰能力、易操作等特点。

该单片机的最小系统电路图如图3.1所示。

图3.1单片机的最小系统电路图

⏹按键模块电路以及按键功能的详述

按键模块电路图如图3.2所示。

按SW1键系统出现声光报警时,取消/选择蜂鸣报警音

按SW2键系统预设备用按键

图3.2按键模块电路图

⏹声光报警电路及其分析

本模块设计三个发光二极管及一个蜂鸣器;单片机可直接驱动放光二极管的亮灭,但对于大负载的蜂鸣器需额外加入驱动电路故采用NPN(8050)加以间接控制。

系统采用三个发光管向用户提示主从机的三种不同工作状态(蜂鸣器报警属于其中一类);工作状态一:

主从机通信正常,二:

主机或从机掉线(伴有蜂鸣报警),三:

从机内线断开与否提示(此种状态下是在系统处于状态一工作的前提下进行),可用于采集各类传感器接入并将参量实时传送与主机。

图3.3声光报警电路电路图

⏹无线收发模块及其电路分析

nRF24L01模块工作在2.4GHz~2.5GHz的ISM频段的单片无线收发器芯片。

无线收发器包括:

频率发生器、增强型“SchockBurst”模式控制器、功率放大器、晶体振荡器、调制器和解调器。

输出功率频道选择和协议的设置可以通过SPI接口进行设置。

几乎可以连接到各种单片机芯片,并完成无线数据传送工作。

极低的电流消耗:

当工作在发射模式下发射功率为0dBm时电流消耗为11.3mA,接收模式时为12.3mA,掉电模式和待机模式下电流消耗更低。

图3.4无线收发模块接口

⏹USB接口电源及其电路分析

该模块分为两个部分——USB接口电路及后级稳压电路;USB接口电路分为两个作用——USB供电、代码下载(电阻TEST1、TEST就是起到跳线选择的目的)。

后级稳压电路将USB提供的+5V电压降至+3.3V为整个系统供电(这里选择RT9193原因有三:

一其封装相比AM1117拥有更小的尺寸以减小PCB的尺寸,二,整个系统的两大核心芯片(单片机,无线模块)都是超低功耗的理念设计故不需要搭载大功率的稳压片,三,贴片RT9193相比其他3.3V输出的稳压片拥有更高的转换效率);其外围电路配置参考RT9193数据手册。

图3.5USB接口电源电路

3.2软件设计

本设计软件模块采用C语言编写程序,分别对主机和从机进行编程下载,根据本设计任务要求,两个模块的程序流程图如下:

 

接收成功?

NO

YES

接收成功?

内线断开

NOYES

NO

主机从机

第四章系统测试及误差分析

4.1测试仪器

1.数字万用表:

一台

2.示波器:

一台

3.单片机仿真下载器:

一台

4.电脑:

一台

4.2测试及性能分析

系统硬件方案完成后,各模块焊接、检测完毕后,连线无误,再逐步对各模块进行测试。

指标测试:

1、当从机/主机在接受范围内时从机/主机的发光二极管会正常发光显示已经接收到从机/主机发来的信号。

2、当从机/主机离开超出了从机/主机所能接收到的范围时从机/主机立即报警并且发光二极管会闪烁。

3、在报警发生后可有用户通过按键对报警状态进行清除。

4、从机还预设了内线的掉线检测,即主从机在正常通信的状态下,从机会实时将自身的一根内线信号上传给主机并伴有灯光报警提示。

下面列出部分测试结果:

功能1完成。

实际实现的效果是:

当主机和从机在通信正常的情况下,主从机系统板上的蓝色LED发出阶段性闪烁。

功能2完成。

实际实现的效果是:

当主机或从机其中一个处于掉线的情况下(相对距离太远、掉电),主从机系统板上的绿色LED发出光并伴有蜂鸣器鸣叫。

功能3完成。

实际实现的效果是:

当主从机系统板上的绿色LED发出光并伴有蜂鸣器鸣叫时,通过按压一次系统板上的按键蜂鸣啸叫会立即停止但绿色LED发光正常。

功能4完成。

实际实现的效果是:

从机通过板上开关来模拟掉线状态,开关一个方向为高电平另一个为低电平,从机将此信号实时传送给主机,本系统定义当开关拨在低电平状态下视为掉线,此时主机/从机上的红色LED点亮标志从机内线断开。

第五章结论

本系统以MSP430F1232超低功耗单片机作为主控核心和无线通信模块(nRF2401)报警系统,该系统实用性强,可适合用于家庭防盗等。

它具有如下功能:

(1)主从模块掉线报警功能

(2)撤报功能(3)主机同步跟踪从机接入的传感器的变化参量(4)报警功能。

 

发送电路和接收电路的采用两块相同PCB系统板,本次设计的硬件与调试工作是先后步进行的,即先进行PCB硬件的设计,待硬件焊接完成后,进入软件编程,代码编写分为主从两个部分,各个部分子程序均采用模块化编写;以便后续的代码的调试检错。

 

在发射接收程序的编写,程序写入芯片以后有时没有按照自己设想的状态实现,就更次改写入,在几次下来问题解决的同时,自己的思路和视野也开阔!

 

由于时间问题,该系统需要进一步完善,即接收机与用户的通讯或者反馈,功能是让用户清楚你已经接收到他发送的的信息,可以耐心等待你的处理。

 

该设计已经通过调试,基本实现了设计所要求的任务。

 

参考文献

[1]林涛••数字电子技术•清华大学出版社•2006

[2]秦龙•单片机C语言应用程序设计•电子工业出版社•2006

[3]王增福•稳定电源使用电路选编•电子工业出版社•2003

[4]沈建华•MSP430系列16位超低功耗单片机原理与实践•北京航空航天大学出版社•2008

[5]林涛•模拟电子技术基础•重庆大学出版社•2001

附电路原理图

系统总体原理图

附图1

系统PCB版图

部分代码

主机代码

#include"msp430F1232.h"

#include"Define.h"

unsignedintcounter=0,Timer=20;

unsignedintBreak_Timer;

unsignedcharStartup_flag=0,i;;

unsignedcharBell_flag=0;

unsignedcharBell_sp=0;

#pragmavector=TIMERA0_VECTOR

__interruptvoidTimerAINT(void)

{

if(Startup_flag)

{

BELL_0;

LED2_1;

counter++;

if(counter<15){LED1_0;if(Bell_sp){BELL_1;}}

else{LED1_1;if(Bell_sp){BELL_0;Bell_sp=0;}}

if(counter>30)

{

Startup_flag=0;

counter=0;

}

}

else{

Break_Timer++;if(Break_Timer>100)

{

Break_Timer=100;

LED2_0;

if(!

Bell_flag)

BELL_1;

elseBELL_0;

}

}

}

main()

{

WDTCTL=WDTPW+WDTHOLD;//禁止看门狗

LED_IO_set();

BELL_IO_set();

KEY_IO_set();

RF24L01_IO_set();

InitSys();

init_NRF24L01();

InitTimerA();//定时器A初始化

LED1_1;LED3_1;LED2_1;BELL_0;//delay_ms(300);LED2_0;BELL_1;delay_ms(300);BELL_0;LED2_1;

while

(1)

{

Scan_KEY_Code();//扫描按键值及处理

SetRX_Mode();

if(nRF24L01_RxPacket(RxBuf))//接收数据

{

if(RxBuf[4]==0x29)

{

Bell_sp=1;

LED3_0;

}

elseLED3_1;

if(RxBuf[1]==0x29)

{

Startup_flag=1;

Break_Timer=0;

TxBuf[1]=0x29;//发送完后将TxBuf[1]设定成0xFF,以作状态恢复

TxBuf[2]=0x55;

for(i=10;i>0;i--)//重复发送防止丢失

{

nRF24L01_TxPacket(TxBuf);//当有按键后,不同按键发送不同数据

SPI_RW_Reg(WRITE_REG+STATUS,0XFF);

delay_ms(50);

}

TxBuf[1]=0xff;//发送完后将TxBuf[1]设定成0xFF,以作状态恢复

TxBuf[2]=0xff;

}

}

}

}

从机代码

#include"msp430F1232.h"

#include"Define.h"

unsignedintcounter=0,Timer=0;

unsignedintBreak_Timer;

unsignedcharStartup_flag=0,i;

unsignedcharBell_flag=0;

unsignedcharBell_tab=0;

#pragmavector=TIMERA0_VECTOR

__interruptvoidTimerAINT(void)

{

Timer++;

if(Startup_flag)

{

BELL_0;

LED2_1;

counter++;

if(counter<15)LED1_0;

elseLED1_1;

if(counter>25)

{

Startup_flag=0;

counter=0;

}

}

else{

Break_Timer++;if(Break_Timer>140)

{

Break_Timer=140;

LED2_0;

if(!

Bell_flag)

BELL_1;

elseBELL_0;

}

}

}

main()

{

WDTCTL=WDTPW+WDTHOLD;//禁止看门狗

LED_IO_set();

BELL_IO_set();

KEY_IO_set();

RF24L01_IO_set();

InitSys();

init_NRF24L01();

InitTimerA();//定时器A初始化

LED1_1;LED3_0;LED2_1;BELL_0;//delay_ms(300);BELL_0;LED2_1;delay_ms(300);LED2_0;BELL_1;delay_ms(300);BELL_0;LED2_1;

while

(1)

{

Scan_KEY_Code();//扫描按键值及处理

if((P2IN&0x04))//判断P2.2SET建

{

LED3_1;

Bell_tab=0xff;

}

if(!

(P2IN&0x04))//判断P2.2SET建

{

LED3_0;

Bell_tab=0x29;

}

if(Timer>20)

{

Timer=0;

TxBuf[4]=Bell_tab;

TxBuf[1]=0x29;

tf=1;

}

if(tf==1)

{

for(i=10;i>0;i--)//重复发送防止丢失

{

nRF24L01_TxPacket(TxBuf);//当有按键后,不同按键发送不同数据

SPI_RW_Reg(WRITE_REG+STATUS,0XFF);

delay_ms(50);

}

TxBuf[1]=0xff;//发送完后将TxBuf[1]设定成0xFF,以作状态恢复

TxBuf[2]=0xff;

TxBuf[4]=0xff;

tf=0;

}

SetRX_Mode();

if(nRF24L01_RxPacket(RxBuf))//接收数据

{

if(RxBuf[1]==0x29)

{

Break_Timer=0;

Startup_flag=1;//LED2_0;LED3_0;BELL_1;

}

if(RxBuf[2]==0x55)

{

}

}

}

}

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 人文社科 > 视频讲堂

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1