文档库 最新最全的文档下载
当前位置:文档库 › 基于单片机的心形流水灯毕业设计论文

基于单片机的心形流水灯毕业设计论文

基于单片机的心形流水灯毕业设计论文
基于单片机的心形流水灯毕业设计论文

课程设计(论文)说明书

题目:心形流水灯

院(系):信息与通信学院

专业:通信工程

摘要

本论文基于单片机技术与单片机芯片AT89S51芯片功能和C语言程序,实现心形流水灯的多种亮与灭的循环。首先,我们了解单片机的一些技术,了解了单片机芯片AT89S51的一些功能;然后结合C语言编程;最后将它们运用到实际的电路,使心形LED灯实现多种亮灭方法。本论文介绍关于流水灯的运用和单片机技术;然后介绍芯片AT89S51;最后介绍运用到的相关软件.

关键词:单片机;流水灯;C语言;

Abstract

This paper Based on the single chip microcomputer and single chip microcomputer chip

AT89S51 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 相关运用与功能................................................................ 错误!未定义书签。

2.1流水灯运用........................................................................................ 错误!未定义书签。

2.2 单片机运用....................................................................................... 错误!未定义书签。

2.3 AT89S51芯片功能 (3)

3 软件部分设计方案及仿真 (6)

3.1 multisim软件功能简介 (6)

3.2 Altium Designer软件功能简介 (7)

3.3 keil软件功能 (8)

3.4 设计步骤及方法 (8)

4 电路板的制作及调试 (2)

4.1 PCB的印制和电路板的制作 (8)

4.2 电路板的调试过程及所遇问题的解决方案 (9)

4.3 C语言程序运用 (10)

5 结论 (11)

谢辞 (12)

参考文献 (13)

附录 (14)

引言

LED流水灯是运用单片机原理和一些芯片功能,结合C语言或者汇编语言,实现灯的亮灭方式。流水灯主要用于装饰婚庆布置、宾馆、酒店、酒吧、聚会、商厦、家居、橱窗、俱乐部、音乐会、歌厅、时装表演、舞厅、舞台、等等各个场所,也可以作为礼物送人。

本文主要讲述我完成这次课设所经历的五个阶段:总体方案设计、硬件电路

设计方案及原理、软件调试及仿真,电路板的制作、对于本次课程设计的改进预

想。在介绍我本次课程设计的设计原理的同时,也侧重同时记录了我是如何对于

设计过程中遇到的问题进行分析和解决的。同时,我也着重介绍了我所用到的相

关软件和芯片功能。

1 设计方案

1.1 总体设计目标

1.1.1使心形LED 灯实现一亮一灭功能

利用C 语言编程,使LED 灯实现一亮一灭功能,循环两次。

1.1.2使心形LED 灯实现两亮两灭功能

使用C 语言编程,实现LED 灯两亮两灭,循环两次。

1.1.3是心形LED 流水灯具有4亮4灭功能,全亮全灭

使用C 语言,实现LED 流水灯4亮4,全亮全灭等循环。

1.1.4具有复位功能

在按下开关后,实现灯从一亮到全亮复位。

1.2总体设计组成框图

系统框图如下

1.1系统框图

5v 电压源

AT89S51

心形LED 灯

复位电路

运用单片机与芯片AT89S51功能,以及C语言程序编程,是LED灯实现多种亮灭方法,运用晶振给单片机芯片提供一个时钟信号,本次实验采用12MHz的晶振给单片机提供时钟信号。

2相关运用及功能

2.1流水灯运用

LED灯可以装饰婚庆布置、宾馆、酒店、酒吧、聚会、商厦、家居、橱窗、俱乐部、音乐会、歌厅、时装表演、舞厅、舞台、等等各个场所,也可以当做礼物送人。人们可以将各种亮法的灯去装饰自己需要装饰的地方,也可以安放在广告牌,这样更为吸引人们的关注。

2.2 单片机运用

目前单片机渗透到我们生活的各个领域,几乎很难找到哪个领域没有单片机的踪迹。导弹的导航装置,飞机上各种仪表的控制,计算机的网络通讯与数据传输,工业自动化过程的实时控制和数据处理,广泛使用的各种智能IC卡,民用豪华轿车的安全保障系统,录像机、摄像机、全自动洗衣机的控制,以及程控玩具、电子宠物等等,这些都离不开单片机。更不用说自动控制领域的机器人、智能仪表、医疗器械了。因此,单片机的学习、开发与应用将造就一批计算机应用与智能化控制的科学家、工程师。

单片机广泛应用于仪器仪表、家用电器、医用设备、航空航天、专用设备的智能化管理及过程控制等领域,大致可分如下几个范畴:

1.在智能仪器仪表上的应用

2.在工业控制中的应用

3.在家用电器中的应用

4.在计算机网络和通信领域中的应用

5.单片机在医用设备领域中的应用

6.在各种大型电器中的模块化应用

7.单片机在汽车设备领域中的应用

此外,单片机在工商,金融,科研、教育,国防航空航天等领域都有着十分广泛的用途。

2.3AT89S51芯片功能

AT89S51是一个低功耗,高性能CMOS 8位单片机,片内含4k Bytes

ISP(In-system programmable)的可反复擦写1000次的Flash只读程序存储器,器件采用ATMEL公司的高密度、非易失性存储技术制造,兼容标准MCS-51指令

系统及80C51引脚结构,芯片内集成了通用8位中央处理器和ISP Flash存储单元,AT89S51在众多嵌入式控制应用系统中得到广泛应用。

主要性能特点

1、4k Bytes Flash片内程序存储器;

2、128 bytes的随机存取数据存储器(RAM);

3、32个外部双向输入/输出(I/O)口;

4、5个中断优先级、2层中断嵌套中断;

5、6个中断源;

6、2个16位可编程计数器;

7、2个全双工串行通信口;

8、看门狗(WDT)电路;

9、片内振荡器和时钟电路;

10、与MCS-51兼容;

11、全静态工作:0Hz-33MHz;

12、三级程序存储器保密锁定;

13、可编程串行通道;

14、低功耗的闲置和掉电模式。

管脚说明

VCC:电源电压输入端。

GND:电源地。

P0口:P0口为一个8位漏级开路双向I/O口,每脚可吸收8TTL门电流。当P1口的管脚第一次写1时,被定义为高阻输入。P0能够用于外部程序数据存储器,它可以被定义为数据/地址的低八位。在FIASH编程时,P0 口作为原码输入口,当FIASH进行校验时,P0输出原码,此时P0外部必须被拉高。

PDIP封装的AT89S51管脚图

P1口:P1口是一个内部提供上拉电阻的8位双向I/O口,P1口缓冲器能接收输出4TTL门电流。P1口管脚写入1后,被内部上拉为高,可用作输入,P1口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。在FLASH编程和校验时,P1口作为第八位地址接收。

P2口:P2口为一个内部上拉电阻的8位双向I/O口,P2口缓冲器可接收,输出4个TTL门电流,当P2口被写“1”时,其管脚被内部上拉电阻拉高,且作为输入。并因此作为输入时,P2口的管脚被外部拉低,将输出电流。这是由于内部上拉的缘故。P2口当用于外部程序存储器或16位地址外部数据存储器进行存取时,P2口输出地址的高八位。在给出地址“1”时,它利用内部上拉优势,当对外部八位地址数据存储器进行读写时,P2口输出其特殊功能寄存器的内容。P2口在FLASH编程和校验时接收高八位地址信号和控制信号。

P3口:P3口管脚是8个带内部上拉电阻的双向I/O口,可接收输出4个TTL门电流。当P3口写入“1”后,它们被内部上拉为高电平,并用作输入。作为输入,由于外部下拉为低电平,P3口将输出电流(ILL)这是由于上拉的缘故。P3口除了作为普通I/O口,还有第二功能:

P3.0 RXD(串行输入口)

P3.1 TXD(串行输出口)

P3.2 /INT0(外部中断0)

P3.3 /INT1(外部中断1)

P3.4 T0(T0定时器的外部计数输入)

P3.5 T1(T1定时器的外部计数输入)

P3.6 /WR(外部数据存储器的写选通)

P3.7 /RD(外部数据存储器的读选通)

P3口同时为闪烁编程和编程校验接收一些控制信号。

I/O口作为输入口时有两种工作方式,即所谓的读端口与读引脚。读端口时实际上并不从外部读入数据,而是把端口锁存器的内容读入到内部总线,经过某种运算或变换后再写回到端口锁存器。只有读端口时才真正地把外部的数据读入到内部总线。89C51的P0、P1、P2、P3口作为输入时都是准双向口。除了P1口外P0、P2、P3口都还有其他的功能。

RST:复位输入端,高电平有效。当振荡器复位器件时,要保持RST脚两个机器周期的高电平时间。

ALE/PROG:地址锁存允许/编程脉冲信号端。当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的低位字节。在FLASH编程期间,此引脚用于输入编程脉冲。在平时,ALE端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6。因此它可用作对外部输出的脉冲或用于定时目的。然而要注意的是:每当用作外部数据存储器时,将跳过一个ALE脉冲。如想禁止ALE的输出可在SFR8EH地址上置0。此时, ALE只有在执行MOVX,MOVC指令是ALE才起作用。另外,该引脚被略微拉高。如果微处理器在外部执行状态ALE禁止,置位无效。

PSEN:外部程序存储器的选通信号,低电平有效。在由外部程序存储器取指期间,每个机器周期两次/PSEN有效。但在访问外部数据存储器时,这两次有效的/PSEN信号将不出现。

EA/VPP:外部程序存储器访问允许。当/EA保持低电平时,则在此期间外部程序存储器(0000H-FFFFH),不管是否有内部程序存储器。注意加密方式1时,/EA将内部锁定为RESET;当/EA端保持高电平时,此间内部程序存储器。在FLASH编程期间,此引脚也用于施加12V编程电源(VPP)。

XTAL1:片内振荡器反相放大器和时钟发生器的输入端。

XTAL2:片内振荡器反相放大器的输出端。

3 软件部分设计方案及仿真

3.1 multisim软件功能简介

Multisim是Interactive Image Technologies (Electronics Workbench)公司推出的以Windows为基础的仿真工具,适用于板级的模拟/数字电路板的设计工作。它包含了电路原理图的图形输入、电路硬件描述语言输入方式,具有丰富的仿真分析能力。为适应不同的应用场合,Multisim推出了许多版本,用户可以根据自己的需要加以选择。在本书中将以教育版为演示软件,结合教学的实际需要,简要地介绍该软件的概况和使用方法,并给出几个应用实例。

Multisim是加拿大图像交互技术公司(Interactive Image Technoligics 简称IIT公司)推出的以Windows为基础的仿真工具,适用于板级的模拟/数字电路板的设计工作。它包含了电路原理图的图形输入、电路硬件描述语言输入方式,具有丰富的仿真分析能力。

工程师们可以使用Multisim交互式地搭建电路原理图,并对电路行为进行仿真。Multisim提炼了SPICE仿真的复杂内容,这样工程师无需懂得深入的SPICE技术就可以很快地进行捕获、仿真和分析新的设计,这也使其更适合电子学教育。通过Multisim和虚拟仪器技术,PCB设计工程师和电子学教育工作者可以完成从理论到原理图捕获与仿真再到原型设计和测试这样一个完整的综合

设计流程.

3.2 Altium Designer软件功能简介

Altium Designer 提供了唯一一款统一的应用方案,其综合电子产品一体化开发所需的所有必须技术和功能。Altium Designer 在单一设计环境中集成板级和FPGA系统设计、基于FPGA和分立处理器的嵌入式以及PCB版图设计、编辑和制造。并集成了现代设计数据管理功能,使得Altium Designer成为电子产品开发的完整解决方案-一个既满足当前,也满足未来开发需求的解决方案。

最新发布的 Altium Designer10 为您带来了一个全新的管理元器件的方法。其中包括新的用途系统、修改管理、新的生命周期和审批制度、实时供应链管理等更多的新功能!

Release 10 将继续保持不断插入新的功能和技术的过程,使得您可以更方便轻松地创建您的下一代电子产品设计。 Altium 的统一的设计架构以将硬件,软件和可编程硬件等等集成到一个单一的应用程序中而闻名。它可让您在一个项目内,甚或是整个团队里自由地探索和开发新的设计创意和设计思想,团队中的每个人都拥有对于整个设计过程的统一的设计视图。

Altium Designer 10 提供了一个强大的高集成度的板级设计发布过程,它可以验证并将您的设计和制造数据进行打包,这些操作只需一键完成,从而避免了人为交互中可能出现的错误。发布管理系统简化规范了发布您的设计项目的流程,或者更具体地说,是那些项目中定义的配置,直观,简洁而且稳定。更重要的是,该系统可以被直接链接到您的后台版本控制系统。新增的强大的预发布版验证手段的组合 - 用以确保所有包含在发布中的设计文件都是当前的,与存储在您的版本控制系统中的相应的文件“主人”保持同步的文件,并且通过了所有特定的规则检查ERC, DRC, 等等,从而,您可以在更高层面上控制发布管理,并可保证卓越的发布质量。

3.3 keil软件功能简介

单片机开发中除必要的硬件外,同样离不开软件,我们写的汇编语言源程序要变为CPU可以执行的机器码有两种方法,一种是手工汇编,另一种是机器汇编,目前已极少使用手工汇编的方法了。机器汇编是通过汇编软件将源程序变为机器码,用于MCS-51单片机的汇编软件有早期的A51,随着单片机开发技术的不断发展,从普遍使用汇编语言到逐渐使用高级语言开发,单片机的开发软件也在不断发展,Keil软件是目前最流行开发MCS-51系列单片机的软件,这从近年来各仿真机厂商纷纷宣布全面支持Keil即可看出。Keil提供了包括C编译器、宏汇编、连接器、库管理和一个功能强大的仿真调试器等在内的完整开发方案,通过一个集成开发环境(uVision)将这些部份组合在一起。运行Keil软件需要

Pentium或以上的CPU,16MB或更多RAM、20M以上空闲的硬盘空间、WIN98、NT、WIN2000、WINXP等操作系统。掌握这一软件的使用对于使用51系列单片机的爱好者来说是十分必要的,如果你使用C语言编程,那么Keil几乎就是你的不二之选(目前在国内你只能买到该软件、而你买的仿真机也很可能只支持该软件),即使不使用C语言而仅用汇编语言编程,其方便易用的集成环境、强大的软件仿真调试工具也会令你事半功倍。

Keil C51开发系统基本知识Keil C51开发系统基本知识

Keil C51是美国Keil Software公司出品的51系列兼容单片机C语言软件开发系统,与汇编相比,C语言在功能上、结构性、可读性、可维护性上有明显的优势,因而易学易用。用过汇编语言后再使用C来开发,体会更加深刻。

Keil C51软件提供丰富的库函数和功能强大的集成开发调试工具,全Windows界面。另外重要的一点,只要看一下编译后生成的汇编代码,就能体会到Keil C51生成的目标代码效率非常之高,多数语句生成的汇编代码很紧凑,容易理解。在开发大型软件时更能体现高级语言的优势。下面详细介绍Keil C51开发系统各部分功能和使用。

C51工具包的整体结构,如图(1)所示,其中uVision与Ishell分别是C51 for Windows和for Dos的集成开发环境(IDE),可以完成编辑、编译、连接、调试、仿真等整个开发流程。开发人员可用IDE本身或其它编辑器编辑C或汇编源文件。然后分别由C51及A51编译器编译生成目标文件(.OBJ)。目标文件可由LIB51创建生成库文件,也可以与库文件一起经L51连接定位生成绝对目标文件(.ABS)。ABS文件由OH51转换成标准的Hex文件,以供调试器dScope51或tScope51使用进行源代码级调试,也可由仿真器使用直接对目标板进行调试,也可以直接写入程序存贮器如EPROM中。

3.4 设计步骤及方法

首先,确定好原理图后,在multisim软件上画好,并仿真;仿真成功后再在Altium Designer软件上面画好PCB图;然后在keil软件软件上面,用C语言进行编程,把程序录入芯片AT89S51上面,再做板。

4 电路板的制作及调试

4.1 PCB的印制和电路板的制作

运行Altium Designer软件,首先新建工程,新建一个原理图文件,在Altium Designer中再选择相应的元件,进行布局、连线,修改它所对应的封装,再导入原理图中,检查原理图无误后,生成网络表。新建一个PCB文件,导入前一步中生成的网络表,排查其中的错误直到能够成功导入。对于导入的元件进行布局,

尽量使电路板看起来紧凑一些,同时减少线与线之间的交叉,减少不必要的跳线,使用手动布线之后再对照原理图检查多遍是否正确,然后去打印店打印PCB。

科协有印版的机器,在印制电路板前首先用砂纸将铜板打磨光滑方便印制和腐蚀,在印版时将电路板和打印的PCB纸紧密相贴,双手送入机器当中,反印两次之后就基本成功了,之后检查是否存在有断线,用油性笔将有断线的地方即使连接起来。之后将浓盐酸、双氧水和水按照一定的比例配置成腐蚀液,将印制好的电路板放入其中,用手晃动盛有腐蚀液的容器可以加快反应速度。在反应完后取出电路板,用清水清洗之后就可以开始打孔了,打孔的时候要对准,不然在之后插元件尤其是多管脚的芯片时会很困难,也不要磨针,不然很容易就会断。在打完孔之后,用砂纸打磨一遍,再涂上松香防止腐蚀,就可以开始对电路板进行元件的焊接了,焊接时应注意要焊稳,防止虚焊的产生。

如果腐蚀液以及反应完,可以向科协的同学说明,并在同学指导下把腐蚀液配置好,不要自己配置腐蚀液,并且注意安全。

4.2 电路板的调试过程及所遇问题的解决方案

电路所设计的功能能否实现,电路板制作的好坏也起了很大的作用。

在接通电源前,我先对电路中的主要线路进行了测量,包括电源线,排线,芯片之间的连线,然后就接上5V电源,开始对电路中的功能进行检测。

接通5V电源后,首先观察所以等是否都亮,如果不亮,一一看电路板是否虚焊了。还有灯如果亮,但是不按自己编的程序亮,还要看程序是否已经成功录入芯片,或者程序错误,还有,程序对了,电路也没有虚焊,灯并没有按照程序亮法亮,这样检查焊锡是否多了,焊锡多了也容易出现问题,因为焊接时,焊锡会空隙焊接,实际上并没有焊接好电路。

在这次的调试过程中,从最开始的制作PCB到后来的电路板进行实物检测,我都遇到了很多的问题,以下是我对这些问题的解决过程以及从中获得的心得体会

4.2.1元件的封装

由于Altium Designer软件配备的元件库已经很旧了,因此在电路板的制作之前最好先买好元器件用游标卡尺对各个管脚的宽度进行测量,确定各个管脚的功能和封装是否能够对应,不然在焊好元件之后发现封装错误只好重做,这也需要平时多动手,多熟悉各种元件的管脚功能,毕竟元器件店卖的芯片型号很多,实现的功能也可能和课本上的不一样。也可以去上网百度,下载最新的元件库,记得要多上网,接触最新的信息。

4.2.2断线和虚焊

由于科协做板的人很多,因此大家都是放在一起腐蚀,难免会有许多的剐蹭,因此腐蚀好的电路板出现断线也就在所难免,因此在做完电路板,焊接好元件之后就要对线路进行全面的检查,用万用表对着原理图来测量,不能光凭肉眼判断。在这次的课设中,在焊好元件后我已经对线路进行了检查,然后在后来的调试过程中发现原来检查好的线路上又出现了断线,应该是在调试的过程中剐蹭造成的,因此在电路不能实现功能时要及时进行线路的检查。

在焊接的技术不是很熟练的时候,虚焊很容易出现,而且与断线相比,它不容易被发现,特别是对于多管脚的芯片,由于前面打孔的时候没打好,芯片插进去的时候就会很困难,很容易出现一些管脚没有完全穿过去的情况,这个时候就最容易出现虚焊,在这次课设的过程中,就是有一个芯片的管脚没有插好导致电路没有实现功能。

还有,管脚特别多的时候,不能把管脚焊接在一起,这样会造成电路短路,元器件会容易烧坏,所以,在接电源之前要注意检查虚焊和焊接是否会造成短路。

还有注意芯片的保护,由于芯片管脚很多,而且芯片管脚比较小,所以在芯片的安放和拿出过程中必须要小心,不能把芯片管脚弄坏,建议使用工具把管脚取出。

4.2.3万用表的使用

使用万用表,可以检查电路是否虚焊了,这样有助于保证电路板成功实它的功能。

4.3 C语言程序运用

在本次课程设计中,c语言程序的编程对电路板最终功能实现占大部分的作用,以下是部分c语言程序代码:

#include

#define uint unsigned int

void delay1ms(unsigned int i)

{

unsigned char j;

while(i--)

{

for(j=0;j<125;j++) //1ms基准延时程序

{

;

}

}

}

void main()

{ uint k;

while(1)

{

for(k=0;k<2;k++)

{

P1=0XFF; //16个led一个一个亮起

P0=0xfe;

delay1ms(200);

P0=0xfd;

delay1ms(200);

P0=0xfb;

delay1ms(200);

P0=0xf7;

delay1ms(200);

P0=0xef;

delay1ms(200);

P0=0xdf;

delay1ms(200);

P0=0xbf;

delay1ms(200);

P0=0x7f;

delay1ms(200);

P0=0XFF;

P1=0xfe;

delay1ms(200);

P1=0xfd;

delay1ms(200);

P1=0xfb;

delay1ms(200);

P1=0xf7;

delay1ms(100);

P1=0xef;

delay1ms(200);

P1=0xdf;

delay1ms(200);

P1=0xbf;

delay1ms(200);

P1=0x7f;

delay1ms(200);

}

由此可见,c语言编程是那么重要。

5 结论

本次课程设计,是第一次课程设计。感触很深,本来很多软件都还没有学,像Altium Designer软件和keil软件,多亏同学的帮助,还有网上的很多视频教程。在同学帮助下,还有老师指导和自己努力下,自己慢慢学会了很多东西。学会怎么样绘制原理图,绘制PCB板,还有怎样更好去焊接板。

实验中,由于是第一次由自己设计做的板,刚开始的时候,由于自己的理论不足,经验不足,导致好多错误。不过,通过老师的指导,同学的帮助,还有自己去图书馆翻阅资料,在网上看很多软件教学视频,使自己学会了很多理论知识。在做电路板的过程中,自己去腐蚀,大孔,焊接还有校检电路。在此过程中,知道注意设置PCB焊盘的大小,电路的铜线大小,还有打孔的大小。这些都会对后面焊接电路的成功与否有比较大的左右,还有也知道自己应该多动手,多多练习做电路板。

在本次课程设计过程中,我深刻了解到自己的各方面知识是多么匮乏,还有自己的动手能力是那么的弱。这告诉我多去学习相关资料,多去上网看一下关于专业所用的相关软件教程,有什么不懂的地方,应该多去向老师请教,多去和同学交流。当然,最主要的还是多锻炼自己的动手能。

谢辞

本次课程设计,我可以顺利完成任务,首先要感谢老师的指导,再次感谢同学们给与我的帮助,其次,也要感谢科协的同学在我去做电路板的过程中,帮我配置腐蚀液,最后,也要感谢学校给我们这样一次锻炼的机会,感谢学校给我们提供给我们锻炼的场所和氛围。

正是老师、同学、学校给予我锻炼的机会,让本次课程设计能够顺利成功完成。

参考文献

[1] 郭天祥编著:《51单片机C语言教程》,电子工业出版社,2008

[2] (美)弗洛伊德著,余璆等译:《数字电子技术(第九版)》,电子工业出版社,2008

[3] 侯玉宝等编著:《基于Proteus的51系列单片机设计与仿真》,电子工业出版社,2008

[4] 吉雷.章优仕.齐永龙. Protel99电子电路设计[M], 成都:电子科技大学出版社,2000

[5]《C语言程序设计》谭浩强清华大学出版社(2010-06出版)

附录

1.设计相关附图

元器件清单:

电阻470欧姆16个电阻100欧姆1个电容30pf 2个

电解电容10uf 1个

晶振12.000MHz 1个

AT89S51 1个

排线8根

排针1排DIP40插座1个

按键开关1个

图1.1 元件清单

图1.2 PCB图

图1.3 原理图

基于单片机的LED流水灯设计

基于单片机的LED流水灯设计 设计任务 1掌握MCS-51系列8051、8255的最小电路及外围扩展电路的设计方法 2了解单片机数据转换功能及工作过程 3设计LED流水灯系统,实现8个LED霓虹灯的左、右循环显示4完成主要功能模块的硬件电路设计 5用proteus软件完成原理电路图的绘制 一设计方法 本课题使用AT89C51单片机时无须外扩存储器。因此,本流水灯实际上就是一个带有八个发光二极管的单片机最小应用系统,即为由发光二极管、晶振、复位、电源等电路和必要的软件组成的单个单片机。如果要让接在P1.0口的LED1亮起来,那么只要把P1.0口的电平变为低电平就可以了;相反,如果要接在P1.0口的LED1熄灭,就要把P1.0口的电平变为高电平;同理,接在P1.1~P1.7口的其他7个LED 的点亮和熄灭的方法同LED1。因此,要实现流水灯功能,我们只要将发光二极管LED1~LED8依次点亮、熄灭,8只LED灯便会一亮一暗的做流水灯了。由于人眼的视觉暂留效应以及单片机执行每条指令的时间很短,我们在控制二极管亮灭的时候应该延时一段时间,否则我们就看不到

“流水”效果了。 二方案论证与比较 2.1循环移位法 在上个程序中我们是逐个控制P1端口的每个位来实现的,因此程序显得有点复杂,下面我们利用循环移位指令,采用循环程序结构进行编程。我们在程序一开始就给P1口送一个数,这个数本身就让P1.0先低,其他位为高,然后延时一段时间,再让这个数据向高位移动,然后再输出至P1口,这样就实现“流水”效果啦。由于8051系列单片机的指令中只有对累加器ACC中数据左移或右移的指令,因此实际编程中我们应把需移动的数据先放到ACC中,让其移动,然后将ACC移动后的数据再转送到P1口,这样同样可以实现“流水”效果。具体编程如下所示,程序结构确实简单了很多。 2.2查表法 上面的两个程序都是比较简单的流水灯程序,“流水”花样只能实现单一的“从左到右”流方式。运用查表法所编写的流水灯程序,能够实现任意方式流水,而且流水花样无限,只要更改流水花样数据表的流水数据就可以随意添加或改变流水花样,真正实现随心所欲的流水灯效果。我们首先把要显示流水花样的数据建在一个以TAB为标号的数据表中,然后通过查表指令“MOVC A,@A+DPTR”把数据取到累加器A中,然后再送到P1口进行显示。具体源程序如下,TAB标号处的数据表可以根据实

单片机课程设计报告--心形流水灯

井冈山大学 机电工程学院 单片机 课程设计报告 课程名称:单片机 设计题目:心形流水灯 姓名:玉红 专业:生物医学工程 班级:11级医工本一班 学号:110615017 指导教师:王佑湖 2013年11月27日

目录 1引言 (2) 1.1设计任务 (2) 1.2设计要求……………………………………………… ..2 2 课题综述 (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 STC89C52

基于单片机的心形流水灯毕业设计论文

课程设计(论文)说明书 题目:心形流水灯 院(系):信息与通信学院 专业:通信工程 学生姓名: 学号: 指导教师: 职称:讲师 2012年12 月1日

摘要 本论文基于单片机技术与单片机芯片AT89S51芯片功能和C语言程序,实现心形流水灯的多种亮与灭的循环。首先,我们了解单片机的一些技术,了解了单片机芯片AT89S51的一些功能;然后结合C语言编程;最后将它们运用到实际的电路,使心形LED灯实现多种亮灭方法。本论文介绍关于流水灯的运用和单片机技术;然后介绍芯片AT89S51;最后介绍运用到的相关软件.矚慫润厲钐瘗睞枥庑赖。 关键词:单片机;流水灯;C语言;

Abstract This paper Based on the single chip microcomputer and single chip microcomputer chip AT89S51 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残骛楼諍锩瀨濟溆塹籟。

基于单片机流水灯论文

. . . 西北民族大学 2012级专业课程设计(论文) 基于单片机流水灯设计 年级: 学号: 姓名: 专业: 自动化 二零一五年六

摘要 本论文基于单片机技术与单片机芯片AT89S51芯片功能和C语言程序,实现心形流水灯的多种亮与灭的循环。首先,我们了解单片机的一些技术,了解了单片机芯片AT89S51的一些功能;然后结合C语言编程;最后将它们运用到实际的电路,使心形LED 灯实现多种亮灭方法。本论文介绍关于流水灯的运用和单片机技术;然后介绍芯片AT89S51;最后介绍运用到的相关软件. 关键词:单片机;流水灯;C语言;

Abstract This paper Based on the single chip microcomputer and single chip microcomputer chip AT89S51 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

基于51单片机的流水灯设计说明

基于51单片机的流水灯设计 一.基本功能 利用AT89c51作为主控器组成一个LED流水灯系统,实现8个LED 灯的左、右循环显示。 二.硬件设计 图1.总设计图

1.单片机最小系统 1.1选用AT89C51的引脚功能 图2. AT89C51 XTAL1:单芯片系统时钟的反向放大器输入端。 XTAL2:系统时钟的反向放大器输出端,一般在设计上只要在XTAL1和XTAL2上接上一只石英震荡晶体系统就可以工作了,此外可以在两引脚与地之间加入20PF的小电容,可以使系统更稳定,避免噪音干扰而死机。 RESET:重置引脚,高电平动作,当要对晶体重置时,只要对此引脚电平提升至高电平并保持两个及其周期以上的时间便能完成系统重置的各项动作,使得部特殊功能寄存器容均被设成已知状态。 P3:端口3是具有部提升电路的双向I/O端口,通过控制各个端口的高低电平了实现LED流水灯的控制。

1.2复位电路 如图所示,当按下按键时,就能完成整个系统的复位,使得程序从新运行。 图3.复位电路 1.3时钟电路 时钟电路用于产生单片机工作所需要的时钟信号,单片机本身就是一个复杂的同步时序电路,为了保证同步工作方式的实现,电路应在唯一的时钟信号控制下严格地按时序进行工作。 在AT89C51芯片部有一个高增益反相放大器,其输入端为芯片引脚X1,输出端为引脚X2,在芯片的外部跨接晶体振荡器和微调电容,形成反馈电路,就构成了一个稳定的自激振荡器。此电路采用12MHz的石英晶体。

图4.时钟电路 2.流水灯部分 图5.流水灯电路 三.软件设计 3.1编程语言及编程软件的选择 本设计选择C语言作为编程语言。C语言虽然执行效率没有汇编语言

基于51单片机心形流水灯C语言源程序

基于51单片机心形流水灯C语言源程序

#include unsigned int x,y; void delayms(unsigned int z) //延时 { unsigned int i,j; for(i=z;i>0;i--) for(j=150;j>0;j--); } void On_all() //开启所有灯 { P0=0x00; P1=0x00; P2=0x00; P3=0x00; } void Off_all()//关闭所有灯 { P0=0xff; P1=0xff; P2=0xff; P3=0xff; } void ls()//正向流水灯 { P0=0x00; delayms(400); P2=0x00; delayms(400); P3=0x00; delayms(400); P1=0x00; delayms(400); P0=0x01; delayms(50);

P0=0x04; delayms(50); P0=0x08; delayms(50); P0=0x10; delayms(50); P0=0x20; delayms(50); P0=0x40; delayms(50); P0=0x80; delayms(50); P0=0x00; P2=0x01; delayms(50); P2=0x02; delayms(50); P2=0x04; delayms(50); P2=0x08; delayms(50); P2=0x10; delayms(50); P2=0x20; delayms(50); P2=0x40; delayms(50); P2=0x80; delayms(50); P2=0x00; P3=0x80; delayms(50); P3=0x40; delayms(50); P3=0x20; delayms(50); P3=0x10; delayms(50); P3=0x08; delayms(50); P3=0x04; delayms(50);

基于单片机的流水灯设计

流水灯设计 系别: 班级: XX: 学号: 摘要 近年来随着科技的飞速发展,单片机的应用正在不断地走向深入,同时带动传统控制检测日新月益更新。在实时检测和自动控制的单片机应用系统中,单片机往往是作为一个核心部件来使用,仅单片机方面知识是不够的,还应根据具体硬件结构,以

及针对具体应用对象特点的软件结合,加以完善。我们周围有许多广告牌。通过单片机的控制,我们可以把城市的夜晚装饰的更漂亮。 通过对单片机的系统学习,对一些广告灯的设计做了一些必要的改进。同时对自己的改进也做了真实的仿真。达到了预期的目的。但是在改进的过程里也发现了自己的很多的不足。这会在以后的学习生活里不断提高。逐步完善自己。 关键字:广告灯,单片机,程序设计 目录

1单片机技术概述 (1) 1.1 基本概念 (1) 1.2 MCS-51系列单片机简介 (2) 2 系统的硬件设计 (3) 2.1硬件组成 (3) 2.2流水灯硬件原理图 (3) 2.3开发软件 (3) 2.4编程语言特点 (4) 3系统软件设计及调试.........................................................5 3.1设计思路 (5) 3.2 软件编程 (5) 3.3 位控法 (5) 3.4 循环移位法 (6) 3.5 查表法 (7) 3.6 汇编语法要求、规则 (9) 3.7小灯控制程序 (9) 3.8 结语 (11) 4参考文献 (12) 5致谢 (13)

1 单片机技术概述 1.1基本概念 单片机实际上是微型计算机的一种,自从它问世以来,人们对它不断地改进,以应用于现代化社会的各方各面。单片机体积小,价格低廉,开发较为容易,可根据需要制作成各种智能控制器以代替人工的操作,实现自动化。在我国,由于ASIC(专用集成电路)的生产还跟不上,单片机的作用更加地重要,在智能仪器仪表、工业设备过程控制、家用电器中,都可以见到它的踪迹。 单片机应用的意义不仅在于它的广阔X围及所带来的经济效益。更重要的意义在于,单片机的应用从根本上改变了控制系统传统的设计思想和设计方法。以前采用硬件电路实现的大部分控制功能,正在用单片机通过软件方法来实现。以前自动控制中的PID调节,现在可以用单片机实现具有智能化的数字计算控制、模糊控制和自适应控制。这种以软件取代硬件并能提高系统性能的控制技术称为微控技术。 单片微型计算机就是将CPU、RAM、ROM、时/计数器和多种接口都集成到一块集成电路芯片上的微型计算机。(引脚图例如图1.1)按用途可分为通用型和专用型两大类根据单片机能够一次处理的数据的宽度,单片机可分为1位机,4位机,8 位机,16位机,32位机。(内部逻辑如图1.2)

毕业设计34基于AT89C51单片机和keilc软件的流水灯设计

目录 摘要 (1) 关键词 (1) Abstract (2) Keyword (2) 1 AT89C51单片机简介 (3) 1.1 单片机的发展 (3) 1.2 单片机的分类 (3) 1.3 AT89C51的介绍 (3) 1.3.1 AT89C51的结构 (3) 1.3.2 AT89C51主要特性 (4) 1.3.3 AT89C51的管脚说明 (4) 2 keilc软件及ledkey控件介绍 (6) 2.1 keilc软件介绍 (6) 2.2 ledkey控件介绍 (7) 2.2.1 ledkey控件的开发 (7) 2.2.2 ledkey控件原理图 (7) 2.2.4 ledkey控件的使用 (7) 2.2.5举例说明 (8) 3多花样流水灯硬件设计 (9) 3.1 Ledkey控件原理图 (9) 3.2 功能介绍 (9) 4多花样流水灯软件设计 (11) 4.1程序功能 (11) 4.2程序流程图 (12) 5 多花样流水灯的仿真 (13) 结语 (14) 参考文献 (15) 附录1:花样流水灯的程序代码 (16) 附录2:花样流水灯功能表 (19) 附录3:keilc软件和ledkey控件介绍相关图片 (20)

基于AT89C51单片机和keilc软件的流水灯设计 摘要:本文介绍了花样流水灯的软件设计过程,重点给出了其软件编程的方法,使学者对汇 编语言有个初步了解。通过对单片机发展、分类、硬件原理图的介绍,特别是AT89C51的介绍,具体到其结构、特性、管脚说明等,让单片机学者对51系列单片机有了初步的认识。在程序实现方面通过文字说明和相应的图片又充分的介绍了keil软件及控件使用方法。 关键词:单片机;编程;控件;仿真

基于单片机的流水灯课程设计

09机电一体化课程设计 学院:南昌航空大学高职学院 设计题目:基于单片机的流水灯系统设计 指导老师:杨蓓 姓名: 班级:099021 学号: 年月日

目录 一、摘要 (03) 二、前言 (03) 三、硬件组成 3.1流水灯硬件构成及原理 (04) 3.2流水灯硬件原理图 (04) 四、软件编程 4.1位控法 (06) 4.2循环位移法 (08) 4.3查表法 (10) 4.4遵循原则 (13) 五、结语 (17) 六、设计体会 (17) 七、参考文献 (18)

一、摘要 当今时代是一个新技术层出不穷的时代,在电子领域尤其是自动化智能控制领域,传统的分立元件或数字逻辑电路构成的控制系统,正以前所未见的速度被单片机智能控制系统所取代。单片机具有体积小、功能强、成本低、应用面广等优点,可以说,智能控制与自动控制的核心就是单片机。关键词:LED 单片机控制系统流水灯 二、前言 学习单片机的最有效方法就是理论与实践并重,现在我把单片机流水灯设计作为一个毕业课程设计,需要更深的去了解单片机的很多功能,努力的去查找资料,当今时代是一个新技术层出不穷的时代,在电子领域尤其是自动化智能控制领域,传统的分立元件或数字逻辑电路构成的控制系统,正以前所未见的速度被单片机智能控制系统所取代。单片机具有体积小、功能强、成本低、应用面广等优点,可以说,智能控制与自动控制的核心就是单片机。 三、硬件组成

3.1流水灯硬件构成及原理 按照单片机系统扩展与系统配置状况,单片机应用系统可分为最小系统、最小功耗系统及典型系统等。AT89C51单片机是美国ATMEL公司生产的低电压、高性能CMOS 8位单片机,具有丰富的内部资源:4kB闪存、128BRAM、32根I/O 口线、2个16位定时/计数器、5个向量两级中断结构、2个全双工的串行口,具有4.25~5.50V的电压工作范围和0~24MHz工作频率,使用AT89C51单片机时无须外扩存储器。因此,本流水灯实际上就是一个带有八个发光二极管的单片机最小应用系统,即为由发光二极管、晶振、复位、电源等电路和必要的软件组成的单个单片机。其具体硬件组成如图1所示。 3.2流水灯硬件原理图

最新基于单片机的流水灯系统设计与实现

摘要 本设计着重在于分析计算器软件和开发过程中的环节和步骤,并从实践经验出发对计算器设计做了详细的分析和研究。本系统就是充分利用了G2452芯片的I/O引脚。系统以采用MSP430系列单片机G2452为中心器件来设计花样LED流水灯系统,通过按键实现8个LED灯不同花样式的闪烁。 关键词:流水灯;单片机;按键;闪烁

目录 1 项目要求 (3) 2 项目分析和系统设计 (3) 3 硬件设计 (3) 3.1单片机选型模块 (3) 3.2 LED流水灯模块 (4) 3.3功能模式选择模块 (5) 4 软件设计 (6) 4.1主程序 (6) 4.2子程序 (7) 5 系统调试 (8) 5.1硬件调试 (8) 5.2程序调试 (8) 5.3联合调试 (9) 6 外延 (11) 7 项目演练 (14) 8项目总结 (14) 附录1电路设计原理图(参考) (15) 附录2 PCB设计原理图(参考) (15) 附录3 关键程序(参考) (16)

基于单片机的流水灯系统设计与实现 1 项目要求 本项目花样流水灯采用MSP430单片机为控制器件,用于各方面的装饰,此花样流水灯有8个LED灯,六种花样灯光效果。 (1)初始化后,执行8个LED灯从右至左逐次点亮,每隔0.2s亮一个LED 灯,直到8个LED灯全亮,再从左至右依次熄灭直到全灭,以此循环; (2)当按下按键后,执行8个LED灯从右至左每隔0.2s逐一亮灭,直到点亮最左边一个灯后再从左至右每隔0.2s逐一亮灭,以此循环; 2 项目分析和系统设计 本系统分为硬件和软件模块。硬件上我们打算在单片机的不同的i/o中装上一个流水灯来进行对流水灯进行控制。 在程序方面,首先对msp430的i/o口进行的定义和设置,然后在去定义了一个delay进行延时功能,在用一个switch循环来使得流水灯不断的循环亮灭。 花样流水灯采用MSP430单片机为控制器件,用于各方面的装饰,此花样流水灯有8个LED灯,两种花样灯光效果。 3 硬件设计 本系统采用MSP430单片机为控制核心进行设计,该流水灯系统共可分为两个模块:单片机选型模块和LED流水灯模块。 Power MCU MSP430G2553 LED 花样流水灯 图1 系统框图 3.1单片机选型模块 MSP430单片机是16位的单片机,采用了精简指令集(RISC)结构,只有简洁的27条内核指令,大量的指令则是模拟指令;众多的寄存器以及片内数据存储器都可参加多种运算。这些内核指令均为单周期指令,功能强,运行的速度快。

LED点阵心形流水灯单片机设计

河南理工大学 开放实验室单片机设计报 LED点阵心形流水灯礼品 目录 0 前言 (1) 1系统组成与功能 (1) 1.1 系统组成 (1) 1.1.1 AT89C51单片机 (1) 1.1.2 16乘16点阵 (2) 1.2 系统功能 (3) 2系统原理 (3) 2.1系统仿真图 (3) 2.2 实物照片 (4) 3程序流程图 (6) 4程序代码 (7) 5结论 (14) 参考文献 (14)

1 基于单片机控制心形流水灯跟点阵 0 前言 随着社会的发展,单片机得到了广泛的应用,人们越来越重视单片机的应用。比如温度是和每个人息息相关的,并且在有的生产车间里还要进行温度时时测量,甚至是对温度的进一步调控等,这些都是单片机的应用之例。本设计是用单片机和点阵加一个小的流水灯电路,作为玩具挺有趣的。 这次的作品,初衷是希望通过单片机学习,做个生日礼物送给朋友。由于时间紧迫,做的有些仓促,望原谅。 1系统组成与功能 1.1 系统组成 本系统主要有AT89C51单片机、18b20、1602、蜂鸣器、四位一体七段数码管等元件组成。 1.1.1 AT89C51单片机 AT89S51具有如下特点:40个引脚,8k Bytes Flash 片内程序存储器,256 bytes 的随机存取数据存储器(RAM ),32个外部双向输入/输出(I/O )口,5个中断优先级2层中断嵌套中断,2个16位可编程定时计数器,2个全双工串行通信口,看门狗(WDT ) 电路,片内时钟振荡器。 此外,AT89S52设计和配置了振荡频率可 为0Hz 并可通过软件设置省电模式。空闲模式下,CPU 暂停工作,而RAM 定时计数器,串行口,外中断 系统可继续工作,掉电模式冻结振荡器而保存RAM 的数据,停止芯片其它功能直至外中断激活或硬件复位。 引脚图如图1-1所示。 管脚说明 图1-1 A T89C51引脚图

基于单片机的心形流水灯毕业设计论文

基于单片机的心形流水灯毕业设计论文 此文档为WORD版可编辑修改

课程设计(论文)说明书 题目:心形流水灯 院(系):信息与通信学院 专业:通信工程 学生姓名: 学号: 指导教师: 职称: X年X月X日

摘要 本论文基于单片机技术与单片机芯片AT89S51芯片功能和C语言程序,实现心形流水灯的多种亮与灭的循环。首先,我们了解单片机的一些技术,了解了单片机芯片AT89S51的一些功能;然后结合C语言编程;最后将它们运用到实际的电路,使心形LED灯实现多种亮灭方法。本论文介绍关于流水灯的运用和单片机技术;然后介绍芯片AT89S51;最后介绍运用到的相关软件. 关键词:单片机;流水灯;C语言;

Abstract This paper Based on the single chip microcomputer and single chip microcomputer chip AT89S51 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.引言 当今时代是一个新技术层出不穷的时代,在电子领域尤其是自动化智能控制领域,传统的分立元件或数字逻辑电路构成的控制系统,正以前所未见的速度被单片机智能控制系统所取代。单片机具有体积小、功能强、成本低、应用面广等优点,可以说,智能控制与自动控制的核心就是单片机。目前,一个学习与应用单片机的高潮正在工厂、学校及企事业单位大规模地兴起。学习单片机的最有效方法就是理论与实践并重,本文笔者用AT89C51单片机自制了一款简易的流水灯,重点介绍了其软件编程方法,以期给单片机初学者以启发,更快地成为单片机领域的优秀人才。 2.硬件组成 按照单片机系统扩展与系统配置状况,单片机应用系统可分为最小系统、最小功耗系统及典型系统等。AT89C51单片机是美国ATMEL公司生产的低电压、高性能CMOS 8位单片机,具有丰富的内部资源:4kB闪存、128BRAM、32根I/O口线、2个16位定时/计数器、5个向量两级中断结构、2个全双工的串行口,具有4.25~5.50V的电压工作范围和0~24MHz工作频率,使用AT89C51单片机时无须外扩存储器。因此,本流水灯实际上就是一个带有八个发光二极管的单片机最小应用系统,即为由发光二极管、晶振、复位、电源等电路和必要的软件组成的单个单片机。其具体硬件组成如图1所示。 图1 流水灯硬件原理图 从原理图中可以看出,如果要让接在P1.0口的LED1亮起来,那么只要把P1.0口的电平变为低电平就可以了;相反,如果要接在P1.0口的LED1熄灭,就要把P1.0口的电平变为高电平;同理,接在P1.1~

P1.7口的其他7个LED的点亮和熄灭的方法同LED1。因此,要实现流水灯功能,我们只要将发光二极管LED1~LED8依次点亮、熄灭,8只LED灯便会一亮一暗的做流水灯了。在此我们还应注意一点,由于人眼的视觉暂留效应以及单片机执行每条指令的时间很短,我们在控制二极管亮灭的时候应该延时一段时间,否则我们就看不到“流水”效果了。 3.软件编程 单片机的应用系统由硬件和软件组成,上述硬件原理图搭建完成上电之后,我们还不能看到流水灯循环点亮的现象,我们还需要告诉单片机怎么来进行工作,即编写程序控制单片机管脚电平的高低变化,来实现发光二极管的一亮一灭。软件编程是单片机应用系统中的一个重要的组成部分,是单片机学习的重点和难点。下面我们以最简单的流水灯控制功能即实现8个LED灯的循环点亮,来介绍实现流水灯控制的几种软件编程方法。 3.1位控法 这是一种比较笨但又最易理解的方法,采用顺序程序结构,用位指令控制P1口的每一个位输出高低电平,从而来控制相应LED灯的亮灭。程序如下: ORG 0000H ;单片机上电后从0000H地址执行 AJMP START ;跳转到主程序存放地址处 ORG 0030H ;设置主程序开始地址 START:MOV SP,#60H ;设置堆栈起始地址为60H CLR P1.0 ;P1.0输出低电平,使LED1点亮 ACALL DELAY ;调用延时子程序 SETB P1.0 ;P1.0输出高电平,使LED1熄灭 CLR P1.1 ;P1.1输出低电平,使LED2点亮 ACALL DELAY ;调用延时子程序 SETB P1.1 ;P1.1输出高电平,使LED2熄灭 CLR P1.2 ;P1.2输出低电平,使LED3点亮 ACALL DELAY ;调用延时子程序 SETB P1.2 ;P1.2输出高电平,使LED3熄灭 CLR P1.3 ;P1.3输出低电平,使LED4点亮

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

电路原理图:

原件清单: 1、51单片机x1、40Pin 座x1 2、LED x32(建议用5mm 七彩的) 3、电阻470Ωx33 4、晶振12MHz x1 5、10uf 电解电容x1、谐振瓷片电容30pf x2 6·其他的可以看自己的爱好去加 7、其实也可以不用那么多的电阻,用几个排阻就OK了。~ 效果展示:

作品程序: #include<> #define uchar unsigned char ; uchar flag=200; /////////////////////////////////////////////////////////////////////// uchar code Tab1[]={0xFE,0xFD,0xFB,0xF7,0xEF,0xDF,0xBF,0x7F,0xFF};//暗中左移向下uchar code Tab2[]={0x7F,0xBF,0xDF,0xEF,0xF7,0xFB,0xFD,0xFE,0xFF};//暗中右移向上uchar code Tab3[]={0x01,0x02,0x04,0x08,0x10,0x20,0x40,0x80,0x00};//亮中左移向下uchar code Tab4[]={0x80,0x40,0x20,0x10,0x08,0x04,0x02,0x01,0x00};//亮中右移向上uchar code Tab11[]={0xFE,0xFC,0xF8,0xF0,0xE0,0xC0,0x80,0x00,0xff};//暗中左移向下uchar code Tab22[]={0x7F,0x3F,0x1F,0x0F,0x07,0x03,0x01,0x00,0xff}; //////////////////////////////////////////////////////////////////// uchar code Tab33[]={0x80,0xC0,0xE0,0xF0,0xF8,0xFC,0xFE,0xFF}; ; uchar code Tab44[]={0x01,0x03,0x07,0x0F,0x1F,0x3F,0x7F,0xFF}; uchar code Tab55[]={0x08,0xc0,0xe0,0xf0,0xf8,0xfc,0xfe,0xff,0xff}; uchar code Tab5[]={0x00,0x80,0xC0,0xE0,0xF0,0xF8,0xFC,0xFE,0xff};

基于51单片机的花样流水灯设计

摘要 摘要 计算机技术的飞速发展和提高,把我们带入了崭新的时代,现在,计算机的应用已经深入到千家万户。单片微型计算机是制作在一块集成电路芯片上的计算机,简称单片机。单片机在现在社会有着广泛的应用,小到人们的日常电子用品,大到航天飞机、宇宙飞船,上面都有单片机的广泛应用。单片机具有体积小、功能强大、低功耗、应用广泛等特点。以AT公司的芯片AT89C51 单片机来实现流水灯的设计。本系统由单片机控制,I/O口接LED的负极,而LED的正极则直接与5V电源相连。通过I/O口输出的低电平点亮LED灯。因此可以通过控制单片机的I/O口的电平高低以达到控制LED,从而实现不同花样的流水灯的目的。 关键词:LED,单片机,高低电平变化

ABSTRACT ABSTRACT The rapid development of computer technology and improving, bring us to the new era, now, the application of computer has been deep into the thousands. Single chip microcomputer is made on an integrated circuit chip computer, hereinafter referred to as single chip microcomputer. SCM has been widely used in the present society, small to People's Daily electronic products, big to aerospace aircraft, spacecraft, above has the wide application of single-chip microcomputer. SCM has small volume, powerful function, low power consumption, wide application, etc. AT the company's chip AT89C51 single-chip microcomputer to realize the water lamp design. This system controlled by single chip microcomputer, I/O ports connect the LED the cathode, and LED the anode is directly connected to 5V power supply. Through the I/O port output low level light leds. So you can single chip microcomputer control through the I/O ports to control LED, the level of high and low so as to realize the purpose of the different pattern of flowing water light. Key words:LED , MCU ,High and Low output leve

心形花样流水灯设计报告

《专业方向课程设计》课程 设计报告 题目:心形花样流水灯与点阵显示 专业:电子信息工程 班级:二班 学号: 姓名: 指导老师: 重庆交通大学信息科学与工程学院 设计时间: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 )电路,片内时钟振荡器。 此外,AT89S52设计和配置了振荡频率可 为0Hz 并可通过软件设置省电模式。空闲模式下,CPU 暂停工作,而RAM 定时计数器,串行口,外中断 系统可继续工作,掉电模式冻结振荡器而保存RAM 的数据,停止芯片其它功能直至外中断激活或硬件复位。 引脚图如右图所示。此次设计把51单片机的4个I/O 口与32个5mm 高亮LED 灯相接,通过单片机控制各I/O 引脚的高低电平控制LED 的亮灭从而形成各种不同亮灭的花样。 2.点阵显示设计: (1)8*8点阵原理图 : 从图中可以看出,8X8点阵共需要64个发光二极管组成,且每个发光二极管是放置在行线和列线的交叉点上,当对应的某一列置1电平,某一行置0电平,则相应的二极管就亮;因此要实现一根柱形的亮法,如图所示,对应的一列为一根竖柱,或者对应的一行为一根横柱,因此实现柱的亮的方法如下所述: 一根竖柱:对应的列置1,而行则采用扫描的方法来实现。 AT89C51引脚图

单片机论文之流水灯及数码管控制

用单片机控制流水灯及数码管 目录 课程设计目录 (1) 课程设计摘要 (2) 正文 (3) 课程设计涉及的知识及所需平台 (3) 元件介绍 (9) 电路设计及分析 (12) 程序设计 (14) 调试运行 (21) 设计心得 (23) 参考文献 (24)

一:课程设计摘要 设计摘要 设计要求: 利用动态扫描和定时器1在数码管上显示出从765432开始以 1/10秒的速度往下递减至765398并保持显示此数,与此同时利用定时器0以500MS的速度进行流水灯从上到下的移动,当数码管上的数减到停止时,流水灯也停止然后全部闪烁,3秒后(用T0定时)流水灯全部关闭,数码管上显示“HELLO”,到此保持住。 设计说明: 数码管的动态显示是一种按位轮流点亮各位数码管的显示方式,即在某一时段,只让其中一位数码管的“位选端有效”,并送出相应的字型显示编码。此时其他位的数码管因位选端无效而都处于熄灭状态;下一时段按顺序选通另外一位数码管,并送出相应的字型显示编码,按此规律循环下去,即可使各位数码管分别间断地显示出相应的字符。通过定时器可以控制单片机上的数码管以及流水灯的显示时间,从而达到设计的要求。 关键词: 单片机,数码管,动态显示,流水灯,定时器 设计目的 以AT89C52单片机为核心,制作一个数码管和流水灯互相配合显示的器件。巩固加深对AT89C52单片机的认识,学会用AT89C52设计最小系统,并由此拓展运用单片机实现其他功能的设计。

设计引言 单片机又称单片微控制器,它不是完成某一个逻辑功能的芯片,而是把一个计算机系统集成到一个芯片上。概括的讲:一块芯片就成了一台计算机。它的体积小、质量轻、价格便宜、为学习、应用和开发提供了便利条件。同时,学习使用单片机是了解计算机原理与结构的最佳选择。 89C52是INTEL公司MCS-51系列单片机中基本的产品,它采用INTEL公司可靠的CHMOS工艺技术制造的高性能8位单片机,属于标准的MCS-51的HCMOS产品。它结合了HMOS的高速和高密度技术及CHMOS的低功耗特征,它基于标准的MCS-51单片机体系结构和指令系统,属于80C51增强型单片机版本,集成了时钟输出和向上或向下计数器等更多的功能,适合于类似马达控制等应用场合。89C52内置8位中央处理单元、256字节内部数据存储器RAM、8k片内程序存储器(ROM)32个双向输入/输出(I/O)口、3个16位定时/计数器和5个两级中断结构,一个全双工串行通信口,片内时钟振荡电路。此外,89C52还可工作于低功耗模式,可通过两种软件选择空闲和掉电模式。在空闲模式下冻结CPU而RAM定时器、串行口和中断系统维持其功能。掉电模式下,保存RAM数据,时钟振荡停止,同时停止芯片其它功能。89C52有PDIP(40pin) PLCC(44pin)两种封装形式。

单片机课程设计报告--心形流水灯

单片机课程设计报告--心形流水灯

井冈山大学 机电工程学院 单片机 课程设计报告 课程名称:单片机 设计题目:心形流水灯 姓名:彭玉红 专业:生物医学工程 班级:11级医工本一班 学号:110615017 指导教师:王佑湖 2013年11月27日

目录 1引言 (2) 1.1设计任务 (2) 1.2设计要求……………………………………………… ..2 2 课题综述 (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 面对的问题

相关文档
相关文档 最新文档