毕业设计(论文)-基于MSP430的安保系统设计与实现.doc_第1页
毕业设计(论文)-基于MSP430的安保系统设计与实现.doc_第2页
毕业设计(论文)-基于MSP430的安保系统设计与实现.doc_第3页
毕业设计(论文)-基于MSP430的安保系统设计与实现.doc_第4页
毕业设计(论文)-基于MSP430的安保系统设计与实现.doc_第5页
已阅读5页,还剩19页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

西安欧亚学院本科毕业论文(设计)11概述概述1.1技术背景近年来盗窃、入室抢劫财物的现象日益严重,社会治安涉及到每个人的切身利益,现阶段民居和楼宇的安全现状不容乐观,楼宇安检领域产品的需求日益增加。目前市场上生产企业的智能安检电子产品的产品种类繁多,它们的特点是功能强大,但是价格昂贵、体积大、操作维护复杂。所以,目前在国内大多数家庭都没有配置实用的楼宇安检设备。1.2选题意义针对上述原因,我们设计了一种基于MSP430单片机的智能楼宇安检系统。其原理是:利用红外传感器现场监控,并通过异常数据信号无线传输,送至MSP430单片机进行数据处理、分析及存储。对检测到的异常信号发出报警,提醒用户进行处理。它采用无线遥传技术,安装操作也极为方便。本设计定位是小型应用领域,非常适合家庭安保应用。设计实现了多路实时监测功能、异常记录及回放功能以及人性化的人机对话方式、液晶显示和语音提示。基于目前普通家庭对安全技术的迫切需求,其市场需求将十分庞大。如果对其进行商业化运作,必定能够产生巨大的社会效益和经济效益。1.3功能多路巡回、实时监测功能。异常事件显示、提示功能。异常事件时间、次数记录及回放功能。精密时钟及时钟调整功能。红外检测及信号调理功能。数据编码、调制、无线遥传及解码功能。语音提示及音量键控功能。西安欧亚学院本科毕业论文(设计)222方案设计方案设计2.1信号流程图图2-1信号流程图原理说明:信号采集单元是将有红外传感器感应到的模拟信号经过信号处理单元将模拟信号转换为主控单元需要的矩形脉冲,主控单元对信号进行计算等处理,再将结果显示出来。2.2整体结构框图图2-2检测、编码及发射单元图2-3接收、解码及主控单元Sen1Sen2Sen3Sen4数据编码射频调制信号采集编码发射接收解码信号处理接收放大整形解码模块PT2272键盘LCD汉显语音提示报警现场录像电话报警MSPF430西安欧亚学院本科毕业论文(设计)3原理说明:本系统由两部分组成:检测、编码、发射单元和接收、解码、主控单元。图2-2中,分布在多个监测点的热释电传感器,检测人体信号,经信号调理、整形、数据编码,而后通过射频调制并发送,实现数据遥测、遥传。图2-3中,接收模块接收各监测点的遥传数据信号,经放大、整形后,送至PT2272解码模块,解码后的数据信号送至主控单元,MCU扫描、分析各测点状态,并对异常事件进行处理,包括:状态汉显、语音提示、事件时间、次数记录等功能。本系统人机对话采用TI公司的微功耗16位单片机MSP430系列芯片,其它大部分外围电路,如电源模块、放大器、基准电源、通讯模块(485)等也采用TI公司产品,另外,还有其它外围电路,如LCD、时钟、语音、功放等模块,构成主控单元,实现强大的工业测控功能。本机人机对话采用键盘、LCD汉字显示和语音提示方式,方便且极具人性化。2.3主控单元连接图我所完成的是主控单元的软件设计,其连接图如下:图2-4主控单元框图原理说明:主控单元的核心部件是MSP430F247单片机。由硬件电路处理好的矩形脉冲信号从MSP430F247单片机的端口输入,MSP430F247单片机对矩形脉冲信号进行处理。所完成的功能有:检测异常信号,显示发生的时间和次数,发出语音提示报警,并存储在单片机的FLASH内。通过键盘操作,可以查看异常信号发生的时间和次数,还可以清除这些信息,并且能设置时间和更改音量的大小。键盘LCD汉显语音提示报警MSPF430西安欧亚学院本科毕业论文(设计)42.4MSP430F2XX介绍MSP430F2XX的时钟模块时钟输入源:MSP430F157基础时钟模块有3个时钟输入源:(1)LFXT1CLK:低频高频时钟源。可以外接32768Hz的时钟芯片或频率为450kHz8MHz的标准晶体或共振器。(2)XT2CLK:高频时钟源。需要外接两个震荡电容器。可以外接频率为450kHz8MHz的标准晶体、共振器和外部时钟输入。较常用的晶体振荡器是8MHz的。(3)DCOCLK:内部数字可控制的RC振荡器。时钟信号:MSP430单片机时钟模块提供3个时钟信号以供给片内各部电路使用,这3个时钟信号分别是:(1)ACLK:辅助时钟信号。ACLK是从LFXT1CLK信号由1248分频器分频后所得到的。有BCSCTL1寄存器设置DIVA相应位来决定分频因子。ACLK可提供给CPU外围功能模块作时钟信号使用。(2)MCLK:主时钟信号。MCLK是由3个时钟源所提供的。它们分别是:LFXT1CLK、XT2CLK和DCO时钟源信号。MCLK主要用于MCU和相关系统模块作时钟。同样可设置相关寄存器来决定分频因子及相关的设置。(3)SMCLK:子系统时钟。SMCLK由2个时钟源信号提供,它们分别是XT2CLK和DCO。同样可设置相关寄存器来决定分频因子及相关的设置。当微处理器发生PUC复位后,MCLK和SMCLK配置为DCO时钟模块(默认值为800kHz),ACLK配置为LFXT1时钟模块,并且为低频模式。修改DCOCTL、BCSCTL1和BCSCTL2寄存器的值,可以对系统和各个模块的时钟进行设置。基本定时器所有的MSP430F2XX系列都有一个基本定时器,它由两个8位的计数器组成。这两个8为的计数器也可以级联成一个16位的计数器。基本定时器不仅可以向液晶模块提供分时信号,还可以产生低频时间间隔中断。由于基本定时器没有默认状态,所以在使用之前必需正确设置基本定时器的控制寄存器BTCTL以及计数器1和计数器2,才能保证基本定时器的正常工作。西安欧亚学院本科毕业论文(设计)5定时器A工作原理TIMER_A寄存器(1)TACTL控制寄存器。TACTL各位的定义如下:1510未用9876543210SSEL1SSEL0ID1ID0MC1MC0未用CLRTAIETAIFGSSEL1SSEL0:选择定时器进入输入分频器的时钟源。00输入时钟源为TACLK,用特定的外部引脚信号;01输入时钟源为ACLK,用辅助时钟;10输入时钟源为MCLK,用系统时钟;11输入时钟源为INCLK。ID1ID0:输入分频选择。00不分频;012分频;104分频;118分频。MC1MC0:计数模式控制位。00停止模式;01增计数模式;10连续计数模式;11增减计数模式。(2)TAR16为计数器。(3)CCTLx捕获比较控制寄存器。该寄存器各位定义如下:CCIFGxCAPTMOD1015141312CCIS1011SCS10SCCIx98CAP75OUTMODx4CCIEx3CCIx2OUT1COV0CM10:选择捕获模式。00禁止捕获模式;01上升沿捕获;10下降沿捕获;11上升沿与下降沿都捕获。CCIS10:在捕获模式中用来定义提供捕获事件的输入源。00选择CCIxA;西安欧亚学院本科毕业论文(设计)601选择CCIxB;10选择GND;11选择Vcc。SCS:选择捕获信号与定时时钟同步、异步关系。0异步捕获;1同步捕获。CAP:选择捕获模式还是比较模式。0比较模式;1捕获模式。CCIEx:捕获比较模块中断允许位。0禁止中断;1允许中断。CCIFGx:捕获比较中断标志。捕获模式:寄存器CCRx捕获了定时器TAR值时置位。比较模式:定时器TAR值等于寄存器CCRx值时置位。(4)CCRx捕获比较寄存器在捕获方式,当满足捕获条件,硬件自动将计数器TAR数据写入该寄存器。其中CCR0经常用作周期寄存器。捕获比较模块TIMER_A有多个相同的捕获比较模块,为实时处理提供灵活的手段,每个模块都可用于捕获事件发生的时间或产生定时间隔。当捕获比较模块共有两种模式:捕获模式和比较模式。本系统主要用捕获模式。当CCTLx中的CAPx=1,该模块工作在捕获模式。这时如果在选定的引脚上发生设定的脉冲触发沿(上升沿、下降沿或任意跳变),则MSP430会通过硬件自动将计数器TAR中的值写入到CCRx中。每个捕获比较寄存器都能被软件用于时间标记,可用于各种目的。如果是周期信号,则两次上升沿或者两次下降沿之间的时间即为信号的周期,上升沿和下降沿之间的时间则为信号的脉宽(高电平或者低电平的时间长度)。还可以测量软件程序所用时间、测量硬件事件之间的时间、测量系统频率。当捕获完成后,中断标志位CCIFGx被置位。如果总的中断允许位GIE允许,相应的中断允许位CCIEx也允许,则将产生中断请求。西安欧亚学院本科毕业论文(设计)73各功能模块程序设计各功能模块程序设计3.1总体程序流程图及原理说明图3-1总体程序流程图系统接通电源后就进行系统初始化,包括关闭看门狗,系统时钟初始化、端口初始化、LCD初始化,外设时钟初始化。初始化完成后进入主环路延时,当接到上位机的开始信号时,时钟、AD开始工作,AD采样频率由时钟决定,每到一个时钟中断,AD采一个点,将采到的数据发送到单片机内,系统开始逐步检测4路信号是否异常。当有异常信号出现,系统把每路异常信号发生的时间、次数记录到单片机的FLASH内。完成后可以进行模式操作、功能操作、增值减值操作等。各操作都有对应的子程序及其流程图。当接收到上位机的结束信号时,时钟、AD停止工作。3.2初始化模块3.2.1初始化总体流程及说明关看门狗系统时钟初始化端口初始化LCD初始化外设时钟初始化初始化模块是否异常按键操作检测异常信号异常处理正常检测西安欧亚学院本科毕业论文(设计)83-2初始化流程图初始化原理说明:系统接通电源后就进行系统初始化,包括关闭看门狗,系统时钟初始化、端口初始化、FLASH初始化,外设时钟初始化。初始化程序:voidmain(void)WDTCTL=WDTPW+WDTHOLD关狗run_xt2()时钟初始化port_init()端口初始化LcdInit0()lcd初始化InitSys()FLASH初始化fflash_init()3.2.2系统时钟初始化模块程序及说明本系统选择的时钟源工作模式为:使用XT2振荡器,MCLK选择使用XT2CLK,SMCLK选择使用XT2CLK根据本系统要求,设置相应控制字,其时钟初始化函数如下voidrun_xt2(void)unsignedchariBCSCTL1&=XT2OFF打开XT2振荡器doIFG1&=OFIFG清除振荡器失效标志for(i=0 xFFi0i-)延时,等待XT2起振while(IFG1&OFIFG)!=0)判断XT2是否起振BCSCTL2|=SELM1+SELSMCLK=SMCLK=XT2(safe)3.2.3端口初始化模块程序端口初始化设置各端口是输出还是输入,输出高电平还是低电平。voidport_init(void)西安欧亚学院本科毕业论文(设计)9P1DIR|=BIT1+BIT2+BIT3P1DIR&=BIT4P1DIR&=BIT0P1OUT|=BIT1+BIT2+BIT3P2DIR&=0 x40p2.0p2.1p2.2p2.3p2.4p2.5p2.7为输出口P2OUT=0 x00P3DIR|=BIT1P4DIR=0 xFFP4OUT=0 x00P5DIR|=BIT0+BIT1+BIT2+BIT3+BIT4+BIT5+BIT6P5DIR&=BIT7P5OUT=0 x00P6DIR|=BIT0+BIT3+BIT4+BIT5+BIT6+BIT7P6DIR&=BIT2P6DIR&=BIT1P6OUT=0X003.2.3FLASH初始化程序说明:读OX10B8中的信息给ho给FLASH赋初始值0程序代码片段如下:voidfflash_init(void)unsignedcharho7read_SegA1(ho0X10b8)n1=ho0n2=ho1n3=ho2n4=ho3if(n1=0 xff)n1=0if(n2=0 xff)n2=0if(n3=0 xff)n3=0if(n4=0 xff)n4=03.2.4定时器A初始化程序及说明说明:本系统采用TIMER_A中的捕获比较寄存器CCR0,需要设置的工作方式有:TIMER_A的输入时钟源选为辅助时钟ACLK,计数模式选为连续计数模式。西安欧亚学院本科毕业论文(设计)10捕获模式选为下降沿捕获,提供捕获事件的输入源为CCI0B,同步捕获,捕获模式,允许中断。按此要求设定TIMER_A中CCR0控制寄存器TACTL和捕获比较控制寄存器CCTL0,其初始化函数如下voidtimerA_init(void)TACTL=TASSEL1+TACLR+ID_3SELECTMCLKclearTAR8分频CCTL0=CCIECCR0interruptenabledCCR0=50000中断时间为50ms(TBCCR0XT2)TACTL|=MC0StartTimer_Aincontinuousmode3.3异常检测处理模块流程图及原理说明流程图:图3-3异常检测流程图四路?三路?一路?二路?四路异常处理三路异常处理一路异常处理二路异常处理NYNNNYYY异常?西安欧亚学院本科毕业论文(设计)11原理说明:当有异常信号被检测到,四路红外传感器就开始逐一检测,并对检测到的信号进行处理。异常检测程序片段:p2h_value=p2hReadKey()switch(p2h_value)casep2_4SMW:WriteCommand(0 x01)p_4way()四路检测breakcasep2_5SMW:WriteCommand(0 x01)p_3way()三路检测breakcasep2_7SMW:WriteCommand(0 x01)p_1way()一路检测breakdefault:breakp1h_value=p1hReadKey()if(p1h_value=p1_4SMW)WriteCommand(0 x01)p_2way()3.4主环路操作模块流程图及原理说明流程图:说明:没有异常信号被检测到时就可以进行模式、功能、增值、减值等操作,然后就会到正常检测程序片段:p2l_value=p2lReadKey()检测有键按下并松开返回一个键值.switch(p2l_value)对键值进行处理.采switch语法结构查询casep2_0SMW:mod_op()p2.0模式键按下breakcasep2_1SMW:fun_op()p2.1功能键按下breakcasep2_2SMW:inc_op()p2.2“+”键按下breakcasep2_3SMW:dec_op()p2.3“”键按下breakdefault:break调用默认处理程序4模式?异常?功能?增值?减值?正常监测西安欧亚学院本科毕业论文(设计)12图3-4主环路操作流程图3.5模式操作模块流程图及原理说明操作模式流程图:图3-5操作模式流程图操作模式原理说明:只要四路传感器都没有异常信号,可以进行模式操作。经过10MS的延时后,判断P2.0是否为0,当P2.0为0进入下一步操作。首先置模式位,同时模式计数器加1,然后判断模式计数器的值并根据其进行相应的操作。操作如下:模式计数器计数值为1:置检查位;检查显示;语音提示模式计数器计数值为2:清检查位;置时钟设置位;时钟设置显示;语音提示模式操作YNY清时钟设置位置音量设置位音量设置显示语音提示清检查位置时钟设置位时钟设置显示语音提示清音量位置清除位清记录显示语音提示清记录位清模式位清模式计计数值=1?计数值=2?计数值=3?计数值=4?置检查位检查显示语音提示置模式位模式计数器加1P2.0=0延时10msRETNNYNYNY西安欧亚学院本科毕业论文(设计)13模式计数器计数值为3:清时钟设置位;置音量设置位;音量设置显示;语音提示模式计数器计数值为4:清音量位;置清除位;清记录显示;语音提示模式计数器计数值为其它:清记录位;清模式位;清模式计数器模式操作软件设计可以分为4个主要功能模块:检查显示模块;时钟设置显示模块;音量设置显示模块;清记录显示模块。各功能模块的程序如下:模式操作程序:voidmod_op(void)switch(MODCNT)case1:voice(0 x00)检查显示模块程序LineDisp(2str1)LineDisp(3str0)CHKSET=1breakcase2:voice(0 x00)LineDisp(2str2)LineDisp(3str0)时钟设置显示模块程序CHKSET=0CLKSET=1breakcase3:voice(0 x00)LineDisp(2str3)LineDisp(3str0)音量设置显示模块程序CLKSET=0VOLSET=1breakcase4:voice(0 x00)LineDisp(2str4)LineDisp(3str0)清记录模显示块程序VOLSET=0EARSET=1breakdefault:ROOL_OP=1break西安欧亚学院本科毕业论文(设计)143.6功能选择程序流程图及原理说明功能选择流程图:图3-6功能选择流程图功能操作原理说明:在模式操作的基础上进入功能子程序,也是先延时10MS。然后判断模式位是否为1(即判断是否正在进行模式操作),当模式位为0才能进入下一步。再判断P2.1是否为0,当P2.1为0进行功能选择操作,然后根据功能类型进行相应的操作。操作如下:检查操作:检查操作;语音提示时钟设置:时钟设置;语音提示音量调整:音量调整;语音提示YNY音量调整语音提示时钟设置语音提示检查操作?时钟设置?音量调整?清除记录?检查操作语音提示RETNNYNYNY功能操作延时10ms模式位=1NYP2.1=0清除操作语音提示西安欧亚学院本科毕业论文(设计)15清除记录:清除操作;语音提示同样,功能操作程序设计也可以分为四个功能模块:检查操作模块;时钟设置操作模块;音量调整操作模块;清除记录操作模块。各模块程序段如下:功能操作程序:检查操作模块程序:voidcheck(void)LineDisp(3str02)WriteCommand(0 x01)LineDisp(2str)Delay(1000000)WriteCommand(0 x01)LineDisp(3str00)LineDisp(2str01)return时钟设置操作模块程序:voidclock(void)FUNCNT+功能计数器自加1switch(FUNCNT%5)case1:LineDisp(2str1)LineDisp(3str00)月调整操作MON_OP=1breakcase2:LineDisp(2str2)LineDisp(3str02)日调整操作MON_OP=0DAY_OP=1breakcase3:LineDisp(2str3)LineDisp(3str03)时调整操作DAY_OP=0HOU_OP=1breakcase4:LineDisp(2str4)LineDisp(3str04)分调整操作HOU_OP=0MIN_OP=1break音量调整操作模块程序:voidvolume(void)FUNCNT+功能计数器自加1switch(FUNCNT%5)case1:lv_voi()LineDisp(2str4)voice(0 x20)LineDisp(3str00)大音量调整操作break西安欧亚学院本科毕业论文(设计)16case2:mv_voi()LineDisp(2str3)voice(0 x28)LineDisp(3str00)中音量调整操作breakcase3:sv_voi()LineDisp(2str2)voice(0 x30)LineDisp(3str00)小音量调整操作breakcase4:nv_voi()LineDisp(2str1)voice(0 x38)LineDisp(3str00)静音调整操作breakdefault:FUNCNT=0LineDisp(2str5)LineDisp(3str01)break清除记录操作模块程序:voidearse(void)if(DEL_OP=2)LineDisp(2str1)清除完毕提示Delay(2000000)elseLineDisp(2str00)确认删除?LineDisp(3str01)删除提示3.7时钟调整程序流程图及原理说明时钟增(减)值流程图:增值调整YNY日调整?分调整?调整缓加1P2.2=0延时10msRETNNYNYNY时钟调整?月调整?时调整?月调整操作语音提示日调整操作语音提示时调整操作语音提示分调整操作语音提示N西安欧亚学院本科毕业论文(设计)17图3-7操作模式流程图时钟增减值原理说明:在功能操作的基础上进入时钟增减值子程序。也是先延时10MS。然后判断功能操作上是否时钟调整,要进行时钟调整操作再判断P2.2是否为0,P2.2为0经过调整缓加1才能进入时钟的各项调整.调整操作如下:月调整:月调整操作;语音提示日调整:日调整操作;语音提示时调整:时调整操作;语音提示分调整:分调整操作;语音提示时钟增减值程序同样可以分为四个功能模块:月调整操作模块;日调整操作模块;时调整操作模块;分调整操作模块。各部分程序片段如下:时钟增减值程序:月调整操作模块程序:voidsetime1(void)charstr=月调整:b+if(b12)月份控制条件b=1UpData0=(UpData1b&0 x70)4)+0 x30月份的十位UpData1=(UpData1b&0 x0f)+0 x30月份的个位WriteCommand(0 x88)LineDisp(2str)WriteCommand(0 x8D)写数据for(i=0i31)b=1UpData0=(UpData1b&0 x70)4)+0 x30西安欧亚学院本科毕业论文(设计)18UpData1=(UpData1b&0 x0f)+0 x30WriteCommand(0 x88)LineDisp(2str)WriteCommand(0 x8D)写数据for(i=0i23)b=0UpData0=(UpData1b&0 x70)4)+0 x30UpData1=(UpData1b&0 x0f)+0 x30WriteCommand(0 x88)LineDisp(2str)WriteCommand(0 x8D)写数据for(i=0i59)b=0UpData0=(UpData1b&0 x70)4)+0 x30UpData1=(UpData1b&0 x0f)+0 x30WriteCommand(0 x88)LineDisp(2str)WriteCommand(0 x8D)写数据for(i=0i等待XT2稳定-切换系统时钟为XT2。若后面两步操作反了,在通常情况下不会出现问题,但是在电压不稳MCU频繁复位的情况下,非常容易造成MCU死掉,只能掉电后重新上电才能可靠复位。在刚开始调试时,就遇到的问题,即程序执行后,液晶屏不能正常显示汉字,西安欧亚学院本科毕业论文(设计)22在探讨后,我们终于找到问题的所在,是因为端口上电压变化也是有一定时间的,如果读取太快,就有可能出错。我们在读取数据之前加了一句延时程序。这样修改后,读数据的问题就迎刃而解。这个延时问题在接下来的调试过程中还与到了不止一次,给了我们宝贵的经验,我想我们在以后的设计中肯定不会忽略这种硬件延时。通过调试,代码方面的错误得到解决。在程序规范方面出现很多问题,如在头文件中定义了变量,结果导致编译错误;由于代码中变量非常多,变量命名时重复命名和未定义,导致编译错误。通过基于MSP430的智能楼宇安检系统的软件设计,我懂得了单片机程序比PC程序简单、规模小,因此,不能照搬开发PC程序所使用的规范,而是要进行一些简化和修改,使它更适合用语单片机程序的开发。我总结了按照编程规范写MSP430程序的好处:增加程序的可维护性当需求发生变化时,比较易于修改可重用性好,便于将来再次使用代码可移植性好,便于将代码在其他类型的微处理器上使用可读性好,不会导致过了很长时间后,没人能够理解程序的意思,或者非常难以理解西安欧亚学院本科毕业论文(设计)235结论结论5.1性能指标主要技术指标:无线传输距离:20m电源电压:5V检测路数:4路记录事件:24组(4点6次)5.2特点涉及的技术领域红外(热释电)传感技术单片机控制技术LCD显示

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论