欢迎来到淘文阁 - 分享文档赚钱的网站! | 帮助中心 好文档才是您的得力助手!
淘文阁 - 分享文档赚钱的网站
全部分类
  • 研究报告>
  • 管理文献>
  • 标准材料>
  • 技术资料>
  • 教育专区>
  • 应用文书>
  • 生活休闲>
  • 考试试题>
  • pptx模板>
  • 工商注册>
  • 期刊短文>
  • 图片设计>
  • ImageVerifierCode 换一换

    基于单片机的照明控制系统设计与实现(共19页).doc

    • 资源ID:6491784       资源大小:128KB        全文页数:19页
    • 资源格式: DOC        下载积分:20金币
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录   QQ登录  
    二维码
    微信扫一扫登录
    下载资源需要20金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    基于单片机的照明控制系统设计与实现(共19页).doc

    精选优质文档-倾情为你奉上专心-专注-专业 前言随着国民经济的快速发展和社会进步,教育在全社会愈加被关注和重视,校园规模也随着受教育者的数量增加而不断扩大,教室的数量也大幅度增加。为使师生有舒适的教学和学习的环境,无论是教室的面积、设施和照度,校方在力所能及的范围内,都付出了十分的努力。但由于学校开放型的管理模式,以及全员的节能意识的淡薄,高校的教室在白天室内照度很高的情况下,仍然普遍存在开灯作业;即使室内无人或人数很少的情况下,也是全部开启室内照明。夜间许多教室,即使仅有几个学生在教室自习,但室内照明全部开启,绝不会有师生因为只有少数人而仅开几盏灯。长明灯比比皆是,人走不熄灯的现象到处存在。这种有形和无形的浪费,给校方的水电支出带来了沉重的负担。学校的水电支出约占全校经费支出的1415,电费支出占据较重比例。其中主要能耗浪费较大的是:教室照明和空调的使用。而教室照明的浪费源自予长明灯、白天亮灯、不合理使用照明以及旧灯管的不及时更换。能源短缺是21世纪国际面临的新课题。在寻找新的能源之外,节约能源,提高效益也就成为了我们研究的课题。所以学校如何来节省电力能源也成为了一个迫切需要解决的问题。从节约资源、对社会贡献、节省高校经费支出和学生的健康等多方面考虑,高校教室照明的节电问题不得不提到重要的议事日程上来。单片机的出现至今已经有30多年的历史了。微型计算机的迅速发展,促进微型计算机测量和控制技术的迅速发展和广泛应用,单片机(单片微型计算机)的应用已经渗透到广泛渗透到社会经济、军事、交通、通信等相关行业,而且也深入到家电、娱乐、艺术、社会文化等各个领域,并掀起了一场数字化技术革命。单片微型计算机就是将中央处理单元、存储器、定时/计数器和多种接口都集成到一块集成电路芯片上的微型计算机。因此一块芯片就构成了一台计算机。它已成为工业控制领域、智能仪器仪表、尖端武器、日常生活中最广泛使用的计算机。本篇论文介绍了就是基于单片机AT89C51的室内灯光控制系统的研究和开发。本系统是以单片机为控制器的核心,其中上位机和下位机都是以AT89C51为基础,再连接外围电路,通过现场总线RS485通信方式实现照明灯具的智能控制。系统通过人体信号采集电路对人体信号采集和光信号采集电路对光信号采集以及相应的处理并输入给单片机,单片机对输入信号判断并输出信号来控制学校教室内灯光的开关和亮度。第一章 概述1.1课题研究背景随着计算机网络、通信、控制等技术的发展,智能建筑的发展越来越迅猛。目前,国内大多数智能建筑存在效率低、能耗高的现象。就智能建筑的照明系统来说,许多地方的灯经常是从早到晚开着的,不管这些房间或楼道是否有人,也不管有多少人。或者,当自然光照度很好时,灯不能及时关闭;反之,当自然光照度难以满足人的需求时,又不能及时打开灯光。这种照明方式,不仅造成能源的浪费,而且不能满足人对照明的基本需求,同时也给人的视力造成了很大的影响。现代照明除了满足人的基本生活、学习要求之外,将更注重能量的节省和使用上的便利,以及满足人类工程学的个性方面的要求。特别是近年来大厦内利用计算机工作的人员比例上升,不同视觉要求的工作的数量和复杂程度大大增加。所以要做到合理、经济、节能,首先应采用先进成熟的技术和产品,如电光源、灯具、照明控制系统。因此,适应不同个人和工作需要,结合自动调节与手动调节的智能化照明系统已经成为必不可少了。而在大学校园的建设热潮中,各大高校和他们的建设者也意识到了智能照明的重要性。相对商业楼宇而言,大学校园里的大功率动力和制冷设备比重较少,照明灯具则相对比重更多,所以控制教室照明是节能的关键。使用照明控制系统,更能体现其在节能与管理方面的优势,提高学校的科学管理水平,而且还能节省开支。1.2课题研究的目的与意义随着国民经济的快速发展,高等教育越来越被政府关注和重视,校园规模也随着高等教育规模的扩大而扩大,教室的数量也大幅度增加。为使师生有舒适的教学和学习的环境,在教室的面积、设施和照度方面,学校在力所能及的范围内予以最大的改善。但由于大学开放型的管理模式,以及部分大学生的节能意识的淡薄,高校的教室在白天室内照度很高的情况下,仍然普遍存在开灯作业;夜间许多教室,即使仅有几个学生在教室自习,但室内照明设施全部开启;另外,长明灯比比皆是,人走不熄灯的现象到处存在。为了建设绿色节约型社会,本文设计了一种智能照明控制系统,可以合理有效地利用照明灯光,从而大大地减少高校照明能源浪费的现象。目前,国内外研究开发的智能照明控制系统,按照网络的拓扑结构可以分为集中式或分布式。集中式智能照明控制系统主要为星形拓扑,即以中央控制节点为中心,把若干外围节点连接起来的辐射式互连结构。各照明控制器、控制面板等设备均连接到中央控制器(CPU)上,由中央控制器向照明控制器等末端执行单元传送数据包;分布式智能照明控制系统以中央监控为中心,组建控制主干网和多个控制子网,各照明控制器,控制面板等设备均具有中央处理器CPU单元,每个控制器和面板都可以直接连接在子网上。第二章 系统设计2.1系统设计要点系统设计主要包括硬件和软件两大部分,依据控制系统的工作原理和技术性能,将硬件和软件分开设计。硬件设计部分包括电路原理图、合理选择元器件、绘制线路图,然后对硬件进行调试、测试,以达到设计要求。硬件电路是采用结构化系统设计方法,该方法保证设计电路的标准化、模块化。硬件电路的设计最重要的选择用于控制的单片机,并确定与之配套的外围芯片,使所设计的系统既经济又高性能。硬件电路设计还包括输入输出接口设计,画出详细电路图,标出芯片的型号、器件参数值,根据电路图在仿真机上进行调试,发现设计不当及时修改,最终达到设计目的。软件设计部分,首先在总体设计中完成系统总框图和各模块的功能设计,拟定详细的工作计划;然后进行具体设计,包括各模块的流程图,选择合适的编程语言和工具,进行代码设计等;最后是对软件进行调试、测试,达到所需功能要求。软件设计的方法与开发环境的选取有着直接的关系,本系统由于是采用51系列单片机。本系统软件设计采用模块化系统设计方法,先编写各个功能模块子程序,然后进行组合与调整,经过调试后,达到设计功能要求。2.2系统设计思路系统的结构主要由六部分组成:(1)主控制器;(2)复位电路;(3)显示电路;(4)键盘电路;(5)照明部分;(6)晶振电路。如图2.2所示,这六部分相互协作共同完成控制灯光,达到控制照明的目的,当前时间利用LCD显示,通过键盘可以修改时间。并且在特定的时间里会点亮相应的灯,具体发挥部分如表2.2所示。图2.1 系统结构表2.1 发挥部分17:007:00点亮2盏灯18:006:00点亮4盏灯19:005:00点亮6盏灯20:004:00点亮8盏灯 第三章 硬件电路设计与实现3.1 系统硬件总述为使该模块化LED显示屏控制照明系统具有更加方便和灵活性,我们对系统的硬件做了精心设计。硬件电路包括LED灯电路、显示电路、开关控制电路等三大模块。整个照明系统有人为控制部分和自动控制部分,人为控制是靠一个开关来实现操作的,通过重复按压可以点亮更多的LED灯,而自动控制是靠单片机控制的,我们把程序写入单片机后单片机的系统时间通过显示器显示出来,并且利用时间来控制灯的亮与灭,用单片机的P0口做灯光输出,P1口做显示输出,P2口做开关输入,即可完成硬件部分。在含有控制器的电路系统中,都必须要有相应的复位电路,这样能够使系统在上电后,很好地复位系统并使系统处于稳定的运行状态。一般简单的复位电路可以采用RC复位,这种电路的稳定性一般、可靠性较高。3.2 CPU性能介绍本系统采用了ATMEL公司MCS-51系列单片机中的AT89C51芯片,它是低压高性能CMOS 8位微处理器,带有4k字节Flash闪速存储器,128字节内部RAM,15个IO口线,两个16位定时计数器,个5向量两级中断结构,一个全双工串行通信口。3.3 LED数码显示的设计数码显示与驱动电路由74LS138译码器、7447 TTL BCD-7段高有效译码器/驱动器、4个数码管以及5个A1015三极管组成。由单片机的P0.0P0.3口输出的四位BCD码,经7447芯片后,翻译成7段数码管a、b、c、d、e、f、g相应的段,并输出点亮数码管相应的段。单片机的P0.4、P0.5口输出的信号经74LS138译码器后产生的高电平信号加在A1015三极管的基极,控制三极管的导通,从而起到对相应数码管的选通作用。4个7段数码管都被接成共阳极方式。第四章 系统软件设计及实现软件是计算机系统的灵魂,没有软件计算机不能充分发挥其功能,这是软件在计算机中的地位,而在计算机控制系统中,软件也是非常重要的。在照明控制系统中,硬件设备的功能是由软件来定义的,如系统要控制分布的照明灯具,串行通信程序来完成控制功能,通过软件定义键盘功能,通过编程完成LED数码显示等等,由此可见,软件是控制系统中的一个重要组成部分。4.1系统仿真使用集成开发工具keil c51根据流程图编辑程序文件,并烧录进单片机。Keil开发环境集成了C编译器、宏汇编、连接器、库管理,仿真器等工具,方便程序的调试开发,加开系统开发速度。C语言已成为当前举世公认的高效简洁而又贴近硬件的编程语言之,具有良好的可读性。用C语言编写的8051单片机的软件,可以大大缩短开发周期,且明显地增加软件的可读性,便于改进和扩充,从而研制出规模更大、性能更完善的系统。4.2 系统仿真软件的实现系统仿真的软件部分用keil工具写C语言程序,这部分也是系统最为核心的部分,因为单片机控制系统主要靠下载到其内部的.HEX文件来实现我们所设计的功能,因此软件开发部分也显得非常重要。我们利用keil工具开发系统软件完成后将开发软件转化为.HEX文件后就可以等待下载了。4.3 系统仿真电路的实现系统仿真电路部分的核心是89C51单片机,所有的电路部分都是通过单片机连成一个整体的,其中包括显示部分,输入键盘,控制灯,晶振电路以及复位电路。 单片机系统里都有晶振,在单片机系统里晶振作用非常大,全程叫晶体振荡器,他结合单片机内部电路产生单片机所需的时钟频率,单片机晶振提供的时钟频率越高,那么单片机运行速度就越快,单片接的一切指令的执行都是建立在单片机晶振提供的时钟频率。在通常工作条件下,普通的晶振频率绝对精度可达百万分之五十。高级的精度更高。有些晶振还可以由外加电压在一定范围内调整频率,称为压控振荡器(VCO)。晶振用一种能把电能和机械能相互转化的晶体在共振的状态下工作,以提供稳定,精确的单频振荡。单片机晶振的作用是为系统提供基本的时钟信号。通常一个系统共用一个晶振,便于各部分保持同步。有些通讯系统的基频和射频使用不同的晶振,而通过电子调整频率的方法保持同步。在含有控制器的电路系统中,都必须要有相应的复位电路,这样能够使系统在上电后,很好地复位系统并使系统处于稳定的运行状态。一般简单的复位电路可以采用RC复位,这种电路的稳定性一般、可靠性较高。第五章 系统可靠性分析在实验室里设计的控制系统,在安装、调试后完全符合设计要求,但把系统置入现场后,系统常常不能正常稳定地工作。产生这种情况的原因主要是现场环境复杂和各种各样的电磁干扰,所以单片机应用系统的可靠性设计、抗干扰技术变得越来越重要了。 工业现场环境中干扰是以脉冲产的形式进人单片机系统的,其主要的渠道有三条,即空干扰多发生在高电压、大电流、高频电磁场附近,并通过静电感应,电磁感应等方式侵入系统内部;供电系统干扰是由电源的噪声干扰引起的;过程通道干扰是干扰通过前向通道和后向通道进入系统的。干扰一般沿各种线路侵入系统。系统接地装置不可靠,也是产生干扰的重要原因;各类传感器,输人/输出线路的绝缘损坏均有可能引入干抚。总结本设计是基于AT89C51设计的照明控制器。介绍了基于AT89C51的室内灯光控制系统及其原理,提出了有效的节能控制方法。该系统采用了当今比较成熟的传感技术和计算机控制技术,利用多参数来实现对学校教室室内照明的控制。系统设计包括硬件设计和软件设计两部分。该照明控制系统的主控制器、分控制器分别是以AT89C51单片机为基础,实现了通信、控制与显示等功能。文中详细地描述了控制电路的设计过程,包括:键盘与LED显示电路、RS485通信电路、照明灯控制电路以及看门狗电路等。对于软件设计主要有主控制器、分控制器的有线通信程序设计以及灯光控制、定时控制、键盘扫描与LED显示等程序设计。参考文献【1】张友德著,单片微型计算机原理、应用与实验.复旦大学出版社【2】徐煜明、韩雁著,单片机原理及接口技术.电子工业出版社【3】何立民著,单片微型计算机原理及应用.航空航天大学出版社【4】阳宪惠著, 现场总线技术及其应用. 清华大学出版社,1999【5】高鹏著,PROTEL入门与提高.人民邮电出版社【6】何立民著,单片机高级教程.北京航空航天大学出版社【7】MCS-51/96系列单片机原理及应用.孙涵芳等著,北京航空航天大学出版社【8】童诗白模拟电子技术基础高等教育出版社,1999【9】何立民单片机高级教程应用与设计北京航空航天大学出版社,2000【10】李嗣福计算机控制基础中国科技大学出版社,2001【11】孙雪梅,范久臣实时时钟芯片在单片机系统中的应用沈阳教育学院学报,2005.2.7【12】余用权ATMEL89系列单片机应用技术北京航空航天大学出版社,2002【13】黄丹辉,党向荣微机测控系统中的接地系统设计。工矿自动化,20024.20【14】攀宇,程全基于RS485总线实现的远距离多机主从式通信技术.工业控制机算机,20067.19致 谢本课题在选题及研究过程中得到了张文丽老师的悉心指导,并为我指点迷津,帮助我开拓研究思路,精心点拨、热忱鼓励。张老师一丝不苟的作风,严谨求实的态度,踏踏实实的精神给我留下了深刻的印象。她不仅授我以文,而且教我做人,虽历时不长,却让我终生受益。在此次毕业设计过程中,她渊博的知识、开阔的视野和敏锐的思维给了我深深的启迪。同时,我也学到了许多关于室内灯光控制系统以及单片机的知识,实验技能有了很大的提高。在此谨向张老师致以诚挚的谢意和崇高的敬意!在实验过程中,首先通过主控制器上的键盘输入地址号,地址号是由数字组成的,在输入完毕后,然后按下确认键,信号经过网络传输后,分控制器将收到的地址进行比较确认后,然后执行下一步的程序。经过实验的验证,在输入广播地址后,所有的分控制器都正确地执行了后续的命令,实现了灯泡的启停、亮度调节、定时关闭功能;在输入某个分机地址后,该分机也正常地执行了相应的命令,同样达到了所要求的功能。软件部分的编制也是力求简单实用,即本着实用、有效、方便的原则进行编制。但一个较好的和较完善的应用软件不是在短时间内就可以完成的,它需要不断的完善和发展,需要我们做大量的工作和时间的检验。现在的系统还没有达到真正的智能化,还需要增加很多新的功能和先进的科学技术,才能达到真正意义上的智能化控制。附录一附录二附录三#include<reg51.h>#define uint unsigned int#define uchar unsigned charuint aa,b=0,num,sec,min,hour,date,month,year;uchar LED=0x01,0x03,0x07,0x0f,0x1f,0x3f,0x7f,0xff,0x00;uchar string15=" 20"uchar string2=""/要显示的字符uchar string34=" "/*LCD1602管脚定义*/sbit lcdrs=P22;sbit lcdwr=P21;sbit lcden=P23;/*按键管脚定义*/sbit k1=P32;/开关1,每按一次可点亮一个LEDsbit k2=P24;/选择需要调整的参数sbit k3=P25;/增加数值sbit k4=P26;/减小数值sbit k5=P27;/确定void init();/初始化程序void write_com(uchar cmd);/写入指令void write_data(uchar dat);/写入数据void display();/显示函数void delay(uint t);/延时ms函数void init_time();/初始化时钟void conv();/计时单元void set_time();/时间设置void inter_month();/闰月计算void lighting();uint hour=0,min=0,date=31,month=10,year=14;/*延时函数*/void delay(uint t)uint i,j;for(i=t;i>0;i-)for(j=110;j>0;j-);/*LCD写入指令函数*/void write_com(uchar cmd)lcdrs=0;lcdwr=0;lcden=0;P0=cmd;delay(5);lcden=1; /*/delay(5); /*给lcden高脉冲*/lcden=0;delay(5); /*/check();/*LCD写入数据函数*/void write_data(uchar dat)lcdrs=1;lcdwr=0;lcden=0;P0=dat;delay(5);lcden=1; /*/delay(5); /*给lcden高脉冲*/lcden=0; /*/check();/*显示函数*/void display()uint i;write_com(0x80);/第一行起始位置for(i=0;i<5;i+) write_data(string1i); delay(5);write_data(string2year/10);/第6位write_data(string2year%10);/显示年write_data('-');write_data(string2month/10);write_data(string2month%10);/显示月write_data('-');write_data(string2date/10);write_data(string2date%10);/显示日delay(1);write_com(0xc0);/第二行起始位置for(i=0;i<4;i+)write_data(string3i);delay(5);write_data(string2hour/10);write_data(string2hour%10);/显示时write_data(':');write_data(string2min/10);write_data(string2min%10);/显示分write_data(':');write_data(string2sec/10);write_data(string2sec%10);/显示秒delay(1);/*计时函数*/void init_timer()TMOD=0x01;TH0=(65535-50000)/256;TL0=(65535-50000)%256;IE=0x82;TR0=1;/*时间、日期计时单元*/void conv()if(sec=60)min+;sec=0;if(min=60)min=0;hour+;if(hour=24) hour=0; date+; inter_month(); if(month=13) year+;month=1;if(year=100) year=0; /*各月份天数计算函数*/void inter_month()switch(month)case 1:case 3:case 5:case 7:case 8:case 10:case 12: if(date=32)date=1;month+;if(month=13)month=1;year+;break;case 2:if(year%4=0) if(date=30) date=1;month+; /闰年二月29天else if(date=29)date=1;month+;/平年二月28天break;default: break;/*设置时间*/void set_time() if(k1=0)/监测k1 delay(1);/消抖if(k1=0) EA=1;EX0=1; if(k2=0) delay(1);if(k2=0) num+; /记录按下的次数 switch(num) /光标定位 case 1: write_com(0xc0+11); write_com(0x0d); break;/定位到秒位 case 2: write_com(0xc0+8);break;/定位到分位 case 3: write_com(0xc0+5);break;/定位到时位 case 4: write_com(0x80+12);break;/定位到日期 case 5: write_com(0x80+9);break;/定位到月份 case 6: write_com(0x80+6);break;/定位到年位 case 7: num=0;write_com(0x0c);break;/关闭光标显示 if(num!=0)/只有当k2按下后,才监测k3和k4 if(k3=0) /增加delay(10);if(k3=0)switch(num)case 1: sec+;if(sec=60)sec=0;break;case 2: min+;if(min=60)min=0;break;case 3: hour+;if(hour=24)hour=0;break;case 4: date+;if(date=32)date=1;break;case 5: month+;if(month=13)month=1;break;case 6: year+;if(year=100)year=0;break;if(k4=0) /减小delay(10);if(k4=0)switch(num)case 1: sec-;if(sec=-1)sec=59;break;case 2: min-;if(min=-1)min=59;break;case 3: hour-;if(hour=-1)hour=23;break;case 4: date-;if(date=0)date=31;break;case 5: month-;if(month=0)month=12;break;case 6: year-;if(year=-1)year=99;break; /*定时点亮灯的个数*/void lighting()if(min=0&&hour=7|hour=17)P1=LED1;else /P1=LED8;if(min=0&&hour=6|hour=18)P1=LED3;else /P1=LED8;if(min=0&&hour=5|hour=19)P1=LED5;else /P1=LED8;if(min=0&&hour=4|hour=20)P1=LED7;else P1=LED8;/*LCD初始化函数*/void init() lcden=0; write_com(0x38); delay(5); write_com(0x0c); delay(5); write_com(0x06); delay(5); write_com(0x01); delay(5);/*主函数*/main ()uint b=0;init();init_timer();EA=1;P1=0x00;while(1)set_time();lighting();display();void Key_Down() interrupt 0P1=LEDb;b=(b+1)%9;EX0=0;/*定时器中断程序*/void timer0() interrupt 1TH0=(65535-50000)/256;TL0=(65535-50000)%256;aa+;if(aa=20)aa=0;sec+;conv();

    注意事项

    本文(基于单片机的照明控制系统设计与实现(共19页).doc)为本站会员(飞****2)主动上传,淘文阁 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知淘文阁 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于淘文阁 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

    本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

    工信部备案号:黑ICP备15003705号 © 2020-2023 www.taowenge.com 淘文阁 

    收起
    展开