彩灯控制器的设计24个LED灯.docx

上传人:b****3 文档编号:10755581 上传时间:2023-05-27 格式:DOCX 页数:25 大小:381.47KB
下载 相关 举报
彩灯控制器的设计24个LED灯.docx_第1页
第1页 / 共25页
彩灯控制器的设计24个LED灯.docx_第2页
第2页 / 共25页
彩灯控制器的设计24个LED灯.docx_第3页
第3页 / 共25页
彩灯控制器的设计24个LED灯.docx_第4页
第4页 / 共25页
彩灯控制器的设计24个LED灯.docx_第5页
第5页 / 共25页
彩灯控制器的设计24个LED灯.docx_第6页
第6页 / 共25页
彩灯控制器的设计24个LED灯.docx_第7页
第7页 / 共25页
彩灯控制器的设计24个LED灯.docx_第8页
第8页 / 共25页
彩灯控制器的设计24个LED灯.docx_第9页
第9页 / 共25页
彩灯控制器的设计24个LED灯.docx_第10页
第10页 / 共25页
彩灯控制器的设计24个LED灯.docx_第11页
第11页 / 共25页
彩灯控制器的设计24个LED灯.docx_第12页
第12页 / 共25页
彩灯控制器的设计24个LED灯.docx_第13页
第13页 / 共25页
彩灯控制器的设计24个LED灯.docx_第14页
第14页 / 共25页
彩灯控制器的设计24个LED灯.docx_第15页
第15页 / 共25页
彩灯控制器的设计24个LED灯.docx_第16页
第16页 / 共25页
彩灯控制器的设计24个LED灯.docx_第17页
第17页 / 共25页
彩灯控制器的设计24个LED灯.docx_第18页
第18页 / 共25页
彩灯控制器的设计24个LED灯.docx_第19页
第19页 / 共25页
彩灯控制器的设计24个LED灯.docx_第20页
第20页 / 共25页
亲,该文档总共25页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

彩灯控制器的设计24个LED灯.docx

《彩灯控制器的设计24个LED灯.docx》由会员分享,可在线阅读,更多相关《彩灯控制器的设计24个LED灯.docx(25页珍藏版)》请在冰点文库上搜索。

彩灯控制器的设计24个LED灯.docx

彩灯控制器的设计24个LED灯

XXXXXXXX课程设计

 

课程名称:

单片机原理与应用

题目:

节日彩灯控制器的设计

学院:

机械与电气工程学院

专业:

2009级电气工程及其自动化

姓名:

XXX

学号:

XXXX

指导教师:

XXXX

日期:

2012年6月

 

引言

随着人们生活环境的不断改善和美化,在许多场合可以看到彩色霓虹灯。

LED彩灯由于其丰富的灯光色彩,低廉的造价以及控制简单等特点而得到了广泛的应用,用彩灯来装饰街道和城市建筑物已经成为一种时尚。

特别是每当节日的到来,节日彩灯更是到处都看的到。

节日彩灯已成为生活中不可缺少的装饰物。

它集中地运用了单片机、LED、,自动控制等技术,是典型的基于单片机的电子产品。

本文以AT89C51单片机为控制核心,采用模块化的设计方案,运用LED彩灯、按键等组成电路,实现彩灯在开启时满足不一样的闪亮方法。

按键可以在彩灯使用的时候选择不同的亮法,使彩灯变化多样,键一可以使彩灯依次循环点亮,健二可以使彩灯从左到又从右到左循环点亮,三号键使两端灭,中间亮,再对半交替亮,然后再奇偶亮。

通过按键能方便使用者选择不同样的亮法。

节日彩灯使生活中常常用到的装饰物品,是我国普遍流行的传统的民间的综合性的工艺品。

彩灯艺术也就是灯的综合性的装饰艺术。

在当今的社会里,彩灯已经成为我们生活的一部分,能给我们带来视觉上的享受还能美化我们的生活。

彩灯控制器主要是通过电路产生有规律变化的脉冲信号来实现彩灯的各种变化,它集中地运用了单片机、LED、,自动控制等技术,是典型的基于单片机的电子产品。

本文以AT89C51单片机为控制核心,采用模块化的设计方案,运用LED彩灯、按键等组成电路,实现彩灯在开启时满足不一样的闪亮方法。

按P1.2键使灯开始流动;按P1.3键则停止流动;按P1.4键则灯由上向下流动;按P1.5键则灯由下向上流动。

通过按键能方便使用者选择不同样的亮法。

并用proteus仿真能使八盏彩灯顺序点亮,逆序点亮和停止。

第一章任务设计

 

1.1设计要求

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

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

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

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

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

1.2实验原理

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

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

1.3方案论证

方案一

以80C51单片机为控制核心,采用模块化的设计方案,运用LED彩灯、按键等组成电路,实现彩灯在开启时满足不一样的闪亮方法。

按键可以在彩灯使用的时候选择不同的亮法,使彩灯流动的方向改变,键一可以使彩灯由上而下开始流动,键二可以使彩灯停止,三号键可以使彩灯由上而下流动,四键则可以使彩灯由下而上流动。

通过按键能方便使用者选择节日彩灯的开启、流动方向和停止。

系统框图如下:

 

图1.系统框图

 

方案二

利用模电原理设计,电路用数字电路完成。

结构复杂,以RY169电路为核心,加上发光二极管的特性以及继电器的原理构成,故障系数大,不易调试,成本可能较高。

利用单片机设计电路,由于使用软硬件结合的方式代替了数字电路的复杂性,所以电路结构简单、调试也相对方便,经济实惠。

与第二种方案比较优点是非常明显的。

此彩灯精度较高、造价低廉、装调容易。

因此选择第一种方案来设计。

 

第二章系统电路的设计

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

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

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

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

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

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

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

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

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

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

2.1AT89C51单片机硬件结构

AT89C51是一种低功耗/低电压、高性能的八位CMOS单片机,片内有一个4KB的FLASH可编程可擦除只读存储器(FPEROM—FlashProgrammableandErasableReadOnlyMemory),它采用了CMOS工艺和ATMEL公司的高密度非易失性存储器技术,而且其输出引脚和指令系统都与MSC—51兼容。

片内置通用8位中央处理器(CPU)和FLASH存储单元,片内的存储器允许在系统内改编程序或用常规的非易失性存储器编程。

因此,AT89C51是一种功能强、灵活性高且价格合理的单片机,可方便的应用于各种控制领域。

2.1.1主要特性

(1)与MCS-51产品指令系统兼容

(2)4K字节可编程闪烁存储器

(3)寿命:

1000写/擦循环

(4)数据保留时间:

10年

(5)全静态工作:

0Hz-24Hz

(6)三级程序存储器锁定

(7)128*8位内部RAM

(8)32可编程I/O线

(9)两个16位定时器/计数器

(10)6个中断源

(11)可编程串行通道

(12)低功耗的闲置和掉电模式

(13)片内振荡器和时钟电路

2.1.2管脚说明

VCC(40):

供电电压,其工作电压为5V。

GND(20):

接地。

P0端口(P0.0-P0.7):

P0口为一个8位漏级开路双向I/O口,每脚可吸收8TTL门电流。

当P1口的管脚第一次写1时,被定义为高阻输入。

P0能够用于外部程序数据存储器,它可以被定义为数据/地址的第八位。

在FIASH编程时,P0口作为原码输入口,当FIASH进行校验时,P0输出原码,此时P0外部必须被拉高。

P1端口(P1.0-P1.7):

P1口是一个内部提供上拉电阻的8位双向I/O口,P1口缓冲器能接收输出4TTL门电流。

P1口管脚写入1后,被内部上拉为高电平,可用作输入,P1口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。

在FLASH编程和校验时,P1口作为第八位地址接收。

P2端口(P2.0-P2.7):

P2口为一个内部上拉电阻的8位双向I/O口,P2口缓冲器可接收,输出4个TTL门电流,当P2口被写“1”时,其管脚被内部上拉电阻拉高,且作为输入。

并因此作为输入时,P2口的管脚被外部拉低,将输出电流。

这是由于内部上拉的缘故。

P2口当用于外部程序存储器或16位地址外部数据存储器进行存取时,P2口输出地址的高八位。

在给出地址“1”时,它利用内部上拉优势,当对外部八位地址数据存储器进行读写时,P2口输出其特殊功能寄存器的内容。

P2口在FLASH编程和校验时接收高八位地址信号和控制信号。

P3端口(P3.0-P3.7):

P3口管脚是一个带有内部上拉电阻的8位的双向I/O端口,可接收输出4个TTL门电流。

当P3口写入“1”后,它们被内部上拉为高电平,并用作输入。

作为输入端时,由于外部下拉为低电平,P3口将输出电流(ILL)。

P3口也可作为AT89C51的一些特殊功能口,如表1所示。

P3口同时为闪烁编程和编程校验接收一些控制信号。

复位RST(9):

复位输入。

在振荡器运行时,有两个机器周期(24个振荡周期)以上的高电平出现在此引脚时,将使单片机复位,只要这个脚保持高电平,51芯片便循环复位。

复位后P3.0-P3.7口均置1,引脚表现为高电平,程序计数器和特殊功能寄存器SFR全部清零。

当复位脚由高电平变为低电平时,芯片为ROM的00H处开始运行程序。

复位操作不会对内部RAM有所影响。

ALE/

(30):

当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的地位字节。

在FLASH编程期间,此引脚用于输入编程脉冲。

在平时,ALE端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6。

因此它可用作对外部输出的脉冲或用于定时目的。

然而要注意的是:

每当用作外部数据存储器时,将跳过一个ALE脉冲。

如想禁止ALE的输出可在SFR8EH地址上置0。

此时,ALE只有在执行MOVX,MOVC指令是ALE才起作用。

另外,该引脚被略微拉高。

如果微处理器在外部执行状态ALE禁止,置位无效。

(29):

外部程序存储器的选通信号。

在由外部程序存储器取指令期间,每个机器周期两次

有效。

但在访问外部数据存储器时,这两次有效的

信号将不出现。

EA/VPP(31):

保持低电平时,则在此期间外部程序存储器(0000H-FFFFH),不管是否有内部程序存储器。

注意加密方式1时,

将内部锁定为RESET;当

端保持高电平时,此间内部程序存储器。

在FLASH编程期间,此引脚也用于施加12V编程电源(VPP)。

XTAL1(19):

反向振荡放大器的输入及内部时钟工作电路的输入。

XTAL2(18):

来自反向振荡器的输出。

其引脚图如图2所示。

表1.P3端口引脚兼用功能表图2.AT89C51引脚图

2.1.3振荡器特性

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

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

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

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

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

2.1.4芯片擦除

整个PEROM阵列和三个锁定位的电擦除可通过正确的控制信号组合,并保持ALE管脚处于低电平10ms来完成。

在芯片擦除操作中,代码阵列全被写“1”且在任何非空存储字节被重复编程以前,该操作必须被执行。

此外,AT89C51设有稳态逻辑,可以在低到零频率的条件下静态逻辑,支持两种软件可选的掉电模式。

在闲置模式下,CPU停止工作。

但RAM,定时器,计数器,串口和中断系统仍在工作。

在掉电模式下,保存RAM的内容并且冻结振荡器,禁止所用其他芯片功能,直到下一个硬件复位为止。

2.1.5AT89C51最小系统

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

2.2电路及连线设计

将MUC、LED和按键进行电路设计。

打开PROTEUS的ISIS编辑环境,从PROTEUS中选取该电路所需要的元器件,放置元器件、放置电源和地、连线得到如图3所示的电气原理图,再点菜单栏工具下拉的电气规则检查,当规则检查出现:

“NETLISTGENERATEDOKNOERCERRORDFOUND”,表示通过检查。

电路设计完成。

图3电气原理图

 

第三章系统软件设计

3.1程序设计

程序设计(Programming)是指设计、编制、调试程序的方法和过程。

它是目标明确的智力活动。

在进行微机控制系统设计时,除了系统硬件设计外,大量的工作就是如何根据每个生产对象的实际需要设计应用程序。

因此,软件设计在微机控制系统设计中占重要地位。

对于本系统,软件也占有重要的地位。

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

数据处理包括:

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

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

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

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

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

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

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

(2)程序的易读性好。

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

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

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

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

3.2系统程序流程图

3.2.1主程序流程图

3.2.2正向流动程序流程图和反向流动程序流程图

3.2.3延时程序流程图

3.3系统程序

TCNTEQU30H

DIRBIT00H

ORG0000H

LJMPMAIN

ORG000BH

LJMPT0ISR

ORG0030H

MAIN:

CLREA

MOVSP,#5FH

MOVTMOD,#01H

MOVTH0,#3CH

MOVTL0,#0B0H

MOVTCNT,#0

SETBET0

SETBEA

CLRDIR

LOOP:

JBP1.2,LOOP1;启动

MOVR7,#10

LCALLDELAY

JBP1.2,LOOP1

JNBP1.2,$

SETBTR0

SJMPLOOP

LOOP1:

JBP1.3,LOOP2;停止

MOVR7,#10

LCALLDELAY

JBP1.3,LOOP2

JNBP1.3,$

MOVP0,#0FFH

MOVP2,#0FFH

MOVP3,#0FFH

CLRTR0

SJMPLOOP

LOOP2:

JBP1.4,LOOP3;正向

MOVR7,#10

LCALLDELAY

JBP1.4,LOOP3

JNBP1.4,$

CLRDIR

SJMPLOOP

LOOP3:

JBP1.5,LOOP;反向

MOVR7,#10

LCALLDELAY

JBP1.5,LOOP

JNBP1.5,$

SETBDIR

SJMPLOOP

;----------------------------

DELAY:

MOVR2,#20

DLY1:

MOVR3,#250

DJNZR3,$

DJNZR2,DLY1

DJNZR7,DELAY

RET

;-----------------------------

T0ISR:

PUSHACC

CLRTR0

MOVTH0,#3CH

MOVTL0,#0B0H

SETBTR0

MOVDPTR,#LEDLP

MOVA,TCNT

MOVCA,@A+DPTR

CPLA

PUSHACC

MOVA,TCNT

MOVB,#8

DIVAB

JNZT0ISR1

POPACC

MOVP0,A

MOVP2,#0FFH

MOVP3,#0FFH

SJMPT0ISRE

T0ISR1:

DECA

JNZT0ISR2

POPACC

MOVP2,A

MOVP0,#0FFH

MOVP3,#0FFH

SJMPT0ISRE

T0ISR2:

POPACC

MOVP3,A

MOVP2,#0FFH

MOVP0,#0FFH

T0ISRE:

JBDIR,T0ISR4

INCTCNT

MOVA,TCNT

CJNEA,#24,T0ISR3

T0ISR3:

JCT0ISR6

MOVTCNT,#0

SJMPT0ISR6

T0ISR4:

MOVA,TCNT

JNZT0ISR5

MOVTCNT,#23

SJMPT0ISR6

T0ISR5:

DECTCNT

T0ISR6:

POPACC

RETI

;-----------------------------

LEDLP:

DB01H,02H,04H,08H,10H,20H,40H,80H

DB01H,02H,04H,08H,10H,20H,40H,80H

DB01H,02H,04H,08H,10H,20H,40H,80H

;-----------------------------

END

 

第四章连接调试

把程序装入单片机后,复位启动。

按P1.2开始,按此键则灯开始流动(由上而下);按P1.3停止,按此键则停止流动,所有灯为暗;按P1.4上,按此键则灯由上向下流动;按P1.5下,按此键则灯由下向上流动。

通过按键能方便使用者选择不同样的亮法。

4.1仿真效果图

 

4.1.1按下P1.2,开始,灯开始流动(由上而下)。

4.1.2按下P1.3,停止,灯停止流动,所有灯为暗。

4.1.3按下P1.4,灯由上向下流动。

4.1.4按下P1.5,灯由下向上流动。

参考文献

[1]万隆,巴奉丽.单片机原理及应用技术,清华大学出版社,2010.03

[2]邹丽新,翁桂荣.单片机微型计算机及接口技术,苏州大学出版社,2002.4

[3]

附录

一、电路原理图

 

二、程序

TCNTEQU30H

DIRBIT00H

ORG0000H

LJMPMAIN

ORG000BH

LJMPT0ISR

ORG0030H

MAIN:

CLREA

MOVSP,#5FH

MOVTMOD,#01H

MOVTH0,#3CH

MOVTL0,#0B0H

MOVTCNT,#0

SETBET0

SETBEA

CLRDIR

LOOP:

JBP1.2,LOOP1;启动

MOVR7,#10

LCALLDELAY

JBP1.2,LOOP1

JNBP1.2,$

SETBTR0

SJMPLOOP

LOOP1:

JBP1.3,LOOP2;停止

MOVR7,#10

LCALLDELAY

JBP1.3,LOOP2

JNBP1.3,$

MOVP0,#0FFH

MOVP2,#0FFH

MOVP3,#0FFH

CLRTR0

SJMPLOOP

LOOP2:

JBP1.4,LOOP3;正向

MOVR7,#10

LCALLDELAY

JBP1.4,LOOP3

JNBP1.4,$

CLRDIR

SJMPLOOP

LOOP3:

JBP1.5,LOOP;反向

MOVR7,#10

LCALLDELAY

JBP1.5,LOOP

JNBP1.5,$

SETBDIR

SJMPLOOP

DELAY:

MOVR2,#20

DLY1:

MOVR3,#250

DJNZR3,$

DJNZR2,DLY1

DJNZR7,DELAY

RET

T0ISR:

PUSHACC

CLRTR0

MOVTH0,#3CH

MOVTL0,#0B0H

SETBTR0

MOVDPTR,#LEDLP

MOVA,TCNT

MOVCA,@A+DPTR

CPLA

PUSHACC

MOVA,TCNT

MOVB,#8

DIVAB

JNZT0ISR1

POPACC

MOVP0,A

MOVP2,#0FFH

MOVP3,#0FFH

SJMPT0ISRE

T0ISR1:

DECA

JNZT0ISR2

POPACC

MOVP2,A

MOVP0,#0FFH

MOVP3,#0FFH

SJMPT0ISRE

T0ISR2:

POPACC

MOVP3,A

MOVP2,#0FFH

MOVP0,#0FFH

T0ISRE:

JBDIR,T0ISR4

INCTCNT

MOVA,TCNT

CJNEA,#24,T0ISR3

T0ISR3:

JCT0ISR6

MOVTCNT,#0

SJMPT0ISR6

T0ISR4:

MOVA,TCNT

JNZT0ISR5

MOVTCNT,#23

SJMPT0ISR6

T0ISR5:

DECTCNT

T0ISR6:

POPACC

RETI

LEDLP:

DB01H,02H,04H,08H,10H,20H,40H,80H

DB01H,02H,04H,08H,10H,20H,40H,80H

DB01H,02H,04H,08H,10H,20H,40H,80H

END

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

当前位置:首页 > 工程科技 > 纺织轻工业

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

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