心形流水灯

合集下载

心型流水灯制作教程

心型流水灯制作教程

作为一个电子技术爱好者,先就做一个最简单的心形流水灯玩玩吧。

本教程主要特点就是简单,不要你懂原理,不要你懂编程,只要最基本的元件和材料就可以完成。

首先我们来准备和认识元件。

1、最大的一个部件,洞洞板也叫万能板,9*15cm的刚刚好.便宜的万能板1元一块,你也可以用双面喷锡的质量好的玻纤板,4元一块。

2、主角单片机。

要求用40脚的,刚好驱动32个led。

建议用STC89C52RC,最常见便宜而且不用复位电路。

3、led,5mm的颜色随你喜欢,32个,注意长脚为正极.我用的是白发蓝,你也可以用不同的颜色组合各种效果。

4、电阻,限制led的工作电流,这个严格讲要经过计算,咱们随便作就不管了,200欧姆到1K欧姆的都可以,只是led的亮度有点区别。

贴片电阻和直插的都可以,建议用贴片美观,熟练了焊起来更快,只要稍加练习就可以,实在没信心直插的也可以,反正在背面也没用什么影响.5、镊子,焊接贴片电阻要用到.6、晶振和瓷片电容。

晶振采用12MHz的,电容15pF—33pF都可以。

7、导线几根,连接电源和飞线用,当然飞线越少越好,一是美观,二是飞线容易出问题.8、焊接工具。

烙铁、焊锡、烙铁架、海绵、斜口钳等等,大家自己有啥样就用什么。

我的是坏烙铁拼凑的白菜白光,看着烂用着还可以.9、还有最好用IC座,一是保护单片机二是方便拆卸和烧录。

第一个是固定式IC座,0.2元,第二个是活体的,用的更方便,4元一个。

10、电源部分.这里可以废物利用,用废弃的手机电池,在正负极接上导线,安装XH插头,插座焊在洞洞板上。

不必在意电压,只是点亮led,手机电池标准电压3.7V,充满4。

2V这里用没问题。

可以加一个拨动开关控制电源.接下来开始焊接,注意元件的位置和极性。

先焊最小系统,ic座,晶振、电容这些,然后是led,注意正极(长脚)朝外,负极(断脚)朝向单片机.接着是led的负极用锡接过线接到单片机的io口,注意中间接电阻。

最后连上电源正负极就完成了。

心形流水灯套件实训报告

心形流水灯套件实训报告

一、实训目的1. 熟悉心形流水灯套件的基本组成和功能。

2. 掌握心形流水灯套件的组装和调试方法。

3. 提高学生的动手能力和创新思维。

4. 培养学生的团队协作精神和实践能力。

二、实训内容1. 心形流水灯套件的基本组成心形流水灯套件主要由以下几部分组成:(1)LED灯:共18个红色LED灯,分为3组,排列成心形图案。

(2)电阻:18个限流电阻,用于限制LED灯的电流。

(3)三极管:3个三极管,用于驱动LED灯。

(4)电容:1个电容,用于存储电荷。

(5)电源:一个可充电电池,为电路提供电源。

(6)连接线:用于连接各个元件。

2. 心形流水灯套件的组装与调试(1)组装步骤:1)首先,将电源的正极和负极分别连接到电路板上的电源输入端。

2)接着,将18个限流电阻分别连接到18个LED灯的正极和电路板上的LED输入端。

3)将3个三极管的集电极分别连接到3个LED灯的负极,并将3个三极管的发射极连接到电路板上的三极管输入端。

4)将电容的一端连接到电路板上的电容输入端,另一端连接到电路板上的地线。

5)最后,将连接线连接好,确保各个元件的连接正确。

(2)调试步骤:1)打开电源,观察LED灯是否正常点亮。

2)调整电容的容量,观察LED灯的闪烁频率是否发生变化。

3)调整电源的电压,观察LED灯的亮度是否发生变化。

4)观察LED灯的闪烁图案是否为心形。

三、实训过程1. 组装过程按照组装步骤,我们将各个元件连接到电路板上。

在连接过程中,要注意以下几点:(1)确保各个元件的连接正确,避免出现短路或断路现象。

(2)连接线要牢固,避免在使用过程中脱落。

(3)在连接过程中,要小心操作,避免损坏元件。

2. 调试过程在组装完成后,我们打开电源,观察LED灯是否正常点亮。

经过调整电容的容量和电源的电压,我们发现LED灯的闪烁频率和亮度均符合要求,且闪烁图案为心形。

四、实训总结1. 通过本次实训,我们掌握了心形流水灯套件的基本组成和功能,了解了各个元件的作用。

心形花样流水灯设计报告

心形花样流水灯设计报告

心形花样流水灯设计报告
心形花样流水灯设计报告
心形花样流水灯是现有流水灯的一种经典改良版本,它采用16个灯作为原形,在跟随律动改变时,灯会形成一个心形的图案,从而形成艳丽夺目的画面。

该设计把流水灯的动感与闪烁的灯光有机地结合起来,带给观众一个难忘的视觉体验。

心形花样流水灯的实现原理主要基于按使灯在每个节点切换时都可以获取正确的额外信号,然后根据信号来控制灯的状态,从而实现每颗灯在固定节点可以达到设定的图案效果。

实现心形花样流水灯首先需要准备好必要的硬件,如灯、电源、封装等。

其中,灯是实现该图案花样的关键元素,合适的灯应该选择一直亮的灯,最好是采用柱面形状的灯放置;电源属于复杂的功能元件,而电源的输出功率是有限的,因此要选择规范型号的电源;灯装接容器也是必不可少的,以尽可能减少容器内部电阻增加此设计系统电源负载。

安装完必要的硬件之后,就可以编写控制程序实现心形花样的设计。

首先,程序需要实现的功能应该包括定时停档、定时启动、控制灯泡亮度等,这是该系统实现的最基本的功能,其次,控制程序设计的关键是要编写一段循环程序,使在每一节点可以实现按照心形花样拍摄计划设定的图案,最后,实现定时调节,达到改变速度以及心形持续不断等效果。

通过以上步骤,就可以实现心形花样流水灯的设计制作,从而实现不同场合的美观效果,更好的吸引更多的注意力,从而取得全新的效果。

51单片机爱心流水灯原理及制作

51单片机爱心流水灯原理及制作

51单片机爱心流水灯原理及制作一、引言爱心流水灯是一种常见的电子制作项目,它使用51单片机控制LED灯的亮灭顺序,形成一个流动的爱心图案。

本文将详细介绍51单片机爱心流水灯的原理及制作过程。

二、原理介绍1. 51单片机51单片机是一种非常常见的单片机,具有广泛的应用领域。

它具有强大的计算能力和丰富的外设接口,非常适合用于控制LED灯的亮灭。

2. LED灯LED灯是一种半导体发光二极管,具有低功耗、长寿命和高亮度等特点。

在爱心流水灯中,我们使用红色的LED灯来形成爱心图案。

3. 流水灯原理流水灯是一种常见的电子灯光效果,通过控制LED灯的亮灭顺序,形成一个流动的效果。

在爱心流水灯中,我们将多个LED灯按照特定的顺序亮灭,形成一个流动的爱心图案。

4. 原理图以下是51单片机爱心流水灯的原理图:(在此处插入原理图)三、制作材料准备在开始制作爱心流水灯之前,我们需要准备以下材料:1. 51单片机开发板2. LED灯(红色)3. 电阻4. 面包板5. 连接线6. 电源四、制作步骤1. 连接电路首先,将51单片机开发板和面包板连接起来。

然后,根据原理图连接LED灯、电阻和51单片机的引脚。

确保连接正确且稳固。

2. 编写程序使用C语言编写51单片机的程序。

程序的主要功能是控制LED灯的亮灭顺序,形成一个流动的爱心图案。

以下是一个简单的示例程序:(在此处插入示例程序)3. 烧录程序将编写好的程序烧录到51单片机中。

可以使用专业的烧录工具,也可以使用通用的USB转串口模块进行烧录。

4. 测试将电源接入电路,打开电源开关,观察LED灯的亮灭情况。

如果一切正常,LED灯将按照程序中设定的顺序亮灭,形成一个流动的爱心图案。

五、注意事项在制作爱心流水灯时,需要注意以下几点:1. 连接线的接触要牢固,确保电路的稳定性。

2. 程序的编写要准确无误,确保LED灯按照预期的顺序亮灭。

3. 使用适当的电阻限流,以保护LED灯和51单片机。

24个心形流水灯设计报告

24个心形流水灯设计报告

24个心形流水灯设计报告1. 引言流水灯作为一种常见的LED灯效设计,在展示舞台、节日装饰、商业广告等领域有着广泛应用。

为了增加节日气氛,我们设计了一个由24个心形灯组成的流水灯。

本设计报告将详细介绍设计思路、硬件连接、软件控制以及预期效果等相关内容。

2. 设计思路由于流水灯需要按照一定的顺序依次点亮各个LED灯,我们选择使用Arduino控制器来实现该功能。

考虑到增加趣味性和节日氛围,我们决定采用心形灯组成的模式。

共有24个心形灯,每个心形灯内部由若干个LED 灯组成,可以通过控制流水灯模式,实现心形灯的动态变化。

3. 硬件连接为了实现24个心形灯的控制,我们需要准备以下硬件设备:- Arduino控制器- 24个心形灯- 简单的电路板- 面包板或者焊接器件将Arduino控制器与电路板相连接,并将24个心形灯连接到电路板上。

每个心形灯都连接到相应的引脚上,以便于控制单个灯的点亮与熄灭。

4. 软件控制使用Arduino开发环境,通过编写相应的代码来控制流水灯的效果。

首先,我们定义了24个心形灯对应的引脚号,以便于控制单个心形灯的点亮与熄灭。

然后,我们编写了循环代码,按照一定的顺序控制心形灯的点亮与熄灭。

通过调整循环次数、延时时间等参数,可以实现不同的流水灯效果。

5. 预期效果通过硬件连接和软件控制,我们预期实现以下效果:- 24个心形灯按照一定的顺序动态点亮与熄灭- 流水灯的速度可调,可以实现快速、中速、慢速等不同的流动效果- 可以组合不同的心形灯亮起,创造出更多样化的效果- 通过控制器的输入,可以实现远程控制,方便日常使用6. 总结通过本次24个心形流水灯的设计,我们掌握了硬件与软件的配合使用,提高了自己的电子设计与嵌入式编程能力。

同时,这个设计还具有一定的实用性和观赏性,可以应用于节日装饰、舞台演出等场合,为人们带来更多的乐趣和温暖。

我们希望通过这次设计报告的分享,能够启发更多人参与到电子设计与嵌入式编程的学习中。

心形流水灯课程设计

心形流水灯课程设计

心形流水灯设计摘要本课题是利用STC89C52设计了一个心形流水灯电路,该电路可以实现32个LED灯循环闪亮、依次熄灭、对角闪亮、对角熄灭、间隔闪亮、间隔熄灭等多种功能。

该电路主要由单片机芯片STC89C52、电源电路、时钟电路、复位电路和显示电路组成。

利用Keil软件编写C语言程序,并生成目标代码Hex文件。

使用Proteus软件设计仿真电路,并调入已编译好的目标代码,即可在仿真图中看到模拟实物的运行状态和过程。

使用Altium Designer软件对电路进行原理图设计和PCB设计,并对该电路行安装和调试,调试结果可以实现流水灯的多种亮灭循环的功能。

关键词:AT89C52,复位电路,时钟电路,发光二极管目录1 绪论 (1)1.1课题描述 (1)1.2基本工作原理及框图 (1)2 相关芯片及硬件电路设计 (2)2.1AT89C52芯片 (2)2.1.1AT89C52的功能特性 (2)2.1.2AT89C52的主要性能参数 (2)2.2时钟电路 (3)2.3复位电路 (4)2.4显示电路 (4)2.6总原理图设计 (5)3 系统软件设计 (6)3.1程序主要流程 (6)3.2程序设计 (7)3.4电路功能仿真 (20)总结 (21)致谢 (22)参考文献 (23)1 绪论1.1 课题描述随着现代科学技术的持续进步和发展以及人们生活水平的不断提高,以大规模、超大规模集成电路为首的电子工艺技术的使用也越来越广泛,结合单片机技术设计的电子电路也层出不穷。

LED 彩灯由于其丰富的灯光色彩、低廉的造价以及控制简单等特点而得到了广泛的应用,用彩灯来装饰街道和城市建筑物已经成为一种时尚。

利用控制电路可使彩灯按一定的规律不断的改变状态,不仅可以获得良好的观赏效果,而且可以省电。

彩灯的运用已经遍布于人们的生活中,从歌舞厅到卡拉OK 包房,从节日的祝贺到日常生活中的点缀,这些不仅说明了我们对生活的要求有了质的飞跃,也说明科技在现实生活中的运用有了较大的发展。

小型心形流水灯电路图大全(89c52-CD4017心形流水灯电路图)

小型心形流水灯电路图大全(89c52/CD4017 心形流 水灯电路图)
小型心形流水灯电路图(一) 使用 89C52 做的,原理图如下: 总共有 32 个 LED 灯,4 个 I/O 全部用上了。我在这里不加有 LED 保护电 阻,用 200 的也可以晶振用 图如下: 小型心形流水灯电路图(二) DIY 酷炫的心型的 LED 灯 1)心原理图 图 1 心型 LED 灯原理图 说明:心型 LED 灯共用了 32 个灯,刚好接完 MCU 的 P0,P1,P2,P3
共 32 个端口。 注意:全部的 LED 灯正极分别连接 100 欧左右电阻后,并连 VCC,负极 分别连接 32 个端口即可。 说明:焊接前,先将全部的 LED 灯布局好后,看看效果,然后先焊接单 片机最小系统,后焊接 LED 灯。 图 3 心型 LED 焊接正面布局图 图 4 心型 LED 焊接电阻图 说明:本人用直插电阻直接在万能板背面焊接,同时晶振和瓷片电路都焊 接于单片机插座内,同时本人用的 LED 灯为红,黄,兰,绿相互焊接! 心型 LED 灯效果图
小型心形流水灯电路图(三) CD4017 流水灯制作的电路原理图 电路工作原理:NE555 组成脉冲信号发生器,脉冲信号从 NE555 的 3 脚 输出到 CD4017 的 14 脚。通过改变 R2 的阻值可以改变流水灯的流水速度。 电路上一共有 10 个 LED,电路图上是每个 LED 一个限流电阻,我在制作时 及 PCB 电路图上只使用了一个电阻器,其实效果是一样的。电阻阻值选用 1K 的就可以了。用 CD4017 可以制作各种流水灯电路,可以是圆形的、心形 的、多个 LED 组合在一起的等。 小型心形流水灯电路图(四) 小型心形流水灯电路图(五)

基于单片机的心形流水灯设计


主程序流程图
电路原理总图
PCB板图
实物制作
经过一段时间的不断努力和学习,我在测试部分首先检查 了电路连接是否有错(少接、短路、接错、元件焊接不牢 等问题),可以用万用表来检测电路的导通情况。然后再 检查单片机的最小系统:能否使单片机正常工作等。最后 经过调试,系统整体调试:系统各个模块的测试,能够正 常工作,达到设计预期的目标。
课题要求: 结合C语言编程,使心形环绕LED流水灯实现42种不同形式的闪 烁功能,由快到慢,再由慢到快,在循环往复不断的变化中,给 人带来美的体验。
方案择
方案的选择与论证 基于单片机的新型电动栏杆设计由硬件部分和软件部
分两大部分组成。硬件系统采用STC89C52单片机作为中 央处理器,采用了多路电源供电,结合步进电机驱动电路 ,达到过往车辆数量检测,并结合数码管显示等功能。而 软件系统则采用模块化设计,包括车辆数量记录模块,距 离电机驱动模块、数码管显示模块等等。 主控制器芯片主要是负责控制LED灯的不同变化速度快慢 以及变化效果。主控制器作为整个系统的控制核心部分, 要求其功耗低、数据转换速率快。。
研究概述
研究背景与意义
随着现代科学技术的持续进步和发展和人们生活水平 的不断提高,以大规模、超大规模集成电路为首的电子工艺技术 的使用也越来越广泛,在日常生活中
也普遍常见,结合单片机技术设计的电子电路也层出不穷,像 是基于单片机技术设计的LED流水灯,也越来越满足商业 空间的需求,LED灯的优点主要体现在高节能、绿色环保 、无辐射、使用寿命长等,在商店、酒吧、歌厅、舞台等 许多场所正是由于装饰LED彩灯来照明,来展示店铺主题 形象,塑造空间光形象,从而使消费者产生共鸣和联想, 来建立情感交流,来吸引和引导消费者的目光。

心形流水灯实验报告

【数字电路课程设计】非遥控音乐桃心闪灯实验报告学院:物理电气信息学院专业:通信(1)班姓名:刘发虎学号:12011244070指导老师:王国金一.实验目的:1.学习基本理论在实践中综合运用的初步经验,掌握电路设计的基本方法、设计步骤,培养综合设计与调试能力。

2学习和掌握单片机的基本知识。

3.培养实践技能,提高分析和解决实际问题的能力。

二.实验器材:品名型号数量元件符号单片机 MCU8051 1 U1电容 30pf 2 C1 C210uf 1 C3100uf 1 C4电阻 1K 30 R1 R2 R3 R4...R28 R29 R30 10K 1 R313.6K 1 R32晶振 12M 1 Y0电源 5 1 VCC三级管8550 1 Q18050 1 Q2开关 2 RESET喇叭 1 SPKLED灯 6mm 30 p1 p2p p3...p28 p29p p30 三.单片机MCU8051主要功能;8位CPU·4kbytes 程序存储器(ROM) (52为8K)·256bytes的数据存储器(RAM) (52有384bytes的RAM)·32条I/O口线·111条指令,大部分为单字节指令·21个专用寄存器·2个可编程定时/计数器·5个中断源,2个优先级(52有6个)·一个全双工串行通信口·外部数据存储器寻址空间为64kB·外部程序存储器寻址空间为64kB·逻辑操作位寻址功能·双列直插40PinDIP封装·单一+5V电源供电CPU:由运算和控制逻辑组成,同时还包括中断系统和部分外部特殊功能寄存器;RAM:用以存放可以读写的数据,如运算的中间结果、最终结果以及欲显示的数据;ROM:用以存放程序、一些原始数据和表格;I/O口:四个8位并行I/O口,既可用作输入,也可用作输出;T/C:两个定时/记数器,既可以工作在定时模式,也可以工作在记数模式;五个中断源的中断控制系统;一个全双工UART(通用异步接收发送器)的串行I/O口,用于实现单片机之间或单片机与微机之间的串行通信;片内振荡器和时钟产生电路,石英晶体和微调电容需要外接。

心形流水灯设计原理

心形流水灯设计原理
心形流水灯是一款综合多彩灯带、音乐控制灯、延时功能的智能装饰灯,它可以极具艺术美感地装点房间室外空间。

心形流水灯使用LED灯珠、电子电路技术和音乐控制技术,聚合在一起,它能够根据用户的设置,实现彩色变化、渐变变色及跟随音乐的节奏律动等功能,给人以多彩的视觉感受。

心形流水灯的原理如下:首先,根据控制要求,通过控制电路板连接相应的灯具,实现对各个灯具的控制,如果要实现彩色变化、渐变变色及跟随音乐的节奏律动,则需要将控制电路板和电脑软件结合起来使用。

其次,音乐控制灯需要使用麦克风来监听音乐信号,并将其转换为指令发送给控制电路板,以便实现跟随音乐的节奏律动等功能。

最后,控制器会根据音乐的节奏和动作,生成控制信号,通过控制电路板驱动灯具随着音乐变化,实现多彩变化的效果。

心形流水灯小巧、环保、安全,可替代传统电源装饰灯,具有节能减排的保护环境的效果。

它不仅可以满足各种变彩诉求,而且可以随着音乐节奏变化,增强视觉冲击力。

它还可以延时,可以让观看者们享受到舒服而持久的光线,让我们的生活更加温馨舒适!。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

若无双面板,红色线拿导线连,用到32个LED灯和32个电阻,灯用5MM七彩快闪较好看,电阻220欧到1000欧皆可,我用的是220欧的,剩下的便是单片机最小系统的元件,这是程序//***********************************************// 本例通过两种方法实现相同的流水灯功能//***********************************************#include<reg51.h>//************8位将流水灯编码存于单片机程序存储中******************unsigned char code LED1_shun[]={0xFE,0xFD,0xFB,0xF7,0xEF,0xDF,0xBF,0x7F}; //顺时针点亮数据unsigned char code LED2_ni[]={0x7F,0xBF,0xDF,0xEF,0xF7,0xFB,0xFD,0xFE}; //逆时针点亮数据unsigned int N=300;void delay(unsigned int n){unsigned int i;unsigned char j;for(i=0;i<n;i++)for(j=100;j>0;j--);}void Display_One(void){unsigned char i,j;unsigned char temp;for(j=0;j<2;j++){//------------------顺时针------------------temp=0x7F;for(i=0;i<8;i++){P0=temp;delay(N);temp=((temp>>1)|0x80);}P0=0xFF;temp=0xFE;for(i=0;i<8;i++){P1=temp;delay(N);temp=((temp<<1)|0x01);}P1=0xFF;temp=0xFE;for(i=0;i<8;i++){P2=temp;delay(N);temp=((temp<<1)|0x01);}P2=0xFF;temp=0xFE;for(i=0;i<8;i++){P3=temp;delay(N);temp=((temp<<1)|0x01);}P3=0xFF;//----------------------------逆时针------------------------ temp=0x7F;for(i=0;i<8;i++){P3=temp;delay(N);temp=((temp>>1)|0x80);}P3=0xFF;temp=0x7F;for(i=0;i<8;i++){P2=temp;delay(N);temp=((temp>>1)|0x80);}P2=0xFF;temp=0x7F;for(i=0;i<8;i++){P1=temp;delay(N);temp=((temp>>1)|0x80);}P1=0xFF;temp=0xFE;for(i=0;i<8;i++){P0=temp;delay(N);temp=((temp<<1)|0x01);}P0=0xFF;}}void Display_Two(void){unsigned char i,j;unsigned char temp1,temp2;for(j=0;j<2;j++){//------------------------------------------temp1=0x7F;for(i=0;i<8;i++){P0=temp1;P3=temp1;delay(N);temp1=((temp1>>1)|0x80);}P0=0xFF;P3=0xFF;temp1=0xFE;temp2=0x7F;for(i=0;i<8;i++){P1=temp1;P2=temp2;delay(N);temp1=((temp1<<1)|0x01);temp2=((temp2>>1)|0x80);}P1=0xFF;P2=0xFF;//-------------------------------------------- temp1=0xFE;temp2=0x7F;for(i=0;i<8;i++){P1=temp2;P2=temp1;delay(N);temp1=((temp1<<1)|0x01);temp2=((temp2>>1)|0x80);}P1=0xFF;P2=0xFF;temp1=0xFE;for(i=0;i<8;i++){P0=temp1;P3=temp1;delay(N);temp1=((temp1<<1)|0x01);}P0=0xFF;P3=0xFF;}}void Display_Three(void){unsigned char i,j;unsigned char temp1,temp2;for(j=0;j<4;j++){temp1=0x77;temp2=0xEE;for(i=0;i<4;i++){P0=temp1;P1=temp2;P2=temp2;P3=temp2;delay(N+N);temp1=((temp1>>1)|0x80);temp2=((temp2<<1)|0x01);}P0=0xFF;P1=0xFF;P2=0xFF;P3=0xFF;delay(N);}}void Display_Four(void){unsigned char i,j;unsigned char temp1;for(j=0;j<2;j++){//------------------------------------------- temp1=0x7F;for(i=0;i<8;i++){P0=temp1;delay(N);temp1=(temp1>>1);}temp1=0xFE;for(i=0;i<8;i++){P1=temp1;delay(N);temp1=(temp1<<1);}temp1=0xFE;for(i=0;i<8;i++){P2=temp1;delay(N);temp1=(temp1<<1);}temp1=0xFE;for(i=0;i<8;i++){P3=temp1;delay(N);temp1=(temp1<<1);}//------------------------------------------------ temp1=0x80;for(i=0;i<8;i++){P0=temp1;delay(N);temp1=((temp1>>1)|0x80);}temp1=0x01;for(i=0;i<8;i++){P1=temp1;delay(N);temp1=((temp1<<1)|0x01);}temp1=0x01;for(i=0;i<8;i++){P2=temp1;delay(N);temp1=((temp1<<1)|0x01);}temp1=0x01;for(i=0;i<8;i++){P3=temp1;delay(N);temp1=((temp1<<1)|0x01);}}}void Display_Five(void){unsigned char i,j;unsigned char temp1,temp2;//-----------------------------------------------for(j=0;j<4;j++){temp1=0x07;temp2=0xE0;for(i=0;i<4;i++){P0=temp1;P1=temp2;P2=temp2;P3=temp2;delay(N+N);temp1=((temp1>>1)|0x80);temp2=((temp2<<1)|0x01);}temp1=0x70;temp2=0x0E;for(i=0;i<4;i++){P0=temp1;P1=temp2;P2=temp2;P3=temp2;delay(N+N);temp1=(temp1>>1);temp2=(temp2<<1);}delay(N);}//---------------------------------------------for(j=0;j<4;j++){temp1=0xE0;temp2=0x07;for(i=0;i<4;i++){P0=temp1;P1=temp2;P2=temp2;P3=temp2;delay(N+N);temp1=((temp1<<1)|0x01);temp2=((temp2>>1)|0x80);}temp1=0x0E;temp2=0x70;for(i=0;i<4;i++){P0=temp1;P1=temp2;P2=temp2;P3=temp2;delay(N+N);// temp1=((temp1<<1)|0x01);// temp2=((temp2>>1)|0x80);temp1=(temp1<<1);temp2=(temp2>>1);}delay(N);}}void Display_Six(void){unsigned char i;for(i=0;i<4;i++){P0=0x00;P1=0x00;P2=0x00;P3=0x00;delay(N+N+N);P0=0xFF;P1=0xFF;P2=0xFF;P3=0xFF;delay(N+N+N);}}void Display_Seven(void){unsigned char i;unsigned char temp1,temp2;temp1=0x7F;temp2=0xFE;for(i=0;i<8;i++){P0=temp1;P1=temp2;P2=temp2;P3=temp2;delay(N);temp1=((temp1>>1)|0x80);temp2=((temp2<<1)|0x01);}temp1=0x7F;temp2=0xFE;for(i=0;i<8;i++){P0=temp1;P1=temp2;P2=temp2;P3=temp2;delay(N);temp1=((temp1>>1)|0x80);temp2=((temp2<<1)|0x01);}temp1=0x7F;temp2=0xFE;for(i=0;i<7;i++){P0=(temp1&0xFE);P1=(temp2&0x7F);P2=(temp2&0x7F);P3=(temp2&0x7F);delay(N);temp1=((temp1>>1)|0x80);temp2=((temp2<<1)|0x01);temp1=0x7F;temp2=0xFE;for(i=0;i<6;i++){P0=(temp1&0xFC);P1=(temp2&0x3F);P2=(temp2&0x3F);P3=(temp2&0x3F);delay(N);temp1=((temp1>>1)|0x80);temp2=((temp2<<1)|0x01); }temp1=0x7F;temp2=0xFE;for(i=0;i<5;i++){P0=(temp1&0xF8);P1=(temp2&0x1F);P2=(temp2&0x1F);P3=(temp2&0x1F);delay(N);temp1=((temp1>>1)|0x80);temp2=((temp2<<1)|0x01); }temp1=0x7F;temp2=0xFE;for(i=0;i<4;i++){P0=(temp1&0xF0);P1=(temp2&0x0F);P2=(temp2&0x0F);P3=(temp2&0x0F);delay(N);temp1=((temp1>>1)|0x80);temp2=((temp2<<1)|0x01); }temp1=0x7F;temp2=0xFE;for(i=0;i<3;i++)P0=(temp1&0xE0);P1=(temp2&0x07);P2=(temp2&0x07);P3=(temp2&0x07);delay(N);temp1=((temp1>>1)|0x80);temp2=((temp2<<1)|0x01);}temp1=0x7F;temp2=0xFE;for(i=0;i<2;i++){P0=(temp1&0xC0);P1=(temp2&0x03);P2=(temp2&0x03);P3=(temp2&0x03);delay(N);temp1=((temp1>>1)|0x80);temp2=((temp2<<1)|0x01);}temp1=0x7F;temp2=0xFE;for(i=0;i<1;i++){P0=(temp1&0x80);P1=(temp2&0x01);P2=(temp2&0x01);P3=(temp2&0x01);delay(N);temp1=((temp1>>1)|0x80);temp2=((temp2<<1)|0x01);}delay(N+N+N);}void Display_Eight(void){unsigned char i;unsigned char temp1,temp2;temp1=0x7F;temp2=0xFE;for(i=0;i<1;i++){P0=(temp1&0x80);P1=(temp2&0x01);P2=(temp2&0x01);P3=(temp2&0x01);delay(N);temp1=((temp1<<1)|0x01);temp2=((temp2>>1)|0x80); }temp1=0xBF;temp2=0xFD;for(i=0;i<2;i++){P0=(temp1&0xC0);P1=(temp2&0x03);P2=(temp2&0x03);P3=(temp2&0x03);delay(N);temp1=((temp1<<1)|0x01);temp2=((temp2>>1)|0x80); }temp1=0xDF;temp2=0xFB;for(i=0;i<3;i++){P0=(temp1&0xE0);P1=(temp2&0x07);P2=(temp2&0x07);P3=(temp2&0x07);delay(N);temp1=((temp1<<1)|0x01);temp2=((temp2>>1)|0x80); }temp1=0xEF;temp2=0xF7;for(i=0;i<4;i++){P0=(temp1&0xF0);P1=(temp2&0x0F);P2=(temp2&0x0F);P3=(temp2&0x0F);delay(N);temp1=((temp1<<1)|0x01);temp2=((temp2>>1)|0x80); }temp1=0xF7;temp2=0xEF;for(i=0;i<5;i++){P0=(temp1&0xF8);P1=(temp2&0x1F);P2=(temp2&0x1F);P3=(temp2&0x1F);delay(N);temp1=((temp1<<1)|0x01);temp2=((temp2>>1)|0x80); }temp1=0xFB;temp2=0xDF;for(i=0;i<6;i++){P0=(temp1&0xFC);P1=(temp2&0x3F);P2=(temp2&0x3F);P3=(temp2&0x3F);delay(N);temp1=((temp1<<1)|0x01);temp2=((temp2>>1)|0x80); }temp1=0xFD;temp2=0xBF;for(i=0;i<7;i++){P0=(temp1&0xFE);P1=(temp2&0x7F);P2=(temp2&0x7F);P3=(temp2&0x7F);delay(N);temp1=((temp1<<1)|0x01);temp2=((temp2>>1)|0x80);}temp1=0xFE;temp2=0x7F;for(i=0;i<7;i++){P0=(temp1&0xFE);P1=(temp2&0x7F);P2=(temp2&0x7F);P3=(temp2&0x7F);delay(N);temp1=((temp1<<1)|0x01);temp2=((temp2>>1)|0x80);}temp1=0xFE;temp2=0x7F;for(i=0;i<8;i++){P0=temp1;P1=temp2;P2=temp2;P3=temp2;delay(N);temp1=((temp1<<1)|0x01);temp2=((temp2>>1)|0x80);}delay(N+N+N);}void Display_Nine(void){unsigned char i;for(i=0;i<8;i++){P0=0x55;P1=0xAA;P2=0xAA;P3=0xAA;delay(N);P0=0xAA;P1=0x55;P3=0x55;delay(N);}}void Display_Ten(void) {unsigned char i;for(i=0;i<8;i++){P0=0x7E;P1=0x7E;P2=0x7E;P3=0x7E;delay(N);P0=0xBD;P1=0xBD;P2=0xBD;P3=0xBD;delay(N);P0=0xDB;P1=0xDB;P2=0xDB;P3=0xDB;delay(N);P0=0xE7;P1=0xE7;P2=0xE7;P3=0xE7;delay(N);P0=0xDB;P1=0xDB;P2=0xDB;P3=0xDB;delay(N);P0=0xBD;P1=0xBD;P2=0xBD;P3=0xBD;delay(N);P0=0x7E;P1=0x7E;P2=0x7E;delay(N);}P0=0xFF;P1=0xFF;P2=0xFF;P3=0xFF;}void Display_Twelve(void){unsigned char i;unsigned char temp1;temp1=0x7F;for(i=0;i<8;i++){P0=temp1;delay(N);temp1=(temp1>>1);}delay(N);temp1=0x80;for(i=0;i<8;i++){P0=temp1;delay(N);temp1=((temp1>>1)|0x80);}delay(N+N);temp1=0xFE;for(i=0;i<8;i++){P1=temp1;delay(N);temp1=(temp1<<1);}delay(N);temp1=0x01;for(i=0;i<8;i++){P1=temp1;delay(N);temp1=((temp1<<1)|0x01);}delay(N+N);P1=0xFF;temp1=0xFE;for(i=0;i<8;i++){P2=temp1;delay(N);temp1=(temp1<<1);}delay(N);temp1=0x01;for(i=0;i<8;i++){P2=temp1;delay(N);temp1=((temp1<<1)|0x01);}P2=0xFF;delay(N+N);temp1=0xFE;for(i=0;i<8;i++){P3=temp1;delay(N);temp1=(temp1<<1);}delay(N);temp1=0x01;for(i=0;i<8;i++){P3=temp1;delay(N);temp1=((temp1<<1)|0x01);}delay(N+N);P3=0xFF;}void main(void){// unsigned char i;// unsigned char LED_temp;while(1){Display_One();delay(N+N+N);Display_Two();delay(N+N+N);Display_Three();delay(N+N+N);Display_Four();delay(N+N+N);Display_Five();delay(N+N+N);Display_Six();delay(N+N+N);Display_Seven();delay(N+N+N);Display_Eight();delay(N+N+N);Display_Nine();delay(N+N+N);Display_Ten();delay(N+N+N); //Display_Twelve();delay(N+N+N);}}。

相关文档
最新文档