数字电路设计-跑马灯
跑马灯控制电路设计
HDL数字系统课程设计报告书目录一、设计目的2二、设计思路2三、设计过程23.1、系统方案论证23.2、程序代码设计3四、系统调试与结果5五、主要元器件与设备9六、课程设计体会与建议96.1、设计体会96.2、设计建议9七、参考文献10论文摘要:共16个LED灯,连成一排,实现几种灯的组合显示。
通过这次对跑马灯控制电路的设计与制作,了解了设计电路的程序,也了解了关于跑马灯工作的基本原理与设计理念,首先要将一个程序分成几个模块,分别调试每一个模块,当每个模块均能正常工作时,其次再将其都组合在一起再次调试与仿真,最后将程序下载到Altera公司ACEXTM系列EPEK30QC208-2芯片,观察程序是否能控制硬件的实现。
此外,本实验也可通过EDA软件Quartus6.0和modelSim SE 6.0实现。
关键词: HDL数字系统跑马灯设计一、设计目的1、熟悉Verilog HDL程序编程。
2、掌握Altera公司ACEXTM系列EPEK30QC208-2芯片的使用方法。
3、熟悉Quartus II 6.0和Modesim SE 6.0软件的使用。
4、了解16个数码管的显示原理和方法。
二、设计思路1、编写跑马灯设计程序。
2、定义LED灯引脚分配。
3、设计状态控制。
4、下载到EPEK30QC208-2芯片上显示。
三、设计过程3.1、系统方案论证16位LED跑马灯设计框图如图1所示:图1 LED跑马灯设计框图3.2、程序代码设计module paomadeng(rst,clk,sel,led); //端口定义,参数列表input rst,clk; //rst复位,clk为4Hz的时钟信号input[1:0] sel; //sel 状态选择端口output[15:0] led; //led 跑马灯显示reg[15:0] led;reg[15:0] led_r,led_r1;reg t1,dir; //t1控制状态2 led灯的亮次数reg[3:0] t2; //t2控制状态2 led灯的亮次数reg[2:0] t3; //t3控制状态2 led灯的亮次数always(posedge clk)beginif(rst) begin t1<=0;t2<=0;t3<=0;dir<=0;endelsecase(sel)// LED按奇数,偶数依次显示2'b00:beginled_r=16'b0101010101010101;if(t1==0)led<=led_r;else led<=led_r<<1;t1<=t1+1;end// LED顺序依次显示,顺序依次熄灭2'b01:beginif(!dir)beginif(t2==0) begin led_r=16'b0000000000000001;led<=led_r;end else begin led<=(led<<1)+led_r;endif(t2==15) begin dir<=~dir;endt2<=t2+1;endelsebeginif(t2==0) begin led_r=16'b1111111111111110;led<=led_r;endelse begin led<=led<<1; endif(t2==15) begin dir<=~dir;endt2<=t2+1;endend// LED由两侧向中间依次显示,由中间向两侧依次熄灭2'b11:beginif(!dir)beginif(t3==0) beginled_r=16'b0000000000000001;led_r1=16'b1000000000000000;endelsebegin led_r=(led_r<<1)|led_r;led_r1=(led_r1>>1)|led_r1;endled<=led_r|led_r1;if(t3==7)begin dir<=~dir;endt3<=t3+1;endelsebeginif(t3==0) begin led_r=16'b1111111111111110;led_r1=16'b0111111111111111;endelsebegin led_r=led_r<<1;led_r1=led_r1>>1;endled<=led_r&led_r1;if(t3==7)begin dir<=~dir;endt3<=t3+1;endenddefault: ;endcaseendendmodule引脚分配:to,locationrst, pin_47 //复位引脚clk, pin_79//时钟控制引脚sel[0], pin_45 //状态控制引脚sel[1], pin_46//状态控制引脚led[0], pin_19//0—15个LED灯显示引脚led[1], pin_24led[2], pin_25led[3], pin_26led[4], pin_27led[5], pin_28led[6], pin_29led[7], pin_30led[8], pin_31led[9], pin_36led[10], pin_37led[11], pin_38led[12], pin_39led[13], pin_40led[14], pin_41led[15], pin_44四、系统调试与结果1、LED灯和波形结果显示结果如图2,3,4,5,6,7所示图2、先奇数灯亮,即第1、3、5、7、9、11、13、15灯亮图3、偶数灯亮,即第2、4、6、8、10、12、14、16灯亮图4、按照1/2/3/4/5/6/7/8/9/10/11/12/13/14/15/16的顺序依次点亮图5、按照1/2/3/4/5/6/7/8/9/10/11/12/13/14/15/16的顺序依次熄灭所有灯图6按照1/16、2/15、3/14、4/13、5/12、6/11、7/10、8/9的顺序依次点亮图7、按照1/16、2/15、3/14、4/13、5/12、6/11、7/10、8/9的顺序依次熄灭灯波形显示:图8、LED灯按先奇数,偶数灯亮图9、LED灯依次按顺次亮,顺次熄灭图10,LED灯依次从两边向中间亮,两边向中间熄灭五、主要元器件与设备EDA技术试验箱,EDA软件QuartusⅡ6.0,ModelSim SE 6.0分频芯片:SN74HC04N—2,SN74LS393N—4片LED灯16个LED灯,电脑一台六、课程设计体会与建议6.1、设计体会通过这次对跑马灯控制电路的设计与制作,让我了解了设计电路的程序,也让我了解了关于跑马灯工作的基本原理与设计理念,首先要将一个程序分成几个模块,分别调试每一个模块,当每个模块均能正常工作时,其次再将其都组合在一起再次调试与仿真,最后将程序下载到Altera公司ACEXTM系列EPEK30QC208-2芯片,观察程序是否能控制硬件的实现。
数电课程设计(跑马灯)
数字电子技术课程设计设计题目:跑马灯目录设计题目 (1)1设计要求及主要技术指标.. ............................. .. (3)1.1 设计要求 (3)1.2 主要技术指标 (3)2 设计过程 (3)2.1题目分析 (3)2.2 整体构思 (3)2.3 具体实现 (4)3 元件说明 (4)3.1 元件说明 (4)4 检查过程 (7)4.1 检查过程 (7)4.2 遇到问题及解决措施..................... . (7)5 心得体会........................... ............. (8)参考文献......................................... (9)附录一:电路原理图 (9)附录二:元件清单 (10)一.设计要求及主要技术指标1.1 设计要求(1)、根据技术指标要求确定电路形式,分析工作原理,计算元件参数。
(2)、列出所用元器件清单并购买。
(3)、安装调试所设计的电路,使之达到设计要求。
(4)、记录实验结果。
(5)、撰写设计报告。
1.2 主要技术指标(1)实现8灯循环点亮。
(2)间隔时间可调。
(3)广告灯的样式自定。
二.设计过程2.1题目分析我们设计的跑马灯实际上是主要使用一个74LS161,一个74LS138,一个74LS20和一个78L05这四个芯片对8个LED进行控制,产生循环控制的效果。
形成一个流水似的广告灯。
2.2 整体构思拟定系统方案框图,画出系统框图中每框的名称、信号的流向,各框图间的接口,使用protel99电路设计软件画出原理图,再生成网络表和PCB板。
对照原理图进行统计要使用的元器件后,在电子市场购买所需要的电子元器件。
最后在指导老师的辅导下在实验室进行下一步工作。
2.3具体实现我们需要使用碳粉打印机把我们设计的原理图打印出来,不过要注意必须要使用不干胶纸的光滑面进行打印。
数电课设-走马灯
课 程 设 计2010 年 6 月 29 日学 号:题 目 彩灯循环显示控制电路设计学 院 信息工程学院 专 业 通信工程班 级姓名指导教师课程设计任务书学生姓名:专业班级:指导教师:工作单位:信息工程学院题目: 彩灯循环显示控制电路设计初始条件:Multisim仿真软件;芯片:74HC90, 74HC112等。
要求完成的主要任务:(包括课程设计工作量及其技术要求,以及说明书撰写等具体要求)1、设计出完整的彩灯循环显示控制电路设计电路设计;2、对电路原理各部分进行准确的分析;3、写出电路的工作过程;4、对设计电路进行准确的仿真;5、能够分析出理论与实际的误差原因;6、本课设的技术要求较简单,能了解原理及分析仿真结果即可。
时间安排:19周理论讲解及任务安排;20周方案设计、仿真及制作;20周答辩。
指导教师签名:年月日系主任(或责任教师)签名:年月日目录摘要 (I)Abstract (II)1.Multisim软件简介 (2)2.设计目的、任务及要求 (4)2.1设计目的 (4)2.2设计任务 (4)2.3设计要求 (4)3.电路设计 (5)3.1设计构思 (5)3.2芯片介绍 (5)3.3原理设计 (7)3.3.1数列循环电路设计 (7)3.3.2数字显示电路 (8)3.3.3二分频电路设计 (11)3.3.4脉冲发生电路 (11)3.3.5显示电路 (12)4.总体电路设计 (14)5.电路仿真 (16)5.1脉冲电路仿真 (16)5.2二分频电路仿真 (17)5.3整体电路仿真 (18)6.实物的制作 (19)6.1实物的焊接 (19)6.2电路的调试 (19)7.心得体会 (21)参考文献 (22)附录 (23)摘要本次数电课设是基于数字时序电路原理制作的,包括电路原理的设计,电路的仿真,和实物制作与调试。
仿真所用的是Multisim软件。
Multisim是美国国家仪器(NI)有限公司推出的以Windows为基础的仿真工具,适用于板级的模拟/数字电路板的设计工作。
跑马灯电路设计
跑马灯分析如下:跑马灯电路采用74LS194为核心控制彩灯左移、右移及闪烁功能,围绕74LS194的S1、S0工作的控制方式,S1、S0需要自动周期性的变化,为了实现自动模式转换,设计一个状态计数器,控制彩灯模式转换,利用74153双四选一电路,将S1、S0的状态置入74194,完成周期性地读取。
本设计方案的关键是S1、S0状态信息如何传送给74194,S1、S0状态信息要与整个彩灯控制电路相匹配,不同的S1、S0状态,送入74LS194数据输入端的数据不同,利用74LS153作为数据选通,连接到74LS194数据输入端,不同的工作状态,选通数据输出不同,这是设计的主要关键点之一。
电路中,利用74161完成状态计数工作,每8个时钟脉冲,状态计数器完成加一操作,完成移位方式控制,利用74194完成左移或右移及闪烁功能功能,利用74153完成左右移数据输入选通控制。
根据任务要求列出自动循环状态和74194移位控制工作方式表2。
表2X/0表示电路设计过程中,尽管状态表中取任意态,但在实际电路连接中,取低电平。
彩灯控制器完成左移、右移、闪烁及同时左右移,只需要4种状态,故状态计数器完成模4计数即可。
移位寄存器的工作状态由方式控制字S1、S0决定,查阅74LS194数据手册,确定S1、S0工作方式。
利用表.2,分析S1、S0的状态。
因为彩灯是八路输出,用两片74LS194,其中高位标号为74194B,低位为74194A,所以高位的74LS194工作方式标称为BS1、BS0,低位为AS1、AS0。
将BS1、BS0、AS1、AS0放在一起,用74153将数据状态选通输出即可从表格中可以看出,状态计数器描述计数状态,移位寄存器完成左移、右移、闪烁、左右同时移动功能,且自动循环进行。
2)74153选通电路及74194移位电路控制设计74194功能表该器件具有四种工作方式:同步并行置入、右移、左移、空操作(禁止时钟)。
数字电路跑马灯实验报告
实验名称:发光二极管走马灯电路设计与实现姓名:班级:班内序号:学院:日期:一、发光二极管走马灯电路设计与实现1.实验目的(1)进一步了解时序电路描述方法;(2)熟悉状态机的设计方法。
2.实验所用仪器及元器件(1)计算机;(2)直流稳压电源;(3)数字系统与逻辑设计实验开发板。
3.实验任务与要求设计并实现一个控制8个发光二极管亮灭的电路,仿真验证其功能,并下载到实验板测试。
(1)单点移动模式:一个点在8个发光二极管上来回的亮(2)幕布式:从中间两个点,同时向两边依次点亮直至全亮,然后再向中间点灭,依次往复。
4.设计思路和过程(1)设计一个模8计数器和一个模5计数器,在输入的时钟信号的上升沿触发。
(2)对于模8计数器,当计数值达到“001”时,计数标志位设置为‘0’,进行加计数;当计数值达到“110”时,计数标志位设置为‘1’,进行减计数。
(3)模5计数器的设计思路与模8计数器相同。
(4)对于输入的控制信号,当控制信号为“1”时,利用3线至8线译码器输出控制信号,实现单点移动模式;当控制信号为“0”时,利用3线至8线译码器输出控制信号,利用其中的5个状态,实现幕布式;5.VHDL代码这是库申明和实体申明,有三个输入端分别为控制端,时钟,复位。
一个八位的输出端。
TEMP用作输出;TEMP1,TEMP2为计数器状态,用作计数器的设计FLAG1,FLAG2标记计数器的计数方式,当为1是加计数,为0时减计数。
当控制端为1时实现单点移动模式,能够自启动。
当控制端为0时实现幕布式,将TEMP的值赋给输出Q。
6.仿真波形及分析(1)仿真波形(2)波形分析由波形可见,当控制信号输入为“1”时,输出的8个端口依次出现正脉冲,代表一个发光的点在8个发光二极管上来回的亮;当输入为“0”时,输出的8个端口出现正脉冲的时间与脉冲的长度呈现“中间宽,两头窄”的形状,实现了幕布式的点灯方式.由图可知,该电路实现了要求的逻辑。
7.故障及问题分析(1)开始设计时没有想到用计数器实现,导致全用case语句实现当设计单点移动时正确,但当实现幕布式是导致条件有重复故改用模8计数器实现,其实单点移动可以不用计数器而直接使用case语句,但为了统一思路都改为用计数器实现。
EDA实验 跑马灯
实验题目:跑马灯设计一、设计任务:设计8个LED进行花式显示,设计4种显示模式:1、从左到右逐个点亮LED;2、从右到左逐个点亮LED;3、从两边到中间逐个点亮LED;4、从中间到两边逐个点亮LED。
使得四种模式循环切换,由复位键rst控制系统的运行与停止。
二、实验过程⒈设计思路:分析该题目出现的所有状态,用“00000000”表示s0,“10000000”表示s1,“01000000”表示s2,“00100000”表示s3,“00010000”表示s4,“00001000”表示s5,“00000100”表示s6,“00000010”表示s7,“00000001”表示s8,“10000001”表示s9,“01000010”表示s10,“00100100”表示s11,“00011000”表示s12,另外定义了一个中间变量pp,用来表示该种状态的下一个状态为何,用来满足四种状态模式的连接操作。
在程序的结构体中编写两种进程,时序进程和组合进程,它们分别用来控制时钟、复位等时序信息和具体的状态转换关系。
根据状态转换图,对每一种状态编写下一项的确定状态,用pp来引导。
同时在适当的位置,进行pp值的定义变化,分别是“00000000”、“10000000”、“00000001”、“00011000”、“10000001”。
⒉设计方案:将列写出的状态转换图用VHDL语言表达出来,设计好相应的输入输出端口及功能过程,进行设计处理,编译文件,修改其中的错误,再用波形图进行编辑仿真描述,以便检查其功能是否正确,最后下载链接到硬件设备上检查其功能。
⒊设计步骤:(1)用VHDL语言设计实现计数器:运行QuartusII软件,选择菜单File/New Project Wizard...,新建一个项目,选择cyclone系列的芯片;在此项目下新建VHDL文件,编写计数器代码:library ieee;use ieee.std_logic_1164.all;entity test3 isport(clk, reset,stop : in std_logic;qout : buffer std_logic_vector(7 downto 0));end test3;architecture be of test3 istype fsm_st is(s0, s1, s2, s3, s4, s5, s6, s7, s8, s9, s10, s11, s12);signal current_state, next_state : fsm_st;signal pp : std_logic_vector(1 downto 0);beginreg : process(reset, clk)beginif reset = '1' then current_state <= s0;elsif rising_edge(clk) thencurrent_state <= next_state;end if;end process;com : process(current_state, reset)begincase current_state iswhen s0 => qout <= "00000000";if( reset ='0' and stop='0') then next_state <= s1; pp <= "00"; end if;when s1 => qout <= "10000000";if (pp = "00" and stop='0') then next_state <= s2;elsif (pp = "01" and stop='0')then next_state <= s9; pp <= "10"; end if;when s2 => qout <= "01000000";if (pp = "00" and stop='0')then next_state <= s3;elsif (pp = "01" and stop='0')then next_state <= s1;end if;when s3 => qout <= "00100000";if (pp = "00" and stop='0') then next_state <= s4;elsif (pp = "01" and stop='0')then next_state <= s2;end if;when s4 => qout <= "00010000";if (pp = "00" and stop='0')then next_state <= s5;elsif( pp = "01" and stop='0')then next_state <= s3;end if;when s5 => qout <= "00001000";if( pp = "00" and stop='0')then next_state <= s6;elsif (pp = "01" and stop='0')then next_state <= s4;end if;when s6 => qout <= "00000100";if (pp = "00" and stop='0')then next_state <= s7;elsif( pp = "01" and stop='0')then next_state <= s5;end if;when s7 => qout <= "00000010";if (pp = "00" and stop='0')then next_state <= s8;elsif (pp = "01" and stop='0')then next_state <= s6;end if;when s8 => qout <= "00000001";if (pp = "00" and stop='0')then next_state <= s7; pp <= "01"; end if;when s9 => qout <= "10000001";if (pp = "10" and stop='0')then next_state <= s10;elsif (pp = "11" and stop='0')then next_state <= s1; pp <= "00"; end if;when s10 => qout <= "01000010";if (pp = "10" and stop='0')then next_state <= s11;elsif (pp = "11" and stop='0')then next_state <= s9;end if;when s11 => qout <= "00100100";if (pp = "10" and stop='0')then next_state <= s12;elsif (pp = "11" and stop='0')then next_state <= s10;end if;when s12 => qout <= "00011000";if (pp = "10" and stop='0') then next_state <= s11; pp <= "11"; end if;when others => null;end case;end process;end be;(2)将此文件进行编译.(3)新建一个vector waveform form波形图文件,设置为波形仿真。
跑马灯控制电路设计
跑马灯控制电路设计 The Standardization Office was revised on the afternoon of December 13, 2020HDL数字系统课程设计报告书目录一、设计目的.......................... 错误!未定义书签。
二、设计思路.......................... 错误!未定义书签。
三、设计过程.......................... 错误!未定义书签。
、系统方案论证.................... 错误!未定义书签。
、程序代码设计.................... 错误!未定义书签。
四、系统调试与结果.................... 错误!未定义书签。
五、主要元器件与设备.................. 错误!未定义书签。
六、课程设计体会与建议................ 错误!未定义书签。
、设计体会........................ 错误!未定义书签。
、设计建议........................ 错误!未定义书签。
七、参考文献............................. 错误!未定义书签。
论文摘要:共16个LED灯,连成一排,实现几种灯的组合显示。
通过这次对跑马灯控制电路的设计与制作,了解了设计电路的程序,也了解了关于跑马灯工作的基本原理与设计理念,首先要将一个程序分成几个模块,分别调试每一个模块,当每个模块均能正常工作时,其次再将其都组合在一起再次调试与仿真,最后将程序下载到Altera公司ACEXTM系列EPEK30QC208-2芯片,观察程序是否能控制硬件的实现。
此外,本实验也可通过EDA软件和modelSim SE 实现。
关键词: HDL 数字系统跑马灯设计一、设计目的1、熟悉Verilog HDL程序编程。
2、掌握Altera公司ACEXTM系列EPEK30QC208-2芯片的使用方法。
EDA跑马灯设计
目录任务书第一章系统分析与设计方案 (1)1.1 设计原理 (1)第二章子模块设计及程序 (2)2.1 分频器 (2)2.2显示模式模块 (4)2.3 显示LED灯模块 (6)第三章调试仿真及结果 (7)3.1顶层原理图 (7)3.2 仿真图 (7)3.2.1 引脚锁定图 (7)3.2.2 波形仿真图 (8)第四章心得体会 (11)第一章系统分析与设计方案1.1 设计原理在掌握常用数字电路功能和原理的基础上,根据EDA技术课程所学知识,以及平时实验的具体操作内容,利用硬件描述语言HDL,EDA软件QuartusⅡ进行一个简单的电子系统设计,本次试验我所完成的内容是跑马灯的设计,下面我简单的进行一下原理的阐述。
跑马灯课程设计的要求是控制8个LED进行花样显示,设计四种显示模块:第一种显示是从左向右逐个点亮LED。
第二种显示:从右向左逐个点亮LED。
第三种显示:从两边向中间逐个点亮LED。
第四种显示:从中间到两边逐个点亮LED。
四种显示模式循环切换,并带有一位复位键控制系统的运行停止。
为了完成要求的效果显示,由于要求比较简单,所以不用分为很多模块来具体控制,所以我先择利用赋值语句来完成灯的点亮,根据了解我们实验箱上的LED灯属于共阴极接法,当给于高电平时点亮,那么当我们需要点亮某位LED灯时,只需在该位上赋予高电平即可,比如:如果我们要实现8个数码灯从左到右依次点亮,那么我们就可以给这8个数码灯分别赋值10000000,经过一段时间的延时后再给其赋值01000000,再经过一段时间延时后再给其赋值00100000,依次类推,则最后一种赋值状态为00000001,这样就得到了相应的现象。
同理,要实现数码灯从右向左依次点亮,从中间向两端依次点亮,从两端向中间依次点亮都可以采用这样赋值的方法。
在延时的程序编写的过程中,我们采用计数时钟脉冲个数的方式来实现。
结合具体程序来说就是,在每个时钟上升沿将clk_cnt变量加一,当达到499999后,就进入显示进程做下一步的赋值操作以显示相应接续的状态。
跑马灯实验报告基于硬件设计的跑马灯电路
数字电子技术基于硬件设计的跑马灯电路系别:电力工程系班级:姓名:学号:一、实验目的1. 熟悉NE555定时器,计数器CD4017的逻辑特性。
2. 熟悉NE555构成多谐振荡器原理。
3. 设计跑马灯电路并利用Multisim软件仿真电路。
二、实验要求1. 知道NE555、CD4017的管脚排列顺序。
2. 利用NE555构成多谐振荡器。
3. 知道电阻的主要参数及其标注方法。
(见实验指导书116页)。
4. 知道电容器的主要作用。
(见实验指导书122页)。
5. 了解有关焊接的知识。
三、实验器材电路板1块。
电容:1μF(1个)。
集成芯片:NE555(1个)、CD4017(1个)。
电阻:22KΏ、1KΏ、500Ώ各一个。
二极管:IN4148(8个)、发光二极管(10个)。
(自行提供)电池:5V四、电路的安装1.555用来定时,用它产生某种方波,相当于有的时钟信号2.4017是个十进制计数器,按照时钟信号从10个口依次输出1. 检查集成芯片NE555,CD4017的安装位置有无错误.2. 检查电解电容的极性有无错误;3. 检查二极管IN4148及发光二极管的安装方向有无错误;4. 检查各个电阻的安装是否有误。
5. 检查有无虚焊。
五、电路的调试1. 电路焊接好后,先将电路板正负端接到直流电压5V及地线处,观察发光二极管是否变亮。
2. 适当改变电位器阻值,观察其对CD4017循环周期(发功二极管依次循环一周)的影响。
3. 利用秒表记录CD4017一个合适循环周期的时间。
(分别测量电阻最大时、最小时、合适时的周期)附录1. 跑马灯电路图分析电路输出图像2. CD4017的相关资料CD4017是5位Johnson计数器,具有10个译码输出端,CP,CR,INH输入端,时钟输入端的斯密特触发器具有脉冲整形功能,对输入时钟脉冲上升和下降时间无限制。
其引脚排列如下引出端功能符号:进位脉冲输出 CP:时钟输入端CR:清除端(CR接低电位时,开始计数。
跑马灯
中州大学工程技术学院智能仪器课程设计设计题目:跑马灯原理及应用课程设计专业应电3+2班级14级学号201425170124姓名陈奡指导教师刘喜峰摘要:随着LED技术的不断发展以及LED在低功耗、长寿命、环保等方面的优势,LED应用领域逐渐增多。
同时,许多国家在看到LED巨大的市场潜力后,纷纷出台各项鼓励措施大力推动LED在各领域中的应用。
目前,LED的应用已经从最初的指示灯应用转向更具发展潜力的显示屏,景观照明、背光源、汽车车灯、交通灯、照明等领域,LED应用正呈现出多样化发展趋势。
本次课程设计就是用小功率LED 作为发光体替代实验室中价格昂贵的钠光灯或白炽灯。
并利用555定时器、可变电阻普通电阻、电解电容以及普通电容构成可调驱动电路,驱动CD4017计数器构成的译码电路,使LED依次循环。
目录设计任务和要求 (3)1.引言 (4)2.总体设计方案选择与说明 (5)2.1 方案选择 (5)2.2 电路工作原理: (5)3.单元硬件设计说明 (5)3.1 555定时器 (6)3.2 自激多谐振荡器 (10)3.3 十进制计数/分频器CD4017 (11)3.3.1 CD4017内容说明: (11)3.3.2 CD4017十进制计数器内部电路图: (12)3.3.3 CD4017时序波形图: (13)3.3.4 CD4017引脚图如下: (14)3.3.5 CD4017引脚功能: (14)3.4 发光二极管(LED) (15)3.4.1 LED 特点 (13)3.4.2 LED光源的特点 (16)3.5 元件明细表 (17)4.软件说明 (18)4.1 Protel99简介 (18)4.2 Proteus简介 (19)5.安装调试方法 (19)5.1 安装方法 (19)5.2 调试方法 (20)6.总结 (20)7.致谢 (21)8.参考文献 (22)附录一 (23)附录二......................................... .24 附录三 (25)附录四 (26)设计任务和要求设计任务: 以CD4017计数器为基础设计一灯组流动速度和亮度均可调的循环流水灯。
跑马灯课程设计
摘要:本设计使用89C51芯片,利用P0的8个端口连接8个发光二极管,通过P0.0到P0.7的值控制“跑马灯”的亮灭,以达到显示效果。
设计的中断程序要对多个按键动作进行响应,灯光变换的花样有4种,用4个按键k0,k1,k2,k3切换。
按下k1键,程序作左向流水灯; 按下k2按键程序作右向流水灯; 按下k3键为亮点向中间移动; 按下k4键为执行亮点向两边移动。
浏览了网上的各种作品及代码,通过各种实现代码的比较,和各种优化,总结出本程序,以较优秀的代码实现各种可控的“跑马”功能。
引言:本设计用4个开关按键控制8个发光二极管,组成为一排跑马灯进行各种样式的亮灯形式,在中断程序中处理多个按键动作的响应,以控制一排跑马灯的工作。
1设计概述本程序设计意在展示跑马灯的色彩样式及“跑马”变换效果,如果将跑马灯做大,会有很高的观赏价值。
我查阅书籍资料,浏览网上的各种作品及代码,通过各种实现代码的比较,和各种优化,总结出本程序,以较优秀的代码实现各种可控的“跑马”功能。
本设计的中断程序要对多个按键动作进行响应,灯光变换的花样有4种,用4个按键k1,k2,k3,k4切换。
进入程序后,程序作双向流水灯;按下k1键,程序作左向流水灯; 按下k2按键程序作右向流水灯; 按下k3键为亮点向中间移动; 按下k4键为执行亮点向两边移动。
2硬件电路设计及描述本设计使用89C51芯片,利用P0的8个端口连接8个发光二极管,通过P0.0到P0.7的值控制“跑马灯”的亮灭,以达到显示效果,连接图如图1所示。
图1:硬件电路连接图1利用P1.0到P1.3这4个端口作为4个控制开关的输入,控制开关连接INT0中断,按键触发中断响应以停止“跑马灯”当前的执行样式,进而改变跑马灯的显示样式。
图2:硬件电路连接图2综上所述,总体的电路连接如图3:图3:总体硬件电路连接图3软件设计流程及描述主程序的设计思路为,开始时执行左右流水灯,在中断服务程序中,首先读取按键状态,然后延时10ms,再次读取按键状态。
EDA综合实践-跑马灯
XI ’AN UNIVERSITY OF TECHNOLOGYEDA 综合实践跑马灯设计一.设计要求:1、控制16个led进行显示2、模式1:依次点亮led;模式2:从中间向两边依次点亮led;模式3:按顺序依次点亮4led,循环显示,就是说,16个led中只有4个led亮。
3、三种模式在按键的控制下,可循环切换。
二..设计跑马灯原理其原理框图如下:由原理图上可以清楚的看到,首先选择时钟输入。
选择50M的时钟输入,再经由分频器分成1Hz的频率作为状态机的时钟输入。
题目要求用键盘控制,故用clink键盘输入,并加上复位键作为整体的复位控制。
由于led灯的状态有十六种,故而需要按键clink的频率为输入1Hz时钟信号的16倍(波形仿真中已有)。
其次是状态机控制四种状态:st0,st1,st2,st3。
经由4选一数据选择器输出接入16个led灯显示。
三、源程序module wer(clk50M,reset,clink,z);input clk50M;input reset;input clink;//键盘输入output reg[15:0] z;reg[4:0] state0,state1,state2,state3;reg[15:0] st0,st1,st2,st3;reg [2:0] mode;reg[64:0] count;wire clk1hz;parameters0='d0,s1='d1,s2='d2,s3='d3,s4='d4,s5='d5,s6='d6,s7='d7,s8='d8,s9='d9,s10='d10,s11='d11,s12='d 12,s13='d13,s14='d14,s15='d15,s16='d16;always @(posedge clk50M)//把50M的时钟分频begin if (count==50000000 ) count<=0;else count<=count+1;endassign clk1hz=count[64];//得到1Hz的时钟信号always @(posedge clink or negedge reset)//四选一模块进行选择begin if (!reset) mode<=0;elseif (mode>3) mode<=0;elsemode<=mode+1;endalways@(*)case (mode)0:z=st0;1:z=st1;2:z=st2;3:z=st3;endcasealways @(posedge clk1hz)beginstate0=state0+1;endalways @(state0)//模式一begin case(state0)s0:st0<=16'b0000000000000000;s1:st0<=16'b1000000000000000;s2:st0<=16'b1100000000000000;s3:st0<=16'b1110000000000000;s4:st0<=16'b1111000000000000;s5:st0<=16'b1111100000000000;s6:st0<=16'b1111110000000000;s7:st0<=16'b1111111000000000;s8:st0<=16'b1111111100000000;s9:st0<=16'b1111111110000000;s10:st0<=16'b1111111111000000;s11:st0<=16'b1111111111100000;s12:st0<=16'b1111111111110000;s13:st0<=16'b1111111111111000;s14:st0<=16'b1111111111111100;s15:st0<=16'b1111111111111110;s16:st0<=16'b1111111111111111;default:st0<=16'b0000000000000000; endcaseendalways @(state1)//模式二begin case(state1)s0:st1<=16'b0000000000000000;s1:st1<=16'b0000000110000000;s2:st1<=16'b0000001111000000;s3:st1<=16'b0000011111100000;s4:st1<=16'b0000111111110000;s5:st1<=16'b0001111111111000;s6:st1<=16'b0011111111111100;s7:st1<=16'b0111111111111111;s8:st1<=16'b1111111111111111; default:st1<=16'b0000000000000000; endcaseendalways @(state2)//模式三begin case(state2)s0:st2<=16'b0000000000000000;s1:st2<=16'b1000000000000001;s2:st2<=16'b1100000000000011;s3:st2<=16'b1110000000000111;s4:st2<=16'b1111000000001111;s5:st2<=16'b1111100000011111;s6:st2<=16'b1111110000111111;s7:st2<=16'b1111111001111111;s8:st3<=16'b1111111111111111;default:st2<=16'b0000000000000000;endcaseendalways @(state3)//模式四begin case(state3)s0:st3<=16'b1000100010001000;s1:st3<=16'b0100010001000100;s2:st3<=16'b0010001000100010;s3:st3<=16'b0001000100010001;default:st3<=16'b0000000000000000;endcaseendendmodule四、编译和仿真波形图1: 跑马灯设计仿真图:五、仿真分析及结论由仿真波形图可以看出,16种状态需要按键频率为时钟频率的16分之1.复位从第一次按键下触发。
跑马灯电路设计
跑马灯电路设计单片机嵌入式系统中的跑马灯就像C语言的―Hello World!‖程序一样,虽然简单,却是一个非常经典的例子。
对初学者来说,通过跑马灯系统设计的学习与编程,能很快熟悉单片机的操作方式,了解单片机系统的开发流程,并通过第一个实例增强自己学习单片机系统设计的信心。
下面详细讲解跑马灯电路的设计。
6.1.1 跑马灯跑马灯,顾名思义,就是―会像马儿一样跑动‖的小灯,故取名―跑马灯‖。
跑马灯在单片机系统中一般是用来指示和显示单片机的运行状态,一般情况下,单片机的跑马灯由8个LED发光二极管组成,可以方便地显示一个8位数据(0~255)。
在单片机运行时,可以在不同状态下让跑马灯显示不同的组合,作为单片机系统正常的指示。
当单片机系统出现故障时,可以利用跑马灯显示当前的故障码,对故障做出诊断。
此外,跑马灯在单片机的调试过程中也非常有用,可以在不同时候将需要的寄存器或关键变量的值显示在跑马灯上,提供需要的调试信息。
如图6-1所示为开发板上的跑马灯,由8个贴片LED发光二极管组成,下面详细介绍LED 发光二极管的知识与电路设计方法。
6.1.2 发光二极管基础知识发光二极管的英文名为Light Emitting Diode,简称LED,发明于20世纪60年代,几十年来,发光二极管在各种电路及嵌入式系统中得到了广泛的应用,跑马灯使用的―小灯‖就是8个并排的LED。
LED发光二极管将电能转变成光能,可由Ⅲ-V族半导体材料制成。
当工作在正向偏置状态时,LED发光二极管与普通的二极管极其相似,其同样具备单向导电特性,不同之处仅在于当加上正向偏置时,LED发光二极管将向外发光,此时能量通过PN结的载流子过程从电能转换为光能。
LED发光二极管具有亮度高、耗电小、体积小、重量轻、寿命长、可靠性高、价格便宜等优点,已经被广泛地应用到不同的产品中,作为电源指示灯、系统状态灯、信号灯等用途。
在通常工作状态下,LED发光二极管的使用寿命保守估计约为10万小时,部分甚至可以达到100万小时。
数电实验报告发光二极管走马灯电路设计与实现
北京邮电大学数字电路与逻辑设计实验实验报告实验名称:发光二极管走马灯电路设计与实现学院:班级:姓名:学号:任课老师:实验日期:成绩:一.实验名称和实验任务要求实验名称:发光二极管走马灯电路设计与实现实验目的:⑴进一步了解时序电路描述方法;⑵熟悉状态机的设计方法。
实验任务要求:设计并实现一个控制8个发光二极管亮灭的电路,仿真验证其功能,并下载到实验板测试。
⑴单点移动模式:一个点在8个发光二极管上来回的亮;⑵幕布式:从中间两个点,同时向两边依次点亮直至全亮,然后再向中间点灭,依次往复。
二.设计思路和过程设计实现过程:⑴设计的电路拥有两种功能,所以设定d_in控制输出实现两种功能,规定当d_in=0时,实现单点移动模式;当d_in=1时,实现幕布式。
同时,时序电路中钟控是必不可少的,所以引入clk_in来实现钟控。
最终需输出在实验板上的8个发光二极管上验证,所以输出f需设定为8端口输出,如:f:out std_logic_vector(7 downto 0)。
⑵单点移动模式的实现:来一个时钟沿,实现一次变化。
单点移动模式需实现发光二极管来回亮,所以需定义一个16变量的数据类型。
利用CASE-WHEN语句实现状态的转移。
状态转移。
⑶幕布式的实现:需实现发光二极管从中间两个点,同时向两边依次点亮直至全亮,然后再向中间点灭,往复。
需要8变量数据类型,利用单点式中信号类型定义给状态转移。
状态转移需满足:三.VHDL程序发光二极管走马灯电路VHDL程序:四.仿真波形图发光二极管走马灯电路的仿真波形图:五.仿真波形图分析⑴单点移动模式功能的仿真波形图分析:由波形可见,当控制信号d_in=0时,输出的8个端口依次出现正脉冲,波形呈现阶梯状,代表一个发光的点在8个发光二极管上来回的亮,实现了功能要求;⑵幕布式功能的仿真波形图的分析:当控制信号d_in=1时,输出的8个端口出现正脉冲的时间与脉冲的长度呈现“中间宽,两头窄”的形状,先是中间的两个灯亮,接下来是中间四个灯亮,接下来是中间六个灯亮,两旁两个灯不亮,最后全亮,接着中间六个灯亮,两旁两个灯不亮,继而循环下去,实现了幕布式的点灯方式。
倒计时光控跑马灯电路设计
电子线路课程设计报告设计课题:倒计时跑马灯倒计时跑马灯一、设计任务该制作能自行识别工作环境,即白天“跑马灯”自行停止运行,待到傍晚天暗下来,数码管自动显示“0”时,说明“跑马灯”电路得电即可以工作运行。
此后手工按下工作键,电路延时十秒钟,在延时的同时,数码管倒计时显示“0-9-8-7-6-5-4-3-3-2-1-0”。
当其从“1-0”瞬间,“跑马灯”立即分两路工作,工作过程是:1)第一路是绿灯红灯(绿灯在前,红灯在后)在黑暗背景中流动。
当绿灯独自从头到尾流动时,这一路的任何变色管不亮,形成黑暗背景。
而绿灯在尾部消失瞬间,红灯立即出现在头部并开始从头部到尾部独自地沿原来绿灯路线在黑暗背景中流动。
当红灯在尾部消失瞬间,绿灯立即出现在头部并开始从头部到尾部独自地沿原来绿灯路线在黑暗背景中流动·····彼此循环往复。
第一路是绿灯红灯(绿灯在前,红灯在后)在橙色背景中流动。
当绿灯独自从头到尾流动时,这一路的变色管显橙色,形成橙色背景。
而绿灯在尾部消失瞬间,红灯立即出现在头部并开始从头部到尾部独自地沿原来绿灯路线在橙色背景中流动。
当红灯在尾部消失瞬间,绿灯立即出现在头部并开始从头部到尾部独自地沿原来绿灯路线在橙色背景中流动·····彼此循环往复。
直到第二天凌晨天亮后,数码管熄灭····再到傍晚时,作品有重复上述过程。
二、设计要求1)电源稳压管输出电压用绿发光二极管指示2)脉冲信号发生器输出用红发光二极管指示3)二路“跑马灯”各用五只变色发光二极管制作4)数码管得电后显示“0”,倒计时只能从“0”开始,经“0-9-8-7-6-5-4-3-3-2-1-0”再停在“0”状态,此间延时十秒。
5)“跑马灯”严格地按照“手动按下工作键后”,当倒计时至“1-0”瞬间开始运动,在运动过程中,数码管始终保持“0”态。
数字电路设计-跑马灯
数字电路课程设计报告设计课题:跑马灯专业班级:12电信2班学生姓名:刘鹏学号:120802084指导教师:曾祥志设计时间:2016.4-2016.5目录1 设计要求 (2)1.1 设计规范 (2)2 设计方案 (2)2.1题目分析 (2)2.2 整体构思 (2)3 元件说明 (3)3.1 元件说明 (3)3.2电路原理图 (3)4 安装与调试 (6)5 心得体会........................... ............. (7)6参考文献......................................... .. (7)7附录 (8)1 设计任务与要求1.1 设计规范(1)、根据技术指标要求确定电路形式,分析工作原理,计算元件参数。
(2)、安装调试所设计的电路,使之达到设计要求。
(3)、记录实验结果。
(4)、撰写设计报告。
设计要求(1)实现10灯循环点亮。
(2) 红绿灯各5盏。
(3)实现红绿灯流水交替显示。
2设计方案2.1题目分析我们设计的跑马灯实际上是主要使用一个555芯片产生脉冲给到,CD4017芯片对10个LED进行控制,产生流水交替的效果。
形成跑马灯。
2.2 整体构思拟定系统方案框图,画出系统框图中每框的名称、信号的流向,各框图间的接口,使用电路设计软件画出原理图。
3. 元件说明3.1元件说明555功能:555 的功能主要由两个比较器决定。
两个比较器的输出电压控制RS 触发器和放电管的状态。
在电源与地之间加上电压,当5 脚悬空时,则电压比较器C1 的同相输入端的电压为2VCC /3,C2 的反相输入端的电压为VCC /3。
若触发输入端TR 的电压小于VCC /3,则比较器C2 的输出为0,可使RS 触发器置1,使输出端OUT=1。
如果阈值输入端TH 的电压大于2VCC/3,同时TR 端的电压大于VCC /3,则C1 的输出为0,C2 的输出为1,可将RS 触发器置0,使输出为低电平。
跑马灯数字电路设计思路
跑马灯数字电路设计思路主要包括以下几个方面:
1. 确定电路功能:首先明确跑马灯电路需要实现的功能,例如显示数字、显示字母或显示图案等。
2. 选择合适的器件:根据电路功能和要求,选择合适的器件,例如LED灯、数码管、集成电路等。
3. 设计电路结构:根据所选器件和电路功能,设计出合理的电路结构,包括电源电路、控制电路、显示电路等。
4. 编写控制程序:根据电路结构和显示需求,编写控制程序,实现对数码管的显示控制。
5. 调试与测试:在完成电路设计和程序编写后,进行调试和测试,确保电路和程序的正确性和可靠性。
6. 优化与改进:根据测试结果和实际需求,对电路和程序进行优化和改进,提高性能和可靠性。
在设计跑马灯数字电路时,需要注重器件的选择、电路的稳定性、程序的正确性和可靠性等方面,以确保最终实现的效果满足要求。
数电课程设计跑马灯
数电课程设计跑马灯一、课程目标知识目标:1. 理解数字电路基础知识,掌握基本逻辑门的功能和运用;2. 学会使用触发器、计数器等组件设计简单的时序逻辑电路;3. 掌握跑马灯电路的原理,了解其设计过程和实现方法。
技能目标:1. 能够运用所学知识,设计并搭建简单的数字电路;2. 能够分析和解决跑马灯电路中可能出现的问题;3. 培养动手实践能力,提高团队协作能力。
情感态度价值观目标:1. 培养学生对数字电路的兴趣,激发学习热情;2. 培养学生严谨的科学态度,注重实践与理论相结合;3. 培养学生的创新意识,鼓励探索未知领域。
课程性质:本课程为电子技术课程的一部分,主要针对数字电路设计进行教学。
通过跑马灯电路的设计,使学生掌握数字电路的基本原理和设计方法。
学生特点:学生已具备一定的电子技术基础,对数字电路有一定了解,但实践经验不足。
教学要求:结合学生特点,注重理论与实践相结合,强调动手实践,培养学生的创新能力和团队协作能力。
将课程目标分解为具体的学习成果,以便在教学设计和评估中实现有效监控。
二、教学内容1. 数字电路基础知识回顾:逻辑门(与门、或门、非门等)、触发器(RS触发器、D触发器等)、计数器(二进制计数器、十进制计数器等)。
相关教材章节:第一章 数字逻辑基础2. 跑马灯电路原理:介绍跑马灯电路的构成、工作原理及其在数字电路中的应用。
相关教材章节:第三章 时序逻辑电路3. 跑马灯电路设计:讲解跑马灯电路的设计方法,包括电路图绘制、元件选型、电路搭建等。
相关教材章节:第四章 数字电路设计实例4. 动手实践:分组进行跑马灯电路的设计与搭建,培养学生动手实践能力和团队协作精神。
教学内容安排与进度:第一课时:回顾数字电路基础知识,讲解跑马灯电路原理。
第二课时:讲解跑马灯电路设计方法,制定设计方案。
第三课时:分组进行跑马灯电路的设计与搭建,教师巡回指导。
第四课时:展示各组跑马灯电路成果,总结经验教训。
教学内容注重科学性和系统性,结合教材章节和课程目标,确保学生在学习过程中掌握数字电路的基本原理和设计方法。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Johnson 计数器,提供了快速操作、2 输入译码选通和无毛刺译码输出。防锁选通,保证了正确的计数顺序。译码输出一般为低电平,只有在对应时钟周期内保持高电平。在每10 个时钟输入周期CO 信号完成一次进位,并用作多级计数链的下级脉动时钟。
555引脚图:
功能表:
清零端
高触发端TH
低触发端TR
V0
放电管T(V)
功能
0
x
x
0
导通
直接清零
1
0
1
x
保持上一状态
保持上一状态
1
1
0
1
截止
置1
1
0
0
1
截止
置1
1
1
1
0
导通
清零
CD4017:十进制计数器/脉冲分配器
CD4017 是5 位Johnson 计数器,具有10 个译码输出端,CP、CR、INH 输入端。时钟输
7附录………………………………………………………………………………………………………..8
1 设计任务与要求
1.1设计规范
(1)、根据技术指标要求确定电路形式,分析工作原理,计算元件参数。
(2)、安装调试所设计的电路,使之达到设计要求。
(3)、记录实验结果。
(4)、撰写设计报告。
设计要求
(1)实现10灯循环点亮。
2 设计方案..........................................................2
2.1题目分析...........................................................2
2.2整体构思...........................................................2
数字电路课程设计报告
设计课题:跑马灯
专业班级:12电信2班
学生姓名:刘鹏
学 号:120802084
指导教师:曾祥志
设计时间:2016.4-2016.5
1设计要求..........................................................2
1.1设计规范....................................................2
4 安装与调试.................................................. 6
5 心得体会..........................................................7
6参考文献.............................................................7
3 元件说明............................................................3
3.1元件说明............................................................3
3.2电路原理图……………………………………………………………………………3
3. 元件说明
3.1元件说明
555功能:555的功能主要由两个比较器决定。两个比较器的输出电压控制RS触发器和放电管的状态。在电源与地之间加上电压,当5脚悬空时,则电压比较器C1的同相输入端的电压为2VCC /3,C2的反相输入端的电压为VCC /3。若触发输入端TR的电压小于VCC /3,则比较器C2的输出为0,可使RS触发器置1,使输出端OUT=1。如果阈值输入端TH的电压大于2VCC/3,同时TR端的电压大于VCC /3,则C1的输出为0,C2的输出为1,可将RS触发器置0,使输出为低电平。
(2) 红绿灯各5盏。
(3)实现红绿灯流水交替显示。
2
2.1题目分析
我们设计的跑马灯实际上是主要使用一个555芯片产生脉冲给到,CD4017芯片对10个LED进行控制,产生流水交替的效果。形成跑马灯。
2.2整体构思
拟定系统方案框图,画出系统框图中每框的名称、信号的流向,各框图间的接口,使用电路设计软件画出原理图。
CD4017逻辑图
输入电压:-0.5V-VDD十0.5V
输入电流:±10mA
贮存温度:-65℃-150℃
CD4017
引出端功能符号
CO:进位脉冲输出
CP:时钟输入端
CR:清除端
INH:禁止端
Y0~Y9:计数脉冲输出端
VDD:正电源
VSS:地
CD4017
输入
输出
CP
INH
CR
Q0~Q9
CO
×
×
H
Q0
CD4017 提供了16 引线多层陶瓷双列直插(D)、熔封陶瓷双列直插(J)、塑料双列直插(P)和陶瓷片状载体(C)4 种封装形式。
工作条件
电源电压范围:3V-15V
CD4017波形图
输入电压范围:0V-VDD
工作温度范围
M类:55℃-125℃
E类:40℃-85℃
CD4017
电源电压:-0.5V-18V
数字电子技术课程设计,我更加熟悉了数字电路在生活中的运用。使我认识到电子课程设计的重要性,作为电子专业的学生必须要有动手的习惯。只有在理论知识和实际操作相结合下才能够学好电子技术专业。在设计跑马灯原理图的过程中,学会了利用软件进行电路的仿真,扎实了自己的焊接技巧,动手能力!
经过这次的数字电子技术课程的设计,我受益匪浅,感触良深。通过自己动手学到了很多课本上学不到的东西,使我认识到动手的重要性和必要性。作为一名大学生,我们不应该仅仅学习理论知识,还要注重实践,只有理时:CO=H
计数脉冲为Q5~Q9时:CO=L
↑
L
L
计数
H
↓
L
L
×
L
保持
×
H
L
↓
×
L
×
↑
L
3.2电路原理图
4安装与调试
先布线排版,利用焊接工具和所学的焊接知识开始将功能板进行制作。安装过程中由于焊接时的疏忽,有些地方没有焊好,经过使用万用表的检测,成功实现了实验要求。调试正常。
5 心得与体会