单片机课程设计报告--心形流水灯
心形流水灯实验报告
【数字电路课程设计】非遥控音乐桃心闪灯实验报告学院:物理电气信息学院专业:通信(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口,用于实现单片机之间或单片机与微机之间的串行通信;片内振荡器和时钟产生电路,石英晶体和微调电容需要外接。
单片机项目设计-七彩炫光心型流水灯
单片机应用系统综合设计
1、硬件焊接 2、控制程序设计 3、硬软件联调 4、程序载 5、产品测试
电路原理图
一、硬件焊接
第一步:清点元 器件
第二步:焊接工具准备
常用必备焊接测试工具:焊接烙铁,元件盒,万用表, 锡丝,镊子,烙铁架, 吸锡器,海绵,剪钳,尖嘴钳, 螺丝刀,松香助焊剂等!
第三步:元器件焊接与安装
• 焊接过程注意事项:焊接前,可用万用表测量电阻阻值大小, 电容、二极管要分清极性再焊接。
• 1、焊接电阻 • 2、焊接瓷片电容C1、C2、晶振Y1、IC座 • 3、焊接电解电容(注意电容必须横放)
• 4、焊接LED,注意LED 引脚正负(长正短负)。 • 5、焊接DC005电源座和自锁开关
第四步:电路测试
二、控制程序设计
1、编写程序实现1盏灯顺时针走一圈。然后逆时针走一圈 2、编写程序实现4个LED同时顺时、逆时针移动1/4圈 3、自由发挥
3、硬软件联调 4、程序下载 5、产品测试
单片机流水灯课程设计
单片机流水灯课程设计第一篇:单片机流水灯课程设计单片机原理及系统课程设计报告基于AT89C51单片机的流水灯引言1.1 课题简介单片机全称叫单片微型计算机(Single Chip Microcomputer),是一种集成在电路芯片,是采用超大规模集成电路技术把具有数据处理能力的中央处理器CPU随机存储器RAM、只读存储器ROM、多种I/O口和中断系统定时器/计时器等功能(可能还包括显示驱动电路、脉宽调制电路、模拟多路转换器、A/D转换器等电路)集成到一块硅片上构成的一个小而完善的计算机系统。
目前单片机渗透到我们生活的各个领域,几乎很难找到哪个领域没有单片机的踪迹。
导弹的导航装置,飞机上各种仪表的控制,计算机的网络通讯与数据传输,工业自动化过程的实时控制和数据处理,广泛使用的各种智能IC卡,民用豪华轿车的安全保障系统,录像机、摄像机、全自动洗衣机的控制,以及程控玩具、电子宠物等等,这些都离不开单片机。
更不用说自动控制领域的机器人、智能仪表、医疗器械以及各种智能机械了。
单片机广泛应用于仪器仪表、家用电器、医用设备、航空航天、专用设备的智能化管理及过程控制等领域,大致可分如下几个范畴:在智能仪器仪表上的应用,例如精密的测量设备;在工业控制中的应用,用单片机可以构成形式多样的控制系统、数据采集系统,例如工厂流水线的智能化管理,电梯智能化控制、各种报警系统,与计算机联网构成二级控制系统等;在家用电器中的应用可从手机,电话机、小型程控交换机、楼宇自动通信呼叫系统、列车无线通信、再到日常工作中随处可见的移动电话,集群移动通信,无线电对讲机等。
单片机在医用设备领域中的应用,例如医用呼吸机,各种分析仪,监护仪,超声诊断设备及病床呼叫系统等;在各种大型电器中的模块化应用,如音乐集成单片机,看似简单的功能,微缩在纯电子芯片中(有别于磁带机的原理),就需要复杂的类似于计算机的原理。
本设计着重在于分析计算器软件和开发过程中的环节和步骤,并从实践经验出发对计算器设计做了详细的分析和研究。
基于单片机的心形流水灯毕业设计论文
基于单片机的心形流水灯毕业设计论文此文档为WORD版可编辑修改课程设计(论文)说明书题目:心形流水灯院(系):信息与通信学院专业:通信工程学生姓名:学号:指导教师:职称:X年X月X日摘要本论文基于单片机技术与单片机芯片AT89S51芯片功能和C语言程序,实现心形流水灯的多种亮与灭的循环。
首先,我们了解单片机的一些技术,了解了单片机芯片AT89S51的一些功能;然后结合C语言编程;最后将它们运用到实际的电路,使心形LED灯实现多种亮灭方法。
本论文介绍关于流水灯的运用和单片机技术;然后介绍芯片AT89S51;最后介绍运用到的相关软件.关键词:单片机;流水灯;C语言;AbstractThis paper Based on the single chip microcomputer and single chip microcomputer chipAT89S51 chip function and C language program,Realization of flowing water light heart a variety of light and the cycle of destruction。
primarily,We know some of the single chip microcomputer technology,Understanding of the single chip microcomputer chip AT89S51 of some functions, Then based on the C language programming; Finally they are applied to the practical circuit, Make heart LED lamp achieve a variety of light out method. This paper introduces about the use of flowing water light and single chip microcomputer; and then introduced chip AT89S51; At the end of this paper applied to software.Key words:micro-computer;light water ;C programming language目录引言 (1)1 设计方案 (2)1.1 总体设计目标 (2)1.2 总体设计组成框图 (2)2 相关运用与功能................................................................ 错误!未定义书签。
心形花样流水灯设计报告
《专业方向课程设计》课程设计报告题目:心形花样流水灯与点阵显示专业:电子信息工程班级:二班学号:姓名:指导老师:重庆交通大学信息科学与工程学院设计时间:2013年9 月8 日到2013 年11 月16 号一、设计任务说明随着社会的发展,单片机得到了广泛的应用,人们越来越重视单片机的应用。
比如温度是和每个人息息相关的,并且在有的生产车间里还要进行温度时时测量,甚至是对温度的进一步调控等,这些都是单片机的应用之例。
本设计是用单片机和点阵加一个小的流水灯电路,这次作品的初衷是希望通过单片机学习,做个生日礼物送给朋友。
二、总体设计本系统主要有AT89C51单片机、5mm彩色LED灯、74HC245、8*8LED点阵、200欧电阻等元件组成。
1.流水灯设计:(1)AT89C51单片机:AT89C51具有如下特点:40个引脚,8k Bytes Flash片内程序存储器,256 bytes的随机存取数据存储器(RAM),32个外部双向输入/输出(I/O)口,5个中断优先级2层中断嵌套中断,2个16位可编程定时计数器,2个全双工串行通信口,看门狗(WDT)电路,片内时钟振荡器。
A T89C51引脚图此外,AT89S52设计和配置了振荡频率可为0Hz并可通过软件设置省电模式。
空闲模式下,CPU暂停工作,而RAM定时计数器,串行口,外中断系统可继续工作,掉电模式冻结振荡器而保存RAM的数据,停止芯片其它功能直至外中断激活或硬件复位。
引脚图如右图所示。
此次设计把51单片机的4个I/O口与32个5mm高亮LED 灯相接,通过单片机控制各I/O引脚的高低电平控制LED的亮灭从而形成各种不同亮灭的花样。
2.点阵显示设计:(1)8*8点阵原理图:从图中可以看出,8X8点阵共需要64个发光二极管组成,且每个发光二极管是放置在行线和列线的交叉点上,当对应的某一列置1电平,某一行置0电平,则相应的二极管就亮;因此要实现一根柱形的亮法,如图所示,对应的一列为一根竖柱,或者对应的一行为一根横柱,因此实现柱的亮的方法如下所述:一根竖柱:对应的列置1,而行则采用扫描的方法来实现。
51单片机爱心流水灯原理及制作
51单片机爱心流水灯原理及制作引言:在现代科技发展的背景下,电子产品已经成为我们生活中不可或者缺的一部份。
而作为电子制作的入门级项目,流水灯因其简单而受到泛博爱好者的爱慕。
本文将介绍使用51单片机制作爱心流水灯的原理及制作过程。
1. 原理介绍:爱心流水灯是一种特殊的流水灯效果,通过控制LED灯的亮灭顺序和时间间隔,形成一个爱心图案在LED灯带上流动的效果。
其原理基于51单片机的GPIO (通用输入输出)口控制LED灯的亮灭,通过改变LED灯的状态来实现流动效果。
2. 材料准备:制作爱心流水灯所需的材料如下:- 51单片机开辟板- LED灯带- 面包板- 杜邦线- 电阻- 电容- 电源适配器3. 硬件连接:首先,将51单片机开辟板和面包板连接起来。
然后,将LED灯带连接到面包板上,确保正极和负极正确连接。
接下来,通过杜邦线将51单片机的GPIO口与LED灯带连接起来。
最后,将电阻和电容连接到电路中,以保护电路免受过电流和过电压的伤害。
4. 软件编程:使用Keil C编译器进行软件编程。
首先,需要定义LED灯带的控制引脚,并初始化为输出模式。
然后,编写程序来控制LED灯的亮灭顺序和时间间隔。
在本例中,我们将使用循环语句和延时函数来实现流水灯效果。
通过改变LED灯的状态和延时时间,可以形成一个爱心图案在LED灯带上流动的效果。
5. 程序调试:将编写好的程序下载到51单片机开辟板上,并连接电源适配器。
打开开关,LED灯带上的爱心流水灯效果就会开始显示出来。
如果浮现问题,可以通过调试程序和检查硬件连接来解决。
6. 制作扩展:如果你对爱心流水灯的效果满意,你还可以进一步扩展你的制作。
例如,你可以添加一个按键来控制流水灯的启停,或者通过蓝牙模块和手机APP来远程控制流水灯的效果。
这些扩展可以增加你的制作的趣味性和创造性。
结论:通过本文的介绍,我们了解了51单片机爱心流水灯的原理及制作过程。
通过硬件连接和软件编程,我们可以制作出一个具有特殊效果的流水灯。
32个心形流水灯单片机课程设计
32个心形流水灯单片机课程设计题目:心形流水灯系别:计算机信息与技术系专业: 计算机科学与技术班级: B120601学号: B120601学生姓名:指导教师: 郭2015年06月目录绪论 ..................................................................... ........................ 3 一.题目分析 ..................................................................... ......... 4 二.硬件 ..................................................................... (4)2.1 MCS-51系列单片机的内部结构框图 (4)2.2系统框图...................................................................... .. (5)2.3电路原理图...................................................................... ......................... 5 三.系统软件设计 ..................................................................... .. 73.1 Keil_c软件界面图...................................................................... . (7)3.2程序流程图 ..................................................................... .............................. 8 四仿真调试 ..................................................................... . (10)4.1仿真采用proteus仿真图 ..................................................................... (10)4.2导入代码图 ..................................................................... ............................ 10 五系统调试及结果分析 (11)5.1 软件调试...................................................................... (11)5.2遇到问题...................................................................... ............................ 12 六总结 ..................................................................... .. (13)绪论由于单片机技术在各个领域正得到越来越广泛的应用,世界上许多集成电路生产厂家相继推出了各种类型的单片机,在单片机家族的众多成员中MCS-52系列单片机以其优越的性能、成熟的技术及高可靠性和高性能价格比,迅速占领了工业测控和自动化工程应用的主要市场,成为国内单片机应用领域中的主流。
单片机心形灯课程设计
单片机心形灯课程设计一、课程目标知识目标:1. 让学生掌握单片机的基本原理,理解心形灯电路的工作原理。
2. 使学生了解并掌握C语言编程基础,能运用其进行单片机编程。
3. 帮助学生理解并运用数字电路基础知识,实现心形灯的显示效果。
技能目标:1. 培养学生动手实践能力,能独立完成心形灯电路的搭建和编程。
2. 提高学生问题解决能力,能通过调试程序,解决心形灯显示过程中出现的问题。
3. 培养学生团队协作能力,分组合作完成课程设计。
情感态度价值观目标:1. 培养学生对单片机及电子制作的兴趣,激发学习热情。
2. 培养学生勇于尝试、不断探索的精神,提高创新意识。
3. 增强学生的环保意识,培养节能降耗的观念。
课程性质:本课程为实践性课程,以学生动手实践为主,结合理论讲解,培养学生对单片机应用的实际操作能力。
学生特点:学生已具备一定的电子基础知识,对单片机有一定了解,但编程实践能力较弱。
教学要求:注重理论与实践相结合,以学生为主体,充分调动学生的积极性,注重培养学生的动手能力和团队协作精神。
通过课程设计,使学生将所学知识应用于实际项目中,提高学生的综合能力。
二、教学内容1. 理论知识:- 单片机原理:介绍单片机的组成、工作原理及功能。
- C语言基础:回顾C语言的基本语法,重点讲解数据类型、运算符、控制结构等。
- 数字电路基础:回顾与心形灯电路相关的数字电路知识,如逻辑门、触发器等。
2. 实践操作:- 心形灯电路设计:讲解心形灯电路的原理,指导学生搭建心形灯电路。
- 单片机编程:教授学生编写控制心形灯的程序,实现心形灯的闪烁、渐变等效果。
- 调试与优化:指导学生进行程序调试,解决实际操作过程中遇到的问题。
3. 教学大纲:- 第一周:回顾单片机原理,学习C语言基础,了解数字电路基础知识。
- 第二周:学习心形灯电路设计,编写控制程序。
- 第三周:动手实践,搭建心形灯电路,调试程序。
- 第四周:优化程序,展示成果,进行课程总结。
单片机课程设计报告--心形流水灯
机电工程学院单片机课程设计报告课程名称:单片机设计题目:心形流水灯姓名:专业:班级:学号:指导教师:目录1引言 (2)1.1设计任务 (2)1.2设计要求……………………………………………… ..22 课题综述 (2)2.1课题的来源 (2)2.2面对的问题 (2)3 系统分析 (2)3.1 STC89C52单片机引脚图及引脚功能介绍 (2)4 系统设计 (4)4.1硬件设计 (4)4.1.1硬件框图 (4)4.1.2硬件详细设计 (5)4.2 软件设计 (5)4.3 硬件原理图 (6)4.4 元件清单 (6)4.5 硬件焊接图 (6)4.6 代码编写 (7)5心得体会 (7)6致谢 (8)参考文献 (8)1 引言单片机课程设计主要是为了让我们增进对STC89C51单片机电路的感性认识,加深对理论方面的理解。
了解软硬件的有关知识,并掌握软硬件设计过程、方法及实现,为以后设计和实现应用系统打下良好基础。
另外,通过简单课题的设计练习,使我们了解必须提交的各项工程文件,达到巩固、充实和综合运用所学知识解决实际问题的目的。
1.1设计任务设计一个单片机控制的流水灯系统1.2设计要求(1)32个LED灯;(2)可实现多种的亮灯(如左循环,右循环,间隔闪,90度交叉闪等)。
2 课题综述2.1 课题的来源当今社会,这种由单片机芯片控制各种硬件工作的技术也日益成熟,并普及在交通、化工、机械等各个领域。
而流水灯这项技术在生活中的应用更是广泛,较为贴近生活。
而流水灯控制的设计所需要的知识也正好吻合了我们本学期对于单片机这门课程的学习,所以设计流水灯控制的这个课题让我们对知识的学习和巩固都有了进一步的加深。
2.2 面对的问题这次课程设计是通过STC89C52位单片机实现。
但面对的问题却是两方面的:一个是软件的设计,也就是实现流水灯控制功能的程序编辑;另一个是硬件的设计,需要我们自己连接、焊接电路板。
而更为严峻的就是设计的最后还要将软硬件相结合。
心形流水灯设计报告
山东英才学院51单片机课程设计心形流水灯学院信息工程学院专业班级本科电子信息工程学生姓名指导教师2019年04月02日设计要求:o设计一个用单片机控制的心形流水灯系统;o LED灯数量为32个;o可以实现循环点亮、依次熄灭的基本功能;o可以实现对角闪亮、间隔闪亮、顺时针闪亮、逆时针闪亮等多种功能(也可自行增加功能)。
学生需要完成的任务:完成心形流水灯电路设计,利用Keil软件编写程序,Proteus软件进行电路功能仿真,并将仿真结果采用录屏形式生成视频,视频类型建议用.mp4格式,大小不超过200M。
目录目录 (3)一、总体方案设计 ................................................................................................................. - 4 -1、单片机的选择 ........................................................................................................... - 4 -2、LED灯控制方式的比较与选择 ................................................................................ - 4 -3、硬件设计 ................................................................................................................... - 4 -二、电路原理图设计 ............................................................................................................. - 5 -1、时钟电路 ................................................................................................................... - 5 -2、复位电路 ................................................................................................................... - 5 -3、显示电路 ................................................................................................................... - 6 -4、电源电路 ................................................................................................................... - 7 -三、程序设计 ......................................................................................................................... - 9 -1、Keil 软件介绍 ........................................................................................................... - 9 -2、程序编写设计 ........................................................................................................... - 9 -3、程序调试 .................................................................................................................- 10 -4、电路功能仿真 .........................................................................................................- 11 - 附件: ...................................................................................................................................- 13 -1、程序代码: .............................................................................................................- 13 -2、小组成员任务分配表 .............................................................................................- 19 -时钟电路复位电路图1-3.1电 源一、总体方案设计1、单片机的选择单片机作为该电路的主要控制器芯片,是整个系统核心部分,主要负责控制LED 灯的亮灭变化的速度以及变化效果。
【单片机设计报告】LED点阵心形流水灯
//=============P2 口作为 74HC154 的选择控制数据输入=================
1.1 系统组成............................................................................................................ 1 1.1.1 AT89C51 单片机...................................................................................... 1 1.1.2 16 乘 16 点阵.......................................................................................... 2
图 1-2 SN74HC164 的逻辑功能图
2、 74HC595 有一个 8 位串行输入,并行输出的移位寄存器,该寄存器向一 个 8 位 D 型存储寄存器提供数据。74HC595N 的存储寄存器具备三态输出。移位 寄存器和存储寄存器分别有独立的时钟。74HC595N 的移位寄存器带有最高优先 级的直接清零端(SRCLR)、串行输入端(SER)和用于级联的串行输出端。当输 出使能端(OE)为高时,74HC595 的输出将处于高阻态。
本系统采用动态显示的模式,所谓的动态显示模式是指逐行轮流点亮。我 们把所有的同一行发光管的阳极连接在一起,把所有第一列发光管的阴极连接一 起,先送出对应第一行的发光管亮灭的数据并且锁存,然后选通第一行使其点亮 一定的时间然后熄灭;再送出第二行的数据并且锁存,然后宣统第二行使其点亮 同样的时间,然后熄灭;直到第第十六行显示完后再重新点亮第一行,这样反复 轮回。如图2所示。
爱心花样流水灯实训报告
一、实训背景随着科技的发展,电子技术已经深入到我们生活的方方面面。
作为电子技术的重要应用之一,LED灯因其色彩鲜艳、亮度高、寿命长等优点,被广泛应用于各种场合。
本次实训旨在通过制作爱心花样流水灯,掌握LED灯的控制技术,提高电子制作能力,同时培养创新意识和团队协作精神。
二、实训目标1. 熟悉LED灯的工作原理和驱动方法。
2. 掌握单片机编程技术,实现LED灯的控制。
3. 设计并制作爱心花样流水灯,使其具有动态效果。
4. 提高动手能力和问题解决能力。
三、实训内容1. 方案设计本次实训采用51单片机作为控制核心,通过编程控制LED灯的亮灭,实现爱心花样的动态效果。
具体方案如下:(1)选用红色LED灯作为显示单元,以形成爱心图案。
(2)采用定时器中断技术,实现LED灯的动态闪烁。
(3)设计程序,实现爱心图案的循环显示。
2. 电路设计根据方案设计,绘制电路原理图,主要包括以下部分:(1)单片机最小系统:包括晶振、复位电路、电源电路等。
(2)LED驱动电路:将单片机的输出信号转换为适合LED灯的驱动信号。
(3)显示电路:将LED灯按照爱心图案进行排列。
3. 程序设计利用C语言编写程序,实现以下功能:(1)初始化定时器,设置中断频率。
(2)编写中断服务程序,控制LED灯的亮灭。
(3)设计爱心图案的显示程序,实现循环显示效果。
4. 实物制作根据电路原理图,焊接电路板,安装LED灯,连接电源,调试程序。
四、实训过程1. 电路焊接按照电路原理图,将单片机、LED灯、电阻等元器件焊接在电路板上。
2. 程序编写利用Keil软件编写程序,通过串口下载到单片机中。
3. 调试通过观察LED灯的显示效果,检查程序是否存在错误。
如有问题,修改程序并重新下载。
4. 优化根据实际情况,对程序进行优化,提高显示效果。
五、实训成果通过本次实训,成功制作了一款爱心花样流水灯。
该流水灯具有以下特点:1. 色彩鲜艳,动态效果明显。
2. 控制简单,易于操作。
心形音乐流水灯课程设计
心形音乐流水灯课程设计一、课程目标知识目标:1. 让学生理解心形音乐流水灯的制作原理,掌握基础电子元件的功能及电路连接方式。
2. 使学生掌握音乐流水灯的编程方法,能运用所学知识编写简单的控制程序。
3. 帮助学生了解电子制作与实际生活的联系,培养他们将理论知识应用于实践的能力。
技能目标:1. 培养学生动手操作能力,能独立完成心形音乐流水灯的制作。
2. 培养学生编程思维,提高解决问题的能力。
3. 培养学生团队协作能力,学会在项目中合理分工与合作。
情感态度价值观目标:1. 培养学生对电子制作的兴趣,激发他们的学习热情。
2. 培养学生勇于尝试、不断探索的精神,增强自信心。
3. 培养学生关注环保、节能的理念,认识到科技与环保的结合。
课程性质:本课程为实践性课程,结合电子制作与编程知识,培养学生的动手能力和创新思维。
学生特点:五至六年级学生,具备一定的电子元件知识和编程基础,对新鲜事物充满好奇。
教学要求:教师需关注学生的个体差异,引导他们通过实践操作掌握知识,注重培养学生的团队合作意识和解决问题的能力。
在教学过程中,将课程目标分解为具体的学习成果,便于教学设计和评估。
二、教学内容1. 电子元件知识:介绍常用的电子元件,如电阻、电容、二极管、三极管等,并讲解它们在电路中的作用和连接方式。
相关教材章节:第五章“常用电子元件及其应用”2. 音乐流水灯制作原理:讲解心形音乐流水灯的制作原理,包括电路设计、元件选择和功能实现。
相关教材章节:第六章“电子电路设计与实践”3. 编程控制方法:教授如何使用编程软件(如Arduino)编写控制程序,实现音乐流水灯的流水效果。
相关教材章节:第七章“Arduino编程与应用”4. 实践操作:指导学生动手制作心形音乐流水灯,进行电路连接、程序编写和调试。
相关教材章节:第八章“电子制作实践”5. 跨学科融合:结合音乐、美术等学科,让学生在制作过程中充分发挥创意,实现个性化设计。
相关教材章节:第九章“跨学科融合与创新”教学安排与进度:第一课时:介绍电子元件知识,讲解心形音乐流水灯制作原理。
心形流水灯设计报告
山东英才学院51单片机课程设计心形流水灯学院信息工程学院专业班级本科电子信息工程学生姓名指导教师2019年04月02日设计要求:o设计一个用单片机控制的心形流水灯系统;o LED灯数量为32个;o可以实现循环点亮、依次熄灭的基本功能;o可以实现对角闪亮、间隔闪亮、顺时针闪亮、逆时针闪亮等多种功能(也可自行增加功能)。
学生需要完成的任务:完成心形流水灯电路设计,利用Keil软件编写程序,Proteus软件进行电路功能仿真,并将仿真结果采用录屏形式生成视频,视频类型建议用.mp4格式,大小不超过200M。
目录目录 (3)一、总体方案设计 ................................................................................................................. - 4 -1、单片机的选择 ........................................................................................................... - 4 -2、LED灯控制方式的比较与选择 ................................................................................ - 4 -3、硬件设计 ................................................................................................................... - 4 -二、电路原理图设计 ............................................................................................................. - 5 -1、时钟电路 ................................................................................................................... - 5 -2、复位电路 ................................................................................................................... - 5 -3、显示电路 ................................................................................................................... - 6 -4、电源电路 ................................................................................................................... - 7 -三、程序设计 ......................................................................................................................... - 9 -1、Keil 软件介绍 ........................................................................................................... - 9 -2、程序编写设计 ........................................................................................................... - 9 -3、程序调试 .................................................................................................................- 10 -4、电路功能仿真 .........................................................................................................- 11 - 附件: ...................................................................................................................................- 13 -1、程序代码: .............................................................................................................- 13 -2、小组成员任务分配表 .............................................................................................- 19 -时钟电路复位电路图1-3.1电 源一、总体方案设计1、单片机的选择单片机作为该电路的主要控制器芯片,是整个系统核心部分,主要负责控制LED 灯的亮灭变化的速度以及变化效果。
心形流水灯报告
心形流水灯报告引言心形流水灯是一种独特的装饰灯,其形状呈现为一个心形,且灯光呈现流水般效果。
心形流水灯广泛应用于情人节、婚礼、生日派对等场合,成为一种浪漫且温馨的装饰方式。
本报告将介绍心形流水灯的设计原理、制作方法和一般使用情况,并提供一些建议和注意事项。
设计原理心形流水灯的核心组成部分包括LED灯珠、心形灯板、控制电路和电源。
其工作原理是通过控制电路将电源的电能转化为LED灯珠的光能,然后通过心形灯板的特殊设计,使灯光呈现出流水效果。
制作方法以下是制作心形流水灯的一般步骤:1.准备材料和工具–LED灯珠(多达数十颗)–心形灯板–控制电路(例如Arduino)–电源线和插头–电焊工具–导线–热熔胶枪2.连接LED灯珠–使用导线将LED灯珠连接到控制电路上,确保正确极性和正常电路连接。
3.连接控制电路和电源–将控制电路和电源连接起来,注意正确的极性和电压要求。
4.安装心形灯板–将心形灯板安装在适当的位置上,确保灯珠布置整齐,并由热熔胶固定灯珠和电线。
5.测试与调试–接通电源,检查心形流水灯是否正常工作,如有异常,可通过调整控制电路或检查连线来解决问题。
6.包装和完成–可以根据需要制作灯罩或装饰外壳,以增加装饰效果和保护灯具。
使用情况心形流水灯适合用于以下情况和场合:1.情人节装饰–心形流水灯作为情人节的装饰品,能够创造出浪漫的氛围,为情侣们营造出甜蜜而温馨的氛围。
2.婚礼装饰–在婚礼现场悬挂或摆放心形流水灯,能够给婚礼增添浪漫和喜庆的氛围。
3.生日派对装饰–在生日派对上使用心形流水灯,可以为寿星带来惊喜和祝福,同时也能增加派对的欢乐氛围。
4.居家装饰–安装一个心形流水灯在家中的角落,可以增加居家生活的乐趣和温馨感。
建议和注意事项在制作和使用心形流水灯时,需要注意以下事项:1.安全第一–在制作和使用心形流水灯时,务必注意安全,避免电路短路、漏电等安全问题。
2.选择合适的材料和工具–使用高质量的LED灯珠、适用的心形灯板和控制电路,以确保心形流水灯的效果和耐用性。
心形流水灯的实验报告
心形流水灯的实验报告心形流水灯的实验报告一、引言心形流水灯是一种具有艺术性和创意性的灯光装饰,它通过流动的灯光呈现出一个心形的图案。
本实验旨在探索心形流水灯的制作原理和工作原理,并通过实际搭建一个心形流水灯来验证理论。
二、实验材料和方法1. 实验材料:- Arduino开发板- LED灯珠- 面包板- 连接线- 电阻- 电池或电源2. 实验方法:- 将Arduino开发板与面包板连接,并将LED灯珠插入面包板上。
- 根据电路图连接电路,包括电阻和电源的连接。
- 编写Arduino程序,控制LED灯珠按照心形图案流动。
三、实验过程1. 搭建电路根据电路图,将Arduino开发板与面包板连接,并将LED灯珠插入面包板上。
根据需要,可以选择不同颜色的LED灯珠,以增加艺术效果。
2. 连接电路根据电路图连接电路。
首先,将Arduino开发板的数字引脚与面包板上的LED灯珠连接,以控制灯珠的亮灭。
然后,将电阻连接到面包板上的LED灯珠,以限制电流。
最后,将电源连接到电路上,为LED灯珠提供电力。
3. 编写Arduino程序使用Arduino编程软件,编写程序以控制LED灯珠按照心形图案流动。
可以使用Arduino的编程语言,通过控制数字引脚的高低电平来控制LED灯珠的亮灭。
通过循环和延时函数,可以实现LED灯珠按照一定的频率和顺序流动,形成心形图案。
四、实验结果经过实验,我们成功搭建了一个心形流水灯,并通过Arduino程序控制LED灯珠按照心形图案流动。
当灯珠流动时,形成一个明亮的心形图案,给人一种浪漫和温馨的感觉。
五、实验分析心形流水灯的制作原理是通过控制LED灯珠的亮灭和流动顺序,形成一个心形图案。
通过Arduino开发板和编程软件,我们可以方便地控制LED灯珠的亮灭和流动,实现心形流水灯的效果。
在实验过程中,我们还可以对实验进行一些改进和扩展。
例如,可以增加更多LED灯珠,以增加心形图案的亮度和效果。
十八路心形流水灯设计报告
十八路心形流水灯——设计报告目录一、摘要 ................................................................ 错误!未定义书签。
二、设计目的和作用 ............................................. 错误!未定义书签。
三、设计方案和原理 ............................................. 错误!未定义书签。
3.1电路功能........................................................ 错误!未定义书签。
3.2电路工作原理 (2)3.3参数计算 (3)3.4元器件选择 (3)四、仿真调试与性能分析 (4)4.1MUITLSIM仿真 (4)4.2实验步骤 (5)4.3调试分析 (5)4.4实物图 (5)五、设计心得 (6)一、摘要随着科学技术的发展,电力电子设备与人们的工作、生活的关系日益密切。
如今人民的生活水平大幅提升,生活质量和审美情趣也大幅提升,所以本次实验,我们设计了一个十八路心形流水灯,灯交替闪烁,组成心形图案,集美观于实用于一体,也可以用于馈赠亲朋好友,是十分有意义的。
关键字:LED 十八路流水灯心形流水灯交替闪烁二、设计目的和作用随着微电子技术的迅速发展,各类功能芯片的性能不断提高,数字信号处理得到越来越广泛的应用,而十八路流水灯是一个简单的应用,在通信系统、数字仪器仪表、语音、图像处理等方面都是必不可少的部分,所以流水灯的基础设计显得尤为重要。
本次设计在软硬件常规实验的基础上,运用“模拟电子技术”的理论知识,设计、分析、测试基本电路系统,初步掌握综合运用理论知识、软件仿真以及硬件测试进行简单系统的设计与分析的基本方法。
流水灯在日常生活中非常重要,运用非常广泛,在电子工程,通信工程,自动控制,遥测控制,测量仪器,仪表和计算机等技术领域,经常需要用到各种各样的流水灯。
基于单片机的心形流水灯毕业设计论文
基于单片机的心形流水灯毕业设计论文此文档为WORD版可编辑修改课程设计(论文)说明书题目:心形流水灯院(系):信息与通信学院专业:通信工程学生姓名:学号:指导教师:职称:X年X月X日摘要本论文基于单片机技术与单片机芯片AT89S51芯片功能和C语言程序,实现心形流水灯的多种亮与灭的循环。
首先,我们了解单片机的一些技术,了解了单片机芯片AT89S51的一些功能;然后结合C语言编程;最后将它们运用到实际的电路,使心形LED灯实现多种亮灭方法。
本论文介绍关于流水灯的运用和单片机技术;然后介绍芯片AT89S51;最后介绍运用到的相关软件.关键词:单片机;流水灯;C语言;AbstractThis paper Based on the single chip microcomputer and single chip microcomputer chipAT89S51 chip function and C language program,Realization of flowing water light heart a variety of light and the cycle of destruction。
primarily,We know some of the single chip microcomputer technology,Understanding of the single chip microcomputer chip AT89S51 of some functions, Then based on the C language programming; Finally they are applied to the practical circuit, Make heart LED lamp achieve a variety of light out method. This paper introduces about the use of flowing water light and single chip microcomputer; and then introduced chip AT89S51; At the end of this paper applied to software.Key words:micro-computer;light water ;C programming language目录引言 (1)1 设计方案 (2)1.1 总体设计目标 (2)1.2 总体设计组成框图 (2)2 相关运用与功能................................................................ 错误!未定义书签。
心形流水灯课设
淮海工学院课程设计报告书课程名称:单片机课程设计题目:心形流水灯设计系(院):电子工程学院学期:2015-2016-1专业班级:自动化121姓名:陶涛学号:20121208621引言单片机的应用已经广泛的渗透到国民经济的各个领域,随着在电子领域尤其是自动化智能控制领域,传统的分立元件或数字逻辑电路构成的控制系统正以前所未有的速度被单片机智能控制系统所取代,它已经成为工科大学生的必修课程之一。
单片机技术含有硬﹑软两个方面的技术。
硬件是以单片机为核心,再加以其他各元器件组成的电子电路的一个实体。
它既有单片机的技术,又有电子类专业所必须的模拟﹑数字﹑高频电子电路的综合运用。
单片机的种类繁多,目前单片机应用系统开发工具也有不少,但同一系列单片机的开发工具或实验系列基本相同。
51系列单片机时目前应用最广泛的一种8为单片机之一,它具有体积小﹑功能强﹑成本低﹑应用面广等优点。
经过20多年的推广与发展,51系列单片机形成了一个规模庞大,功能齐全,资源丰富的产品群。
当今时代是一个新技术层出不穷的时代,在电子领域尤其是自动化智能控制领域,传统的分立元件或数字逻辑电路构成的控制系统,正以前所未见的速度被单片机智能控制系统所取代。
单片机具有体积小、功能强、成本低、应用面广等优点,可以说,智能控制与自动控制的核心就是单片机。
随着电子技术的迅速发展,单片机得到了越来越多的运用。
本设计用单片机8951结合LED制作了一种新型的心形LED流水灯控制系统的设计,以AT89C51作为主控核心,利用软件实现对心形LED流水灯进行控制。
本系统具有体积小、硬件少、电路结构简单及容易操作等优点。
2硬件介绍2.1硬件组成按照单片机系统扩展与系统配置状况,单片机应用系统可分为最小系统、最小功耗系统及典型系统等。
AT89C51单片机是美国ATMEL公司生产的低电压、高性能CMOS 8位单片机,具有丰富的内部资源:4kB闪存、128BRAM、32根I/O 口线、2个16位定时/计数器、5个向量两级中断结构、2个全双工的串行口,具有4.25~5.50V的电压工作范围和0~24MHz工作频率,使用AT89C51单片机时无须外扩存储器。
心形流水灯焊接实训报告
一、实训背景随着科技的不断发展,电子技术逐渐渗透到我们的日常生活。
为了提高学生的实践能力和创新能力,我校特开设了心形流水灯焊接实训课程。
本课程旨在让学生通过动手实践,掌握心形流水灯的设计、制作和调试方法,提高学生的电子焊接技能。
二、实训目的1. 了解心形流水灯的原理和设计方法。
2. 掌握心形流水灯的焊接技术。
3. 学会使用电子元器件,提高电子制作能力。
4. 培养学生的团队合作精神和创新意识。
三、实训内容1. 心形流水灯电路设计2. 元器件选用与准备3. 心形流水灯焊接4. 心形流水灯调试与测试四、实训过程1. 心形流水灯电路设计在设计心形流水灯电路时,首先需要确定电路的基本原理。
心形流水灯主要由LED 灯、三极管、电阻、电容、晶体管等元器件组成。
通过合理设计电路,实现LED灯的闪烁和心形图案的展示。
2. 元器件选用与准备根据电路设计,选用合适的元器件。
本实训所选用的元器件如下:- LED灯:红色LED,共18个- 三极管:2N2222,共3个- 电阻:1kΩ,共18个- 电容:0.1μF,共3个- 晶体管:8051单片机- 连接线:杜邦线- 电源:5V电源准备好元器件后,将它们放置在实验台上,以便后续焊接。
3. 心形流水灯焊接在焊接前,先进行电路布局。
将元器件按照电路图进行排列,确保焊接过程中方便操作。
然后,按照以下步骤进行焊接:(1)焊接电源:将电源正负极焊接在电路板上的相应位置。
(2)焊接三极管:将三极管焊接在电路板上,确保焊接牢固。
(3)焊接电阻:将电阻焊接在三极管和LED灯之间,连接电路。
(4)焊接LED灯:将LED灯焊接在电路板上,确保LED灯正负极正确连接。
(5)焊接电容:将电容焊接在电路板上,连接电路。
(6)焊接单片机:将单片机焊接在电路板上,连接电路。
焊接过程中,注意以下几点:- 焊接时,保持焊接温度适宜,避免烧毁元器件。
- 焊接时,确保焊点牢固,避免虚焊。
- 焊接完成后,检查电路连接是否正确。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
单片机课程设计报告--心形流水灯井冈山大学机电工程学院单片机课程设计报告课程名称:单片机设计题目:心形流水灯姓名:彭玉红专业:生物医学工程班级:11级医工本一班学号:110615017指导教师:王佑湖2013年11月27日目录1引言 (2)1.1设计任务 (2)1.2设计要求……………………………………………… ..22 课题综述 (2)2.1课题的来源 (2)2.2面对的问题 (2)3 系统分析 (2)3.1 STC89C52单片机引脚图及引脚功能介绍 (2)4 系统设计 (4)4.1硬件设计 (4)4.1.1硬件框图 (4)4.1.2硬件详细设计 (5)4.2 软件设计 (5)4.3 硬件原理图 (6)4.4 元件清单 (6)4.5 硬件焊接图 (6)4.6 代码编写 (7)5心得体会 (7)6致谢 (8)参考文献 (8)1 引言单片机课程设计主要是为了让我们增进对STC89C51单片机电路的感性认识,加深对理论方面的理解。
了解软硬件的有关知识,并掌握软硬件设计过程、方法及实现,为以后设计和实现应用系统打下良好基础。
另外,通过简单课题的设计练习,使我们了解必须提交的各项工程文件,达到巩固、充实和综合运用所学知识解决实际问题的目的。
1.1设计任务设计一个单片机控制的流水灯系统1.2设计要求(1)32个LED灯;(2)可实现多种的亮灯(如左循环,右循环,间隔闪,90度交叉闪等)。
2 课题综述2.1 课题的来源当今社会,这种由单片机芯片控制各种硬件工作的技术也日益成熟,并普及在交通、化工、机械等各个领域。
而流水灯这项技术在生活中的应用更是广泛,较为贴近生活。
而流水灯控制的设计所需要的知识也正好吻合了我们本学期对于单片机这门课程的学习,所以设计流水灯控制的这个课题让我们对知识的学习和巩固都有了进一步的加深。
2.2 面对的问题这次课程设计是通过STC89C52位单片机实现。
但面对的问题却是两方面的:一个是软件的设计,也就是实现流水灯控制功能的程序编辑;另一个是硬件的设计,需要我们自己连接、焊接电路板。
而更为严峻的就是设计的最后还要将软硬件相结合。
3 系统分析3.1 STC 89C52单片机引脚图及引脚功能介绍本次设计的目的在于加深STC89C52单片机的理解,首先来简单认识一下,它的引脚如图3-1所示:图3.1 STC89C52STC89C52引脚可以分为四个部分,各个引脚功能如下:主电源引脚(2根)•Vcc:电源输入,接+5V电源GND:接地线•外接晶振引脚(2根)XTAL1:片内振荡电路的输入端XTAL2:片内振荡电路的输出端•控制引脚(4根)RST/PROG:复位引脚,引脚上出现2个机器周期的高电平将使单片机复位。
ALE/VPP:地址锁存允许信号PESN:外部存储器选通信号EA/VPP:程序存储器的内外部选通,接低电平从外部程序存储器读指令,如果接高电平则从内部程序存储器读指令。
•可编程输入/输出引脚(32根)STC89C52单片机有4组8位的可编程I/O口,分别为P0、P1、P2、P3口,每个口有8位(8根引脚),共32根。
P0口:8位双向I/O口线P1口:8位准双向I/O口线P1口:8位双向I/O口线P2口:8位准双向I/O口线P3口:8位准双向I/O口线4系统设计4.1硬件设计4.1.1.硬件框图按照单片机系统扩展与系统配置状况,单片机应用系统可分为最小系统、最小功耗系统及典型系统等。
STC89C52单片机是本次课程设计运用的主要原件。
流水灯控制设计是用一个带有32个发光二极管的单片机最小应用系统,即为由发光二极管、晶振、复位、电源等电路和必要的软件组成的单个单片机。
从原理图中可以看出,如果要让接在P1、P2、P3、P0口的LED亮起来,那么只要把P2、P1、P3、P0口的电平变为低电平就可以了;因此,要实现流水灯功能,我们只要将发光二极管LED1~LED32依次点亮、熄灭,32只LED灯便会一亮一暗的做流水灯了。
在此我们还应注意一点,由于人眼的视觉暂留效应以及单片机执行每条指令的时间很短,我们在控制二极管亮灭的时候应该延时一段时间,否则我们就看不到“流水”效果了。
4.1.2.硬件详细设计(1)复位电路部分当要对晶体重置时,只要对此引脚电平提升至高电平并保持两个及其周期以上的时间便能完成系统重置的各项动作,使得内部特殊功能寄存器内容均被设成已知状态。
(2)晶振部分4.2 软件设计单片机的应用系统由硬件和软件组成,在硬件原理图搭建完成上电之后,我们还不能看到流水灯循环点亮的现象,我们还需要编写程序控制单片机管脚电平的高低变化,来实现发光二极管的一亮一灭。
4.3 硬件原理图4.4 元件清单表4-1 元件清单元件名称型号数量(个)单片机STC89C52 1单片机芯片底座DIP40 1晶振12MHz 1瓷介电容30pF 2电解电容10uF 1按钮开关/ 2普通电阻10kΩ 1贴片电阻470 32发光二级管红色32电源+5V(VCC) 1USB连接线/ 1万能板9*15 14.5 效果实物图(1)背面实物图(2)正面实物图4.6代码编写#include <REGX52.H>#define uint u nsigned int#define uchar unsigned charuchar code table0[]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f};//LED从低位往高位移uchar code table1[]={0x7f,0xbf,0xdf,0xef,0xf7,0xfb,0xfd,0xfe};//LED从高位往低位移uchar code table2[]={0xfe,0xfc,0xf8,0xf0,0xe0,0xc0,0x80,0x00};//LED从1个亮到8个都点亮(从低位往高位)uchar code table3[]={0x7f,0x3f,0x1f,0x0f,0x07,0x03,0x01,0x00};//LED从1个亮到8个都点亮(从高位往低位)uchar code table4[]={0x00,0x01,0x03,0x07,0x0f,0x1f,0x3f,0x7f,0xff};//LED从8个全亮到一个都不亮(从低位往高位)uchar code table5[]={0x00,0x80,0xc0,0xe0,0xf0,0xf8,0xfc,0xfe,0xff};//LED从8个全亮到一个都不亮(从高位往低位)uchar code table6[]={0xfe,0xfc,0xfa,0xf6,0xee,0xde,0xbe,0x7e};//LED从低位往高位移(最低位始终为0)uchar code table7[]={0x7f,0x3f,0x5f,0x6f,0x77,0x7b,0x7d,0x7e};//LED从高位往低位移(最高位始终为0)uchar i,j;uint tt=70;void delay(uint time) //延时函数{uint x,y;for(x=time;x>0;x--)for(y=110;y>0;y--);}void disp0() //状态0 所有LED闪烁3次{for(i=0;i<3;i++){P0=0x00; P2=0x00; P3=0x00; P1=0x00;delay(300);P0=0xff; P2=0xff; P3=0xff; P1=0xff;delay(300);}}void disp1() //状态1 LED顺时针转一圈{for(i=0;i<8;i++){P2=table1[i];delay(100);}P2=0xff;for(i=0;i<8;i++){P3=table1[i];delay(100);}P3=0xff;for(i=0;i<8;i++){P1=table1[i];delay(100);}P1=0xff;for(i=0;i<8;i++){P0=table0[i];delay(100);}P0=0xff;}void disp2() //状态2 LED逆时针转一圈{for(i=0;i<8;i++){P0=table1[i];delay(100);}P0=0xff;for(i=0;i<8;i++){P1=table0[i];delay(100);}P1=0xff;for(i=0;i<8;i++){P3=table0[i];delay(100);}P3=0xff;for(i=0;i<8;i++){P2=table0[i];delay(100);}P2=0xff;}void disp3() //状态3 4个LED同时顺时、逆时针移动1/4圈{for(i=0;i<8;i++){P0=table1[i];P1=table1[i];P2=table1[i];P3=table0[i];delay(100);}for(i=0;i<8;i++){P0=table0[i];P1=table0[i];P2=table0[i];P3=table1[i];delay(100);}P3=0xff; P0=0xff;}void disp4() //状态4 2个LED同时顺时针移动半圈{for(i=0;i<8;i++){P2=table1[i];P1=table1[i];delay(100);}P2=0xff; P1=0xff;for(i=0;i<8;i++){P3=table1[i];P0=table0[i];delay(100);}P3=0xff; P0=0xff;}void disp5() //状态5 2个LED同时逆时针移动半圈{for(i=0;i<8;i++){P0=table1[i];P3=table0[i];delay(100);}P0=0xff; P3=0xff;for(i=0;i<8;i++){P1=table0[i];P2=table0[i];delay(100);}P1=0xff; P2=0xff;}void disp6() //状态6 LED自上而下逐渐点亮(一半点亮一半不亮) {for(i=0;i<8;i++){P0=table3[i];P2=table3[i];delay(100);}P0=0xff; P2=0xff;for(i=0;i<8;i++){P1=table2[i];P3=table3[i];delay(100);}P1=0xff; P3=0xff;}void disp7() //状态7 LED自下而上逐渐点亮(直到全部点亮) {for(i=0;i<8;i++){P1=table3[i];P3=table2[i];delay(100);}for(i=0;i<8;i++){P0=table2[i];P2=table2[i];delay(100);}}void disp8() //状态8 间断8格的4个LED亮并逆时针旋转{for(j=0;j<2;j++){for(i=0;i<8;i++){P0=table1[i];P2=table0[i];P1=table0[i];P3=table0[i];delay(100);}P0=0xff; P2=0xff; P1=0xff; P3=0xff;for(i=0;i<8;i++){P0=table1[i];P2=table0[i];P1=table0[i];P3=table0[i];delay(100);}P0=0xff; P2=0xff; P1=0xff; P3=0xff;}}void disp9() //状态9 间断8格的4个LED亮,然后逆时针逐渐点亮(直到全部点亮){for(i=0;i<8;i++){P0=table3[i];P2=table2[i];P1=table2[i];P3=table2[i];delay(100);}delay(500);}void disp10() //状态10 从LED全部亮到全不亮(间断8格的4个LED 开始逆时针熄灭){for(i=0;i<9;i++){P0=table5[i];P2=table4[i];P1=table4[i];P3=table4[i];delay(100);}delay(300);}void disp11() //状态11 间断8格的4个LED亮并顺时针旋转{for(j=0;j<2;j++){for(i=0;i<8;i++){P0=table0[i];P2=table1[i];P1=table1[i];P3=table1[i];delay(100);}P0=0xff; P2=0xff; P1=0xff; P3=0xff;for(i=0;i<8;i++){P0=table0[i];P2=table1[i];P1=table1[i];P3=table1[i];delay(100);}P0=0xff; P2=0xff; P1=0xff; P3=0xff;}}void disp12() //间断8格的4个LED亮,然后顺时针逐渐点亮(直到全部点亮){for(i=0;i<8;i++){P0=table2[i];P2=table3[i];P1=table3[i];P3=table3[i];delay(100);}delay(1000);}void disp13() //状态13 从LED全部亮到全不亮(间断8格的4个LED 开始顺时针熄灭){for(i=0;i<9;i++){P0=table4[i];P2=table5[i];P1=table5[i];P3=table5[i];delay(100);}delay(300);}void disp14() //状态14 从LED不亮到全亮(从P0.0、P1.0、P2.0、P3.7开始逐步点亮){for(i=0;i<8;i++){P0=table2[i];P1=table2[i];P2=table2[i];P3=table3[i];delay(100);}}void disp15() //状态15 从LED全亮到全不亮(P0.7、P1.7、P2.7、P3.0逐步熄灭) {for(i=0;i<9;i++){P0=table5[i];P1=table5[i];P2=table5[i];P3=table4[i];delay(100);}delay(300);}void disp16() //状态16 LED灯交替闪烁(频率有慢变快){for(i=0;i<5;i++){P0=0xaa; P1=0xaa; P2=0xaa; P3=0xaa;delay(100);P0=~P0; P1=~P1; P2=~P2; P3=~P3;delay(100);}for(i=0;i<5;i++){P0=0xaa; P1=0xaa; P2=0xaa; P3=0xaa;delay(200);P0=~P0; P1=~P1; P2=~P2; P3=~P3;delay(200);}for(i=0;i<5;i++){P0=0xaa; P1=0xaa; P2=0xaa; P3=0xaa;delay(300);P0=~P0; P1=~P1; P2=~P2; P3=~P3;delay(300);}P0=0xff; P2=0xff; P1=0xff; P3=0xff;delay(300);}void disp17() //状态17从P0.7开始逆时针逐步点亮,(循环2次)并且速度会逐步提高{for(i=0;i<8;i++){P0=table3[i];delay(100);}for(i=0;i<8;i++){P1=table2[i];delay(100);}for(i=0;i<8;i++){P3=table2[i];delay(100);}for(i=0;i<8;i++){P2=table2[i];delay(100);}P0=0xff; P1=0xff; P3=0xff; P2=0xff;for(i=0;i<8;i++){P0=table3[i];delay(50);}for(i=0;i<8;i++){P1=table2[i];delay(50);}for(i=0;i<8;i++){P3=table2[i];delay(50);}for(i=0;i<8;i++){P2=table2[i];delay(50);}P0=0xff; P1=0xff; P3=0xff; P2=0xff;}void disp18() //状态18 LED从P0.7开始逆时针逐步点亮(每亮8位后就熄灭) {for(i=0;i<8;i++){P0=table3[i];delay(100);}P0=0xff;for(i=0;i<8;i++){P1=table2[i];delay(100);}P1=0xff;for(i=0;i<8;i++){P3=table2[i];delay(100);}P3=0xff;for(i=0;i<8;i++){P2=table2[i];delay(100);}P2=0xff;}void disp19() //状态19 LED从P2.7开始顺时针逐步点亮,(循环2次)并且速度会逐步提高{for(i=0;i<8;i++){P2=table3[i];delay(100);}for(i=0;i<8;i++){P3=table3[i];delay(100);}for(i=0;i<8;i++){P1=table3[i];delay(100);}for(i=0;i<8;i++){P0=table2[i];delay(100);}P0=0xff; P1=0xff; P3=0xff; P2=0xff;for(i=0;i<8;i++){P2=table3[i];delay(50);}for(i=0;i<8;i++){P3=table3[i];delay(50);}for(i=0;i<8;i++){P1=table3[i];delay(50);}for(i=0;i<8;i++){P0=table2[i];delay(50);}P0=0xff; P1=0xff; P3=0xff; P2=0xff;}void disp20() //状态20 LED从P2.7开始顺时针逐步点亮(每亮8位后就熄灭){for(i=0;i<8;i++){P2=table3[i];delay(100);}P2=0xff;for(i=0;i<8;i++){P3=table3[i];delay(100);}P3=0xff;for(i=0;i<8;i++){P1=table3[i];delay(100);}P1=0xff;for(i=0;i<8;i++){P0=table2[i];delay(100);}P0=0xff;}void disp21() //状态21 2个LED开始上下移动半圈{for(i=0;i<8;i++){P0=table1[i];P2=table1[i];delay(100);}P0=0xff; P2=0xff;for(i=0;i<8;i++){P1=table0[i];P3=table1[i];delay(100);}for(i=0;i<8;i++){P1=table1[i];P3=table0[i];delay(100);}P1=0xff; P3=0xff;for(i=0;i<8;i++){P0=table0[i];P2=table0[i];delay(100);}}void disp22() //装态22 2个LED自上而下移动(循环5次,且频率渐快,到最快时持续循环16次,然后循环5次频率再逐渐降低){for(j=0;j<5;j++){for(i=0;i<8;i++){P0=table1[i];P2=table1[i];delay(tt);}P0=0xff; P2=0xff;for(i=0;i<8;i++){P1=table0[i];P3=table1[i];delay(tt);}P1=0xff; P3=0xff;tt=tt-10;}for(j=0;j<16;j++){for(i=0;i<8;i++){P0=table1[i];P2=table1[i];delay(20);}P0=0xff; P2=0xff;for(i=0;i<8;i++){P1=table0[i];P3=table1[i];delay(20);}P1=0xff; P3=0xff;}tt=20;for(j=0;j<5;j++){for(i=0;i<8;i++){P0=table1[i];P2=table1[i];delay(tt);}P0=0xff; P2=0xff;for(i=0;i<8;i++){P1=table0[i];P3=table1[i];delay(tt);}P1=0xff; P3=0xff;tt=tt+10;}tt=70;}void disp23() //状态23 LED上下交替闪烁{for(i=0;i<2;i++){P0=0x00; P2=0x00;delay(1000);P0=0xff; P2=0xff;P1=0x00; P3=0x00;delay(1000);P1=0xff; P3=0xff;}}void disp24() //状态24 LED左右交替闪烁{P1=0xff; P3=0xff; P0=0xff; P2=0xff;for(i=0;i<2;i++){P0=0x00; P1=0x00;delay(1000);P0=0xff; P1=0xff;P2=0x00; P3=0x00;delay(1000);P2=0xff; P3=0xff;}}void disp25() //状态25 LED交替闪烁{for(i=0;i<5;i++){P0=0xaa; P1=0xaa; P2=0xaa; P3=0xaa;delay(1000);P0=~P0; P1=~P1; P2=~P2; P3=~P3;delay(1000);}}void disp26() //状态26 2个LED开始上下移动半圈(LED不亮流水) {P0=0x00;P1=0x00;P2=0x00;P3=0x00;for(i=0;i<8;i++){P0=~table1[i];P2=~table1[i];delay(200);}P0=0x00; P2=0x00;for(i=0;i<8;i++){P1=~table0[i];P3=~table1[i];delay(200);}for(i=0;i<8;i++){P1=~table1[i];P3=~table0[i];delay(200);}P1=0x00; P3=0x00;for(i=0;i<8;i++){P0=~table0[i];P2=~table0[i];delay(200);}}void disp27() //状态27 逐步顺时针点亮P2、P1的LED,熄灭后,再顺时针点亮P0、P3的LED{P0=0xff; P1=0xff; P2=0xff; P3=0xff;for(j=0;j<2;j++){for(i=0;i<8;i++){P2=table3[i];P1=table3[i];delay(100);}P2=0xff; P1=0xff;for(i=0;i<8;i++){P0=table2[i];P3=table3[i];delay(100);}P0=0xff; P3=0xff;}}void disp28() //状态28 P1、P2和P0、P3交替闪烁{for(i=0;i<2;i++){P1=0x00; P2=0x00; P0=0xff; P3=0xff;delay(1000);P1=0xff; P2=0xff; P0=0x00; P3=0x00;delay(1000);}P1=0xff; P2=0xff; P0=0xff; P3=0xff;}void disp29() //状态29 逐步顺时针点亮P2、P1的LED,再顺时熄灭后,再顺时针点亮P0、P3的LED,再顺时熄灭{P0=0xff; P1=0xff; P2=0xff; P3=0xff;for(j=0;j<2;j++){for(i=0;i<8;i++){P2=table3[i];P1=table3[i];delay(100);}for(i=0;i<9;i++){P2=table5[i];P1=table5[i];delay(100);}for(i=0;i<8;i++){P0=table2[i];P3=table3[i];delay(100);}for(i=0;i<9;i++){P0=table4[i];P3=table5[i];delay(100);}}delay(200);}void disp30() //状态30 逐步逆时针点亮P2、P1的LED,熄灭后,再逆时针点亮P0、P3的LED{P0=0xff; P1=0xff; P2=0xff; P3=0xff;for(j=0;j<2;j++){for(i=0;i<8;i++){P2=table2[i];P1=table2[i];delay(100);}P2=0xff; P1=0xff;for(i=0;i<8;i++){P0=table3[i];P3=table2[i];delay(100);}P0=0xff; P3=0xff;}}void disp31() //状态31 逐步逆时针点亮P2、P1的LED,再逆时熄灭后,再逆时针点亮P0、P3的LED,再逆时熄灭{P0=0xff; P1=0xff; P2=0xff; P3=0xff;for(j=0;j<2;j++){for(i=0;i<8;i++){P2=table2[i];P1=table2[i];delay(100);}for(i=0;i<9;i++){P2=table4[i];P1=table4[i];delay(100);}for(i=0;i<8;i++){P0=table3[i];P3=table2[i];delay(100);}for(i=0;i<9;i++){P0=table5[i];P3=table4[i];delay(100);}}delay(200);}void disp32() //状态32 LED自上而下逐步点亮,然后从下往上逐步熄{for(i=0;i<8;i++){P0=table3[i];P2=table3[i];delay(100);}for(i=0;i<8;i++){P1=table2[i];P3=table3[i];delay(100);}for(i=0;i<9;i++){P1=table5[i];P3=table4[i];delay(100);}for(i=0;i<9;i++){P0=table4[i];P2=table4[i];delay(100);}}void disp33() //状态33 LED从左往右开始点亮(直到全亮),然后从左右两边开始熄灭(直到全部熄灭){for(i=0;i<8;i++){P0=table2[i];P1=table2[i];delay(100);}for(i=0;i<8;i++){P2=table3[i];P3=table2[i];delay(100);}delay(500);for(i=0;i<9;i++)P2=table4[i];P3=table5[i];P1=table4[i];P0=table4[i];delay(100);}delay(300);}void disp34() //状态34 LED从左往右开始点亮(直到全亮),然后从中间往左右边熄灭{for(i=0;i<8;i++){P2=table2[i];P3=table3[i];delay(100);}for(i=0;i<8;i++){P0=table3[i];P1=table3[i];delay(100);}delay(500);for(i=0;i<9;i++){P2=table5[i];P3=table4[i];P1=table5[i];P0=table5[i];delay(100);}delay(300);}void disp35() //状态35 从P2.7、P1.7开始同时顺时针旋转,直到LED 全亮{for(i=0;i<8;i++){P2=table3[i];P1=table3[i];delay(100);}for(i=0;i<8;i++){P3=table3[i];P0=table2[i];delay(100);}}void disp36() //状态36 从P0.7、P3.1开始同时逆时针旋转,直到LED 全亮{for(i=0;i<8;i++){P0=table3[i];P3=table2[i];delay(100);}for(i=0;i<8;i++){P1=table2[i];P2=table2[i];delay(100);}}void disp37() //状态37 2个LED自上而下移动,并点亮最下2个LED,然后2个LED再自下而上回去,同时4个LED(上下各2个LED)再来回移动一次{for(i=0;i<8;i++){P0=table1[i];P2=table1[i];delay(100);}P0=0xff; P2=0xff;for(i=0;i<8;i++){P1=table0[i];P3=table1[i];delay(100);}for(i=0;i<8;i++){P1=table7[i];P3=table6[i];delay(100);}P1=0x7f; P3=0xfe;for(i=0;i<8;i++){P0=table0[i];P2=table0[i];delay(100);}for(i=0;i<8;i++){P0=table1[i];P2=table1[i];P1=table1[i];P3=table0[i];delay(200);}for(i=0;i<8;i++){P0=table0[i];P1=table0[i];P2=table0[i];P3=table1[i];delay(200);}P0=0xff;P1=0xff; P2=0xff;P3=0xff;}void disp38() //状态38 逐步顺时针点亮P2、P1的LED,熄灭后,再顺时针点亮P0、P3的LED{P0=0xff; P1=0xff; P2=0xff; P3=0xff;for(j=0;j<2;j++){for(i=0;i<8;i++){P2=table3[i];P1=table3[i];delay(100);}P2=0xff; P1=0xff;for(i=0;i<8;i++){P0=table2[i];P3=table3[i];delay(100);}P0=0xff; P3=0xff;}}void disp39() //状态39 P1、P3LED(下半部分)一直亮,上半部分LED 向外扩张亮,然后闪烁3次{P1=0x00; P3=0x00;for(i=0;i<8;i++){P0=table3[i];P2=table3[i];delay(150);}for(i=0;i<8;i++){P0=table3[i];P2=table3[i];delay(300);}for(i=0;i<4;i++){P0=~P0; P2=~P2;delay(300);}delay(1000);}void disp40() //状态40 LED从P3.0、P0.7开始逆时针同时熄灭,直到LED全部熄灭{for(i=0;i<9;i++){P3=table4[i];P0=table5[i];delay(100);}for(i=1;i<9;i++){P2=table4[i];P1=table4[i];delay(100);}delay(300);}void disp41() //状态41 LED从P2.7、P1.7开始顺时针同时熄灭,直到全部熄灭{for(i=0;i<9;i++){P2=table5[i];P1=table5[i];delay(100);}for(i=1;i<9;i++){P0=table4[i];P3=table5[i];delay(100);}delay(300);}void main(){while(1){disp22(); //装态22 2个LED自上而下移动(循环5次,且频率渐快,到最快时持续循环16次,然后循环5次频率再逐渐降低)disp0(); //状态0 所有LED闪烁3次disp1(); //状态1 LED顺时针转一圈disp2(); //状态2 LED逆时针转一圈disp3(); //状态3 4个LED同时顺时、逆时针移动1/4圈disp4(); //状态4 2个LED同时顺时针移动disp5(); //状态5 2个LED同时逆时针移动半圈disp6(); //状态6 LED自上而下逐渐点亮(一半点亮一半不亮)disp7(); //状态7 LED自下而上逐渐点亮(直到全部点亮)disp0(); //状态0 所有LED闪烁3次disp8(); //状态8 间断8格的4个LED亮并逆时针旋转disp9(); //状态9 间断8格的4个LED亮,然后逆时针逐渐点亮(直到全部点亮)disp10(); //状态10 从LED全部亮到全不亮(间断8格的4个LED 开始逆时针熄灭)disp11(); //状态11 间断8格的4个LED亮并顺时针旋转disp12(); //间断8格的4个LED亮,然后顺时针逐渐点亮(直到全部点亮)disp13(); //状态13 从LED全部亮到全不亮(间断8格的4个LED 开始顺时针熄灭)disp14(); //状态14 从LED不亮到全亮(从P0.0、P1.0、P2.0、P3.7开始逐布点亮)disp15(); //状态15 从LED全亮到全不亮(从P0.7、P1.7、P2.7、P3.0开始逐步熄灭)disp16(); //状态16 LED灯交替闪烁(频率有慢变快)disp17(); //状态17 LED从P0.7开始逆时针逐步点亮,并且速度会逐步提高disp18(); //状态18 LED从P0.7开始逆时针逐步点亮(每亮8位后就熄灭)disp19(); //状态19 LED从P2.7开始顺时针逐步点亮,(循环2次)并且速度会逐步提高disp20(); //状态20 LED从P2.7开始顺时针逐步点亮(每亮8位后就熄灭)disp21(); //状态21 2个LED开始上下移动半圈disp22(); //装态22 2个LED自上而下移动(循环5次,且频率渐快,到最快时持续循环16次,然后循环5次频率再逐渐降低disp23(); //状态23 LED上下交替闪烁disp39(); //状态39 P1、P3LED(下半部分)一直亮,上半部分LED 向外扩张亮,然后闪烁3次disp24(); //状态24 LED左右交替闪烁disp25(); //状态25 LED交替闪烁disp8(); //状态8 间断8格的4个LED亮并逆时针旋转disp9(); //状态9 间断8格的4个LED亮,然后逆时针逐渐点亮(直到全部点亮)disp10(); //状态10 从LED全部亮到全不亮(间断8格的4个LED 开始逆时针熄灭)disp26(); //状态26 2个LED开始上下移动半圈(LED不亮流水)disp27(); //状态27 逐步顺时针点亮P2、P1的LED,熄灭后,再顺时针点亮P0、P3的LEDdisp28(); //状态28 P1、P2和P0、P3交替闪烁disp38(); //状态38 逐步顺时针点亮P2、P1的LED,熄灭后,再顺时针点亮P0、P3的LEDdisp29(); //状态29 逐步顺时针点亮P2、P1的LED,再顺时熄灭后,再顺时针点亮P0、P3的LED,再顺时熄灭disp30(); //状态30 逐步逆时针点亮P2、P1的LED,熄灭后,再逆时针点亮P0、P3的LEDdisp31(); //状态31 逐步逆时针点亮P2、P1的LED,再逆时熄灭后,再逆时针点亮P0、P3的LED,再逆时熄灭disp32(); //状态32 LED自上而下逐步点亮,然后从下往上逐步熄灭disp33(); //状态33 LED从左往右开始点亮(直到全亮),然后从左右两边开始熄灭(直到全部熄灭)disp37(); //状态37 2个LED自上而下移动,并点亮最下2个LED,然后2个LED再自下而上回去,同时4个LED(上下各2个LED)再来回移动一次disp36(); //状态36 从P0.7、P3.0开始同时逆时针旋转,直到LED 全亮disp40(); //状态40 LED从P3.0、P0.7开始逆时针同时熄灭,直到LED全部熄灭disp35(); //状态35 从P2.7、P1.7开始同时顺时针旋转,直到LED 全亮disp41(); //状态41 LED从P2.7、P1.7开始顺时针同时熄灭,直到全部熄灭disp34(); //状态34 LED从左往右开始点亮(直到全亮),然后从中间往左右边熄灭disp28(); //状态28 P1、P2和P0、P3交替闪烁}}5.心得体会由于本次课程设计含括了软件和硬件知识,所以在完成课程设计的同时也让我们了解到了我们在软硬件设计和制作方面的不足。