电子喷泉的设计.docx
《电子喷泉的设计.docx》由会员分享,可在线阅读,更多相关《电子喷泉的设计.docx(12页珍藏版)》请在冰点文库上搜索。
电子喷泉的设计
控
制
系
统
综
合
设
计
报
告
设计题目:
电子喷泉的设计
设计者:
学号:
专业班级:
电气工程及其自动化061班
指导老师:
完成时间:
2009年6月25日
一、预备知识……………………………….1
二、课程设计题目……………………………1
三、课程设计的目的及基本的要求………………...1
四、设计内容提要及说明……………………….2
五、原理图及元件清单…………………………3
六、单片机各引脚定义…………………………4
七、系统程序流程图………………………….5
八、电子喷泉设计的系统源程序………………….6
九、课程设计心得体会…………………………9
十、参考文献……………………….……11
一、预备知识
1.151单片机原理
(1)51单片机的I/O口的使用原理和设置
(2)51单片机的定时器的设置
1.2发光二极管及数码管的认识和使用
1.3按键的判断和使用
1.451单片机开发环境的熟悉和使用
1.5对于共阴/共阳数码管及发光二极管等器件的熟练使用
二、课程设计题目:
电子喷泉的设计
三、课程设计的目的及基本的要求
单片机已经广泛的应用于人们的日常生活中,在各个领域中起到越来越重要的作用。
因此,掌握单片机的基本功能是非常重要的技能。
进行课程设计是加强实践,提高动手能力的重要环节,是将所学理论知识与实际联系起来的桥梁和纽带。
通过课程设计:
同时在软件编程、排错调试、焊接技术及相关仪器设备的使用等各个方面得到全面的提高。
掌握单片机开发过程,为将来的实际工作打下一定得基础。
本课程设计以菲利普P89V51RB2单片机为基础,基本要求如下:
1、熟悉单片机的基本机构;
2、掌握共阴/共阳数码管及发光二极管的工作原理及使用方法;
3、掌握按键的判断及使用;
4、掌握菲利普P89V51RB2单片机的使用方法;
5、掌握单片机C语言一般的编程技巧;
6、掌握单片机系统调试的一般步骤及方法;
7、熟悉掌握电路板的焊接及排错;
8、掌握程序的下载及调试。
四、设计内容提要及说明
4.1设计内容
本次设计的题目要求基本内容如下:
(1)按键K1:
电子灯显示方式选择,每按一次,选择一种显示方式;
(2)按键K2:
控制电子灯启动,停止;
(3)电子灯显示方式至少四种;方式选择在电子灯停止方式下有效。
4.2设计说明
4.2.1系统设计
根据设计题目的要求分析,系统分成四大部分:
(1)单片机的控制部分;
(2)电子喷泉控制部分;
(3)按键控制部分;
(4)显示控制部分;
其框图见图1:
图1系统设计框图
五、原理图及元件清单
图2电子喷泉原理
元件清单:
器件名称
数量
6×6×5轻触按钮开关(优)
2个
Φ5mm高亮红色发光管
4个
Φ5mm绿色高亮发光管
2个
Φ5mm黄色高亮发光管
2个
电阻330欧
2个
2.54mm单排针
20个
共阳数码管
1个
电阻10K
2个
杜邦线
20个
万能板
1个
六、单片机各引脚定义
单片机控制部分采用菲利普P89V51RB2,两个按键的用途如下:
单片机引脚
各器件引脚
功能描述
P0.0
接按键K2
电子喷泉的启动/停止
P0.1
接按键K1
显示方式的转换
七、系统程序流程图
本设计程序流程:
程序开始,发光二极管处于熄灭状态;当启动时,共阳级数码管显示“1”,程序首先进行显示方式选择;停止时,在复位前,数码管显示停留在最后那个状态。
2个按键中,其中K2按键控制电子喷泉的二极管的启动/停止;K1按键控制电子喷泉的发光二极管的显示方式的转换。
主程序流程图如下:
接通电源,当按下K2时,电子喷泉开始显示第一种显示方式;按下K2键久一点让电子喷泉停止;再按下K1键,程序判断电子喷泉停止,显示方式进行切换;如此反复。
图3主程序流程图
八、电子喷泉设计的系统源程序
/*功能拓展数码管显示(共阳)模式号利用P2口*/
#include"at89x51.h"
#include"intrins.h"
voidxianshi();
voidxueze();
sbitsp1=P0^0;/*停止与启动0启动1停止*/
sbitsp2=P0^1;/*模式选择*/
intmos=1;/*模式寄存*/
inta,b;/*消抖变量*/
intqt=1;/*起停标志*/
intzy=0;/*左右或奇偶标志*/
inttm=0xfe;
intL4=0;
intled[]={0XC0,0XF9,0XA4,0XB0,0X99,
0X92,0X82,0XF8,0X80,0X90};/*数码管编码*/
intK4[]={0x7e,0xbd,0xdb,0xe7,0xdb,0xbd};
/*延时子程序*/
voiddelay()
{
inti,j,k;
for(i=0;i<20;i++)
{
for(j=0;j<20;j++)
{
for(k=0;k<148;k++);
}
}
}
/*主程序*/
voidmain()
{
P2=led[1];
while
(1)
{
if(sp1==0)
{
for(a=5;a>0;a--)
for(b=248;b>0;b--);/*消抖*/
if(sp1==0)
{
qt=~qt;
}
while(!
sp1);
}
if(qt==1)
{
xueze();
}
else
{
xianshi();
}
}
}
voidxianshi()
{
switch(mos)
{
case1:
/*单一的左移*/
{
P1=tm;
delay();
tm=_crol_(tm,1);
break;
}
case2:
/*闪烁*/
{
P1=0X00;
delay();
P1=0XFF;
delay();
P1=0X00;
delay();
P1=0XFF;
delay();
break;
}
case3:
/*隔一个(奇偶)循环*/
{
P1=tm;
delay();
tm=_crol_(tm,2);
break;
}
case4:
/*两边到中间*/
{
P1=K4[L4];
L4++;
if(L4==6)
{
L4=0;
}
delay();
break;
}
}
}
voidxueze()
{
if(sp2==0)
{
for(a=5;a>0;a--)
for(b=248;b>0;b--);/*消抖*/
if(sp2==0)
{
mos++;
if(mos==5)
{
mos=1;/*模式标志*/
}
P2=led[mos];/*送数码管*/
}
while(!
sp2);
tm=0xfe;
zy=0;
}
}
九、课程设计心得体会
此次单片机课程设计,在冯新刚老师、李明辉老师和谭卢敏老师的精心指导下,我们顺利完成了电子喷泉的课程设计。
通过此次课程设计,收获颇丰,在此真心感谢三位老师的耐心及细心指导。
1、致谢
在此次课程设计中,有三位老师的精心指导及同组同学的精诚合作,我们顺利的完成了此次课程设计,在此真心感谢老师们对我们耐心细致的指导、讲解;感谢同组同学的相互帮助,在此次课程设计中受益良多!
2、对课程设计的意义有更深的理解
通过此次课程设计,掌握了如何用Keil编译程序,如何用Proteus软件仿真单片机的动作,编译程序工作的基本过程及其各阶段的基本任务,熟悉了编译程序总流程框图,了解如何编译程序构造工具及其相关的技术对课本上的只是有了更深的理解,课本上的知识是机械的、表面的,关键是如何将所学的知识与实际的应用结合起来。
3、对该理论在实践中的应用有了更加深刻的理解
通过把控制问题,用程序顺序执行在计算机上实现对电子喷泉的动作控制,了解和理解了理论在实际控制中的应用,对该理论在实践中应用有了更加深刻的理解。
对于在今后的实际工作中,让我知道自己工作应该更加细心、认真.
4、激发了学习的积极性
通过此次课程设计,全面系统的理解了单片机原理及编程的一般原理和基本实现方法。
把死板的课本知识变得生动有趣,激发了学习的积极性。
把学过的单片机原理的知识强化,能够把课堂上的知识通过自己设计的作品表示出来,加深了理论知识的理解。
以前对于单片机控制系统的认识是很模糊的,概念上的、表面上的、肤浅的。
现在通过自己动手做设计,从实践上认识了制作控制系统应该如何来实现,如何运用其他辅助软件帮助程序设计,对Keil软件的操作熟练程度有了一定得提高,但是课程设计中调试和编译比较复杂的程序时,仍然在程序的编写中存在一点问题。
在这次课程设计中,我们就是按照实验指导的思想来完成,培养实践动手能力和程序开发能力的目的。
5、学生在此次课程设计中学会了自己如何解决在实际中的困难
课程设计目的在于加深对MCS-51单片机的理解,掌握单片机应用系统的设计方法;掌握常用接口芯片的正确使用;强化单片机应用电路的设计与分析能力;提高学生在单片机应用方面的实践技能和严谨的科学作风;培养学生综合运用理论知识解决实际问题的能力,力XX现理论结合实际,学以致用的原则。
学生通过查阅资料、接口设计、程序设计、安装调试、整理资料等环节,初步掌握工程设计方法和组织实践的基本技能;熟悉开展科学实践的程序和办法,为今后从事生产技术工作打下必要的基础;学会灵活运用已经学过的知识,并能不断接受新的知识,大胆发明创造的设计理论。
十、参考文献
1、李振凯主编控制系统综合课程设计指导书XX理工大学应用科学学院
2、X天凡等主编C51单片机C语言开发详解电子工业
3、周润景等主编Proteus在MCS-51&AR7系统中应用百例电子工业
4、王军茹等主编MCS-51单片机原理及应用
5、王港元主编电工电子实践指导XX科学技术