单片机LED灯设计说明书.docx

上传人:b****8 文档编号:29740148 上传时间:2023-07-26 格式:DOCX 页数:14 大小:99.64KB
下载 相关 举报
单片机LED灯设计说明书.docx_第1页
第1页 / 共14页
单片机LED灯设计说明书.docx_第2页
第2页 / 共14页
单片机LED灯设计说明书.docx_第3页
第3页 / 共14页
单片机LED灯设计说明书.docx_第4页
第4页 / 共14页
单片机LED灯设计说明书.docx_第5页
第5页 / 共14页
点击查看更多>>
下载资源
资源描述

单片机LED灯设计说明书.docx

《单片机LED灯设计说明书.docx》由会员分享,可在线阅读,更多相关《单片机LED灯设计说明书.docx(14页珍藏版)》请在冰豆网上搜索。

单片机LED灯设计说明书.docx

单片机LED灯设计说明书

《单片机原理及应用》

课程设计说明书

设计题目:

基于单片机的LED灯控制器的设计

学院:

xxx

专业:

车辆工程

设计者:

xxx

学号:

xxxxxxx

指导老师:

xxx

设计时间:

2015年11月9日~2015年11月28日

《单片机系统课程设计》任务书

一、目的意义

《单片机原理及应用》是高校工程专业的一门专业基础课,该门课程具有很强的实践性。

通过课程的学习,使学习掌握基本概念、基本理论和基础技能,为今后从事相应的生产设计和科研工作打下一定的基础。

因此,除课程的理论教学和试验教学外,课程设计也是一个必要和重要的实践教学环节。

通过单片机系统课程设计,进一步培养学生理论联系实际的能力,学会正确地分析工程实际问题,善于查阅参考文献,准确地选择相应的数据、参数,具备全面地解决实际问题的素质,同时课程设计也为今后毕业设计打下基础。

二、设计时间、地点、班级

时间:

第12、13周(二周)

地点:

三教433、426

班级:

13车辆3班30人

三、设计内容

(9)基于单片机的LED灯控制器的设计

1、功能描述

以单片机为核心,设计一个LED灯控制器:

(P1口可选,也可用其他I/O口,16灯)

P1.2——开始,按此键则灯开始流动(由上而下);

P1.3——停止,按此键则停止流动,所有灯为暗;

P1.4——闪烁,按此键则全部灯闪烁;

P1.5——下,按此键则灯由下向上流动。

本题目本质上是由按键控制功能的流水灯,LED工作的方式通过键盘的扫描实现。

其中的LED可采取共阳极接法,通过依次向连接LED的I/O口送出低电平,可实现题目要求的功能。

《单片机系统课程设计》任务书…………………………………………………………1

摘要…………………………………………………………………………………………………3

1总体设计方案……………………………………………………………………………………3

1.1 设计原理及相关说明………………………………………………………………………3

1.2 总体设计框图………………………………………………………………………………3

2各芯片设计及对其的调用………………………………………………………………………3

2.1AT90C51单片机主控模块………………………………………………………………3

2.2LED灯模块…………………………………………………………………………………5

2.3键盘接口…………………………………………………………………………………6

3系统软件程序………………………………………………………………………………6

3.1LED灯控制器程序……………………………………………………………………………64调试……………………………………………………………………………………………9

4.1调试步骤…………………………………………………………………………………9

4.2性能分析…………………………………………………………………………………9

4.2.1按下P1.2开始,灯开始流动(从上到下)………………………………………9

4.2.2按下P1.3开始,灯全灭………………………………………10

4.2.1按下P1.4开始,灯全亮,开始闪烁………………………………………11

4.2.1按下P1.4开始,灯开始流动(从下到上)………………………………………12

结论………………………………………………………………………………………………13

附录1……………………………………………………………………………………………14

附录2……………………………………………………………………………………………15

附录3……………………………………………………………………………………………18

附录4……………………………………………………………………………………………19

附录5……………………………………………………………………………………………22

基于单片机的LED灯控制器的设计

作者:

邢浩男指导老师:

吴敏

(安徽农业大学工学院车辆工程)

摘要:

该设计是基于AT89C51单片机系统,采用共阳极接法,通过一依次向连接LED的I/O口输出低电平,能实现流水灯开始或停止的功能,具有调压,稳压,检测故障等特点。

关键词:

单片机LED灯控制器

1.总体设计方案

1.1设计原理及相关说明

1.2总体设计框图

LED灯控制器设计框图如图1所示:

 

图1LED灯控制器设计框图

2.各芯片的设计及其调用

2.1AT90C51单片机主控模块

单片机(SCM)是单片微型计算机(SingleChipMicrocomputer)的简称。

它是把中央处理器CPU、随机存储器RAM、只读存储器ROM、I/O接口电路、定时/计数器以及输入输出适配器都集成在一块芯片上,构成一个完整的微型计算机。

随着SCM在技术上、体系上不断扩展其控制功能,国际上已经采用MCU(MicroControllerUnit)代替单片机的名词。

它的最大优点是体积小,可放在仪表内部。

但存储量小,输入输出适配器简单,功能较低。

目前,单片机在民用和工业测控领域得到最广泛的应用,早已深深地融入人们的生活中。

近年来,AT89C51在我国非常流行,它最大的特点是内部有可以多次重复编程的闪烁ROM,并且闪烁ROM可以直接用编程器来擦写(电擦写),使用起来比较方便。

一个单片机应用系统的硬件电路设计包含有两部分内容:

一是系统扩展,即单片机内部的功能单元,如ROM﹑RAM﹑I/O口﹑定时/记数器﹑中断系统等能量不能满足应用系统的要求时,必须在片外进行扩展,选择适当的芯片,设计相应的电路。

二是系统配置,既要按照系统功能要求配置外围设备,如键盘显示器﹑打印机﹑A/D﹑D/A转换器等,又要设计合适的接口电路。

具体连接图如图1.

图1主控模块

2.2LED灯模块

XTAL1和XTAL2分别为反向放大器的输入和输出。

该反向放大器可以配置为片内振荡器。

石晶振荡和陶瓷振荡均可采用。

如采用外部时钟源驱动器件,XTAL2应不接。

有余输入至内部时钟信号要通过一个二分频触发器,因此对外部时钟信号的脉宽无任何要求,但必须保证脉冲的高低电平要求的宽度。

具体LED灯接图如图2。

2.2.1AT89C51最小系统

AT89C51最小系统中XTAL1、XTAL2端接上晶振及两个谐振电容,在RESET端接上相应的电阻、电容,如需要按键复位,加上按键即可组成一个最小系统,按要求通电后,系统就可以工作了。

图2LED灯模块

2.3键盘接口

键盘接口电路如图3,本次设计中,按键有4个,每个按键各占用一根I/O线,各按键相互独立,彼此的工作状态互不影响,STC单片机自带上拉电阻因此无需外接上拉电阻,用查询法完成按键功能。

图3键盘接口电路

3.系统软件设计

3.1LED灯控制器程序

在单片机控制系统中,大体上可分为数据处理、过程控制两个基本类型。

数据处理包括:

数据的采集、数字滤波、标度变换等。

过程控制程序主要是使单片机按一定的方法进行计算,然后再输出,以便控制生产。

为了完成上述任务,在进行软件设计时,通常把整个过程分成若干个部分,每一部分叫做一个模块。

把一个程序分成具有多个明确任务的程序模块,分别编制、调试后再把它们连接在一起形成一个完整的程序,这样的程序设计方法称为模块化程序设计。

所谓“模块”,实质上就是能完成一定功能,并相对独立的程序段,这种程序设计方法称为模块程序设计法。

模块程序设计法的主要优点是:

(1)单个模块比起一个完整的程序易编写、调试及修改。

(2)程序的易读性好。

(3)程序的修改可局部化。

(4)模块可以共存,一个模块可以被多个任务在不同条件下调用。

(5)模块程序允许设计者分割任务和利用已有程序,为设计者提供方便。

本系统软件采用模块化结构,由主程序,正向流动、反向流动和延时等子程序构成具体见图4.

4调试

4.1调试步骤

调试分为硬件调试和软件调试。

硬件调试主要是检查硬件电路是否有短路、断路和虚焊等,首先接上电源,电源的指示灯亮了之后,检测一下单片机的电源脚有没有电源输入,如果有这说明焊接无误,然后可以用万用表检查各个元器件的管脚之间的焊接,检查过程中需要细心和耐心。

硬件调试无误后,进行软件调试。

软件调试可以针对子程序调试,测试其是否正常工作,例如流水灯,LED灯闪烁等,最后把所有的程序作为一个整体来测试。

4.2性能分析

将程序烧入单片机后,在proteus软件中进行仿真。

在这次LED灯控制器的设计中,LED灯能够按照按键的控制进行从上到下,停止,闪烁,从下到上,在程序。

4.2.1按下P1.2开始灯开始流动(从上到下)

4.2.2按下P1.3灯全灭

4.2.2按下P1.4灯全亮,开始闪烁

4.2.2按下P1.5灯开始流动(从下到上)

结论

在做这次课程设计的整个过程中,我明白了很多东西。

也许我们理论知识学的还不错,但真正的动起手来,却常常力不从心,这就是我们常犯的眼高手低的毛病,但还是需要良好的理论知识做基础。

从刚开始的搜集资料,我就有点慌了,总觉得自己准备的不够好,无法顺利完成任务,但在老师和同学的帮助下,慢慢的步入轨道。

虽然毕业设计将要接近尾声,我也尽力的想要去做好毕业之前的最后一次实践课,但由于某些原因,有些元器件没能通过软件正常工作,这次设计的电子万年历没能达到我们预想的效果,只能显示部分功能。

这也证明了我以后要学习的东西还有很多,要继续努力,不断地汲取新的知识并运用到实际中,在实践中锻炼自己,全方位的提高自己。

附录1系统电路原理图

附录2系统程序清单

#include

#defineuintunsignedint

#defineucharunsignedchar

sbitKey1=P1^2;//按键1~4

sbitKey2=P1^3;

sbitKey3=P1^4;

sbitKey4=P1^5;

ucharflag;//标号

ucharnum[]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f};//开第1~8个灯

/*

**************************

*延时z毫秒ms

**************************

*/

voidDelay_ms(uintz)

{

uintx,y;

for(x=z;x>0;x--)

for(y=110;y>0;y--);

}

/*

**************************

*亮第n个灯

**************************

*/

voidLED(ucharn)

{

ucharx,y;

n--;//n减1

x=n/8;//第几个锁存器

y=n%8;//第那个灯

switch(x)//打开第一个锁存器关锁存器

{//开锁存器关所有灯关锁存器亮第num【y】个灯

case0:

P2=0xff;P0=0xff;P2=0x00;P2=0x01;P0=num[y];P2=0x00;break;//第0-个锁存器

case1:

P2=0xff;P0=0xff;P2=0x00;P2=0x02;P0=num[y];P2=0x00;P0=0xff;break;//第1个锁存器

}

}

/*

**************************

*按键检测

**************************

*/

voidKey_Detection(void)

{

if(Key3==0|Key4==0|Key1==0|Key2==0)//按键1按下或者按键2或者按键3或按键4

{

Delay_ms(5);//消抖

if(Key1==0)//按键1按下

{

while(!

Key1);//松手检测

flag=1;//标号至1

}

if(Key2==0)//按键2按下

{

while(!

Key2);//松手检测

flag=2;//标号至2

}

if(Key3==0)//按键3按下

{

while(!

Key3);//松手检测

flag=3;//标号至3

}

if(Key4==0)//按键按下

{

while(!

Key4);//松手检测

flag=4;//标号至4

}

}

}

/*

**************************

*主函数

**************************

*/

voidmain(void)

{

uchari;

while

(1)

{

Key_Detection();//按键检测

if(flag==1)//第一个键按下正循环亮

{

LED(i);//亮第i个灯

i++;//i加1

if(i==17)i=0;//如果i等于17清零

Delay_ms(200);//延时200毫秒

}

if(flag==2)//第二个键按下停止

{

P2=0xff;//开锁存器

P0=0xff;//把灯全灭

P2=0x00;//关锁存器

}

if(flag==3)//第三个键按下闪烁

{

P2=0xff;//开锁存器

P0=0x00;//所有灯全亮

P2=0x00;//关锁存器

Delay_ms(100);//延时100毫秒

P2=0xff;//开锁存器

P0=0xff;//所有灯全灭

P2=0x00;//关锁存器

Delay_ms(100);//延时100毫秒

}

if(flag==4)//第四个键按下反循环亮

{

LED(i);//亮第i个灯

i--;//i减1

if(i==0)i=17;//如果i=0把i=17

Delay_ms(200);//延时200毫秒

}

}

}

附录3仿真效果图

附录4实物演示效果图

附录5元件清单

器件名称

型号

个数

单片机

AS89C51

1个

按键

5个

电阻

5.1K

1个

电阻

1K

1个

电解电容

10uf

1个

晶振

12MHZ

1个

发光二级管

16个

IP座

40管脚

1个

万能板

1个

+5V电源

1个

导线

若干

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 经管营销 > 经济市场

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1