单片机课程设计(流水灯控制设计)_第1页
单片机课程设计(流水灯控制设计)_第2页
单片机课程设计(流水灯控制设计)_第3页
单片机课程设计(流水灯控制设计)_第4页
单片机课程设计(流水灯控制设计)_第5页
已阅读5页,还剩2页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、 题目名称: 流水灯的控制设计 姓 名: 杨松杭 班 级: 电气N091 学 号: 200945679832 日 期: 2012年6月16日 目录目录11. 课程设计的目的22. 任务描述及设计方案22.1 任务描述22.2 设计方案22.3 设计思路23. 流水灯控制的硬件原理图及程序语言33.1 硬件原理图如下:33.2 程序语言44. 分析和总结64.1 分析64.2 总结65. 心得体会66. 参考文献61. 课程设计的目的课程设计是本专业集中时间环节的主要内容之一。训练正确地应用单片机,培养解决工业控制、工业检测等领域具体问题的能力。学生通过所做课题,熟悉单片机应用系统开发研制的过程

2、,软硬件设计的工作方法、内容及步骤,对学生进行基本技能训练。例如组成系统、编程、调试、绘图等。使学生理论联系实际,提高动手能力和分析问题、解决问题的能力。本课程设计的目的:设计一个简单的由单片机控制的输入输出系统。2. 任务描述及设计方案2.1 任务描述设计流水灯控制电路,使连接在该电路上的八个LED灯按三种不同的模式进行闪烁。2.2 设计方案本方案是用ATMEL的AT89C51来实现的。每个口都为低电平有效,我们用P2口的高低电平来控制P0口的电平,以实现不同的闪烁模式。通过三个按钮选择不同模式的亮灯方案,模式一:顺序逐个亮灭,产生流水效果;模式二:逆序同时两灯流水;模式三:同时闪烁,一个甚

3、至多个移位,包含模式一、二等64种不同的闪烁效果。三种模式可以随意切换,还带有暂停和复位功能。2.3 设计思路P01P07接八个LED灯,P21P23、P26、P27分别接按钮开关,编号15。按钮一端接地。在编程时,用P2口的高低电平来控制P1口的电位。开关13分别为模式13的选择启动按钮,开关按钮4为停止复位键,开关按钮5为暂停键。以模式一为例,LED从左往右分别为D1D8,按下开关按钮1时,启动模式1,亮灭顺序从18。图2-1 LED灯管因为计算计算的速率很快,人的眼睛不可能分辨的过来,所以在每只LED灯亮的时候设有一定的延时,熄灭也一样。依次从左往右时就会产生“流水”的效果。模式2、模式

4、3也是一样,只因程序的不同而不同。3. 流水灯控制的硬件原理图及程序语言3.1 硬件原理图如下:图3-1 硬件原理图3.2 程序语言#include#includesbit led4=P26;sbit led5=P27;sbit led1=P21;sbit led2=P22;sbit led3=P23;#define uchar unsigned char#define uint unsigned intcode uint num=0x80,0x40,0x20,0x10,0x08,0x04,0x02,0x01, 0x02,0x04,0x08,0x10,0x20,0x40,0x80,0xc0,

5、0xe0,0xf0,0xf8,0xfc,0xfe,0xff,0xfe,0xfc, 0xf8,0xf0,0xe0,0xc0,0x80,0x00,0x81,0xc3, 0xe7,0xff,0xe7,0xff,0xe7,0xc3,0x81,0x00, 0x42,0x24,0x00,0xff,0x00,0xff,0x00,0xff, 0x24,0x42,0x81,0x24,0x42,0x81,0x24,0x42, 0x81,0x18,0x81,0x18,0x81,0x18,0x81,0xff,;void delay(uint ms);uint count=0;static uchar x=0;void

6、 main() uchar a; uchar b; b=0x5f; a=0xfe; if(led1=0|led2=0|led3=0) while(1) /*=复位=*/ if(led4=0) P0=0xff; a=0xfe; x=0; while(led1=1&led2=1&led3=1); /*=循环程序=*/ /*=模式1=*/ while(led2=1&led3=1&led4=1&led5=1) P0=a; delay(250); a=_crol_(a,1); /*=模式2=*/ while(led1=1&led3=1&led4=1&led5=1) P0=b; delay(250); b

7、=_cror_(b,1); /*=模式3=*/ while(led1=1&led2=1&led4=1&led5=1) for(count=30000;count0;count-); P0=numx+; if(x=64) x=0; /*=暂停=*/ if(led5=0) while(led1=1&led2=1&led3=1&led4=1); void delay(uint ms) uint i,j; for(i=ms;i0;i-) for(j=110;j0;j-);4. 分析和总结本次课程实习我们虽然用了一个星期的时间就全部完成,但整个过程我们都认真的完成了,而且从中收获很多。可以总结以下几点:

8、4.1 分析这次课程设计中,主要困难就是对ISIS 7 Professional软件和Keil C51编程软件的陌生,经过小队的一起探讨,确定了课题,进行了分工。我负责Keil C51的熟悉与初步掌握,对本次课程设计的方案进行编程。在用ISIS 7 Professional软件仿真时总达不到预定效果,经小组的多次探讨才仿真成功。4.2 总结通过此次的课程设计,我加深了对单片机以及C语言的认识和理解,使各部分的知识得到了进一步的巩固。在编程的过程中遇到很多问题,例如for/while/if等语句的不熟练应用导致许多次仿真效果不尽人意。通过上网的查找和翻阅图书,一步步地解决了问题。理论与实践的结合相当之重要,最初以为只会是一个简单的过程,实际中每个元器件都相连在一起,在考虑这个的同时还要兼顾另外的东西。经过一次次的一起地完善学习,渐渐弥补了知识上的匮乏,最终做出了让自己满意的效果。5. 心得体会通过此次设计实验,加深了对单片机的理解,开阔了我们的思维境界,使我们的知识更加丰富。对于学到了新的知识,掌握了这两款软件的初级应用有一定

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论