ImageVerifierCode 换一换
格式:DOCX , 页数:20 ,大小:102.74KB ,
资源ID:5694641      下载积分:2 文币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.wenkunet.com/d-5694641.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录   微博登录 

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(单片机课程设计 智能台灯.docx)为本站会员(yoyooong)主动上传,文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知文库网(发送邮件至13560552955@163.com或直接QQ联系客服),我们立即给予删除!

单片机课程设计 智能台灯.docx

1、目录第一章 需求与分析4第二章 总体设计方案52.1 设计要求52.2 方案选择6第三章 系统详细设计63.1 系统概述63.2 LED照明电路63.3 光照强度采集电路63.4 人体红外检测电路73. 5 案件输入模块73.6 原理图73.7 主程序8第四章 系统实现与测试204.1 元器件的选择与测量204.2 元器件的焊接与测量204.3 实物的调试20第五章 总结21参考文献22一、需求分析 在这个时代在快速发展的大背景下,随着社会的不断进步,人类的不断追求,市场的变幻莫测,高科技应用的快速更新决定着产品发展的新趋势和前景,智能化技术在电子产品领域的应用意义深远。随着电子产品的快速发展

2、,家用电器也越来越偏向智能化,已经应用于实际中的有智能洗衣机,智能电饭锅,智能电磁炉等,而所用的智能化家用电器都用一个共同的特点,都是利用单片机作为中央控制单元。该设计是以STC89C51RC单片机为控制核心的集多种功能于一体的智能LED台灯。该台灯实现了光亮度具有手动、自动两种调节方式,还具有红外遥控功能。通过单片机C语言编程进行软件设计,综合实现了全部控制功能。当台灯的范围内光线较暗且人在范围内,自动模式下感应装置将使台灯开启,且随着环境光线的改变台灯将自动改变亮度,当人远离台灯范围时,一段时间后台灯自动熄灯。本设计通过人体检测和亮度的自动调节控制台灯开关来达到绿色节能的效果。同时为了提高

3、本设计的适用范围,还加入了手动模式的控制,在该模式下,台灯亮度由按键调节,这样使得该台灯在一些特殊情况下也能适用。二、系统总体设计2.1 设计要求(1)熟悉51单片机集成开发环境,运用C语言编写工程文件;(2)熟练单片机的内部结构、资源,以及软硬件调试的基本方法;(3)构建基于单片机的最小系统,完成硬件电路的设计并实现;(4)理解智能台灯的原理和掌握实现方法。2.2 方案选择方案一:意法半导体系列意法半导体公司的STM32系列是其产品下的一款低功耗产品,采用的是Cortex-M内核的低功耗处理器。32位强大的处理器为其带来了强大的计算功能,配上一流的外设,优异的兼容性为开发人员带来很大便利。方

4、案二: STC宏晶科技作为国内最大的芯片生产厂商之一,STC无疑是我国芯片行业的典范,其开发的基于8051内核的单片机目前已经占领了全球80%以上的市场,可以说,STC89C51,就代表了51单片机这个系列。虽然目前市面上的主流为32位处理器,而且实时也证明了32位处理器在性能上远优于8位处理器。但是在低功能的场合例如玩具、消防以及环境检测等,性能要求不高但是低功耗的场合,宏晶的51系列的性能就显得尤为明显,超低的功耗加上超高的性价比,使其依旧在市场上有一席之地。根据项目功能分析可知,在该设计中,需要一个模拟量输入,一对I2C通信接口,一个PWM波输出接口和两个普通I/0接口即可。所需资源并不

5、是太多。根据项目分析并结合单片机片上资源分析后,首先排除32系列单片机,无需那么高的片上资源。此外经过分析,此处认为Arduino系列单片机做该款产品再适合不过,资源足够且不是过多,综合考虑到51单片机上无A/D转换芯片需要外加等特点。但是考虑到价格,Atmega328p一块价格就达到了51的4倍左右,因此不适合作为工程来使用,在此被放弃。综上所述,我们采用STC89C51(52)做为主控芯片,配合上模数转换芯片,完成该项目的设计。3、 系统详细设计3.1 整体方案设计3.1.1 系统概述整个系统以STC89C52单片机为核心器件,配合电阻电容晶振等器件,构成单片机的最小系统。其它个模块围绕着

6、单片机最小系统展开。其中包括,照明设备采用USB小灯进行模拟,使得设计在外形上更加美观,在USB小灯内部,是6颗白色的LED灯;围绕其展开的还有光照强度采集模块,人体感应模块;指示灯模块,按键模块,供电采用常用的USB供电。3.1.2 系统框图图3-13.2 LED照明电路3.2.1 LED灯的原理LED灯照明电路如图3-2所示。本设计采用市面上的一种USB小灯作为照明设备,拆开这个小灯的外壳可以发现,里面其实是6个白色的LED灯串联了6个电阻。只要单片机该IO口输出一个低电平信号,即可控制三极管导通,LED灯就会点亮。图3-2 LED照明电路3.3 光照强度采集电路光照强度采集模块使用为8位

7、分辨率A/D转换芯片ADC0832,它的分辨可以达到256级,该模块的电路图如图3-3所示。图3-3光照强度采集电路3.4 人体红外检测电路人体感应模块电路使用HC-SR501,电路图如图所示。 3.5 按键输入模块本设计采用独立键盘的方式。按键的连接图如下:图3-53.6原理图图3-63.7主程序#include#include#defineucharunsignedchar /以后unsignedchar就可以用uchar代替#defineuintunsignedint /以后unsignedint就可以用uint代替sbitLED=P10; /模式指示灯,亮是自动模式,灭是手动模式sbi

8、tLamp=P14; /台灯控制引脚sbitKey1=P11; /按键1,模式切换按键sbitKey2=P12; /按键2,亮度减少按键sbitKey3=P13; /按键3,亮度增加按键sbitADC_CS=P23; /ADC0832的CS引脚sbitADC_CLK=P20; /ADC0832的CLK引脚sbitADC_DAT=P21; /ADC0832的DI/DO引脚sbitModule=P22; /人体红外检测模块uchargCount=0; /全局计数变量uchargIndex; /亮度变量,0是最暗,9是最亮,一共10档uintgTime=0; /计时变量,用于计时多久没检测到有人/毫

9、秒级的延时函数,time是要延时的毫秒数voidDelayMs(uinttime)uinti,j;for(i=0;itime;i+)for(j=0;j112;j+);/ADC0832的时钟脉冲voidWavePlus()_nop_();ADC_CLK=1;_nop_();ADC_CLK=0;/获取指定通道的A/D转换结果ucharGet_ADC0832()uchari;uchardat1=0;uchardat2=0;ADC_CLK=0; /电平初始化ADC_DAT=1;_nop_();ADC_CS=0;WavePlus(); /起始信号ADC_DAT=1;WavePlus(); /通道选择的第

10、一位ADC_DAT=0;WavePlus(); /通道选择的第二位ADC_DAT=1;for(i=0;i8;i+) /第一次读取dat1=1;WavePlus();if(ADC_DAT)dat1=dat1|0x01;elsedat1=dat1|0x00;for(i=0;i=1;if(ADC_DAT)dat2=dat2|0x80;elsedat2=dat2|0x00;WavePlus();_nop_(); /结束此次传输ADC_DAT=1;ADC_CLK=1;ADC_CS=1;if(dat1=dat2) /返回采集结果returndat1;elsereturn0;/定时器初始化voidTimer

11、Init()TMOD=0x01; /使用定时器0,工作方式1 TH0=252; /给定时器0的TH0装初值TL0=24; /给定时器0的TL0装初值 ET0=1; /定时器0中断使能EA=1; /打开总中断TR0 =1; /启动定时器0/手动控制voidManualControl()/亮度减少if(Key2=0) /如果按键2被按下去if(gIndex0) /只要当前亮度不为最低才能减少亮度gIndex-; /亮度降低一档DelayMs(300); /延时0.3秒/亮度增加if(Key3=0) /如果按键3被按下去if(gIndex9) /只要当前亮度不为最高才能增加亮度gIndex+; /亮

12、度增加一档DelayMs(300); /延时0.3秒/自动控制voidAutoControl(ucharnum)if(num65)&(num87)&(num109)&(num131)&(num153)&(num175)&(num197)&(num219)&(num241) /最暗gIndex=0;sbitLED1=P30;/主函数voidmain()ucharret;TimerInit(); /定时器初始化LED=0; /指示灯点亮(自动模式指示灯)ret=Get_ADC0832(); /获取AD采集结果(环境光照强度)AutoControl(ret); /上电先进行一次自动亮度控制 Auto

13、Control(ret+7);while(1)/*模式切换控制*/if(Key1=0) /如果按键1被按下去LED=LED; /切换LED灯状态DelayMs(10); /延时消除按键按下的抖动while(!Key1); /等待按键释放DelayMs(10); /延时消除按键松开的抖动/*亮度控制*/if(LED=1) /如果LED是灭的ManualControl(); /则进行手动控制else /如果LED是亮的if(gTime60000) /如果gTime的值超过了60000gTime=60000; /则把gTime的值重新赋值为60000,避免过大溢出gIndex=0; /如果1分钟检测

14、不到有人,则把台灯熄灭/定时器0服务程序,1毫秒voidTimer0(void)interrupt1TH0=252; /给定时器0的TH0装初值TL0=24; /给定时器0的TL0装初值 gTime+; /每1毫秒,gTime变量加1gCount+; /每1毫秒,gCount变量加1if(gCount=10) /如果gCount加到10了gCount=0; /则将gCount清零,进入新一轮的计数if(gIndex!=0) /如果说台灯不是最暗的(熄灭)Lamp=0; /则把台灯点亮if(gCount=gIndex) /如果gCount计数到和gIndex一样了if(gIndex!=9) /如

15、果说台灯不是最亮的Lamp=1; /则把台灯熄灭四、系统实现与测试4.1 元器件的选择与测量本次设计的元器件主要有:STC89C52单片机、晶振、电阻、电容、按键、开关、电源座、三极管、发光二极管、AD芯片、红外热释传感器等。这些元器件的引脚需要我们认真查找资料,了解每个器件的特性再进行焊接。其中焊接时要注意元件正负极性,电阻电容大小、芯片引脚顺序等细节。一般电阻的大小可以通过色环读取,或直接用万用表进行测量;电容和晶振等的大小会标准在元件本身;元件的正负可以遵循长正短负的原则,一些特殊元件可以通过查找资料获知正负极。4.2 元件的焊接与组装组装电路通常采用焊接和在面包板上插接两种方法,无论采

16、用哪种方法均应注意以下几方面。 (1)元器件在组装前全部进行测试。 (2)所有集成电路的组装方向要保持一致,以便于正确进行焊接合理安排布线。 (3)分立元件时应仔细辨明器件的正反向,标志应处于比较容易观察的位置方便检查和调试。组装时一定要特别注意极性。 4.3 实物的调试4.3.1 调试步骤(1)通电前检查 电路焊接完毕后, 不要急于通电,首先要根据原理电路认真对照检查电路中的接接线是否正确,并且还要检查每个元件引脚的使用端数是否与图纸相符 (2)通电观察 在电路安装没有错误的情况下接通电源(先关断电源开关,待接通电源连线之后再打开电路的电源开关) 五、总结经过二十多天的努力,本次设计的任务基

17、于单片机的智能台灯设计已经完成。这个设计题目并不是新的,但从中能体现到一个系统开发设计的过程,足于让我们受益。能够从设计、论证、制板、编程到最终的调试成功。完成整个系统的设计,这是一次难得的实践机会。由于我的单片机课程的基础并不是很好,所以这次课设的过程并不顺利,但最终还是没有半途而废,完成了这次课设。通过这次设计,我认识到了我由于理论知识的不足带来的很多困难,也知道了自己所缺的东西。在设计过程中也有有很多地方难免存在不足之,以后的我会严格要求自己最求完美。再看看这次的设计,还可以扩展很多功能,比如遥控,护眼等等的功能,都可以大大提高设计的智能化程度。参考文献1颜重光.LED灯具低压驱动技术J

18、.电子设计应用,2008.61页2徐延凤.浅谈LED室内照明光引擎及其调光方式J.上海照明科技及应用趋势论坛,2012 3朱丽丽.基于AVR单片机与温度传感器DS18B20的多点温度测量J.电工电气,2010 4颜重光.LED灯具低压驱动技术J.电子质量,2009 5郑永义.量像频移脉宽调制(F-PWM)调光J.上海节能,2012 6丁明亮,唐前.51单片机应用设计与仿真-基于Keil C与Proteus.北京:北京航空航天大学出版社,2009年 7李华主编.MCS251系列单片机实用接口技术M.北京:北京航天航空大学,2003年.1937 8袁新燕.关于“单片机原理与应用”教学的讨论J.电脑开发与应用,1997,10(4):5659 9程安宁,王晋.电子设计工程.白光LED的PWM驱动方式分析,2010(2) 109-111页 10赵国强,智能台灯,科学启蒙,2007,第Z1期 11黄继昌.电子元器件应用手册,北京:北京人民邮电出版社,2004 12李朝青.单片机原理及接口技术(第三版).北京:北京航空航天大学出版社,2005 13位永辉;杨威, 基于BISS0001的智能台灯设计,电子元器件应用,2010,第7期 14周航慈.单片机应用程序设计技术M.北京:北京航空航天大学出版社,2011 15张毅刚.MCS-51单片机应用设计M.哈尔滨:哈尔滨工业大学出版社,2007 20

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:文库网官方知乎号:文库网

经营许可证编号: 粤ICP备2021046453号世界地图

文库网官网©版权所有2025营业执照举报