单片机课程设计花样流水灯2.doc
文本预览下载声明
前言
随着人们生活环境的不断改善和美化,在许多场合可以看到彩色霓虹灯不断变化闪烁。LED灯由于其丰富的灯光色彩,低廉的造价以及控制简单等特点而得到了广泛的应用,用彩灯来装饰街道和城市建筑物已经成为一种时尚。但目前市场上各式样的LED灯控制器大多数用全硬件电路实现,电路结构复杂、功能单一,这样一旦制作成品只能按照固定的模式闪亮,不能根据不同场合、不同时间段的需要来调节亮灯时间、模式、闪烁频率等动态参数。这种彩灯控制器结构往往有芯片过多、电路复杂、功率损耗大等缺点。此外从功能效果上看,亮灯模式少而且样式单调,缺乏用户可操作性,影响亮灯效果。因此有必要对现有的彩灯控制器进行改进。
流水灯是一串按一定的规律像流水一样连续闪亮。流水灯控制是可编程控制器的一个应用,其控制思想在工业控制技术领域也同样适用。流水灯控制可用多种方法实现,但对现代可编程控制器而言,利用移位寄存器实现最为便利。通常用左移寄存器实现灯的单方向移动;用双向移位寄存器实现灯的双向移动。本案例利用价格低廉的AT89C51系列单片机控制基色LED灯泡从而实现丰富的变化。
课程设计的目的和要求
1.1 设计目的
近年来随着科技的发展,单片机的应用正在不断走向深入,同时带动传统控制检测日新月异更新,在实时检测和自动控制的单片机应用系统中,单片机往往是作为一个核心部件来使用,单片机方面知识是不够的,还应根据具体硬件结构,以及针对具体应用对象点的软件结合,加以完善。流水灯,可以更简单、方便的使用。通过本课程设计使学生进一步巩固单片机原理及应用的基本概念、基本理论,分析问题的基本方法,增强系统地运用已学的理论知识解决实际问题的能力和查阅资料的能力。培养一定的自学能力和独立分析问题、解决问题的能力,能通过独立思考、查阅工具书、参考文献,寻找解决方案。
1.2 设计要求
设计流水灯的基本要求:设计一个流水灯,应用AT89C51试验系统,电路开启后红、绿两种颜色的灯在时钟信号作用下按一定规律转换状态。
2、总体设计
2.1 硬件总体设计
2.1.1设计思想
整个系统工作由软件程序控制运行,根据需要,可以上电后系统经过初始化,进入用户设定模式状态。基于AT89C51单片机的彩灯控制方案,实现对LED彩灯的控制。本方案以AT89C51单片机作为主控核心,与驱动等模块组成核心主控制模块。在主控模块上设有晶振电路和16个LED显示二极管,根据需要编写若干种亮灯模式,根据各种亮灯时间的不同需要,在不同时刻输出灯亮或灯灭的控制信号。
2.1.2元件清单
2.1.3 模块分析
(1)核心部件
89C51单片机是整个彩灯循环系统的核心是控制彩灯循环闪烁等等一切功能的部件;其中内部有ROM、有RAM、有并行I/O口等,在51单片机内部有一个CPU用来运算、控制,有四个并行I/O口,分别是P0、P1、P2、P3,有ROM,用来存放程序,有RAM,用来存放中间结果,此外还有定时/计数器,串行I/O口,中断系统,以及一个内部的时钟电路。
(2)复位系统
电路中C1、R2……组成复位电路,它的作用是将单片机内部特殊功能寄存器和端口寄存器恢复到初始状态,从内部FLASH存储器的初始状态开始执行
(3)震荡系统
单片机本身如同一个复杂的同步时序电路,为了保证同步工作,电路应在唯一的时钟信号控制下,严格地按规定时序工作。时钟电路用于产生单片机工作所需要的时钟信号。
(4)闪烁系统
利用单片机的P口控制:LED的发光闪烁,再利用编程实现流水灯的电路,用软件来实现对LED的控制,每个LED接一个限流电阻,来控制流入LED发光管的电流。
图3-1-1硬件系统方框图
2.2软件总体设计
用查表的方法控制点亮流水灯,即移位的思想
0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f,0xff;//左边单个点亮
0x7f,0x3f,0x1f,0x0f,0x07,0x03,0x01,0x00;//右边逐个点亮
0x01,0x03,0x07,0x0f,0x1f,0x3f,0x7f,0xff;//左边逐个熄灭
0x7f,0x8f,0xdf,0xef,0xf7,0xf8,0xfd,0xfe,0xff;//右边单个点亮
0xfe,0xfc,0xf8,0xf0,0xe0,0xc0,0x80,0x00;//左边逐个点亮
0x80,0xc0,0xe0,0xf0,0xf8,0xfc,0xfe,0xff;//右边逐个熄灭
0xfc,0xf9,0xf3,0xef,0xcf,0x9f,0x3f,0xff;//左边逐两个点亮
0x3f,0x9f,0xcf,0xe7,0xf3,0xf9,0xfc,0xff;//右边逐两个点亮
0xf8,0xf1,0xe3,0x07,0x8f,0x1
显示全部