单片机控制流水灯

  • 格式:doc
  • 大小:501.55 KB
  • 文档页数:17

下载文档原格式

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

单片机控制流水灯

前言

随着人们生活环境的不断改善和美化,在许多场合可以看到彩色霓虹灯不断变化闪烁。LED灯由于其丰富的灯光色彩,低廉的造价以及控制简单等特点而得到了广泛的应用,用彩灯来装饰街道和城市建筑物已经成为一种时尚。但目前市场上各式样的LED灯控制器大多数用全硬件电路实现,电路结构复杂、功能单一,这样一旦制作成品只能按照固定的模式闪亮,不能根据不同场合、不同时间段的需要来调节亮灯时间、模式、闪烁频率等动态参数。这种彩灯控制器结构往往有芯片过多、电路复杂、功率损耗大等缺点。此外从功能效果上看,亮灯模式少而且样式单调,缺乏用户可操作性,影响亮灯效果。因此有必要对现有的彩灯控制器进行改进。

流水灯是一串按一定的规律像流水一样连续闪亮。流水灯控制是可编程控制器的一个应用,其控制思想在工业控制技术领域也同样适用。流水灯控制可用多种方法实现,但对现代可编程控制器而言,利用移位寄存器实现最为便利。通常用左移寄存器实现灯的单方向移动;用双向移位寄存器实现灯的双向移动。本案例利用价格低廉的AT89C52系列单片机控制基色LED灯泡从而实现丰富的变化。

目录

前言 (1)

1、课程设计的目的和要求 (3)

1.1 设计目的 (3)

1.2 设计要求 (3)

2、设计方案选择 (4)

3、硬件设计 (4)

3.1 设计思路 (4)

3.2 流水灯电路原理图 (4)

3.2.1元件清单 (5)

3.2.2 硬件电路模块分析 (6)

3.3 主要元件说明 (9)

3.3.3 振荡器特性 (12)

3.3.4 芯片擦除 (12)

4、软件设计 (12)

4.1 主程序设计 (12)

4.2 程序流程图 (15)

5、使用keil、proteus软件调试仿真说明 (16)

5.1仿真过程 (16)

5.2仿真结果 (16)

6、结束语 (16)

7、参考文献 (17)

1、课程设计的目的和要求

1.1 设计目的

近年来随着科技的发展,单片机的应用正在不断走向深入,同时带动传统控制检测日新月异更新,在实时检测和自动控制的单片机应用系统中,单片机往往是作为一个核心部件来使用,单片机方面知识是不够的,还应根据具体硬件结构,以及针对具体应用对象点的软件结合,加以完善。流水灯,可以更简单、方便的使用。通过本课程设计使学生进一步巩固单片机原理及应用的基本概念、基本理论,分析问题的基本方法,增强系统地运用已学的理论知识解决实际问题的能力和查阅资料的能力。培养一定的自学能力和独立分析问题、解决问题的能力,能通过独立思考、查阅工具书、参考文献,寻找解决方案。

1.2 设计要求

设计流水灯的基本要求:设计一个16个LED灯的流水灯,应用AT89C51实验开发板的定时器功能实现,电路开启后LED灯在时钟信号作用下按一定规律转换状态。

2、设计方案选择

根据设计的基本要求,要实现其基本要求有两种设计方案的选择,这两种设计方案都是基于AT89C51单片机的基础上设计的。一种是使用两片74LS138译码器芯片扩展成为4线—16线具有16种输出状态,从而可以控制16个LED灯;另一种是直接使用单片机的两个I/O端口控制,这样也可以实现控制16个LED 灯。

比较这两种设计方案,我们小组选用了后者。因为这个设计只是简单的要求实现16个LED灯循环点亮的流水功能,不用实现其他的功能,即不需要考虑占用I/O口多的问题;而前者的设计方案需要外添加两个74LS138芯片,这样就增加了硬件电路的复杂性。

3、硬件设计

3.1 设计思路

如果要让接在P0.0口的LED1亮起来,那么只要把P0.0口的电平变为低电平就可以了;相反,如果要接在P0.0口的LED1熄灭,就要把P0.0口的电平变为高电平;同理,接在P0.1~P0.7和P2.0~P2.7口的其他15个LED的点亮和熄灭的方法同LED1。因此,要实现流水灯功能,我们只要将发光二极管LED1~LED16依次点亮、熄灭,16只LED灯便会一亮一暗的做流水灯了。在此我们还应注意一点,由于人眼的视觉暂留效应以及单片机执行每条指令的时间很短,我们在控制二极管亮灭的时候应该延时一段时间,否则我们就看不到“流水”效果了。

3.2 流水灯电路原理图

图3-1硬件接线图

利用单片机的P0、P2口高低电平控制LED灯的发光闪烁,再利用编程实现流水灯的功能。用软件来实现对LED的控制,实现的软硬件结合。每个LED灯接一个限流电阻,来控制流入LED发光管的电流。

闪烁系统

复位电路AT89C51核心

部件

振荡系统

硬件系统方框图

3.2.1元件清单

表3-1 元件清单

名称型号个数

AT89C51 1

22pF电容 2

10uF电解电容 1

220欧姆电阻16

10k电阻 1

晶振11.0592M 1

发光二极管16

连接线若干

3.2.2 硬件电路模块分析

(1)核心部件

89C51单片机是整个流水灯循环系统的核心功能的部件,其中内部有ROM、有RAM、有并行I/O口等,在51单片机内部有一个CPU用来运算、控制,有四个并行I/O口,分别是P0、P1、P2、P3,有ROM,用来存放程序,有RAM,用来存放中间结果,此外还有定时/计数器,串行I/O口,中断系统,以及一个内部的时钟电路。

(2)复位系统

电路中C1、R1、VCC等组成复位电路,它的作用是将单片机内部特殊功能寄存器和端口寄存器恢复到初始状态,从内部FLASH存储器的初始状态开始执行。

如图所示,当要对晶片重置时,只要按此开关就能完成LED和开关的重置。复位是单片机的初始化操作,其主要功能是把PC初始化为0000H,使单片机从0000H单元开始执行程序。单片机的RST管脚为主机提供了一个外部复位信号输入口。复位信号是高电平有效,高电平有效的持续时间为2个机器周期以上。单片机的复位方式可由手动复位方式完成。

RST引脚是复位信号输入端,复位信号为高电平有效,其有效时间应持续24个振荡周期以上才能完成复位操作,若使用6MHz晶振,则需持续4μS以上才能完成复位操作。图2.10中,在通电瞬间,由于RC的充电过程,在RST端出现一定宽度的正脉冲,只要该正脉冲保持10ms以上,就能使单片机自动复位