点亮led小灯(流水灯)
- 格式:doc
- 大小:57.50 KB
- 文档页数:2
课程设计报告(论文)设计课题:流水灯专业班级:学生姓名:指导教师:设计时间:单片机技术课程设计课程设计任务书姓名:专业:班级:指导教师:职称:课程设计题目:流水灯已知技术参数和设计要求:要求电路开启后:led灯逐个亮,逐个灭以中间四点为中心,向外扩散四个灯顺时针亮灯顺时针亮从左往右亮从下往上亮上半部分亮下半部分亮所需仪器设备:计算机一台单片机最小系统一套成果验收形式:设计成果现场验收、回答提问、课程设计报告参考文献:单片机课程教材时间安排指导教师:教研室主任:注:本表下发学生一份,指导教师一份,栏目不够时请另附页。
课程设计任务书装订于设计计算说明书(或论文)封面之后,目录页之前。
内容摘要电子技术实验是一门重要的实践性技术基础课程。
开设本课程的目的在于使学生理论联系实际,在老师的指导下完成大纲规定的实验任务。
通过实验熟悉电工.电子技术的应用中常用的设备和电子器件,熟悉常用仪器的使用方法,掌握正确记录.处理实验数据、绘制曲线、分析实验结果的方法,从而开发学生分析问题或解决问题的能力,培养学生具有严谨的工作作风,实事求是的科学态度,刻苦钻研、勇于探索和创新的开拓精神以及遵守纪律、团结协作和爱护公物的优良品质,为今后从事专业科研工作和工程技术工作打下良好的基础。
流水灯是一串按一定的规律像流水一样连续闪亮。
流水灯控制是可编程控制器的一个应用,其控制思想在工业控制技术领域也同样适用。
索引关键词:流水灯循环亮灭目录一概述 (1)二方案设计与论证 (1)三单元电路设计与参数计算 (2)四总原理图及元器件清单 (3)五安装与调试 (4)(一般分静态调试与动态调试两大内容)六性能测试与分析 (4)(要围绕设计要求中的各项指标进行)七结论 (4)八心得体会 (4)九参考文献 (4)附录:程序一、概述要求电路开启后,灯在时钟信号作用下按以下规律转换状态。
电路开启后:led灯逐个亮,逐个灭,以中间四点为中心,向外扩散,四个灯顺时针亮,灯顺时针亮,从左往右亮,从下往上亮,上半部分亮,下半部分亮二、方案设计与论证实现单片机流水灯很简单,但是我们不能说P1.0你变低,它就变低了。
一、实验目的1. 掌握单片机的基本原理和操作方法。
2. 熟悉单片机编程环境Keil的使用。
3. 熟悉LED流水灯的原理和编程方法。
4. 培养动手实践能力和团队协作精神。
二、实验原理1. 单片机(Microcontroller Unit,MCU)是一种具有中央处理器(CPU)、存储器(RAM、ROM)和输入输出接口(I/O)等功能的集成电子电路。
它广泛应用于各种电子设备中,如家用电器、工业控制、汽车电子等。
2. LED(Light Emitting Diode,发光二极管)是一种半导体器件,具有单向导电性。
当电流通过LED时,会发出光亮。
3. 流水灯是一种通过控制LED灯的亮灭,模拟流水效果的电子装置。
在单片机控制下,可以实现不同形式的流水灯效果。
三、实验设备1. 单片机实验板(如STC89C52单片机实验板)2. LED灯若干3. 跳线若干4. 电阻若干5. 电源(5V)6. Keil软件四、实验步骤1. 硬件连接(1)将单片机的P1.0-P1.7引脚与LED灯的正极相连,负极接地。
(2)将电阻串联在LED灯和单片机引脚之间,起到限流作用。
(3)将单片机的VCC和GND分别连接到5V电源的正负极。
2. 软件编写(1)在Keil软件中创建一个新的项目,选择相应的单片机型号。
(2)编写主函数main(),实现流水灯的编程。
(3)初始化单片机的P1口为输出模式。
(4)定义延时函数Delay(),实现流水灯的延时效果。
(5)在主循环中,通过改变P1口的高低电平,控制LED灯的亮灭,实现流水灯效果。
(6)保存并编译程序。
3. 程序调试(1)将编译后的程序下载到单片机实验板中。
(2)观察LED灯的流水效果,检查程序是否正确。
(3)如有错误,修改程序并重新编译、下载。
五、实验结果与分析1. 实验结果通过实验,成功实现了LED流水灯效果,实现了不同形式的流水灯效果。
2. 实验分析(1)在实验过程中,学习了单片机的基本原理和操作方法,掌握了Keil软件的使用。
串口通信控制流水灯应用开发课件一、概述其实流水灯并不是一个遥不可及的高科技产品,简单来说它就是由一组LED灯组成的,通过特定的程序控制,让LED灯按照一定的顺序亮起,就像流水一样。
这种效果在很多场合都非常实用,比如节日装饰、产品展示等等。
而要实现这个效果,就需要用到串口通信。
串口通信是一种非常常见的通信方式,它可以让我们的电脑和硬件设备之间进行数据传输。
通过编写特定的程序,我们可以控制电脑通过串口发送信号给流水灯设备,让设备上的LED灯按照我们设定的方式亮起。
通过这个开发课件,我们将带领大家一步步了解串口通信控制流水灯的原理,学习如何编写程序来控制流水灯。
相信大家通过学习,都能轻松掌握这项技术,为自己的生活增添更多色彩!1. 串口通信简介简单来说串口通信就像是给电子设备之间搭建的一座桥梁,让不同的设备能够互相传递信息。
就好像我们平时和人交流,通过说话或者写信,把想法和信息传达给对方。
电脑和其他设备之间,就是通过串口来“说话”的。
它们之间可以传递控制指令、数据等,让我们的设备按照我们的意愿工作。
在流水灯的开发中,串口通信就像是一个总指挥,发送控制信号给流水灯,让它按照预设的模式亮起。
没有串口通信,流水灯就像失去了大脑的机器人,无法正常工作。
所以掌握串口通信的知识,是开发流水灯的重要基础。
接下来我们就一起来探索如何玩转串口通信,让流水灯炫起来吧!2. 流水灯应用背景及意义大家有没有注意到,在很多场合,像是商场、节日庆典或者家居装饰,都会看到五彩斑斓的流水灯?它们一闪一闪的,真的非常吸引人眼球。
其实这背后就是串口通信控制流水灯的应用,今天我们就来聊聊这个有趣又实用的技术。
想象一下流水灯的应用场景是多么的广泛,在商场里它们能吸引顾客的眼球,提升购物氛围;在节日庆典中,流水灯能增添节日气氛,让人们感受到浓浓的节日氛围;在家庭中,流水灯能作为装饰,让家里更加温馨。
而这背后都离不开串口通信控制流水灯的技术,通过编程和硬件连接,我们可以让多个LED灯按照一定的顺序闪烁,形成流水灯的效果。
用单片机控制的LED流水灯设计<电路、程序全部给出)开关电源设计制作学习园地»。
您尚未登录注册 | 社区服务 | 勋章中心 | 帮助 | 首页 | 无图版社区服务银行朋友圈开关电源设计制作学习园地 -> 好好学习-天天向上 -> 用单片机控制的LED流水灯设计<电路、程序全部给出) XML RSS2.0 WAP--> 本页主题: 用单片机控制的LED流水灯设计<电路、程序全部给出)加为IE收藏 | 收藏主题 | 上一主题 | 下一主题pwmdy级别: 电源-1级工程师精华: 0发帖: 212威望: 126 点金钱: 212 RMB贡献值: 0 点注册时间:2009-05-21最后登录:2009-11-22用单片机控制的LED流水灯设计<电路、程序全部给出)1.引言当今时代是一个新技术层出不穷的时代,在电子领域尤其是自动化智能控制领域,传统的分立元件或数字逻辑电路构成的控制系统,正以前所未见的速度被单片机智能控制系统所取代。
单片机具有体积小、功能强、成本低、应用面广等优点,可以说,智能控制与自动控制的核心就是单片机。
目前,一个学习与应用单片机的高潮正在工厂、学校及企事业单位大规模地兴起。
学习单片机的最有效方法就是理论与实践并重,本文笔者用AT89C51单片机自制了一款简易的流水灯,重点介绍了其软件编程方法,以期给单片机初学者以启发,更快地成为单片机领域的优秀人才。
2.硬件组成按照单片机系统扩展与系统配置状况,单片机应用系统可分为最小系统、最小功耗系统及典型系统等。
AT89C51单片机是美国ATMEL公司生产的低电压、高性能CMOS 8位单片机,具有丰富的内部资源:4kB闪存、128BRAM、32根I/O口线、2个16位定时/计数器、5个向量两级中断结构、2个全双工的串行口,具有4.25~5.50V的电压工作范围和0~24MHz工作频率,使用AT89C51单片机时无须外扩存储器。
实验三流水灯实验(I/O口和定时器实验)一、实验目的1.学会单片机I/O口的使用方法和定时器的使用方法;2.掌握延时子程序的编程方法、内部中断服务子程序的编程方法;3.学会使用I/O口控制LED灯的应用程序设计。
二、实验内容1.控制单片机P1口输出,使LED1~LED8右循环轮流点亮(即右流水),间隔时间为100毫秒。
2.控制单片机P1口输出,使LED1~LED8左循环轮流点亮(即左流水),间隔时间为100毫秒。
3.使用K1开关控制上面LED灯的两种循环状态交替进行;4. 用定时器使P1口输出周期为100ms的方波,使LED闪烁。
5.使用定时器定时,使LED灯的两种循环状态自动交替,每一种状态持续1.6秒钟(选作)。
三、实验方法和步骤1.硬件电路设计使用实验仪上的E1、E5和E7模块电路,把E1区的JP1(单片机的P1口)和E5区的8针接口L1~L8(LED的驱动芯片74HC245的输入端)连接起来,P1口就可以控制LED 灯了。
当P1口上输出低电平“0”时,LED灯亮,反之,LED灯灭。
E7区的K1开关可以接单片机P3.0口,用P3.0口读取K1开关的控制信号,根据K1开关的状态(置“1”还是置“0”),来决定LED进行左流水还是右流水。
综上,画出实验电路原理图。
2.程序设计实验1和实验2程序流程图如图3-1实验3程序流程图如图3-2所示。
图3-1 实验1,2程序流程图图3-2 实验3程序流程图实验4程序流程图如图3-3,3-4所示。
实验5程序流程图如图3-5,3-6所示。
图3-5 实验5主程序流程图图3-6 定时器中断服务子程序流程图图3-4 定时器中断服务子程序流程图图3-3 实验4主程序流程图编程要点:(1)Pl,P3口为准双向口,每一位都可独立地定义为输入或输出,在作输入线使用前,必须向锁存器相应位写入“1”,该位才能作为输入。
例如:MOV P1,A; P1口做输出MOV P1,#0FFHMOV A,P1;P1口做输入SETB P3.0MOV C,P3.1;从P3.1口读入数据(2)每个端口对应着一个寄存器,例:P1→90H(P1寄存器地址);P3→B0H(P3寄存器地址);寄存器的每一位对应着一个引脚,例:B0H.0→P3.0(3)对寄存器写入“0”、“1”,对应的外部引脚则输出“低电平”、“高电平”。
西南石油年夜学之迟辟智美创作实习总结陈说 实习类型生产实习 实习单元 西南石油年夜学实习基地 实习起止时间 2018 年 7 月 7 日至 2018 年 7 月 16 日 指导教师刘东明、孙鉴 所在院(系) 电子科学学院 班 级电子科学与技术 15-2 学生姓名 学 号 15090124022018 年 7 月 16 日目录第 1 章 按键控制流水灯设计 1 1.1 实习目的错误!未定义书签。
1.2 实习要求错误!未定义书签。
第 2 章 电路工作原理 22.5 本章小结 6 第 3 章 C 法式设计 73.1 法式设计流程图 73.3 本章小结 9 总结及体会 10 参考文献 11 附录 12第1章 按键控制流水灯设计1.1 实习目的本次实习以 STC89C52 单片机为控制核心.通过它实现对八盏 LED 灯的亮灭进 行设定,并在设定完成之后能够依照之前的设定实现流水灯效果.外部电路为按键 控制流水灯.P0 口控制八盏灯,P1 口控制矩阵键盘,P2 口控制自力按键,法式利 用单片机内部计时器中断实现流水效果.要求流水灯能够自行设定、暂停、复位, 工作稳定,可靠性高.生产实习的主要目的是培养理论联系实际的能力,提高实际入手把持能力.本 专业的生产实习旨在广泛了解实际单片机电子产物工作的全过程,熟悉电子产物 的主要技术管理模式,并在实习的把持过程中学习掌握电子产物的焊接装置调试 的实际把持技能.巩固和加深理解所学的理论,开阔眼界,提高潜力,为培养高素 质年夜学本科人才打下需要的基础.透过学习,是理论与实际相结合,能够使学生 加深对所学知识的理解,并为后续专业课的学习带给需要的感性知识,同时直接 了解本业的生产过程和生产资料,为将来走上工作岗位带给需要的实际生产知识.1.2 实习要求1.深入学习单片机开发软件 Keil 的使用,熟悉单片机电路设计,根据实际应 用电路对法式进行调试.2.熟悉单片机硬件开发平台的应用,掌握单片机编程器、仿真器的使用,能 检查和分析软硬件故障.3.体会单片机内部资源的功能使用,以单片机开发板现有资源进行应用性设 计.掌握单片机经常使用外围器件的使用.4.对去年生产实习焊接的 51 开发板的法式有更深入的了解.第2章 电路工作原理2.1 STC89C52 单片机工作原理单片机(Microcontrollers)是一种集成电路芯片,是采纳超年夜规模集成电路 技术把具有数据处置能力的中央处置器 CPU、随机存储器 RAM、只读存储器 ROM、 多种 I/O 口和中断系统、按时器/计数器等功能(可能还包括显示驱动电路、脉宽 调制电路、模拟多路转换器、A/D 转换器等电路)集成到一块硅片上构成的一个 小而完善的微型计算机系统.例如 STC89C52 单片机是通过 32 个输入输出口的高低电平变动来实现对外部 电路的控制,痛过相应的法式实现对 32 个输入输出口的控制,这就是单片机工作 的最基来源根基理.如图 2-1 所示为 STC89C52 单片机工作的最小系统电路图.图 2-1 STC89C52 最小工作系统 整个电路使用 5V 直流电源供电,其中复位电路能够使单片机复位;晶振电路 相当于单片机的心脏,为单片机提供 12MHz 的高频脉冲使单片机正常工作; MAX232 是将单片机输出的 TTL 电平转换成 PC 机能接收的 232 电平或将 PC 机输 出的 232 电平转换成单片机能接收的 TTL 电平,实现单片机与 PC 机之间的通信, 以便于下载法式.2.2 LED 工作原理LED(light-emitting diode),即发光二极管,俗称 LED 小灯,51 开发板使用 的是普通贴片发光二极管.这种二极管通常的正向导通电压是 1.8~2.2V 之间,工作 电流一般在 1~20mA 之间.其中当电流在 1~5mA 之间变动时,随着通过 LED 的电 流越来越年夜,肉眼会感觉到这个灯越来越亮,而当电流从 5~20mA 变动时,看 到的发光二极管的亮度变动不明显了.当电流超越 20mA 时,LED 就有烧坏的危险. 所以在 51 开发板的使用中需要根据相应的电流参数设计一个与 LED 串连的限流 电阻.如图 2-2 所示为单片机 I/O 口控制 LED 的电路原理图.图 2-2 单片机控制 LED 电路图 图中 PR2 为排阻,在电路中起到限流作用,防止 LED 被烧毁.因为单片机是可 以编程控制的,即 P00~P07 的高低电平也是能够控制的,所以对应的 8 个 LED 的 亮灭状态也是能够控制的,这就到达了单片机控制 LED 的目的.2.3 按键工作原理 2.3.1 自力按键工作原理自力式按键比力简单,它们各自与自力的输入线相连接,如图 2-3 所示.图 2-3 自力式按键原理图 4 条输人线接到单片机的 I/O 口上,当按健 K1 按下时,+5V 通过电阻然后再 通过按键 K1 最终进人 GND 形成一条通路,这条线路的全部电压都加到这个电阻 上,P20 这个引脚就是个低电平.当松开按健后,线路断开,就不会有电值通过, P20 和+5V 就应该是等电位,是个高电平.我们就可以通过 P20 这个 10 口的高低电 平来判断是否有按键按下.2.3.2 矩阵按键工作原理在某一个系统设计中,如果需要使用很多按键时,做成自力按键会占用年夜 量 I/O 口,因此引用了矩阵键盘的设计.如图 2-4 所示为 51 开发板上的矩阵按键电 路原理图,使用 8 个 I/O 口来实现 16 个按键.图 2-4 矩阵按键原理图 在法式设计中分别用四个 I/O 口扫描 4 行,另外 4 个扫描 4 列,确定了按键在 哪行哪列也就确定了按键的具体位置.2.4 整体电路图如图 2-5 所示为键盘控制 LED 流水灯整体电路图.图 2-5 总电路原理图2.5 本章小结本章主要介绍了单片机最小系统、LED 工作原理、按键工作原理.并从硬件电 路的设计动身,简单分析单片机控制 LED 的工作过程.理论分析基本完成,接下来 就是具体的法式设计与调试,通过具体的法式来实现相应的功能,这也是单片机 开发中最具技术含量的环节之一.第3章 C 法式设计3.1 法式设计流程图如图 3-1 所示为主法式流程图.开始 开计时器中断K1 是否按下 否是扫描矩阵键盘选 择需要点亮的 LED是K2 是否按下 否K3 是否按下 否是保管选择的数据 择需要点亮的 LED计时器中断法式选择 数据实现 LED 流水灯图 3-1 法式设计框图 主法式由 3 个自力按键控制,K1,K2 和 K3.开始从主函数执行法式语句,不 竭循环扫描按键,当 K1 按下时,进入选择状态,法式会不竭地扫描矩阵键盘,通 过矩阵键盘选择需要点亮的 LED;选择结束后按下 K2,法式会将选定后的数据送 入中断法式,中断法式根据接收的数据选泽对应的 LED 实现流水灯效果;当按下K3 后法式又会进入矩阵键盘扫描重新选择 LED.3.2 实验结果如图 3-2 所示,当按下 K1 后进入选择定状态.图 3-2 选择 LED 如图 3-2,控制矩阵键盘分别选择了第 1,6,8 盏灯. 再按下 K2 键,让选择的第 1,6,8 盏灯实现流水灯效果.如图 3-3 所示.图 3-3 流水灯 如图 3-3,按下 K2 之后,LED 由之前第 1,6,8 盏灯亮酿成第 1,2,7 盏灯 亮,实现了流水灯右移的效果. 当按下 K3 键,实验结果如图 3-4 所示.图3-4回到初始状态由图3-4可知,当按下K3键之后,法式又回到了设定LED的状态.3.3本章小结由实验结果可以看出,本次单片机课程设计已到达预期要求,电路工作稳定,满足设计要求.在整个设计过程中,法式设计与调试最为复杂,呈现过按键灯不亮,没有呈现滚动流水等现象等一系列法式问题.但最终在不竭地检查、调试之后,问题也逐渐获得解决.最终实现按键控制流水灯的效果.总结及体会本次设计通过对单片机进行编程控制,进而控制外部电路,胜利地设计了八个按键控制八盏灯亮灭实现流水灯的效果.深入了解到单片机开发软件Keil的使用,熟悉单片机电路设计,根据实际应用电路对法式进行调试.熟悉单片机硬件开发平台的应用,掌握了单片机编程器、仿真器的使用,能检查和分析软硬件故障.体会到单片机内部资源的功能使用,以单片机开发板现有资源进行应用性设计.通过这次实习使我进一步弄懂所学到的课本知识,巩固和深化对单片机的结构、指令系统、中断系统、键盘/显示系统、接口技术、系统扩展、按时/控制、法式设计、应用开发、等基本理论知识的理解,提高单片机应用于技术的实践把持技能,掌握单片机应用系统设计、研制的方法,培养利用单片机进行科技革新、开发和立异的基天性力,为结业后从事与单片机相关的工作打下一定的基础.参考文献[1]童诗白,华成英.模拟电子技术基础(第四版)[M].北京:高等教育出书社,2006.[2]阎石.数字电子技术基础(第五版)[M].北京:高等教育出书社,2006.[3]韩建,全星慧,周围.电子技术课程设计指导[M].哈尔滨:哈尔滨工程年夜学出书社,2014.[4]黎小桃.数字电子电路分析与应用[M].北京:北京理工年夜学出书社,2014.[5]高吉祥. 电子技术基础实验与课程设计[M].北京:电子工业出书社,2002.[6]陈明义.电子技术课程设计实用教程(第3版) [M]. 长沙:中南年夜学出书社,2010.[7]程春雨. 模拟电子技术实验与课程设计[M].北京:电子工业出书社,2016.[8]宋雪松,李东明,崔长胜. 手把手教你学51单片机(C语言版)[M]. 北京:清华年夜学出书社,2014.附录:#include <reg52.h>#include <intrins.h>#define KEY P1sbit k1=P2^0;sbit k2=P2^1;sbit k3=P2^2;sbit k4=P2^3;unsigned char LED=0x00,LED1=0x00;unsigned char x=0;unsigned char KeyValue;unsigned char A1=0x00,A2=0x00,A3=0x00,A4=0x00,A5=0x00,A6=0x00,A7=0x00,A8=0x00;void Delay10ms(unsigned int c);void KeyDown(); //矩阵键盘检测void kongzhil();void kongzhi2();void main(void){ TMOD=0x01; //按时器工作状态为1 TH0=(65536-50000)/256;TL0=(65536-50000)%6;EA=1; //开总中断ET0=1; //开按时器中断TR0=1; //开启按时器while(1){ int n=0;if(k1==0){Delay10ms(1);if(k1==0)n=1;}if(k3==0){Delay10ms(1);if(k3==0)n=3;}if(k4==0){Delay10ms(1);if(k4==0)n=4;}switch(n){case 1:KeyDown();break;case 3:kongzhil();break;case 4:kongzhi2();break;default:break;}}}void KeyDown(void){ int k=1;while(k){char a=0;KEY=0x0f;if(KEY!=0x0f){Delay10ms(1); //延时消抖if(KEY!=0x0f){KEY=0X0F;switch(KEY) //扫描行{case(0X07): KeyValue=0;break;case(0X0b): KeyValue=4;break;case(0X0d): KeyValue=8;break;case(0X0e): KeyValue=12;break;}KEY=0XF0;switch(KEY) //扫描列{case(0X70): KeyValue=KeyValue+3;break;case(0Xb0): KeyValue=KeyValue+2;break;case(0Xd0): KeyValue=KeyValue+1;break;case(0Xe0): KeyValue=KeyValue;break;}while((a<50) && (KEY!=0xf0)) //松手检测{Delay10ms(1);a++;}switch(KeyValue) //选择需要亮的灯{case(0):A1=~A1;break;case(1):A2=~A2;break;case(2):A3=~A3;break;case(3):A4=~A4;break;case(4):A5=~A5;break;case(5):A6=~A6;break;case(6):A7=~A7;break;case(7):A8=~A8;break;default:break;}}}if (A1==0xff) //保管数据(LED1=LED1|0x80);else if(A1==0x00)(LED1=LED1&0x7f);if (A2==0xff)(LED1=LED1|0x40);else if(A2==0x00)(LED1=LED1&0xbf);if (A3==0xff)(LED1=LED1|0x20);else if(A3==0x00)(LED1=LED1&0xdf);if (A4==0xff)(LED1=LED1|0x10);else if(A4==0x00)(LED1=LED1&0xef);if (A5==0xff)(LED1=LED1|0x08);else if(A5==0x00)(LED1=LED1&0xf7);if (A6==0xff)(LED1=LED1|0x04);else if(A6==0x00)(LED1=LED1&0xfb);if (A7==0xff)(LED1=LED1|0x02);else if(A7==0x00)(LED1=LED1&0xfd);if (A8==0xff)(LED1=LED1|0x01);else if(A8==0x00)(LED1=LED1&0xfe);LED=LED1;if(k2==0){Delay10ms(1);if(k2==0){k=0;LED=LED1;};};if(k4==0){Delay10ms(1);if(k4==0){k=0;kongzhi2();};};}}void kongzhil(void){int m=1;LED1=LED,LED=0x00;while(m){if(k3==0){Delay10ms(1);if(k3==0){m=0,LED=LED1;};}}}void kongzhi2(void){LED1=0x00;LED=0x00;A1=0;A2=0;A3=0;A4=0;A5=0;A6=0;A7=0;A8=0;}void timer0() interrupt 1{TH0=(65536-50000)/256;TL0=(65536-50000)%6;x++;if(x==6) //6*50MS=300MS{x=0;P0=LED;LED = _crol_(LED,1);//if(++i==8) i=0;}}void Delay10ms(unsigned int c) {unsigned char a, b;for (;c>0;c--){for (b=38;b>0;b--){for (a=130;a>0;a--);}}}。
摘要本设计是一种基于AT89C52单片机的彩灯控制方案,实现对LED彩灯的控制。
本方案以AT89C52单片机作为主控核心,由编程实现亮灯循环模式。
由在显示模块上有8个LED彩灯,根据用户需要可以编写若干种亮灯模式.本系统具有体积小、硬件少、电路结构简单及容易操作和阅读等优点。
该LED彩灯控制器实际应用效果较好,亮灯模式多。
与其他LED彩灯相比,具有体积小、价格低、低能耗等优点。
在能源比较匮乏的今天,彩灯的循环控制在显示方面更表现出一种节约能源的魅力.这将使彩灯具有更广阔的发展天地。
关键字:AT89C51 循环 LED彩灯AbstractThe design is a project of the lantern control which based on a AT89c52 single-chip to achieve the control of the LED lanterns.The master core of the design is AT89c52 single-chip,the display module is formed with 8LEDS,the programme achieve the circle mode of the colour LEDS.The 8 LEDS on the display module can be compiled a lot of modes based on the needs of the users。
This system has some excellences of small bulk,few hardware,simple circuit frame,easy handle and read.The practice appliance effect of this colour lantern control is better and lots of modes of the colour lantern.This LED has some excellences of small bulk,low price, low energy consume compared with else LEDS.In lack energy today,the LED circle mode comports a charm of the economying energy on the display.This will lets LED has more amplitude heaven and earth to develop.Keywords: AT89C51 Circulate LED Lantern目录绪论------------------------------------------------------------- 31LED流水灯方案设计与选择--------------------------------------- 31、1 设计要求------------------------------------------------- 31、2 系统功能------------------------------------------------- 31、3 方案选择------------------------------------------------- 32 LED流水灯设计过程---------------------------------------------- 4 2、1 元件选取------------------------------------------------- 4 2、2 硬件设计------------------------------------------------- 4 2、2、1 单片机介绍------------------------------------------ 4 2、2、2 LED流水灯总图--------------------------------------- 5 2、3 软件设计------------------------------------------------- 6 2、3、1 编程介绍-------------------------------------------- 6 2、3、2 编程选择-------------------------------------------- 10 参考文献---------------------------------------------------------- 11绪论当今时代足一个新技术层出不穷的时代,在电子领域尤其足自动化智能控制领域,传统的分立元件或数字逻辑电路构成的控制系统,正以前所未见的速度被单片机智能控制系统所取代。
几种流水灯程序1. 基础流水灯程序:用来控制1个led灯,使其呈现流水灯的效果,代码如下: int led = 13; // 让led连接到电路的13号引脚void setup(){pinMode(led, OUTPUT); // 设置13号引脚的模式为输出}void loop(){digitalWrite(led, HIGH); // 让led灯亮起来delay(1000); // 等待1秒digitalWrite(led, LOW); // 让led灯熄灭int led1 = 13;int led2 = 12;int led3= 11;int led4 = 10;void setup (){pinMode (led1, OUTPUT);pinMode (led2, OUTPUT);pinMode (led3, OUTPUT);pinMode (led4, OUTPUT);}void loop (){digitalWrite (led1, HIGH);delay (500);digitalWrite (led1, LOW);digitalWrite (led2, HIGH);delay (500);digitalWrite (led2, LOW);digitalWrite (led3, HIGH);delay (500);digitalWrite (led3, LOW);digitalWrite (led4, HIGH);delay (500);digitalWrite (led4, LOW);delay (1000);}3.调节速度的流水灯程序:将第一个流水灯程序增加一个模拟变量,使得可以即时调节灯泡亮度以及闪烁速度,以及可以控制单个led灯或多个led灯,其代码如下:4.设置模式的流水灯程序:将流水灯程序改进,使得应用于不同的场景,可以调节闪烁模式,如快速,慢速,长亮等,其代码如下:。
一. 首先要知道如何让一个led小灯闪烁
实现led小灯闪烁实际上就是让小灯亮一下灭一下,即让发光二极管导通一会儿再关
一会一会儿即可。因此只需要将led发光二极管的一个极接到电源上,另一个接到单片机32
个I/O接口的任何一个即可。 由于89S51单片机I/O接口输出电平时的灌点能力较强
(20mA),儿输出高电平时的拉电流能力较弱,这里设计时将led发光二极管的阴极通过
R(470欧)这个限流电阻接到了单片机的P0.7引脚上,阳极接到+5V上。
二. 跑马灯(流水灯)
1目的
这是一个用单片机控制8个led小灯,逐个点亮再熄灭,形成跑马灯
2原理
硬件电路如图所示
.这次需要控制8个led小灯。软件设计上只是需要点亮一个灯,调一个延时,然后再点亮临
近的一个灯的同时熄灭上一个灯后,在调延时程序,如此循环就会产生跑马灯现象。
3程序
ORG 0000H
SJMP STRAT
ORG 0030H
**************初始化程序
START: MOV SP,#60H
MOV P0,#0FFH
MOV A,#0FEH
MOV R3,#07H
******************主程序
MAIN:MOV P0,A
RL A
CALL DELAY
DJNZ R3,MAIN
MOV R3,#07H
SJMP MAIN
************延时子程序
DELAY:MOV R0,#250
D2: MOV R1,#250
D1:DJNZ R1,D1
DJNZ R0,D2
RET
END