单片机LED课程设计.docx

上传人:b****6 文档编号:11888092 上传时间:2023-06-03 格式:DOCX 页数:21 大小:41.36KB
下载 相关 举报
单片机LED课程设计.docx_第1页
第1页 / 共21页
单片机LED课程设计.docx_第2页
第2页 / 共21页
单片机LED课程设计.docx_第3页
第3页 / 共21页
单片机LED课程设计.docx_第4页
第4页 / 共21页
单片机LED课程设计.docx_第5页
第5页 / 共21页
单片机LED课程设计.docx_第6页
第6页 / 共21页
单片机LED课程设计.docx_第7页
第7页 / 共21页
单片机LED课程设计.docx_第8页
第8页 / 共21页
单片机LED课程设计.docx_第9页
第9页 / 共21页
单片机LED课程设计.docx_第10页
第10页 / 共21页
单片机LED课程设计.docx_第11页
第11页 / 共21页
单片机LED课程设计.docx_第12页
第12页 / 共21页
单片机LED课程设计.docx_第13页
第13页 / 共21页
单片机LED课程设计.docx_第14页
第14页 / 共21页
单片机LED课程设计.docx_第15页
第15页 / 共21页
单片机LED课程设计.docx_第16页
第16页 / 共21页
单片机LED课程设计.docx_第17页
第17页 / 共21页
单片机LED课程设计.docx_第18页
第18页 / 共21页
单片机LED课程设计.docx_第19页
第19页 / 共21页
单片机LED课程设计.docx_第20页
第20页 / 共21页
亲,该文档总共21页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

单片机LED课程设计.docx

《单片机LED课程设计.docx》由会员分享,可在线阅读,更多相关《单片机LED课程设计.docx(21页珍藏版)》请在冰点文库上搜索。

单片机LED课程设计.docx

单片机LED课程设计

摘要

家人和其他人带来美的享受。

本系统采用单片机AT89C51为中心器件来设计彩灯控制器,并用发光二极管作为被控制部件来显示。

系统实用性强、操作简单、扩展性强。

彩灯控制器在我门日常生活中有重要的运用,如广告牌的设计和节日彩灯的设计都能运用到它的原理。

关键词:

AT89C51;节日彩灯控制器;发光二极管

 

目录

摘要………………………………………………………..

1设计任务……………………………………………………1

1.1功能及技术指标要求…………………………………..1

1.2设计内容………………………………………………..1

1.3设计思路及关键技术…………………………………….1

2彩灯灯的设计程序框图…………………………………….2

3彩灯程序的主程序………………………………………….3

4系统硬件电路的设计……………………………………….12

4.1时钟源........................................12

4.2周期控制.....................................12

4.3方向控制电路…………………………………………….13

4.4执行电路…………………………………………………13

4.5电路仿真………………………………………14

5原理图………………………………………………….14

6检测与调试…………………………………………….15

6.1硬件调试……………………………………………15

6.2软件调试……………………………………………15

7总结与体会……………………………………………..16

8参考文献………………………………………………..16

9致谢……………………………………………………..16

 

1.设计任务

1.1功能及技术指标要求

设计节日彩灯的基本要求:

设计一个节日彩灯,要应用DVCC实验系统。

1.2、设计内容

按设计技术指标进行节日彩灯的硬件和软件设计。

1.3设计思路及关键技术

一个完整的节日彩灯相当于一个简单的单片机系统,该系统有彩灯设置电路、单片机、显示电路等构成。

单片机是集成的IC芯片,只需根据实际要求选型。

其他部分都需要根据应用要求和性能指标自行设计。

基于单片机的节日彩灯设计时要充分的认识以下几个问题:

1.3.1因为本实验是彩灯控制实验,所以要先了解所设计的彩灯变化规律,我们设计的为可以循环移动的彩灯控制电路,灯总数为16盏,一个红灯一个绿灯间隔的排在一起,其工作规律是先红灯1、5亮,其余灭,右移三次后全灭;4、8亮,其余灭,左移三次后全灭;4、5亮,其余灭,各向两边移三次后全灭;1、8亮,其余灭,各向中间移三次后全灭,灯移动间隔为1s,然后为全亮,1s后全灭。

然后换为绿灯1、5亮,其余灭,右移三次后全灭;4、8亮,其余灭,左移三次后全灭;4、5亮,其余灭,各向两边移三次后全灭;1、8亮,其余灭,各向中间移三次后全灭,灯移动间隔为1s,然后为全亮,1s后全灭,然后红绿灯全亮,1s后全灭,然后再红灯1、5亮….依次循环。

1.3.2双色灯是由8个红色发光二极管管芯和8个绿色发光二极管管芯封装在一起,红灯和绿灯各共用一个负端。

当红色正端加高电平,绿色正端加低电平时,红灯亮;红色正端加低电平,绿色正端加高点平时,绿灯亮,两端都加高点平时,红色和绿色灯全部亮。

 

 2、节日彩灯的设计程序序构图

开始

红灯1、5亮,其余灭,右移三次后全灭

红灯4、8亮,其余灭,左移三次后全灭

红灯4、5亮,其余灭,各向两边移三次后全灭

红灯1、,8亮,其余灭,各向中间移三次后全灭

红灯全亮,1s后全灭

绿灯1、5亮,其余灭,右移三次后全灭

绿灯4、8亮,其余灭,左移三次后全灭

绿灯4、5亮,其余灭,各向两边移三次后全灭

绿灯1、,8亮,其余灭,各向中间移三次后全灭

绿灯全亮,1s后全灭

红绿灯全亮

灯移动间隔为1S

 

 

3.节日彩灯设计的主程序

程序如下:

LED一次为红灯LED1-LED8,一次为绿灯LED1-LED8

状态1:

红灯1、5亮,其余灭,右移三次后全灭

状态2:

红灯4、8亮,其余灭,左移三次后全灭

状态3:

红灯4、5亮,其余灭,各向两边移三次后全灭

状态4:

红灯1、,8亮,其余灭,各向中间移三次后全灭

状态5:

红灯全亮,1s后全灭

状态6:

绿灯1、5亮,其余灭,右移三次后全灭

状态7:

绿灯4、8亮,其余灭,左移三次后全灭

状态8:

绿灯4、5亮,其余灭,各向两边移三次后全灭

状态9:

绿灯1、,8亮,其余灭,各向中间移三次后全灭

状态10:

绿灯全亮,1s后全灭

状态11:

红绿灯全亮

设用P1.0作供电控制,P1.1--P1.8分别控制8只LED,“1”亮,“0”灭。

MOVP1,#0;置灯全暗

红色灯

JNBP1.0,$;P1.0=0时则等待通电

STA:

SETBP1.1;

STA:

SETBP1.5;点亮1和5号LED(开始状态1)

LCALLLLL1;延时1秒钟

CLRP1.1;

CLRP1.5;灭1和5号LED

SETBP1.2;

SETBP1.6;点亮2和6号LED

LCALLLLL1;延时1秒钟

CLRP1.2;

CLRP1.6;灭2和6号LED

SETBP1.3;

SETBP1.7;亮3和7号LED

LCALLLLL1;延时1秒钟

CLRP1.3;

CLRP1.7;灭3和7号LED

SETBP1.4;

SETBP1.8;点亮4和8号LED

LCALLLLL1;延时1秒钟

CLRP1.4;

CLRP1.8;灭4和8号LED

SETBP1.4;

SETBP1.8;再次点亮4和8号LED(开始状态2)

LCALLLLL1;延时1S

CLRP1.4;

CLRP1.8;灭4和8号LED

SETBP1.3;

SETBP1.7;点亮3和7号LED

LCALLLLL1;延时1S

CLRP1.3;

CLRP1.7;灭3和7号LED

SETBP1.2;

SETBP1.6;亮2和6号LED

LCALLLLL1;延时1S

CLRP1.2;

CLRP1.6;灭2和6号LED

STA:

SETBP1.1;

STA:

SETBP1.5;点亮1和5号LED

LCALLLLL1;延时1秒钟

CLRP1.1;

CLRP1.5;灭1和5号LED

SETBP1.4;

SETBP1.5;点亮4和5号LED(开始状态3)

LCALLLLL1;延时1S

CLRP1.4;

CLRP1.5;灭4和5号LED

SETBP1.3;

SETBP1.6;点亮3和6号LED

LCALLLLL1;延时1S

CLRP1.3;

CLRP1.6;灭3和6号LED

SETBP1.2;

SETBP1.7;亮2和7号LED

LCALLLLL1;延时1S

CLRP1.2;

CLRP1.7;灭2和7号LED

SETBP1.1;

SETBP1.8;点亮1和8号LED

LCALLLLL1;延时1S

CLRP1.1;

CLRP1.8;灭1和8号LED

SETBP1.1;

SETBP1.8;再次点亮1和8号LED(开始状态4)

LCALLLLL1;延时1S

CLRP1.1;

CLRP1.8;灭1和8号LED

SETBP1.2;

SETBP1.7;亮2和7号LED

LCALLLLL1;延时1S

CLRP1.2;

CLRP1.7;灭2和7号LED

SETBP1.3;

SETBP1.6;点亮3和6号LED

LCALLLLL1;延时1S

CLRP1.3;

CLRP1.6;灭3和6号LED

SETBP1.4;

SETBP1.5;点亮4和5号LED

LCALLLLL1;延时1S

CLRP1.4;

CLRP1.5;灭4和5号LED

SETBP1.1..1.8点亮所有红灯(开始状态5)

CLRP1.1..1.8灭所有灯

绿灯

STA:

SETBP1.1;

STA:

SETBP1.5;点亮1和5号LED(开始状态6)

LCALLLLL1;延时1秒钟

CLRP1.1;

CLRP1.5;灭1和5号LED

SETBP1.2;

SETBP1.6;点亮2和6号LED

LCALLLLL1;延时1秒钟

CLRP1.2;

CLRP1.6;灭2和6号LED

SETBP1.3;

SETBP1.7;亮3和7号LED

LCALLLLL1;延时1秒钟

CLRP1.3;

CLRP1.7;灭3和7号LED

SETBP1.4;

SETBP1.8;点亮4和8号LED

LCALLLLL1;延时1秒钟

CLRP1.4;

CLRP1.8;灭4和8号LED

SETBP1.4;

SETBP1.8;再次点亮4和8号LED(开始状态7)

LCALLLLL1;延时1S

CLRP1.4;

CLRP1.8;灭4和8号LED

SETBP1.3;

SETBP1.7;点亮3和7号LED

LCALLLLL1;延时1S

CLRP1.3;

CLRP1.7;灭3和7号LED

SETBP1.2;

SETBP1.6;亮2和6号LED

LCALLLLL1;延时1S

CLRP1.2;

CLRP1.6;灭2和6号LED

STA:

SETBP1.1;

STA:

SETBP1.5;点亮1和5号LED

LCALLLLL1;延时1秒钟

CLRP1.1;

CLRP1.5;灭1和5号LED

SETBP1.4;

SETBP1.5;点亮4和5号LED(开始状态8)

LCALLLLL1;延时1S

CLRP1.4;

CLRP1.5;灭4和5号LED

SETBP1.3;

SETBP1.6;点亮3和6号LED

LCALLLLL1;延时1S

CLRP1.3;

CLRP1.6;灭3和6号LED

SETBP1.2;

SETBP1.7;亮2和7号LED

LCALLLLL1;延时1S

CLRP1.2;

CLRP1.7;灭2和7号LED

SETBP1.1;

SETBP1.8;点亮1和8号LED

LCALLLLL1;延时1S

CLRP1.1;

CLRP1.8;灭1和8号LED

SETBP1.1;

SETBP1.8;再次点亮1和8号LED(开始状态9)

LCALLLLL1;延时1S

CLRP1.1;

CLRP1.8;灭1和8号LED

SETBP1.2;

SETBP1.7;亮2和7号LED

LCALLLLL1;延时1S

CLRP1.2;

CLRP1.7;灭2和7号LED

SETBP1.3;

SETBP1.6;点亮3和6号LED

LCALLLLL1;延时1S

CLRP1.3;

CLRP1.6;灭3和6号LED

SETBP1.4;

SETBP1.5;点亮4和5号LED

LCALLLLL1;延时1S

CLRP1.4;

CLRP1.5;灭4和5号LED

SETBP1.1..1.8点亮所有绿灯(开始状态10)

CLRP1.1..1.8灭所有绿灯

SETBP1.1..1.8点亮所有红灯、绿灯(开始状态11)

LCALLLLL1;延时1S

CLRP1.1..1.8灭所有红灯和绿灯

SJMPSTA;转入状态1

ORG00H

SJMPMAIN

ORG40H

MAIN:

MOVSP,#05FH

MOVP1,#0FFH;按键输入,从P1.0-P1.8分别代表状态1-8,低电平有效

MOVP0,#0FFH;LED输出,p1.1-p1.8分别是LED1-LED8高电平为LED点亮,低电平为LED息灭

LOOP:

LCALLDO

SJMPLOOP

DO:

JBP1.0,LP1

MOVB,P1

LCALLDO1

LP1:

JBP1.1,LP2

MOVB,P1

LCALLDO2

LP2:

JBP1.2,LP3

MOVB,P1

LCALLDO3

LP3:

JBP1.3,LP4

MOVB,P1

LCALLDO4

LP4:

MOVP0,#0FFH;无按键不等任何事

RET

DO1:

MOVP0,#0FFH;状态1

CLRP0.0

LCALLDELAY

LCALLDELAY

MOVP0,#0FFH

CLRP0.1

LCALLDELAY

LCALLDELAY

MOVP0,#0FFH

CLRP0.2

LCALLDELAY

LCALLDELAY

MOVP0,#0FFH

CLRP0.3

LCALLDELAY

LCALLDELAY

MOVP0,#0FFH

CLRP0.4

LCALLDELAY

LCALLDELAY

MOVP0,#0FFH

CLRP0.5

LCALLDELAY

LCALLDELAY

RET

DO2:

MOVP0,#0FFH;状态2

CLRP0.0

LCALLDELAY

MOVP0,#0FFH

CLRP0.2

LCALLDELAY

MOVP0,#0FFH

CLRP0.4

LCALLDELAY

RET

DO3:

MOVP0,#0FFH;状态3

CLRP0.1

LCALLDELAY

MOVP0,#0FFH

CLRP0.3

LCALLDELAY

MOVP0,#0FFH

CLRP0.5

LCALLDELAY

RET

DO4:

LCALLDO1;状态4

LCALLDO2

LCALLDO3

RET

DELAY:

MOVR5,#48;延时1S

L1:

MOVR6,#0FAH

L2:

MOVR7,#0FAH

L3:

MOVA,P1

CJNEA,B,L4

DJNZR7,L3

DJNZR6,L2

DJNZR5,L1

L4:

RET

END

 

4.系统硬件电路的设计

十六盏灯可分为二组、每组只有八个红灯和八个绿灯,红灯和绿灯的移动方向各有二种,即左移或右移、组与组之间只有一种亮灯模式为全亮。

单元电路设计

4.1时钟源

 

  

时钟源主要是由一个32kHz晶体振荡器产生,再由一个分频器4060进行分频即

可得到多种不同频率的时钟信号。

4.2周期控制

 

这里选用计数器74LS163和非门74LS04对所输入的时钟信号进行5分频,用于控制每一组的八盏灯依次点亮后再熄灭的一轮循环的周期

4.3方向控制电路

图所示的方向控制电路,单独对于每一组来说,移动的方向只有两种,即左移或右移。

因此,这里用一个D触发器74LS74将周期控制信号再一次分频,这样在每一个周期控制信号的周期里,方向控制输出不是0就是1,正好用于表示左移和右移。

 

 

4.4执行电路

 

这个模块比较简单,用发光二极管LED将移位寄存器的输出信号显示出来,可以感受到漂亮的彩灯流动的感觉。

这里需要注意的就是要给每一盏LED串一个限流电阻,因为移位寄存器的输出信号为TTL电平,这个电平超过了LED的正常的正向偏置的电压。

由于这里设计的是数字系统,用的都是TTL型的数字集成电路芯片,所以给这些器件供电的电压为单电源+5V即可,这个电源可以由实验室里的稳压源提供。

4.5电路仿真

将各单元电路原理图综合后输入到软件中,红灯和绿灯的闪亮情况一致,电路综合后并联设置一个开关,对其进行时序仿真和功能仿真。

时序仿真可反映每一路信号与时钟信号之间的关系即不同路信号之间的关系。

功能仿真可看出执行模块控制彩灯循环点亮的效果。

5.原理图

时钟源周期控制

执行

电源

时钟源:

周期性的方波信号,用于控制灯移动的快慢。

周期控制:

用于控制每组灯一轮移动的时间。

方向控制:

用于控制灯移动的方向

输出驱动:

接收上述各模块的控制信号,将其变成需要执行的输出信号。

执行:

将输出驱动的输出信号表现成循环点亮的形式。

电源:

给整个系统供电。

6.检测与调试

6.1硬件调试

是利用DVCC实验与开发系统、基本测试仪器(万用表、示波器等),检查用户系统硬件中存在的故障。

硬件调试可分为静态调试与动态调试两步进行。

静态调试是在用户系统未工作时的一种硬件检测。

第一步:

目测。

检查外部的各种元件或者是电路是否有断点。

第二步:

用万用表测试。

先用万用表复核目测中有疑问的连接点,再检测各种电源线与地线之间是否有短路现象。

第三步:

加电检测。

检查所有插座或是器件的电源端是否符合要求的值

第四步:

联机检查。

因为只有用单片机开发系统才能完成对用户系统的调试。

动态调试是在用户系统工作的情况下发现和排除用户系统硬件中存在的器件内部故障、器件连接逻辑错误等的一种硬件检查。

动态调试的方法是由近及远、由分到合。

由分到合是指首先按逻辑功能将用户系统硬件电路分为若干块,当调试电路时与该元件无关的器件全部从用户系统中去掉,这样可以将故障范围限定在某个局部的电路上。

当各块电路无故障后,将各电路逐块加入系统中,在对各块电路功能及各电路间可能存在的相互联系进行调试。

由分到合的调试即告完成。

由近及远是将信号流经的各器件按照距离单片机的逻辑距离进行由近及远的分层,然后分层调试。

调试时,仍采用去掉无关元件的方法,逐层调试下去,就会定位故障元件了。

6.2软件调试:

软件调试是通过对程序的汇编、连接、执行来发现程序中存在的语法错误与逻辑错误并加以排除纠正的过程。

 

7、总结与体会

实现了能根据实际需要的本系统是以单片机AT89C51芯片为核心部件,实现了能通过AT89C51芯片控制节日彩灯实现一些基本的功能。

刚开始时,自己通过各种途径,尽可能多的了解有关于彩灯灯这方面的知识,为后面的设计打下基础,后面的进展也很顺利,不过在仿真阶段,由于硬件电路设计的粗心,给自己带来了不小的麻烦,不过问题最终还是得到了解决。

通过这次课程设计,使我得到了一次用所学知识来实际解决问题的锻炼,也让自己感觉到大学所学的知识有一部分是很有实用价值的,同时我对单片机的基本知识以及常用的汇编设计程序得到了进一步的巩固。

8.参考文献

8.1.李朝青,《单片机原理及接口技术》第三版,北京航天航空大学出版社,2008

8.2张迎新,《单片机初级教程——单片机基础》,北京航空航天大学出版社,2006

9.致谢

在些次课程设计中,非常感谢谢老师的精心指导,由于他的悉心指导和关心,一直激励着我去努力做好本次课程设计,谢老师精湛的专业知识、耐心的工作态度和真诚的待人风格给我留下了非常深刻的印象,对我以后的工作和生活将产生很大的影响。

通过些次课程设计,我们获得了丰富的理论知识,极大的提高了实践能力,这将对我今后进一步学习计算机方面的知识有极大的帮助。

在此,真挚的向我的导师说声谢谢。

同时,我也在感谢跟我一起完成此次课程设计的同学,我们相互帮助,相互鼓劢,一起并肩作战。

他们在我的设计遇到困难的时候,在精神上和行动上都给予我很大的支持,鼓励我不要泄气,说服我勇敢的面对困难,帮助我解决了很多问题,让我的课程设计能够顺利完成。

.

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

当前位置:首页 > 高等教育 > 哲学

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2