8路彩灯控制器实验报告
八路彩灯

河南工业大学EDA技术实验报告专业电科班级1301姓名田学号201316030实验地点6316+ 6515 实验日期2015-11-27成绩评定一、实验项目八路彩灯控制器二、实验目的有八个发光二极管,要求设计花型,使其按照设定的花型随时钟循环点亮。
在Quartus II 中用VHDL语言输入控制器的源程序,然后进行编译,仿真,以保证控制器功能的正确性。
引脚锁定及硬件测试三、实验原理LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY caideng ISPORT (clk: IN STD_LOGIC;A,B,C,D,E,F,G,H: OUT STD_LOGIC );END caideng;ARCHITECTURE cd OF caideng ISTYPE states IS (S0,S1,S2,S3,S4,S5,S6,S7,S8,S9,S10,S11);SIGNAL present_state, next_state: states;BEGINP1: PROCESS(present_state,clk)BEGINIF clk'EVENT AND CLK='1'THENCASE present_state ISWHEN S0=>A<='1';B<='1';C<='1';D<='1';E<='1';F<='1';G<='1';H<='1';next_state<=S1;WHEN S1=>A<='1';B<='1';C<='1';D<='0';E<='0';F<='1';G<='1';H<='1';next_state<=S2;WHEN S2=>A<='1';B<='1';C<='0';D<='0';E<='0';F<='0';G<='1';H<='1';next_state<=S3;WHEN S3=>A<='1';B<='0';C<='0';D<='0';E<='0';F<='0';G<='0';H<='1';next_state<=S4;WHEN S4=>A<='0';B<='0';C<='0';D<='0';E<='0';F<='0';G<='0';H<='0';next_state<=S5;WHEN S5=>A<='1';B<='0';C<='1';D<='0';E<='1';F<='0';G<='1';H<='0';next_state<=S6;WHEN S6=>A<='1';B<='0';C<='1';D<='0';E<='1';F<='0';G<='1';H<='0';next_state<=S7;WHEN S7=>A<='0';B<='1';C<='0';D<='1';E<='0';F<='1';G<='0';H<='1';next_state<=S8;WHEN S8=>A<='0';B<='1';C<='0';D<='1';E<='0';F<='1';G<='0';H<='1';next_state<=S9;WHEN S9=>A<='0';B<='0';C<='0';D<='0';E<='0';F<='0';G<='0';H<='0';next_state<=S10;WHEN S10=>A<='0';B<='0';C<='0';D<='1';E<='1';F<='0';G<='0';H<='0';next_state<=S11;WHEN S11=>A<='0';B<='0';C<='1';D<='1';E<='1';F<='1';G<='0';H<='0';next_state<=S0;END CASE;END IF;END PROCESS P1;P2:PROCESS (clk)BEGINIF clk'EVENT AND clk='1' THENpresent_state<=next_state;END IF;END PROCESS P2;END cd;我设计的八路彩灯控制电路共有三种花型,用状态机结构设计循环彩灯控制器实现三种花型的交替变化,花型一:八个灯全亮,然后从中间向两边依次成对熄灭,直至全灭,花型二:八个灯明暗相隔,每个状态持续两个时钟周期。
制作循环彩灯实习报告

制作循环彩灯实习报告制作循环彩灯实习报告制作循环彩灯实习报告循环彩灯摘要:设计一个循环彩灯控制电路,该电路实现了让八个彩灯循环闪烁的功能,并且循环闪烁的时间为1秒。
其中,闪烁时间由555定时器这样的时钟电路产生周期为1秒的脉冲所控制;彩灯的循环闪烁由十进制计数器接受定时器产生的脉冲所控制;彩灯显示功能由三线八线译码器实现,输出分配数据直接控制灯的闪烁。
用Multisim 10对设计电路进行仿真可得到八个发光二极管循环闪烁的结果。
关键词:循环彩灯;555定时器;计数器;译码器;发光二极管目录1.设计背景……………………………………………………………………21.1了解数字电路系统的定义及组成………………………………………21.2掌握时钟电路的作用及基本构成…………………………………………22.设计方案……………………………………………………………………22.1任务分析……………………………………………………………………22.2方案论证……………………………………………………………………33.方案实施…………………………………………………………………33.1原理图设计…………………………………………………………………33.2电路仿真……………………………………………………………………73.3PCB制作...........................................................................84.结果与结论...........................................................................85.收获与致谢........................................................................96.参考文献..............................................................................97.附件 (97).1电路原理图………………………………………………………………107.2 PCB布线图………………………………………………………………117.3元器件清单……………………………………………………………111. 设计背景1.1 了解数字电路系统的定义及组成用数字信号完成对数字量进行算术运算和逻辑运算的电路称为数字电路,或数字系统。
彩灯实验报告

设计八彩灯控制器要求:1、设计一个彩灯控制器,使彩灯(LED管)能连续发出四种以上不同的显示形式;2、随着彩灯显示形式的变化,发出不同的音响声。
设计提示:1、彩灯显示的不同形式可由不同进制计数器驱动LED显示完成;2、音响由选择不同频率CP脉冲驱动扬声器形成;3、彩灯显示形式由实验箱中拨码开关控制。
实验程序LIBRARY ieee;USE ieee.std_logic_1164.all;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY caidengkongzhiqi ISPORT(clk1,rst,clk2 : IN std_logic;caideng : OUT std_logic_vector(7 downto 0);cz:in std_logic_vector(1 downto 0);speaker: out std_logic );END caidengkongzhiqi;ARCHITECTURE one OF caidengkongzhiqi ISCOMPONENT counter_8PORT(clk,rst : IN std_logic;count_out : OUT integer range 0 to 7);END COMPONENT ;COMPONENT caidengkongzhiPORT(Ins :in std_logic_vector(1 downto 0);Input : IN INTEGER RANGE 0 TO 7;Rst :in std_logic;output : OUT std_logic_vector(7 downto 0));END COMPONENT ;COMPONENT fenpinqi(clk,rst : IN std_logic;clk_10,clk_4,clk_6,clk_8 : OUT std_logic);END COMPONENT ;COMPONENT xzq4_1PORT(Rst :in std_logic;Inp :in std_logic_vector(1 downto 0);in1,in2,in3,in4 : In std_logic;output : OUT std_logic);END COMPONENT ;SIGNAL s,g,m,n,k :std_logic;SIGNAL f:INTEGER RANGE 0 TO 31;SIGNAL w:integer range 0 to 3;BEGINu1: counter_8 port map (clk=>clk1, rst=>rst, count_out =>f);u2: caidengkongzhi port map (ins=>cz,input=>f, rst=>rst, output =>caideng);u3: fenpinqi port map (clk=>clk2, rst=>rst, clk_10=>g, clk_4=>m, clk_6=>n, clk_8=>k);u4: xzq4_1 port map (inp=>cz, rst=>rst, in1=>g, in2=>m, in3=>n, in4=>k, output=>speaker);END one;LIBRARY ieee;USE ieee.std_logic_1164.all;ENTITY fenpinqi ISPORT(clk,rst : IN std_logic;clk_10,clk_4,clk_6,clk_8 : OUT std_logic);END fenpinqi;ARCHITECTURE cd OF fenpinqi ISbeginp1:process(clk,rst)variable a:integer range 0 to 20;if rst='1' thenclk_4<='0';a:=0;elseif clk'event and clk='1'thenif a>=3 thena:=0;clk_4<='1';elsea:=a+1;clk_4<='0';end if;end if;end if;end process p1;p2:process(clk,rst)variable b:integer range 0 to 20;beginif rst='1' thenclk_6<='0';b:=0;elseif clk'event and clk='1'thenif b>=5 thenb:=0;clk_6<='1';elseb:=b+1;clk_6<='0';end if;end if;end if;end process p2;p3:process(clk,rst)variable c:integer range 0 to 20;beginif rst='1' thenclk_8<='0';c:=0;elseif clk'event and clk='1'thenif c>=7 thenc:=0;clk_8<='1';elsec:=c+1;clk_8<='0';end if;end if;end if;end process p3;p4:process(clk,rst)variable d:integer range 0 to 20;beginif rst='1' thenclk_10<='0';d:=0;elseif clk'event and clk='1'thenif d>=9 thend:=0;clk_10<='1';elsed:=d+1;clk_10<='0';end if;end if;end if;end process p4;end cd;LIBRARY ieee;USE ieee.std_logic_1164.all;ENTITY xzq4_1 ISPORT(rst:in std_logic;inp:in std_logic_vector(1 downto 0);in1,in2,in3,in4 : In std_logic;output : OUT std_logic);END xzq4_1;ARCHITECTURE a OF xzq4_1 ISBEGINPROCESS (rst,inp)BEGINif(rst='1') then output<='0';elsecase inp iswhen "00"=>output<=in1;when "01"=>output<=in2;when "10"=>output<=in3;when "11"=>output<=in4;when others=>null;end case;end if;END PROCESS;END a;LIBRARY ieee;USE ieee.std_logic_1164.all;ENTITY counter_8 ISPORT(clk,rst : IN std_logic;count_out : OUT integer range 0 to 7 );END counter_8;ARCHITECTURE a OF counter_8 ISBEGINPROCESS (rst,clk)variable temp:integer range 0 to 8;BEGINIF rst='1' THENtemp:=0;ELSIF (clk'event and clk='1') THENtemp:=temp+1;if(temp=8) thentemp:=0;end if;END IF;count_out<=temp;END PROCESS;END a;LIBRARY ieee;USE ieee.std_logic_1164.all;ENTITY caidengkongzhi ISPORT( ins :in std_logic_vector(1 downto 0);input : IN INTEGER RANGE 0 TO 7;rst:in std_logic;output : OUT std_logic_vector(7 downto 0)); END caidengkongzhi;ARCHITECTURE a OF caidengkongzhi ISBEGINPROCESS (input)BEGINif rst='1' then output<="00000000";elseIf(ins="00") thencase input iswhen 0=>output<="10000000";when 1=>output<="01000000";when 2=>output<="00100000";when 3=>output<="00010000";when 4=>output<="00001000";when 5=>output<="00000100";when 6=>output<="00000010";when 7=>output<="00000001";when others=>null;end case;Elsif(ins="01") thencase input iswhen 0=>output<="00010000";when 1=>output<="00110000";when 2=>output<="00111000";when 3=>output<="01111000";when 4=>output<="01111100";when 5=>output<="01111110";when 6=>output<="11111110";when 7=>output<="11111111";when others=>null;end case;Elsif(ins="10")thencase input iswhen 0=>output<="10000001";when 1=>output<="11000001";when 2=>output<="11000011";when 3=>output<="11100011";when 4=>output<="11100111";when 5=>output<="11110111";when 6=>output<="11111111";when 7=>output<="10000001";when others=>null;end case;Elsecase input iswhen 0=>output<="00000011";when 1=>output<="00000110";when 2=>output<="00001100";when 3=>output<="00011000";when 4=>output<="00110000";when 5=>output<="01100000";when 6=>output<="11000000";when 7=>output<="10000001";when others=>null;end case;end if;end if;end process;end a;原理图管脚配置图波形仿真图四选一选择器分频器八进制计数器。
彩灯循环显示控制器实验报告

彩灯循环显示控制器电气信息类(创新实验班)一,实验目标1.4路输出循环彩灯电路:设4路彩灯记为L3、L2、L1、L0。
实现如下花型:花型1:彩灯L3-L0,依次按L3,L3L2,L3L2L1,L3L2L1L0点亮;花型2:彩灯L3-L0,依次按L0,L1L0,L2L1L0,L3L2L1L0熄灭;花型3:彩灯L3-L0,全亮再全灭。
三种花型依次循环显示。
2.8路输出循环彩灯电路,实现如下花型:花型1:由中间往外对称依次点亮,全部点亮后,再由中间往外依次熄灭。
花型2:前4路彩灯与后4路彩灯分别从左到右顺次点亮,再顺次熄灭。
两种花型交替循环显示。
二,实验方案1.1)输出单元电路:彩灯循环显示的花型状态又移位寄存器单元电路的输出状态决定。
由一片4位移位寄存器74LS194实现。
2)分频单元电路:实现对时钟信号的四分频,由D触发器74LS74构成。
3)控制信号产生单元电路:用计数器74LS193。
2.1)输出单元电路:由两片4位移位寄存器74LS194实现。
2)分频单元电路:74LS90构成8进制计数器3)节拍控制单元电路:74LS74使S1,S0转换。
三,实验步骤4路输出循环彩灯电路1.4路输出循环彩灯电路:再依次按L0,L1L0,L2L1L0,L3L2L1L0熄灭,然后全亮再全暗,由此循环。
由图上仿真可以看出,8盏灯先全暗,然后1D和2A(即中间两盏灯)开始亮,向往外对称依次点亮,再由中间往外依次熄灭。
然后进入下一个花型:前4路彩灯与后4路彩灯分别从左到右顺次点亮,再顺次熄灭。
五,实验验证这个实验是在实验箱上验证的,4路输出循环彩灯电路中的4盏灯按照预期亮。
而8路输出循环彩灯电路的8盏灯虽然亮了但是不是按照预期的规律。
用555时基电路构成多谐振荡器,用该脉冲作为8路输出循环彩灯电路的脉冲源,与6和2端口相接的电容影响频率,可是8盏灯也不是按照预期的亮。
但是仿真却可以。
六,实验心得:这次实验算不上成功,因为在实验箱上的灯没有按照规律亮,不过仿真结果还是成功的。
8路流水灯实验报告

8路流水灯制作班级姓名学号指导老师时间一、实验目的运用STC12C4052AD制作8路流水灯电路。
二、实验材料STC12C4052AD单片机、LED灯、12HZ晶振、30pF瓷片电容。
三、实验步骤1、设计8路流水灯电路和相应单片机程序,分析工作原理,。
2、按照8路流水灯在万能板上焊接,为STC12C4052AD烧写程序。
3、调试电路。
四、实验内容1、8路流水灯电路图2、单片机程序#include <REG51.h> //51头文件/**************************************************/#define DY_PORT P1 //设置LED连接的I/O组#define DY_SPEED 100 //设置每一个明亮级的停留时间(值域:0~65535)/**********************************************/bit [自定义名] ; //定义一个位(位的值只能是0或1)例:bit LED#define [代替名] [原名] //用代替名代替原名(可以方便修改常改或调试的值)例:#define LED P1sbit [自定义名] = [系统位名] ; //自定义系统位名。
例:sbit Add_Key = P3 ^ 1; unsigned char [自定义名] ; //定义一个0~255的整数变量.例:unsigned char a; unsigned int [自定义名] ; //定义一个0~65535的整数变量/********************************************************/void delay (unsigned int a){ // 1ms延时程序unsigned int i;while( --a != 0){for(i = 0; i < 600; i++);//STC单片机在外部晶振为12MHz时i值上限为600 } //AT89C51单片机在外部晶振为12MHz时i值上限为125}/**********************************************/void main(void){unsigned int i;unsigned int temp;while(1){temp=0x01;for(i=0;i<8;i++){ //8个流水灯逐个闪动DY_PORT=~temp;delay(DY_SPEED); //调用延时函数temp<<=1; }temp=0x80;for(i=0;i<8;i++){ //8个流水灯反向逐个闪动DY_PORT=~temp;delay(DY_SPEED); //调用延时函数temp>>=1; }temp=0xFE;for(i=0;i<8;i++){ //8个流水灯依次全部点亮DY_PORT=temp;delay(DY_SPEED); //调用延时函数temp<<=1; }temp=0x7F;for(i=0;i<8;i++){ //8个流水灯依次反向全部点亮DY_PORT=temp;delay(DY_SPEED); //调用延时函数temp>>=1; }}}附完成作品。
八路彩灯电子制作总结2

基于单片机控制的八路彩灯一、设计任务与要求1、D1~D8八个彩灯按规定顺序依次点亮(间隔1秒),最后全亮;2、按规定顺序依次熄灭(间隔1秒),最后全灭;3、八个灯同时点亮熄灭,保持1秒;二、设计思路单片机为核心控制,由单片机最小系统(时钟电路、复位电路)、LED 发光二极管组成。
时钟电路:本系统采用单片机内部方式产生时钟信号,用于外接一个12MHz石英晶体振荡器和2个30pF微调电容,构成稳定的的自激振荡器,其发出的脉冲直接送入内部的时钟电路。
复位电路:复位是单片机的初始化操作,只需给89C52的复位引脚RST 加上大于2个机器周期,即24个时钟震荡周期的高电平就可使89C52复位。
复位时,PC初始化为0000H,使89C52单片机从0000H单元开始执行程序。
供电信号三、电路制作与调试1、电路制作:要使单片机工作起来,最基本的电路的构成由单片机、时钟电路、复位电路。
八路彩灯电路实际上是由8个发光二极管和8个电阻构成的电路。
发光二极管与电阻对应串联,然后接在与之相对应的P2口上。
通过软件编程对P2口输出高低电平来实现不同的闪烁花型。
由于发光二极管的导通电压一般为1.7V以上,另外,他的工作电流根据型号不同一般为1mA到30mA,电阻选择范围100欧姆~3千欧姆在此我们这里选用200欧姆的电阻。
2、软件设计:本设计是以单片机STC89C52为核心控制8个发光二极管3种闪烁方式的变换。
硬件电路如图附录1所示,八个发光二极管D1-D8分别接在单片机的P2.0-P2.7接口上,当给P2.0口输出“0”时,发光二极管点亮,当输出“1”时,发光二极管熄灭。
由于人眼的视觉暂留效应以及单片机执行每条指令的时间很短,我们在控制二极管亮灭的时候应该延时一段时间,否则我们就看不到闪烁效果。
程序如下:ORG 0000HMOV R3, #5 ;N=5LOOP0:MOV A, #0FFHMOV P2,#0FFHMOV R2, #8LOOP1: CLR CRLC AMOV P2, ACALL DL500MSCALL DL500MSDJNZ R2, LOOP1MOV R2, #8LOOP2: SETB CRLC AMOV P2, ACALL DL500MSCALL DL500MSDJNZ R2, LOOP2MOV R2, #4LOOP3: MOV P1, #0CALL DL500MSMOV P1, #255CALL DL500MSDJNZ R2, LOOP3DJNZ R3, LOOP0MOV P2, #01001001BCALL DL500MSCALL DL500MSSJMP 0000HDL500MS:MOV R5, #9DL1: MOV R6, #128DL2: MOV R7, #215NOPDL3: DJNZ R7, DL3DJNZ R6, DL2DJNZ R5, DL1RET;END3、系统仿真本设计使用的Keil C51软件来进行编程。
数电课程设计报告-八路彩灯循环电路

摘要数字电子技术已经广泛地应用于计算机,自动控制,电子测量仪表,电视,雷达,通信等各个领域。
例如在现代测量技术中,数字测量仪表不仅比模拟测量仪表精度高,功能高,而且容易实现测量的自动化和智能化。
随着集成技术的发展,尤其是中,大规模和超大规模集成电路的发展,数字电子技术的应用范围将会更广泛地渗透到国民经济的各个部门,并将产生越来越深刻的影响。
随着现代社会的电子科技的迅速发展,要求我们要理论联系实际,数字电子逻辑课程设计的进行使我们有了这个非常关键的机会。
每逢节日晚上都能看到街道旁都挂起五彩缤纷彩灯,给人一种节日的气氛。
然而,彩灯作为我们生活中的一部分,我们既要知道其然,还要知其之所以然。
因此,我们有必要去研究彩灯的工作原理。
数字电子技术课程设计也是培养学生综合运用学知识,发现、提出、分析和解决实际问题,锻炼实践能力的重要环节,是对学生实际工作能力的具体训练和考察过程。
关键词:彩灯控制器、循环控制、电子电路仿真目录第1章设计方案 (5)1.1 设计目的 (5)1.2 设计要求 (5)1.3 总体框图设计 (5)第2章单元电路的设计 (6)2.1 定时器电路 (6)2.2 计数器电路 (8)2.3 译码器电路 (10)2.4 总电路设计 (12)第3章仿真 (13)3.1 Multisim软件的介绍 (13)3.2 EWB软件的介绍 (13)3.4 仿真步骤 (13)3.3 仿真结果 (14)第4章总结 (15)参考文献 (16)附录一 (17)附录二 (18)第1章设计方案1.1 设计目的1.学会将一个实际情况抽象为逻辑电路的逻辑状态的方法。
2.掌握计数、译码、显示综合电路的设计与调试方法。
3.掌握实际输出电路不同要求的实现方法。
1.2 设计要求1.八路彩灯输出显示。
2.彩灯的闪烁按一定规则变化,可通过输出开关设置彩灯闪烁的规律。
3.电路有复位控制,复位按钮闭合时彩灯循环输出,复位按钮断开时彩灯熄灭。
八路彩灯循环显示电路

北京联合大学实验(实习、实训)报告课程(项目)名称:微型计算机技术学院:师范学院专业:计算机科学与技术班级:2009 级学号:09姓名:陈秋月成绩:2011年4月27日3八路彩灯循环控制器一、实验目的1、学会将一个实际情况抽象为逻辑电路的逻辑状态的方法。
2、掌握计数、译码、显示综合电路的设计与调试。
3、掌握实际输出电路不同要求的实现方法。
4、学会光敏电阻与继电器的使用。
二、实验内容及要求输出8路彩灯(八种状态)实现以下功能:①通过一个外部开关控制彩灯左移和右移;②亮点移动一位即可;③彩灯亮点移动时间间隔取1秒。
三、工作原理CD4040是12位异步二进制计数器,它仅有2个输入端,即时钟输入端CP和清零端CR。
输出端为Q1-Q12.当清零端CR为高电平时,计数器输出全被清零;当清零端CR为低电平时,在CP脉冲的下降沿完成计数。
74LSl38是3线-8线译码器,具有3个地址输入端A2、A1、A0和3个选通端S1、S2、S3以及8个译码器输出端Y0~Y1。
用555定时器组成多谐振荡器,输出频率为f=101Hz。
由CD4040分频后,高3位Q12、Q11、Q10的输出分别接在74LSl38译码器的A2、A1、A03端。
每隔t=512/f≈5s的时间,A0。
变化一次,每隔约10 s 的时间A1变化一次,每隔15s的时间A2变化一次,从而使其输出端Y0~Y7驱动的发光二极管顺序循环亮与灭。
四、原件介绍1、74LS138以3线-8线译码器74LS138为例进行分析,图6-4、6-5分别为其逻辑图及引脚排列。
其中 A2、A1、A0为地址输入端,0Y~7Y为译码输出端,S1、2S、3S为使能端。
表6-6为74LS138功能表,也是此八路彩灯循环输出的结果。
当S1=1,2S+3S=0时,器件使能,地址码所指定的输出端有信号(为0)输出,其它所有输出端均无信号(全为1)输出。
当S1=0,2S+3S=X时,或 S1=X,2S+3S=1时,译码器被禁止,所有输出同时为1。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
《8路彩灯控制电路设计》课程设计报告专业:班级:姓名:学号:同组成员:指导教师:赵玲2015年1 月7 日目录一、课程设计目的 (3)二、课程设计要求 (3)(一)、彩灯控制器设计要求 (3)(二)、课程设计总体要求 (3)三、课程设计内容 (3)(一)、设计原理分析 (3)(二)、器件选择 (5)(三)、具体电路连线及设计思路 (6)1、时钟控制电路 (6)2、花色控制电路 (7)3、花色演示电路 (8)4、总体电路图 (10)四、实际焊接电路板思路及过程 (11)(一)、设计思路及电路图 (11)(二)、设计及焊接过程 (11)(三)、电路板展示 (12)五、课程设计总结与体会 (13)一、课程设计目的1.巩固数字电路技术基础课程所学的理论知识,将学习到的理论知识落实到实际,所谓学以致用。
并且将模拟电路技术基础和电路分析基础等课程的所学知识加以强化。
2.熟悉几种常用集成数字芯片74LS161、74LS194等的功能和应用,并掌握其工作原理,并将这几种芯片的应用结合起来。
从而学会使用常用集成数字芯片进行电路设计。
3.学会使用protues软件进行模拟电路仿真,并且学会将仿真电路实现。
4.了解数字系统设计的基本思想和方法,学会科学分析和解决问题,学会使用基本元器件其进行电路设计。
5.培养自己的动手能力,团队协作能力。
二、课程设计要求(一)、彩灯控制器设计要求设计并制作8路彩灯控制电路,用以控制8个LED按照不同的花色闪烁,要求如下:1.接通电源,电路开始工作,LED灯闪烁;2.LED灯按照事先设计的方式工作,要求闪烁的模式不能少于三种模式;3.(选做内容)闪烁时实现快慢两种节拍的变换。
(二)、课程设计总体要求(1)根据设计任务,每人独立完成一份设计电路图,并要求仿真实现;(2)根据设计的电路图,两人一组,利用万能板完成电路的焊接,并调试成功;(3)每人独立完成一份设计报告。
三、课程设计内容(一)、设计原理分析1.基本原理如下:总体电路共分三大块。
第一块实现时钟信号的产生和控制,利用555定时器连接电路实现该功能;第二块实现花型的控制及节拍控制,利用74LS161芯片实现该功能;第三块实现花型的演示,利用74LS194芯片实现该功能。
主体框图如下:2.根据所提供的实验器材各模块总体思路如下:(1).时钟信号产生和控制(clock)电路:利用555定时器接对应的电阻、电容后形成多谐振荡器,从而产生脉冲信号。
公式;f=1/((R1+2R2)CIn2); T=((R1+2R2)CIn2;(2).花型控制电路:由两片74LS161 4位二进制同步计数器和7个与非门4个非门共同完成花型控制电路,两个74LS194作为一个组合完成一个花色,但是两个74LS194在演示时实际是相互对立的,所以每个74LS194连接的4个灯在每种花色里一共需要产生8种不同的状态。
通过控制不同的脉冲下SR、SL、S0、S1的输入来控制每个脉冲下LED灯移动方向以及移动状态。
因为在第一个74LS161在0000时为初始状态,0001时开始亮第一个灯,所以第八个状态时第一个74LS161状态为1000,在下一个状态1001时,将它的Q3与Q0的与非门接在两个74LS194和自己的的MR上与,使其异步置零,这时8盏灯全部熄灭,之后进入下一个花色演示。
因为亮完三种不同花色之后将进入下一个循环,所以第二片74LS161将设计成三进制,即将Q0与Q1的与非门接到异步置零端上。
(3).由两片74LS194 双向移位寄存器完成花型演示部分,可左移右移完成花3.整个花型控制电路设计如下:我将8路灯上下四个摆成了两个菱形。
如下图所示:花型1:8路灯从D1至D8逐个亮,然后全部熄灭。
花型2:两个菱形同时依次亮两个灯,然后这两个灯绕着两个菱形流动两圈后,这4个灯同时熄灭花型3:上面一个菱形4路灯逐一亮起后,下面一个菱形的4盏灯开始亮,这时上面4盏灯逐一熄灭,等下面4个灯都亮起后,全部熄灭。
4.花色表格表示将D1-D8八个灯的状态,亮则为1,不亮记为0,则每种花色的状态如下:三种花型每种花色演示一遍,之后全部熄灭,待三种花型循环一次之后,进入下一个循环。
(二)、器件选择74LS161(四位二进制同步计数器)-------------------------------- 2个; 74LS194(移位寄存器)---------------------------------------- 2个; 74LS04------------------------------------------------------- 4个; 74LS20----------------------------------------- --------------7个; LED发光二极管--------------------------------- -------------- 8个; 555---------------------------------------------------------- 1个;电容:4.7µf-------------------------------------------------- 1个;电容:0.01µf------------------------------------------------- 1个;电阻:47kΩ-------------------------------------------------- 2个;电阻:470Ω-------------------------------------------------- 8个;导线若干。
(三)、具体电路连线及设计思路1.时钟信号电路:由一片555加上适当电容及电阻实现。
电容取:4.7μf 0.01μf电阻取:47 kΩ时钟信号周期为:脉冲周期T=(R1+R2)Cln2=0.33s电路图如下:555定时器的连接:1接地,2和6相连,2连一个4.7µf的电容后接地,连一个0.01μf的电容后接地,4和8相连后接电源正极,8接47kΩ的电阻和7相连,7连47kΩ的电阻和6相连。
2.花型控制信号电路:由二片74LS161级联计数器实现,将其几个输出信号加上适当门电路产生三种花型所需的输入信号。
两片双向移位寄存器74LS194的的SR、SL、S0、S1等均有两片74LS161控制,两片74LS194的驱动方程如下;注:为了区分两片74LS161,不妨将第二个74LS161的输出端记为q0、q1、q2、q3,因为没有提供与门和或门所以只有使用与非门和非门组合表示与门和或门;第一片74LS194:SR=(Q1*q1)’; SL=Q3; S0=(q0’*Q2)’;S1=((Q2*q1)’)’= Q2*q1; MR=(Q0*Q3)’;第二片74LS194:SR=(Q1*q1)’; SL=Q3; S0=(q0’*Q2’)= q0+Q2;S1=((q1*Q2’)’)’= q1*Q2’; MR=(Q0*Q3)’;电路图如下:下面对74LS做一个简单的介绍:(1)74LS161引脚图(2)74LS161的功能表74LS161为二进制同步计数器,具有同步预置数、异步清零以及保持等功能。
从功能表的第一行可知,当CR=0(输入低电平),则不管其他输入端(包括CP端)状态如何,四个数据输出端QA、QB、QC、QD全部清零。
由于这一清零操作不需要时钟脉冲CLK配合,所以CR(即仿真时的MR端)为异步清零端,且低电平有效,也可以说该计数器具有“异步清零”功能。
3.花型演示电路:由二片移位寄存器74LS194级联实现。
其八个输出信号端连接八个发光二极管,为了保护二极管,在每个二极管后面都接了一个470 的电阻,并且电阻之后接地。
用其输出信号控制发光二级管的亮灭实现花型演示。
电路图如下:74LS194的引脚图:74LS194的功能表:74LS194是移位寄存器,利用两块双向移位寄存器74LS194和8路LED灯组成的终端负责显示任务,移位寄存器采用“串入并出”的方式,而且每个芯片组各自独立。
当工作时左右移动的串入脉冲共同控制LED灯的亮和灭,进而形成各种花色。
4.总体电路图如下:四、实际焊接电路板思路及过程;(一)、设计思路及电路图在焊接电路时,由于我的电路比较复杂,光与非门就有7个,所以我们选用了周泓岑的电路。
我们先是上网上查找了74LS161、74LS04、74LS20、74LS194的引脚图,然后对应着仿真电路图做了一番改造,我们画出了仿真电路图中没有的引脚例如8接地,6接电源,尽量避免了交叉。
可是即使是我们两人中较为简单的电路图改造出来依然令人咋舌,因为我们毕竟是学软件的,并不擅长硬件方面,所以这个对于我们来说难度太大,于是我们又对原仿真电路图进行了简化改造,去掉了一个与非门,这时连接出来的电路图才觉得可以试一试。
我们的电路图如下所示;(二)、设计焊接过程在电路图设计出来后,我们就进行了分工。
由周泓岑主要负责焊接工作,由我来检查电路图并且指示周泓岑应该焊哪一根线,同时我还进行了飞线的制作。
在焊接哪一根线之前,我会用铅笔仔细地在电路板上描出要焊的线。
万一锡焊地过多了,我们就会用吸锡器将其清除。
就这样,在在经过了整整一天的焊接后,我们终于焊出来了完整的电路。
(三)、电路板展示:五、课程设计总结与体会这次数电课程设计对于我来说,是一个极大的挑战,因为我们之前做的课程设计莫过于写一段代码或是使用软件设计一个作品出来,而这个数电课程设计却是对于我们对于数电知识的掌握以及我们的动手能力的极大的综合考察。
完成这个课程设计我们前前后后大概花了两周的时间才总算完成!开始老师将题目布置下来时,我一脸茫然,根本不知道该如何下手。
因为我们虽然学过74LS161和74LS194芯片的功能以及方法,但是如何将它们结合起来设计出来一个电路,难度还是很大的!所以我开始没有设计而是对于数电课本做了一番研究,对于这两种芯片的功能和方法有了进一步的了解,这时我们班上已经有同学设计出来了电路图,虽然电路图很简单,花色也比较单一,但是对于我来说却非常的具有参考意义。
我仔细研究了别人的电路图,大概明白了如何将74LS161与74LS194联系起来。
然后在17周时我到图书馆静气凝神设想了三种花色,然后通过列出真值表找出来了74LS161的各个输出端具有什么关系才会出现这样的花色,然后在草稿纸上画出了草图,在晚上时我使用proteus按照草图画出了仿真实验图,连电路图我倒没花多少时间,我本以为要花大量时间去修改电路图呢!谁知开始只出现了一点小问题,修改之后一举成功!!!在仿真答辩时,由于是我自己设计的电路所以对于它的工作原理非常熟悉,所以对于老师的提问对答如流。