基于51单片机的照明控制系统.pdf

上传人:飞****9 文档编号:136861221 上传时间:2020-07-03 格式:PDF 页数:16 大小:674.83KB
返回 下载 相关 举报
基于51单片机的照明控制系统.pdf_第1页
第1页 / 共16页
基于51单片机的照明控制系统.pdf_第2页
第2页 / 共16页
基于51单片机的照明控制系统.pdf_第3页
第3页 / 共16页
基于51单片机的照明控制系统.pdf_第4页
第4页 / 共16页
基于51单片机的照明控制系统.pdf_第5页
第5页 / 共16页
点击查看更多>>
资源描述

《基于51单片机的照明控制系统.pdf》由会员分享,可在线阅读,更多相关《基于51单片机的照明控制系统.pdf(16页珍藏版)》请在金锄头文库上搜索。

1、广西科技大学广西科技大学 课课 程程 设设 计计 报报 告告 课程名称 单片机 C 语言应用程序设计 题目名称 基于单片机的照明控制系统 学生学院电气与信息工程学院 专业班级测控 121 学生学号201200304002 学生姓名黄诚文 2015年 7月 13日 一、设计项目简介一、设计项目简介 1. 设计意义及目的设计意义及目的 随着经济的发展和科技的进步,人们对照明器具节能和科学管理提出了 更高的要求,使得智能照明控制的地位越来越重要。传统的照明模式,只能是人 工操作,不灵活,费时费力。而采用智能照明控制系统后,可以根据不同场合, 对时间段和工作模式进行划分,把不必要的照明灯具关掉,在需要

2、时自动开启。 利用自然光,在保证必要照明的同时,有效减少了灯具的工作时间,节省了不必 要的能源开支,也延长了灯具的寿命。在一般情况下,不需要用户的参与,照明 控制系统自动实现开关功能大大减少了人们的管理工作。 因此在照明推广智能照 明系统具有重要的意义。 2. 系统功能描述系统功能描述 八盏灯依次点亮,即每按下一次开关就点亮一盏灯,八盏灯全亮后,重 复操作。该系统可以自动根据光照强度,实现自动开关灯。 3. 设计达到目标设计达到目标 用一个开关就能控制八盏灯,提高工作效率。光控开关灯,节约能源, 减低人力资源消耗。 二、二、系统硬件设计系统硬件设计 1. 硬件设计方案硬件设计方案 本设计采用的

3、单片机是 AT89C52,A/D 转换芯片为 ADC0804。 图图 2-1 系统硬件总述图系统硬件总述图 AT89C52 A/D 转换电路光敏电阻 光控LED 手动开关 手控LED STC89C52 单片机简介单片机简介 STC89C52 是 51 系列单片机的一个型号,它是 STCMEL 公司生产 的。STC89C52 是一个低电压,高性能 CMOS 8 位单片机,片内含 8k bytes 的可 反复擦写的 Flash 只读程序存储器和 256 bytes 的随机存取数据存储器(RAM), 器件采用 STCMEL 公司的高密度、非易失性存储技术生产,兼容标准 MCS-51 指令系统, 片内

4、置通用 8 位中央处理器和 Flash 存储单元, 功能强大的 STC89C52 单片机可为您提供许多较复杂系统控制应用场合。STC89C52 有 40 个引脚, 32 个外部双向输入/输出(I/O)端口,同时内含 2 个外中断口,3 个 16 位可编 程定时计数器,2 个全双工串行通信口,2 个读写口线,STC89C52 可以按照常规 方法进行编程,但不可以在线编程(S 系列的才支持在线编程)。其将通用的微处理 器和 Flash 存储器结合在一起,特别是可反复擦写的 Flash 存储器可有效地降低 开发成本。STC89C52 有 PDIP、PQFP/TQFP 及 PLCC 等三种封装形式,以

5、适应 不同产品的需求。 ADC0804 芯片芯片 集成 A/D 转换器品种繁多,选用时应综合考虑各种因素选取集成芯片。一般逐次比较 型 A/D 转换器用的比较多,ADC0804 就是这类单片集成 A/D 转换器。ADC0804 是一款 8 位、 单通道、 低价格 A/D 转换器, 主要特点是: 模数转换时间大约 100us; 方便 TTL 或 CMOS 标准接口;可以满足差分电压输入;具有参考电压输入端;内含时钟发生器;单电源工作时 (05)V 输入电压范围是 05V;不需要调零等等。ADC0804 是一款早期的 AD 转换器, 因其价格低廉而在要求不高的场合得到广泛应用。 2. 系统电路原理

6、图设计及说明系统电路原理图设计及说明 单片机最小系统,或者称为最小应用系统,是指用最少的元件组成的单片机可 以工作的系统。对 51 系列单片机来说,最小系统一般应该包括:单片机、晶振电 路、复位电路。 下图下图 2-2 为单片机最小系统为单片机最小系统 图图 2-2 下图下图 2-4 为为 ADC0804 经典电路连接经典电路连接 图图 2-3 下图下图 2-2 为为 ADC0804 与与 89C52 的连接的连接 图图 2-4 下图下图 2-5 为硬件整体连接图为硬件整体连接图 图图 2-5 3. 电路电路 PCB 图设计及说明图设计及说明 首先生成 PCB,然后拖动,如图 2-6 图 2-

7、6 然后设置双层自动布线并适当改动,然后放置走线。图 2-7 为最后改动结果 图 2-7 三、三、系统软件设计系统软件设计 1. 软件设计方案软件设计方案 照明控制系统 光 强 控 制 手 动 控 制 2. 软件设计框图(流程图)及说明软件设计框图(流程图)及说明 N Y N YY N 程序设计说明程序设计说明 光敏开关控制主要是由环境光的强弱来决定,当光照强度大时,光敏电阻阻 值下降,分压下降,当其值小于设定值时,灯灭;当其值大于设定值时,环境光 弱,则灯亮。 按键开关控制灯用到了外部中断和 Switch-case 语句。 当有按键按下时,中断开启,局部变量 flag+1。中断返回后,由 S

8、witch-case 语句根据 flag 的值来控制灯的开关。 开始 A/D 初 始化 外部中断初始化 中 断 检测是否有按 键按下? 延 时 Flag 加 1 环境光检测 等 待 中 断 检测按键是否释放 中 断 返 回 灯亮 光 线 足 够? Switch-case 灯亮 四、四、设计调试及结果分析设计调试及结果分析 图图 4-1 为刚开始运行的结果为刚开始运行的结果 图图 4-1 光控结果光控结果 当光敏值大于一定值(本次设定为 231)时,灯 D10 亮。如下图 4-2-1 图图 4-2-1 当小于此值时,灯灭,如图 4-2-2 图图 4-2-2 按键开关控制结果按键开关控制结果 每按

9、一次按键亮一盏灯,直到八盏灯全亮。 下图 4-3 为按一次按键的结果 图 4-3 下图 4-4 为连续按 5 次按键的结果 图 4-4 下图 4-5 为连续按 8 次按键的结果 图 4-5 此时再按一次按键所有灯灭,重复操作。 五、五、结束语结束语 通过这次课程设计,让我更加深刻了解课本知识,和以往对知识的疏忽得 以补充,在设计过程中遇到一些模糊的公式和专业用语,在使用手册时,有的数 据很难查出,但是这些问题经过这次设计,都一一得以解决,我相信这本书中还 有很多我为搞清楚的问题, 但是这次的课程设计给我相当的基础知识,为我以后 工作打下了严实的基础。 虽然这次课程是那么短暂的 2 周时间,我感

10、觉到这些 天我的所学胜过我这一学期所学, 这次任务原则上是设计,其实就是一次大的作 业,是让我对课本知识的巩固和对基本公式的熟悉和应用,计算机软件使用和 C 语言编程过程中的那些困难, 使我做事的耐心和仔细程度得以提高。课程设计是 培训学生运用本专业所学的理论知识和专业知识来分析解决实际问题的重要教 学环节,是对三年所学知识的复习和巩固。同样,也促使了同学们的相互探讨, 相互学习。因此,我们必须认真、谨慎、踏实、一步一步的完成设计。如果时间 可以重来,我可能会认真的去学习和研究,也可能会自己独立的完成一个项目, 我相信无论是谁看到自己做出的成果时心里一定会很兴奋。 此次设计让我明白了 一个很深

11、刻的道理:团队精神固然很重要,但人往往还是要靠自己的努力,自己 亲身去经历,这样自己的心里才会踏实,学到的东西才会更多。 六、六、附录附录 1. 电路原理图整体绘制图电路原理图整体绘制图 2. 电路电路 PCB 图整体绘制图图整体绘制图 3. 相关程序代码相关程序代码 #include #include sbit cs=P30; sbit wr=P32; sbit rd=P31; sbit deng=P34; sbit key=P33; unsigned char flag; void delayms(unsigned int xms) unsigned int i,j; for(i=xms;

12、i0;i-) for(j=110;j0;j-); read_adc0804() unsigned char a; cs=1; wr=1; cs=0; _nop_(); wr=0; _nop_(); wr=1; delayms(1); P1=0 xff; rd=1; _nop_(); rd=0; _nop_(); a=P1; rd=1; return a; void main() unsigned char b; EA=1; EX1=1; IT1=1; while(1) switch (flag) case 0:P2=0 xff;break; case 1:P2=0 xfe;break; /11

13、11 1110 case 2:P2=0 xfc;break; case 3:P2=0 xf8;break; case 4:P2=0 xf0;break; case 5:P2=0 xe0;break; case 6:P2=0 xc0;break; case 7:P2=0 x80;break; /1000 0000 case 8:P2=0 x00;break; case 9:P2=0 xfe;flag=0;break; b=read_adc0804(); if(b100)/213 deng=0; else deng=1; void duan(void) interrupt 2 delayms(10); if(key=0) flag+; while(!key); 要求在第四点中,给出仿真设计电路、仿真结果以及相关说明分析;做实物 的同学给出调试实物、结果图片以及相关说明分析。

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 学术论文 > 管理论文

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号