《基于STM32的人体红外传感器系统.docx》由会员分享,可在线阅读,更多相关《基于STM32的人体红外传感器系统.docx(55页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、重庆工程学院本科生毕业设计错误!文档中没有指定样式的文字。 毕业设计(论文)题 目 基于STM32的人体红外传感器系统 学 院 电子信息学院 专 业 电子信息工程 学生姓名 王 浪 学号 159120724 指导教师 李奇兵 职称 讲 师 2019年 4 月 20 日II学生毕业设计(论文)原创性声明本人以信誉声明:所呈交的毕业设计(论文)是在导师的指导下进行的设计(研究)工作及取得的成果,设计(论文)中引用他(她)人的文献、数据、图件、资料均已明确标注出,论文中的结论和结果为本人独立完成,不包含他人成果及为获得重庆工程学院或其它教育机构的学位或证书而使用其材料。与我一同工作的同志对本设计(研
2、究)所做的任何贡献均已在论文中作了明确的说明并表示了谢意。毕业设计(论文)作者(签字):年 月 日 重庆工程学院本科生毕业设计 II摘 要随着科学技术与物联网的发展,推动着智能化产品逐渐从无到有再到快速发展,智能科技逐渐改变社会发展方式,过去很多无法想象的科学技术或者生活方式,现在利用先进和智能化逐一解决,而过去普通人体信号采集由于准确性较低已经不能科学的需求。为了设计一款基于单片机人体信号采集系统控制器,此设计利用STM32系列单片机,很好的设计出了一款智能化人体信号采集控制系统。本设计完整的系统主要包括STM32系列单片机最小系统、热式红外采集模块、蜂鸣器报警电路、继电器控制电路和电源电路
3、等组成。当人体热式红外传感器采集到人体信号时,蜂鸣器开始报警同时继电器闭合;当人体信号消失时,蜂鸣器和继电器停止工作。本设计软件系统采用模块设计思想,采用C语言作为程序设计语言,通过KEI MDK完成程序设计,使用仿真器下载软件完成程序的烧录和在线调试。本文中设计了各个模块运行流程图和程序运行思想。在系统硬件和软件系统都完成后,经过相应的软硬件测试后,通过搭建实验平台,逐步验证系统功能。最后,经过实际试验,验证了本系统具有很好的实用性和稳定性。关键词:STM32单片机 热式红外 继电器 程序流程图 系统测量 蜂鸣器报警字数太多重庆工程学院本科毕业设计 ABSTRACTABSTRACTWith
4、the development of science and technology and the Internet of things, intelligent products are gradually promoted from nothing to rapid development, intelligent technology gradually changes the way of social development, in the past, many unimaginable science, technology or lifestyle, Now use advanc
5、ed and intelligent to solve one by one, but in the past ordinary human body signal acquisition because of low accuracy has been unable to scientific requirements. In order to design a controller of human body signal acquisition system based on single chip microcomputer, this design uses STM32 series
6、 single chip microcomputer to design a kind of intelligent human body signal acquisition and control system.The complete system of this design mainly includes STM32 series single chip microcomputer minimum system, thermal infrared acquisition module, buzzer alarm circuit, relay control circuit and p
7、ower circuit and so on. When the human body thermal infrared sensor collects the human body signal, the buzzer starts to alarm and the relay closes, and when the human body signal disappears, the buzzer and relay stop working.This software system adopts the idea of module design, uses C language as
8、the programming language, completes the program design through KEI MDK, uses the simulator to download the software to complete the burning and on-line debugging of the program. In this paper, the flow chart and program running idea of each module are designed.After the hardware and software of the
9、system are completed, the function of the system is verified step by building an experimental platform after the corresponding software and hardware tests are carried out. Finally, the practical test shows that the system has good practicability and stability.Key words: single chip microcomputer; th
10、ermal infrared; relay; program flow chart; system test重庆工程学院本科毕业设计 目 录目 录摘 要IABSTRACTII1 绪 论11.1本文研究背景和意义11.2人体红外传感器控制系统发展状况11.2.1国外发展状况21.2.2国内发展状况21.3本文研究内容22 控制系统总体方案设计42.1控制系统功能分析42.2系统网关架构设计42.3控制系统所用到关键技术52.4本章小结53 系统的硬件平台设计73.1系统总体框架设计73.2控制中心电路设计83.2.1 MCU电路设计83.2.2最小系统电源电路设计93.3信号采集与处理电路设计9
11、3.3.1人体信号采集电路设计93.3.2蜂鸣器和继电器及驱动电路设计103.3.3 LED指示灯电路设计113.4系统总体电路设计113.5本章小结124 系统软件平台设计134.1控制中心开发环境软件与工具134.1.1 ARM开发环境134.1.2 ARM软件开发流程134.1.3 STM32F103系仿真器介绍144.2控制系统软件架构154.3系统信号采集与处理程序设计164.3.1人体热式信号检测程序设计164.3.2中断处理程序设计174.4本章小结185 系统调试与性能验证195.1系统调试环境搭建195.2系统软硬件调试195.2.1系统软件调试195.2.2系统硬件调试20
12、5.3测试结果分析215.4本章小结216 总 结22参考文献23致 谢24附 录25附录1 部分源代码25重庆工程学院本科毕业设计 1 绪 论1 绪 论1.1 本文研究背景和意义随着网络信息技术的发展,智能自动化控制技术、现代制造技术得到了迅速的发展,其市场也不断的扩大,不论是工作、生活需求,或者是安全需求等都必然会使其变成主流。并且在大的制造业之中,自动化以逐渐替代了人工作业,因此目前的智能控制技术受到了人们的广泛关注。随着科技的发展,人们的生活水平也得到了一定的提升,随着社会的进步,落后的科技已无法满足人们的发展需求,智能必然会变成未来高科技的重要代名词。智能控制集智能、便利、安全以及高
13、效等于一体,其已受到人们的关注。控制科学可以给人们带来智能的生活体验,智能控制技术、人体信号收集技术等的发展,使得检测系统更为科学。但因为个别产品技术仍然不够成熟,应用者不了解具体操作流程等,较易给人们的生活造成一些负面影响,比如说:电子产品通常都有一定的使用寿命,若长时间的使用必然会致使线路老化问题,加大短路的风险性;有可能因为工艺的原因导致布线不合理,尤其是采样信号和高速信号在传输过程中是极易被干扰的,由于每个产品通讯协议不统一,造成通讯方式很繁琐,增加了系统内存空间的使用量,使得系统在运行过程中容易发生协议冲突或者死机。在现代人们看来,老套的科技产品具有一定的落后性,便利性较差,因此,我
14、们应该将现代科技有效的应用到生活之中,从而使得生活方式更加的智能化。通过一系列的调查研究发现,现在智能产品所用系统主要包括:智能控制技术、检测技术、信息技术以及组网技术等。以前因为不同的厂家使用不同的技术指标以及通讯协议,这就致使许多智能产品都应用电力载波传输系统或综合布线系统。由于各控制系统的关键都在于有效应用数据通信技术,因此,数据通信技术也为人体红外传感器控制系统之中的一个关键。将来人体红外传感器控制系统必然会有效结合无线传感器技术、无线信号组网传输技术、高速信号处理技术以及智慧控制技术等,切实有效的推动多方信息交互的有效实现,改善人们的生活质量水平。运用人体红外传感器控制系统还能够有效
15、扩充至别的服务平台,提高人们工作、生活的智能化水平,并且能够做到环境保护以及安全性等。1.2 人体红外传感器控制系统发展状况在上世纪末本世纪初,许多大制造厂都开始涉足人体红外传感器控制行业之中,部分企业将对人体红外传感器控制系统的研究工作视为企业较有发展潜力的项目,比如说:JDS、NEYWELL以及Revolv等公司逐渐的进入到人体红外传感器控制产品的相关研发工作投资之中。根据现在的发展状况,可将当前人体红外传感器控制系统分为以下阶段: (1)产品电子化:各种家电的电路日益丰富,但是都为个体,并未构成一个网络; (2)产品自动化:产品具有越来越多的功能,大体可以实现自动化控制工作,并且能够简单
16、的开展组网控制工作;(3)产品智能化:应用组网技术奖家具给构成一个网络,互相通信,开展集中的控制工作。1.2.1 国外发展状况随着越来越多的新技术应用到人体红外传感器之中,国外许多研究所及企业都较为关注人体红外传感器控制系统的发展,例如:TELETASK、Merten以及Honeywell等公司,都投入了较大的人力资源、物力资源开展人体红外传感器控制系统研究工作,这些大型公司进行了广泛的研究,各具特点。例如:TELETASK主要开展控制方法的研究;Honeywell主要开展提升人体红外传感器稳定性及舒适性水平的研究,应用了各种模块化的设计方法,在各模块接口之中与总线进行有效连接。1.2.2 国
17、内发展状况我国智能化产品研究开始时间较晚,起始于新世纪初。就我国科技发展现状而言,现已经逐渐从制造大国慢慢进入制造强国,之前我国很多产品都使用他国技术开展生产,创新含量较少,制造成本较高,生产出的产品缺乏市场竞争力。但在政府重视智能化控制之后,我国的科技取得了迅速的发展,先已逐渐与发达国家接轨。科技的进步大大的降低了我国产品所需的开发成本,提升了产品的内在价值。现在,我国人体红外传感器控制系统在产品研发上已经处于世界先进行列。比如说,现在我国开展人体红外床安琪研发的公司主要有科龙集团、清华同方以及海尔公司等,这些公司都开发了许多高质量的产品。1.3 本文研究内容本文在进行人体红外传感器控制系统
18、上合计中,结合了现在控制系统所存在的问题,所设计的产品成本较低、扩展性较强、安全感较高,在控制系统之中应用了模块化设计理念,切实有效的降低了系统设计工作的难度。本文开发出一类人体红外传感器控制系统,是利用核心芯片STM32为开发平台,硬件系统设计了其最小系统和外围电路,软件系统主要包括底层驱动程序和应用程序5。研究内容主要包括以下几点:第一,绪论。在绪论之中主要对研究的背景以及意义等进行了简要的介绍,并且对现在人体红外传感器发展的状况进行了分析,发现人体红外传感器具有较大的发展空间,能够获得一定的利益。第二,在文章第二章节,主要探讨了控制系统总体设计方案,介绍了系统功能描述以及总体网关架构的描
19、述设计方案,并且介绍了系统之中的重点技术。第三,在文章第三章节,主要探讨了人体红传感器控制平台的建设,介绍了应用单片机系统原理以及设计,应用核心芯片构成电路,并且介绍了各模块电路的设计与各相关电路的制作等,有助于实现系统硬件电路的设计工作。第四,在文章第四章节,主要探讨了控制系统软件系统设计内容,详细的介绍了单片机软件平台建设工作,如:Keil软件,各个模块工作流程图以及应用程序的设计等。第五,在文章第五章节,探讨了对人体红外传感器完整控制系统硬件电路以及软件测试工作,对控制系统的相关工作开展验证、数据分析和性能测试工作。第六,在文章最后总结了本文所研究的主要内容,并且设计了相应的控制系统,介
20、绍了系统未来研究及发展方向。49重庆工程学院本科毕业设计 2 控制系统总体方案设计2 控制系统总体方案设计2.1 控制系统功能分析本文在对人体红外传感器控制系统研究工作中,应用的技术主要包括:智慧控制技术、检测技术、通信技术以及组网技术等。在研究过程中,检查安全性、环保性以及智慧性等,切实将用户的体验置于首要位置,使得用户能够依据自身需求开展控制工作。文章所探讨的智能控制器系统主要是依据产品要求来开展功能设计工作的。控制系统的功能主要包括以下几点:如果热释红外传感器检测到人体信号,则灯亮,蜂鸣器报警且继电器闭合,否则灯不亮,蜂鸣器不报警,继电器断开(继电器上电默认断开)。2.2 系统网关架构设
21、计依据智能控制系统所提出的功能要求,结合当前的技术措施,可将控制系统给分为以下模块:输入模块、输出模块、执行模块以及控制模块,下图2.1为系统整体网关构架设计图如图2.1。图2.1 系统整体网关架构设计图此设计之中的网关主要架构是通过传感器模块采集信号,运用I/O把采集的信号送入单片机控制空心进行处理,处理后的结果反馈给执行结构作进一步处理,再通过通信协议把结果显示到输出模块。组网硬件内容有:电源、单片机控制中心、外围电路等,下面将分别进行简要介绍:(1) 电源部分:在电源设计工作之中,设计的科学性是为了保证整个智能控制系统工作稳定性,因此是硬件设计的重点,整个系统的输入电压是市电220V,经
22、由电源转换电路以及适配器等,将其转变成各模块的适应电压。(全文标点符号与上述类似保持一致)(2) 单片机控制中心设计:为切实有效的降低系统PCB设计工作的难度,在控制中心仅仅设计一些小单片机系统内容。(3) 外围电路设计:在外围电路模块之中,主要包括:继电器控制电路、蜂鸣器报警电路以及人体信号采集电路等内容。2.3 控制系统所用到关键技术随着信息技术的发展,我国逐渐从互联网时代转变到物联网时代,从人们的普通家具电器、到高级医疗设备以及军事设备等,嵌入式系统都获得了相应的应用。当前我们处在信息、网络以及科技迅速发展、相互交融的时代,大数据快速发展,物联网快速崛起,单片机系统依靠着其独特的优势以及
23、较广的应用场景,已变成新世纪备受关注的技术。在观念上,我们不应该把嵌入式系统与PC机、电脑等混淆,相提并论,一般来说,嵌入式系统的应用具有特制功能的特点。其不同于日常用到的电脑或PC机,其具体应用通常要与具体情况结合起来,根据需要的功能才可以为嵌入式系统赋予相应的生命力。需要注意的是其软件与硬件都能够依据要求进行裁剪,能够适应系统的安全性能、封装体积以及功耗等。单片机系统的内容主要包括软件与硬件,其中软件内容有应用程序、驱动程序以及软件程序等,硬件内容包括内部Register、MCU、Memory以及I/O 管脚等。一般来说应用程序的功能主要是有效控制程序的正常开展,操作系统的功能主要是对应用
24、程序及硬件间的交互进行有效控制。它具有软件程序占比低、较高的智能化、反应时间比较短等特点,因此这一系统能够应用到多任务要求、实时性强的体系之中。嵌入式系统与常用的计算机系统具有共通点,其主要是由软件、硬件相互配合的控制系统。一般来说,在整个系统之中,硬件发挥物理基础的作用,其能够为软件运行提供相应的通信接口以及平台基础,而软件则是系统的关键,硬件电路构成部分可以分为:搭配电路、外围电路以及嵌入式MCU;一般来说,软件构成部分可以分为两个层次,分别是嵌入式应用软件以及操作系统,如下图单片机系统层次结构如图2.2。图2.2 单片机系统层次结构2.4 本章小结此章节主要分析了智能控制系统的功能,并且
25、设定了控制系统要实现的功能,并且设定了功能间的信号输送关系。在需要的基础上设计的功能能够将系统方案框架给确定下来,主要包括四大模块:输入模块、控制模块、执行模块以及输出模块,此章节介绍了这四模块的框架,并且在最后也探讨了控制系统应用技术情况。重庆工程学院本科毕业设计 3 系统的硬件平台设计3 系统的硬件平台设计开展人体红外传感器硬件系统设计的时候,需要考虑以下因素:(1) 成本因素:要想在激烈的市场竞争中占据优势地位,应该注意价格。人体红外传感器硬件系统的功能主要为便于数据的输送与接收,需要在符合要求的基础上,实现低功耗以及低价格。(2) 接口标准统一:在设计系统时应该考虑接口兼容性状况,市场
26、上对于传统人体红外传感器接口并无统一标准,这就为后期工作的展开带来一定的麻烦,并且会大大降低系统的兼容性,由于我们在数据的输送都要求通信协议统一化,因此,设立一个可靠而稳定的设备是十分必要的。(3) 系统功能的完备性:系统功能的完整性能够决定人体红外传感器的发展,并且影响用户的使用意愿度。因此,研究者应该注意不断提高系统选择的多样性。3.1 系统总体框架设计文章所探讨的控制系统通过器件集成化方法进行研究的设计,主要是运用将集成化的器件分成块状的控制部分,被研究的分支和数据传输分支,分步满足相应部分,所有的分支完成后组合在一起,设计出完整的控制系统,最后进行综合测试9-10。从控制系统需要实现的
27、功能和硬件设计的综合角度确立了研究目的的总体框图。系统组成具体框图如3.1所示。图3.1 系统组成框图在人体红外传感器控制系统设计过程中,依据各模块,对整体方案开展设计,总体而言方案可分为以下内容:(1)信号输入端:人体信号采集。(2)信号处理中心:主要是单片机最小系统。(3)信号输出端:蜂鸣器以及继电器3.2 控制中心电路设计3.2.1 MCU电路设计在设计系统之中,MCU的选择时开发硬件电路的关键内容,选择适当的MCU能够有效的降低开发所需成本及开展难度11。现在MCU类型较多,可根据数据总线宽度划分成:8位MCU、16位MCU和32位MCU,每个MCU都能够根据其特性及应用场景进行选择,
28、8为MCU及16位MCU的型号较多,具有成本较低、能耗较小、封装所需空间较小等特点,但是其也存在着一些缺点,比如说:扩充功能较少、内存较小、数据信息处理较慢等12。近几年32位MCU得到了较快的发展,应用场景日益广泛。现在MCU中最受欢迎的为嵌入式ARM型号微处理器。其较之于8位或者16位单片,具有更多的性能,仅仅需要提升一些项目成本。随着科技的发展,这一缺点也得到了有效的解决13-14。在进行MCU选择的时候应该注意以下几点:(1)性能:MCU内存、内核及主频率等信息。(2)外围功能模块:在进行设计的时候,要考虑外围模块微处理内部存在嵌入与否,比如说时钟模块以及A/D模块等。若可应用微处理器
29、内部模块,能够有效的降低系统开发的难度以及所需的成本等;(3)能耗:在充分考虑性能的基础上也应该选择较低能耗的微处理器; (4)工具:有相应的调试助手与开发软件等能够使得开发者更快的设计系统程序,有效的压缩开发软件所需的时间;图3.2 STM32单片机引脚图(5)技术支持:在应用MCU的时候,要综合考虑厂家是否可以提供核心板、应用手册、程序例程等软件支持。图序、图题以及图序出处依据系统开发相关要求及MCU型号选择标准,本控制系统应用ARM Cortex-M3内核下 STM32 系列的MCU。这主要是由于Cortex-M3内核所应用的框架强度较大,这一系列微处理器运行效果较好、稳定性较强,而且信
30、息传输与处理速度较快、产生的功耗较低等,有效的做到了稳压器、自动检测低电压以及内嵌RC振荡器等的有效综合。除此之外,Cortex-M3还有一些外围功能模块,厂家能够提供出调试软件、核心板、应用手册以及程序例程等,具体如3.2。3.2.2 最小系统电源电路设计应用控制系统模块电路进行DC5V的输出工作,因为ARM芯片(如图3.3)(全文类似的都按照此要求修改,以下雷同)的应用电压为3.3V,要进行降压处理,应用性能较为优良的稳压线芯输出3.3V电源,在设计之中应用AMS1117-3.3芯片,具备电流较低、带负载能力较强、输出京都较高等特点,为切实有效的额确保电源稳定,在进行芯片树丛的时候都进行了
31、电容并联操作,切实有效的将降压芯片电压给保持到3.3V左右,具体采用如下图3-3 ARM芯片电源电路:图3.3 ARM芯片电源电路3.3 信号采集与处理电路设计3.3.1 人体信号采集电路设计文章应用HC-SR501人体热释红外传感器模块开展具体操作,这一模块具有较高的可靠性以及较高的灵敏性,应用电压为DC4.5V-DC20V,所使用的静态电流不超过50uA,开展单线输出工作,高电平输出为5V,而低电平则输出为0V左右,能直接与单片机I/O管脚相连接,下图3.4是HC-SR501检测范围。图3.4 HC-SR501检测范围HC-SR501检测模块在中心位置检测距离是最远的,随着物体在检测的边沿
32、,信号会逐渐间变弱的,一般做最远距离可以达到7米,在边沿可以达到3米左右。例外该器件的封锁时间约0.2秒,采用的触发方式可以是H可重复、L非重复,默认值H并且W可跳线。检测模块在输出之后可以设置为封锁的时间,在此时间段之中难以接触到各种新信号。这一期间隐蔽性高、产生功耗较低,无辐射,价格较低,能够方干扰。但其也具有一些问题,例如:穿透力较弱,较易阻挡人体辐射信号,检测头胶南检测到各种信号,较易收到射频等相关因素的影响,如果环境温度与人体温度相差不大的时候,模块容易失灵或者灵敏度降低。根据本文设计要求,设计如下3.5图模块接线图。图3.5 热式红外接线图因为热式红外传感器检测到人体信号时输出低电
33、平,检测不到人体信号时输出是高低平,所以设计了热式红外传感器与三极管连接电路,当检测到人体信号时,三极管的基极输入是低电平,此时三极管会导通,单片机接入的引脚(PA2)输入低电平,否则单片机接入的引脚输入高电平。通过检测单片机引脚的电平信号来判断是否有人体信号。3.3.2 蜂鸣器和继电器及驱动电路设计本设计选用的是5V蜂鸣器,它的发声原理是当电流通过电磁线圈会形成电磁场,从而使得蜂鸣器的振动模发出声音。由于单片机I/O管脚输出的电流微小,不能让蜂鸣器形成一定的电磁场,必须增加额外的电流放大电路,因此设计了图3.6蜂鸣器及驱动电路,放大电路选用的是8050三极管驱动电路。本文选用的8050三极管
34、主要是当做开关器件来用的,三极管的主要特性是用微弱的小电流来控制系统的大电流,从而起到很好的开关作用的。控制原理是:例如用共发射极连接方式来看(传输参数从B极进入,从另一端C极出去,发射极连接低电平),这种连接方式下,B极电压出现极小的改变时候,B极电流紧接着发生微弱的变化的,由于B极电流的作用,C极电流会发生极大的改变;若B极电流变化越快,C极电流变化也就很大,相反,若B级电流改变很小的,C极电流变化也就很小,综上所述。三极管工作在开关当中的原理是用B极电流的改变来控制C极电流的改变的一种开关器件。在应用三级管对信号进行放大处理的时候,应该先处于导通状态,也就是先构建符合本控制方式的工作特点
35、,也就是设立偏置,不然就会致使失真问题放大。选择应用放大倍数适当的三极管,适当的加大放电电流能够驱动蜂鸣器和马达,而且三级管放大有成本低,易实现,易控制等优点。图3.6 蜂鸣器及驱动电路(全文图序出处,按照此要求修改,以下雷同)上图中蜂鸣器的1号管脚接电源VCC(5V),三极管2号管脚通过串联100R电阻接入单片机引脚(PC13),3号引脚连接到蜂鸣器负端。当三极管2号管脚到高电平(5V)之后,三极管可以始终处在导通的状态,也就是说蜂鸣器的状态为电源接入;当三极管2号管脚接入低电平(0V)时,则三极管处于关断状态,从而蜂鸣器断开电源,停止响声。继电器控制方式和蜂鸣器控制电路一样,都是采用805
36、0三极管当作开关。3.3.3 LED指示灯电路设计由于LED是全固体冷光源,体积小,重量轻,性能稳定,而且工作电压低,实用寿命长,所以本设计运用LED灯作为信号指示灯,选用的是5MM发光二极管,采用5V电压进行供电,由于LED灯承受电流很低,一般不能超过20MA的电流,所有本文在LED灯电路上串联1K电阻继续限流,当单片机引脚给出低电平,则LED灯进行发光,反之给出高电平,LED灯就会熄灭。此种控制方法稳定,而且简便,提高系统稳定运行。3.4 系统总体电路设计该系统的电路原理图是使用Altium Designer原理图绘制软件完成的。该款软件是PORTEL公司20世纪后期研发出的一款绘制原理图
37、软件。采用标准库应用方式,能进行网络设计,这款软件有数据处理能力很快和开源系统及three D 仿真能力,是一个32位的常用软件,可以完成大多数系统图的制作,若你想要看看编译器生成的汇编代码,你将能够体验到此款软件的使用是非常方便的,大部分语句生成系统原理图板设计和PL器件制作等工作,能制作信号层最多32个,16个信号源15。此款绘图软件的特色如下所示:(1) 可以很容易的画出好几十种的原理图链接方式;(2) 强大的全局编辑功能;(3) 此款绘图软件含有很大的定则原理,在编译窗口下,可以满足在在线编译和其它编译方法;(4) 此款绘图软件含有自动铺铜性能,而且另外具有全自动铺铜功能;(5) 软件
38、所占内存很小,而且兼容性很好的。本设计的原理图是通过网络标号进行走线连接了,这样看起来更加清晰,不易混乱,而且查错非常简便。系统原理图如图3.7所示。图3.7 系统原理图3.5 本章小结本章主要完成系统硬件平台电路设计,主要包括根据系统实现的功能设计了硬件框架,单片机最小系统电路与各种信号的收集与处理设计工作。重庆工程学院本科毕业设计 4 系统的软件平台设计4 系统软件平台设计一般来说,完善的控制系统主要包括软件系统及硬件系统,上一章节主要介绍了人体红外传感器控制系统硬件电路设计方案,如果要将系统设计功能给充分发挥出来,应该支持硬件平台之上的软件情况。文章中的软件包括应用程序软件及系统驱动程序
39、软件内容,应该通过C语言来编程。4.1 控制中心开发环境软件与工具在系统控制中心软件中,利用ARM为控制中心,采用的是STM32F103C8T6芯片,开发环境是Keil uVision5 by ARM软件,这款开发环境是目前STM32单片机系统的主流软件,使用的非常频繁。程序的烧录使用的是仿真器。4.1.1 ARM开发环境文章探讨的是ARM所开发的Keil uVision5,其是现在嵌入式之中较为流行的一种开发环境。Keil uVision5为ARM公司所研究、开发出来的新型的有关ARM处理器的一体化软件系统16-18。Keil uVision5不但给出了系统的Windows开发环境要求,而且
40、能够支持支持C/C+开展开发工作,并且其C语言编辑的速度较快,可以与开发者十分便利的应用C语言开展研发工作。Keil uVision5开发界面图请查看图4.1 研究发现,其中Keil的特点主要为:(1) Keil能够实现多系统操作,能够其是提升科学的资料库及有效的开发工具内容;(2) Keil能够切实有效的开展编辑、连接、调整以及仿真操作的工作;(3) Keil uVision5于Keil uVision4 IDE基础之上,增设了许多功能。比如说:Keil uVision5之中加入了开发Cortex-M内核微控制器的相关支持,并且对Keil uVision4形式及界面等予以有效的修改。4.1.
41、2 ARM软件开发流程第一,ARM开发应该建立起一个“Project”工程,打开Keil uVision5页面之中的菜单“Project”,选用“New uVision Project”,从而建立一个工程名称,进行保存;第二,选择适当的开发单片机的芯片具体型号,工程之中应用STM32F103C8T6,这就能够建立起“Project”;在建立过工程项目之后,可应用“Source Group”,在其中加入以下.c文件,击中Add就能够进行文件的边际工作,也可将.c文件给拷贝至“Project”项目之下,第三,完成工程软件会后建立完成。图4.2介绍了工程开发流程。图4.1 Keil uVision5
42、开发界面图图4.2 软件开发流程图4.1.3 STM32F103系仿真器介绍于Keil uVision5开发条件之下,STM32F103C8T6芯片所应用的是JLINK V8型的ARM仿真器,其能够继承代码进行下载操作,在线仿真与供电设备,能够广泛应用到智能产品的研发工作之中,是ARM控制系统研发过程中的重要组成。于Keil uVision5环境之中,应该确定配置情况之后才能够应用,将PC、设备以及仿真机给联系好,击中一级菜单栏之下的Flash选型,之后选出二级菜单栏之中的Configure Flash Tools,选择适当的Debug子菜单,因为其应用的为JLINK V8型号ARM仿真器,所
43、以,应该在对话框之中将调试方式选成J-LINK/J-TRACE Cortex型,之后击中Settings按钮,于Port的下拉式菜单之中将SW模式给选出,点击确认;于Utilities子菜单之下,可应用Use Target Driver for Flash Programming方式,并应用J-LINK/J-TRACE Cortex仿真器,点击Settings按钮,之后再出现的对话框之中说明需要在Flash Download之中添加上相应的仿真器,请见下图:图4.3 仿真器配置对话框4.2 控制系统软件架构在系统设计工作之中应用Keil uVision5软件开展程序的编制工作,程序语言应该选用
44、具有较高移植性以及易读性的C语言。系统总体框架步骤为:首先进行模块初始化,若有模块器件损坏,则不能正常运行;然后系统开始采集数据和处理数据,若处理的数据正确,则开始接受数据把传输到输出端作进一步处理。图4.4显示的是系统运行图,就设计软件流程发现,控制器和别的电路模块间数据通信存在4个子流程以及1个主流程,主流程是软件进行模块访问及数据反馈所应用的,其能够将信息反馈到控制中心,一般来说,子流程是数据信号请求及函数间的有效通信内容等。图4.4 系统运行流程4.3 系统信号采集与处理程序设计4.3.1 人体热式信号检测程序设计HC-SR501检测模块在检测输出后能设置一个封锁时间,在这时间段之中不
45、能接到各种新信号。由于热释红外传感器所检测得出的人体信号输出存在低电平问题,无法检测出人体信号的输出高低平。在开展人体信号检测工作的时候,三极管的基极输入是低电平,此时三极管会导通,会将单片机给接到引脚PA2之中,进行低电平的输入,不然单片机会通过引脚而进行高电平的输入工作。通过检测单片机引脚的电平信号来判断是否有人体信号。其具体程序运行流程图如图4.5所示。 图4.5 人体信号检测程序运行流程图由上图可知,系统上电后,首先进行模块初始化,然后控制中心发送启动信号,让热式红外传感器开始工作,若传感器检测人体信号,会使得匹配电路中三极管导通,因此连接单片机引脚会被拉低,控制中心检测到低电平,会执
46、行相应的动作。4.3.2 中断处理程序设计为切实有效的满足检测实效性要求,系统之中单片机应用定时中断法进行存储器的访问,开展信号收集工作。第一,应该将单片机计数器设定是定时法,将计数器给打开,具体设定的时间长度具有一定的灵活性。之后进行单片机程序运行工作,等定时中断时间的提示。出现定时中断后,应该开展中断服务,将内部储存器控制操作程序给调动起来,开展数据收集工作,处理所收集的数据信息,之后对定时中断进行初始化设置,最后返回。具体流程请参见下图:图4.6 中断处理流程图4.4 本章小结此章节应用了模块化编程方式,也就是根据系统功能分块开展编程工作。在开展编程操作时开展模块化处理,可以切实提升程序的可移植性以及可读性等。实现软件变成的功能优:数据收集与处理等,并且介绍具体的控制措施。根据设计方案设定出具体的软件流程予以参考。重庆工程学院本科毕业设计 5 系统调试与性能验证5 系统调试与性能验证