版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
基于蓝牙控制的灯光控制系统设计实验报告(完整资料)(可以直接使用,可编辑优秀版资料,欢迎下载)
基于蓝牙控制的的灯光控制系统基于蓝牙控制的灯光控制系统设计实验报告(完整资料)(可以直接使用,可编辑优秀版资料,欢迎下载)第一章功能描述1、本设计采用蓝牙作为上位机和下位机之间的通信方式,本设计使用手机APP作为上位机控制下位机(单片机)。2、采用DS1302时钟芯片,通过开发板上的数码管显示时分秒,即使断开电源,DS1302芯片中的时间也会正常走,不需要重复写入时间。3、手机连接蓝牙后,手机APP可以控制LED灯显示红绿蓝三种颜色,还可以向单片机发送LED灯亮的时间以及灯灭的时间.4、当灯亮的时候,可以通过按键调节占空比调节灯光亮度也就是PWM调光。在灯光开启之前以及灯灭之后PWM调光按键无效。第二章下位机软件设计思路以及原理本设计使用了STC12C5A60S2单片机、数码管、HC-05蓝牙模块、LED彩灯、DS1302时钟模块。2。1单片机程序设计单片机部分程序设计主要包括定时器0和定时器1以及串口部分程序设计2。1.1定时器以及PWM调光部分程序设计定时器主要用到了定时器0以及定时器1,在本设计中有一项功能是PWM调光功能,由于单片机没有PWM模块,所以在本设计中我们采用定时器0来模拟实现PWM的功能,其中定时器0的初始化程序如下所示。voidTimer0Init(){ﻩTMOD=0x02;//定时器0,工作模式2,8位定时模式ﻩTH0=210;//写入预置初值(取值1-255,数越大PWM频率越高) TL0=210;//写入预置值(取值1—255,数越大PWM频率越高)ﻩTR0=1;//启动定时器0 PWM_T=0;}voidtimer0()interrupt1{ﻩt++;//每次定时器溢出加1 if(t==250)//PWM周期100个单位 {t=0;//使t=0,开始新的PWM周期 P1=0x07&P1;//输出端口}ﻩif(PWM_T==t)//按照当前占空比切换输出为高电平 {P1=0xf8|P1;}}这一部分程序主要是让单片机每个45微秒进入一次定时器0中断,其中t每隔45微秒加一次,计数到250的时候重新置零,并让P1的高五位置零,也就是亮度达到最大。PWM_T是调节占空比的,初始值是0,是通过按键控制PWM_T数值的增加与减少的。当PWM_T的数值与t相等的时候将P1的高五位置为高电平.定时器1部分程序设计如下所示voidTimer1Init(void) ﻩ//timer1初始化程序{ TMOD&=0x0F;ﻩﻩ//设置定时器模式ﻩTMOD|=0x10;ﻩﻩ//设置定时器模式 TL1=0x00;ﻩﻩ//设置定时初值 TH1=0xEE;ﻩ //设置定时初值ﻩTF1=0; ﻩ//清除TF1标志 TR1=1; ﻩ//定时器1开始计时}voidtimer1()interrupt3{ TL1=0x00;ﻩ //设置定时初值ﻩTH1=0xEE; //设置定时初值 keyscan(); t1++;ﻩif(t1==100)ﻩ{ write_1302(0x8e,0x00); hour=read_1302(0x85); ﻩ minute=read_1302(0x83);ﻩﻩﻩﻩsecond=read_1302(0x81); ﻩﻩwrite_1302(0x8e,0x80);ﻩﻩ t1=0;ﻩ}//ﻩif(t1==20)t=0;}定时器1设置每5ms进入一次中断,进入中断之后先重装初值,然后进行按键扫描,本设计中只用到了独立按键,所以只需要扫描两个按键就行了。没进入一次t1就加1,当t1等于100的时候也就是500ms的时候读取一次DS1302的时,分,秒。因为DS1302的时,分,秒三个变量每隔一秒种才变化一次,所以每个500ms读取一次是比较节省资源的做法,而且可以保证数据读取无误。2。1。2串口部分程序设计voidsend_data(ucharbyte)//串口发送函数{ SBUF=byte; while(!TI); TI=0; }voidUartInit(void)ﻩ //串口初始化baud=9600;{ PCON&=0x7F; ﻩ//波特率不倍速 SCON=0x50;ﻩ //8位数据,可变波特率 AUXR&=0xFB;ﻩﻩ//独立波特率发生器时钟为Fosc/12,即12TﻩBRT=0xFD; //设定独立波特率发生器重装值 AUXR|=0x01;ﻩﻩ//串口1选择独立波特率发生器为波特率发生器ﻩAUXR|=0x10;ﻩﻩ//启动独立波特率发生器}由于本设计中两个定时器都用到了,所以我们无法使用定时器作为波特率发生器,本设计中使用的是STC12C5A60S2单片机,内部含有独立波特率发生器BRT,所以本设计使用独立波特率发生器。设置波特率9600。本设计中串口发送程序是单片机测视的时候使用的,是为了直观的看到上位机与下位机之间通信的内容。2。2通信协议部分程序设计由于上位机与下位机之间每次通信的内容有很多字节,所以手机和单片机之间使用蓝牙通信必须按照一定的协议,这样才能成功的将数据打包,数据打包完成之后,我们才能够正确的区分数据类型,区分出该数据是切换LED颜色的还是LED的定时开关时间。voiduart()interrupt4//串口中断{ if(RI)ﻩ{ﻩﻩRI=0; rec_data=SBUF;ﻩﻩif(k==1)ﻩ {shuzu[i]=rec_data;i++;if(i==6)i=0,k=0;ﻩ} ﻩif(rec_data==0xee)k=1; }}voidrsckongzhi()串口数据处理{ switch(shuzu[0]) {ﻩ case1:ﻩﻩﻩ if(shuzu[1]==1){P25=1;P24=0;P22=0;red=1;}ﻩ ﻩ elseif(shuzu[1]==2){P25=0;P24=1;P22=0;green=1;}ﻩ elseif(shuzu[1]==4){P25=0;P24=0;P22=1;blue=1;} case3: onshi=shuzu[2]; onshi=ZhuanHuan(onshi); ﻩﻩ onfen=shuzu[3]; onfen=ZhuanHuan(onfen); ﻩoffshi=shuzu[4];ﻩoffshi=ZhuanHuan(offshi);ﻩﻩﻩﻩofffen=shuzu[5];ﻩofffen=ZhuanHuan(offfen); }}串口中断里面的内容是把0Xee当作一包数据的识别码,当我们检测到0XEE的时候也就找到了一包数据的开头.不过我们将0XEE后面的六个字节的内容放进数组里面。我们使用rskongzhi函数对数组里面的内容进行处理,当检测到shuzu[0]是1的时候就说明他是灯管颜色切换信息,然后我们再对shuzu[1]进行判断,如果shuzu[1]是1,则是红灯亮;如果shuzu[1]是2,则是绿灯亮;shuzu[2]是4,则是蓝灯亮.如果shuzu[0]是3,就代表该信息是LED定时开关信息。此时我们分别将shuzu[2]到shuzu[5]分别赋值给onshi,onfen,offshi,offfen。然后while循环中不断地对比实时时间和定时开关时间,当时实时时间与定时开时间相等的时候就将PWM_T值赋为250,也就是占空比为百分之百,同时开定时器中断。当定时关时间与实时时间相等的时候将LED灯引脚电平拉高(LED灯是共阳的),关定时器中断。2。3DS1302时钟程序设计由于DS1302读写程序过多,所以我在这里就不显示读写程序了,只对其原理进行介绍其读取时序图如上所示对于数据写入:开始的8个SCLK周期,输入写命令字节,数据字节在后8个SCLK周期的上升沿输入。数据输入位0开始。对于数据读取:开始的8个SCLK周期,输入一个读命令字节,数据字节在后8个SCLK周期的下降沿输出。注意,第一个数据字节的第一个下降沿发生后,命令字的最后一位被写入命令字节的最后一位被写入。当CE仍为高时。如果还有额外的SCLK周期,DS1302将重新发送数据字节,这使DS1302具有连续突发读取能力。第三章APP软件制作3。1开发软件介绍易安卓,EasyForAndroid,简称E4A,是国内首款中文可视化安卓应用开发工具。E4A的核心编译器和支持库扩展自谷歌开源的Simple项目。编程者使用的是中文编程语言,可以在没有java编程语言的基础上快速实现一个简单的安卓手机APP的开发。本APP软件的设计,主要实现了手机连接HC—05蓝牙模块,通过三个按键分别控制三个不同颜色的灯的开关,通过窗口切换,定时控制灯的开启时间和关闭时间。在蓝牙连接成功后能够进入主窗口,在主窗口有三个控制灯光的按钮,小组成员的介绍标签,APP软件的标题。其中按钮定时设置,点击之后能够进入定时设置的界面,此界面可以输入灯光定时的开启时间和关闭时间,从而实现对灯光的定时控制.3。2软件整体设计软件的整体设计主要包括设计的思路,整体的框架,内容的布局等等。软件设计思路从实现的功能出发,主要包括了蓝牙搜索的显示界面,主窗口和时钟窗口.其中主窗口主要用来显示APP功能标题,小组成员介绍标签,三个颜色灯光的控制按钮,窗口切换提示标签,定时设置切换窗口按钮等等。登陆的显示界面主要用于显示搜索到的蓝牙设备,点击蓝牙设备便可以实现连接设备.界面有两个按钮,分别是搜素设备和停止搜索,点击搜索设备,即可显示当前发现的蓝牙设备名称,点击蓝牙便可以实现连接,如果蓝牙连接成功,便可以进入主窗口界面,点击定时设置按钮,能够进入定时窗口界面.定时窗口界面主要有标签定时设置,输入开关开的定时时间,开关关闭的定时时间,以及保存并发送的按钮,如果点击了这个按钮,便可以将输入的时间设置按照规定的协议发送给单片机,从而实现单片机的定时控制。软件的操作流程图如下图3-1所示.图3-1软件操作流程图3.3软件编程设计软件的编程采用的是中文的编程方法,通过模块化编程实现整个APP的功能调用.其中软件的模块主要分为主窗口,登陆设备窗口,定时窗口.3.3.1登陆窗口编程设计在登陆设备窗口,主要是蓝牙的搜索显示和连接.其代码如下:事件按钮_搜索设备.被单击()列表框1.清空项目()ﻩ蓝牙1.搜索设备()’搜索设备ﻩ弹出提示(”正在搜索”)结束事件事件按钮_停止搜索.被单击()蓝牙1。停止搜索()结束事件事件蓝牙1.发现设备(设备名称为文本型,设备地址为文本型,是否已配对为逻辑型)列表框1.添加项目(设备名称&"”&设备地址&”"&是否已配对)结束事件上述代码分别为蓝牙的搜索,停止搜索以及蓝牙的正确连接。APP的登陆界面如下图3-2所示。3-2登陆界面3.3。2主窗口代码编程如果APP成功连接了蓝牙设备,便可以自动进入主窗口界面。主窗口主要有三个灯光控制按钮,一个定时设置窗口切换按钮,小组成员显示标签和APP主题标签。其中按钮的操作是窗口的重点,其代码如下:事件按钮_开关1.被单击() '开关控制的命令为:efee01开关控制00000000 ’开关控制为8个二进制各为1为相对应的开关蓝牙结束事件事件按钮_开关2.被单击()蓝牙结束事件事件按钮_开关3。被单击()蓝牙结束事件通过定义三个按钮的发送协议,当单片机通过串口接收到数据后,通过对数据的读取,便可以实现三个灯光的控制.协议的定义见如下编程代码:事件主窗口。切换完毕()ﻩ’判断设置需重刷新窗口控件 如果读取设置("传保存参数")="1”则ﻩ 保存设置("传保存参数”,"0”) 结束如果ﻩ’判断是否为定时设置保存,如是就发送串口命令ﻩ如果读取设置(”传保存参数")="2"则 ﻩ'定时数据发送命令为EFEE03状态开时开分关时关分 蓝牙1.发送数据(十六进制到字节集(”feee03"&读取设置("定时使能”)&读取设置(”定时开时")&读取设置("定时开分")&读取设置(”定时关时")&读取设置(”定时关分")))'发送消息ﻩ 保存设置("传保存参数”,"0") 结束如果结束事件主窗口的界面设计如下图3-3所示。图3-3主窗口界面如果点击了定时设置的按钮,便可以进入开关定时设置按钮,窗口的切换代码如下所示.事件按钮_定时设置。被单击()ﻩ变量临时文本为文本型 临时文本=字节集到十六进制(串口数据组合)ﻩ’由于没有全局参数,所以在这增加保存设置 保存设置(”定时使能",取文本中间(临时文本,14,2))ﻩ保存设置("定时开时”,取文本中间(临时文本,16,2))ﻩ保存设置("定时开分”,取文本中间(临时文本,18,2))ﻩ保存设置(”定时关时”,取文本中间(临时文本,20,2))ﻩ保存设置("定时关分”,取文本中间(临时文本,22,2))如果读取窗口("窗口2")=空则ﻩ保存窗口(”窗口2",创建窗口2)ﻩ结束如果ﻩ切换窗口(读取窗口("窗口2"))结束事件如果点击定时按钮之后,便可以切换至开关定时设置窗口,窗口的设计如下图3—4所示:图3—4定时开关设置界面如上图所示,当需要输入开启时间和关闭时间的时候,便会调用系统的数字输入,从而能够输入开关的开启时间和关闭时间.实现开关的定时操作.3。4软件测试软件的调试通过软件的编译,如果编译成功,便会生成APK文件,从而能够在手机端安装.通过连接蓝牙,用串口助手接收手机端发送的数据格式是否正确,便可以测试手机APP是否能够正常工作.本系统采用的串口助手是STC官方网站提供的ISP软件,软件的操作界面如下图3-5所示.图3-5串口助手操作界面通过设置与蓝牙相同的波特率,便可以实现接收手机发送的数据,在发送的数据中,均采用16进制的数据发送.第四章系统软硬件测试4.1系统硬件连接图4-1灯光控制系统硬件连接图4。2灯光颜色控制当手机APP通过蓝牙与单片机连接成功后,我们可以通过APP上相应的调色功能按键实现LED灯在红绿蓝三种颜色之间的切换,三种灯光颜色的显示效果如图4—2的(a)、(b)、(c)所示。(a)(b)(c)图4-2(a,b,c)LED灯分别显示红色、绿色和蓝色4.3灯光定时控制选择手机APP上的定时功能,可以使LED灯在设定的时间内发亮,达到灯光的定时效果,演示效果如图4—3所示。我们设置的是10点17分开灯,10点18分光灯,其开灯之前,开灯之后,以及关灯之后如图4-3(a,b,c所示)abc图4—3(a,b,c)灯光的定时调节效果图4.4灯光亮度控制采用PWM调光技术,通过按键调节占空比,可以实现灯光亮度的调节.硬件设计中,当灯光开启后,我们可以通过设计的两个按键(亮度加强/减弱)控制灯光实际的显示亮度。具体的效果如图4-4所示。图4-4灯光亮度调节效果图智能仪器仪表综合实训题目基于单片机的温度控制系统设计学院专业电子信息工程班级(仪器仪表)学生姓名学号指导教师完成时间:目录HYPERLINK\l"_一、系统设计"一、系统设计--—-—-—---—-------——----——---—----—-----—---—--—--第1页系统总体设计方案—-———-—--——----------—---———--——--———-—第1页HYPERLINK温度信号采集电路选择和数据处理--———--—---------——————---第3页HYPERLINK\l”_(三)软件设计"软件设计-——————-—---—-———-——-—-——-—--———-—-—-——-——-——-—-———第3页HYPERLINK二、单元电路设计--—-———---—-—————------—--—-—-—-——--—第5页HYPERLINK\l”_(一)温度信号采集电路"温度信号采集电路—--------—-----——----—-—----—-——-------—--—第5页步进电机电路---—--------—————-—---—---——-——--—-—-——--第5页HYPERLINK\l"_(三)液晶显示模块”液晶显示模块——-——-—-——-—-—————-—-—-—---—-—--—---——-——-—----第6页HYPERLINK\l”_(四)晶振复位电路"晶振复位电路—------—--—--—-----—--———----—-----—-——---—-------第7页HYPERLINK\l"_三、总结体会"三、总结体会—---——-——---——-----—-—---———--—-—---—--——--—-—-———--—-—----—--—-——-—-----———第7页HYPERLINK附录:程序清单-——--—---—---——--—-———--—-———-—----———-第8页一、系统设计(一)系统总体设计方案设计框图如下所示:液晶显示及按键设置液晶显示及按键设置温度信号采集温度控制接口步进电机控制图1系统总体设计框图总电路图如下:图2系统总电路图简单功能说明:一个显示实时温度的小系统,可以自行设定高温报警和低温报警值,实现温度控制电机带动外围器件功能。本系统通过温度传感器DS18B20实现对温度数据的采集,数据处理后显示到液晶屏上,通过数据处理,温度值精确度为0.1。简单操作方法:系统上电后液晶显示实时温度,通过按键可以设定高低温限定值:A.按下K1,显示系统的高低温限定值;B.再按K1,进入设定状态,液晶屏光标闪动提示设定,此时设定高温限值还是低温限值可以在K1键转换;C。进入设定状态后,K2键用于值加1,K3键用于值减1;D.设定完后,按键K4确认后退出,返回显示实时温度!(二)温度信号采集电路选择和数据处理方案:采用温度传感器DS18B20美国DALLAS公司的产品可编程单总线数字式温度传感器DS18B20可实现室内温度信号的采集,有很多优点:如直接输出数字信号,故省去了后继的信号放大及模数转换部分,外围电路简单,成本低;单总线接口,只有一根信号线作为单总线与MCU连接,且每一只都有自己唯一的64位系列号存储在其内部的ROM存储器中,故在一根信号线上可以挂接多个DS18820,便于多点测量且易于扩展.DS18B20的测温范围较大,集成度较高,故选用此方案.DS18B20内部1,2位寄存器存放实时温度值,本系统对以上两寄存器数据处理后精度为0。1;DS18B20第3,4位寄存器分别存放高温限值和低温限值,并且DS18B20内部还有EEPROM,因此通过第3,4寄存器与EEPROM的数据交换就能实现对设定后的值进行贮存.(三)软件设计本实验中我选用Keil编程平台。主程序流程图:初始化液晶显示初始化液晶显示启动DS18B20并初始化读取温度数据数据转换显示温度显示温度上下限值KeyScan?kkk1k设置温度上下限值温度上下限值存入寄存器温度比较启动电机温度是否大于高温限值或小于低温限值YESNOYESkNO图3主程序流程图二、单元电路设计(一)温度信号采集电路图4温度信号采集电路(二)步进电机电路图5步进电机电路(三)液晶显示模块图6液晶显示模块(四)晶振复位电路图7晶振复位电路三、总结体会本次课程设计给我们提供了一个将自己所学的知识应用于实践的良机,通过了两个周的设计我学到了很多非常有价值的东西,懂得了如何将理论知识转化成实际程序的设计;掌握的单片机开发与设计的思路与方案确定;学会了更有效的查找自己所需的资料;同时也意识到了团队协作的重要性;掌握了硬件与程序设计的一般步骤和方法.这对我们以后的学习和工作的是非常有帮助的。设计是我们将来必需的技能,这次课程设计刚好给我们提供了一个应用自己所学知识的机会,从到图书馆和网上查找资料到对硬件与程序模块的设计对各模块的调试再到最后整体设计调试,都对我所学的知识进行了检验,增强了自信心.通过本次课程设计,我进一步温习和巩固了课本的理论知识,对单片机各接口与外部电路之间的连接关系有了更加深刻的理解.同时掌握了Proteus和keil软件的基本应用。同时,在课程设计过程中,将理论知识应用于实际应用,增强了理论联系实际的能力。虽然设计时有时一个问题需要我们花费很长的时间,很烦很累但当我们通过查找资料解决了之后心里很开心很有成就感.同时也使我明白了要将理论运用于实践还是一种非常重要的能力,要想牢固的掌握所学的知识我们必须将理论与实践结合起来,用理论来指导实践,用实践来验证理论,增强对理论的理解.不断地充实自己的理论,提高自己的动手能力。最终完成了整个设计之后,使我更加坚信只要我们努力和采用正确的方法,没有什么事是我们解决不了的。最后,我在这里衷心地感谢所有教给我知识和在课程设计中给予我帮助的老师们和同学们,是他们给我们的知识才使我们得以顺利完成此次课程设计。四、参考文献《单片微型计算机原理与应用》,张毅坤、陈善久、裘雪红西安电子科技大学出版社《51单片机应用从零开始》杨欣、王玉凤、李湘黔清华大学出版社《51单片机应用开发范例大全》宋戈、黄鹤松、员玉良人民邮电出版社郭天祥电子工业出版社附录:程序清单;-——--———-----————-—--———---——-—--—;简单功能说明:一个显示实时温度的小系统,可以自行设;定高温报警和低温报警值,实现温度控制电机带动外围器;件功能。;;———---——-—-———--—--——----——---—-----—-———-DQEQUP1。7;DS18B20控制口RSEQUP2.4RWEQUP2.5EEQUP2。6LCDEQUP0FLAGEQU30HGEWEIEQU29HSHIEQU28HXIAOSHUEQU27HTEMP_TLEQU20H;低温限值TEMP_THEQU21H;高温限值TEMPHEQU22H;温度高字节TEMPLEQU23H;温度低字节TEMPEQU24HK1EQUP3.0K2EQUP3。1K3EQUP3.2K4EQUP3.3;===============================================MAIN:MOVTEMP_TH,#25MOVTEMP_TL,#01ACALLINIT_LCD;初始化液晶ACALLWR_THL;写入高温限值和低温限值寄存器ACALLWR_PROMACALLRE_PROM;从EEPROM中返回高温限值和低温限值ACALLRESET;初始化1820JBFLAG,LOOPACALLERROR;报错LOOP:ACALLREAD_T;1820读取温度ACALLDISP_TEMP;液晶显示实时温度ACALLKEYSCAN;键盘设定高温限值和低温限值ACALLTEMP_COMPJMPLOOP;=============启动1820读取温度====================READ_T:SETBDQACALLRESETJBFLAG,READ_T1RETREAD_T1:MOVA,#0CCHACALLWR_1820MOVA,#44HACALLWR_1820ACALLRESETMOVA,#0CCHACALLWR_1820MOVA,#0BEHACALLWR_1820ACALLREAD_1820RET;=========把高温和低温限值写入寄存器=================WR_THL:JBFLAG,WR_HLRETWR_HL:ACALLRESETMOVA,#0CCHACALLWR_1820MOVA,#4EHACALLWR_1820MOVA,TEMP_THACALLWR_1820MOVA,TEMP_TLACALLWR_1820RET;==========把高温和低温限值写入EEPROM=================WR_PROM:ACALLRESETMOVA,#0CCHACALLWR_1820MOVA,#48HACALLWR_1820RET;========把EEPROM的值返回到高温和低温限值寄存器========RE_PROM:ACALLRESETMOVA,#0CCHACALLWR_1820MOVA,#0B8HACALLWR_1820RET;===========初始化1820==================================RESET:SETBDQNOPCLRDQMOVR5,#250DJNZR5,$SETBDQNOPMOVR5,#25HRESET1:JNBDQ,FLAG1DJNZR5,RESET1JMPNDQFLAG1:SETBFLAGMOVR5,#100DJNZR5,$SETBDQMOVR5,#100DJNZR5,$JMPRETUNDQ:CLRFLAGACALLERRORRETU:SETBDQRET;=============1820写字节========================WR_1820:MOVR6,#8CLRCWR1:CLRDQMOVR5,#7DJNZR5,$RRCAMOVDQ,CMOVR5,#25DJNZR5,$SETBDQNOPNOPDJNZR6,WR1SETBDQRET;==============读取1820数据======================READ_1820:MOVR2,#4MOVR1,#TEMPLRE1:MOVR6,#8RE2:SETBDQNOPCLRDQCLRCNOPNOPSETBDQMOVR5,#9DJNZR5,$MOVC,DQMOVR5,#24DJNZR5,$RRCADJNZR6,RE2MOV@R1,ADECR1DJNZR2,RE1RET;===========转换数据=============================TURN:MOVXIAOSHU,TEMPL;保存TEMPL值,后面用于取低4位转换小数部分MOVA,TEMPLMOVC,16;22H的位寻址RRCAMOVC,17RRCAMOVC,18RRCAMOVC,19RRCAMOVTEMP,AMOVA,XIAOSHUANLA,#00001111BMOVXIAOSHU,ARET;========键盘扫描=============================KEYSCAN:JBK1,RETUN;按下K1,进入键盘扫描ACALLDELAY20JNBK1,$ACALLCLR_LCD;清屏ACALLDISP_THL;显示高温限值和低温限值ACALLSET_HL;设定限值ACALLWR_THL;把高温限值和低温限值写入RAM//。.。/ACALLLEDACALLWR_PROM;限值复制到EEPROM中RETUN:RET;—-——-—-设定高低限值-—----——-—-———-—-—---—SET_HL://JNBK4,EXITJBK1,KEY4ACALLDELAY20JNBK1,$CPL20H。1;标志位,标志设定高温限值或低温限值JB20H.1,SET_HJMPSET_L;-----—————调高温限值----—--—--———-——--—-—--—-SET_H:ACALLTH_SHAN;光标闪,进入设定KEY2H:JNBK1,SET_L;高温限值与低温限值间设定转换JNBK4,EXITJBK2,KEY3H;按下K2,值加1ACALLDELAY20JNBK2,$INCTEMP_THMOVA,TEMP_THCJNEA,#99,A0MOVTEMP_TH,#00A0:ACALLDISP_THLKEY3H:JBK3,KEY2H;按下K3,值减1ACALLDELAY20JNBK3,$DECTEMP_THMOVA,TEMP_THCJNEA,#0,A1MOVTEMP_TH,#99A1:ACALLDISP_THLJMPSET_H;-—--——-----——调低温限值—--————-----——-—--——---—-SET_L:ACALLTL_SHANKEY2L:JNBK1,SET_H;高温限值与低温限值间设定转换JNBK4,EXITJBK2,KEY3L;按下K2,值加1ACALLDELAY20JNBK2,$INCTEMP_TLMOVA,TEMP_TLCJNEA,#99,A2MOVTEMP_TL,#00A2:ACALLDISP_THLKEY3L:JBK3,KEY2L;按下K3,值减1ACALLDELAY20JNBK3,$DECTEMP_TLMOVA,TEMP_TLCJNEA,#0,A3MOVTEMP_TL,#99A3:ACALLDISP_THLJMPSET_L;--—----——--—--—--—--——KEY4:JNBK4,EXIT;K4用于退出设定JMPSET_HL//JMPSET_HLEXIT:ACALLDELAY20JNBK4,$MOVLCD,#00001100B;设置液晶光标不显示、不闪烁ACALLWR_COMMACALLCLR_LCDACALLDISP_TEMPRET;==============温度比较======================================TEMP_COMP:MOVA,TEMP_THSUBBA,TEMPACALLDIANJIMOVA,TEMPSUBBA,TEMP_TLACALLDIANJIRET;============================================/*MORE:MOVDPTR,#MORE0MOVLCD,#0CEHACALLWR_COMMACALLDISP0RETMORE0:DB’〉H',0H*/;=============启动电机========================;电机接口是P1低4位,因为P1.7是温度传感器的控制口;避免冲突,电机接口按位控制DIANJI:JCDIAN0RETDIAN0:MOVR0,#4//ACALLMOREDIAN1:SETBP1。0CLRP1.1CLRP1。2CLRP1。3ACALLDELAYCLRP1。0SETBP1.1ACALLDELAYCLRP1.1SETBP1.2ACALLDELAYCLRP1.2SETBP1.3ACALLDELAY//RLADJNZR0,DIAN1CLRP1.0CLRP1。1CLRP1。2CLRP1.3RETDELAY:MOVR5,#5DLY1:MOVR6,#10DLY2:MOVR7,#50DJNZR7,$DJNZR6,DLY2DJNZR5,DLY1RET;============清屏=============================CLR_LCD:MOVLCD,#80HACALLWR_COMMMOVR0,#16CLR1:MOVLCD,#'’ACALLWR_DATADJNZR0,CLR1MOVLCD,#0C0HACALLWR_COMMMOVR0,#16CLR2:MOVLCD,#''ACALLWR_DATADJNZR0,CLR2RET;===============报错============================ERROR:MOVLCD,#80HACALLWR_COMMMOVDPTR,#ERORTABACALLDISP0RETERORTAB:DB'INITERROR!',0H;================温度标志===================DISP_C:MOVLCD,AACALLWR_COMMMOVLCD,#0DFHACALLWR_DATAMOVLCD,#’C'ACALLWR_DATARET;=================数码显示======================SHUMA:MOVDPTR,#SHUTABMOVCA,@A+DPTRMOVLCD,AACALLWR_DATARETSHUTAB:DB30H,31H,32H,33H,34HDB35H,36H,37H,38H,39H;===============显示实时温度======================DISP_TEMP:ACALLTURNMOVLCD,#80HACALLWR_COMMMOVDPTR,#CURRENTACALLDISP0MOVLCD,#0CAHACALLWR_COMMMOVLCD,#2EH;小数点ACALLWR_DATAMOVA,#0CCHACALLDISP_C;温度标志;-----———-———-------——---MOVA,XIAOSHUMOVDPTR,#XIAOMOVCA,@A+DPTRMOVXIAOSHU,AMOVA,TEMPMOVB,#10DIVABMOVSHI,AMOVGEWEI,BMOVA,XIAOSHUMOVLCD,#0CBHACALLWR_COMMACALLSHUMAMOVA,SHIMOVLCD,#0C8HACALLWR_COMMACALLSHUMAMOVA,GEWEIACALLSHUMA//MOVLCD,#0D0H;把光标移到别处//ACALLWR_COMMRETCURRENT:DB’TempretureNow:',0HXIAO:DB00H,00H,01H,01H,02H,03H,03H,04HDB05H,05H,06H,06H,07H,08H,08H,09H;================字符显示=============================DISP0:MOVR1,#0NEXT:MOVA,R1MOVCA,@A+DPTRJZRETTMOVLCD,AINCR1ACALLWR_DATAJMPNEXTRETT:RET;==========显示高温限值和低温限值======================DISP_THL:MOVDPTR,#SETTHLMOVLCD,#80HACALLWR_COMMACALLDISP0MOVDPTR,#THLMOVLCD,#0C1HACALLWR_COMMACALLDISP0;-—----——-—----——----——-—-—-F5_THL://ACALLRE_PROMMOVA,TEMP_THMOVB,#10DIVABMOVSHI,A//SHIMOVGEWEI,B//GEMOVA,SHIMOVLCD,#0C4HACALLWR_COMMACALLSHUMAMOVA,GEWEIACALLSHUMAMOVA,#0C6HACALLDISP_C;--—---—-----—-—-MOVA,TEMP_TLMOVB,#10DIVABMOVSHI,A//SHIMOVGEWEI,B//GEMOVA,SHIMOVLCD,#0CCHACALLWR_COMMACALLSHUMAMOVA,GEWEIACALLSHUMAMOVA,#0CEHACALLDISP_CRETSETTHL:DB'SetTH/TL:',0HTHL:DB'TH:TL:',0H;==========液晶初始化================================INIT_LCD:MOVLCD,#00000001BACALLWR_COMMMOVLCD,#00111000BACALLWR_COMMMOVLCD,#00001100BACALLWR_COMMMOVLCD,#00000110BACALLWR_COMMRET;============TH光标闪==============================TH_SHAN:MOVLCD,#00001111BACALLWR_COMMMOVLCD,#0C5HACALLWR_COMMRET;=============TL光标闪=============================TL_SHAN:MOVLCD,#00001111BACALLWR_COMMMOVLCD,#0CDHACALLWR_COMMRET;============液晶写命令============================WR_COMM:CLRRSCLRRWCLREACALLCHECK_BFSETBERET;==============液晶写数据==============================WR_DATA:SETBRSCLRRWCLREACALLCHECK_BFSETBERET;============液晶是否忙碌============================CHECK_BF:MOVLCD,#0FFHCLRRSSETBRWCLRENOPSETBEJBLCD.7,CHECK_BFRET;======================================================DELAY20:MOVR5,#50DLY:MOVR6,#100DJNZR6,$DJNZR5,DLYRETEND;==========================================四川理工学院毕业设计基于单片机的教室灯光控制系统的设计学生:学号:专业:生物医学工程班级:指导教师:四川理工学院自动化与电子信息学院二O一三年六月基于单片机的教室灯光控制系统的设计摘要:本文详细研究了大学教室的使用特点和照明需求及存在的问题,提出了一种基于单片机的教室灯光控制系统.该系统以AT89S51单片机作为控制模块的核心部件,采用热释红外人体传感器检测人体的存在,采用光敏三极管构成的电路检测环境光的强度;根据教室合理开灯的条件,通过对人体存在信号和环境光信号的识别与判断,完成对教室灯光的智能控制,避免了教室用电的大量浪费。系统还具有报警功能;同时还采用了软/硬件的“看门狗”等抗干扰措施。该系统可以满足各类院校对教室灯光控制的要求,很大程度的达到节能目的。关键词:单片机;智能控制;热释红外传感器;X5045DesignofLightingControlSystemBasedonMCUAbstract:Thispapercopiouslystudiedusingfeatures,lightingrequirementsandtheexistingproblemsoftheuniversityclassroom,atlastakindoflightingcontrolsystembasedonmcuofclassroomwasputforward。ThesystemusedAT89S51microcontrollerasacorecomponentofthecontrolmodule。Itintroducedpyroelectricinfraredsensortodetecttheexistenceofhumanbody,andusedcircuitwhichconstitutedofphotosensitivetriodetodetectthestrengthofenvironmentlighting.Thenavaraccordingtotheresonableconditionsofturningonclassroomlightandtheidentificationofsignalaboutenvironmentallightingandexistingofhumanbody,achievedtheintelligentcontrolofclassroomlighting。Atlast,itavoidthewasteofelectricity。Italsohadalarmingfunction,atthesametimeanti-interferencemeasuressuchasthesoftware/hardware”watchdog"wasadopt.Thesystemcanmeetinstitutionrequirementsforclassroomlightingcontrol,largelyachievedthepurposeofenergysaving.Keywords:Microcontroller;Intelligentcontrol;Pyroelectricinfraredsensor;X5045目录TOC\o”1—3”\h\z\u摘要ⅠABSTRACTⅡHYPERLINK\l”_Toc356944249"第1章引言11。1课题研究的目的与意义11。2采用智能照明控制系统的优势1_Toc356944253"1。4本章小节3第2章教室灯光控制器简介与方案分析4_Toc356944256”2。2教室灯光控制器简介4HYPERLINK\l”_Toc356944257”2.3系统控制方案分析4HYPERLINK\l”_Toc356944258”2。4本章小节5_Toc356944261"3.2系统控制的主要硬件电路7_Toc356944263"3。2.2系统供电电路83.2。3系统复位电路93.2。4数据采集电路10HYPERLINK\l”_Toc356944266"3。2。5系统时钟电路13HYPERLINK\l”_Toc356944267”3.2。6继电器驱动电路153。2.7超时报警电路153.2。8按键控制电路163。3本章小节17HYPERLINK\l”_Toc356944271”第4章控制模块软件设计18_Toc356944273”4。1.1系统自检初始化18_Toc356944276"人体存在传感器的优缺点204.2.3人体存在传感器的抗干扰措施214。3时钟模块22HYPERLINK\l”_Toc356944281"数据输入输出224。3.2时钟自检初始化23HYPERLINK\l”_Toc356944283"4。3.3时钟程序设计254。4系统工作总流程26HYPERLINK\l”_Toc356944284"4.5本章小节26第5章系统调试运行及问题分析28HYPERLINK\l”_Toc356944286"5。1单片机系统调试方法及步骤28_Toc356944289"第6章结束语31致谢32HYPERLINK\l”_Toc356944291”参考文献33的号召.而在众多的能源问题中,电能的短缺是束缚经济发展和人民生活的重要能源问题之一。据报道,用于照明的能源消耗占整个办公大楼能源消耗的20%~60%[1],这部分能耗的多少很大程度上取决于照明的控制效果。在现代建筑的楼宇自动化系统中,照明控制也是其中一个重要分支。现代建筑对照明的要求很高,除了应该满足为建筑内人们在工作、学习、生活时对视觉环境的要求以外,还应该利用照明设备的不同类型及光线的变换为人们提供一个舒适、有美感的办公、学习和生活环境,此外,还应该提高能源的利用率,实现节能的目的[2].而传统的照明系统由于其管理落后、能源浪费、舒适性差、布线复杂以及灯具寿命短[3]的缺点,己不能满足人们的这种需求,所以研究新型照明控制系统,对减少这部分能源消耗、减少环境污染,同时更好的满足人们对照明质量的要求,都有极其重要的意义。新型的照明控制系统主要指综合了照明、自动化控制、计算机技术、电力电子技术和网络技术等的智能照明控制系统.最根本的是通过充分利用自然光来减少人工照明带来的能源消耗[4][5]。1.2采用智能照明控制系统的优势传统的照明控制系统主要是由照明配电箱通过手动开关实现控制照明灯具通断的目的,或在照明回路中串入接触器,实现远距离控制[6],在灯具的开关控制上采用手动开关,所以很大程度上依赖于人的主动性.而智能照明控制系统根据某一区域的功能、每天不同的时间、室外光亮度或该区域的用途来自动控制照明。它能充分利用自然光,实现照明管理智能化。具体来说其优越性主要表现在以下几个方面:(1)提高照明控制的智能化程度,使整个照明系统出现全自动状态,可以根据不同场合在不同时段中不同的情景需求,预先设定合适的照明效果,更加智能化和人性化。(2)减低电能消耗,有良好的节电效果,充分利用自然光作为光源,以人工光为补充,并结合室内的人员情况,只有在必需时才开启照明灯具,节能效果十分显著,一般可以达到30%左右[7].(3)改善室内工作环境,提高室内人员的工作效率。(4)提高建筑物的照明系统管理水平,将传统的人为开关控制转换为智能化的管理,将大大减少大楼的运行、维护和管理的费用。总之,研究新型照明控制器及系统,对于节约照明用电,减少环境污染,满足人民群众日益增长的对照明质量、照明环境和减少环境污染的需要,建立优质高效、经济舒适、安全可靠、有益环境的照明系统有着极其重要的意义。1.3智能照明控制系统的研究现状目前国内几种常见的照明控制系统有以下几种:l、Dynalite智能照明控制系统该系统主要由调光模块、开关模块、控制面板、液晶显示触摸屏、智能传感器、编程插口、时钟管理器、手持式编程器和PC监控机等部件组成.采用DyNet网络连接,DyNet是一个分布式智能化网络,使用RS—485通讯协议[8].系统的工作原理是:控制模块由微处理器控制,所有控制部件均互连在DyNet网络上,网络上每一个装置内的存贮器均存有操作所需的全部指令。用户利用控制面板按键选择一个预置场景是一种最简单的控制方式。每个调光器可以预置96个场景。利用时钟控制器也是一种常见的照明控制方式。另一常用设备是通用传感器,其由动静控测远红外跟踪、光度检测光电管和用于遥控的接收器组成。2、C-Bus智能照明控制系统C—Bus系统是1994年由澳大利亚奇胜电气公司开发的,现已广泛用于很多国家和地区。C-Bus系统是一个二线制的总线型式的智能控制系统,主要用于对照明系统的控制。也可用于消防等系统中的联动控制,系统所有的单元器件(除电源外)均内置微处理器和存储单元,由一对信号线(双绞线)连接成网络。每个单元均设置唯一的单元地址并用软件设定其功能,通过输出单元控制各回路负载。输入单元通过群组地址和输出组件建立对应联系。当有输入时,输入单元将其转变为C-Bus信号在C-Bus系统总线上广播,所有的输出单元接收并做出判断,控制相应回路输出。控制方式包括场景控制、定时控制、红外线传感器控制、就地控制、集中开关控制和集中调光控制、群组组合控制、系统联动及广域控制。3、ABBi-busEIB智能安装系统EIB智能系统由总线、总线电源、智能传感器(光线传感器、模糊开关、时间控制器、移动传感器)、智能开关驱动器和其他智能元件(逻辑模块总线耦合器)构成[9]。它是典型的现场总线系统,每个元件就是一个节点,这些节点连接在一根2芯双绞线介质的总线上,不分主从隶属关系实现相互之间的通讯从而实现控制和被控制。1。4本章小节我国对教室灯光的智能控制尤为缺乏和不完善,依然是传统式的人工管理。各类大、中专院校不断扩招,教室也不断扩建,教室的用电负荷就不断加大,教室用电管理不善,造成学校电能浪费,这种的浪费与当今的节约能源理念相违背.再者,现代自动化程度不断提高,计算机技术的普及,灯光的管理也在朝着自动化、智能化方向发展。于是,开发简便、实用的教室灯光自动控制系统便具有重要的现实意义。第2章教室灯光控制器简介与方案分析2。1大学教室照明控制现状分析大学教室的用途,白天以上课为主,照明光源以自然光为主,人工照明为辅,用以补偿在阴天或有遮挡时教室里照度不足的区域;中午及晚上以学生自习为主,少数教室也用来上课,不管是上课或是自习,为了保护视力和提高学习效率,学生们均需要有良好的照明环境,但这些对照明环境的要求也造成一个直接后果,出现资源的浪费问题。所以,需要在保证教室照明要求的前提下,研究照明节能问题.要实现照明节能主要有两种方法:一种是选用高效照明光源或灯具,如节能灯。在保证照明质量的前提下,降低照明用电量的根本措施就在于提高照明设备的效率,即提高光源与灯具的效率;另一种是在现有照明灯具的基础上研究智能照明控制策略,即在充分研究照明对象的需求上,通过优化照明系统的运行来达到节能的效果[10]。在照明灯具方面,大学教室多采用荧光灯,采用直接照明的方式,比较满足现有的需求,所以本课题着重论述后面一种方法,改进照明控制策略和运行方式。2.2教室灯光控制器简介教室灯光控制器可实现有效的教室灯光智能控制.其输入参数主要是人体存在信号和环境光信号等的外界因素,环境光的强度达到一定值时不开灯,环境光强度在一定阀值以下且有人存在时开灯,理论和实验证明用这种方式来对教室灯进行智能控制可以实现上述目标。教室灯光控制器一般安装在教室内避开电灯直射的位置,且人体传感器安置时应使人体活动方向与人体传感器中两个热释电元连线方向垂直,这样可使人体存在信号采集更加灵敏、可靠,同时还要尽可能避免外界风直接吹向人体传感器。2.3系统控制方案分析该控制器以自然光强度和人体存在作为控制器的主要输入参数,能够实现自动与手动控制相兼容。首先,系统默认为自动控制,当按键模块感应到有键按下时,系统改为强制控制。然后,在自动控制模式下:当自然环境光较强光线足够时,无论人是否存在,都不开灯;在自然环境光较弱时,有人存在且超过一定时间,控制器自动打开电灯,直到人离开后再延时一定时间后关灯。同时,还可设置作息时间来控制,夜晚超过10点,若还有人存在,则关闭自动控制器的运行,改用开关来手动控制,以解决因特殊情况下,自动控制器的不人性化运行。该教室灯光控制器主要是由硬件和软件两大部分组成.硬件部分是前提,是整个系统执行的基础,它主要为软件提供程序运行的平台。而软件部分,是对硬件端口所体现的信号,加以采集、分析、处理,最终实现控制器所要实现的各项功能,达到设计目的。2。4本章小节整个系统的设计要求主要有手动和自动控制的选择,时间的控制及信息的采集。本章对信息的采集进行了简单的分析,信息来源主要有教室里自然光的强度和人的存在与否,并且采集信息的电路及其他各电路需要抗干扰能力强,防止误动作;安装、操作简单,维护方便;总体成本低这些特点。第3章系统控制模块的硬件设计考虑到本系统所安装的环境影响因素比较多,且教室控制设备中的人体存在传感器、光敏三极管等经常会因环境情形变化而不稳定,所以在设计过程中,电子元器件的选用、线路布置和设备的安放要充分考虑到抗干扰问题。3。1系统控制模块的硬件构成系统控制单元是以AT89S51单片机主控模块为核心,其它外围电路主要包括:环境光采集电路、时钟模块、人体存在传感器模块、看门狗模块、按键电路、EEPROM存储模块、超时报警模块、继电器驱动模块,其结构框图如图3-1所示.EEPROMEEPROM存储器模块AT89S51单片机最小系统环境光采集电路环境光采集电路看门狗模块人体存在传感器看门狗模块人体存在传感器按键电路时钟模块按键电路时钟模块图3-1被控灯具继电器驱动模块被控灯具继电器驱动模块超时报警模块超时报警模块图3-1系统控制单元结构图环境光模块采用光敏三极管来检测环境光的强度,有光照时,电阻减小,随着光照强度的减弱,电阻逐渐增大,把光信号转化成电信号,实现对光强度的检测。人体存在传感器模块采用HP-208是基于红外线技术的智能产品,实现对人体存在的检测。硬件时钟模块采用具有充电能力的低功耗,具有临时性存放数据的RAM寄存器的实时时钟芯片DS1302。该电路的接口简单、价格低廉、使用方便,被广泛的使用。系统数据存储及故障保护部分由X5045组成,X5045是一种串行通讯的512字节EEPROM,同时兼有看门狗和电源监控功能键盘模块。3.2系统控制的主要硬件电路3.2.1系统主控电路本课题是基于单片机的系统设计,所以针对单片机做了AT89S51与AT89C51的比较与选择如下:1.程序存储器写入方式:二者的写入程序的方式不同,AT89C51只支持并行写入,同时需要VPP烧写高压。AT89S51则支持ISP在线可编程写入技术、串行写入、速度更快、稳定性更好,烧写电压也仅仅需要4~5V即可。2。电源范围:AT89S51电源范围宽达4~5.5V,而AT89C51系列在低于4.8V和高于5.3V的时候则无法正常工作.3.工作频率:目前AT89S51的性能远高于AT89C51,AT89S51支持最高高达33MHz的工作频率,而AT89C51工作频率范围最高只支持到24MHz。4。市场价格:由于AT89C51已经全面停产,所以在市场价格方面,库存的AT89C51的批发价格要比AT89S51贵将近一倍。5.兼容型:89S5*向下兼容89C5*,就是说用AT89S51可以替代AT89C51使用,同样的程序,运行结果相同.6。加密功能:AT89S51为全新的加密算法,这使得对于AT89S51的解密变为不可能,程序的保密性大大加强,这样就可以有效的保护知识产权不被侵犯.7。抗干扰性:内部集成看门狗计时器,不再需要像AT89C51那样外接看门狗计时器单元电路。8.烧写寿命更长:AT89S51标称的1000次,实际最少是1000次~10000次,这样更有利初学者反复烧写,减低学习成本。综合上面的几点区别比较,了解到AT89S51是一种低功耗,8位CMOS工艺处理器,具有8K在线可编程Flash存储器的单片机。其优势在于片内的Flash可多次编程,为在线编程提供了方便;片内有128字节的RAM,4KB的EEPROM,由于合理的安排使用片内RAM空间,所以没有片外扩展的RAM,使电路结构变得简洁。因此,个人认为本课题基于单片机的教室灯光控制系统的设计更适合选用AT89S51单片机作为本系统模块的主控芯片,该芯片的主要特征见如表3—1所示:表3-1AT89S51主要特征AT89S51引脚外围器件引脚说明P1。0X5045SIX5045串行输入端P1.1X5045SCKX5045串行时钟端P1.2X5045CSX5045片选端P1。3X5045S0X5045串行输出端P1.4工作状态指示灯P1。5DS1302CLKDS1302时钟线P1。6DS1302I/ODS1302数据线P1.7DS1302RSTDS1302复位线P3.0—P3.1数据采集输入端P3。3人体存在传感器输出信号端P3.4超时报警信号输入端P3.7光敏三极管输入信号端(1)40(Vcc)20(GND)脚间的电压应有5V。(2)18、19脚分别与20脚间有1。7―2。5V电压。(3)9(RST)脚与GND间电压基本为0。(4)31(EA)脚与20(GND)脚间电压为5V。3.2。2系统供电电路系统采用+5V电压供电。本设计采用输出电压为9V的变压器.系统接通220V交流电源后,将220V交流电变压到9V,经过二极管全波整流、电解电容C1,C2滤波,再经正输出稳压器LM7805,为了缓冲负载突变,改善瞬态响应,输出端还采用了电容C3,C4,最后得到+5V的直流电压,用于给控制系统中单片机系统及其它外围电路的Vcc端供电.系统供电原理如图3—2所示。图3—2供电原理图3。2.3系统复位电路系统复位电路的作用是使系统得到充分复位,实现稳定可靠的工作。在单片机工作过程中,不可避免的会由于外界的干扰而产生程序跑飞、死机甚至造成整机瘫痪等情况.为了能够及时恢复单片机的工作,只能采用重新复位的方法,因此还应该在硬件设计中使用看门狗电路,这样在单片机发生死机的情况下,看门狗将产生一个复位信号给单片机,使单片机复位,重新执行程序。由于此次系统设计同时需要看门狗和EEPROM,所以本设计中使用芯片X5045。X5045具有三种常用的功能:看门狗定时器、复位控制和EEPROM[11].这三种功能是集成在单个8引脚封装的CMOS器件内,将电源监控和看门狗功能以及高速三线非易失性存储器组合在一起,从而在很大程度上降低了系统成本并减少了对电路板空间的要求,X5045的引脚排列如图3—3。图3—3X5045的引脚图看门狗定时器的预置时间是通过X5045的状态寄存器的相应位来设定的。如表3-2状态寄存器所示,X5045状态寄存器共有6位。其中WD1、WD0和看门狗电路有关,其余位和EEPROM的工作设置有关。表3—2状态寄存器7654321000WD1WD0BL1BL0WELWIPWD1=0,WD0=0,预置时间为1。4S,WD1=0,WD0=1,预置时间为0.6S,WD1=1,WD0=0,预置时间为0.2S,WD1=1,WD0=1,禁止看门狗工作。看门狗电路的定时时间长短可由具体应用程序的循环周期决定,通常比系统正常工作时最大循环周期的时间略长即可。X5045硬件部分连接如图3—4。图3-4系统看门狗电路系统看门狗电路由系统数据存储及故障保护部分组成,X5045是一种串行通信512字节的EEPROM,同时兼有看门狗和电源监控功能,X5045有三种可编程看门狗周期,上电和Vcc低于检测门限时,输出复位信号,X5045输出复位高电平有效,为了复位更加可靠,其复位输出端外接一个10K的上拉电阻,并与AT89S51的复位端相连。看门狗能在电源上电、掉电期间产生一个复位信号。该芯片还带有一个1.4s的看门狗定时器可用来监控单片机的工作.如果在1.4s内未检测到其工作,出现故障,内部定时器将使看门狗WD1处于低电平状态,为系统提供保护,避免死机、程序跑飞或进入死循环等意外的发生。3。2。4数据采集电路针对本课题数据的采集,首先分析此次研究设计的背景是在校园教学楼的教室里,主要采集的参数有教室的环境光强度和人体存在与否。常见的环境光强度采集器件主要有光敏二极管和光敏三极管,考虑抗干扰的需要,选用灵敏度较高的光敏三极管。此外,人体存在传感器要求灵敏度高,可靠性强。本系统采用逻辑电平输出的HP—208型号的人体传感器。一、环境光采集电路光电传感器是一种能够将光转换成电量的传感器.采用的光敏三极管除了具有光敏二极管能将光信号转变成电信号的功能外,还有对电信号放大的功能。再无光照时三极管的穿透电流很小,为暗电流。有光照时,穿透电流增大,成为光电流。光电流的大小与光照强度成正比,于是在负载电阻上就能得到随光照强度变化而变化的电信号.因此光敏三极管灵敏度高,而且体积小、工作电压低、工作电流小、发光均匀稳定、响应速度快、寿命长等优点。环境光采集电路原理图如图3—5所示.当教室内自然光光照强度高于一定程度时(即设定参数),则光敏三极管D6呈现低阻状态即小于1KΩ,三极管Q8的基极电压将增大,使三极管Q8饱和导通,就会使三极管Q8集电极输出低电平,不参与工作。当办公场所室内自然光光照强度小于一定程度时(即设定参数),则光敏三极管D6呈现高阻状态大于100KΩ,使三极管Q8截止,Q8的集电极输出高电平,参与电路工作。其中可变电阻R9是作为调节室内环境光光照强弱灵敏度参数的器件,其阻值的大小,将会是三极管Q8在不同的室内环境光照强度参数下导通,而R10、C9组成的电路是防止外界干扰而设计的,具有防干扰的作用。图3-5环境光采集电路图二、人体存在传感器的工作原理自然界中存在的各种物体,如人体、木材、石头、火焰、冰等都会发出不同波长的红外线,利用红外线传感器可对其进行检测.根据工作原理,红外传感器分为热型和量子型两类,热型红外传感器也称热释电红外传感器或被动红外传感器。与量子型相比,热型的红外线波长范围较宽,价格便宜,并在常温下工作。量子型与热型的相反,而且要求冷却条件。本系统采用的是热释电红外传感器,人体存在传感器主要采用了红外传感器的原理,它是目前在防盗报警、火灾检测、自动门、自动水龙头、自动电梯、自动照明等场合,及非接触温度测量等领域应用最广泛的传感器。其原因为:被测对象自身发射红外线,可不必另设光源;大气对2-2。61Lm、3—51Lm、8-141Lm三个被称为“大气窗口"的特定光通量的红外线吸收较少,非常容易被检测;中、远红外线不受可见光影响,可不分昼夜进行检测。人体存在传感器的热释电红外探头的工作原理及特性如下:人体都有恒定的体温,一般在37℃,所以会发出特定波长10μM左右的红外线,被动式红外探头就靠探测人体发射的10μM左右的红外线而进行工作的。人体发射的10μM左右的红外线通过菲尼尔滤波片增强后聚集到红外感应源上.红外感应源采用热释电元件,这种元件在接收到人体红外辐射温度发生变化时就会失去电荷平衡,向外释放电荷,后续电路经检测处理后就能产生有人体存在的信号[12]。1)这种探头是以探测人体辐射为目标的,所以热释电元件对波长为10μM左右的红外辐射非常敏感。2)为了仅仅对人体的红外辐射敏感,在它的辐射照面覆盖有特殊的菲尼尔滤光片,使环境的干扰受到明显的抑制作用.3)人体存在的探测,其传感器包含两个互相串联的热释电元,而且制成的两个电极化方向正好相反,环境背景辐射对两个热释元件几乎具有相同的作用,使其产生释电效应相互抵消,于是探测器无信号输出。4)一旦有人进入探测区域内,人体红外辐射通过部分镜面聚焦,并被人体存在传感器的热释电元接收,但是两片热释电元接收到的热量不同,不能抵消,经信号处理而输出有人体存在的信号.5)菲尼尔滤光片根据性能要求不同,具有不同的焦距(感应距离),从而产生不同的监控现场,视场越多,控制越严密.有人进入时,移动人体发出的红外线被红外传感器接收,则人体存在被感应,并输出高电平。若人体进入最不敏感移动方向时,人体传感器所体现的信号就不会理想,有时还会产生误动作,所以要特别注意人体传感器的安装方向。三、人体存在信号采集电路人体传感器HP—208基于红外线的智能产品,它的主要特性如下:(1)感应为全自动方式,人进入感应范围时输出高电平(高3。3V),人离开感应范围则自动延时关闭高电平,输出低电平(低0.3V),其高低电平利于采集;(2)采用可重复触发方式。
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年工业安全防护技术考核试题
- 2025 六年级生物学上册呼吸运动的过程课件
- 高空作业安全交底
- 浙江省湖州市长兴县2025-2026学年九年级上学期期中考试语文试题(含答案)
- 《GB-T 31021.2-2014电子文件系统测试规范 第2部分:归档管理系统功能符合性测试细则》专题研究报告
- 2026年冀中职业学院单招职业倾向性测试题库及答案详解(网校专用)
- 2026年内蒙古机电职业技术学院单招职业适应性测试题库附参考答案详解(预热题)
- 2026年华北理工大学轻工学院单招职业倾向性测试题库带答案详解(培优b卷)
- 2026年南充科技职业学院单招职业适应性测试题库有答案详解
- 2026年内蒙古北方职业技术学院单招职业适应性测试题库及答案详解(历年真题)
- Intouch培训课件资料
- 2025年全球骨科创新年度白皮书-
- 照明器材安全使用培训
- 2026年皖西卫生职业学院单招职业适应性测试题库附答案解析
- 注意缺陷多动障碍(ADHD)远程认知行为干预方案
- Unit 1 A new start 核心素质评价(含答案)2025-2026学年外研版(2024)七年级英语上册
- 2025年自然博物馆招聘面试模拟试题集
- 《汽车空气动力学》课件(共八章)
- 新教科版(2021年春)小学四年级下册科学全册教案设计
- 《常见机械机构原理与应用》课件
- 2025年哈尔滨职业技术学院高职单招(数学)历年真题考点含答案解析
评论
0/150
提交评论