单片机c语言 流水灯 教案,单片机控制流水灯讲课教案.doc

单片机控制流水灯

前言

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

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

目 录

TOC \o "1-3" \h \u 20080 前言 2

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

23003 1.1 设计目的 6

21506 1.2 设计要求 6

5208 2、 设计方案选择 6

13805 3、硬件设计 7

24502 3.1?设计思路? 7

6056 3.2 流水灯电路原理图 7

18717 3.2.1元件清单 8

32079 3.2.2 硬件电路模块分析 8

18872 3.3 主要元件说明 11

28152 3.3.3 振荡器特性 15

3351 3.3.4 芯片擦除 15

26720 4、软件设计 15

26679 4.1 主程序设计 15

2304 4.2 程序流程图 18

5476 5、 使用keil、proteus软件调试仿真说明 19

29931 5.1仿真过程 19

5489 5.2仿真结果 19

20220 6、 结束语 19

1971 7、参考文献 20

课程设计的目的和要求

1.1 设计目的

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

1.2 设计要求

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

设计方案选择

根据设计的基本要求,要实现其基本要求有两种设计方案的选择,这两种设计方案都是基于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发光管

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值