




已阅读5页,还剩44页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
毕业设计基于单片机的自动窗帘控制系统设计杨伟哲112011424机械工程系学生姓名: 学号: 机械设计制造及其自动化系 部: 张焕梅专 业: 指导教师: 二零一五年 六 月诚信声明本人郑重声明:本论文及其研究工作是本人在指导教师的指导下独立完成的,在完成论文时所利用的一切资料均已在参考文献中列出。 本人签名: 年 月 日毕业设计任务书设计题目: 基于单片机的自动窗帘控制系统设计 系部: 机械工程系 专业: 机械设计制造及其自动化 学号:112011424学生: 杨伟哲 指导教师(含职称): 张焕梅(讲师) 1课题意义及目标 学习并掌握单片机及相关知识;系统要求实现窗帘的自动控制,并且可通过多种方式控制,如手动控制、通过设定时间控制或根据光照强度进行控制等;在查阅资料基础上,完成系统整体方案设计;完成系统硬件设计,完成系统元器件的选型,在掌握电子线路图绘制工具软件的基础上,完成系统组成框图的绘制、完成相关电路图及系统原理图的绘制;完成系统软件设计包括软件流程图的绘制及程序的编制。2主要任务(1)、认真阅读任务书,通过查阅相关文献资料,在了解课题研究目的意义及现状等基础上,构建设计方案并进行充分论证,并撰写开题报告;(2)、进行系统总体设计,熟悉开发环境;(3)、系统硬件设计,系统软件设计;(4)、毕业设计说明书;3主要参考资料1李晓林.单片机原理与接口技术M . 北京:电子工业出版社, 20132徐沐龙.单片机原理及应用M . 北京:机械工业出版社, 20134进度安排设计各阶段名称起 止 日 期1阅读任务书,通过查阅资料,撰写开题报告并进行开题答辩;3月3日3月23日2系统总体方案设计,硬件选型及原理图绘制;3月24日4月13日3绘制软件流程图,中期答辩;4月14日5月4日4程序编制及调试;5月5日6月1日5撰写设计说明书,准备毕业答辩6月2日6月22日审核人: 年 月 日基于单片机的自动窗帘控制系统设计摘 要: 本论文首先对于自动窗帘的基本知识,发展历史和应用前景做了一个充分的介绍,从而阐明了自动窗帘对于现代生活的重要作用。本论文所设计的自动窗帘系统,既能减除每天用手开关窗帘的不便,也能提高生活的档次,同时根据光照和温度来控制窗帘的开闭,可以调节室内的光线和温度,进一步满足人们对于更高生活水平的追求。本设计采用容易操作,方便实现的设计理念,以AT89C51单片机为控制核心。软件主要是以流程图和代码的方式对光照控制、温度控制和电机控制进行介绍。硬件控制系统主要由DS18B20温度检测模块,三极管驱动LED显示模块,L298电机驱动模块和光敏电阻组成。关键词:自动窗帘控制系统、AT89C51单片机、DS18B20、LED、L298 The Design of the Control System of Automatic Curtain based on MCUAbstract: This paper firstly give a sufficient introduction of the basic information of automatic curtain, history of development and application prospect so as to clarify the importance of automatic curtain to modern life. The system of automatic curtain designed in this paper not only can reduce the inconvenient of opening and closing curtain by hands everyday, but also can enhance the level of life. Meanwhile, to control the curtain switch according to light and temperature, it can adjust the light and temperature indoor, to satisfy peoples pursuit of a higher standard of living.This design uses principles that are easy to handle and convenient to realize, it uses AT 89C51 SCM to be the control center. The software mainly uses the methods of flow chart and code to introduce light control, temperature control and motor control. Hardware controlling system mainly consist of the module of temperatures control, LED module of triode tubes prime mover, driver module of electric motor and photo resistor.Keywords: the Control System of Automatic Curtain; AT 89C51 SCM; DS18B20、LED、L298目 录1 绪论11.1 选题的意义和目的11.2 本课题在当今社会的研究现状和发张趋势11.3 本课题设计的主要内容21.4 单片机的简介31.5 单片机的发展历史31.6 单片机的特点42 系统整体方案的设计52.1 单片机硬件设计的基本原则52.2 单片机软件设计的基本原则62.3 系统整体设计的结构方框图63 系统的硬件设计83.1 系统主要的模块结构83.2 单片机最小系统的模块设计93.2.1 AT89C51单片机的简介93.2.2 晶振电路93.2.3 复位电路103.3 温度检测模块113.4 LED显示模块123.5 光照检测模块123.6 电机控制模块133.7 系统硬件的原理图144 系统的软件设计164.1 程序的结构分析164.2 主程序的设计174.3 汇编语言和C语言184.4 各个子程序的设计194.4.1 光照强度的检测和转换子程序194.4.2 DS18B20温度检测程序214.4.3 4位LED数码管显示程序224.4.4 LN298电机驱动子程序24总结26致谢27参考文献28附录29附录一 系统硬件原理图29附录二 程序30IV太原工业学院毕业设计1 绪论本章主要阐述了本课题选择的目的与意义、当前的发展现状和未来的发展趋势,同时综述了本次设计的主要内容。1.1 选题的意义和目的伴随着生活水平的逐步提高,时代的不断进步,人们对于生活追求的不断提高,对于居住空间和环境的要求也越来越高,高档的智能家居成为越来越多人们的生活必须品。由单片机为主要控制的自动窗帘控制系统,不但可以解决每天人们用手开关窗帘的繁琐,而且也是一个人生活档次的体现,与此同时可以通过温度和光照强度来控制窗帘的开关,可以调节室内的采光,更深层次的满足了人们对于生活档次更高追求。1.2 本课题在当今社会的研究现状和发展趋势早在二十世纪初,自动窗帘已经被作为一种比较成熟的技术在欧洲和北美广泛的应用。直到2010年左右,这项技术才被一些技术人员带入中国,但由于不被大部分人群认可和价格昂贵,一直没有得到很好的发展。直到最近,由于中国的单片机的不断发展和自动窗帘的价格有所下降,自动窗帘的热潮才席卷而来。根据不完全的数据统计,在我国大概有170多家自动窗帘的生产厂商已经获得了相关的专利,但是对于自动窗帘的核心技术而言,并没有多大的差距,但是价格却有天壤之别。目前在我国市场中主要流通的自动窗帘的主要控制防止主要是以下几种:声音控制、光照控制、时间控制等。声音控制和遥控控制主要是半自动的控制,而光照控制则属于全自动的控制。当前我国的发展趋势就是以声音控制和遥控为主,而且这些技术还是比较成熟,然而全自动的光照控制,因为其结构复杂,性能并不稳定,虽然勉强实现了自动化,但由于其价格昂贵,没有被广大的消费者所认可。随着时代的飞速发展,智能家居这个新兴的产业也越来越被大家所接受,智能家居最基本的表达就是基于家居这个平台,结合建筑、自动化与智能化为一体的舒适、便利、安全的居家环境。它的主要目标是通过通信技术和远程控制实现对于家居的智能使用,使其按照人的某些要求进行运行。此外,自动窗帘可以满足一下人们的要求:一、在某种程度上改善人们的生活水平,自动窗帘为人们提供了一个更为舒适、方便、高档的居家环境。二、促进一大批企业的发展,家居市场为很多的单片机公司提供了一个新的市场,鉴于当今社会的发展,其发展前景也是无可限量的,市场必定是十分庞大的,必定会吸引大批的企业投资,牵动这些企业的发展。三、将一些先进的技术与人们的居家环境结合起来,必定会创造出一大批新颖的市场,它不仅促进单片机行业的发展,同时也给家居产业带来一次良好的机遇,同时发展了专业公司与家居产业,所以智能窗帘必定会在未来的市场占有一席之地,它的普及必定是大事所趋。1.3 本课题设计的主要内容本课程设计所设计的自动窗帘主要是通过周围的光照强度的变化来控制电压的变化,进而控制电机的正转和反转。假如光照强度低于某一数值时,电机开始进行正转,转动几秒后停止。这时候电机处于静止状态,而当周围的光照强度上升达到某一数值后,电机便开始进行反转,转动几秒后停止。通过这个过程便实现了自动光照控制窗帘的开闭。而且可以加以温度的辅助调控,当温度的数值大于或小于某一数值时,可以自动控制窗帘的开闭。另外,在满足自动控制的同时,还加以手动控制,手动控制与自动控制可以实现互相转换,这样可以进一步满足人们的需求,具体的内容如下:1、跟指导老师讨论硬件部分的设计方案,主要包括温度检测模块、光照强度检测模块、温度显示模块、电机驱动的模块。2、根据硬件部分的设计方案来制定软件设计的主要流程图。3、根据软件的主要流程图来编制相关的程序,然后进行软件的调试。4、进行软件与硬件的结合调试。 1.4 单片机的简介单片机是单片微型计算机的简称,同时又被称为嵌入式微控制器(Embedded microcontroller)。最常用英文字母MCU的缩写来表示单片机,单片机最初是用于工业控制的领域。单片机是由芯片中的CPU专用处理器发展而来的。而单片机最早的设计理念是将CPU和大量的设备集中在一个简单的芯片当中,从而使计算机系统的体积更小,进而满足更高的要求。INTEL公司所研究的Z80是最早的根据这些要求所设计出来的微型处理器,从那以后,单片机和专用的处理器的便出现不同的设计理念,单片机的诞生是计算机发展历史中的一个新的里程碑。单片机与专用的处理的器相比更适合运用于嵌入式系统,同时还可以获得最多的应用。单片机是世界上运用数量最多计算机,在我们的日常生活中几乎每一件电子和机械产品中都有单片机的存在。电子玩具、手机、钟表、各种家用电器等其中都会配有一到二部单片机,而PC中会有更多的单片机工作,一般的小轿车中都有40至50部单片机在同时工作,而在一些特殊且复杂的工业系统中,则会有几百部单片机的工作,单片机无处不在,它的数量远远超过了PC的总和,甚至比世界的人类数量还有多,可见单片机的数量之多。单片机就是单片微控制器,它并不是去完成某些逻辑功能的芯片,而是将某些计算机系统集中在一个芯片上,其实在功能上就相当于一个计算机,与计算机的不同只是单片机缺少了I/O端口设备,简单来讲,就是一个单片机芯片就成了一个计算机。单片机的主要优点在于它的体积小、质量小、同时价格便宜,便于学习和开发,为其提供了很多的便利条件。学习单片机是为了更好的了解计算机的结构与原理。单片机与计算机也有很多相似的地方,比如CPU、内存,还有和硬盘功能相似的存储功能,只是相对于家用的计算机而言,它的功能确实弱了很多,与此同时,它的价格也十分的便宜,一般来说都不会超过10元。它的主要作用还是用来控制部分的核心部件,它的功能其实还是有限的,并不是无所不能。1.5 单片机的发展历史单片机从其诞生到现在的飞速发展,大致经历了以下的4个发展阶段,分别为:第一阶段(1974年1976年);这个阶段被称为单片机的初级阶段。鉴于当时的工业并不是十分的发达,工艺发展也不是十分理想,单片机主要采用双片的形式,并且功能也是十分的简单。第二阶段(1976年1978年):这个阶段被称为低性能单片机阶段。在这个阶段单片机已经成为一个单独的计算机,但是单片机的内部资源并不是十分的饱满。第三阶段(1978年1982年):这个阶段被称为高性能单片机阶段。由于当时科技的飞速发展,单片机的内部资源也不断的丰富。第四阶段(1982年现在):这个阶段8位单片机不断发展,逐步发展成为16位甚至32位单片机,单片机的发展达到一个新的高度。就目前的社会而言,单片机的数量与类型越来越多,但是其实功能比较良好的8位单片机在今后的发展历史中还将拥有不可动摇的地位,还是当代单片机的主角。1.6 单片机的特点鉴于单片机的飞速发展,其特点也是主要满足于当代社会的需求,其主要特点如下:(1)单片机的体积很小,运用灵活,成本与价钱都比较低,可以满足大部分的接受范围,同时易于将其发展成为产品,很容易满足产片既廉价且功能完善的要求。(2)单片机虽然体积比较小,但是其可靠性还是十分不错的,而且对于温度的要求并不是很高,可以在比较广泛的温度范围下正常的工作。(3)单片机易于扩展,而且控制能力也比较强。通过单片机或其扩展可以满足各种规模的应用系统中。(4)单片机的指令相对于其他的同功能的机械来说,程序语言简单易懂,易于学习,且指令中有很强的逻辑关系,方便操作输出输入设备。鉴于单片机有以上的这些特点,逐步成为了传统工业技术改造和新产品发展的理想选择,具有十分良好的发展前景。毫不夸张的说,单片机的发展即将引领这个时代的发展。2 系统整体方案的设计根据任务书的要求,本章节主要讲本设计的主要应用方案,同时也描述了硬件的选择和硬件系统的设计原则,为其他的模块设计开始做了充足的准备。2.1 单片机硬件设计的基本原则单片机的应用系统的硬件电路设计主要包括了两部分的重要内容,其中一个是系统的扩展,也就是单片机的功能部分,比如ROM、RAM、I/O等,假如单片机不能满足应用系统的要求时,就必须对单片机进行扩展,选择适用于单片机的芯片,设计相对应的电路。另一个部分就是单片机系统的配置,就是按照应用系统的功能要求来配置相对应的外围设备,例如显示器、打印机、A/D或D/A转换器等等,同时还是需要设计相对应的接口电路。系统的扩展和配置应该遵循以下的几条原则:1、最大可能的选择比较典型的电路,并且同时要符合单片机的使用方法,为以后硬件系统较为标准的设计做一个好的基础。2、系统的扩展与配置首先最主要的要求是要满足应用系统的要求,在此基础上,尽可能的减少花费,这样以便于提高设计的性价比,这是硬件设计所要考虑的一个重要的因素。原因是在设计完成后,主要的费用还是集中在硬件上,这也是提高市场竞争力的一个十分重要的因素。3、在设计硬件的同时,不能忘记考虑软件的因素,硬件的结构要与软件的结构想结合一起考虑。硬件的结构与软件的设计将会相互影响。4、系统设计时相关的原器件一定要做到匹配其性能,不能使单片机与其他芯片有十分明显的差距。5、在设计的时候,可靠性与抗干扰性一定要作为一个主要的考虑因素,可靠性和抗干扰性将会影响到以后做成产品的可靠性,对于市场十分的重要。一定要保证其可以正常工作,并且具有一定的使用寿命。6、当单片机的电路比较复杂的时候就需要考虑此时电路的驱动是否足够,当驱动不足够的时候,电路就无法正常的工作。7、尽量再设计单片机电路的时候,朝“单片”的方向进行硬件设计2.2 单片机软件设计的基本原则单片机的软件设计也应该满足以下的几点要求:1、软件的结构必须合理。软件程序一般应该采用结构模块化的设计,这样将有利于后期的维护和修改。2、应该具有良好的操作性,方便人的使用。3、所设计的程序必须有一定的保护功能和容错功能。同时系统一定要设计一个检测程序,这样方便于故障的查询。4、尽可能的提高程序的运行速度,从而减少运行内存。5、必须给出必要的程序说明,方便后期的处理。2.3 系统整体设计的结构方框图一般情况下,我们一般把系统的数据输入称之为数据采集,系统的数据输出称之为数据的分配。本次设计的基本要求是能够采集光强信号和采集和显示温度信号,从而实现对于电机的控制。根据这些情况,应该具有以下的几点功能:温度的显示与检测、光照强度的检测、控制电机的正反转。本次设计所用的单片机为AT89C51为主要的控制器,自带AD转换,将温度检测输入的模拟量转换成为数字信号,经过单片机的处理之后,显示在数码管上,同时把检测出的光强信号转换成模拟电压信号,从而控制电机的工作状态。除此之外,为了实现开关信号的输出,还需要采用开关方式控制单片机的工作,从而控制单片机的启动与停止。系统的总体方案设计框图如图2.1所示。开始显示电机正转电机反转电机停止温度检测光强检测单片机处理图2.1 系统的总体方案设计框图3 系统的硬件设计本章的主要内容就是运用模块化设计的思想,对系统的硬件进行细化的处理与设计,介绍系统硬件各个部分的工作原理和单片机的接口电路。本次设计系统的主要硬件包括AT89C51单片机,温度的显示和检测模块、光照强度的检测模块,最后是L298控制模块。3.1 系统主要的模块结构根据主要设计的系统功能的要求,系统的硬件结构框图如图3.1所示。复位电路晶振电路AT89C51单片机电机数码管显示电路电机驱动电路温度检测电路光强检测电路图3.1 系统硬件框图3.2 单片机最小系统的模块设计本设计所涉及到的最小系统的模块主要有电源、时钟电路和复位电路,以下是对几部分的参数设计。3.2.1 AT89C51单片机的简介AT89C51单片机是一种带4K字节闪烁可变成可擦除的只读存储器(FPEROMFlash Programmable and Erasable Read Only Memory)的低电压,高性能的CMOS8位微处理器。AT89C51单片机可以提供的标准功能,4k字节Flash闪速存储器,128字节内部RAM,32 个I/O 口线,两个16位定时/计数器,一个5向量两级中断结构,一个全双工串行通信口,片内振荡器及时钟电路。3.2.2 晶振电路在本电路中,晶振主要是石英晶体振荡器,主要原因是因为其拥有良好的频率稳定性和对于外界的抗干扰能力。总体来说,石英晶体振荡器的主要作用是用来产生基准频率的,然后通过基准频率来控制电路中频率是否准确。图3.2为单片机的晶振电路。电路是由一个石英晶体振荡器和两个电容所组成。两个电容C1和C2的数值一般在30PF左右,电容数值的大小一般会影响振荡器的稳定性和快速性,同时也会影响电路的频率。晶体震荡频率一般在1.2MHZ12MHZ之间。在一般情况下,晶体的频率越高,单片机的运行速度越快,为了保证AT89C51单片机可以正常的工作,一般把频率设定在12MHZ,所以在没有特殊的要求情况下,选择12MHZ的石英晶体。图3.2 单片机的晶振电路3.2.3 复位电路电路的复位是使电路的单片机初始化的操作。为了实现复位,需要做的就是给AT89C51单片机的复位引脚RST加上一个大于两个机器周期的高电平就可以实现这个效果。当复位时,单片机的初始化状态是0000H,即从0000H单元开始执行程序。当程序运行错误时,也可以按复位键,是单片机从新启动。图3.3为单片机的复位电路图3.3 单片机的复位电路3.3 温度检测模块本次课程设计温度检测所运用的是DS18B20温度传感器,连接电路如图4.3所示。DS12B20温度传感器的主要特点为以下几点:(1)、工作时,在与微处理器连接时仅需要一条线便可以实现单片机与DS18B20的双向连接。(2)、该温度检测模块所检测的温度范围是55125,自身的测量温度的分辨率为0.5。(3)、该温度检测模块支持网格模式,可以将多个DS18B20并联唯一的三线上,但是所连接的数量有一定的限制,若连接的数量过多的话,就会造成电源的电压,从未影响其正常工作。(4)、工作电压:35V/DC,工作电压需要稳定,这样才能使其正常工作,减少不必要的损失。(5)、DS18B20温度检测模块是一个比较全面的芯片,在使用时不用添加任何外围的芯片加以辅助。(6)、在测量完成后,测量的结果将会以某种形式输出,这种形式一般为数字量的形式串行输出。温度检测模块的电路图如图3.4所示图3.4 温度检测模块3.4 LED显示模块一般单片机电路的显示使用的是LED或LCD,而本设计我采用的是LED数码管。一般情况下,4位LED数码管分为静态显示和动态显示两种结构,静态显示一般使用比静态显示结构要更为频繁。在设计的时候,为了是设计更为简便,采用了动态显示的4为一体的LED数码管,用单片机的I/O端口与数码管直接连接,用另一个I/O端口与显示控制信号的数码管连接,当三极管导通相应的数码管,LED数码管连接的电路图如图所示。图3.5 数码管接线图3.5 光照检测模块本设计的光照采集模块在整个设计中起到了十分重要的作用,因此在设计的时候就需要重点来设计这个模块,在这个设计是由光敏电阻与一个普通的电阻串联而成,在光照强度改变时,光敏电阻的阻值就会发生改变,从而就改变了输入电压,就实现了光照强度的检测。光照检测电路如图3.6所示。图3.6 光照检测电路3.6 电机控制模块电机在此设计中为窗帘的开闭提供动力,是不可缺少的一部分,没有电机窗帘就无法运作,所以在电机控制模块选取的时候必须十分的谨慎。结合了各个方面的因素之后,选取了L298芯片作为主要控制电机的芯片,L298芯片来控制电机的工作,单片机的两个输出端口与L298两个输入控制端相连接。单片机接收到输入信号时就会自动判断此时的电压值,假如数值小于某一设定的数值时,输出端P2.1和P2.2此时为1和0,信号送到正反转控制芯片L298后控制端IN1和IN2控制电机正转,数秒后停止;如果大于某一数值,输出端变为0和1,经L298控制电机反转。由此方式便可以实现电机的正反转。电机的驱动电路如图3.7所示。图3.7 电机驱动电路路线图3.7 系统硬件的原理图在设计完各个模块以后,根据各个模块的功能和单片机的基本知识,将这些模块与单片机相连接在一起,这样便大致完成了系统的硬件原理图,如图3.8所示。图3.8 系统的硬件电路图4 系统的软件设计为了实现整个电路的功能,在设计的时候就需要软件和硬件结合在一起设计,这样才可以达到预期的效果。当硬件设计基本完成后,软件的设计也就基本定了下来。总体来说,软件设计一般可以根据其功能分为两种,一个主程序,它是整个软件设计的核心,是整个控制系统的核心,主要是用来调节操作者和执行模块之间的关系。另一个为子程序,它主要是用来完成各种实质性的功能,例如测量、计算、显示等。每一个子程序都相当于一个小的功能执行模块。这里将每个子程序一一列出,同时给予每一个模块充分的解释说明,将其的具体功能充分解释清楚。在为每个子程序规划好后,就可以来规划主程序了。首先必须为主程序选择一个合适的结构,然后根据功能的要求,合理的安排主程序与各个模块的调度关系。4.1 程序的结构分析在这个毕业设计中,设计的主程序主要调用了5个子程序,分别为温度信号处理程序、光照强度转换程序、L298控制程序、光照强度检测程序、LED数码管显示程序。温度信号处理的程序:分析温度芯片传过来的信息,进行判断和显示。光照强度转换程序:将光强信号转换为电压信号的程序。L298控制程序:通过控制L298来控制电机的正反转的程序。光照强度检测程序:用来采集光强信号的程序。LED数码管显示程序:向数码管显示送数,控制系统的显示部分。程序结构图如图4.1所示图4.1 程序结构图4.2 主程序的设计主程序的流程框图如图所示图4.2 主程序设计框图主程序的说明:整个电路由多个模块组成,这些模块分别为以单片机为主要控制的最小系统、温度检测模块、光照强度检测模块、显示模块、电机驱动模块。电源的部分可以由电池提供或者USB数据线提供,外加的电源为5V。根据本设计的设计要求,首先系统根据DS18B20检测并显示在LED数码管上的温度来判断温度,并与设定值比较,设定值为30,若温度大于30,则电机开始正转,直至窗帘闭合,与此同时,光敏电阻开始检测光照强度,若温度小于30且周围的光照强度有一定的数值上升时,电机开始正转,窗帘处于半闭合状态时,电机停止转动,若周围的光照强度进一步上升一定的数值后,电机继续开始正转,当窗帘全闭合后,电机停止转动。这时,当周围的光照强度下降且低于某一数值后,电机便开始反转 ,直至窗帘处于全闭合的状态。这样来说,窗帘便可以实现自动打开与关闭的效果了。4.3 汇编语言和C语言软件的编制一般使用的语言有两种,一种是汇编语言,另一种为C语言。其中汇编语言是一种利用文字助记符来实现表示机器指令的符号语言,它的优点很多,例如:汇编语言接近于机器码的语言,所占的空间比较小,占用的资源也比较少,软件代码的执行效率也比较高。但同样也有一些不便之处,对于不同的CPU,汇编语言或多或少都有一定的差距,所以汇编语言程序一般不可以互相移植。对于C语言来说,它主要是一种编译型的程序设计语言,它具有很多高级语言拥有的特点,同时也是具有汇编语言的功能。C语言程序有很多汇编语言不存在的优点,C语言有良好的库,并且具有很快的运行速度和编译速度,同时还具有良好的可移植的特性,而且C语言是用来实现软件编译的,具有良好的专业性,可大大缩短软件开发的周期,但是C语言并不是没有缺点的,C语言的缺点在于对于一般人来说,C语言的难度比较高,且占用的资源比较多,执行效率相对于汇编语言来说也是比较低。综合以上的分析,C语言虽然说是比较专业的软件编译语言,但是对于普通大学生来说,难度有点高,并且C语言占用的空间比较多,所以综合许多因素,汇编语言更适合于大学生软件的编译,所以我选择汇编语言作为此次软件编译的主要语言。4.4 各个子程序的设计4.4.1 光照强度的检测和转换子程序本次设计主要运用的是将一个光敏电阻与一个普通电阻串联在一起,形成一个分压电路,当光照强度发生变化的时候,光敏电阻的阻值就会发生一定的变化,电压就同样也会发生变化,进而改变了输入电压的大小。鉴于我们利用的是AT89C51单片机,它有自动AD的转换窗口,所以不需要另外在加AD转换器。在连接好电路以后,改变光照的强度,同时测分压电阻上的电压是否发生改变。这是还需要做的就是分别记录当光照强度最高和光照强度最低时的电压值,用于以后的分析。程序的流程图如下图所示。图4.3 光照强度检测和转换的流程图AD转换程序 d=adc(); /调用A/D转换函数 display(); /控制输出信号 int adc() start=1; for(i=0;i=200;i+); start=0; while(eoc=0); /等待转换结束 oe=1; /转换结束,设置读允许 d=P0; /读采集信号值 oe=0; /关闭读允许 return d; /返回电压值4.4.2 DS18B20温度检测程序DS18B20初始化的流程图如图4.4所示DS18B20就是用来检测温度的,单片机对DSl8B20的访问流程是:先对DS18B20初始化,再进行ROM操作命令,然后发送存储器操作指令,一个存储器操作命令结束后则将进行指令执行或数据的读写。由于DS18B20是运用一根数据线来实现两个方向的传输,然而单片机并不支持此功能,所以唯一解决的办法就是运用软件来实现这个功能。DSl8B20有严格的通信协议来保证各位数据传输的正确性和完整性。该协议定义了几种信号的时序:初始化时序、读时序、写时序。根据DS18B20的通讯协议,温度测量需经三个步骤:每一次读写之前都要对DS18B20进行复位,复位成功后发送一条ROM指令(指令代码CCH)并置标志位根据标志位来判断是否初始化成图4.2 DS18B20初始化流程图功,最后发送RAM指令(指令代码“H)DSl8B2开始转换再读出温度转换值(指令代码BEH),读取的温度值高位字节送27H单元低位字节送26H单元再按照温度值字节的表示格式及其符号位经过简单的变换即可得到实际温度值。4.4.3 4位LED数码管显示程序LED数码管显示在本设计中主要是起到显示温度的作用,硬件选择的类型是四段共阳级LED动态显示,LED显示子程序主要是完成对设定的LED段,并通过查七段码表,使它显示制定的图样。采用动态扫描的方法,其中P2 0-P2 3是位选控制端,POD控制段选,在数码管和POLL之间增加的缓冲的三极管,是为了提高P0口输出电流,保证数码管亮度。向P2.0P2.84位端轮流输出扫描信号使每一瞬间只有一个数码管被选通,然后向POLL进出相应的字形码,便可使得各位数码管轮流点亮显示各自的字形。LED显示流程图如图所示。图4.5 LED显示流程显示温度子程序:Disp_Temperature() /显示温度P2 =0xc6; /显示CP1 = 0xf7;Delay(300);P2 =LEDDatan; /显示个位P1 = 0xfb;Delay(300);P2 =LEDDatam%10; /显示十位DIAN = 0; /显示小数点P1 = 0xfd;Delay(300);P2 =LEDDatam/10; /显示百位P1 = 0xfe;Delay(300);P1 = 0xff; /关闭显示温度显示的流程图如图所示图4.6 温度显示流程图4.4.4 LN298电机驱动子程序在本设计中,L298有两个输入控制端,分别为IN1和IN2,它们由单片机的两个输出控制端控制着,当IN1低电平且IN2高电平时,电机反转,当IN1高电平并且IN2低电平时,电机正转。通过芯片将电机与L298正确连接,再利用电源线与接地线与L298两个输入控制端正确连接,然后对其进行测试,若L298出现于叙述一样的状况,则连接正确,否则是连接有错误。电机驱动流程图如图4.7所示。图4.7 电机驱动流程图电机驱动的具体工作流程如下:单片机首先进行判断的因素为温度,当温度T大于30时,L298的IN1则是高电平,IN2为低电平,电机正转一定的时间t1停止。当温度T小于30时,这时就改由电压控制,若此时电压大于V1 ,则IN1高电平,IN2低电平,电机正转t1后停止,若电压小于V1,则判断电压是否大于V2,若是则IN1高电平IN2低电平电机正转t2后停止,若不是则IN1低电平,IN2高电平电机反转直至结束。(备注解释:t1是窗帘从全开到全部闭合的工作时间,t2是窗帘从全开到半开的工作时间,V1是正午时光照强度下的电压,V2是光照强度稍微弱时的电压)。总结本次毕业设计的完成对我来说是一次十分不平凡的经历。就我而言,在没有接触这个毕业设计时,单片机对我来说就是一个陌生的东西,但本次毕业设计让我对单片机从陌生,到比较熟悉,学习的过程还是十分开心的,从刚开始的一点不懂,到中期时的迷茫,再到后期的游刃有余,整个过程中体会到学习的快乐。在学习新的知识的同时,还就以前的知识做了一次不错的复习和总结,是对整个大学学习生活的一个比较完整的总结,总体来说还是十分不错的。但在整个毕业设计的过程中,也遇到了很多的问题,这些问题主要原因是总体对于课本上的知识可以理解,但是无法与现实生活中的运用结合在一起,导致在课程设计中无法灵活的运用。通过这次毕业设计我明白了,只要从生活中体会理论,将理论与生活结合在一起,这样才能把学习的理论学活,从理论中得出结论,从而提高自己的动手能力和独立思考的能力。同时在课程设计中也发现了自己很多的不足,例如对以前所学习的知识的掌握并不是十分的牢固,理解也不够充分。经过几个月的时间顺利完成毕业设计,是一个磨练意志的过程,从课题的选择开始,硬件和软件系统的设计,这其中遇到了很多的困难,但重要的是对我也经历了巨大的锻炼。当然,这是一个需要不断的尝试,不断的校核,不断的修改,最后完成一个合理的设计的过程,需要的是细心和耐心,这在很大程度上培养了我拼搏的工作精神。使我受益匪浅,更加明确了自己专业的方向。通过本次毕设,我不仅学到了关于单片机技术方面的许多专业知识,同时也让我感觉到团队合作的重要性。其实如何有效和快速的找到资料也是毕设给我的启发,利用好图书馆和网络,是资源的到最好的利用。与他人交流思想是取得成功的关键,在交流中,不仅强化了自己原有的知识体系,也扩展了自己的思维。毕业设计是一个通过思考、发问、自己解惑并动手、提高的过程。我会在以后的学习中不断学习,积累经验,完善自己。致谢在本学期的整个毕业设计中,一直是在张焕梅老师的细心辅导下以及周围同学的不听帮助下进行撰写的,在这论文完成之际,我要特别感谢张老师以及每个同学对我的帮助。无论在撰写论文的什么阶段,张老师都给了我细心的教诲,让我从对单片机一点都不了解,到最后可以顺利完成毕业设计。在这里我表示最真挚的敬意,正是张老师耐心的辅导才让我这个单片机领域的门外汉能坚持到最后把毕业设计做完。在论文的写作过程中,也得到了许多同学的宝贵建议,在此一并致以诚挚的谢意。感谢所有关心、支持、帮助过我的良师益友。最后,向在百忙中抽出时间对本文进行评审并提出宝贵意见的各位专家表示衷心地感谢!参考文献1 李晓林主编.单片机原理与接口技术 第2版M.电子工业出版社 2013年2 徐沐龙主编.单片机原理及应用M.机械工业出版社 2013年3李全利单片机原理及接口技术高等教育出版社,2009.1:35.4陈海宴51单片机原理及应用M北京航空航天大学出版社,2010.5刘守义等单片机技术基础M西安电子科技大学出版社,2007.6俞锡存单片机原理与接口技术西安电子科技大学出版社,2001.7.7江晓安等数字电子技术西安电子科技大学,2002.58杨将新单片机程序设计及应用北京:电子工业出版社,2006.3.9彭为,黄科,雷道仲单片机典型系统设计实例精讲M北京:电子工业 出版社,2006.510江思敏 陈明Protel电路设计教程(第二版)M 北京:清华大学出版社,2007.211江晓安等模拟电子技术西安电子科技大学出版社,2007.112 Xiaofeng Guo and Jianwei QiuThe leading power corrections to the structure functionshepph/9810548(1998)13兰吉昌51单片机应用设计百例化学工业出版社,2009.214 Yurish S.Y., Kirianaki N.V. Design of High Performances Digital Tachometers and Tachometric Systems Based on the Method of the Depended Count, In Proceedings of the VII-th International Conference CADSM 2003, Lviv-Slavsko, UKRAINE, 18-22 February, 200315Kirianaki N.V., Deynega V.P., Yurish S.Y., Microprocessor Tachometers of New Generation for Turbogenerators of Thermal and Nuclear Electric Power Stations, Automatic, Measurements and Control, 1995, No. 292, pp. 52-60.附录附录一 系统硬件原理图附录二 程序主程序:#include#includeDS18B20.h#includedelay.h#define uint unsigned int#define uc
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 公司保密管理咨询报告模板
- 2025年大学人工智能教育专业题库- 人工智能教育专业的实践教学教学设计研究
- 2025年护士执业资格考试儿科护理学专项习题库及答案解析
- 2025年初中学业水平考试地理模拟试卷:乡土地理特色试题解析与应用
- 2025年大学体育教育专业题库- 体育教育专业毕业论文答辩
- 2025年危险化学品安全操作技能考核考试题库试题
- 2025年征信考试题库(征信风险评估与防范)征信业务合规与风险管理试题
- 2025年社会工作者职业水平考试中级实务模拟试卷:社会工作服务计划与实施试题
- 2025年消防执业资格考试题库:消防设施检测与维护案例分析及现场操作规范试题
- 工业废水治理工艺设计
- 2025年共青团考试题库(附答案)
- 《传播学概论(第四版)》全套教学课件
- 第1章 数的整除全章复习与测试(教师版)
- 病房管理知识汇总
- 师德师风考核表
- 噬血细胞综合征课件护理查房
- 头颈部鳞癌治疗现状及免疫治疗进展
- 微信小程序开发-微信小程序云开发
- 书写板卫生安全要求
- 中成药合理使用
- GB/T 30193-2013工程机械轮胎耐久性试验方法
评论
0/150
提交评论