基于单片机的智能风扇控制系统设计(完整资料)_第1页
基于单片机的智能风扇控制系统设计(完整资料)_第2页
基于单片机的智能风扇控制系统设计(完整资料)_第3页
基于单片机的智能风扇控制系统设计(完整资料)_第4页
基于单片机的智能风扇控制系统设计(完整资料)_第5页
已阅读5页,还剩75页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

基于单片机的智能风扇控制系统设计(完整资料)(可以直接使用,可编辑优秀版资料,欢迎下载)

基于单片机的智能风扇控制系统设计基于单片机的智能风扇控制系统设计(完整资料)(可以直接使用,可编辑优秀版资料,欢迎下载)摘要:介绍了一种基于单片机的智能风扇控制系统的设计,目的在于解决电扇在实际生活中不合理的使用的现状和在已有电扇上的一些小创新,在设计过程中通过硬件电路的实际焊接,基本实现了想要实现的功能,通过对该系统的设计,证明该系统的实际可行性,有助于在以后可以开发出此类产品,提高人们生活质量,节约能源。关键词:单片机;DS18B20;直流电机;风扇;人体红外;LCD1602基金项目:湖北师范学院教学研究项目资金。引言:在我国大学校园里,教室里面安装电扇很普及,电扇相比较空调而言,节约成本,便于安装,但是通过在大学里的观察和研究发现,电扇的使用存在很多不合理的现象,经常会出现人走了电扇还开着,或者电扇档位无法根据气温自动调节的现象,电扇在我国的使用范围十分广泛,除了大学校园,很多地方都用到了电扇。单片机便宜,功耗低,便于控制,基于此在现有电扇的基础上开发了智能风扇系统,并制作出了硬件,实现了预期的效果,证实了该系统的实际可行性,如果可以得到大量使用,对于目前电扇存在的不合理问题是一个很好的解决方法。一、系统整体设计基于单片机的智能风扇控制系统包含温度感应和显示、外部按键设置功能、人体红外感应模块、直流电机PWM调速、蜂鸣器报警、LCD风速等级显示模块,首先在显示功能上使用了数码管和LCD1602分别显示出当前温度和风速等级,显示功能的目的在于增加产品的直观性和合理操作性,便于人们在使用时有可以调节的依据.外部按键实现了设置温度上下限、复位、加减温度的功能,使电扇在没有人为操作的情况下可以按照温度上下限和外部实际温度做出合理的响应,蜂鸣器的作用是为了提醒使用者当前温度高于温度上限或者低于温度下限,直流电机PWM调速实现了风速级别的调节,通过温度传感器得到的温度,对电机的速度分级调节,以最合理的方式调节电扇的使用,从而达到智能、合理、高效的目的。这些功能使用到的存储、中断、显示、调速都可以用单片机实现,因此选用51单片机作为控制芯片。二、硬件电路设计1、最小系统在设计硬件的时候使用11.0592MHZ的晶振作复位电路,这样便于在做后面的定时器功能时可以精确定时,12MHZ的晶振在长时间工作下由于初始值不是精确值容易累积误差,产生错误的结果。单片机最小系统的搭建是做硬件的第一步,时钟电路、复位电路和电源,复位电路在设计时需要满足t=RC>2us,保证复位的时间在两个机器周期以上,复位的实质是在于给STC89C52的9脚输入一个高电平。2、温度采集、显示和设置系统使用DS18B20采集外部温度,然后将采集到的温度利用数码管显示出来,使用FM24C02存储设置的温度上下限值和外部按键改变后的值,保证温度的上下限值在掉电的情况下依然可以存储,在温度显示模块上使用四个独立按键,分别实现:设置、复位、加、减四个功能,使电扇不仅可以根据温度自动调节风速,也可以实现手动调节,增加电扇调节的灵活性,在温度采集和显示模块上利用蜂鸣器的声音在低于温度下限和高于温度上限时发出报警声音,同时在温度低于下限和高于上限时红灯会点亮,正常情况下绿灯常亮,以此提醒使用者根据实际情况改变当前的使用。3、人体红外模块采用人体红外传感器智能控制电扇的开闭,人体红外传感器会在有人的时候输出一个高电平,在写1操作后用单片机读取,并根据外围电路的实际情况,用单片机的I/O口输出高低电平控制电机,从而达到利用红外开闭电扇达到节能的目的,红外传感器灵敏度受外界环境和安装条件限制较大,在安装时应尽量避免盲区,人体红外感应范围:4、PWM调速和LCD显示系统使用直流电机提供动力,在硬件模型制作时选用L298N作为直流电机的驱动,PWM(PulseWidthModulation)控制――脉冲宽度调制技术,PWM调制的原理:把恒定的直流电源电压调节成频率一定、宽度可调的脉冲序列电压,实现调节占空比改变输出电压的大小,进而调解电机转速.电机两端得到的平均电压:Ud=(t/T)Us=ρUs式中ρ=t/T为PWM波形的占空比(占空比:就是输出的PWM中,高电平保持的时间与该PWM的时钟周期的时间之比)改变ρ(0≤ρ〈1)即可调节电机的转速。在系统设计中通过定时器和温度传感器的温度值,取定不同的占空比即可得到不同的风速档位,实现在不同温度下风速可调的问题,利用LCD1602显示当前的风速等级。51单片机只有32个I/O口可以使用,在使用过程中会出现I/O口不够用的情况,在实际制作中使用锁存器扩展I/O,功能实现正常,但是需要注意延时和定时器的定时问题。三、软件设计在程序设计中涉及到外部中断的使用和定时器的使用,STC89C52单片机的中断系统有5个中断请求源,具有两个中断优先级,按键接P3^2口,作为外部中断0的输入,程序运行到死循环处等待中断的发生。设置定时器,循环检测按键的状态,检测到按键按下并释放后执行相关的中断行为,中断执行完后再返回中断开始的地方继续执行程序,软件的核心在于温度的采集和利用,该系统使用DS18B20作为温度采集装置,采集到的温度用四位共阴数码管显示,分别用单片机的P0口控制段选,P1口控制位选,在软件设计时默认温度上限时45度,下限是20度,写入FM24C02中,后面配合按键功能动态调整温度的最大值和最小值,存储到FM24C02中,这样掉电之后温度的上下限值可以保存,在显示温度值之后,判断温度的范围,在蜂鸣器的接入端加一个PNP型的三极管,放大电流,以驱动蜂鸣器做出反应,同时温度的区间也和风速的转速相关,更具设定好的PWM调速区间对应每个温度等级,在相应区间LCD显示等级,电机调整转速,人体红外模块的功能相当于一个开关,当检测到有人时,向单片机的一个I/O口输入一个高电平(P1口,P2口,P3口是3个8位准双向的I/O口,各口线在片内均有固定的上拉电阻,当这三个准双向I/O口作输入口使用时,要向该口先写1),在写1输入之后,用单片机的另一个I/O口输出高电平控制电机的开启,无人时,输出低电平,单片机对应I/O口输出低电平断开电机,从而达到电扇智能检测有无人状态自动开闭的功能。软件设计时需要注意的问题是在中断程序中需要执行的指令应尽可能少,把需要执行的指令放在主函数中,防止函数在中断程序中运行时间过长,以至于下次中断开始的时候,上一次的中断还没有结束,从而造成程序紊乱,出现不可预料的错误。四、结束语整个系统的设计是在原有电扇系统上的改进,系统的设计是为了解决实际问题而做,针对实际生活中出现的现象都给出了相应的解决方法,同时原材料的选取也尽可能便宜、容易操作,在成本最低的基础上保证功能最完善,具有很高的实用价值,符合大多数人的需求,在硬件制作上选用单片机控制,用32个I/O口尽可能多的实现更多的功能,在设计之中也尝试并实现了I/O扩展、电压转换、电流放大、外观设计等很多方面,有趣易学,便于二次开发,适合硬件学习者研究和制作,具有一定的实用价值的同时也有一定的研究价值。参考文献[1]郭天祥。51单片机C语言教程[M].北京:电子工业出版社,2012.[2]谭春和。一种红外遥控及人体感测控制电风扇的系统[P].深圳:深圳市科吉华烽知识产权事务所,2013.[3]蓝厚荣。单片机的PWM控制技术[J].江苏:工业控制计算,2010。[4]周一恒,严家明.基于单片机控制的液晶显示原理与设计[J]。广东:机电工程技术,2008.基于单片机的智能交通灯控制系统系统设计摘要道路交通灯也就是我们常说的红绿灯,这是很常见的一种实时控制系统。我们日常出行的时候在路口都能看到。交通灯系统包括了一般的测控系统常用到的功能,它不但有利于道路的通畅,还可以减少交通事故发生。它主要由按键输入、时钟控制、显示和串口通信等组成。这里,我先对现在的交通系统的基础上进行分析,然后运用检测传感和实时调整的智能化技术,把传感器检测、车辆实时监测与单片机的作用相结合,设计出了基于单片机的智能交通灯控制系统的方案。基于8051单片机的智能交通灯控制系统由8051单片机、交通灯显示、LED倒计时、车流量检测及调整、违规检测、紧迫处理、时间模式手动控制等模块构成。使用单片机控制的交通灯包括了车辆通行和等待时间的倒计时显示、正常的工作模式、限行模式、禁行模式等基础功能。该系统除交通灯具有的基本功能外,还具有通行时间手动设置、可倒计时显示、紧急车辆强行通过、车流量检测及调整、交通异常情况的判断和处理等相关功能。本文主要做了如下工作:先确定总的设计然后进行硬件电路和显示电路的设计。关键词:交通控制,/*传感检测*/,矩阵键盘,AT89S51,倒计时显示。AbstractTrafficcontrolsystemisamodernsocietywithlogistics,traveletcoftrafficdevelopmentauniquesetofpublicmanagementsystem。Toensuretheeffectivesafetytraffic,exceptforaseriesoftrafficrules,stillmustthroughcertaintechnologicalmeanstoachieve.Basedonanalysisoftrafficcontrol,basedonreal—timedetectionsensor,adjusttheimplementationtechnologyofintelligentcontrol,real—timemonitoring,sensoradjustvehiclestimealgorithmandsingle-chipmicrocomputercontrolfunctionisproposed,whichcombinesthetrafficcontrolsystembasedonsinglechipdesignscheme.The8051microcontrollercontrolsystemconsistsofthetrafficlightsdisplay,8051monolithicintegratedcircuits,andLEDthecountdown,trafficviolationdetection,emergencyadjustment,manualmode,timeasmodules.Inadditiontothebasictrafficfunctionoutside,stillhavetimetomanuallyset,canpassthecountdown,carthatforcedthroughtraffic,inspectionandadjustment,transportatcessingabnormaldiscriminantfunctions。Theoryshowsthatthesystemcansimple,economicandeffectiverelievestraffic,improvethecrossroadscapacity.Thisdesignmainlydothefollowingaspects:oneistheworkofthetrafficcontrolsystemdesign,includingthecrossroads,specificdesignandsystemshouldberestrictedwitheachfunction,twoisthatthesensor,thehardwarecircuitdesignofthecircuitandthebasicfunctionandrequirement.KeyWords:trafficcontrol,sensingdetection,displayandcountdown,AT89S511绪论1.1单片机交通控制系统的选题背景人们常说交通是一个都市的命脉,对城市的交通、经济、生活、发展都起着重要的作用.其实事实就是如此.近年来随着科技得进步和人口的增长,人们日常出行的交通工具越来越多,现在出门几乎都有自己的交通工具,所以道路的拥堵就显现出来了,尤其是上下班的高峰时期,拥堵特别的严重.尤其是近年来人们生活水平的快速提高,这一现象日益严重.那么怎么解决这一问题呢?那么便是交通灯。这就引出了交通控制系统。那么什么是交通控制系统呢?交通控制系统是近现代社会跟着物流、出行等交通进步产生的一套独特的公共管理系统。合理的交通系统可以有效的维护正常的交通秩序。合理的交通规则需要一定的技术手段加以实现.目前,交通控制方面的研究能完全实现自动化、智能化,能将整个区域合成一个总的系统。甚至还能根据突发时段的情况进行合理的调整。目前大多数的交通系统缺乏一种真正的交通响应控制策略。智能化和集成化毫无疑问是城市交通信号控制系统的发展趋势。因此,研究基于单片机的智能交通信号控制系统具有很高的实用价值.1.2交通灯国内外发展概况如今,安装在各个街道上的红绿灯已经成为维护交通秩序最常见的手段.其实这一技术最早在19世纪就已出现在了伦敦的街头。世界上最早的红绿灯是在1858年,当时的英国伦敦主要街头安装了以燃煤气为光源的红绿灯。它使用红蓝两色的机械扳手式信号灯,用以指挥交通。而后在1868年,英国的机械工程师纳伊特进行了改进,其在伦敦威斯敏斯特区的议会大厦前的广场上,安装了世界上最早的煤气红绿灯。它以旋转式方形玻璃提灯组成,红色代表“停止”,绿色代表“注意"。然而在1869年1月2日,这种煤气灯发生了爆炸,致使警察受伤,于是便被取消.紧接着电气时代的到来使得电气启动的红绿灯出现。最早的使用该技术红绿灯出现在1914年美国纽约市5号大街的一座高塔上。其由红绿黄三色圆形的投光器组成,红灯亮代表“停止”,绿灯亮代表“通行”。这种红绿灯使用起来并不是很方便,于是在1918年,又出现了带控制的红绿灯和红外线红绿灯。到了1963年加拿大多伦多市建立了一套使用IBM650型计算的集中协调感应控制信号系统,从而标志着交通信号系统的发展进入了一个新的阶段。之后,美国、英国、德国、日本、澳大利亚等多家相继建成数字电子计算机区域交通控制系统。到80年代初,全世界建有交通管制中心的城市有300多个,代表了未来交通控制的发展方向.各个时期典型交通信号系统得特征如附表所示。简称时间国别城市名称控制路口数信号周期检测器控制方式点控1868英国伦敦燃气色灯单///1914美国克利夫兰电力色灯单///1926英国各城市单点定周期自动信号机单定/自动1928美国各城市感应式自动信号机单定气压式自动线控1917美国盐湖城手控干道协调系统6个定/人工线控1922美国休斯顿电子计时干道协调系统12个定/电动1928美国各城市步进式定时干道协调系统多个(线)变/电动面控1952美国丹佛市模拟计算机交通信号控制系统多个(网)变气压式计算机1963加拿大多伦多数字计算机集中协调感应控制信号系统多个(网)变电磁式计算机在西方发达国家,交通控制系统已基本上完成了由传统的交通控制系统向智能交通控制系统ITS的转变,然而我国才刚刚处于起步阶段。1999年,我国成立了全国智能交通系统(ITS)协调指导小组及办公室,同年,又成立了全国智能交通运输系统(ITS)专家咨询委员会,其中,同济大学、清华大学、北方交通大学、北京航空航天大学、吉林工业大学、东南大学等高校的有关专家为咨询委员,并启动了国家“九五”科技攻关课题和国家“十五”科技攻关课题。目前,在对一些大中型城市引入的国外ITS进行研究的基础上已经逐渐开始摸索开发设计适合自己国情的ITS系统。2单片机交通控制系统总体设计2.1单片机交通控制系统的通行方案设计由于交通灯设计时有正常通行、东西限行、南北限行、全部禁行四种模式,每种模式的信号灯切换方式都不一样,因此我们下面分析这四种模式的信号灯切换方式。但是切换时有一个原则需要我们记住:先停止正在通行的方向,然后放行被停止的方向。一般的十字路口都分为东西方向和南北方向,在任一时刻只有一个方向通行,另一方向就会禁行,持续一定的时间,经过短暂的过渡时间后,将通行禁行方向对换.其具体的状态如下图所示。黑色代表灯亮,白色代表灯灭.交通状态从状态1开始变换,直至状态4然后循环至状态1,如此循环。我们把这四个状态归纳如下图所示:图2。1交通状态切换图(1)东西方向黄灯灭,同时红灯亮,南北方向红灯灭,同时绿灯亮,倒计时30秒。此状态下,东西向禁止通行,南北向允许通行.(2)东西方向红灯仍亮,南北方向红灯灭,黄灯亮,倒计时4秒。此状态下,东西方向仍然禁止通行,南北方向除了已经驶过停车线的车辆可继续前进外,其他所有的车辆都需停止前进。(3)东西方向红灯灭,绿灯亮,南北方向黄灯灭,同时红灯亮,倒计时30s.在此状态下,东西方向可以通行,南北禁止通行。(4)东西方向绿灯灭,黄灯亮,南北方向红灯仍亮,倒计时4秒.此状态下,东西方向除了已经驶过停车线的车辆可以继续前行外,其他所有车辆都需停止前进,南北东西方向任然禁止通行。如下表:表2.1交通状态及红绿灯状态状态1状态3状态4状态6东西向禁行等待变换通行等待变换南北向通行等待变换禁行等待变换东西红灯1100东西黄灯0001东西绿灯0010南北红灯0011南北绿灯1000南北黄灯0100表中从左到右表示时间的流逝方向,在初始状态时东西方向绿灯亮30s,然后黄灯亮4s,最后红灯亮34s,而南北方向则从初始状态开始先红灯亮34s,然后绿灯亮30s,最后黄灯亮4s,接着周而复始。2。2南北限行方式按照交通运行规则,南北限行的方式应该是南北方向的红灯亮,禁止通行,东西方向的绿灯亮,可以通行。当南北限行的按键被按下后,先判断此时的交通状态,如果南北方向此时已经处于红灯状态,单片机肯定是发出让南北方向继续保持红灯,东西方向继续保持绿灯的指令,如果此时交通状态是南北方向在通行,则不着急,先单片机发出南北方向黄灯的信号,提示南北方向的信号灯即将转变,没有驶过停止线的车不要再前进,黄灯持续4s,让已经驶过停车线的南北方向车驶出十字路口,最后再点亮东西方向的绿灯.表2.2南北限行模式信号灯状态限行钱南北方向处于红灯状态东西方向点亮绿灯,灭其他颜色的灯南北方向红灯保持限行前南北方向处于绿灯或黄灯状态东西方向保持红灯绿灯南北方向黄灯4s红灯图2.2南北限行信号灯状态图2.3东西限行方式东西限行模式下同样存在南北限行模式下的问题。东西限行模式信号灯状态如下表:表2.3东西限行模式信号灯状态限行前东西方向处于红灯状态东西方向红灯保持南北方向点亮绿灯,灭其他颜色的灯限行前南北方向处于绿灯或黄灯状态东西方向黄灯4s红灯南北方向保持红灯绿灯2.4禁止通行模式禁止通行模式就不要了考虑上述问题,只有交通秩序是正常的,按下禁止通行行按键后,两个方向的信号灯即变为红灯,两个方向的车辆都必须立即停止前进。新号灯状态如下表:表2.4禁止通行模式信号灯状态东西方向红灯亮南北方向红灯亮2。4单片机交通控制系统的功能要求该设计不但能模拟最基本的交通控制系统,还能进行倒计时显示,车流量检测及调整,交通违规处理和紧急处理等功能,做到智能化控制。(1)倒计时显示倒计时显示可以让驾驶员清楚的知道在信号灯发生变化前的时间.让驾驶员提前做出选择.它可以显著减少驾驶员违反交通规则的次数。/*************(2)车流量检测及调整智能交通灯控制系统最基本的作用就是检测车流量.目前我国正在使用的红绿灯大多都是固定时间的红绿灯。红灯和绿灯的时间,是根据东西方向和南北方向的实际路况,采用统计的方法来确定的。*******************/使用注释符号,表示删除,同下(3)时间手动设置除系统根据车流量自动控制调整,也可以通过键盘进行手动设置,增加了人为的可控性,避免自动故障和意外发生,并再紧急状态下,可设置所有灯变为红灯。键盘是单片机系统中最常用的人机接口,一般情况下有独立式和行列式两种.前者软件编写简单,但在按键数量较多时特别浪费I/0口资源,一般用于按键数量少的系统。后者适用于按键数量较多的场合,但是在单片机I/0口资源相对较少而需要较多按键时,此方法仍不能满足设计要求./**本系统要求的按键控制不多,且I/0口足够,可直接采用独立式。***/改为:本系统使用了矩阵键盘,每个按键对应相应的功能(4)紧急处理流量大的路口经常会出现拥堵等紧急情况,比如救护车或发生交通事故等,那么遇到这种情况我们也要尽量保持交通的畅通。因此,我们在控制中加设禁停按键,就可以解决此问题./***************(5)违规检测人人出行都需要遵守交通规则,但是现实社会中总有那么些人不遵守交通规则,所以我们就需要检测到他们,对他们进行应有的处罚。在路口设置检测器就可以及时的发现违规的现象,并记录违规的车辆的信息,以便交警后期的处理.************/2。3单片机交通控制系统的基本构成及原理基于单片机的智能交通灯控制系统,是利用单片机控制信号灯的状态变化来指挥交通。系统的总体框图如下:单片机单片机按键控制红黄绿信号灯车流量检测电路最小系统外围接口电路8段LED数码管显示图2.2系统的总体框图如上图可以看出系统的核心是单片机,由车流量检测模块、违规检测模块、按键设置模块、信号灯模块、LED倒计时模块/**凤鸣器***/等组成。按键输入模块分为正常通行、南北限行、东西限行、禁止通行四个按键。倒计时显示模块共有8个共阴极的数码管组成,每两个一组,每个方向分为两组,每个方向的两组数码管显示的内容相同,用来显示前进或等待剩余时间.红绿灯由红绿黄三色的发光二极管组成,每三个一组,每个方向有两组二极管,每个方向显示的颜色一致./****若选择自动模式,系统会不断通过车辆检测模块来检测车流量,到达一定的时间将会调整时间来适应各种路况的需求.*******/3系统硬件电路的设计3。1系统硬件总电路构成及原理本文所述智能交通灯系统所涉及的主要器件有:a,单片机最小系统所需器件b,AT89S51单片机C,三色LED灯d,按键/**e,车流量检测传感器、光敏传感器、蜂鸣器***/3。1.1系统硬件电路构成智能交通灯系统是一个以单片机为核心,/*集车流量采集*/、处理、自动控制为一体的闭环控制系统.硬件电路图如下图所示:图3.1总体设计电路图具体功能见下表:接口作用P0、p2送显两片LED数码管P1控制红绿黄发光二极管XTAL1、XTAL2接入晶振时钟电路RESET接复位电路P3.3接违规检测电路P3.2接紧停/东西时间设置键JP0.6、P0.7接车流量检测电路P3。6接南北时间设置键SP3.7接自动模式选择/返回键FP3.4接蜂鸣器3.1。2系统工作原理系统上电或手动复位之后,系统等待模式选择设置键按下,模式分两种:红绿灯时间自动和红绿灯时间设置。若此时F键按下,则设置为自动模式,若此时按下的是S键,则设置为时间设置模式,依次按S若干次,J键若干次可设置好两个方向的红绿灯时间,再按F键确认。其实这个过程就是将存储时间值的寄存器进行设置,以及标志是否要进行车流量检测及调整.接下来,系统必须先显示状态灯及LED数码管,将状态码值送显P1口,将要显示的时间值送显P0口和用P2口来选通LED数码管的显示导通,在此同时以50ms为周期,用软件方法计时1秒,到达1s就要将时间值减1,刷新LED数码管。时间到达一个状态所要全部时间,则要进行下一状态判断及衔接,并装入次状态的相应状态码值以及时间值,/**当然,还要开启两个外部中断,其一为违规信号或禁停信号输入,一旦信号有效,中断开始,进入中断服务子程序,开启蜂鸣器禁止全部通行,当按下F键,中断结束返回。其二为车流量检测信号输入,若检测到车辆经过,进入相应的中断子程序,将存储车流量的计数器加1,然后中断结束返回。****/每满一个状态循环周期,若为自动模式,则须将检测到的车流量数据处理一次,判断两个方向的交通轻重缓急状况,再调整下次状态循环的红绿灯时间,以达到自动控制的目的。3。2AT89S51单片机简介3.2。1单片机的概述单片机其实就是在一片半导体硅片上集成了中央处理单元、存储器、并行I/O口、串行I/O口、定时器/计数器、中断系统、系统时钟电路及系统总线的微型计算机。单片机主要应用于测控领域。我们通常把单片机称为嵌入式控制器或微控制器。只是在我国我们习惯把它称为单片机。按照功能我们可以把单片机分为通用型和专用型两种。单片机的主要具有以下特点:1)具有很高的性能与价格比。2)集成度超高、体积比较小、可靠性很高。3)控制功能很强。4)电压与功耗低。AT89S51单片机是美国ATMEL公司推出的一款单片机,其在我国8位单片机市场上占有很大的比例.其内部的4KB的FLASH存储器可以在线编程或者使用编程器重复编程,而且价格很低。3.2。2AT89S51芯片内部结构简介功能部件描述中央处理器8位微处理器(运算器和控制器)数据存储器128B的RAM程序存储器4KB的FlashROM定时/计数器2个16位的定时器/计数器并行输入/输出口4组8位的I/O口(P0、P1、P2或P3),用来对外部数据的进行传输.全双工串行口一个全双工的异步串行口,有4种工作方式时钟电路产生时钟脉冲序列中断系统5个中断源和中断向量3。2。3主要引脚功能AT89S51引脚图如图3.3所示:图3.3引脚图主要引脚功能:·VCC:接5V的电源。·GND:接数字地·RST:复位信号的输入端,只对高电平有效。·ALE/:ALE为CPU访问外部程序存储器或外部数据存储器提供一个地址锁存信号,将8位地址锁存在片外的地址锁存器中。为该引脚的第二功能,可以对片内的Flash存储器编程时,作为编程脉冲输入端。·程序储存允许()输出是外部程序存储器的读选通信号,当AT89S51由外部程序存储器取指令(或数据)时,每个机器周期两次有效,即输出两个脉冲。当访问外部数据存储器,没有两次有效的信号。·/VPP:是这个引脚的第一个功能,外部程序存储器访问允许控制端。Vpp是第二功能,在片内Flash进行编程时,Vpp引脚要接入编程电压。·XTAL1:片内振荡器反相放大器和时钟发生器电路的输入端。·XTAL2:片内振荡器反相放大器和的输出端。3.2。4AT89S51芯片最小系统一个最简单的单片机系统包括晶振、复位、电源、系统的输入控制、输出显示,以及其他外围模块(如通信、数据采集等)。(1)时钟电路首先介绍一下单片机的晶振电路,即时钟电路。单片机的工作流程,就是在系统时钟的作用下,一条一条地执行存储器中的程序。单片机的时钟电路由外接的一只晶振和两只起振电容,以及单片机内部的时钟电路组成,晶振的频率越高,单片机处理数据的速度越快,系统功耗也会相应增加,稳定性也会下降。单片机系统常用的晶振频率有6MHz、11.0592MHz、12MHz、本系统采用11。0592MHz晶振,电容选22pF或30pF均可。/******在这里添加晶振电路截图,做相关说明,介绍下图中的单片机晶振电路,以及晶振电路的作用,原理等,请参考:《晶振电路原理介绍》参考原则,能看懂的觉得重要的就改写抄下来,看不懂的就不看。(2)复位电路系统刚上电时,单片机内部的程序还没有开始执行,需要一段准备时间,也就是复位时间。一个稳定的单片机系统必须设计复位电路.当程序跑飞或死机时,也需要进行系统复位。复位电路有很多种,有上电复位,手动复位等./******在这里添加相关截图,等,做相关说明,介绍下图中的单片机复位电路,以及复位电路的作用,原理等,请参考:介绍下复位电路的作用:参考《单片机复位电路》原则同上.。。.。(3)EA脚的功能及接法单片机的EA脚控制程序从内部存储器还是从外部存储器读取程序。由于现在单片机内部的flash容量都很大,因此基本都是从内部的存储器读取程序,即不需要外接ROM来存储程序,因此,EA脚必须接高电平。本设计中复位方式采用上电∕按键手动复位方式,时钟采用内部时钟。如下图3.4所示。图3.4本系统复位与时钟方式/**下面继续讲述各个部分的电路作用***********/1、矩阵键盘的作用及其原理:详细介绍矩阵键盘的实现原理和独立按键做比较,然后做总结介绍下电路图中各个部分的按键的作用,***请参考《第六讲_独立键盘。ppt》和http://wenku.baidu.com/link?url=irHa8Xlc_UmlccIeGsDDn6JrTXjQegjDmlWGYnuPUJaITBCnCNnhPC6bWQHgsKqNg5PPEhZaoBIa_XVTFhbsyKmt0tMSVJdQEq12pZRPizi(1)独立按键简单,容易实现,接线少,使用IO口扫描或者中断检测的方式,按键较少时可以这么使用.。.。.。。。。.。..。..。....。.图片:(2)矩阵键盘适合多按键使用,可以实现较少接线实现多按键。.。。。。。。.图片:(3)选择矩阵键盘的原因:(4)按键如何消除抖动,按键消除抖动有两种方法,(1)硬件,成本高,不够方便(2)软件实现简单,使用与多种场合。http://wenku。baidu.com/link?url=r4q8tYewgtESNyjcCLfLBRhCxXxNezppj64nkm7JK8yQVDTndkP_xU4d53tVbwDGOV0hT789oPHwCn—Cukp8kztzaQw7MI4WKYpA1sTH9S7本设计中采用延时消除抖动的方法。..。。。..。2、介绍下LED显示的原理数码管显示数字的原理等等,(1)LED显示发光的原理******http://blog.sina.com.cn/s/blog_4e8581890102e6jk。html(2)数码管显示数字的原理http://wenku./link?url=XmwRGFPc02ORhJLL—0-fyhTJoZb8pYy2pCW1xpdnySOATMKhj3tJ9VRQEFZ1ueBUXRsSlukdyvN75iaQtIsDz9lsmVTOI1fxpePxCSPHKmS(3)数码管驱动的方式,静态扫描和动态扫描静态扫描:优点,缺点,动态扫描:优点,缺点,http://wenku.baidu.com/link?url=Cw456PJpikNY07kvEZyETGEk95Sm1m4TecQQ6ws3tcNOEwqh7Bsf4vSk2pGd_SMlsXkfZvYRCqTJe1ehT7dCO3oqL—OkMAWurhWOv_GkpAC本设计采用动态扫描的方式.。。.。..。。。。。.。。第四章节软件设计1、软件设计流程图概述下程序设计的流程**参考PDF文档***2、讲述下51单片机中断和定时器如何设置正常工作,以及定时器的原理请参考文档:http://wenku。ba/view/cc77bd00e518964bcf847ce6.html?from=searchhttp://wenku.baidu.com/view/b6e3d157ad02de80d4d840b5.html?from=search/*********************吧你参考的这个文档这部分抄下来就行了********//**************一定要自己改写,不能直接复制***********************/全部控制程序实际上分为若干模块:键盘设置处理程序,状态灯控制程序,LED显示程序,消抖动延时程序,次状态判断及处理程序,紧停或违规判断程序,中断服务子程序,车流量计数程序,红绿灯时间调整程序等.整个软件程序方面主要分两大部分:按键处理程序和50ms扫描程序。流程图如图4.1所示。首先是按键处理程序,89S51通过对IO扫描,确定是否有键按下,再判断具体是那个键按下,根据键值跳转到按键处理程序.按键处理结果可设置两种工作模式:红绿灯时间设置模式和红绿灯时间自动模式,次程序相当于系统的模式设置,若想重新设置则要按下复位键.设置过后进入50ms扫描程序。50ms扫描程序开始后,先刷新显示模块,若为自动模式则接下来要计数车流量,然后扫描紧停信号和违规信号,若捕获则调用中断,中断服务子程序主要启动蜂鸣器,直至恢复键按下。50ms已到则重新扫描。扫描20次之后计时到达1s则时间数据减1,在显示模块中修改显示缓冲区内容。在半个状态对换时,车流量计数程序在一个状态变换循环先后计数两个方向的车流量,然后调用红绿灯时间调整程序,更新红绿灯时间.当前状态时间已到,则判断次状态装入相应数据,然后进入下一状态。4.2理论基础知识4.2.1定时器原理定时器工作的基本原理其实就是给初值,让它不断加1直至减完为模值,这个初值是送到TH和TL中的。它是以加法记数的,并能从全1到全0时自动产生溢出中断请求。因此,我们可以把计数器记满为零所需的计数值,即所要求的计数值设定为C,把计数初值设定为TC可得到如下计算通式:TC=M—C式中,M为计数器模值.计数值并不是目的,目的是时间值,设计1次的时间,即定时器计数脉冲的周期为T0,它是单片机系统主频周期的12倍,设要求的时间值为T,则有C=T/T0。计算通式变为:T=(M-TC)T0模值和计数器工作方式有关。在方式0时M为8192;在方式1时M的值为65536;在方式2和3为256.就此可以算出各种方式的最大延时。如单片机的主脉冲频率为12MHZ,经过12分频后,若采用方式0最大延时只有8.129毫秒,采用方式1最大延时也只有65.536毫秒。这就是为什么扫描周期为50ms的原因,若使用软件则会耽搁程序流程,显然不可行。相反,时间计时方面却不可能只用计数器,因为显然1秒钟已经超过了计数器的最大定时间,所以我们还必须采用定时器和软件相结合的办法才能解决这个问题.4。2。2软件延时原理MCS—51的工作频率为12MHZ,机器周期与主频有关,机器周期是主频的12倍,所以一个机器周期的时间为12*(1/12MHZ)=1us。我们可以知道具体每条指令的周期数,这样我们就可以通过指令的执行条数来确定1秒的时间,但同时由于单片机的运行速度很快其他的指令执行时间可以忽略不计。我们设定一个初值为20的软件计数器和使T0定时50毫秒。这样每当T0到50毫秒时CPU就响应它的溢出中断请求,进入他的中断服务子程序。在中断服务子程序中,CPU先使软件计数器减1,然后判断它是否为零。为零表示1秒已到。设定定时器需要定时50毫秒,故T0必须工作于方式1。要求初值:TC=M—T*T0=216—50ms/1us=15536=3CBOH。4.2.3中断原理本系统主要使用了外部中断,中断信号有引脚INT0和INT1输入,低电平有效,CPU每个时钟周期都会检测INT0和INT1上的信号,8051允许外部中断以电平方式或负边沿方式两种中断方式输入中断请求信号,可由用户通过设置TCON中IT0和IT1位的状态来实现。以IT0为例,IT0=0,为电平触发方式,IT0=1,为负边沿触发方式,本设计采用电平方式,IE0为其中断标志位,有中断信号则置位,中断服务子程序响应后,IE0自动清零.IE中的EA为允许中断的总控制位,为1开启,EX0为外部中断允许控制位,为1开启。在优先级的允许下,一旦有外部中断信号产生,单片机CPU首先保护断点,PC值进栈,然后执行相应的中断服务子程序,执行完后,用RETI指令返回,此时CPU会从堆栈中取保存的断点地址,送回PC,程序再正常执行。4.2。4消抖动程序另外,在按键计数的过程中,还存在机械抖动与软件方面的矛盾,即当程序检测到了有按键按下,则会计一次数,但是实际上,按键闭合后在微观上还会弹起,然后闭合,一直到达稳定,显然后面的弹落是无效的,为了使程序避免这个问题,可以在检测到首次闭合时,调用一定时间的延时程序。此处延时程序完全用软件完成,利用程序执行一条指令的时间,再加上两次累减嵌套。结论致谢参考文献附录:程序:附录:整体电路图:/**********完****************************/基于AT89S51单片机的教室灯光智能控制系统设计一、系统设计要求:该系统以AT89S51单片机作为控制模块的核心部件,采用热释红外人体传感器检测人体的存在,采用光敏三极管构成的电路检测环境光的强度;根据教室合理开灯的条件,通过对人体存在信号和环境光信号的识别与判断,完成对教室灯光的智能控制,避免了教室用电的大量浪费。系统还具有报警功能;同时还采用了软/硬件的“看门狗”等抗干扰措施二、系统控制方案分析该控制器以自然光强度和人体存在作为控制器的主要输入参数,能够实现自动与手动控制相兼容。在自然环境光较强光线足够时,无论人是否存在,都不开灯;在自然环境光较弱时,有人存在且超过一定时间,控制器自动打开电灯,直到人离开后再延时一定时间后关灯。同时,还可设置作息时间来控制,夜晚超过12点,若还有人存在,则关闭自动控制器的运行,改用开关来手动控制,以解决因特殊情况下,自动控制器的不人性化运行。所研究的教室灯光控制器主要是由硬件和软件两大部分组成。硬件部分是前提,是整个系统执行的基础,它主要为软件提供程序运行的平台.而软件部分,是对硬件端口所体现的信号,加以采集、分析、处理,最终实现控制器所要实现的各项功能,达到设计目的。三、系统控制模块的硬件设计系统控制模块的硬件构成及简介系统控制单元是以AT89S51单片机主控模块为核心,其它外围电路主要包括:环境光采集电路、时钟模块、热释红外传感器模块、看门狗模块、按键电路、EEPROM存储模块、超时报警模块、数码管显示模块,其结构框图如图2-1所示。图2。1系统控制结构框图环境光模块采用光敏三极管来检测环境光的强度,有光照时,电阻减小,随着光照强度的减弱,电阻逐渐增大,把光信号转化成电信号,实现对光强度的检测。人体存在传感器模块采用HP—208是基于红外线技术的智能产品,实现对人体存在的检测。硬件时钟模块采用具有充电能力的低功耗,具有临时性存放数据的RAM寄存器的实时时钟芯片DS1302。该电路的接口简单、价格低廉、使用方便,被广泛的使用.系统数据存储及故障保护部分由X5045组成,X5045是一种串行通讯的512字节EEPROM,同时兼有看门狗和电源监控功能键盘模块.1.系统控制的主要硬件电路考虑到本系统安装时受环境影响因素比较多,且教室控制设备中的人体存在传感器、光敏三极管等经常会因环境情形变化而不稳定,所以在设计过程中,电子元器件的选用、线路布置和设备的安放要充分考虑到抗干扰问题.2。系统主控电路本系统的主控模块采用AT89S51作为主控芯片,它是一种低功耗,8位CMOS工艺处理器,具有8K在线可编程Flash存储器,片内的Flash可多次编程,为在线编程提供了方便。片内有128字节的RAM,4KB的EEPROM,由于合理的安排使用片内RAM空间,所以没有片外扩展的RAM,使电路结构简洁。该芯片的主要特征见如表2.1:表2.1AT89S51主要特征单片机最小系统如图2-2所示:图2-2单片机最小系统3.系统供电电路系统供电原理如图2-3所示,采用+5V电压供电。本设计采用输出电压为9V的变压器。系统接通220V交流电源后,将220V交流电变压到9V,经过二极管全波整流、电解电容C1,C2滤波,再经正输出稳压器LM7805,为了缓冲负载突变,改善瞬态响应,输出端还采用了电容C3,C4,最后得到+5V的直流电压,用于给控制系统中单片机系统及其它外围电路的Vcc端供电。.图2—3系统供电电路4.数据采集电路教室的环境光强度和人体存在与否是系统主要的输入参数,因此教室中的环境光照强度和人体存在成为系统数据采集的主要对象。常见的环境光强度采集器件主要有光敏二极管和光敏三极管,考虑抗干扰的需要,选用灵敏度较高的光敏三极管。此外,人体存在传感器要求灵敏度高,可靠性强.环境光强度采集电路光电传感器是一种能够将光转化为电量的传感器.采用的光敏三极管除了具有光敏二极管将光信号转化为电信号的功能外,还具有对电信号的放大功能.在无光照时,三极管的穿透电流很小,为暗电流,有光照时,产生的Ib增大,成为光电流Ie,光电流的大小与光照强度成正比,于是在负载电阻上就能得到随光照强度变化而变化的电信号.光敏三极管具有灵敏度高,体积小,工作电压低,工作电流小,发光均匀稳定,响应速度快,寿命长等特点。环境光采集电路原理如图为2—4所示。当环境光照强度大于一定程度时,光敏三极管D6呈现低阻状态≤1KΩ,三极管Q12的基极电压升高,Q12管饱和导通,集电极输出低电平.当环境光强度小于一定程度时,光敏三极管D6呈现高阻状态≥100K,使三极管Q12截止,集电极输出高电平。其中调节R26阻值,可使三极管Q12受环境光强度影响在适当的亮度下导通。图2-4环境光电路人体存在信号采集电路人体存在传感器采用HP-208—N—L人体感应模块(低电平输出)。基于红外线技术的自动控制产品,灵敏度高,可靠性强,广泛应用于各类自动感应电器中。人体传感器的1号引脚为电源信号端VCC,2号引脚为采集信号输出端OUT,3号引脚为地信号端GND.其硬件连接如图2-5图2-5人体存在信号采集电路5.系统时钟电路根据教室灯光使用特性,该系统还应受到时间的控制,因此本研究还加入硬件时钟电路以保证系统的智能化运行。考虑到本系统停电时需为时钟电路提供电源、且不占用太多单片机资源,于是采用具有充电能力的实时时钟芯片DS1302,作为临时性存放数据的RAM寄存器。此芯片采用的是串行通信方式,还可为掉电保护电源提供充电功能,也可以将此功能关闭.该芯片对年、月、日、时、分、秒进行计时,具有闰年补偿功能,工作电压为2。5V-5。5V。DS1302只需三根线即可与单片机进行通信,体积小,使用简单,时钟精度较高,满足系统的要求,其引脚图如图2-6所示。图2-6DS1302的引脚图各引脚的功能为:Vcc1:主电源;Vcc2:备份电源。当Vcc2>Vcc1+0.2V时,由Vcc2向DS1302供电,当Vcc2<Vcc1时,由Vcc1向DS1302供电。SCLK:串行时钟,输入,控制数据的输入与输出;I/O:三线接口时的双向数据线;CE:输入信号,在读、写数据期间,必须为高。DS1302与单片机接口电路连接如图2-7,其中Vcc2外接3。6V可充电的锂电池,为DS1302的备用电源。Vcc1外接供电模块的稳定输出电压+5V,为DS1302的主电源。DS1302由Vcc1和Vcc2两者中较大者供电。系统正常运行时,Vcc1大于Vcc2,因此由Vcc1给DS1302供电,在主电源关闭的情况下,则由Vcc2给DS1302供电,保持时钟的连续运行。X1和X2是振荡源,外接32.768kHz晶振.RST是复位/片选线,通过把RST输入驱动置高电平来启动所有的数据传送,与单片机的复位信号相连。时钟输入端SCLK接单片机P1.5引脚,进行时钟控制。图2-7时钟电路6.继电器驱动电路继电器驱动接口电路如图2—8所示,这里继电器由相应的PNP型号的9012三极管来驱动。开机时,单片机初始化后的P3。5、P3.6为高电平,三极管截止,所以开机后继电器始终处于释放状态。如果P3.5、P3。6为低电平,三极管的基极就会被拉低而产生足够的基极电流,使三极管导通,继电器就会得电吸合,从而驱动负载,点亮相应电灯.继电器的输出端并联100欧的电阻和6800皮法电容,目的是避免继电器吸合与释放期间产生火花。继电器线圈两端反相并联的二极管是起到吸收反向电动势的功能,保护相应的驱动三极管,这种继电器驱动方式硬件结构比较简单。图2-8继电器驱动电路7。超时报警电路本系统采用的超时报警电路如图2—9所示。单片机的P3.4端口外加一个10K的上拉电阻,再经过限流电阻100欧与三极管C945的基极相连。当P3。4端口为低电平,即基极为低电平时,三极管导通,驱动蜂鸣器发出声音,以示教室灯工作超时。若P3。4端口为高电平,即基极为高电平时,三极管截止,蜂鸣器不工作,教室灯工作正常.本系统采用超时报警电路方便了管理人员对教室灯的管理,能够科学、有效地管理教室电灯。图2-9超时报警电路8.按键控制电路按键控制电路如图2-10所示。按键的输入信号分别接到P2.0,P2.1,P2.2,P2.3,用二极管和与门电路将按键信号引到外中断0的引脚P3。2。按键控制电路采用单片机P2口的低4个口作按键的输入信号端,信号取自电阻的分压.当按键未按下时,P2.0-P2。3端口的电压接近电源电压,为高电平,当某一按键按下时,对应端口被按纽开关短接到地,为低电平。单片机检测4个端口电平的变化,从而确定是哪个键被按下。键盘工作方式采用中断扫描方式,4个二极管和10K电阻组成与门电路,当任一键按下时,与门输出P3.2引脚的电平都会由高为低.P3.2第二功能是外部中断0的输入引脚,我们利用其电平的变化产生中断,在中断服务程序中读入P2口低4位信号,确定哪个键按下,执行相应的按键功能,0。1pf电容和10K电阻组成滤波电路,消除按键的抖动.图2-10按键控制电路9.系统看门狗电路在单片机工作过程中,不可避免的会由于外界的干扰而产生程序跑飞、死机甚至造成整机瘫痪等情况。为了能够及时恢复单片机的工作,只能采用重新复位的方法,因此还应该在硬件设计中使用看门狗电路,这样在单片机发生死机的情况下,看门狗将产生一个复位信号给单片机,使单片机复位,重新执行程序。由于系统同时需要看门狗和EEPROM,所以本设计中使用芯片X5045。X5045的引脚排列如图2-11。图2-11X5045的引脚图看门狗定时器的预置时间是通过X5045的状态寄存器的相应位来设定的。如表2.2状态寄存器所示,X5045状态寄存器共有6位。其中WD1。WD0和看门狗电路有关,其余位和EEPROM的工作设置有关。表2。2状态寄存器WD1=0,WD0=0,预置时间为1.4S,WD1=0,WD0=1,预置时间为0.6S,WD1=1,WD0=0,预置时间为0.2S,WD1=1,WD0=1,禁止看门狗工作。看门狗电路的定时时间长短可由具体应用程序的循环周期决定,通常比系统正常工作时最大循环周期的时间略长即可。X5045硬件部分连接如图2-12。图2-12系统看门狗电路系统看门狗电路由系统数据存储及故障保护部分组成,X5045是一种串行通信512字节的EEPROM,同时兼有看门狗和电源监控功能,X5045有三种可编程看门狗周期,上电和VCC低于检测门限时,输出复位信号,X5045输出复位高电平有效,为了复位更加可靠,其复位输出端外接一个10K的上拉电阻,并与AT89S51的复位端相连.看门狗能在电源上电、掉电期间产生一个复位信号。该芯片还带有一个1。4秒的看门狗定时器可用来监控单片机的工作.如果在1.4秒内未检测到其工作,出现故障,内部定时器将使看门狗WD1处于低电平状态,为系统提供保护,避免死机、程序跑飞或进入死循环等意外的发生.四、控制模块软件设计1.系统监控主程序模块监控程序按模块分为监控主程序和命令处理子程序叫。监控主程序的基本任务是调用子程序,一个主程序可以调用多个子程序,对于51系列单片机,系统资源有限,主程序通常是一个无限循环的过程,即是一个反复调用子程序的过程。子程序主要分为中断子程序和功能子程序,它们之间可以互相嵌套和调用,即中断子程序可以调用功能子程序.在应用软件的设计中,尽可能各个功能模块写成子程序的形式,并通过主程序调用.而命令处理子程序完成各种命令所规定的具体操作,它按各种命令再分为不同的子程序模块,它的编程方法与功能要求及系统应用密切相关。监控主程序是整个控制系统的核心部分,其它外围模块一般都需经过监控模块实现其在控制系统中的作用。监控主程序接受和分析来自键盘的命令,进而把控制转到相应的处理子程序的入口,起引导作用。本系统监控主程序模块主要包括对系统外围器件输入、输出参数的初始化自检,看门狗的激活,多任务操作模块的调用(系统中的信号采集处理、时钟管理、按键接收处理、驱动显示模块),实时中断处理等.除初始化和自检外,监控主程序一般总是把其余部分连接起来构成一个无限循环,系统所有功能都在这一循环中周而复始的有选择的执行。1)系统自检初始化系统自检初始化是保证整个控制系统能够正常运行的重要条件,系统加电复位后,直接进入自检初始化程序,完成系统的自检及初始化。初始化过程主要是对一些控制寄存器(如中断控制)、数据区和外部芯片(如时钟芯片DS1302等)进行初始参数设置和定义。本系统中的自检初始化主要指各接口芯片的检测、芯片内部设定参数的初始化及系统内部寄存器的初始化。各接口芯片的检测主要检测各芯片是否已处于准备工作的就绪状态,有无硬件故障等,如检测各位LED是否正常显示系统设置开机时的界面,检测硬件时钟DS1302是处于更换芯片后初次使用为起振状态,还是处于备用电源供电振荡保持状态,即检测系统中控制时间表的有效性,检测热释红外传感器输出信号是否正常体现人体存在的信息,检测光采集电路输出的信号等.若时钟芯片处于启动状态,则需要对其进行初始化并启动实时时钟。系统内部寄存器初始化主要是指在数据缓冲区内,各用户定义的数据变量的初始化赋值及部分特殊功能寄存器SFR的复位初始化,单片机复位后,程序计数器PC指向程序存储器的入口地址。000单元,程序状态字寄存器PSW清零,片内存储器选择工作寄存器,用户标志位F0为0状态,堆栈指针SP指向07H,其它定时器、中断允许寄存器IE,累加器ACC等皆为00H.。2)定时中断处理设计定时中断是利用单片机内部的定时器定时,时间到或计数值已满引起的中断,内部定时器的计数器可以对内部时钟或从外部引线T0和T1输入的外部脉冲进行计数。计数器的溢出信号作为中断请求信号,去置位定时器溢出标志位,向单片机的CPU申请中断.定时中断为周期性中断,每隔一定的时间会中断一次.本系统中设定的定时中断主要用来构造多任务操作系统,在系统响应中断后,无需对断点实施现场保护,可直接进行多任务时间的划分工作,使相应的操作任务进入就绪状态,即该中断可以启动有关的任务操作。该定时中断处理程序框图如图3—1所示:图3-1定时中断处理程序框图本系统还采用了外部中断,此外部中断主要用来判断是否有外来信号输入,若有,就采集下来并加以处理;若无,则返回到主循环。2.数据采集模块本控制系统中的数据采集对象为环境光信号及人体存在信号,在程序设计中对这两个数据的采集放置在多任务模块中实施定时采集。数据采集软件的实现本系统考虑到环境光足够亮时,无论是否有人体存在都不开灯;而环境光不够亮时,有人体存在才开灯,无人体存在则不开灯。本系统逻辑定义为:环境光亮时为逻辑“0"(符合光采集电路输出信号状态),暗时为“1",人体存在为“1”,人体不存在为“0",开灯为“1”,关灯为“0”,那么环境光与人体存在可以用以下的逻辑关系表来表示,如表所示3。1:表3.1环境光与人体存在逻辑关系上表数据表明可将环境光参数与人体存在参数进行与操作,又由于继电器是低电平驱动,所以要将采集处理后的信号进行非操作,才可以驱动继电器工作,即可得到教室灯的状态。3。时钟模块在系统启动自检初始化时,首先会对时钟芯片DS1302的运行状态进行判断,当检测到DS1302处于启动状态时才对其进行初始化,启动时钟。实时时钟芯片DS1302的初始化及其读写程序设计的关键是要遵循其时序要求。1)数据输入输出在对DS1302进行各种操作之前,必须先对其初始化,即需要把复位输入RST端置为高电平,如果RST输入为低电平,那么所有的数据传送中止,且I/O引脚变为高阻抗状态。在数据读/写完后,RST端应置成低电平,以防止外部干扰对DS1302内部时钟的影响。同时,为了防止复位输入端受到外部的干扰,要求上电时,在主电源引脚Vcc2≥2.5V之前,RST必须为逻辑0。无论是读操作还是写操作,都必须在开头的8个时钟周期内把提供地址和命令信息的8位数据装入到DS1302的移位寄存器中。地址/命令信息用于指明40个寄存器中的哪个进行何种操作.数据在SCLK的上升沿串行输入,在开始的8个时钟周期把命令字装入移位寄存器之后,若跟随的是写命令字节,则在下8个SCLK周期的上升沿输入数据字节,若跟随在读命令字节的8个SCLK周期之后,在下8个SCLK周期的下降沿输出数据字节。程序流程如图3—3所示:图3-3数据输入输出流程图2)时钟程序设计驱动程序//寄存器宏定义#defineWRITE_SECOND0x80#defineWRITE_MINUTE0x82#defineWRITE_HOUR0x84#defineREAD_SECOND0x81#defineREAD_MINUTE0x83#defineREAD_HOUR0x85#defineWRITE_PROTECT0x8E//位寻址寄存器定义sbitACC_7=ACC^7;//管脚定义sbitSCLK=P3^5;//DS1302时钟信号7脚sbitDIO=P3^6;//DS1302数据信号6脚sbitCE=P3^7;//DS1302片选5脚//地址、数据发送子程序voidWrite1302(unsignedcharaddr,dat){unsignedchari,temp;CE=0;//CE引脚为低电平,数据传送中止SCLK=0;//清零时钟总线CE=1;//CE引脚为高电平,逻辑控制有效//发送地址for(i=8;i〉0;i——)//循环8次移位{SCLK=0;temp=addr;DIO=(bit)(temp&0x01);//每次传输低字节addr〉>=1;//右移一位SCLK=1;}//发送数据for(i=8;i>0;i—-){SCLK=0;temp=dat;DIO=(bit)(temp&0x01);dat>>=1;SCLK=1;}CE=0;}//数据读取子程序unsignedcharRead1302(unsignedcharaddr){unsignedchari,temp,dat1,dat2;CE=0;SCLK=0;CE=1;//发送地址16for(i=8;i〉0;i--)//循环8次移位{SCLK=0;temp=addr;DIO=(bit)(temp&0x01);//每次传输低字节addr>>=1;//右移一位SCLK=1;}//读取数据for(i=8;i〉0;i—-){ACC_7=DIO;SCLK=1;ACC〉〉=1;SCLK=0;}CE=0;dat1=ACC;dat2=dat1/16;//数据进制转换dat1=dat1%16;//十六进制转十进制dat1=dat1+dat2*10;return(dat1);}//初始化DS1302voidInitial(void){Write1302(WRITE_PROTECT,0X00);//禁止写保护Write1302(WRITE_SECOND,0x56);//秒位初始化Write1302(WRITE_MINUTE,0x34);//分钟初始化Write1302(WRITE_HOUR,0x12);//小时初始化Write1302(WRITE_PROTECT,0x80);//允许写保护}4.显示驱动模块系统运行过程中的数据显示是人机交互对话的一个重要通道。通过的显示系统数据,我们才可以更好的了解系统运行的状态,从而方便对整个系统进行必要的操作。本系统中采用共阳极的数码管,其中采用ULN2803作为驱动数码管的段选的芯片,采用简单又便宜的9012三极管来驱动数码管的位选,节约成本,程序编写简单。考虑到数码管驱动信号要求的电流较大,采用功率驱动器件ULN2803芯片。此芯片是八组NPN型达林顿功放三极管集成芯片,典型的输入电压是5V,集电极输出功率可达50V×0.6A.因此采用ULN2803共阳极数码管的段信号驱动器。而共阳极数码管的位信号驱动则采用8个晶体管9012来实现。又由于ULN2803为低电平驱动,所以数据送到单片机端口前,应在程序中先将数据取反.然后将数据送到ULN2803输入端相连接单片机的P0端口即可.每次先送一位要显示的数据字节,然后再送该位数码管的地址字节,直到8位显示完全.本系统在运行过程中需要显示查看的数据有时钟及显示数值。正常工作中8位显示器显示实时时钟,显示小时、分钟、秒,其中有两位用来显示“—",用以分隔显示小时、分钟和秒,这样显示更加清晰.五、系统调试运行及问题分析1。单片机系统调试方法及步骤单片机系统的调试应包括硬件及软件两部分,主要是通过调试发现硬件及软件中存在的问题,查看其运行结果是否符合设计要求.在对系统进行实际调试时,首先应对硬件进行静态调试,同时对系统软件进行初步调试,此后再对软件和硬件进行动态调试,最后才能使系统进入正常工作。(1)静态调试:静态调试主要是排除明显的硬件故障。在将芯片、传感器等元件连接到电路板上时,要保证各处电源极性、电压正确,以防止因电源极性接反或电压过高损坏芯片或传感器。此外,插入芯片必须在断电的情况下进行,特别注意芯片的方向不要插反.(2)软件调试:在软件调试时采用在计算机上利用模拟软件实现对单片机的硬件模拟、指令模拟及运行状态模拟,从而完成应用软件开发的全过程。调试过程中的运行状态、各寄存器状态、端口状态等都可以在指定的窗口区域显示出来,通过这些显示结果随时跟踪程序运行状态,以确定程序运行无错误。(3)动态调试:控制系统的软件和硬件是密切相关的,由于软件模拟开发系统不能对硬件部分进行诊断,同时也不能实时在线仿真,所以用户程序还需跟硬件连接起来进行联调,同时对软件和硬件进行检查和诊断.整个单片机系统进行在线调试时,需借助仿真开发工具来对用户软件及硬件电路进行诊断、调试。在应用系统各模块电路调试成功后,将程序加载到在线仿真器上,这时就能单步或连续地执行目标程序,同时也可以根据需要分段设置断点执行程序。而对于一些与硬件相关的用户程序,如接口驱动程序等,则需要配合硬件,进行在线调试,如果有逻辑错误,也要及时纠正修改.程序调试完毕后,利用编程器将程序固化到单片机中,使整个系统运行起来。各模块电路调试流程图如下示:图4-1电源调试图4—2单片机最小系统调试图4—3按键电路调试图4-4显示电路调试图4-5采集电路调试2.主要问题分析在本系统的调试过程中遇到的主要问题的分析与解决方案.电源供电电路中集成稳压器温度过高.分析解决:稳压器温度过高的原因之一是:变压器整流滤波后加到集成稳压器上的电压较高,使7805上的压降过大.此问题可通过选用输出电压低些的变压器,并在集成稳压器前串入两只二极管降压,同时增大散热片来解决。2.人体存在传感器有人存在时输出高电平的电压偏低分析解决:人体存在传感器输出高电平的电压偏低,单片机会产生误判,或采集不到正确的信号,于是在人体存在传感器的输出端加一个100KΩ的上拉电阻。3.人存在的教室中,若人体超过十秒没有活动,人体传感器是不会有信号输出的,那么如何判定教室此时有人的问题.分析解决:此问题在系统软件设计时,可将采集有人体信号存在的状态适当延长保持二至五分钟,并加以后续处理.4.单片机控制信号输出后,继电器没按预定设计产生动作。分析解决:单片机输出控制信号,在控制继电器时,必须加三极管来驱动,否则信号电流过小将不能使继电器产生吸合动作,而且必须采用三极管的集电极来驱动继电器,最后再带动负载.继电器驱动电路中还需注意的是要与继电器线圈并联一个续流二极管,增加对驱动三极管的保护。5.每次开机插上电源后,硬件时钟显示的时间都从所设初始值开始计时。分析解决:硬件时钟显示的时间不正常.解决办法:一方面是充电电池没有充电功能;另一方面是应对硬件时钟进行自检.六、总结该教室灯光系统的控制是以AT89S51单片机芯片为核心,通过相关电路的驱动,完成对系统设备(电灯)的控制,采用一个二极管闪烁显示整个系统的工作状态,实现了对教室灯光的自动开灯、关灯控制。系统控制单元的硬件电路中多采用集成电路(ULN2803,DS1302,X5045等),简化了电路设计,同时节省了单片机I/O口资源,为系统进一步扩展留下了空间。系统的硬件及软件设计,经实验初步证实了系统具有很好的稳定性,提高了电能的利用率。在保证稳定、可靠工作的前提下,硬件设计上尽量采用性价比高的元器件,以降低成本。软件设计上采用多任务形式对信号的采集、处理,达到最终控制灯光的目的。基于AT89S51单片机的教室灯光智能控制系统设计姓名:学号:专业:探测制导与控制技术基于单片机的智能电梯控制系统设计摘要本文介绍了一种采用单片机STC89C52芯片进行电梯控制系统的设计方法,主要阐述如何使用单片机进行编程来实现四层电梯的智能控制,利用单片机编程简洁而又多变的设计方法,缩短了研发周期,同时使电梯控制系统体积更小功能更强大。本设计实现了电梯控制系统所需的一些基本功能,能通过电梯内按键或者电梯外上升、下降按键选择楼层,数码管显示实时楼层数,LED显示实时电梯运行状态。原理图和PCB部分采用protel99se专业软件来设计,实现将设计产品化。本次设计更注重了把一些新的思路加入到设计中.主要包括采用了STC89C52芯片,使用C语言进行编程,使其具有了更强的移植性,更加利于产品升级。关键词:STC89C52;电梯控制系统;protel99se;C语言AbstractThispaperintroducesadesignmethodofusingSTC89C52chipforelevatorcontrolsystem,mainlydescribeshowtousemicrocontrollerprogrammingtoachievetheintelligentfourstoreyelevatorcontrol,thedesignmethodofmicrocontrollerprogrammingsimpleandvariable,shortensthedevelopmentcycle,atthesametimethattheelevatorcontrolsystemsmallerandmorepowerful.Someofthebasicfunctionsofthedesignandimplementationofelevatorcontrolsystemrequiredbytheelevator,elevatorbuttonsorrise,declinethekeytoselectthefloor,digitaltubedisplayreal—timenumberoffloors,LEDdisplayreal—timeoperatingstateofelevator.SchematicandPCBdesignusingProtel99SEsoftware,thedesignofproducts.Thisdesignpaysmoreattentiontosomenewideasintothedesign.IncludingtheuseoftheSTC89C52chip,theuseofClanguageprogramming,whichhasportabilitystronger,moreconducivetotheupgrading

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论