《基于stm32智能家庭出入控制系统的设计与实现.doc》由会员分享,可在线阅读,更多相关《基于stm32智能家庭出入控制系统的设计与实现.doc(28页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、摘要为了提高人们的出入安全与方便,减少家庭出入时的繁琐,实现家庭对室内外出入的安全监测以及温度差来方便出行。本次研究中,将对基于stm32智能家庭出入控制系统的设计与实现完成温度采集功能、按键功能、人体检测功能、数据显示功能、指示灯功能。本文主要做了以下几个方面的工作:分析了智能家居门禁系统在国内外的市场以及研究现状,针对智能家居的基本要求,提出了基于stm32智能家庭出入控制系统的设计与实现;设计了家庭出入控制系统的硬件框架以及介绍了各个模块的具体情况;也分析了软件系统的框架以及各模块的软件设计,并设计了相应模块的代码;最后对所设计的家庭出入系统做了人体检测、温度采集、数据显示以及按键输入、
2、指示灯模块等五个模块,证明了基于stm32出入控制系统的设计与实现的可行性。关键词:智能家居 出入控制系统 人体 温度 按键 AbstractIn order to improve the safety and convenience of peoples access, reduce the complexity of family access, and realize the safety monitoring of indoor and outdoor access and temperature difference to facilitate travel. In this stu
3、dy, the design and implementation of smart home access control system based on STM32 will complete the functions of temperature collection, key press, human detection, data display and indicator light. This paper mainly does the following work: analyzes the market and research status of smart home a
4、ccess control system at home and abroad, puts forward the design and implementation of smart home access control system based on STM32 according to the basic requirements of smart home; designs the hardware framework of the home access control system and introduces the specific situation of each mod
5、ule; also analyzes the software system In the end, five modules of the home access system, such as human body detection, temperature collection, data display, key input and indicator module, are designed to prove the feasibility of the design and implementation of the access control system based on
6、STM32.Key words: smart home access control system human body temperature buttons目 录第一章 绪论11.1 选题背景和意义11.2 研究现状11.3 研究目标21.4 论文结构安排2第二章 系统方案构思32.1 系统整体方案设计32.2 主控制器方案32.3 显示模块方案32.4 温度检测方案42.5 人体采集方案42.6 本章小结5第三章 硬件系统设计63.1 主控制器63.2 显示模块73.3 温度检测模块83.4 人体检测模块83.5 按键输入模块93.6 指示灯模块103.7 本章小结10第四章 软件系统开
7、发114.1 软件系统框架114.2 软件整体设计114.3 显示软件设计124.4 温度采集软件设计134.5 按键扫描软件设计134.6 本章小结14第五章 测试155.1测试环境与测试目的155.2 系统上电测试155.3 本章小结20总结21参考文献22致谢23附录24广东东软学院本科毕业设计(论文)第一章 绪论1.1 选题背景和意义随着科技水平越来越发达,越来越多的先进科学技术也在不断的进步。如最近最火的5g技术以及物联网技术,以及新一代wifi技术。在物联网高速发展的时代,瞬息万变,科学技术的发展也让智能家居系统的应用得到了普及,对智能家居系统也理论上推动了它在家居领域的纵深,为产
8、品的开发和设计提供了理论依据并实现。当国家宣布了“十二五”计划后,对高新技术的发展给予了更好的平台,这也给智能家居的发展起到了推动作用。加上人们的生活水平的不断提高,越来越对有也有了买房买车的能力,同时,大家对智能家居的要求也越来越高,因此智能家居已经成为未来的发展趋势。随着人们对智能家居的要求越来越高,人们对家庭出入的安全也引起了重视,尤其是在里有老人小孩北方的家庭,在冬天来临时,明显能感受的到温度的下降,这也让很多人发愁出门时应该穿多厚的衣服,因此室内外的温度显示很有必要。然而出入时,家庭门锁也是人们非常重视的一点,出门携带钥匙难免会比较不方便携带,有时候出门还忘记带钥匙,这也让研究人员在
9、电子密码锁上下研究,也受到人们的喜爱和运用。1.2研究现状 智能家居主要利用了网络通信技术、音视频技术、综合布线技术、安全防范技术、自动控制技术将智能家居有关的设备集成,构建高效舒适的住宅设施与管理系统,提升家庭的舒适性、安全性、便利性等,并实现一个高效环保的节能居住生活环境。智能家居处在成长期与导入期的中间,市场消费水平还不高,但随着智能家居的快速发展会进一步形成一定的消费观念,培养起人们的使用习惯,智能家居市场有着无限的全景光明。因此,在这方面才有着深入的研究,结合了之前所困开创的技术,提出了智能家居的出入控制系统,这个在这市场上也有着比较创新的思路。如今智能家居大部分都是把重心放在“生态
10、”的构建上面,如:智能水质控制、智能环境控制、智能电器控制、智能场景等等,都比较注重家庭的情况,注重怎么在家里更方便,更省心,却忽视了室内外进出方便这种情况。本作品的思路就是在发现这个市场缺口的情况下思考提出。由于旅游时发现,北方室内的供暖系统非常好,室外穿大衣,室内穿短袖都可以,存在非常明显的温度差,导致了人们外出的时候常常要先出外面“体验”一下温度,再考虑一下穿多少衣服。考虑到外出体验“温度”就是获取温度信息这一特点,外置(屋外)温度,内置(屋内)显示的解决思路,再结合门前的安防,就拥有了现在的智能家居门前系统。1.3 研究目标本作品主要由STM32为主要控制芯片、温度传感器为温度显示模块
11、、LCD1602液晶显示屏,显示温度,红外感应模块测量是否有人员通过而控制灯的开光,密码识别模块作为门锁的安全防护。当人们需要外出的时候,由于北方家庭的供暖非常好,常常在室内不知道室外的温度,而安装在室外的温度传感器就可以为户主提供准确的户外温度信息,户主只需要查看安装在室内的LCD1602模块就可以轻松获取户外的温度信息,从而为外出做好充足的衣着准备。当户主回到家时,也不需要为会不会忘记携带钥匙而烦恼,本作品提供的密码识别作为门锁的安全防护不需要额外带其他的钥匙,只需要输入正确密码就可以轻松进入家门,安全无烦恼。如果是晚上回到家的话也不必要为摸着黑找灯光的开关而烦恼,因为本作品的红外感应模块
12、感应有人进到家门门口的时候就会自动为你打开灯管,自然而优雅。1.4 论文结构安排课题为基于stm32智能家庭出入控制系统的设计与实现,第一部分查阅课题相关背景,了解相关设计背景资料,掌握现阶段相关产品设计技术。第二部分对系统整体结构进行设计,完成系统架构图,并对各个部分进行详细的说明,为各个部分选择具体的技术方案,明确具体的要选的原件以及器件的型号。第三部分需要按照第二部分明确的器件设计相关的硬件电路,绘制出各个部分的硬件电路图,通过单片机对各个硬件电路进行连接,实现对各个功能的组合控制,对各部分电路原理进行说明。第四部分按照前面设计好的硬件电路,为单片机设计软件代码,完成重点功能模块的软件流
13、程图,实现系统软件设计。第五部分对第三部分设计的硬件和第四部分设计软件进行联合调试,验证系统功能是否实现,通过调试优化设计,最终实现系统功能。第二章 系统方案构思2.1 系统整体方案设计本文需要对基于stm32智能家庭出入控制系统的设计与实现完成温度采集功能、按键功能、人体检测功能、数据显示功能、指示灯功能。在智能家庭出入控制系统中,单片机是所有模块组合控制的枢纽,将系统的所有模块模块通过输出输入连接到单片机,单片机自主完成采集外设数据,判断后可在外设被控部分,实现智能家庭出入控制系统功能。系统如果采集到有人,则控制黄色指示灯亮,可以输入密码控制家庭出入的门禁,密码输入正确则控制绿色指示灯亮。
14、系统设计方案如图2.1所示。图2.1 系统结构框图2.2 主控制器方案基于stm32智能家庭出入控制系统的设计与实现选择STM32实现对系统的控制。STM32F103C8T6是意法半导体企业设计生产的一款电子元器件,该器件拥有32位数据处理能力,器件的成本低、性能强、能耗小1。相对于其他单片机而言,此器件资源非常广,性能增强很多,器件的核心是Cortex-M3,所以在很多要求较高的产品中选择此器件进行开发,Cortex-M3这种结构性能强、资源多,很快就收到开发者的追捧,应用在大部分的电子开发项目,开发技术可以采用THUMB-2指令,更加方便开发者进行开发,加快了项目完成进度。器件封装为贴片形
15、式,所以占用空间小,集成度高,器件一共有48个外设接口,器件的工作频率最大可到72MHz2。为了满足更多项目的开发使用,加入了64K的存储空间,搭配了20K的可读写存储模块,器件的电源要求范围是2.0到3.6V,芯片内部的配置包括模数转换、PWM功能、CAN通信、USB通信等。模数转换功能高达12位。为了适应更多环境使用,器件的运行还还价温度在零下40到零上85度3。器件内部设置了多个时钟信号源,这些时钟信号可以通过程序设置是否使用,这样可以节省系统能耗。2.3 显示模块方案基于stm32智能家庭出入控制系统的设计与实现选择LCD1602显示系统温度以及输入密码等信息。LCD1602是一种液晶
16、显示屏,应用非常广,液晶屏显示原理是利用电压的变化去充满液晶屏内部两块板之间的材料中,实现对光的控制,这样就可以达到深浅的功能,有了这个功能就能实现很多不一样的图案。由于大部分开发者起初都会通过这款液晶屏进行学习,所以都具备对此款液晶屏的操作使用能力,进而被使用很多。开发者前期都经历过初学阶段,而初学者也都要学习使用这款液晶屏,是一个比不可少的实验,所以几乎所有的开发者都是很熟悉这款产品,而且可以进行开发应用4。液晶可以显示两行字符,一行有16个字符的宽度,缺点是不可以显示汉字,但是字符基本都可以显示,所以应用较广泛,而且显示控制很容易,因为液晶内部集成有字符库的芯片,不需要自己打点显示,只要
17、输入想要显示的内容,并且以字符或者字符串的形式都可以显示完成。2.4 温度检测方案基于stm32智能家庭出入控制系统的设计与实现选择LM75a采集温度数据。LM75a是一种数字接口(i2c)的温度传感器。单片机和此器件通过两条线连接,单片机就可以对器件采集的温度数据进行读取,由于是只有两条通信线,所以成本低、稳定性强,能够在非常恶劣的调节下工作。此器件采集的温度范围很宽,能够达到-55到+ 125,测量精度也很高,在零下10度到85度测量的精度是正负0.5度。此器件另一个最大的优势是,器件和单片机连接不需要任何的辅助器件,直接连接就可以实现温度的采集5。LM75A还可以进行级联,多个器件统一通
18、过一条信号线连接到单片机,由于器件内部都有唯一的ID,单片机采集温度的时候,需要先访问ID,找到对应的器件即可,便于进行多点温度采集设计开发。器件的供电方式有两种,一种是直接电源端供电,第二种是通过信号线经过器件内部的寄生电路获得电源,这样设计起来更加方便。器件的数据采集分辨率范围是9到12位,开发者可以通过程序选择具体分辨率的位数。如果器件电源反接,器件也不会烧坏。器件内部还可以设置温度报警值,开发者设置好的温度报警值以及分辨率,器件掉电不会丢失。2.5 人体采集方案LM75a选择AM312热释电红外传感器采集人体。AM312热释电红外传感器能够采集人体散发出来的红外信号,模块接收到人体发射
19、的信号,会将人体发射的信号经过模块输出电信号,便于单片机做出判断。传感器上方的方形处有滤光物,有了绿光片传感器就可以只允许人体红外信号通过,也就是9到10m波长的红外信号通过,其他波长段的信号将会全部过滤,使得传感器检测更加稳定6。如果有人体在传感器的附近,传感器会感应到人体的红外信号,并且是波长在9到10m范围内的红外信号,采集到信号后,将信号进行放大,稳定处理后输出到其他控制器进行识别,这样就实现了人体的检测。模块上熟料光滑的外壳是菲涅尔透镜,这是为了增强模块的识别能力。2.6 本章小结本章主要介绍了整个的系统功能分析、系统结构设计和和方案认证。首先分析了系统需求,接下来对系统架构进行了设
20、计,最后对系统方案进行认证,以STM32F103C8T6为主控制芯片,并采用LM75a的进行温度采集,最后选择LCD1602显示作为显示模块。14第三章 硬件系统设计3.1 主控制器STM32F103C8T6单片机作为一款深受初学者喜欢的处理器,在很多开发者初期入门的时候必学的单片机,对于单片机所有的业内开发者都非常熟悉,处理器具有32位数据操作能力。单片机是专用的仪器仪表方案,单片机的电源要求为3.3V,处理器带有低功耗模式,这是这款芯片最大的优势,所以很多仪器仪表产品都选择此方案作为开发技术7。此款器件为32位单片机,是德国一家科技公司开发设计而成,在1995年就已经面市,刚上市就受到了很
21、多开发团队的青睐,产品的功耗低、性能强。单片机电源要求为3.3V。单片机的封装类型包括DIP直插封装、LQFP贴片封装、PLCC贴片封装、PQFP贴片封装,贴片封装体积小、重量轻,很适合集成度高的项目使用。DIP封装方便手工焊接,可以在万用表、面包板、洞洞板等进行使用,在学习初期使用最多,便于进行多次使用,在学校、在家等一般条件下就可以进行开发学习8。单片机运行代码需要外部输入信号,也就是时钟信号,通过晶振器件输入节拍时序,为单片机代码的运行提供节拍,通常所说的单片机的工作效率就和单片机的晶振参数数据有关系,我们选择的晶振为12兆赫兹,换算成时间数据为1/12微秒,这就是节拍,所以如果选择的晶
22、振频率不同,节拍就不同,处理器的工作效率就不同,单片机要求晶振频率在70MHz以下。如图3.1所示。图3.1 单片机引脚说明时钟电路不可或缺,可是这样单片机还是无法工作,复位电路同样重要,复位电路,顾名思义就是复位,可以回到原位,对于电子系统而言,就是重新运行,单片机在启动时会复位,叫做上电复位,也是因为复位电路提供了复位动作必须的条件,搭配了按键,达到按键复位功能,可以通过按键进行复位,复位在系统调试时起到了很关键的作用,在数据手册中要求的复位信号持续时间为5毫秒,只要满足要求,并且输入到复位引脚,单片机就会复位。在设计调试时,尤其软件调试,复位可以让工程师了解软件设计的问题所在,不光是在产
23、品使用中起作用9。单片机运行代码需要外部输入信号,也就是时钟信号,通过晶振器件输入节拍时序,为单片机代码的运行提供节拍,通常所说的单片机的工作效率就和单片机的晶振参数数据有关系,我们选择的晶振为12兆赫兹,换算成时间数据为1/12微秒,这就是节拍,所以如果选择的晶振频率不同,节拍就不同,处理器的工作效率就不同,单片机要求晶振频率在20MHz以下。单片机可以运行代码,必须要有时钟电路的支持,每一句代码的运行,每一条指令的运行,都是按照时钟电路的时钟信号运行得到,所以晶振的频率就代表了单片机的运行速度。如果没有时钟电路或者时钟电路异常,单片机的运行将会停止,甚至无法烧写程序,所以时钟电路是比不可少
24、的电路。单片机的定时器相关设计,都是建立在晶振的基础上,定时器的时间计时,定时器初始值等,都需要时钟电路的支持,综上所述,时钟电路的重要性可想而知。电路搭配的是11.0592Mhz的晶振,所以定时器的各项参数,都需要通过这个频率进行计算,晶振是无源晶振,所以必须搭配两个起振电容,没有起振电容,晶振是电路无法工作。复位电路也是单片机系统最终的组成部分,复位的功能是让单片机回到代码初始位置重新开始运行,在系统开发阶段以及系统使用阶段复位功能都是必不可少的设计10。此电路可以在电源通电瞬间进行复位,在器件启动执行过程中实现复位,此功能硬件设计的器件有10K电阻元件、按键元件、10uf电解电容元件,控
25、制器的复位信号要求至少维持两个晶振频率周期的有效信号,为单片机第9接口RST加载两个晶振频率周期的有效信号,就能够完成单片机复位动作。3.2 显示模块显示模块完成对系统采集温度数据以及输入信息数据的显示。在硬件电路中,液晶只需要16个接口进行连接,1脚电源GND,2脚为电源VCC,3脚接电位器,这个电位器的作用是条件液晶的对比度,可以让液晶显示的内容更加清晰,一般选择103,也就是10K电位器,4脚为RS,是控制输入的内容是命令还是数据,如果控制RS为低电平,则输入的内容为指令,如果控制RS为高电平,则输入的内容为数据,5脚为RW,控制单片机是读液晶的数据,还是向液晶写数据,如果控制RW为低电
26、平,可以对液晶进行写指令或者写数据,如果控制RW为高电平,主要读取液晶的显示状态,6脚为E,使能控制端,7脚到16脚为8个数据口,并且输入输出,15脚为背光灯的电源VCC,16脚为背光灯的电源GND,有了背光灯晚上也可以看到液晶的显示内容。液晶的电源要求为5V。液晶D0到D7接单片机的PA口,RS接单片机的PB15,RW接单片机的PB14,EN接单片机的PB13。如图3.2所示。图3.2 显示模块图3.3 温度检测模块LM75A实现对环境温度的采集。LM75A器件内部具有64位的ROM、2个字节的温度存储器、1个字节的温度报警上限和下限数据存储器以及一个字节的分辨率设置存储器。ROM中的数据是
27、器件的ID,具有唯一性,每个器件的ID都不一样,所以可以按照ID找器件,实现多级器件级联温度采集。器件可以选择的分辨率有9/10/11/1211。器件的信号线设计一个上拉电阻,这样就实现开漏输出。器件内部的存储器有9个字节,一个字节的低8位温度数据,一个字节的高8位温度数据,一个字节温度上限报警数据,一个字节温度下限报警数据,一个自己的配置数据,一个自己的CRC校验数据,其余3个字节保留使用。如果断开器件电源,则存储的数据不会消失,继续保留,器件重新通电后,继续使用设置好的数据,也可以通过代码重新设置,LM75A的SDA接单片机的PB7,LM75A的SCL接单片机的PB6。温度检测电路图如图3
28、.3所示。图3.3 温度检测模块图3.4 人体检测模块AM312实现系统对人体信号的采集。AM312传感器感应到红外信号后,经过放大后信号就有了一定的电压等级,为了保证电压放大等级,模块增加了放大电路,再次将信号进行放大,使得输出信号更加稳定。由于信号比较小,所以在传送中一般都会有干扰信号,更多的可能是噪声信号,传感器对红外信号非常敏感,模块搭配了比较器,用于增强系统的稳定运行,避免出现误判,利用比较器设计一个阈值电压,这样经过比较后输出问的电压信号,如果检测的信号达到阈值则输出有效信号12。模块中还设计了控制电路,主要包括光控以及延时功能,光控和比较器一同进行控制。延时功能是在传感器检测到红
29、外信号后,如果没有人体出现之后,进行一段时间延时后取消有效信号的输出,以免无人情况下,信号立即消失。如图3.4所示。图3.4 人体经检测模块图3.5 按键输入模块按键用于控制系统运行状态以及输入密码数据。按键选择轻触开关,按键的好与坏有很多因素,包括按键的防护性、可焊接程度、使用寿命、按键机动性、按键手感、制作工艺以及安装方法等因素。轻触开关的引脚材料选择的是黄铜或磷铜,按键的作用就是导通,所以为了大大减小触电的电阻,引脚都需要经过镀银,但是银会和空气中的SO2产生化学反应,就会影响按键引脚的接触电阻以及焊接强度,因此优质的轻触开关第一步必须在引脚的基础材料的镀银厚度以及镀银的技术上做到最好1
30、3。轻触开关的引脚镀银完成之后,是不是需要进行保护,按键需不需要进行防水的处理,都是非常重要的因素,否则再好的镀银处理工艺,按键引脚会被氧化。按键按下是否有效取决于按键接触点的机械装置,轻触开关的特点就是按键的触点和弹片连接之后就会导通,所以能否良好的接触,并且达到最大面积的接触是非常重要的。系统设计需要进行人机交互,用户需要输入相关数据信息,很多产品都通过按键进行输入,普通键盘都是非编码方式,包括独立按键和矩阵键盘两种方案,矩阵键盘对于按键数量要求较多的设计非常适合,可以节省外围接口的数量。此设计需要输入的数据就是对临界报警值进行设置,所以按键数量较少,选择独立按键即可。按键通过对高低电平的
31、变化输入到单片机,单片机判断电平变化,识别按键动作。矩阵键盘完成系统控制,可以进行签到、添加学号、录制指纹膜、查看缺勤等操作选择。在按键设计时,硬件电路比较简单,主要通过软件进行识别,按键按下后低电平就输入到单片机的接口,如果按键按下,低电平就输入到单片机,按键松开,单片机默认就是高电平,这样就可以识别到按键的动作。如图3.5所示。图3.5 按键输入模块图3.6 指示灯模块指示灯用于指示系统是否检测到人体,并且输入的密码是否正确。发光二极管是输入电能后输出光能的元器件,通常叫做LED。器件构造是由PN结设计而成,特性是电流只能正向流动。如果按照发光二极管的正负极准备供电,PN结就会导通,由P区
32、向N区发射空穴,由N区向P区发射电子,这样内部的电子和空穴会出现反应,就会出现光线14。制造材料不一样,发光二极管内部的反应也不一样,组成的PN结产生的空穴和电子数量不同,产生的空穴和电子数量越多,发出光的波长越短。设计了两个指示灯,如果检测到有人,则LED0亮,如果密码输入正确,则LED1亮。电路如图3.6所示。图3.6 指示灯模块图3.7 本章小结本章主要介绍了明系统的硬件电路部分,首先介绍了主控模快设计,接下来介绍了信号采集模块设计,之后介绍了显示模块、温度检测模块、人体模块、按键模块以及指示灯模块设计。第四章 软件系统开发4.1 软件系统C语言是很多开发者入门必学的一门语言,通过C语言
33、的学习,可以熟悉编程的很多概念,对编程有了一定的认识,清楚的认识程序的运行机制,例如,计算机每个部分是怎么样进行数据交互,程序运行时内存是怎么样工作的,系统和程序之前有这怎么样“爱恨情仇”,所有底层的运行机制都可以从C语言中学习得到15。C语言的基础知识点少,关键词容易理解,其他所有类型的编程语言都是基于C语言发展而来,比如C+、Java等,所以说C语言可以看做是其他所有编程语言的开山鼻祖,为后续的学习打下了基础,正是因为C语言是所有初学者必学的一门基础语言,所以对于代码编写方案的选择,C语言是最合适的软件编写方案,可以快速完成系统软件设计,实现系统软件功能。4.2 软件整体设计基于stm32
34、智能家庭出入控制系统的设计与实现首先完成对温度采集接口、按键接口、人体检测接口、数据显示接口、指示灯接口进行初始化。系统如果采集到有人,则控制黄色指示灯亮,可以输入密码控制家庭出入的门禁,密码输入正确则控制绿色指示灯亮。见图4.1 整体软件设计流程图所示。图4.1 系统软件设计流程图4.3 显示软件设计LCD1602液晶全称是1602字符型液晶,这种类型的液晶只能显示字母、数字、符号等字符得到点阵式液晶屏幕。液晶屏内部集成了存储器,分为三种:CGROM、CGRAM、DDRAM。DDRAM就是专门为液晶存储显示数据的存储器,存储了需要显示的字符编码。DDRAM的具体功能作用其实和电脑的显存是一样
35、的原理,比如需要在屏幕上显示内容,直接通过软件写入想要显示的内容即可,这样屏幕就会按照写入的内容显示。LCD1602液晶屏设计有80个字节的显示存储,即为DDRAM。但是LCD1602并不能一次性显示那么多的内容,所以直接写入DDRAM内的字符是不会全部显示在液晶屏上的。所以未被显示出来的字符,需要通过软件设置显示移动命令,让显示的内容移动,之后未被显示的内容会慢慢显示出来,这样就实现了字符移动显示,所以设计的DDRAM会大于可显示的字符数量。想要显示什么内容,只要将字符输入到DDRAM中即可。加入需要显示字符A,将字符A对应的ASCLL吗41H(十六进制)写入DDRAM中即可,第一个写入的字
36、符会存在DDRAM的00H地址处。软件设计流程图如图4.2所示。图4.2 液晶显示软件设计流程图4.4 温度采集软件设计LM75A器件中采集到的温度数据是以16位二进制存在,由图中所示,S表示温度数据的符号位,S为0表示温度为零上,S为1表示温度为零下,由于温度采集的分辨率是不同的,按照分辨率设置9/10/11/12,温度的数据为0.5度、0.25度、0.125度和0.0625度。器件启动运行后默认分辨率是12位。器件设置为12位分辨率时,温度寄存器的各个位都具有具体的数据含义。器件设置为11位分辨率时,温度寄存器的0位没有具体含义。器件设置为10位分辨率时,温度寄存器的0位和1位没有具体含义
37、。器件设置为9位分辨率时,温度寄存器的0位、1位以及2位没有具体含义。程序设计如图4.3所示。图4.3 温度采集软件设计流程图4.5 按键扫描软件设计在进行代码设计前,需要对按键真实的动作状态进行了解,按键按下就是低电平,但事实上在按键动作过程中,高低电平并不是那么的完美,在动作过程中高低电平是有抖动的,这是因为人手抖动以及按键机械结构导致的结果,所以单片机单纯的检测低电平并不能采集正确信号,会产生很多的误操作,只有在按键按下稳定后,才是稳定的信号,单片机此时检测按键信号才是正确的时刻。按照上述的波形情况,我们在软件检测的时候需要进行消抖,也就是等按键抖动信号过去,再检测按键信号,一般按键抖动
38、时间是3到5毫秒,所以在首次扫描到有效的按键信号后,再经过3到5毫秒后,继续扫描按键的信号,如果既然有效,则表示按键确实按下。软件设计流程如图4.5所示。图4.5 键软件设计流程图4.6 本章小结本章主要是介绍了系统软件设计,首先介绍了主控制端程序的设计,接下来完成了显示软件设计、温度采集软件设计、按键扫描软件设计等。第五章 测试5.1测试环境与测试目的仿真对于有些功能也是实现不了的,一些无法进行测试。所以只能进行实物组装后进行测试。实物的组装也有讲究,购买器件之后,在焊接组装的时候,第一组装的应该是核心部分,主控制器电路,因为其他电路都是由此部分电路控制的,必须有控制器电路,每部分电路组装焊
39、接完成后需要进行测量,供电端是否短路等,之后就需要组装电源电路,只有供电之后才能验证主控制器电路,电源在组装的时候不可以同时连接其他模块,必须要测试之后,而且是上电测试没问题之后,再连接主控制器,这样的话,如果电源有问题,不会影响其他部分,所以每个部分的组装之后,不可与其他部分连接在一起,必须先独立测量验证没有问题,方可连接其他模块,主控制器和电源组装完成后,可以为主控制器烧写可执行文件,验证两部分电路的正确性。之后进行其他模块电路的制作。5.2 系统上电测试供电接口一定要进行测量,如果出现短接 ,会烧坏所有器件,每次接通电源开关之前尽可能测量电源接口,在正常情况之后接通电源,供电后,看实物运
40、行是否正确,比如显示功能,电源指示灯,所有可见现象是否正常,如果有异常,马上切断电源,还有就是需要关注实物上某些部分出现发热,一般电源发热属于正常现象,其他部分如果有发热多数是异常现象,所以需要关注是否发热。一切正常之后就可以对实物的各项功能进行测试了,是否满足设计要求。设计如图5.1所示。没有人出现的情况下,系统只采集温度数据,液晶显示温度数据为23摄氏度。图5.1 系统温度采集上电测试系统采集到有人出现后,黄色指示灯亮起,表示有人出现,同时采集环境温度数据。如图5.2所示。图5.2 系统人体采集上电测试通过测试,环境有无人经过时,对黄灯进行测试,实验数据如表5.1所示表5.1采集有无人经过
41、测试数据表序号有无人经过预期黄灯亮情况实际情况结论1有人有人经过时黄色指示灯亮,没有人经过则不亮黄色指示灯亮通过2有人黄色指示灯亮通过3有人黄色指示灯亮通过4有人黄色指示灯亮通过5没人黄色指示灯不亮通过6没人黄色指示灯不亮通过7没人黄色指示灯不亮通过8没人黄色指示灯不亮通过用户通过矩阵键盘输入密码,输入密码的同时液晶第二行显示PW:*,密码的显示用*号代替,不会被他人看到密码。如图5.3所示。图5.3 系统输入密码上电测试用户通过矩阵键盘输入密码,如果输入的密码数据和系统设置的密码一致,则控制绿色指示灯亮,表示运行家庭人员出入,液晶显示password correct,表示密码正确。如图5.4
42、所示。图5.4 系统输入密码正确上电测试通过多次誓言测试,输入正确的密码后,绿色指示灯亮。实验数据如表5.2所示。表5.2 输入密码测试数据表序号输入预期情况实际情况结论1正确密码绿色指示灯亮绿色指示灯亮通过2正确密码绿色指示灯亮通过3正确密码绿色指示灯亮通过4正确密码绿色指示灯亮通过5正确密码绿色指示灯亮通过6正确密码绿色指示灯亮通过7正确密码绿色指示灯亮通过8正确密码绿色指示灯亮通过通过多次测试,输入不正确的密码后,绿色指示灯不亮。实验数据如表5.3所示。表5.3输入错误密码测试数据表序号输入预期情况实际情况结论1不正确密码绿色指示灯不亮绿色指示灯不亮通过2不正确密码绿色指示灯不亮通过3不
43、正确密码绿色指示灯不亮通过4不正确密码绿色指示灯不亮通过5不正确密码绿色指示灯不亮通过6不正确密码绿色指示灯不亮通过7不正确密码绿色指示灯不亮通过8不正确密码绿色指示灯不亮通过用户通过矩阵键盘输入密码,如果输入的密码数据和系统设置的密码不一致,则液晶显示password error,表示密码不正确。如图5.5所示。图5.5 系统输入密码错误上电测试系统可以修改密码数据,液晶显示PO:,提示用户输入旧密码,必须正确输入之前的密码,才可以进行密码修改。如图5.6所示。图5.6 系统输入旧密码上电测试输入正确的旧密码之后,液晶提示PN:,表示此时可以输入新密码,设置新密码数据。如图5.7所示。图5.
44、7 系统输入新密码上电测试输入新密码之后,一定要记住新密码,液晶提示Password Change,表示新密码设置成功。如图5.8所示。图5.8 系统设置新密码上电测试5.3 本章小结本章中,本文对设计的系统进行了全面测试。首先对硬件进行了调试。接下来对系统性能进行测试,最后均实现功能,测试通过。进行了系统温度采集测试、输入正确密码测试、输入错误密码测试、修改密码测试、人体检测测试,对系统上电后对上述功能进行逐条测试,验证了系统功能,温度采集测试、输入正确密码测试、输入错误密码测试、修改密码测试、人体检测测试结果符合系统设计要求,说明整个设计完成了基于stm32智能家庭出入控制系统设计。21总
45、结基于stm32智能家庭出入控制系统的设计与实现完成温度采集功能、按键功能、人体检测功能、数据显示功能、指示灯功能硬件电路设计以及软件设计。系统如果采集到有人,则控制黄色指示灯亮,可以输入密码控制家庭出入的门禁,密码输入正确则控制绿色指示灯亮。虽然系统的功能都已经实现,但是难免存在一些不足之处,比如温度采集的速度,能否及时有效的获取到温度数据、人体数据,并且及时显示温度数据,整个操作需要稳定、可靠,都需要进一步的完善,查阅一些资料,设计相关可靠方案,让系统更加稳定、安全,所以系统的设计需要进一步完善。本设计电路板能够大程度模拟实际控制情况,针对实际出现的按键读取出现故障,以及在收到控制信息时单
46、片机无法控制显示等情况进行多次调试,证明了系统的稳定可靠性,与预期效果一致。本设计由开始的方案设计、电路原理、代码编写到最终的系统调试,最终实现了系统要求的功能。在整个系统设计过程中,对大学阶段学习的所有理论知识进行了巩固,从新整理了单片机开发设计流程,进一步加强了系统开发设计的能力,整个过程处处都是困难,在这个解决困难的过程中,同样自己的解决难题的水平也提高了很多,为今后自学奠定了基础。经过不断的努力,和来自老师和同学的帮助,完成硬件、软件的设计。在这个过程中也得到了以前没有获得的知识,整个过程要不断的思考,不断的进取,更是提升了对专业的兴趣,更有助于完成毕业设计。参考文献1Microsem
47、i.SmartFusionCustomizableSystemon-Chip(SoC)Datasheet.2012(04):55-722Li Yamin,Chu Wanming. Implementation of single precision floating point square root on FPGAsFifth IEEE Symposium on FPGA-Based Custom Computing Machines,1997(06):39-563孙育才,孙华芳,MCS-51系列单片机极其应用M,第五版南京:东南大学出版社,20124王兆安,黄俊电力电子技术M,第四版北京:机械工业出版社,20005王学文传感器原理及应用M北京:航空航天大学出版社:20086谭浩强C程序设计M北京:清