精华内容
下载资源
问答
  • 可编程彩灯控制器的设计报告册,详细的说明了设计要求及设计过程
  • pdf格式的文件,控制器的设计参考文件,用EPROM构成的可编程彩灯控制器
  • 这是一个中小规模芯片做的可编程彩灯控制器 8*8的彩灯 用138扫描 EEPROM控制图幅 有选图功能
  • 通过对硬件编程,将图形、文字、动画存储在E2PROM中,通过计数器控制图形、文字、动画的地址,在利用显示矩阵显示出来。系统所显示的内容反复循环,直至手动或加压清零,便回到初始地址。
  • 设计报告设计报告设计报告设计报告设计报告设计报告设计报告设计报告设计报告设计报告设计报告设计报告设计报告设计报告设计报告设计报告设计报告设计报告设计报告
  • 本课程设计的基本任务:是着重提高学生在数字集成电路应用方面的实践技能,树立严谨的科学作风,培养学生综合运用理论知识解决实际问题的能力。学生通过电路设计、安装、调试、整理资料等环节,初步掌握工程设计方法...
  • 可编程彩灯控制器课设
  • 现有的霓虹灯以及彩灯控制器多是使用专用集成电路,其中固化多种闪烁方式,一般只提供4~16路输出。由于在大型霓虹灯中使用的控制器路数相当多,一般只能定做,代价高而且灵活性较差。本设计由于采用了力源公司的新...
  • 数字电路课程设计,可编程彩灯控制器设计的电路图
  • 现有的霓虹灯以及彩灯控制器多是使用专用集成电路,其中固化多种闪烁方式,一般只提供4~16路输出。由于在大型霓虹灯中使用的控制器路数相当多,一般只能定做,代价高而且灵活性较差。本设计由于采用了力源公司的新...
  • 本文以Alter公司提供的Max+PlusⅡ为平台,设计一个变速的彩灯控制器,可以在不修改硬件电路的基础上,仅通过更改软件就能实现任意修改花型的编程控制方案,实现控制16只LED以8种花型和4种速度循环变化显示,而且...
  • 设计目的1、学习EDA开发软件和MAX+plus Ⅱ的使用方法,熟悉可编程逻辑器件的使用,通过制作来了解彩灯控制系统。2、进一步掌握数字电路课程所学的知识。3、了解数字电路设计的一般思路,进一步解决和分析问题。4、...

    展开全部

    以前做的设计,粘贴时图形没出来,参考62616964757a686964616fe59b9ee7ad9431333330363866一下,记得给分啊

    一.设计目的

    1、学习EDA开发软件和MAX+plus Ⅱ的使用方法,熟悉可编程逻辑器件的使用,通过制作来了解彩灯控制系统。

    2、进一步掌握数字电路课程所学的知识。

    3、了解数字电路设计的一般思路,进一步解决和分析问题。

    4、培养自己的编程和谨慎的学习态度

    二、.设计题目内容和要求

    (1)课题内容:

    用EDA技术设计一个彩灯控制器,使彩灯(LED管)能连续发出三种以上不同的花型(自拟);

    随着彩灯显示图案的变化,发出不同的音响声。

    要求使用7段数码管显示当前显示的花型,如第一种花型显示A1,第二种花型显示b2,第三种花型显示C3

    (2)主要任务:完成该系统的硬件和软件的设计,并利用实验箱制作出实物演示,调试好后并能实际运用(指导教师提供制作所需的器件),最后就课程设计本身提交一篇课程设计报告。

    三、总体方案设计与选择

    1 总体方案的设计

    方案一:电路分为三个部分:彩灯花型模块、声音模块,时钟模块。用时钟控制声音和花型,整体使用相同的变量与信号,主体框图如下;

    图三—1-1方案一的的流程图

    方案二:电路分为五个模块:分频器模块、16进制计数器、4进制计数器,4选1选择器、彩灯控制器。其中彩灯控制器是用来输出不同的花样,彩灯控制器的输出则是用一个16进制的计数器来控制,扬声器的输出时用不同的频率来控制,所以用了一个集成分频器来使输入的频率被分为几种不同的频率,不同频率的选择性的输出则是用一个4选一的选择器来控制。整体框图如下:

    图三—1-2方案二的流程图

    2、方案的选择

    方案一是将融合在一起,原理思路简单,元件种类使用少,但是在编程时要使用同一变量和信号,这样就会给编程带来很大的困难,另外中间单元连线较多,不容易检查,门电路使用较多,电路的抗干扰能力会下降。

    方案二将彩灯花型控制与声音控制分开,各单元电路只实现一种功能,电路设计模块化,且编程时将工作量分开,出现错误时较容易检查,连线较少且容易组装和调试。

    结合两个方案的优缺点,我选择容易编程、组装和调试的方案二。

    四、模块电路的设计

    1、分频器模块

    设计要求显示不同的彩灯的时候要伴随不同的音乐,所以设计分频器来用不同的频率控制不同的音乐输出。

    模块说明:

    Rst:输入信号 复位信号 用来复位分频器的输出使输出为“0”,及没有音乐输出。

    Clk:输入信号 模块的功能即为分频输入的频率信号。

    Clk_4、clk8、clk_12、clk_16:输出信号 即为分频模块对输入信号clk的分频,分别为1/4分频输出、1/8分频输出、1/12分频输出、1/16分频输出。不同的频率会发出不同的声音。如图

    图四-1分频器电路图

    2、16进制计数器

    16进制模块用来控制彩灯输出模块,即确定彩灯控制器的不同的输出。

    Rst:输入信号 复位信号 用来复位16进制使其输出为“00000”,即彩灯不亮。

    Clk1:输入信号 用来给模块提供工作频率。

    Count_out[3..0]:输出信号 即为16进制计数器的输出,此输出信号作为彩灯的输入信号。

    如图四-2

    图四-2 16进制计数器电路图

    3、4进制计数器模块

    4进制计数器作为选择器的输入来控制选择器选择不同的频率作为输出控制扬声器工作。

    Clk2:输入信号 来为计数器提供工作频率。

    Rst:输入信号 复位信号 使计数器的输出为“00”。

    如图四-3

    图四-3 4进制计数器电路图

    4、4选1选择器模块

    Rst:输入信号复位信号使选择器的输出为“0”。

    In1、in2、in3、in4:输入信号接分频器的输出。

    Inp[1..0]:输入信号接4进制计数器的输出用来控制选择器的选择不同的输入选择不同的输出。

    Output2:输出信号直接接扬声器即输出的是不同的频率来控制扬声器播放声音

    如图四—4

    图四—4 4选1选择器电路图

    5、彩灯控制模块

    彩灯控制采用的模式6来进行显示。

    图四—5—1模式6结构图

    彩灯控制模块用来直接控制彩灯的输出,使彩灯表现出不同的花样。

    Rst:输入信号 使彩灯控制模块的输出为“00000000”,即让彩灯无输出。

    Input[4..0]:输入信号 不同的输入使彩灯控制模块有不同的输出即彩灯显示出不同的花样。

    Output3[7..0]:输出信号 直接与数码管相连来控制数码管。

    如图四—5—2

    图四-5-2 彩灯控制电路图

    五、EDA设计与仿真

    1、源程序:

    ----------------------------------------------分频器模块-----------------------------------------

    LIBRARYieee;

    USEieee.std_logic_1164.all;

    ENTITYfenpinqi IS

    PORT

    (

    clk2,rst :IN std_logic;

    clk_12,clk_4,clk_16,clk_8 : OUT std_logic

    );

    ENDfenpinqi;

    ARCHITECTUREcd OF fenpinqi IS

    begin

    p1:process(clk2,rst)

    variable a:integer range 0 to 20;

    begin

    if rst='1' then

    clk_4<='0'; ----- 复位信号控制部分

    else

    if clk2'event and clk2='1'then

    if a>=3 then

    a:=0;

    clk_4<='1';

    else

    a:=a+1;

    clk_4<='0';

    end if;

    end if;

    end if;

    endprocess p1;

    p2:process(clk2,rst)

    variable b:integer range 0 to 20;

    begin

    if rst='1' then

    clk_16<='0'; ----- 复位信号控制部分

    else

    if clk2'event and clk2='1'then

    if b>=15 then

    b:=0;

    clk_16<='1';

    else

    b:=b+1;

    clk_16<='0';

    end if;

    end if;

    end if;

    endprocess p2;

    p3:process(clk2,rst)

    variable c:integer range 0 to 20;

    begin

    if rst='1' then

    clk_8<='0'; ----- 复位信号控制部分

    else

    if clk2'event and clk2='1'then

    if c>=7 then

    c:=0;

    clk_8<='1';

    else

    c:=c+1;

    clk_8<='0';

    end if;

    end if;

    end if;

    endprocess p3;

    p4:process(clk2,rst)

    variable d:integer range 0 to 40;

    begin

    if rst='1' then

    clk_12<='0'; ----- 复位信号控制部分

    else

    if clk2'event and clk2='1'then

    if d>=11 then

    d:=0;

    clk_12<='1';

    else

    d:=d+1;

    clk_12<='0';

    end if;

    end if;

    end if;

    endprocess p4;

    endcd;

    ----------------------------------------------4选1选择器---------------------------------------

    LIBRARYieee;

    USEieee.std_logic_1164.all;

    ENTITYxzq4_1 IS

    PORT

    (

    rst:in std_logic;

    inp:in integer range 0 to 3;

    in1,in2,in3,in4 : In std_logic;

    output2 :OUT std_logic

    );

    ENDxzq4_1;

    ARCHITECTUREa OF xzq4_1 IS

    BEGIN

    PROCESS (rst,inp)

    BEGIN

    if(rst='1') then output2<='0';

    else

    case inp is

    when 0=>output2<=in1;

    when 1=>output2<=in2;

    when 2=>output2<=in3;

    when 3=>output2<=in4;

    when others=>null;

    end case;

    end if;

    END PROCESS;

    ENDa;

    -------------------------------------------彩灯控制模块----------------------------------------

    LIBRARYieee;

    USEieee.std_logic_1164.all;

    ENTITYcaideng IS

    PORT

    (

    input :

    IN INTEGER RANGE

    0 TO 15;

    rst:in std_logic;

    output3 :OUT std_logic_vector(7 downto 0);

    sm :out std_logic_vector(6 downto 0)

    );

    ENDcaideng;

    ARCHITECTUREa OF caideng IS

    BEGIN

    PROCESS (input)

    BEGIN

    if rst='1' thenoutput3<="00000000";sm<="0000000";

    else

    case input is

    when 0=>output3<="00111000";sm<="0000110";

    when1=>output3<="00001111";sm<="0000110";

    when2=>output3<="00111110";sm<="0000110";

    when3=>output3<="01111111";sm<="0000110";

    when4=>output3<="01011011";sm<="1011011";

    when5=>output3<="01110110";sm<="1011011";

    when6=>output3<="00001111";sm<="1011011";

    when7=>output3<="01111111";sm<="1011011";

    when8=>output3<="01101101";sm<="1001111";

    when9=>output3<="00000111";sm<="1001111";

    when10=>output3<="01110111";sm<="1001111";

    when11=>output3<="01111011";sm<="1001111";

    when12=>output3<="00111000";sm<="1100110";

    when13=>output3<="00111111";sm<="1100110";

    when14=>output3<="00111110";sm<="1100110";

    when 15=>output3<="01111001";sm<="1100110";

    when others=>null;

    end case;

    end if;

    end process;

    end a;

    --------------------------------------------16进制计数器模块-----------------------------------

    LIBRARYieee;

    USEieee.std_logic_1164.all;

    ENTITYcounter_16 IS

    PORT

    (

    clk,rst :IN std_logic;

    count_out :

    OUT INTEGER RANGE

    0 TO 15);

    ENDcounter_16;

    ARCHITECTUREa OF counter_16 IS

    BEGIN

    PROCESS (rst,clk)

    variable temp:integer range 0 to 16;

    BEGIN

    IF rst='1' THEN

    temp:=0;

    ELSIF (clk'event and clk='1') THEN

    temp:=temp+1;

    if(temp=15) then

    temp:=0;

    end if;

    END IF;

    count_out<=temp;

    END PROCESS;

    ENDa;

    -------------------------------4进制计数器模块----------------------------------

    LIBRARYieee;

    USEieee.std_logic_1164.all;

    ENTITYcounter_4 IS

    PORT

    (

    clk,rst :IN std_logic;

    count_out :OUT integer range 0 to 3 );

    ENDcounter_4;

    ARCHITECTUREa OF counter_4 IS

    BEGIN

    PROCESS (rst,clk)

    variable temp:integer range 0 to 16;

    BEGIN

    IF rst='1' THEN

    temp:=0;

    ELSIF (clk'event and clk='1') THEN

    temp:=temp+1;

    if(temp=4) then

    temp:=0;

    end if;

    END IF;

    count_out<=temp;

    END PROCESS;

    ENDa;

    -------------------------------------------主程序----------------------------------

    LIBRARYieee;

    USEieee.std_logic_1164.all;

    ENTITYproject IS

    PORT (clk1,rst,clk2: IN std_logic;

    Out1: OUT std_logic_vector(7 downto 0);

    Out2 :out std_logic_vector(6 downto0);

    Out3: OUT std_logic);

    ENDproject;

    ARCHITECTUREstruct OF project IS

    COMPONENT counter_16 IS

    PORT(clk,rst : IN std_logic;

    count_out : OUT integer range 0 to 15 );

    ENDCOMPONENT;

    COMPONENT fenpinqi IS

    PORT(clk2,rst : IN std_logic;

    clk_12,clk_4,clk_16,clk_8 : OUT std_logic);

    END COMPONENT ;

    COMPONENT counter_4 IS

    PORT(clk,rst :IN std_logic;

    count_out :OUT integer range 0 to 3 );

    ENDCOMPONENT;

    COMPONENT xzq4_1 IS

    PORT

    (

    rst:in std_logic;

    inp:in integer range 0 to 3;

    in1,in2,in3,in4 : In std_logic;

    output2 :OUT std_logic

    );

    ENDCOMPONENT;

    COMPONENT caideng IS

    PORT

    (

    input: IN INTEGER RANGE 0 TO 15;

    rst:in std_logic;

    output3 :OUT std_logic_vector(7 downto 0);

    sm :out std_logic_vector(6 downto 0)

    );

    ENDCOMPONENT;

    SIGNALu: integer range 0 to 15;

    SIGNALw: integer range 0 to 3;

    SIGNALv1,v2,v3,v4: std_logic;

    BEGIN

    U1:counter_16PORT MAP(clk1,rst,u);

    U2:fenpinqiPORT MAP(clk2,rst, v1,v2,v3,v4);

    U3:counter_4PORT MAP(v3,rst,w);

    U4:xzq4_1 PORT MAP(rst,w, v1,v2,v3,v4,out3);

    U5:caidengPORT MAP(u,rst,out1,out2);

    ENDstruct;

    2、彩灯控制器仿真结果及数据分析

    分析:如上图,clk1控制的是彩灯模块,clk2控制的是声音模块,当rst为高电平是输出全为0,ck1每出现四个高电平,花型发生一次变化,out2分别显示1、2、3、4,out1显示不同的花型,out3发出声音,如图脉冲数不同表示发出的声音不同,但是声音与花型相比有一定的延迟。

    六、硬件实现

    1、引脚锁定图

    2、硬件仿真图

    显示第一组花型之一

    显示第二组花型之一

    显示第三组花型之一

    显示的第四组花型之一

    七、总体电路

    整个系统就是各个分模块组成来实现最后的彩灯控制功能,系统又两个时钟来控制一个是控制16进制计数器即控制彩灯控制模块来实现彩灯的不同输出,另一个时钟为分频器的输入来进行分频处理,最后用来控制扬声器发出不同的音乐,为了使效果明显尽量达到要求分频处理的时钟的频率比实现彩灯控制的时钟频率要高。

    将各个模块连在一起采用在课程中学到的元件例化,将各个模块的引脚连在一起,使之成为一个整体。元件例化是VHDL设计实体构自上而下层次化设计的重要途径。整体电路如图五—1

    图七—1 整体电路图

    八、心得体会

    1、在设计时遇到一些主要问题如下:怎么将各个模块连在一起、开始硬件仿真时总是出现错误,设计方案的选择。最后我选择了元件例化将各个模块连在一起,仿真时是因为短路帽接错了,当时没有注意,在方案的选择时我们选了实现比较简单的分模块方案

    2、这次的EDA课程设计我学到得东西很多明白了理论与实践之间的差距,而且对DEA课程有了更深入的理解,尤其是知道了怎么去应用所学的知识,怎么去利用网络实现自己的要求,具体体会如下:

    (1)要想完成编程就要对DEA知识很熟悉,这样才能加快编程的速度,另外在编程时一定要小心,稍微有一点粗心都会有很多的错误出现,在出现错误后要学会寻找错误原因如名称前后不一、数据类型不同、符号写错等等

    (2)拿道题目后要注意分析,要学会总体把握,然后再一一一细化、学会将复杂的问题简单化,分析时一定要有一个明确的目标。

    (3)要学会理论联系实际,在程序导入到实验箱后,居然不显示结果,认真的检查看看操作是否有错误、试验箱中该短路的是否已用短路帽短路、又重新检查了一下程序,结果发现是短路帽接错了,所以看似很简单的操作自己操作起来可能会有很大的漏洞,所以亲自动手是很重要的。

    (4)当自己的只是有限时,要注意运用网络等一切资源,要学会知识的灵活运用在查阅的过程中学到了很多在书本所没有学到的知识,通过查阅相关资料进一步加深了对EDA的了解

    总的来说,通过这次课程设计不仅锻炼了我们的动手和动脑能力,也使我懂得了理论与实际相结合的重要性,只有理论知识是远远不够的,要把所学的理论知识与实践相结合起来,才能提高自己的实际动手能力和独立思考的能力。还有最重要的一点就是要有一丝不苟的精神和端正认真的态度,遇到困难后要学会积极的面对。

    3、在此设计中声音会有一定的延迟,可以考虑用花型输出信号作为4选1的控制信号

    九、参考书目:

    赵伟军,《Protel99se教程》,北京,人民邮电出版社,1996年

    金西,《VHDL与复杂数字系统设计》,西安,西安电子科技大学出版社,2003

    汉泽西,《EDA技术及其应用》,北京,北京航空航天大学出版社,2004

    [4] 黄任,《VHDL入门.解惑.经典实例.经验总结》,北京,北京航空航天大学出版社,2005

    [5] 李洋,《EDA技术 使用教程》,北京,机械工业出版社,2009

    [6] 网络资源:EDA课程设计、EDA课程设计—彩灯控制器等

    已赞过

    已踩过<

    你对这个回答的评价是?

    评论

    收起

    展开全文
  • 多路彩灯控制器采用VHDL语言编程,在QuartusⅡ4.0上仿真验证功能。通过下载到ALTERA DE2开发板上来实现具体的硬件设计。该设计是一个16路彩灯控制器,自由选择3种跑马灯花型,具有清零开关,并且可以选择快慢两种节拍...
  • 彩灯控制器功能概述 彩灯控制器可以自动控制多路彩灯按不同的节拍循环显示各种灯光变换花型。彩灯控制器是以高低电平来控制彩灯的亮灭。实现彩灯控制可以采用EPROM编程、RAM编程、可编程逻辑器件、单片机等实现。在...
    1. 彩灯控制器功能概述
      彩灯控制器可以自动控制多路彩灯按不同的节拍循环显示各种灯光变换花型。彩灯控制器是以高低电平来控制彩灯的亮灭。实现彩灯控制可以采用EPROM编程、RAM编程、可编程逻辑器件、单片机等实现。在彩灯路数较少,花型变换比较简单时,也可以移位寄存器实现。在实际应用场合彩灯可能是功率较大的发光器件,需要加以一定的驱动电路。本课题用发光二极管LED模拟彩灯,可以不用驱动。

    2. 任务和要求
      设计一个至少8路移存型彩灯控制器,彩灯用发光二极管LED模拟,具体要求如下:
      ①能演示三种花型,花型自拟。
      ②能进行花型控制。
      ③选做:彩灯明暗变换节拍为1.0s和2s,两种节拍交替运行。
      ④ 分别用数码管显示花型编号和快慢节拍(一个显示快慢,一个显示编号)
      ⑤选做:用单片机实现彩灯控制器,要求同上。
      用可编程逻辑器件实现彩灯控制器,要求同上。、

    3. 花型顺序
      ![在这里插入图片描述](https://img-blog.csdnimg.cn/20200710161349108.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl80NDA3MDExNg==,size_16,color_FFFFFF,t_70

    4. 整体框架与主要器件
      在这里插入图片描述

    5. 总体电路图
      在这里插入图片描述

    展开全文
  • 本文介绍一种一种基于SOPC的32路彩灯控制器,该彩灯控制器在vhdl 硬件描述语言设计其核心部件,再配以适当的外围电路构成,上电后,彩灯系统无需外加输入信号,能自动循环演示十六种花型,彩灯明暗变换节拍为 0.25 ...
  • 这是LED彩灯环的第三个升级版。进过不断地更新,我们在不断地添加一些新的功能,便于用户在开发效果时使用,这也可能是由史以来效果最酷炫的LED灯盘。每一个LED的亮度和颜色都可以由用户自己进行控制。产品在出厂是...

    这是LED彩灯环的第三个升级版。进过不断地更新,我们在不断地添加一些新的功能,便于用户在开发效果时使用,这也可能是由史以来效果最酷炫的LED灯盘。每一个LED的亮度和颜色都可以由用户自己进行控制。产品在出厂是会预设一个Bootloader,并且内置一些绚丽的灯光效果样例和一些通讯控制指令便于用于进行二次开发。

    这款产品可以使用其他MCU通过I2C和UART串行数据通讯控制。你可以使用Arduino IDE对这款产品进行编程,自制自己喜欢的灯管效果。

    可编程 LED 彩灯环 V3实物展示:

    注意事项:Rainbow LED Ring V3的编程接口兼容FTDI Basic和USB Serial Light适配器。您可以选择这两款产品进行对你的LED彩灯进行编程。

    将J1的Power choose焊盘,焊接到3.3v焊盘上即可通过VIN输入从5v到12v的电压,灯盘的工作电压转为3.3v,默认的输入电压为5v。

    规格MCU:Atmega168P(optiboot)

    Bootloader:Optiboot diecimila

    供电电压:5v

    输出电压:5v

    通讯接口:UART串口,I2C以及数字引脚

    包含2个轻触按键,可用于模式切换

    12个RGB全彩贴片LED

    提供icsp引脚,可更新固件

    可独立进行灯效控制,不需要其他MCU驱动

    兼容Arduino IDE

    尺寸:外径62mmx4mm

    可编程 LED 彩灯环PCB焊接图:

    与Arduino 设备实物连接图:

    实物购买链接:https://www.dfrobot.com/product-487.html

    展开全文
  • 单片机设计节日彩灯控制器课程设计报告 (8页) 本资源提供全文预览,点击全文预览即可全文预览,如果喜欢文档就下载吧,查找使用更方便哦!9.9 积分片用单片机设计节日彩灯控制器一、 设计任务与要求本实验中采用汇编...

    单片机设计节日彩灯控制器课程设计报告

    (8页)

    本资源提供全文预览,点击全文预览即可全文预览,如果喜欢文档就下载吧,查找使用更方便哦!

    9.9 积分

    片用单片机设计节日彩灯控制器一、 设计任务与要求本实验中采用汇编语言和89C51单片机实现儿円彩灯控制器,在Keil uVision软件环境中编辑和调试节日彩灯程序,并在Proteus软件环境下仿真节 口彩灯的硬件电路。可编程节口彩灯系统采用8个LK)灯来模拟彩灯的显示,设 计要求8个LED灯能以多种不同的方式变换的亮火,以达到节日彩灯的效果。木实验中彩灯具体的变换方式采用以下四种方式:方式一:启动彩灯运行,按下与89C51单片机P1.2相连接的按钮,则彩灯 按照由上而下的顺序依次点亮。方式二:停止彩灯运行,按下与89C51单片机P1.3相连接的按钮,则彩灯 全部熄火。方式三:向下依次点亮彩灯,按下与89C51单片机P1.4相连接的按钮,则 彩灯按照由上向下的顺序依次点亮。方式四:向上依次点亮彩灯,按下与89C51单片机P1.5相连接的按钮,则 彩灯按照由下向上的顺序依次点亮。二、 设计方案以80C51单片机为控制核心,采用模块化的设计方案,运用LED彩灯、按键 等组成电路,实现彩灯在开扁时满足不一样的闪亮方法。按键可以在彩灯使用的 时候选择不同的亮法,使彩灯流动的方向改变,键一可以使彩灯由上而下开始流 动,键二可以使彩灯停止,三号键可以使彩灯由上而K流动,四键则可以使彩灯 由下而上流动。通过按键能方便使用者选择节日彩灯的开启、流动方向和停止。 系统框图如下:三、单片机设计节H彩灯控制器的硬件电路设计单片机设计过程中用到的管脚说明:1、 VCC (40):供电电压。2、 GND (20):接地。3、 P1端口 (P1.0-P1.7): P1 口是一个内部提供上拉电阻的8位双向I/O 口,P1 口缓冲器能接收输出4TTL门电流。P1 口管脚写入1后,被内部上拉为高 电平,可用作输入,P1 口被外部下拉为低电平时,将输出电流,这是由于内 部上拉的缘故。在FLAS11编程和校验时,P1门作为第八位地址接收。4、 P2端U (P2.0-P2. 7): P2 U为一个内部上拉电阻的8位双向T/0 l_l, P2 U 缓冲器可接收,输出4个TTL门电流,当P2 口被写“1”时,其管脚被内部 上拉电阻拉高,且作为输入。并因此作为输入时,P2 口的管脚被外部拉低, 将输出电流。这是由于内部上拉的缘故。P2 口当用于外部程序存储器或16 位地址外部数据存储器进行存取时,P2门输出地址的高八位。在给出地址“1” 吋,它利用内部上拉优势,当对外部八位地址数据存储器进行读写吋,P2 口输出其特殊功能寄存器的内容。P2 口在FLASH编程和校验时接收高八位地 址信号和控制信号。5、 P3端口 (P3.0-P3. 7): P3 口管脚是一个带有内部上拉电阻的8位的双向I/O 端门,可接收输出4个TTL门电流。当P3 口写入“1”后,它们被内部上拉 为高电平,并用作输入。作为输入端吋,由于外部下拉为低电平,P3 口将输 出电流(ILL)。P3 口也可作为AT89C51的一些特殊功能口,其中P3.3可作 为外部中断1输入。6、 XTALK19):反向振荡放大器的输入及内部时钟工作电路的输入。7、 XTAL2C18):來自反向振荡器的输出。8> (31):外部程序存储器访问允许控制端。打开PROTEUS的ISIS编辑环境,从PROTEUS中选取该电路所需要的元器件,放置元器件、放置电源和地、连线得到下图所示的电路原理图,再点菜单栏工具 下拉的电气规则检査,当规则检査出现:“NETL 1ST GENERATED OK NO ERC ERROR!) FOUND”,表示通过检查。电路设计完成。C2Hh30pC130pVCCU722.U1?XTAL1PO.G'ADOP0.VAD1PO2AD2XTAL2P0,3.'AD3P0.4.AQ4PO.5.'AD5P0.6.-AD6RSTP07/AD7R20A8R2J/A9P2.2-A10PSENP2.3/A11ALEP2.4.A12EAP2.5'A13P2.a-Al4P2.7/A15P1.0P3.0/RXDP1.1P3.1OXDP1.2P32»1NT0P1.3P3.a-1NT1P1.4P3.4JDP1.5P3.5/T1P1.6R3.6AVRP1.7P3.7W2L-9-292S_ 311TZ士ATg9C51LEDREOAND_PROTEUS硬件电路原理图四、单片机设计节日彩灯控制器的软件设计单片机设计节闩彩灯控制器的软件设计流程图如下: 编写成功的程序如下所示:ORG 0000H:程序入U地址LJMP MAIN;跳转到主程序ORG 0013H;中断入口地址LJMP INT1X ;跳转到中断程序ORG 010011;主程序入门地址MAIN:SETBTT1 :设置外部中断1为跳沿触发方式SETB EX1;允许外部中断1SETB EA;开启中断总开关CLR F0;清标志位MOV A, #0FFH ;为久赋初值SO:MOV P2,A ;设置P2为OFFHJB F0, SI;若印为1则跳转S1RR A;右移A值SJMP S2;跳转S2S1:RL A;左移A值;S2: LCALL DELA ;调用延吋SJMP SOINT1X: JNB Pl. 2, L00P1 ;P1. 2 端口为 0 则跳转 L00P1JXB Pl. 3, L00P2JNB Pl. 4, L00P1JXB Pl. 5, L00P3LOOP1:MOVA, #OFEH ;对4进行赋值SETB F0;对标志位置1AJMP INT;跳转至INTL00P2:MOVA, #0FFHAJMP TNT在Keil uVision软件环境下编写单片机设计节日彩灯控制器的软件,最终LOOP3:MOV A,#7FHCLR FOAJMP INTTNT: RETT ;中断返回DELA:MOV R1,#1OO ;延时子程序MOV R3, #50DELA 1: MOV R2,#10DELA2: NOPDJNZ R2, DELA2DJNZ Rl’DELAlDJNZ R3,DELA1RET ;子程疗:返回END ;结束五、 在PROTEUS中的硬件电路中进行仿真把程序装入单片机后,通过按不同的按键实现彩灯运行的不同方式,检验实 验结果是否与要求相符合。若与要求不符,则检验电路和程序是否正确,直至实 验结果与要求相符合。六、 实验程序与实验电路的总体叙述硬件电路中LED灯是共阳极的,在程序运行时,按下与P1. 2相连的按键, 程序进入中断,并检测到P1. 2为低电平0,此时进入L00P1,对A赋值FEH和置 标志位F0为1,然后返回S0,对P2端门赋值(赋值为FE11,转换为二进制数为 11111110),及此吋在电路上为P2. 7为低电平0,只有最上面的LED灯亮,程序 跳至S1,左移A值,及A变为11111101,调用延时子程序,然后返InjSO,此时 重复以上过程,使得第二个LED灯亮,依次执行则LED等依次点亮,直到改变按 下的按键。七、 单片机课程设计的体悟本设计本身比较简单,整个课程设计的过程中每一步都是自己亲自做的,在 经过遇到问题,思索问题到解决问题的过程中,收获是最多的。以往没有注意到的问题,都在这一次的课程设计中得以体现,这培养了我的细心,耐心和专心。 经过几天的努力,终于完成丫本学期的单片机课程设计,过程虽是辛苦的,但从中我们却学到了很多东西。首先巩固了课上学的理论知识,对于计算机汇 编语言的系统化整体化有了更深的认识。在编写程序的过程中遇到了很多困难经 过我反复修改不断修正最终冰能得以执行。再次是经过搜集资料基本了解了 protcus软件是使用。整个设计过程最大的收获就是意识到理论知识扎实的重要 性,实践是建立在理论之上的。 关 键 词: 单片机 设计 节日 彩灯 控制器 课程设计 报告

     天天文库所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。

    展开全文
  • 这次课程设计任务要求设计多路彩灯控制器。我用NE555芯片多谐振荡产生1S的方波时钟信号,经过74LS74的一路D触发器,分频至2S方波时钟信号。利通74LS151数据选择器,实现定时选频。利用以上时钟信号,驱动74LS161...
  • LED彩灯控制器设计

    2010-05-17 10:43:57
    AT89C2051单片机是51系列单片机的一个成员,是8051单片机的简化版。内部自带2K字节可编程FLASH存储器的低电压、高性能COMS八位微处理,与Intel MCS-51系列单片机的指令和输出管脚相兼容。
  • 环彩灯的电路很多,循环方式更是五花八门,而且有专门的可编程彩灯集成电路。绝大多数的彩灯控制电路都是用数字电路来实现的,例如,用中规模集成电路实现的彩灯控制电路主要用计数器,译码,分配和移位寄存器等...
  • 它具有编程灵活、集成度高、设计开发周期短、适用范围宽、开发工具先进、设计制造成本低、对设计者的硬件经验要求低、标准产品无需测试、保密性强、价格大众化等特点,实现较大规模的电路设计,因此被广泛应用于...
  • 设计一种新型的基于总线控制可编程LED全彩灯光控制系统。系统由彩灯表演编辑部分(上位机)、网络控制部分(中继)和LED单元控制部分(彩灯节点)组成,采用两级网络控制技术(CAN、 RS485总线传输),与目前...
  • s7-200彩灯控制程序

    2012-08-06 12:51:47
    西门子s7-200 可编程控制器 彩灯控制程序
  • 交通信号灯,运算放大器,设计3 可编程彩灯控制器等交通信号灯,运算放大器,设计3 可编程彩灯控制器等交通信号灯,运算放大器,设计3 可编程彩灯控制器等交通信号灯,运算放大器,设计3 可编程彩灯控制器
  • 还包含有高精度的内部振荡和 12V 可编程定电流输出驱动。 同时,为了降低电源纹波,3个通道有一定的延 时导通功能,这样在帧刷新时,可降低电路纹波。 芯片采用单线归零码的通讯方式,芯片在上电复位以后, ...
  • 还包含有高精度的内部振荡和12V高压可编程定电流输出驱动。 同时,为了降低电源纹波,3个通道有一定 的延时导通功能,这样在帧刷新时,可降低电路纹波。 芯片采用单线归零码的通讯方式,芯片在上电复位以后,...
  • 高精度的内部振荡和高压可编程定电流输出驱动及高精度恒流控制模块,有效保证了驱动电路上像素点光的 颜色高度一致。 具有独特的断点续传功能。芯片采用双路信号传输,两路信号传输之间互不影响,在单个芯片...
  • 控制器灵敏度高,不受天气季节影响,还用于彩灯、路灯等的控制。工作原理如下。广告灯控制器由NE555组成的光控及抗干扰电路、CD4541定时电路、继电器控制、电源电路等部分组成。电原理图如图1所示。
  • 节日彩灯控制器的设计:设计按键控制功能的流水灯。LED工作的方式通过键盘扫描实现,LED采取共阳极接法,依次向连接LED的I/O口送出低电平。 1.设计要求: 完成设计题目中所描述...
  • PC并口控制灯 电脑的378H并行接口(LPT),通常 用于连接打印机或编程器等设备。 通过对该接口的编程实现自动控制。例:PC并口小彩灯程序如下:#include #include #include #define outabbress 0x378/*接口基...

空空如也

空空如也

1 2
收藏数 40
精华内容 16
关键字:

可编程彩灯控制器