0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

单片机节日彩灯控制器的设计

dytfki8u8yql 来源:电子技术控 作者:电子技术控 2022-12-19 09:44 次阅读

节日彩灯控制器的设计

一、设计要求:

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

K1—开始,按此键则灯开始流动(由上而下)。

K2—停止,按此键则停止流动,所有灯为暗。

K3—下,按此键则灯由下向上流动。

K4—交替闪烁,按此键则奇数序号灯与偶数序号灯交替闪烁。

二、方案论证:

通过查阅大量相关技术资料,并结合自己的实际知识,我提出课两种技术方案来实现该公能。下面我将首先对这两种方案的组成框图和实现原理分别进行说明,并分析比较它们的特点,然后阐述我最终选择方案的原因。

1 方案比较

彩灯控制器课分为两种方案实现。一种是利用数字逻辑电路装置控制,另一种是采用单片机控制。

1.1 方案一

根据任务要求介绍的彩灯控制电路的基本组成,可以确定彩灯控制器应由振荡器、计数/时序分配电路、移位寄存器和彩灯显示五部分组成。其框图如图所示。

af3284e2-7df4-11ed-8abf-dac502259ad0.jpg

1.2 方案二

本方案主要是通过对基于单片机的多控制、多闪烁方式的LED彩灯循环系统的设计,来达到本设计的要求、其硬件构成框图如图所示,以单片机为核心控制,由单片机最小系统(时钟电路、复位电路、电源)、按键控制电路、LED发光二极管和5V直流电源组成。

af518cfc-7df4-11ed-8abf-dac502259ad0.jpg

2 方案论证

如果采用方案一,利用数字逻辑电路装置控制,其电路不是很复杂,制作相对较容易,成本也相对较低,但可调性差,亮灯模式少而且样式单调,达不到设计任务要求或实现困难。而采用方案二,以单片机控制其优点是电路集成度高,工作原理简单,清晰明了,自定义编程,控制的图案花样多,移植性好等。

3 方案选择

综上,显然方案二各方面优于方案一,以及为了体现专业优势,本次设计采用方案二。

三、理论设计:

1、主程序设计

程序启动时跳转到键盘判断模块程序中,此程序里面包含K1—K4的按键情况判断,循环检测直到有按键按下的时候,程序转去相对应的按键的彩灯显示的模块。

af6b59ac-7df4-11ed-8abf-dac502259ad0.jpg


2、键盘扫描程序

af83fcaa-7df4-11ed-8abf-dac502259ad0.jpg

四、电路仿真仿真结果分析:

1 仿真电路

1.1 时钟电路和复位电路

afa5f7e2-7df4-11ed-8abf-dac502259ad0.jpg

1.2 按键控制电路

afcac64e-7df4-11ed-8abf-dac502259ad0.jpg

1.3 LED显示电路

afe243b4-7df4-11ed-8abf-dac502259ad0.jpg



2 仿真结果分析:

此次系统设计结果较好,经Proteus软件仿真系统的调试,可检测出仿真电路正常;对应按键按下,彩灯出现不同花型,实现了多控制、多闪烁的LED彩灯循环;经以上仿真测试证实,本设计能实现设计系统要求的预期功能。

五、心得体会:
本次作业设计以C51单片机为核心,控制电路、LED显示电路、以及单片机最小系统等模块组成的核心主控制电路,实现了由单片机对LED灯的控制。

通过对软件的仿真调试,对彩灯控制器的运行成果满意,实现了题目的要求,同时此设计具有电路简单、易操作、成本小、体积小、耗能低等优点。

但是在设计中也出现了一些问题,在程序编写过程中发现自己有的知识模块模糊,导致实验速度减缓,通过c程序的编写实验就发现自己很多地方的不足,在查阅资料和同学的帮助下才解决了困难,这都是以后要多学习的地方。


单片机源程序如下:

#include

#define uchar unsigned char //宏定义

#define uint unsigned int

sbit k1=P1^2; //位定义

sbit k2=P1^3;

sbit k3=P1^4;

sbit k4=P1^5;

uchar a=0; //定义所需变量

uchar b;

uchar code table1[]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f}; //从上到下流水数组

uchar code table2[]={0x7f,0xbf,0xdf,0xef,0xf7,0xfb,0xfd,0xfe}; //从下到上流水数组

void delay_ms(uint xms) //延时函数

{

uint i,j;

for(i=xms;i>0;i--)

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

}

void key_scan(uchar b) //按键扫描

{

if(b==1) //若K1按下

{

while(k2==1&&k3==1&&k4==1)

{

for(a=0;a<8;a++) //执行从上到下流水操作

{

P0=table1[a];

delay_ms(100);

}

a=0;

}

}

if(b==2) //若K2按下

{

while(k1==1&&k3==1&&k4==1)

{ //P0全部输出高电平,关闭LED

P0=0xff;

}

}

if(b==3) //若K3按下

{

while(k1==1&&k2==1&&k4==1)

{

for(a=0;a<8;a++) //执行从下到上流水操作

{

P0=table2[a];

delay_ms(100);

}

a=0;

}

}

if(b==4) //若K4按下

{

while(k1==1&&k2==1&&k3==1)

{

P0=0xaa; //奇偶位分别点亮

delay_ms(100);

P0=0x55;

delay_ms(100);

}

}

}

void main(void) //主函数

{

TMOD=0X01; //定时器中断初始化

TH0=(65536-1000)/256;

TL0=(65536-1000)%256;

EA=1;

ET0=1;

TR0=1;

while(1);

}

void T0_time() interrupt 1 //中断服务函数

{

TH0=(65536-1000)/256;

TL0=(65536-1000)%256;

if(k1==0)b=1;

if(k2==0)b=2;

if(k3==0)b=3;

if(k4==0)b=4;

key_scan(b);

}

复制代码

b00d6e72-7df4-11ed-8abf-dac502259ad0.png

审核编辑:汤梓红

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • led
    led
    +关注

    关注

    240

    文章

    23096

    浏览量

    657515
  • 单片机
    +关注

    关注

    6030

    文章

    44502

    浏览量

    632295
  • 控制器
    +关注

    关注

    112

    文章

    16146

    浏览量

    177186
  • 节日彩灯
    +关注

    关注

    0

    文章

    3

    浏览量

    6731

原文标题:单片机节日彩灯控制器的设计

文章出处:【微信号:电子技术控,微信公众号:电子技术控】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    设计一个节日彩灯控制器

    设计一个节日彩灯控制器。:彩灯分为红色、黄色、绿色三种色彩,通过按键控制,可完成指定模式流动。流动模式:先红色
    发表于 07-03 12:14

    设计8路节日彩灯控制器的相关资料分享

    任务设计8路节日彩灯控制器,要求在Protues中设计接口电路图,并编程实现节日彩灯闪烁方式的控制
    发表于 11-10 08:43

    如何利用单片机设计一个节日彩灯控制器

    单片机为核心,设计一个节日彩灯控制器:l K1—开始,按此键则灯开始流动(由上而下)。l K2—停止,按此键则停止流动,所有灯为暗。l K3—下,按此键则灯由下向上流动。l K4—交
    发表于 12-02 06:58

    如何去实现一种基于单片机彩灯控制器系统设计

    【资源下载】下载地址:点击下载1328百度网盘基于单片机彩灯控制器系统设计设计内容:设计一个八位彩灯控制器,初始状态
    发表于 01-13 07:20

    节日彩灯控制器的相关资料推荐

    单片机-节日彩灯控制器彩灯及点阵方案设计各功能键设计各模块设计设计环境效果彩灯及点阵方案设计每次
    发表于 01-24 06:29

    基于c51的节日彩灯控制器的设计资料分享

    基于c51的节日彩灯控制器的设计自认为本代码核心在于按键状态的保存和重置标记的设立。
    发表于 01-24 06:30

    AT89C2051单片机节日彩灯控制电路程序

    AT89C2051单片机节日彩灯控制电路程序 ;***************************************************;*  &
    发表于 10-14 17:17 125次下载

    节日彩灯控制器

    节日里用彩灯装饰和美化环境可以得到很好的效果。这里介绍的控制器使节日彩灯具有动感,交替闪亮的彩灯好似流水。它的制作也很简单。
    发表于 05-28 10:10 183次下载

    89C51单片机节日彩灯控制器

    全自己制作的89C51单片机节日彩灯控制器,8*8LED矩阵,protues仿真,protel99se原理图和pcb图,供大家参考。
    发表于 02-23 17:14 75次下载

    基于PIC单片机花样彩灯控制器程序设计

    利用循环指令和多种送数和延时循环程序,设计PIC单片机的花样彩灯控制器,是最容易和最简单的事例。
    发表于 03-07 15:43 4164次阅读
    基于PIC<b class='flag-5'>单片机</b>花样<b class='flag-5'>彩灯</b><b class='flag-5'>控制器</b>程序设计

    如何使用AT89C2051单片机实现节日彩灯控制电路的程序

    本文档的主要内容详细介绍的是如何使用AT89C2051单片机实现节日彩灯控制电路的程序免费下载。
    发表于 03-16 16:57 34次下载

    单片机实验:节日彩灯控制器

    任务设计8路节日彩灯控制器,要求在Protues中设计接口电路图,并编程实现节日彩灯闪烁方式的控制
    发表于 11-05 09:06 38次下载
    <b class='flag-5'>单片机</b>实验:<b class='flag-5'>节日</b><b class='flag-5'>彩灯</b><b class='flag-5'>控制器</b>

    基于单片机节日彩灯控制器系统设计-protues仿真资料

    基于单片机节日彩灯控制器系统设计-protues仿真资料
    发表于 11-23 17:21 40次下载
    基于<b class='flag-5'>单片机</b><b class='flag-5'>节日</b><b class='flag-5'>彩灯</b><b class='flag-5'>控制器</b>系统设计-protues仿真资料

    单片机-节日彩灯控制器

    单片机-节日彩灯控制器彩灯及点阵方案设计各功能键设计各模块设计设计环境效果彩灯及点阵方案设计每次
    发表于 11-29 11:51 20次下载
    <b class='flag-5'>单片机</b>-<b class='flag-5'>节日</b><b class='flag-5'>彩灯</b><b class='flag-5'>控制器</b>

    基于c51的节日彩灯控制器的设计

    基于c51的节日彩灯控制器的设计自认为本代码核心在于按键状态的保存和重置标记的设立。
    发表于 11-29 12:36 18次下载
    基于c51的<b class='flag-5'>节日</b><b class='flag-5'>彩灯</b><b class='flag-5'>控制器</b>的设计