基于单片机的照明控制系统设计与实现.docx

上传人:rrsccc 文档编号:9667490 上传时间:2021-03-15 格式:DOCX 页数:21 大小:325.61KB
返回 下载 相关 举报
基于单片机的照明控制系统设计与实现.docx_第1页
第1页 / 共21页
基于单片机的照明控制系统设计与实现.docx_第2页
第2页 / 共21页
基于单片机的照明控制系统设计与实现.docx_第3页
第3页 / 共21页
亲,该文档总共21页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

《基于单片机的照明控制系统设计与实现.docx》由会员分享,可在线阅读,更多相关《基于单片机的照明控制系统设计与实现.docx(21页珍藏版)》请在三一文库上搜索。

1、计算机应用课程设计第一章概述 31.1课题研究背景31.2课题研究的目的与意义 3第二章系统设计 42.1系统设计要点42.2系统设计思路 4第三章硬件电路设计与实现 53.1系统硬件总述53.2 CPU性能介绍 53.3 LED数码显示的设计 5第四章系统软件设计及实现 64.1系统仿真64.2 系统仿真软件的实现64.3 系统仿真电路的实现 6第五章系统可靠性分析 7总结 8参考文献 9致谢 10附录一11附录二 12附录三121计算机语言课程设计、八,、刖言随着国民经济的快速发展和社会进步,教育在全社会愈加被关注和重视,校园规模也随着受 教育者的数量增加而不断扩大,教室的数量也大幅度增加

2、。为使师生有舒适的教学和学习的环境, 无论是教室的面积、设施和照度,校方在力所能及的范围内,都付出了十分的努力。但由于学校 开放型的管理模式,以及全员的节能意识的淡薄,高校的教室在白天室内照度很高的情况下,仍 然普遍存在开灯作业;即使室内无人或人数很少的情况下,也是全部开启室内照明。夜间许多教 室,即使仅有几个学生在教室自习,但室内照明全部开启,绝不会有师生因为只有少数人而仅开 几盏灯。长明灯比比皆是,人走不熄灯的现象到处存在。这种有形和无形的浪费,给校方的水电 支出带来了沉重的负担。学校的水电支出约占全校经费支出的1 / 4 1/5,电费支出占据较重比例。其中主要能耗浪费较大的是:教室照明和

3、空调的使用。而教室照明的浪费源自予长明灯、白 天亮灯、不合理使用照明以及旧灯管的不及时更换。能源短缺是21世纪国际面临的新课题。在寻找新的能源之外,节约能源,提高效益也就成为 了我们研究的课题。所以学校如何来节省电力能源也成为了一个迫切需要解决的问题。从节约资 源、对社会贡献、节省高校经费支出和学生的健康等多方面考虑,高校教室照明的节电问题不得 不提到重要的议事日程上来。单片机的出现至今已经有 30多年的历史了。微型计算机的迅速发展,促进微型计算机测量和 控制技术的迅速发展和广泛应用,单片机(单片微型计算机)的应用已经渗透到广泛渗透到社会 经济、军事、交通、通信等相关行业,而且也深入到家电、娱

4、乐、艺术、社会文化等各个领域, 并掀起了一场数字化技术革命。单片微型计算机就是将中央处理单元、存储器、定时/计数器和多种接口都集成到一块集成电路芯片上的微型计算机。因此一块芯片就构成了一台计算机。它已成 为工业控制领域、智能仪器仪表、尖端武器、日常生活中最广泛使用的计算机。本篇论文介绍了就是基于单片机AT89C51的室内灯光控制系统的研究和开发。本系统是以单片机为控制器的核心,其中上位机和下位机都是以AT89C51为基础,再连接外围电路,通过现场总线RS485通信方式实现照明灯具的智能控制。系统通过人体信号采集电路对人体信号采集和光 信号采集电路对光信号采集以及相应的处理并输入给单片机,单片机

5、对输入信号判断并输出信号 来控制学校教室内灯光的开关和亮度。2计算机应用课程设计第一章概述1.1课题研究背景随着计算机网络、通信、控制等技术的发展,智能建筑的发展越来越迅猛。目前,国内大多数智能建筑存在效率低、能耗高的现象。就智能建筑的照明系统来说,许多地方的灯经常是从早到 晚开着的,不管这些房间或楼道是否有人,也不管有多少人。或者,当自然光照度很好时,灯不 能及时关闭;反之,当自然光照度难以满足人的需求时,又不能及时打开灯光。这种照明方式, 不仅造成能源的浪费,而且不能满足人对照明的基本需求,同时也给人的视力造成了很大的影响。 现代照明除了满足人的基本生活、学习要求之外,将更注重能量的节省和

6、使用上的便利,以及满 足人类工程学的个性方面的要求。特别是近年来大厦内利用计算机工作的人员比例上升,不同视 觉要求的工作的数量和复杂程度大大增加。所以要做到合理、经济、节能,首先应采用先进成熟 的技术和产品,如电光源、灯具、照明控制系统。因此,适应不同个人和工作需要,结合自动调 节与手动调节的智能化照明系统已经成为必不可少了。而在大学校园的建设热潮中,各大高校和他们的建设者也意识到了智能照明的重要性。相对 商业楼宇而言,大学校园里的大功率动力和制冷设备比重较少,照明灯具则相对比重更多,所以 控制教室照明是节能的关键。使用照明控制系统,更能体现其在节能与管理方面的优势,提高学 校的科学管理水平,

7、而且还能节省开支。1.2课题研究的目的与意义随着国民经济的快速发展,高等教育越来越被政府关注和重视,校园规模也随着高等教育规模的扩大而扩大,教室的数量也大幅度增加。为使师生有舒适的教学和学习的环境,在教室的面 积、设施和照度方面, 学校在力所能及的范围内予以最大的改善。但由于大学开放型的管理模式,以及部分大学生的节能意识的淡薄,高校的教室在白天室内照度很高的情况下,仍然普遍存在开灯作业;夜间许多教室,即使仅有几个学生在教室自习,但室内照明设施全部开启;另外,长 明灯比比皆是,人走不熄灯的现象到处存在。为了建设绿色节约型社会,本文设 计了一种智能照明控制系统,可以合理有效地利用照明灯光,从而大大

8、地减少高 校照明能源浪费的现象。目前,国内外研究开发的智能照明控制系统,按照网络的拓扑结构可以分为集中式或分布式。集中式智能照明控制系统主要为星形拓扑,即以中央控制节点为中心,把若干外围节点连接起来的辐射式互连结构。各照明控制器、控制面板等设备均连接到中央控制器(CPU上,由中央控制器向照明控制器等末端执行单元传送数据包;分布式智能照明控制系统以中央监控为中心,组 建控制主干网和多个控制子网,各照明控制器,控制面板等设备均具有中央处理器CPU单元,每个控制器和面板都可以直接连接在子网上。第二章系统设计2.1系统设计要点系统设计主要包括硬件和软件两大部分,依据控制系统的工作原理和技术性能,将硬件

9、和软 件分开设计。硬件设计部分包括电路原理图、合理选择元器件、绘制线路图,然后对硬件进行调试、测试, 以达到设计要求。硬件电路是采用结构化系统设计方法,该方法保证设计电路的标准化、模块化。 硬件电路的设计最重要的选择用于控制的单片机,并确定与之配套的外围芯片,使所设计的系统 既经济又高性能。硬件电路设计还包括输入输出接口设计,画出详细电路图,标出芯片的型号、 器件参数值,根据电路图在仿真机上进行调试,发现设计不当及时修改,最终达到设计目的。软件设计部分,首先在总体设计中完成系统总框图和各模块的功能设计,拟定详细的工作计 划;然后进行具体设计,包括各模块的流程图,选择合适的编程语言和工具,进行代

10、码设计等; 最后是对软件进行调试、测试,达到所需功能要求。软件设计的方法与开发环境的选取有着直接 的关系,本系统由于是采用51系列单片机。本系统软件设计采用模块化系统设计方法,先编写各个功能模块子程序,然后进行组合与调整,经过调试后,达到设计功能要求。2.2系统设计思路系统的结构主要由六部分组成:(1 )主控制器;(2)复位电路;(3)显示电路;(4)键盘电路;(5)照明部分;(6)晶振电路。如图 2.2所示,这六部分相互协作共同完成控制灯光,达到 控制照明的目的,当前时间利用LCD显示,通过键盘可以修改时间。并且在特定的时间里会点亮相应的灯,具体发挥部分如表2.2所示。图2.1 系统结构表2

11、.1发挥部分17:007:00点亮2盏灯:18:006:00点亮4盏灯19:005:00点亮6盏灯20:004:00点亮8盏灯第三章硬件电路设计与实现3.1系统硬件总述为使该模块化 LED显示屏控制照明系统具有更加方便和灵活性,我们对系统的硬件做了精心 设计。硬件电路包括LED灯电路、显示电路、开关控制电路等三大模块。整个照明系统有人为控制部分和自动控制部分,人为控制是靠一个开关来实现操作的,通过重复按压可以点亮更多的LED灯,而自动控制是靠单片机控制的,我们把程序写入单片机后单片机的系统时间通过显示器显示 出来,并且利用时间来控制灯的亮与灭,用单片机的P0 口做灯光输出,P1 口做显示输出,

12、P2 口做开关输入,即可完成硬件部分。在含有控制器的电路系统中,都必须要有相应的复位电路,这 样能够使系统在上电后,很好地复位系统并使系统处于稳定的运行状态。一般简单的复位电路可 以采用RC复位,这种电路的稳定性一般、可靠性较高。3.2 CPU性能介绍本系统采用了 ATMEL公司MCS-51系列单片机中的 AT89C51芯片,它是低压高性能 CMOS 8位 微处理器,带有 4k字节Flash闪速存储器,128字节内部 RAM 15个I /O 口线,两个16位定时 /计数器,一个 5向量两级中断结构,一个全双工串行通信口。3.3 LED数码显示的设计数码显示与驱动电路由74LS138译码器、74

13、47 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段数码管都被接成共阳极方式。21第四章系统软件设计及实现软件是计算机系统的灵魂,没有软件计算机不能充分发挥其功能,这是软件在计算机中的地 位,而在计算机控制系统中,软件也是非常重要的。在照明控制系统

14、中,硬件设备的功能是由软 件来定义的,如系统要控制分布的照明灯具,串行通信程序来完成控制功能,通过软件定义键盘 功能,通过编程完成 LED数码显示等等,由此可见,软件是控制系统中的一个重要组成部分。4.1系统仿真使用集成开发工具keil c51根据流程图编辑程序文件,并烧录进单片机。Keil开发环境集成了 C编译器、宏汇编、连接器、库管理,仿真器等工具,方便程序的调试开发,加开系统开发 速度。C语言已成为当前举世公认的高效简洁而又贴近硬件的编程语言之一,具有良好的可读性。用C语言编写的8051单片机的软件,可以大大缩短开发周期,且明显地增加软件的可读性,便 于改进和扩充,从而研制出规模更大、性

15、能更完善的系统。4.2 系统仿真软件的实现系统仿真的软件部分用keil工具写C语言程序,这部分也是系统最为核心的部分,因为单片机控制系统主要靠下载到其内部的.HEX文件来实现我们所设计的功能,因此软件开发部分也显得非常重要。我们利用keil工具开发系统软件完成后将开发软件转化为.HEX文件后就可以等待下载了。4.3 系统仿真电路的实现系统仿真电路部分的核心是89C51单片机,所有的电路部分都是通过单片机连成一个整体的,其中包括显示部分,输入键盘,控制灯,晶振电路以及复位电路。单片机系统里都有晶振,在单片机系统里晶振作用非常大,全程叫晶体振荡器,他结合单片 机内部电路产生单片机所需的时钟频率,单

16、片机晶振提供的时钟频率越高,那么单片机运行速度 就越快,单片接的一切指令的执行都是建立在单片机晶振提供的时钟频率。在通常工作条件下, 普通的晶振频率绝对精度可达百万分之五十。高级的精度更高。有些晶振还可以由外加电压在一 定范围内调整频率,称为压控振荡器( VCO。晶振用一种能把电能和机械能相互转化的晶体在共 振的状态下工作,以提供稳定,精确的单频振荡。单片机晶振的作用是为系统提供基本的时钟信 号。通常一个系统共用一个晶振,便于各部分保持同步。有些通讯系统的基频和射频使用不同的 晶振,而通过电子调整频率的方法保持同步。在含有控制器的电路系统中,都必须要有相应的复位电路,这样能够使系统在上电后,很

17、好地复位系统并使系统处于稳定的运行状态。一般简单的复位电路可以采用RC复位,这种电路的稳定性一般、可靠性较高。第五章系统可靠性分析在实验室里设计的控制系统,在安装、调试后完全符合设计要求,但把系统置入现场后,系统常常不能正常稳定地工作。产生这种情况的原因主要是现场环境复杂和各种各样的电磁干扰,所以单片机应用系统的可靠性设计、抗干扰技术变得越来越重要了。工业现场环境中干扰是以脉冲产的形式进人单片机系统的,其主要的渠道有三条,即空干扰多发生在高电压、大电流、高 频电磁场附近,并通过静电感应,电磁感应等方式侵入系统内部;供电系统干扰是由电源的噪声 干扰引起的;过程通道干扰是干扰通过前向通道和后向通道

18、进入系统的。干扰一般沿各种线路侵 入系统。系统接地装置不可靠,也是产生干扰的重要原因;各类传感器,输人/输出线路的绝缘损坏均有可能引入干抚。总结本设计是基于 AT89C51设计的照明控制器。 介绍了基于 AT89C51的室内灯光控制系统及其原理, 提出了有效的节能控制方法。该系统采用了当今比较成熟的传感技术和计算机控制技术,利用多 参数来实现对学校教室室内照明的控制。系统设计包括硬件设计和软件设计两部分。该照明控制系统的主控制器、分控制器分别是以AT89C51单片机为基础,实现了通信、控制与显示等功能。 文中详细地描述了控制电路的设计过程, 包括:键盘与 LED显示电路、RS485通信电路、照

19、明灯控制电路以及看门狗电路等。对于软件设计 主要有主控制器、分控制器的有线通信程序设计以及灯光控制、定时控制、键盘扫描与LED显示等程序设计。参考文献【1】张友德著,单片微型计算机原理、应用与实验复旦大学出版社【2】徐煜明、韩雁著,单片机原理及接口技术电子工业出版社【3】何立民著,单片微型计算机原理及应用航空航天大学出版社【4】阳宪惠著,现场总线技术及其应用清华大学出版社,1999【5】高鹏著,PROTEL入门与提高.人民邮电出版社【6】何立民著,单片机高级教程北京航空航天大学出版社【7】MCS-51/96系列单片机原理及应用.孙涵芳等著,北京航空航天大学出版社【8】童诗白.模拟电子技术基础.

20、高等教育出版社,1999【9】何立民单片机高级教程一一应用与设计北京航空航天大学出版社,2000【10】李嗣福计算机控制基础中国科技大学出版社,20012005.2.72006 . 7.19【11】孙雪梅,范久臣实时时钟芯片在单片机系统中的应用沈阳教育学院学报,【12】余用权.ATMEL8系列单片机应用技术.北京航空航天大学出版社,2002【13】黄丹辉,党向荣.微机测控系统中的接地系统设计。工矿自动化,2002. 4.20【14】攀宇,程全.基于RS485总线实现的远距离多机主从式通信技术工业控制机算机,致谢本课题在选题及研究过程中得到了张文丽老师的悉心指导,并为我指点迷津,帮助我开拓研 究

21、思路,精心点拨、热忱鼓励。张老师一丝不苟的作风,严谨求实的态度,踏踏实实的精神给我 留下了深刻的印象。她不仅授我以文,而且教我做人,虽历时不长,却让我终生受益。在此次毕 业设计过程中,她渊博的知识、开阔的视野和敏锐的思维给了我深深的启迪。同时,我也学到了 许多关于室内灯光控制系统以及单片机的知识,实验技能有了很大的提高。在此谨向张老师致以 诚挚的谢意和崇高的敬意!在实验过程中,首先通过主控制器上的键盘输入地址号,地址号是由数字组成的,在输入完 毕后,然后按下确认键,信号经过网络传输后,分控制器将收到的地址进行比较确认后,然后执 行下一步的程序。经过实验的验证,在输入广播地址后,所有的分控制器都

22、正确地执行了后续的 命令,实现了灯泡的启停、亮度调节、定时关闭功能;在输入某个分机地址后,该分机也正常地 执行了相应的命令,同样达到了所要求的功能。软件部分的编制也是力求简单实用,即本着实用、有效、方便的原则进行编制。但一个较好 的和较完善的应用软件不是在短时间内就可以完成的,它需要不断的完善和发展,需要我们做大 量的工作和时间的检验。现在的系统还没有达到真正的智能化,还需要增加很多新的功能和先进 的科学技术,才能达到真正意义上的智能化控制。附H *4员哙ftJS.V&- /!( 3-AMPC.k::-:3 LsreGJ亍E&43sHMb3UM g* 曹 3荃 Isff-* 好1R 一3PRK

23、 F-.N .P切 n- i 3-raJ!叫. P17al附录二附录三#in clude#defi ne uint un sig ned int#defi ne uchar un sig ned charuint aa,b=O, nu m,sec,mi n,hour,date,m on th,year;uchar LED=0x01,0x03,0x07,0x0f,0x1f,0x3f,0x7f,0xff,0x00;uchar stri ng1 5= 20;uchar stri ng2=0123456789;要显示的字符uchar stri ng34=;/*LCD1602 管脚定义 */sbit l

24、cdrs=P2A2;sbit lcdwr=P2A1;sbit Icde n=P2A3;/* 按键管脚定义sbit k1=P3A2;/开关1,每按一次可点亮一个LEDsbit k2=P2A4;选择需要调整的参数sbit k3=P2A5;/增加数值sbit k4=P2A6;/减小数值sbit k5=P2A7;/确定void in it();/ 初始化程序void write_com(uchar cmd);/写入指令void write_data(uchar dat);/写入数据void display。;/显示函数void delay(uint t);/延时 ms函数void ini t_time

25、();初始化时钟void con v();计时单元void set_time();时间设置void in ter_m on th();闰月计算void lighti ng();uint hour=0,min=0,date=31,m on th=10,year=14;/* 延时函数 */ void delay( uint t)uint i,j;for(i=t;i0;i-) for(j=110;j0;j-);/*LCD写入指令函数*/ void write_com(uchar cmd) lcdrs=0; lcdwr=0; lcde n=0;P0=cmd;delay(5);lcden=1; /*de

26、lay(5); /*给 lcden 高脉冲 */lcde n=0;delay(5); /*/ check(); /*LCD 写入数据函数*/void write_data(uchar dat) lcdrs=1; lcdwr=0;lcde n=0;P0=dat;delay(5);lcden=1; /*delay(5); /* 给 lcden 高脉冲 */lcden=0; /*/ check();/*显示函数*/ void display()uint i;write_com(0x80);第一行起始位置for(i=0;i5;i+)write_data(stri ng1i); delay(5);wri

27、te_data(string2year/10);第 6 位write_data(stri ng2year%10);显示年write_data(-);write_data(stri ng2m on th/10);write_data(stri ng2mo nth%10);显示月write_data(-);write_data(stri ng2date/10);write_data(stri ng2date%10);显示日delay(1);write_com(0xc0);第二行起始位置for(i=0;i4;i+)write_data(stri ng3i); delay(5);write_data(

28、stri ng2hour/10);write_data(stri ng2hour%10);/显示时write_data(:);write_data(stri ng2mi n/10);write_data(stri ng2mi n%10);显示分write_data(:);write_data(stri ng2sec/10);write_data(stri ng2sec%10);/显示秒delay(1);/*计时函数*/void ini t_timer()TMOD=0x01;TH0=(65535-50000)/256;TL0=(65535-50000)%256;IE=0x82;TR0=1;/*时

29、间、日期计时单元*/void conv()if(sec=60)mi n+;sec=O; if(mi n=60) min=O; hour+;if(hour=24)hour=0;date+; in ter_ mon th();if(mo nth=13)year+;mon th=1;if(year=1OO) year=O; /*各月份天数计算函数*/ void in ter_ mon th() switch(mo nth) case 1: case 3:case 5:case 7:case 8:case 1O:case 12: if(date=32)case 2:date=1; mon th+;if

30、(mon th=13) mon th=1; year+; break;if(year%4=O)if(date=3O)date=1; mon th+; 闰年二月29天else if(date=29)date=1; mon th+;/平年二月28天break;default: break;/*设置时间*/void set_time()if(k1=O)监测 k1delay(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

31、_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!=O) /只有当k2按下后,才监测 k3和k4 if(k3=0) / 增加de

32、lay(10);if(k3=0)switch( num)case 1: sec+; if(sec=60) sec=0;break;case 2: min+; if(mi n=60) min=0;break;case 3: hour+; if(hour=24) hour=0;break;case 4: date+; if(date=32) date=1;break;case 5: mon th+; if(mo nth=13) mon th=1;break;case 6: year+;if(year=100) year=0;break; if(k4=0) / 减小delay(10);if(k4=0

33、)switch( num)case 1: sec-; if(sec=-1) sec=59;break;case 2: min-; if(mi n=-1) min=59;break;case 3: hour-; if(hour=-1) hour=23;break;case 4: date-; if(date=0) date=31;break;case 5: mon th-; if(mon th=0) mon th=12;break;case 6: year-; if(year=-1) year=99;break;/*定时点亮灯的个数*/void light in g()if(min=0&hour

34、=7|hour=17)P1= LED1;else P仁 LED8;if(mi n=0&hour=6|hour=18) P1= LED3;else P仁 LED8;if(min=0&hour=5|hour=19)P1= LED5;else P仁 LED8;if(mi n=0&hour=4|hour=20)P1= LED7;else P1= LED8;/*LCD 初始化函数*/void ini t()lcde n=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;in it(); ini t_timer();EA=1;P仁 0x00; while(1)set_time(); light in g(); display。;void Key_Dow n() in terrupt 0 _P1= LEDb;b=(b+1)%9;EX0=0;/*定时器中断程序*/void timer0() in terrupt 1TH0=(65535-50000)/256;TL0=(65535-50000)%256;aa+;if(aa=20) aa=0; sec+; conv();

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 社会民生


经营许可证编号:宁ICP备18001539号-1