《单片机智能楼道灯设计.docx》由会员分享,可在线阅读,更多相关《单片机智能楼道灯设计.docx(21页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、题目基于 AT89C51 单片机的智能楼道灯设计系别班级姓名学号指导教师2023 年 3 月 16 日目录基于 AT89C51 单片机的智能楼道灯2摘 要1一、绪论21.1 选题的目的21.2 声控灯的争论背景及进展意义2二、总体方案设计32.1 系统设计的思路32.2 系统硬件描述32.3 系统软件描述3三、硬件的设计53.1 单片机功能介绍53.2 晶振电路83.3 复位电路83.4 最小系统整体图93.5 检测模块93.6 LED 显示模块103.7 按键模块103.8 蜂鸣器报警模块113.9 原理图绘制及 PCB 的制作11四、系统软件设计144.1 Keil C51 开发环境简介1
2、44.2 主程序流程图14五、系统调试与分析175.1 硬件系统调试175.2 软件系统调试17六、总结18七、参考文献19基于 AT89C51 单片机的智能楼道灯摘 要本设计是基于 51 单片机的智能楼道灯系统,主要由声控灯和蜂鸣器报警系统组成。当楼道中有人走过时,由于发出的脚步声或者其他人为声音,楼道就会自动实现灯亮,几分钟过后,灯光就会自动熄灭。假设消灭故障时,可以按下按键实现报警,然后进展修理。这种系统设计简洁便捷,适应民用楼道、办公楼道、工厂楼道等。声控灯模块电路主要时通过声音传感器检测声音模拟信号,然后经单片机数据处理,输出相应的功能信号,实现智能开关掌握。报警局部主要是由蜂鸣器和
3、按键组成,当系统发生故障时,可以按下按键发出报警声提示修理。系统硬件局部由单片机最小系统、声控灯模块电路、蜂鸣器报警、按键电路组成。软件局部时通过 C 语言编程实现相关的功能。设计过程中软硬件结合调试实现系统功能。关键词:单片机;声控灯;报警系统;声音传感器;蜂鸣器10一、 绪论1.1 选题的目的通过智能楼道灯的制作不仅能够提高自身专业学问的力量。而且也能够提高自己的实践力量,有效的将理论与实际相结合。本课题的设计主要是解决楼道中灯光自动掌握的问题,将很好有效的利用智能化技术与实际问题结合使用。1.2 声控灯的争论背景及进展意义随着社会的进展,智能化技术的得到大力的进展,国家也将节能环保列为重
4、要方针。国家节能中长期专项打算明确之处照明用电的节约。由此可见照明问题的到国家政策的重视,这就表达出智能照明技术将会走进人民的生活中。当今世界已经逐步走进智能化的电子世界,人工智能已经成为当今时代的一个主题,其意义将推动整个世界生产力的进步。由此可见电子自动化科技已经成为社会进展的必定趋势。本设计电路设计完备,完善了电能节约方面的问题,但电路也存在一个问题,假设要使声控灯只在天色昏暗的状况下执行却无法实现, 为此电路的设计仍旧需要升级到达更好的效果,为人们供给更满足的效劳。目前,我国在 LED 照明技术上已经很成熟,但与兴旺国家相比,还是存在着很大的差距,其电路所用的一些高端芯片主要还是依靠进
5、口。一个 LED 的综合质量不仅仅取决于节能与光亮,其封装技术也占据很大的地位,能够间接的打算集成电路的空间使用。所以声控灯的进展在国内仍旧占据有很大的市场,可开发性很大。二、 总体方案设计2.1 系统设计的思路本设计是通过 AT89C51 单片机实现掌握智能声控灯及报警功能。声控局部依靠声音传感器采集信号并输入至单片机,经单片机处理,输出相应功能信号, 实现开关智能掌握 LED。报警局部由蜂鸣器与按键组成,主要作用是当系统发生故障时按下按键实现报警。硬件电路主要由单片机最小系统与相关外围电路组成。外围电路有声音检测模块、按键模块、LED 模块、蜂鸣器报警电路。软件局部主要是依据功能进展C 语
6、言编程,软硬结合实现系统功能。2.2 系统硬件描述基于 AT89C51 单片机系统的智能楼道灯根本构造框图如图 2-1 所示:图 2-1 系统设计框架该系统所需要的硬件器件包括 AT89C51 单片机、LM393 比较器一个、声音检测传感器、LED 发光二极管假设干个、有源蜂鸣器、12MHZ 晶振一个、按键 2 个、相关电阻电容假设干个。2.3 系统软件描述系统程序实现两局部功能:声控灯局部实现声音信号的有无掌握发光二极管的亮灭功能;报警局部实现按键掌握蜂鸣器报警。整体功能程序流程框图如图 2-2 所示:图 2-2 整体功能流程框图三、硬件的设计3.1 单片机功能介绍本设计的单片机最小系统主要
7、包括 AT89C51 芯片,晶振电路和复位电路。以下介绍主芯片单片机与最小系统电路。AT89C51 是一种带 8K 字节闪耀可编程可擦除只读存储器的低电压,高性能COMOS8 的微处理器,俗称单片机。该器件承受 ATMEL 搞密度非易失存储器制造技术制造,与工业标准的 MCS-51 指令集和输出管脚相兼容。表 3-1 给出了其主要功能。兼容 MCS51 指令系统32 个双向 I/O 口表 3-1 AT89C51 主要功能主要功能特性8K 可反复擦写 Flash ROM 256x8bit 内部 RAM3 个 16 位可编程定时/计数器中断2 个串行中断2 个外部中断源2 个读写中断口线低功耗空闲
8、和掉电模式AT89C51 各管脚如图 3-1 所示。时钟频率 0-24MHz可编程 UART 串行通道共 6 个中断源3 级加密位软件设置睡眠和唤醒功能图 3-1 AT89C51 管脚图主电源引脚(2 根) VCC(Pin40):电源输入,接5V 电源GND(Pin20):接地线(2)外接晶振引脚(2 根) XTAL0(Pin18):片内振荡电路的输入端XTAL1(Pin19):片内振荡电路的输出端(3)掌握引脚(4 根)RST/VPP(Pin9):复位引脚,引脚上消灭 2 个机器周期的高电平将使单片机复位。ALE/PROG(Pin30):地址锁存允许信号 PSEN(Pin29):外部存储器读
9、选通信号 EA/VPP(Pin31):程序存储器的内外部选通,接低电平从外部程序存储器读指令,假设接高电平则从内部程序存储器读指令。(4)可编程输入/输出引脚(32 根)STC89C52 单片机有 4 组 8 位的可编程 I/O 口,分别位 P0、P1、P2、P3 口, 每个口有 8 位(8 根引脚),共 32 根。P0 口(Pin39Pin32):名称为P0.0P0.7。P0 口是一个 8 位漏极开路的双向 I/O 口。作为输出口,每位能驱动 8 个 TTL 规律电平晶体管-晶体管规律电平。P1 口(Pin1Pin8):名称为 P1.0P1.7。P1 口是一个具有内部上拉电阻的8 位双向 I
10、/O 口,p1 输出缓冲器能驱动 4 个 TTL 规律电平。对 P1 端口写“1” 时,内部上拉电阻把端口拉高,此时可以作为输入口使用。作为输入使用时,被外部拉低的引脚由于内部电阻的缘由,将输出电流IIL。此外,P1.0 和 P1.2 分别作定时器/计数器 2 的外部计数输入P1.0/T2和时器/计数器 2 的触发输入P1.1/T2EX,具体如下所示。 在 flash 编程和校验时,P1 口接收低 8 位地址字节。P2 口(Pin21Pin28):名称为 P2.0P2.7。P2 口是一个具有内部上拉电阻的 8 位双向I/O 口,P2 输出缓冲器能驱动 4 个TTL 规律电平。对 P2 端口写“
11、1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。作为输入使用时,被外部拉低的引脚由于内部电阻的缘由,将输出电流IIL。在访问外部程序存储器或用 16 位地址读取外部数据存储器例如执行 MOVX DPTR时,P2 口送出高八位地址。在这种应用中,P2 口使用很强的内部上拉发送 1。在使用 8 位地址如 MOVX RI访问外部数据存储器时,P2 口输出 P2 锁存器的内容。在flash 编程和校验时,P2 口也接收高 8 位地址字节和一些掌握信号。P3 口(Pin10Pin17):8 位准双向 I/O 口线,名称为P3.0P3.7。P3 口是一个具有内部上拉电阻的 8 位双向 I/O 口,
12、p2 输出缓冲器能驱动 4 个 TTL 规律电平。对 P3 端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。作为输入使用时,被外部拉低的引脚由于内部电阻的缘由,将输出电流IIL。 P3 口亦作为STC89C52 特别功能其次功能使用,如下表所示。在flash 编程和校验时,P3 口也接收一些掌握信号。P3 特别引脚端口其次功能:此外,P3 口还接收一些用于 FLASH 闪存编程和程序校验的掌握信号。RST复位输入。当振荡器工作时,RST 引脚消灭两个机器周期以上高电平将是单片机复位。 ALE/PROG当访问外部程序存储器或数据存储器时,ALE地址锁存允许输出脉冲用于锁存地址的低
13、 8 位字节。一般状况下,ALE 仍以时钟振荡频率的 1/6输出固定的脉冲信号,因此它可对外输出时钟或用于定时目的。要留意的是:每当访问外部数据存储器时将跳过一个 ALE 脉冲。对 FLASH 存储器编程期间,该引脚还用于输入编程脉冲PROG。如有必要, 可通过对特别功能存放器SFR区中的 8EH 单元的D0 位置位,可制止 ALE 操作。该位置位后,只有一条 MOVX 和 MOVC 指令才能将 ALE 激活。此外,该引脚会被微弱拉高,单片机执行外部程序时,应设置 ALE 制止位无效。PSEN程序储存允许PSEN输出是外部程序存储器的读选通信号,当STC89C52 由外部程序存储器取指令或数据
14、时,每个机器周期两次 PSEN 有效, 即输出两个脉冲,在此期间,当访问外部数据存储器,将跳过两次 PSEN 信号。EA/VPP外部访问允许,欲使 CPU 仅访问外部程序存储器地址为0000H-FFFFH,EA 端必需保持低电平接地。需留意的是:假设加密位 LB1 被编程,复位时内部会锁存EA 端状态。如EA 端为高电平接Vcc 端,CPU 则执行内部程序存储器的指令。FLASH 存储器编程时,该引脚加上+12V 的编程允许电源 Vpp,固然这必需是该器件是使用 12V 编程电压 Vpp。3.2 晶振电路最小系统晶振电路如图 3-6 所示。图3-2 晶振电路图AT89C51 单片机引脚XTAL
15、0 和XTAL1 分别是内部反相放大器的输入端和输出端。时钟可由内部自激振荡产生,也可以由外部时钟振荡产生。由于内部振荡缺乏以驱动外界负载,所以需要外界晶振电路。晶振大小选择 12MHZ,电容选择5-30PF,电容值的大小可以起到对频率微调的作用。3.3 复位电路最小系统复位电路如图 3-7 所示。图3-3 复位电路图无论系统使用哪种类型的单片机,总需要涉及到复位电路,复位电路能够直接影响到系统运行的稳定性。在系统总体测试时,有时会遇到死机现象,着主要是由于复位电路设计不合理引起的,也可能是由于程序的错误导致死循环。复位电路的主要功能是,给系统一个复位信号,系统程序指针就会指向原始处,使得系统
16、重执行程序。复位电路的参数是在确定系统晶振电路无误后且系统上电振荡稳定后,使得复位高电平持续保持俩个以上机器周期的高电平。3.4 最小系统整体图最小系统整体电路如图 3-8 所示。图 3-4 最小系統整体图3.5 检测模块声音检测模块设计显得相对简单,这也是本系统核心功能电路之一。驻极体传声器依靠一个上拉电阻与一个电容相连接。当声音传感器检测到声音信号时, 检测模块将模拟信号转换为电压信号。三极管基极由于加上电容的电压,从而构成一个根本的运算放大电路,三极管将其电压信号进展放大,并加在运算器正输入端。当比较器正极输入端电压信号大于负极输入端电压信号时,将会输出一个高电平信号,当比较器正极输入端
17、电压信号小于负极输入端电压信号时,将会由比较器输出一个低电平。比较器的输出端接入单片机的 P3.2 口。检测模块电路如图 3-5 所示。图 3-5 检测模块图3.6 LED 显示模块LED 显示模块硬件接法较为简洁,发光二极管阴极通过一个限流电阻与单片机的输入端 P1.3 相连,阳极接 5V 电源。LED 显示模块电路如图 3-6 所示。3.7 按键模块图 3-6 LED 模块电路图按键俩个引脚不分正负,其中一个接低,另一个引脚接在了单片机的 P2.0 接口上。当消灭故障时。按下按键,蜂鸣器报警。 其硬件电路如下所示:13.8 蜂鸣器报警模块图 3-7 按键模块电路图蜂鸣器发生原理主要是电流通
18、过电磁线圈,从而产生磁场驱动内部振荡膜发声,因此,蜂鸣器需要到达肯定的电流才能够驱动它。由于单片机本身输出端口电流较小,缺乏以驱动蜂鸣器。因此,需要在二者之间增加一个三极管,起到放大电流的作用。报警模块作用,当系统发生故障时,手动按下按键,蜂鸣器就会发声报警, 同时发光二极管也会发光,实现了声光报警。图 3-8 蜂鸣器报警模块电路图3.9 原理图绘制及 PCB 的制作1、通过画图软件 Altium Designer 制作 PCB 图,制作 PCB 通常会包括以下根本步骤:1画原理图,目地是生成对应的网表和元器件封装要用于建 PCB 以及便于后期查看;2通过上一步完成的原理图生成 PCB,原理图
19、的 DRC 检查通过后会进入到 PCB编辑界面;3PCB 元件的布局,一般先放主芯片。4PCB 布线,依据指示的网络飞线在电路上设置布线;5PCB 图的 DRC 检查,这个是必要的工作,防止一些布局或走线上的错误出现;6将 PCB 文件发送给制作板子的厂家。2、通过 Altium Designer 画好系统的电路原理图。图 3-9 系统原理图12将绘制好的原理图执行更改、生效更改后导入 PCB 文件,然后在进展器件的布局、布线、打孔、覆铜等步骤。最终进展规章检查,生成合理的PCB 板。其PCB 板图如下:图 3-10 PCB 板布线图四、系统软件设计4.1 Keil C51 开发环境简介假设说
20、硬件是系统的躯壳主干,那么软件局部就是系统运行的内脏。所谓的软件设计主要包括软件流程图的设计和程序的编写。流程主要表达了系统运行的一个过程和思路,程序的编写牵涉到开发环境的编写软件。本设计的程序编写使用 keil 软件。编程语言承受通俗易懂的 C 语言编程,程序承受模块化编程,便利调试和检查。4.2 主程序流程图主程序流程框图如以下图所示:4-1 主程序流程框图依据流程图编写模块化程序,具体程序代码如下所示: #include #define uchar unsigned char #define uint unsigned intsbit D=P13; /灯sbit K=P20;/按键sbi
21、t BEEP=P21;/蜂鸣器bit flag;uint t;void delay(uint dly)/延迟子函数uint i,j; for(i=255;i0;i-)for(j=dly;j0;j-) ;void mainEA=1;/开单片机总中断EX0=1;/开单片机外部中断 1 IT0=0;/设置中断触发方式if(K=0)delay(5); if(K=0) BEEP=0;else BEEP=1;voidexter0interrupt0/声音检测传感器采集信号输入至单片机外部中断D=0;/灯亮delay(4000);/作用是延时,起到自动熄灭D=1;/灯灭五、系统调试与分析5.1 硬件系统调试
22、单片机为本设计最核心的器件,所以在硬件测试时必需先测试单片机的运行状况。上电后,使用万用表测量时钟电路上的电压是否与手册上的电压相近,正常电压范围处于 2.24V-2.09V。然后收动模拟复位电路,观看是否正常运行。1、在全部器件全部焊接完成后通电觉察灯不亮,系统无法运行。解决方法:在我对系统各电路进展逐一检查时觉察电源供电有问题,检查后觉察原来电源焊接脚有的脚虚焊,在重补锡焊接后顺当解决这个问题。2、在通电测试时觉察有些 LED 灯不亮或者闪耀不定。解决方法:我先把各层灯分别取下来,然后单个灯用万用表测,遇到坏掉的LED 灯时,就将此灯换掉。在测试过程中消灭了一些小问题,下面是问题和问题的解
23、决方法:5.2 软件系统调试1、编译过程中提示定义变量不明确解决方法:找到定义不明确的变量,再到程序定义处觉察定义变量前没有写sbit 声明。2、程序下载后不执行任何功能解决方法:先是检查硬件电路接线,排解接线问题后。认真检查程序,编译通过,但是在循环处消灭一个规律性错误,经过修改,下载到芯片中,执行功能正确。由于本设计电路设计不是过于简单,从而在编写程序中也显得没有那么简单。但是在编写和调试中仍旧消灭一些问题,下面是问题和问题的解决方法:六、总结经过几个越的不屑努力,我的毕业设计最终完成了。此次毕业设计中,我的专业力量和实践力量都得到了显著的提高。但是其中历程也是很艰辛的,首先在我拿到毕业设
24、计题目时,我就感觉自己一头雾水,虽然在以前上课过程中学习过单片机的学问,但是现在使用单片机实现一个具体的功能,还真是有点摸不着头脑。于是我请教了指导教师,教师在给我分析了系统实现的功能后,使得我渐渐找到了方向,完成了自己的初步提纲。在设计过程中,通过查阅图书和网上文献逐步完善论文的细节,在理论上实现了功能。后来自己开头编写程序和绘制原理图,这是一个软件学习的过程,在学习中,通过不断的尝试与更改使得更加生疏软件的使用,最终一步步完成了程序的编写与原理图的绘制。这次设计使得我懂得了不仅仅需要将理论学问学的透彻,也要将理论与实践相结合,这样才能够真正的学习到技术的精华,为以后工作打下坚实的根底。七、
25、参考文献1 胡汉才.单片机原理及其接口技术M.北京:清华大学出版社,2023.2 杜洋.爱上单片机M.北京:人民邮电出版社,2023.3 郭天祥.概念 51 单片机 C 语言教程M.北京:电子工业出版社,2023.4 杨天怡,黄勤.单片机原理及应用M.北京:清华大学出版社,20235 张毅刚编 MCS-51 单片机应用设计M哈尔滨工业大学出版社,2023.6 刘坤51 单片机 C 语言应用开发技术大全M.人民邮电出版社,2023.8 王平计算机掌握系统M自动化教学部,2023.9 童诗白,华成英模拟电子技术根底M高等教育出版社,2023.01.10 陈国平MC-51 系列单片机系统原理与设计M冶金工业出版社, 2023.03.11 刘征宇电子电路设计与制作福建科学技术出版社, 2023.09.