花样流水灯课程设计

  • 格式:doc
  • 大小:325.50 KB
  • 文档页数:15

下载文档原格式

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

课程论文

花样流水灯的设计

课程单片机技术及系统设计

学生姓名

学号

所在学院

所在班级

任课教师

提交时间2014年5月25日至2014年5月30日

目录

一.前言

1.1 设计概述................................................................................ (2)

1.2设计主要功能 (2)

二.设计过程

2.1原理图中所使用的元器件功能 (3)

2.2程序在功能实现过程中的作用 (5)

三体会

3.1课程设计体会 (5)

四. 文献

4.1参考文献 (6)

五. 附录

5.1流水灯电路图 (7)

5.2流水灯程序 (7)

摘要:当今时代是一个新技术层出不穷的时代,在电子领域尤其是自动化智能控制领域,传统的分立元件或数字逻辑电路构成的控制系统,正以前所未见的速度被单片机智能控制系统所取代。单片机具有体积小、功能强、成本低、应用面广等优点,可以说,智能控制与自动控制的核心就是单片机。

关键词:单片机控制系统流水灯

一.前言

1.1设计概述

整个系统工作由软件程序控制运行,根据需要,可以上电后系统经过初始化,进入用户设定模式状态。于AT89C51单片机的彩灯控制方案,实现对LED灯的控制。本方案以AT89C52单片机作为主控核心,与驱动等模块组成核心主控制模块。在主控模块上设有晶振电路和8个LED灯,根据需要编写若干种亮灯模式,根据各种亮灯时间的不同需要,在不同时刻输出灯亮或灯灭的控制信号

1.2设计主要功能

通过发光二极管显示不同的花样,并且可以通过按键来控制流水灯的速度通过学习单片机工作原理和各种工作方式及各管脚的功能,想通过P3 口的俩管脚P3.2和P3.3第二功能,即外部中断来使CPU 响应,达到控制流水灯的目的

二.设计过程

2.1原理图中所使用的元器件功能

2.1.1时钟电路单片机内部具有一个高增益反相放大器,用于构成振荡器。通常在引脚XTALl和XTAL2跨接石英晶体和两个补偿电容构成自激振荡器,结构图2 中X1、C1、C2。可以根据情况选择6MHz、12MHz或24MHz等频率的石英晶体,补偿电容通常选择30nF左右的瓷片电容

2.1.2 复位电路单片机小系统常采用上电自动复位和手动按键复位两种方式实现系统的复位操作。上电复位要求接通电源后,自动实现复位操作。手动复位要求在电源接通的条件下,在单片机运行期间,用按钮开关操作使单片机复位。其结构如下图。上电自动复位通过电容C3充电来实现。手动按键复位是通过按键将电阻R9与VCC 接通来实现。

2.1.3外部中断0 和外部中断1电路

通过外部的输入信号来实现流水灯的速度的加速和减速。

2.1.4 8个LED灯的结构

2.2程序在功能实现过程中的作用

2.2.1系统软件的组成(1)键盘扫描程序:检测是否有按键按下,有按键按下则记录按下键的键值,并跳转至功能转移程序;无按键按下,则返回键盘扫描程序继续检测。(2)功能转移程序:对检测到的按键值进行判断,是功能键则跳转至相应的功能程序,我们设计的功能程序有两种,即加速功能和减速的功能。

2.2.2通过外部中断程序实现速度的调整,由复位口实现电路的原来的速度。

三体会

3.1课程设计体会

通过这次课程设计我学到了很多东西,我更加体会到理论知识与动手能力相结合的重要性,而且设计过程中使我懂得在设计程序之前,务必要对所用单片机的内部结构有一个系统的了解,知道该单片机内有哪些资源:懂得设计的关键是要有一个清晰的思路和一个完整

的软件流程图。在设计程序时,不能妄想一次就将整个程序设计好,“反复修改,不断改进”是程序设计的必经之路。要养成注释程序的好习惯,一个程序的完美与否不仅仅是实现功能,而应该让人一看就能明白你思路,这样也为资料的保存和交流提供了方便。整个设计的过程中,还是碰到了一些问题。比如,对于键盘的延时防抖问题不能较好的解决;设计中我最大的收获就是自己的动手能力和独立解决问题的能力得到了很大的提高,在动手的过程中,不仅能增强实践能力,而且在理论上可以有更深的认识

当今社会,由单片机芯片控制各种硬件工作的技术日益成熟,并普及在交通、化工、机械等各个领域。而流水灯这项技术在生活中应用更为广泛,较为贴近生活。以前在路上夜景中经常见到各种流水灯,感觉很漂亮,通过此次编程以后才知道了原理,让我有一种学以致用的成就感!很开心!流水灯控制的设计所需要的知识不仅吻合了我们本学期对于单片机这门课程的学习,而且对于我们以前所学习的如数码管显示、LEG灯等知识也是一次很好地运用,所以设计流水灯控制的这个课题让我们对知识的学习和巩固都有了进一步的加深。总的来说,这次设计获益良多。

四. 文献

4.1参考文献

【1】周美娟肖来胜单片机技术及系统设计编著清华大学出版社出版

【2】单片机实验指导书广东海洋大学

五. 附录

5.1流水灯电路图

5.2流水灯程序

#include

#define uchar unsigned char

#define uint unsigned int

uchar j,k;

void delay(int ms)

{ uchar i;

while(ms--)

for(i=0;i<123;i++);

}

uchar code tab[]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f, 0x7f,0xbf,0xdf,0xef,0xf7,0xfb,0xfd,0xfe,