单片机项目结题报告之流水灯3文档格式.docx
- 文档编号:19947648
- 上传时间:2023-01-12
- 格式:DOCX
- 页数:14
- 大小:403.77KB
单片机项目结题报告之流水灯3文档格式.docx
《单片机项目结题报告之流水灯3文档格式.docx》由会员分享,可在线阅读,更多相关《单片机项目结题报告之流水灯3文档格式.docx(14页珍藏版)》请在冰豆网上搜索。
(3)D1~D16发光二级管自上而下每间隔一个依次点亮;
(4)上下交替点亮
(5)全亮
(6)全灭
(7)重复循环以上6个过程
1、2 项目方案
(项目整体方案描述及方案框图)
1、2、1若要实现流水灯不同功能得展现,则要根据实际得条件设计相应得硬件电路与软件程序得设计。
本课题使用AT89C51单片机进行流水灯得功能演示,本流水灯实际上就就是一个带有16个发光二极管得单片机最小得应用系统,由发光二极管、晶振、复位、电源等电路与必要得软件组成得单个单片机.
如果要让接在P1、0口得LED1灯亮起来,那么只要把P1、0口得电平变为低电平就可以了;
相反,如果要接在P1、0口得LED灯熄灭,就要把P1、0口得电平变为高电平;
同理,接在P1、1~P1、7口得其她7个LED灯点亮与熄灭得方法同LED1;
同理P2、0~P2、7也如此。
因此,要实现流水灯功能,我们只要将发光二极管得依次点亮,熄灭,LED灯便会一亮一暗得做流水灯。
在此我们还应注意一点,由于人眼得视觉暂留效应以及单片机执行每条指令得时间很短,我们在控制二极管亮灭得时候应该延时一段时间,否则我们就瞧不到“流水"
得效果了.
基本功能:
利用AT89C51作为主控制器组成一个LED流水灯系统,实现16个LED灯得演示。
基本器件:
AT89C51单片机、16个LED灯与电阻
1、2、2系统原理组成框图:
开关输入
中心控制模块AT89C51
LED流水灯
第2章硬件电路设计
类似第1章,分小节介绍硬件电路设计(分模块介绍各子电路得功能及原理)
2、1各电路模块
2、 1、1子系统模块一
AT89C51复位模块
图2、1、1 复位模块
通过人工按键复位实现单片机得复位。
按键复位通过对RST端经过两个电阻对电源Vcc接通分压产生得高电平来实现。
2、 1、2 子系统模块二
AT89C51晶振模块(内部时钟方式)
图2、1、2
AT89C51单片机内部有一个用于构成振荡器得高增益反相放大器,输入端为芯片引脚XTAL1,输出端为引脚XTAL2,这两个引脚外部跨接石英晶体振荡器与微调电容,构成一个稳定得自激振荡器。
2、1、 3子系统模块三
功能播放模块
播放模块由16个发光二极管与16个上拉电阻构成,通过对软件程序得调用,让16个发光二极管在不同时刻产生不同得效果,使其实现基本得流水灯功能,能够近一步得实现从理论到实际得转变。
图2、1、3功能播放模块
P0、0~P0、7引脚外接8个LED发光二极管D1~D8并且分别连接8个上拉电阻且共阳极,同在P2端口得P2、0~P2、7引脚外接8个LED发光二极管D9~D16也接8个上拉电阻且共阳极,实现各种灯亮得效果。
第3章软件程序设计
3、1软件流程
3、1、1总流程图
自上而下依次轮流点亮
自下而上依次轮流点亮
自上而下间隔一次点亮
上下交替点亮
全亮
全灭
↓
↓
↓
↓
↓
↓
↓
第4章仿真结果
4、1D1~D16发光二级管自上而下依次轮流点亮
4、2D1~D16发光二级管自下而上依次轮流点亮
4、3D1~D16发光二级管自上而下每间隔一个依次点亮
4、4 D1~D16发光二级管上下交替点亮
4、5D1~D16发光二级管全亮
4、6D1~D16发光二级管全灭
第5章小结
总结描述项目设计过程中遇到得问题及解决方法、团队队员得感悟与收获等
通过这次单片机课程设计,我们小组收获很多。
在这次设计过程中,硬件得设计跟焊接都要我们自己动手,软件得编程也要我们不断得调试,最终才能够完成自己所要完成得目标,获得相关得知识。
在实习之前,我们要对所用单片机得内部结构有一个比较系统得了解;
要从哪些途径获得单片机理论知识得储备;
要有一个清晰得思路与一个完整得软件流程图。
在设计程序时,不能想着一步就将整个程序设计好,只有不断修改才就是程序设计完美得必经之路;
要养成注释程序得好习惯,一个程序得完美与否不仅仅就是实现功能,而应该让所有人能明白您得思路,这样也为资料得保存与交流提供了方便;
在实习过程中遇到问题就是很正常得,但我们应该讲每次遇到得问题记录下来,并分析清楚,以免下次再碰到同样得问题。
但就是从中学到得知识会让我们受益终身。
发现、提出、分析、解决问题与实践能力提高都会受益于我在今后得学习、工作与生活中.
在设计过程中与完成后,我们小组认真总结,有以下体会:
1.此次课程设计就是在本学期《单片机原理与技术》得基础上进行得,整个实验设计过程相对比较熟悉,就是把以前学习得零碎得内容系统得整合学习。
2.程序调试时,应该讲各模块单独调试。
3.本实验要充分了解AT89C51得程序,按照要求编译相关程序.
4.在设计过程中,通过大量得查阅资料,认真得研究教材,并向指导老师请教很多问题,我们对单片机有了更为深刻得理解。
我们认真演技原理,画出程序流程图,通过源程序,做出电路图,在仿真中发现很多问题,通过仔细研究,不但解决了问题,还学到了在平时得学习中学不到得东西。
5.在设计过程中,进一步得掌握Proteus、Word、Wave、Keil等软件得应用,也了解了单片机开发得基本环节.
附录A 程序
#include<
reg52、h>
voidDelay10ms(unsignedintc);
unsignedcharLED,LCD,l;
void main()
{
unsignedchari;
while
(1)
ﻩ{ﻩ
//-—LED往左闪烁-—//
ﻩﻩLED =0x01;
ﻩﻩfor(i=0;
i〈8 ;
i++)
ﻩﻩ{
ﻩﻩP0= ~LED;
ﻩﻩﻩDelay10ms(50);
ﻩ
LED=LED<<
1;
ﻩﻩ if(LED ==0x80)
ﻩﻩ{
ﻩﻩLED==0x00;
ﻩﻩ}
ﻩﻩ P0=~LED;
}
ﻩ /////////////////////////////////
ﻩLED =0x01;
ﻩﻩfor(i=0 ;
i〈7;
ﻩ{
P2= ~LED;
ﻩﻩ
ﻩDelay10ms(50);
ﻩLED=LED<
<
1;
ﻩif(LED==0x80)
{
LED==0x00;
ﻩ}
ﻩﻩ P2=~LED;
ﻩ}
ﻩﻩ/////////////////////////////////////
ﻩLED=0x80;
ﻩfor(i= 0;
i++)
{
ﻩﻩﻩP2=~LED;
ﻩ Delay10ms(50);
LED=LED >
>1;
ﻩﻩif(LED ==0x01)
{
ﻩ LED== 0x00;
ﻩ}
P2= ~LED;
ﻩ }
ﻩﻩ /////////////////////////////////
ﻩﻩ LED =0x80;
for(i=0;
i〈 8;
i++)
ﻩﻩ {
ﻩﻩ P0 =~LED;
ﻩ Delay10ms(50);
ﻩLED= LED>>
ﻩ
if(LED ==0x01)
LED ==0x00;
ﻩ P0 =~LED;
ﻩ}
///////////////////////////////
ﻩ LED=0x01;
ﻩfor(i= 0;
i〈4;
ﻩ{
ﻩP0 =~LED;
ﻩﻩﻩDelay10ms(50);
ﻩﻩLED=LED<< 2;
ﻩ
ﻩﻩif(LED==0x40)
ﻩ{
ﻩﻩ LED== 0x00;
}
ﻩP0=~LED;
ﻩ}
ﻩﻩ//////////////////////////////
ﻩﻩﻩLED=0x01;
ﻩﻩﻩfor (i=0 ;
i〈4 ;
i++)
ﻩﻩ{
ﻩ P2=~LED;
ﻩ
ﻩﻩDelay10ms(50);
ﻩLED=LED<
2;
ﻩﻩ if(LED==0x40)
ﻩﻩ {
ﻩﻩ LED == 0x00;
ﻩ}
ﻩﻩﻩ P2= ~LED;
}
ﻩ////////////////////////
ﻩﻩﻩLED=0x01;
ﻩﻩLCD=0x80;
ﻩﻩﻩl=0xff;
ﻩfor(i=0;
i<8;
ﻩ{
P0 =~LED;
ﻩ
ﻩﻩﻩDelay10ms(50);
ﻩﻩP0=l;
ﻩﻩLED=LED <
〈 1;
ﻩﻩﻩﻩP2 = ~LCD;
ﻩﻩﻩﻩﻩDelay10ms(50);
ﻩﻩP2= l;
ﻩﻩﻩﻩLCD=LCD>
〉1;
ﻩ }
ﻩﻩLED=0x00;
LCD=0xff;
ﻩﻩﻩﻩP2 =LED;
ﻩﻩﻩP0 =LED;
ﻩﻩDelay10ms(50);
ﻩﻩﻩP0 =LCD;
ﻩﻩﻩﻩP2 = LCD;
ﻩ}
}
void Delay10ms(unsigned int c)//延时函数误差0us
{
unsignedchara,b;
//-—c已经在传递过来得时候已经赋值了,所以在for语句第一句就不用赋值了—-//
for (;
c>
0;
c--)
ﻩ{
ﻩﻩfor(b=38;
b>
0;
b--)
ﻩ{
ﻩﻩﻩfor(a=130;
a〉0;
a--);
ﻩﻩ}
}
}
附录B电路图
附录C焊接实物图
-
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 单片机 项目 报告 流水
![提示](https://static.bdocx.com/images/bang_tan.gif)