重庆科创学院-EDA十进制计数器并用led显示

合集下载

LED数码显示时钟(EDA程序设计)

LED数码显示时钟(EDA程序设计)

LED 数码显示时钟一、实验目的 :1、地运用数字系统的设计方法进行数字系统设计。

2、能进行较复杂的数字系统设计。

3、数字钟的工作原理, 数字钟的工作流程图与原理方框图, 自顶向下的数字系统设计方法。

二、实验原理:1、数字钟的基本工作原理:数字钟以其显示时间的直观性、走时准确性而受到了人们的欢迎并很快走进了千 家万户。

作为一种计时工具,数字钟的基本组成部分离不开计数器,在控制逻辑电路的控制下完成预定的各项功能。

数字钟的基本原理方框图如下:(1)时基T 产生电路:由晶振产生的频率非常稳定的脉冲,经整形、稳定电路后,产生一个频率为 1Hz 的、非常稳定的计数时钟脉冲。

(2)控制逻辑电路:产生调时、调分信号及位选信号。

调时、调分信号的产生:由计数器的计数过程可知,正常计数时,当秒计数器( 60进制)计数到59 时,再来一个脉冲,则秒计数器清零,重新开始新一轮的计数,而进位则作为分计数器的计数脉冲,使分计数器计数加1。

现在我们把电路稍做变动:把秒计数器的进位脉冲和一个频率为2Hz 的脉冲信号同时接到一个2选1数据选择器的两个数据输入端,而位选信号则接一个脉冲按键开关,当按键开关不按下去时(即为0),则数据选择器将秒计数器的进位脉冲送到分计数器,此时,数字钟正常工作;当按键开关按下去时(即为1),则数据选择器将另外一个2Hz 的信号作为分计数器的计数脉冲,使其计数频率加快,当达到正确时间时,松开按键开关,从而达到调时的目的。

调节小时的时间也一样的实现。

(3)计数显示电路:由计数部分、数据选择器、译码器组成,是时钟的关键部分。

计数部分: 由两个 60进制计数器和一个24 进制计数器组成,其中60 进制计数器可用6 进制计数器和10 进制计数器构成;24 进制的小时计数同样可用6 进制计数器和10 进制计数器得到:当计数器计数到24 时,“2”和“4”同时进行清零,则可实现24 进制计数。

数据选择器:84输入14输出的多路数据选择器,因为本实验用到了8个数码管(有两个用来产生隔离符号‘—')。

EDA三位十进制计数显示器

EDA三位十进制计数显示器

三位十进制计数显示器一、设计要求1、设计3位十进制计数器;2、设计输出低电平有效的七段显示译码器;3、显示计数器值。

二、实验原理三位十进制计数显示器的设计分三步完成。

先设计三位十进制计数电路,再设计显示译码电路,最后建立一个顶层文件将前两者连接起来。

三、实验器材计算机一台操作系统:WINDOWS XP软件:ispDesignEXPERT System硬件:电路板一个四、设计程序代码1、三位十进制计数程序LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY COU3 ISPORT(CLK,RESET,CIN :IN STD_LOGIC;CO :OUT STD_LOGIC;BCDAP :OUT STD_LOGIC_VECTOR(3 DOWNTO 0);BCDBP :OUT STD_LOGIC_VECTOR(3 DOWNTO 0);BCDCP :OUT STD_LOGIC_VECTOR(3 DOWNTO 0));END COU3;ARCHITECTURE BEHAVE OF COU3 ISSIGNAL BCDAN:STD_LOGIC_VECTOR(3 DOWNTO 0);SIGNAL BCDBN:STD_LOGIC_VECTOR(3 DOWNTO 0);SIGNAL BCDCN:STD_LOGIC_VECTOR(3 DOWNTO 0);BEGINBCDAP<=BCDAN;BCDBP<=BCDBN;BCDCP<=BCDCN;KK1:PROCESS(CLK)BEGINIF(CLK'EVENT AND CLK='1')THENIF(RESET='0')THENBCDAN<="0000";ELSIF(CIN='1')THENIF(BCDAN="1001")THENBCDAN<="0000";ELSEBCDAN<=BCDAN+'1';END IF;END IF;END IF;END PROCESS KK1;KK2:PROCESS(CLK)BEGINIF(CLK'EVENT AND CLK='1')THENIF(RESET='0')THENBCDBN<="0000";ELSIF(CIN='1') AND (BCDAN="1001")THENIF(BCDBN="1001")THENBCDBN<="0000";ELSEBCDBN<=BCDBN+'1';END IF;END IF;END IF;END PROCESS KK2;KK3:PROCESS(CLK)BEGINIF(CLK'EVENT AND CLK='1')THENIF(RESET='0')THENBCDCN<="0000";ELSIF(CIN='1') AND (BCDBN="1001") AND (BCDAN="1001")THEN IF(BCDCN="1001")THENBCDCN<="0000";ELSEBCDCN<=BCDCN+'1';END IF;END IF;END IF;END PROCESS KK3;END BEHAVE;2、七段显示译码器程序LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY SEG7 ISPORT(II:IN STD_LOGIC_VECTOR(3 DOWNTO 0);Y :OUT STD_LOGIC_VECTOR(6 DOWNTO 0));END SEG7;ARCHITECTURE BEHAVE OF SEG7 ISSIGNAL INDATA:STD_LOGIC_VECTOR(3 DOWNTO 0);BEGININDATA<=II;PROCESS(INDATA)BEGINCASE INDATA ISWHEN"0000"=> Y<="0000001";WHEN"0001"=> Y<="1001111";WHEN"0010"=> Y<="0010010";WHEN"0011"=> Y<="0000110";WHEN"0100"=> Y<="1001100";WHEN"0101"=> Y<="0100100";WHEN"0110"=> Y<="0100000";WHEN"0111"=> Y<="0001111";WHEN"1000"=> Y<="0000000";WHEN"1001"=> Y<="0000100";WHEN"1010"=> Y<="0001000";WHEN"1011"=> Y<="1100000";WHEN"1100"=> Y<="0110001";WHEN"1101"=> Y<="1000010";WHEN"1110"=> Y<="0110000";WHEN"1111"=> Y<="0111000";WHEN OTHERS=>Y<="XXXXXXX";END CASE;END PROCESS;END BEHAVE;3、顶层文件程序LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY COU37SEG ISPORT(CLK,RESET,ENA:IN STD_LOGIC;SEG1: OUT STD_LOGIC_VECTOR(6 DOWNTO 0); SEG2: OUT STD_LOGIC_VECTOR(6 DOWNTO 0); SEG3: OUT STD_LOGIC_VECTOR(6 DOWNTO 0)); END COU37SEG;ARCHITECTURE X37 OF COU37SEG ISCOMPONENT SEG7PORT(II:IN STD_LOGIC_VECTOR(3 DOWNTO 0);Y :OUT STD_LOGIC_VECTOR(6 DOWNTO 0));END COMPONENT;COMPONENT COU3PORT(CLK,RESET,CIN:IN STD_LOGIC;BCDAP: OUT STD_LOGIC_VECTOR(3 DOWNTO 0);BCDBP: OUT STD_LOGIC_VECTOR(3 DOWNTO 0);BCDCP: OUT STD_LOGIC_VECTOR(3 DOWNTO 0));END COMPONENT;SIGNAL A,B,C:STD_LOGIC_VECTOR(3 DOWNTO 0);BEGINU0:COU3 PORT MAP(CLK,RESET,ENA,A,B,C);U1:SEG7 PORT MAP(A,SEG1);U2:SEG7 PORT MAP(B,SEG2);U3:SEG7 PORT MAP(C,SEG3);END X37;五、设计步骤1、打开ispEXPERT软件,简历一个新的工程(1)单击菜单File选New Project(2)输入工程路径,工程名2、建立VHDL文件单击File选New菜单项,选择VHDL File选项,单击OK按钮以简历VHDL 文件,分别建立三位十进制计数器程序的vhd文件COU3.vhd、七段显示译码器程序的vhd文件SEG7.vhd、顶层文件的vhd文件COU37SEG.vhd。

EDA课程设计之十进制计数器流程

EDA课程设计之十进制计数器流程

2.1 十进制计数器流程2.11 建立工作库文件夹和编辑设计文件任何一项设计都是一项工程(Project),都必须首先为此工程建立一个放置与此工程相关的所有设计文件的文件夹。

此文件夹将被EDA软件默认为工作库(Work Library)。

一般,不同的设计项目最好放在不同的文件夹中,而同一工程的所有文件都必须放在同一文件夹中。

在建立了文件夹后就可以将设计文件通过Quartus II的文本编辑器编辑并存盘,步骤如下:(1)新建一个文件夹。

这里假设本项设计的文件夹取名为CNT10B,在D盘中,路径为d:\cnt10b 。

注意,文件夹名不能用中文,也最好不要用数字。

(2)输入源程序。

打开QuartusII,选择菜单File→New。

在New窗口中的Device Design Files中选择编译文件的语言类型,这里选择“VHDL File”(如图2-1所示)。

然后在VHDL 文本编译窗中输入(键入)例3-22所示的VHDL示例程序。

图2-1 选择编辑文件的语言类型《示例程序和实验指导课件位置》:\EDA_BOOK3_FOR_1C6\chpt4\EXPT53_cnt10\工程cnt10【例3-22】LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY CNT10 ISPORT (CLK,RST,EN : IN STD_LOGIC;CQ : OUT STD_LOGIC_VECTOR(3 DOWNTO 0);COUT : OUT STD_LOGIC );END CNT10;ARCHITECTURE behav OF CNT10 ISBEGINPROCESS(CLK, RST, EN)VARIABLE CQI : STD_LOGIC_VECTOR(3 DOWNTO 0);BEGINIF RST = '1' THEN CQI := (OTHERS =>'0') ; --计数器异步复位ELSIF CLK'EVENT AND CLK='1' THEN --检测时钟上升沿IF EN = '1' THEN --检测是否允许计数(同步使能)IF CQI < 9 THEN CQI := CQI + 1; --允许计数, 检测是否小于9 ELSE CQI := (OTHERS =>'0'); --大于9,计数值清零END IF;END IF;END IF;IF CQI = 9 THEN COUT <= '1'; --计数大于9,输出进位信号ELSE COUT <= '0';END IF;CQ <= CQI; --将计数值向端口输出END PROCESS;(3)文件存盘。

《EDA课程设计2位十进制四则运算电路》

《EDA课程设计2位十进制四则运算电路》

《电子设计自动化》课程设计题目:2位十进制四则运算器电路院(系)信息科学与工程学院专业通信工程届别2011级班级1班学号1115102040姓名韦桂任课老师彭盛亮摘要本次课程设计主要内容是采用VHDL语言实现2位十进制数四则运算编程,用Quartus II 软件实现功能仿真,并完成硬件测试。

本次试验目的是:输入任意两个两十进制位数(0~99),选择计算模式(加减乘除),输出它们的计算结果,利用四个数码 LED 分别显示输入的两个两位数,利用四个发光二极管显示计算模式(每次只有一个二极管发光),利用另外四个数码管显示计算结果;实现方法是:将整个系统分为输入模块,计算模块和输出模块三个部分组成。

输入模块由3个脉冲键,2个复位键和2个使能端组成;计算模块分别为加法器,减法器,乘法器,除法器;输出模块通过8个数码管和4个发光二极管分别显示运算数值,运算结果和运算模式。

经过多次修改,波形仿真和硬件测试均成功。

设置两个计数器的复位键,以便于输入比较大的数之后,想进行比较小的数字的运算可以按复位键,以减少按键5或键6的次数,设置模块时,为使电路看起来更加简洁,应减少使用电路模块,如:都除以10取余时,把除数端口都连接在同一个常数端。

目录第一部分系统设计 (4)1.1设计要求: (4)1.2系统设计方案: (4)1.2.1设计总思路: (4)1.2.2实验的主要方法: (4)1.2.3电路设计: (4)1.2.4实验电路图: (4)(1)总电路 (5)(2)输入模块: (5)(3)计算模块 (5)(4)输出模块: (6)1.2.5:总体方法的论证与比较: (7)第二部分软件设计 (7)2.1软件设计平台 (7)2.2程序流程图 (7)2.3实验相关程序 (7)2.3.1clkA与clkB中需要用的100进制计数器cnt100: (7)2.3.2.四进制计数器cnt4程序: (8)2.3.3.nu15_add中需用的加法程序: (9)2.3.4.nu15_sub中需要用的减法程序: (9)2.3.5.nu15_mod程序: (10)2.4 总电路波形仿真 (11)2.5 管脚分配 (11)(1)Input: (11)(2)Output: (11)第三部分系统测试 (12)3.1 软件测试结构综合结果 (12)3.2仪器设备名称、型号 (12)3.3功能测试方法、步骤: (12)第四部分结论及收获 (13)4.1结论 (13)4.2致谢 (13)4.3 参考文献 (13)第一部分系统设计1.1设计要求:输入两个2位十进制数(0~99),输出它们的四则运算(加减乘除)结果;发光二极管显示运算模式;可调用LPM_MULT及LPM_DIVIDE模块。

EDA技术课程设计报告-LED点阵汉字显示

EDA技术课程设计报告-LED点阵汉字显示

EDA技术课程设计报告题目:LED点阵汉字显示姓名学号班级指导教师2012年1 月12 日要求:1.指导教师按照课程设计大纲要求完成学生课程设计指导工作。

2.课程设计任务书由指导教师照大纲要求填写,内容要全面。

3.课程设计报告由参加本学生填写。

课程设计结束时交指导教师。

4.指导教师要根据每一位学生课程设计任务完成情况,认真审核设计报告,并在课程设计结束时,给出客观、准确的评语和成绩。

5.课程设计任务书和报告要语言流畅,图表正确规范。

课程设计任务书课程设计报告注:此表可加附页图1 PCtoLCD生成汉字“字”及其编码表1 SEL与L对应关系SEL3-SEL0 L0-L15 0000 "0000000000000000"0001 "0000000000000000"0010 "0001111111111000"0011 "0000100010001000"0100 "0000100010001000"0101 "0000100010001000"0110 "0000100010001000"0111 "0111111111111111"1000 "1000100010001000"1001 "1000100010001000"1010 "1000100010001000"1011 "1000100010001000"1100 "1001111111111000"1101 "1000000000000000"1110 "1111000000000000"1111 "0000000000000000"2.“电”字显示原理及各模块工作原理2.1“电”字显示原理图“电”字显示原理图如图2.1所示。

eda课程设计--LED点阵显示控制

eda课程设计--LED点阵显示控制

绍兴文理学院数理信息学院EDA技术课程设计报告课题 LED点阵显示控制设计姓名学号专业班级指导教师时间课程设计任务书LED点阵显示控制摘要本文对基于FPGA控制的LED汉字滚动显示器的设计方法进行了探讨。

提出了两个实现方案。

并对其中一个方案作了详细说明。

文中首先介绍了完成本设计所需的原理、技术、以及所要实现的功能;然后研究了滚动显示汉字的方法及键控模式改变滚动的方式;最后,用VHDL语言程序设计了一个完整的LED汉字滚动显示器。

本系统在FPGA试验箱上完成,由扫描控制模块、只读存储器ROM和16*16LED点阵显示模块、一个4-16译码器构成。

其中:扫描控制模块和只读存储器ROM集成在FPGA 芯片内部。

一个4-16译码器(74LS154)输入完成FPGA中16×16点阵显示模块的列扫描模式。

FPGA定义的只读存储器ROM中保存了要显示的汉字的数模,并以16位的数据宽度输出到LED阵显示模块的行端,配合列扫描控制共同完成汉字的滚动显示。

同时通过键控模式,对字幕滚动速度、方式、形式可调。

本系统利用数字系统设计自动化(EDA)技术实现了全硬件方式的LED点阵显示。

利用FPGA内部的物理资源,将只读存储器ROM和主要功能模块设计在FPGA内部。

充分显示了EDA技术设计的灵活性,同时也大大提高了系统的集成度和稳定性关键词FPGA;LED;EDA;动态扫描目录课程设计任务书 (I)摘要 (II)1. 设计概述 (1)1.1LED点阵原理 (1)1.3汉字显示原理 (2)1.4设计的主要功能 (2)1.5设计的主要工作 (3)2. 设计方案 (4)2.1方案一 (4)2.2方案二 (4)2.3方案比较 (5)3. 设计实现 (6)3.1分频程序 (6)3.2移动速度控制程序 (8)3.3按键扫描 (9)3.4汉字显示程序 (10)4. 设计验证 (12)5. 总结 (14)参考文献 (15)附录 (16)1. 设计概述1.1LED 点阵原理以下为8×8点阵LED 外观及引脚图及其等效电路,只要其对应的X 、Y 轴顺向偏压,即可使LED 发亮。

eda课程设计之2位十进制四则运算器电路四则运算器.x

eda课程设计之2位十进制四则运算器电路四则运算器.x

《电子设计自动化》课程设计题目: 2位十进制四则运算器电路院(系)信息科学与工程学院专业通信工程届别 2011级班级学号姓名任课老师彭盛亮摘要本设计是利用EDA技术实现的2位十进制四则运算器,是基于QuartusII7.2软件,利用其强大、直观、便捷和操作灵活的原理图输入设计的功能来完成本次设计的。

此设计利用QuartusII7.2中的EP2C5T144C8芯片来控制整个程序的运行,用七段数码管显示各个输入和输出,用LED灯的亮灭来显示运算模式,而软件部分则是由VHDL 语言来编写的,是通过精心的设计和合理的规划而完成的设计。

设计完成后的运算器不仅能实现数据的加减乘除运算,而且还能使数据及其计算结果在数码管上显示出来,能够实现0-99的十进制数字四则运算。

目录第一章系统设计 (1)1.1设计要求 (1)1.2系统设计方案 (1) (2) (3)第二章单元电路设计 (5)2.1 输入模块 (5)2.2加法模块 (5)2.3减法模块 (6)2.4乘法模块 (7)2.5 除法模块 (8)2.6 模式选择模块 (9)2.7输出模块 (9)第三章软件设计 (10)3.1 软件设计平台、开发工具和实现方法 (10)3.2程序的流程方框图 (10)3.3实现的功能及程序清单 (11) (11) (12) (13) (13) (14) (14) (15)第四章系统测试 (16)4.1 功能的测试方法、步骤 (16)4.2 仪器设备 (17)第五章结论 (18)参考文献 (18)附录A 电路图图纸 (18)附录B 软件程序 (22)第一章系统设计1.1设计要求输入两个2位十进制数(0~99),输出它们的四则运算(加减乘除)结果;发光二极管显示运算模式;可调用LPM_MULT及LPM_DIVIDE模块。

1.2系统设计方案通过分析可知,要完成本次课程设计可以分为三个模块来实现相应的功能,分别是输入模块、计算模块以及输出模块。

课程设计--10进制计数器以及8位按键显示器

课程设计--10进制计数器以及8位按键显示器

数电课程设计实验课题:10进制计数器以及8位按键显示器所在学院:信息科学与工程学院专业班级:通信工程1103班姓名:吴勇慷学号:110404302指导教师:孙洪林课程设计内容以及要求:功能一:能实现0~9九个数连续循环显示的加法计数功能。

功能二:能实现8个按键,当按到某个按键时,数码管上显示该按键所对应的的数字,互相不影响。

设计的任务1:设计电路图2:写出电路原理3:对所做的电路进行调试分析4:对实验进行总结和体会实验所需元器件USB插口一个,开关8个,200K的电阻11个以及47K的电阻一个,一个74LS148,74LS160,CD4511,74LS04,单刀双掷开关,数码管,555定时器,0.1uF的电容,0.01uF的电容设计方法和步骤:将电路分为两个部分,一部分为按键显示,另一部分是自动循环显示。

按键显示大体部分由开关控制信号的输入进入编码器然后编码器的输出通过译码器在通过数码管进行显示。

0~9九个数连续循环显示电路用十进制计数器还要有脉冲发生器最后将输出结果显示出来。

最后将这两个电路连接起来通过计数器的预制数端进行功能的转换。

设计原理为实现10进制计数器功能,需用到74LS160芯片。

当把它的LD端与RD端接到高电平时,它工作在计数功能,这时它的工作原理就是10进制计数器;为实现8按键显示器功能,需要用到74HC148优先编码器与74LS04非门芯片,74HC148为cmos管,所以要加上拉电阻,之后用74HC148把8位信号编码进去,输出时需要用非门将输出信号反转,才能得到所需要的信号。

此时将74LS160 LD端接到低电平,RD端接到高电平,这时它工作在置数功能,将74LS148的编码信号完全输出。

整体电路的显示需要CD4511译码器和译码管的结合使用。

由于整体电路共用一个数码管和译码器,所以需要将这两种功能合在一起,因此需要一个单刀双掷开关(自锁开关)来实现。

当自锁开关自锁时,实现8位按键显示功能;当自锁开关不自锁时,实现10进制计数器功能。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

End one;
LED显示的十进制计数器
1.根据电路功能分析实体端口,同时也可分析出结构 体中需要的信号。 Library ieee; Use ieee.std_logic_1164.all; Use ieee.std_logic_unsigned.all; Entity count10 is
port(clk:in std_logic;
End entity;
2.抓住电路功能要点,一步一步充实电路功能描述 Architecture one of count10 is signal q:std_logic_vector(3 downto 0); begin process(clk)
If clk’event and clk=‘1’ then 计数功能 q<=q+1; End if; end process;
Case q is When "0000" => s <="1111110"; When "0001" => s <="0000110"; When "0010" => s <="1101101"; When "0011" => s <="1111001"; When "0100" => s <="0110011"; When "0101" => s <="1011011"; When "0110" => s <="1011111"; When "0111" => s <="1110000"; When "1000" => s <="1111111"; When "1001" => s <="1110011"; When others=>s<="0000000"; End case;
Lபைடு நூலகம்D显示的十进制计数器
1.根据电路功能分析实体端口,同时也可分析出结构 体中需要的信号。 Library ieee; Use ieee.std_logic_1164.all; Entity count10 is port(clk:in std_logic;
s:out std_logic_vector(6 downto 0));
s:out std_logic_vector(6 downto 0));
End entity;
2.抓住电路功能要点,一步一步充实电路功能描述 Architecture one of count10 is signal q:std_logic_vector(3 downto 0); 十进制计数器,计数最 begin 大不超过9即“1001” process(clk) IF q="1001" then q<="0000"; Else If clk’event and clk=‘1’ then 计数功能 q<=q+1; End if; End if; --显示部分见下页 end process; End one;
相关文档
最新文档