实验三 八位数码扫描显示电路

合集下载

3 8译码器实验报告

3 8译码器实验报告

3 8译码器实验报告3 8译码器实验报告引言:在数字电路中,译码器是一种常见的逻辑电路,用于将输入的二进制编码转换为对应的输出信号。

本实验旨在通过搭建一个3 8译码器电路,并对其进行测试和分析,以加深对译码器工作原理的理解。

实验目的:1. 理解3 8译码器的基本原理和工作方式;2. 掌握搭建3 8译码器电路的方法;3. 进行实验测试并分析结果。

实验器材:1. 3 8译码器芯片;2. 逻辑门芯片(与门、非门等);3. 连线板、导线等。

实验步骤:1. 将3 8译码器芯片和逻辑门芯片连接到连线板上;2. 根据芯片引脚的连接要求,使用导线将各个芯片的输入和输出连接起来;3. 将输入信号接入3 8译码器芯片的输入端;4. 将输出信号接入逻辑门芯片的输入端;5. 将逻辑门芯片的输出信号连接到LED灯或其他输出设备上;6. 调整输入信号,观察输出信号的变化。

实验结果:通过实验,我们得到了以下结果:1. 当输入信号为000时,输出信号为00000001;2. 当输入信号为001时,输出信号为00000010;3. 当输入信号为010时,输出信号为00000100;4. 当输入信号为011时,输出信号为00001000;5. 当输入信号为100时,输出信号为00010000;6. 当输入信号为101时,输出信号为00100000;7. 当输入信号为110时,输出信号为01000000;8. 当输入信号为111时,输出信号为10000000。

结果分析:根据实验结果,我们可以看到,3 8译码器将输入的三位二进制编码转换为对应的八位输出信号。

每个输出信号代表一个特定的输入编码。

通过观察输出信号的变化,我们可以清晰地看到译码器的工作原理:根据输入编码的不同,译码器会激活对应的输出线路,将其输出为高电平信号,而其他输出线路则为低电平信号。

实验总结:通过本次实验,我们深入了解了3 8译码器的工作原理和应用场景。

译码器在数字电路中扮演着重要的角色,能够将复杂的二进制编码转换为易于理解和使用的信号输出。

8位数码扫描显示电路设计实验

8位数码扫描显示电路设计实验

实验一基本组合电路设计(1)实验目的:熟悉 Quartus U的文本输入设计法和原理图输入设计法,学习简单组合电路以及多层次电路的设计、仿真和硬件测试。

(2)实验内容:I.利用Quartus U完成2选1多路选择器的文本编辑输入。

【参考程序】:ENTITY mux21a ISPORT ( a, b, s: IN BIT;y : OUT BIT );END ENTITY mux21a;ARCHITECTURE one OF mux21a ISBEGINPROCESS (a,b,s)BEGINIF s = ' O' THEN y <= a ;ELSE y<= b ;END IF;END PROCESS;END ARCHITECTURE one ;n .将实验I中的2选1多路选择器生成一个元件 mux21a利用原理图输入设计方法实现图1-1的双2选1多路选择器,并将此文件放在同一目录中。

最后进行编译、仿真,并对其仿真波形作出分析说明。

川.对U进行引脚锁定及硬件下载测试。

建议选择实验电路模式5,用键1(PIOO, 引脚号为1)控制sO;用键2(PIO1,引脚号为2)控制s1; a3、a2和a1分别接clock5(引脚号为16)、clockO (引脚号为93)和clock2 (引脚号为17);输出信号outy接扬声器spker (引脚号为129)。

通过短路帽选择clock5接1024Hz 信号,clock0接256Hz信号,clock2接8Hz信号。

最后进行编译、下载和硬件测试实验(通过选择键1、键2、控制s0、s1,可使扬声器输出不同音调)。

(3)实验报告:1.实验U的原理图。

2•实验U的仿真波形报告分析说明。

3.实验川硬件测试的详细实验说明。

图1-1 双2选1多路选择器实验_二基本时序电路设计(1)实验目的:熟悉Quartus U的VHDL文本设计过程,学习简单时序电路的设计、仿真和硬件测试。

八位数码管扫描显示电路的设计

八位数码管扫描显示电路的设计

《EDA技术及应用》课程设计报告题目:八位数码管扫描显示电路的设计院(系):机电与自动化学院专业班级:电气自动化技术学生姓名:学号:指导教师:20 年6月10日至20 年6月23日华中科技大学武昌分校4、课程设计使用设备(1)EDA及SOPC综合实验平台;(2)导线若干;(3)PC机;(4)Quartus II开发工具软件。

目录摘要................................................................1.课程设计题目及要求 (1)1.1设计题目 (1)1.2L E D显示器的动态扫描驱动电路 (1)1.3设计方案论证 (1)2.L E D显示器动态扫描驱动电路各单元电路设计 (3)2.1计数器与译码器的设计 (3)2.2一位共阳极L E D动态驱动电路设计 (4)2.3七段数码管的设计 (5)3.L E D显示器动态扫描系统设计 (7)3.1整体电路图及工作原理 (7)3.2V H D L程序设计 (7)3.3电路参数计算 (10)4.Q u a r t u s运行调试 (12)4.1时序仿真 (12)4.2硬件逻辑验证 (13)4.3调试结果分析 (13)4.4调试中出现的问题及解决方法 (14)5.设计总结 (15)6.参考文献 (16)摘要本文通过一个3-8译码器电路,将输入的4位2进制数转换为与LED显示对应的8位段码,位码就是LED的显示使能端,对于共阳级的LED而言,高电平使能。

要使8个数码管动态扫描显示,就是把所有数码管的相同段并联在一起,通过选通信号分时控制各个数码管的公共端,循环点亮多个数码管,并利用人眼的视觉暂留现象,只要扫描的频率大于50Hz,将看不到闪烁现象。

使用Quartus II6.0软件设计一个VHDL程序并对设计方案进行仿真,再硬件调试经检测输出正确的设计要求结果。

关键词:动态扫描Quartus II6.0 VHDLAbstractIn this paper, through a 3-8 decoder circuit, the input of four hexadecimal number into 2 and eight LED display the corresponding section of code, a codeis the LED display can make side, for the LED with Yang level, high level canmake. To makeeight digital tube dynamic scans showed that is all the samesegment digital tube connected in parallel, through the gating signal time-sharing control public side, the digital tube loop light multiple digital tube, and use the eye of the phenomenon of persistence of vision, as long as the scanning frequency is more than 50 hz, will see the flicker phenomenon. Using Quartus II6.0 a VHDL program design and the software design simulation, and hardware debugging through testing output correct design requirementsKey words: dynamic scanning Quartus II6.0 VHDL1. 课程设计题目及要求1.1设计题目八位数码管扫描显示电路的设计设计主要内容:本课题要求掌握使用Quartus II设计数字系统的设计思路和设计方法。

8位数码扫描显示电路设计

8位数码扫描显示电路设计

EDA与VHD1语言课程实验报告实验名称:班级:学号:姓名:实验日期:8位数码扫描显示电路设计2012.10.27实验五8位数码扫描显示电路设计一、实验目的:学习硬件扫描显示电路的设计。

二、实验原理:图1所示是8位数码扫描显示电路。

图1中g~a为数码管段信号输入端,每个数码管的七个段(g、f、e、d、c、b、a)都分别连在一起;k1~k8 为数码管的位选信号输入端。

8个数码管分别由8个位选信号k1、k2、…k8来选通,被选通的数码管才显示数据,未选通的数码管关闭。

如在某一时刻,k3为高电平,其余选通信号均为低电平,这时仅k3对应的数码管显示来自段信号端的数据,而其它7个数码管呈现关闭状态。

因此,如果希望在8个数码管上显示希望的数据,就必须使得8个选通信号k1、k2、…k8分别被单独选通,同时,在段信号输入口加上希望在该对应数码管上显示的数据,于是随着选通信号的扫变,就能实现扫描显示的目的。

AAAAAAAAK1 K2 K3 K4 K5 K6 K7 K3图1 8位数码扫描显示电路三、实验内容1:用VHDL语言设计8位数码扫描显示电路,显示输出数据直接在程序中给出。

1、程序设计LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY scan play ISPORT( CLK:IN STD_LOGIC;SI:OUT STD_LOGIC_VECTOR(7 DOWNTO 0);BI:OUT STD_LOGIC_VECTOR(6 DOWNTO 0));END ;ARCHITECTURE bhv OF scan play ISSIGNAL S: STD_LOGIC_VECTOR(3 DOWNTO 0);SIGNAL B: STD_LOGIC_VECTOR(3 DOWNTO 0);BEGINPROCESS(CLK) --产生动态扫描显示的控制信号VARIABLE SIO: STD_LOGIC_VECTOR(3 DOWNTO 0); VARIABLE BIO:STD_LOGIC_VECTOR(3 DOWNTO 0); BEGINIF CLK'EVENT AND CLK='1' THENIF BIO < 8 THEN BIO:=BIO+1; ELSE BIO:=(others=>'0');END IF;IF SIO < 8 THEN SIO:=SIO+1; ELSE SIO:=(others=>'0');END IF;END IF;S<=SIO;B<=BIO;END PROCESS;PROCESS(S)BEGINCASE S ISWHEN "0000"=> SI<="00000001";WHEN "0001"=> SI<="00000010";WHEN "0010"=> SI<="00000100";WHEN "0011"=> SI<="00001000";WHEN "0100"=> SI<="00010000";WHEN "0101"=> SI<="00100000";WHEN "0110"=> SI<="01000000";WHEN "0111"=> SI<="10000000";WHEN OTHERS=> SI<="00000000"; END CASE;END PROCESS;PROCESS(B)BEGINCASE B ISWHEN "0000"=> BI<="0111111";WHEN "0001"=> BI<="0000110";WHEN "0010"=> BI<="1011011";WHEN "0011"=> BI<="1001111";WHEN "0100"=> BI<="1100110";WHEN "0101"=> BI<="1101101";WHEN "0110"=> BI<="1111101";WHEN "0111"=> BI<="0100111";WHEN "1000"=> BI<="1111111";WHEN "1001"=> BI<="1101111";WHEN "1010"=> BI<="1110111";WHEN "1011"=> BI<="1111100";WHEN "1100"=> BI<="0111001";WHEN "1101"=> BI<="1011110";WHEN "1110"=> BI<="1111001";WHEN OTHERS=> BI<="1110001"; END CASE; END PROCESS; END bhv;注意:编程下载之前,将扬声器下方的 JDSP 跳线开关跳至“ close ”任意电 路模式皆可。

38译码器实验报告

38译码器实验报告

38译码器实验报告实验原理:译码器是数字电路中的组合逻辑电路,它的作用是把二进制码组转换为相应的十进制数或BCD码。

由于是多对一的映射关系,故称为译码器。

常用的译码器有十进制译码器、BCD译码器、7段译码器(数码管译码器)等。

本次实验使用的是常用的数字电路集成电路74HC138,它是一个三-八行数码管译码器,能将3位二进制码译成8种不同的输出。

实验内容:1. 搭建实验电路:将74HC138译码器与LED灯和电路板上的电源和接地线连接。

2. 上电测试:将电路板插到插座上,上电后,LED灯按照二进制码的不同组合依次闪烁。

3. 换成7段数码管:将LED灯换成7段数码管,上电后,数码管能够显示不同数字。

实验步骤:1. 准备材料:电路板、74HC138译码器、LED灯、7段数码管、220欧姆电阻、杜邦线、面包板、数字万用表等。

2. 按照示意图,在面包板上连接电路,连接如下:将电源和接地线连接到面包板中。

将74HC138译码器的8个输出引脚连接到面包板的8个LED灯的阳极上,并通过220欧姆电阻连接到接地线上。

同时,将74HC138译码器的3个选择输入引脚连接到面包板的数字端口(1-3号端口)。

74HC138的数据输入引脚不连接。

将7段数码管的A-G引脚连接到面包板的数字端口(4-10号端口),将7段数码管的DP引脚接到接地线上。

3. 检查电路连接:确保每个引脚都连接到正确的端口。

使用数字万用表进行连通性测试。

5. 更换电路元件:将LED灯换成7段数码管。

使用数字万用表确认7段数码管引脚与数字端口的连接关系。

6. 上电测试:再次上电,调整数字端口上的开关,能够让7段数码管显示不同的数字。

实验结果:经过搭建和调试,我们成功实现了74HC138译码器的上电测试和数码管显示的功能。

我们通过手动改变数字端口上的开关状态,成功地改变了LED灯的亮灭顺序和7段数码管的显示数字。

实验结果显示,译码器具有将二进制码组转换为相应十进制数或BCD码的功能,能够广泛应用于数字电路中。

八位数码管动态扫描案例原理与测试说明

八位数码管动态扫描案例原理与测试说明

“八位数码管动态扫描”案例原理与测试说明
1程序设计目标及程序运行效果说明
本程序是动态扫描所有的数码管,从左到右8个数码管分别显示1、2、3、4、5、6、7、8。

2程序相关电路及工作原理说明
2.1 LED数码管电路
2.2 LED数码管引脚定义
2.3 工作原理
P0口的8位输出分别控制1个LED数码管的7段和一个小数点;而P2.3经反相器U4C控制74HC138的使能信号E3,结合P2.0、P2.1、P2.2这3个位选控制信号确定8个LED数码管中的哪个被点亮;电阻R15~R22为限流电阻。

当段选为高、使能信号有效时,对应的LED管将会发光。

通过以一定频率扫描位选信号,修改段选信号进行数码管点亮一段时间,从而给人视觉上几个数码管几乎同
时显示的效果。

3测试方法
(1)用STC ISP默认设置,打开工程中的HEX并下载
(2)下载后观察现象为:从左到右8个数码管分别显示1、2、3、4、5、6、7、8。

(3)本案例无需辅助操作。

单片机课程设计-8位8段LED数码管动态扫描显示

单片机课程设计-8位8段LED数码管动态扫描显示

8位8段LED数码管动态扫描一、内容要求:在8位8段LED数码管显示“8.8.8.8.8.8.8.8.”持续500ms,之后灭显示器200ms;然后显示“WELCOM-1”(由于8位8段LED数码管显示不能显示字母W 和M,所以改为显示“HELLO-93”)二、目的和意义1、掌握数码管动态扫描显示原理及实现方法。

2、掌握动态扫描显示电路驱动程序的编写方法。

三、总体方案设计思路LED数码动态显示的基本做法在于分时轮流选通数码管的公共端,使得各数码管轮流导通,再选通相应的数码管后,即显示字段上得到显示字形码。

这种方式数码管的发光效率,而且由于各个数码管的字段线是并联使用的,从而大大简化了硬件线路。

动态扫描显示接口是单片机系统中应用最为广泛的一种显示方式。

其接口电路是把所有显示器的8个笔画段A-DP同名端并联在一起,而每个显示器的公共极COM各自独立地接受I/O线控制,CPU向字段输出口送出字段形码是,所有显示器由于同名端并连接收到相同的字形码,但究竟是哪个显示器亮,则取决于COM端,而这一端是由I/O控制的,所以就可以自行决定何时显示哪一位了。

而所谓动态扫描是指采用分时的方法,轮流控制各个显示器的COM端,使各个显示器轮流点亮。

再轮流点亮扫描过程中,每位显示器的点亮时间是极为短暂的(约1ms),但由于人的视觉暂留现象及发光二极管的余辉效应,尽管实际上个位显示器并非同时点亮,但只要扫描的速度足够快,给人的影响就是一组稳定的显示数据,不会有闪烁感。

采用总线驱动器74HC245提供LED数码管的段驱动,输出高电平时点亮相应段;采用集电极开路的BCD-十进制译码器/驱动器完成LED数码管位驱动,输出低电平时选通相应位。

P2口每个口线输出灌电流不足以驱动一个数码管显示器的位-公共极,所依通过集电极开路的BCD-十进制译码器/驱动器7445驱动,即节约P2口线,又增加驱动能力。

四、仿真电路设计(电路原理图及关键单元说明)8位8段LED数码管动态扫描显示实验电路元件清单(1)A T89C52AT89C52是一个低电压,高性能CMOS 8位单片机,片内含8k bytes的可反复擦写的Flash只读程序存储器和256 bytes的随机存取数据存储器(RAM),器件采用ATMEL公司的高密度、非易失性存储技术生产,兼容标准MCS-51指令系统,片内置通用8位中央处理器和Flash存储单元,功能强大的AT89C52单片机可为您提供许多较复杂系统控制应用场合。

8位动态LED数码管显示实验(精)

8位动态LED数码管显示实验(精)

8位动态LED数码管显示实验(精)8位动态LED数码管显示实验2008-03-18 18:048.1 实物图与原理图本实验仪配置带8位动态扫描显示模块一个。

实物图如下:为减少IO的使用,我们采用串入并出芯片CD4094来扩展了IO 口,即采用3个IO来实现数据的传输。

原理图如下:所以,我们占用3个IO来传输数据,8个IO来进行8个LED数码管的位选。

在本实验仪中链接管教分布如下:STK-----P2.5DAT-----P2.6CLK-----P2.7B0、B1、B2、B3、B4、B5、B6、B7接P0口(P0.0 P0.1 P0.2 P0.3 P0.4 P0.5P0.6 P0.7)由于上一节已经讲述了CD4094驱动一位LED数码管的问题,这里我们讲如何来扫描8位数码管。

8.2 LED动态显示原理根据原理图管脚连接,我们知道P0口控制了8个LED数码管的位选中,所以如果想让8个数码管都亮起来,我们可以逐位扫描8位数码管。

动态显示原理:原理上同一时刻只有一位LED是点亮的,但只要扫描的频率足够高(一般大于25Hz),由于人眼的视觉暂留特性,直观上感觉却是连续点亮的,这就是常说的动态扫描显示。

动态扫描的频率有一定的要求,频率太低,LED将出现闪烁现象。

如频率太高,由于每个LED点亮的时间太短,LED的亮度太低,所以一般均取几个ms左右为宜。

8.3 DG3000 动态显示头文件display_s.h//----------------------------------------------------------//程序作用:显示头文件display_s.h//----------------------------------------------------------#ifndef _display_#define _display_#includesbit SDA=P2^6; //定义显示管脚sbit CLK=P2^7;unsigned char data display_bit;unsigned char codeled[20]={0xc0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90,0x88,0x83,0xc6,0xa1,0x86,0x8e,0xbf,0x 89,0x8C };//定义段码//延时程序void delay(unsigned int k){ unsigned int i,j;for(i=0;i<k;i++)< bdsfid="131" p=""></k;i++)<>for(j=0;j<100;j++);}//数据传输void send(unsigned char a){unsigned char i;for(i=0;i<8;i++){if(_crol_(a,i)&0x80)SDA=1;elseSDA=0;CLK=0;CLK=1;}}//显示程序 8位LED数码管扫描void display(unsigned chardisplay_buffer[8]){unsigned char i,k;display_bit=0xfe;for(i=0;i<8;i++){k=led[display_buffer[i]];send(k);P0=display_bit;delay(0x01);P0=0xff;display_bit=_crol_(display_bit,1);}display_bit=0xfe;8.4 8位数码管动态显示01234567(C51程序)//----------------------------------------------------------//程序作用:动态扫描显示01234567//---------------------------------------------------------- #include#include //调用显示头文件main(){unsigned chara[8]={0x0,0x1,0x2,0x3,0x4,0x5,0x6, 0x7};//显示01234567 while(1){display(a); //显示数据}}。

数码管扫描

数码管扫描

实验总结:数码管扫描显示电路一、实验前准备了解数码管扫描的方式,理解数码管扫描的原理和方法。

二、实验目的用VHDL设计一个8位数码扫描显示电路,数码管扫描显示0-F之间的数字,可以显示其他值(注意需转换城BCD码)。

三、实验原理与实验内容数码管在CLK频率下工作,眼睛看到的显示字符就是电路在CLK下多次扫描得到的,人眼认为一直显示的字符,实际上它在很短的时间内多次显示,因为人眼的视觉暂留,我们认为数码管一直亮着。

8位数码扫描显示的电路符号如下图(2)所示。

输入信号:时钟信号clk。

输出信号:段显示控制信号 seg[7:0];数码管地址控制信号 cnt8[2:0]。

四、实验代码。

module scan_led(seg,scan,clk);input clk;output [7:0] seg,scan;reg [7:0] seg,scan;reg [2:0] cnt8;reg [3:0] data;always @(posedge clk) begincnt8<=cnt8+1;endalways begincase(cnt8[2:0])3'b000 : begin scan<='b01111111;data[3:0]<=4'b0001;end3'b001 : begin scan<='b10111111;data[3:0]<=4'b0010;end3'b010 : begin scan<='b11011111;data[3:0]<=4'b0000;end3'b011 : begin scan<='b11101111;data[3:0]<=4'b1110;end3'b100 : begin scan<='b11110111;data[3:0]<=4'b0110;end3'b101 : begin scan<='b11111011;data[3:0]<=4'b1100;end3'b110 : begin scan<='b11111101;data[3:0]<=4'b1011;end3'b111 : begin scan<='b11111110;data[3:0]<=4'b1010;enddefault : begin scan<='bx;data[3:0]<='bx;endendcasecase(data[3:0])4'b0000 : seg[7:0]<=8'b11000000; 4'b0001 : seg[7:0]<=8'b11111001; 4'b0010 : seg[7:0]<=8'b10100100; 4'b0011 : seg[7:0]<=8'b10110000; 4'b0100 : seg[7:0]<=8'b10011001; 4'b0101 : seg[7:0]<=8'b10010010; 4'b0110 : seg[7:0]<=8'b10000010; 4'b0111 : seg[7:0]<=8'b11111000; 4'b1000 : seg[7:0]<=8'b10000000; 4'b1001 : seg[7:0]<=8'b10010000; 4'b1010 : seg[7:0]<=8'b10001000; 4'b1011 : seg[7:0]<=8'b10000011; 4'b1100 : seg[7:0]<=8'b11000110; 4'b1101 : seg[7:0]<=8'b10100001; 4'b1110 : seg[7:0]<=8'b10000110; 4'b1111 : seg[7:0]<=8'b10001110; default : seg[7:0]<='bx; endcaseendendmodule。

用原理图法设计一个3-8译码器组合电路

用原理图法设计一个3-8译码器组合电路

用原理图法设计一个3-8译码器组合电路用原理图法设计一个3,8译码器组合电路一、实验目的1.通过一个简单的3,8译码器的设计,让学生掌握组合逻辑电路的设计方法。

2.掌握组合逻辑电路的静态测试方法。

3.初步了解可编程器件设计的全过程。

二、实验器材1.台式计算机 1台。

2.可编程逻辑逻辑器件实验软件1套。

3.下载电缆一套。

4.示波器一台。

三、实验说明(台式计算机用于向可编程逻辑逻辑器件实验软件提供编程、仿真、下载1 的平台,供用户使用。

2(可编程逻辑逻辑器件实验软件向原理图的设计提供平台,并将调试好的原理图下载到可编程逻辑逻辑器件中。

3(下载电缆是可编程逻辑器件软件和可编程逻辑逻辑器件之间的接口电缆,为了便于区别,用不同颜色导线区分下载电缆的电源、地和信号,一般用红色导线接电源,用黑色导线接地。

4(示波器用于观察可编程逻辑器件执行程序时输出信号的变化。

四、实验原理说明3线-8线译码器具有将一组三位二进制代码翻译为相对应的输出信号的电路特点。

输出信号D7,D0的表达式功能表输入输出C B A D7 D6 D5 D4 D3 D2 D1 D0Y 0 0 0 0 0 0 0 0 0 0 1 0Y 0 0 1 0 0 0 0 0 0 1 0 1Y 0 1 0 0 0 0 0 0 1 0 0 2Y 0 1 1 0 0 0 0 1 0 0 0 3Y 1 0 0 0 0 0 1 0 0 0 0 4Y 1 0 1 0 0 1 0 0 0 0 0 5Y 1 1 0 0 1 0 0 0 0 0 0 6Y 1 1 1 1 0 0 0 0 0 0 0 7五、实验内容和步骤、建立工程 1(1)软件的启动:打开 Quartus II软件,如图1-1所示。

图1-1(2)启动File菜单,点击New Project Wizard,如下图1-2所示。

图1-2(3)进入向导,选择Next,如图1-3所示。

图1-3(4)设置保存路径,以及项目名称,项目名称为decode3_8,如图1-4所示。

8位8段led数码管动态扫描显示

8位8段led数码管动态扫描显示

项目名称:8位8段LED数码管动态扫描显示班级:09电二姓名:解健学号:09020313一.实验目的1.掌握数码管动态扫描显示原理及实现方法。

2.掌握动态扫描显示电路驱动程序的编写方法。

二.实验电路三.元器件元器件编号元器件名称说明U2 7445 集电极开路的BCD十进制译码器/驱动器U3 74HC245 8位总线驱动器U1 AT89C52 AT89C52单片机RP1 RESPACK8 具有公共端的排电阻7SEG-MPX8-CC-BLUE 共阴极8位7段LED蓝色显示器四.实验步骤第一步:先在Proteus软件中设计仿真电路原理图。

第二步:再在Keil C51软件中编写且编译程序,程序后缀必须是.c。

然后在打开的“Option for Target‘Target 1’”选项卡,“Target”标签下频率设置为“11.0592”,“Output”标签下,将“Creat HEX File”项打勾选中,设置生成一个.hex文件。

第三步:接着将.hex文件导入原理图中U1芯片。

双击U1,打开Edit Component对话框,选择生成的hex文件。

第四步:最后观察设计的电路图是否能得到预想的效果,若不能,进行检查,找到毛病且纠正。

流程图实验现象:显示器点亮所有段,持续约1s ,然后灭显示器,持续2s,最后显示“hello-93”,保持。

附:程序#include<intrins.h> #include<REGX52.H>#define TRUE 1 #define dataPort P0 #define ledConPort P2unsigned char code ch[8]={0x76,0x79,0x38,0x38,0x3f,0x40,0x6f,0x4f}; void time(unsigned int ucMs); void main(void) NNNN YYYY开始 选择段点亮所有位 Counter=0 I=0I++I<30灭显示器延时选择段按数值点亮位Counter=0延时Counter<8停止结束Counter++Counter<8Counter++延时{unsigned char i,counter=0;for(i=0;i<30;i++){for(counter=0;counter<8;counter++) { ledConPort=counter;dataPort=0xff;time(5);}}ledConPort=0xff;time(2000);while(TRUE){for(counter=0;counter<8;counter++){ ledConPort=counter;dataPort=ch[counter];time(5);}}}void delay_5us(void){_nop_();_nop_();}void delay_50us(void){ unsigned char i;for(i=0;i<4;i++){delay_5us();}}void delay_100us(void){delay_50us();delay_50us();}void time(unsigned int ucMs) {unsigned char j;while(ucMs>0){for(j=0;j<10;j++) delay_100us();ucMs--;}}。

动态扫描显示电路设计

动态扫描显示电路设计

实验七、动态扫描显示电路设计(1)实验目的:学习动态扫描显示电路的设计。

(2)实验原理:图1是8位数码扫描显示电路,其中每个数码管的8个段(A、B、C、D、E、F、G、DP)都分别连在一起,8个数码管分别由3个选通信号LI0、LI1、LI2经过译码器得到的8个信号来选择。

当LI2LI1LI0=”000”时L1被选通显示数据,其余的关闭;当LI2LI1LI0=”001”时L2被选通显示数据,其余的关闭。

通过LI2LI1LI0的动态变化到达多位数字的显示。

图1 8位数码扫描显示电路(3)实验内容:在实验三模为60的8421BCD码加1计数器的基础上,采用动态扫描显示计数结果。

(4)附加题:用6个数码管显示数字钟。

(5)思考题:动态扫描显示的频率大致范围是多少?library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity bcd60 isport(clk,rst_n:in std_logic;ql,qh:out std_logic_vector(3 downto 0);cout: out std_logic;we1,we2: out std_logic :='0';LED7S :out std_logic_vector(7 downto 0));end;architecture rtl of bcd60 issignal cnt1hz :std_logic_vector(24 downto 0);signal clk1hz :std_logic;signal cnt20hz: std_logic_vector(24 downto 0);signal clk20hz: std_logic;signal qlt,qht:std_logic_vector(3 downto 0);signal flag: std_logic :='0';beginprocess(rst_n,clk)beginif(rst_n='0')thencnt1hz <=(others=>'0');clk1hz <='0';elsif (clk'event and clk='1')thenif (cnt1hz=9999999)then --仿真时用9,用开发板时用9999999cnt1hz<=(others=>'0');clk1hz<=not clk1hz;else cnt1hz<=cnt1hz+1;end if;end if;end process; -- 分频得到计数时钟process(rst_n,clk)beginif(rst_n='0')thencnt20hz <= (others=>'0');clk20hz <= '0';elsif (clk'event and clk='1')thenif(cnt20hz=99999) thencnt20hz <= (others=>'0');clk20hz <= not clk20hz;else cnt20hz <= cnt20hz +1;end if;end if;end process; ---分频得到扫描时钟200hzprocess(clk20hz)beginif clk20hz 'event and clk20hz='1' thenflag <= not flag;end if;end process; --- 扫描进程process(rst_n,clk1hz)beginif(rst_n='0')thenqlt<="0000";qht<="0000";elsif(clk1hz'event and clk1hz='1')thenif qlt="1001"thenif qht="0101"thenqlt<="0000";qht<="0000";elseqlt<="0000";qht<=qht+1;end if;elseqlt<=qlt+1;end if;end if;end process; --- 模为60的十进制计数器process(flag)beginif (flag = '1') thenwe1<='1';we2<='0';case qlt iswhen "0000" => LED7S <="00111111"; --0when "0001" => LED7S <="00000110"; --1when "0010" => LED7S <="01011011"; --2when "0011" => LED7S <="01001111"; --3when "0100" => LED7S <="01100110"; --4when "0101" => LED7S <="01101101"; --5when "0110" => LED7S <="01111101"; --6when "0111" => LED7S <="00000111"; --7when "1000" => LED7S <="01111111"; --8when "1001" => LED7S <="01101111"; --9WHEN OTHERS => NULL;end case;elsewe2<='1';we1<='0';case qht iswhen "0000" => LED7S <="00111111"; --0when "0001" => LED7S <="00000110"; --1when "0010" => LED7S <="01011011"; --2when "0011" => LED7S <="01001111"; --3when "0100" => LED7S <="01100110"; --4when "0101" => LED7S <="01101101"; --5-- when "0110" => LED7S <="01111101"; --6-- when "0111" => LED7S <="00000111"; --7-- when "1000" => LED7S <="01111111"; --8-- when "1001" => LED7S <="01101111"; --9WHEN OTHERS => NULL;end case;end if;end process; --数码管显示ql<=qlt;qh<=qht;cout<='1'when qlt=9 and qht=5 else '0';end;。

EDA实验报告

EDA实验报告

EDA实验报告班级:学号:姓名:实验一组合逻辑设计一、实验目的:通过一个简单的3-8译码器的设计,让学生掌握组合逻辑电路的设计方法。

二、实验的硬件要求:1、输入:DIP拨码开关3位2、输出:LED灯3、主芯片:EP2C8Q208C8三、实验原理:三八译码器三输入,八输出。

当输入信号按二进制方式的表示为N时,输出端从零标记到八。

因为三个输入端能产生的组合状态有八种,所以输出端在每种组合中仅有一位有效的情况下,能表示所有的输入组合。

3-8译码器真值表四、实验程序图:建立工程后,新建Block diagram/schematic file程序,在编辑窗口中选择相应原件用鼠标拖入文件中编辑,绘制完成后保存原理图,对程序进行编译,编译无误后,进行管脚配置,下图为程序图。

文本程序:library ieee;use ieee.std_logic_1164.all;entity program1 isport (A,B,C:in std_logic;D0,D1,D2,D3,D4,D5,D6,D7:out std_logic); end entity program1;architecture one of program1 issignal abc :std_logic_vector(2 downto 0); signal D :std_logic_vector(7 downto 0); beginabc <= A&B&C;process(abc)begincase abc iswhen "000"=>D<="10000000";when "100"=>D<="01000000";when "010"=>D<="00100000";when "110"=>D<="00010000";when "001"=>D<="00001000";when "101"=>D<="00000100";when "011"=>D<="00000010";when "111"=>D<="00000001";when others => null;end case;end process;D0<=D(7);D1<=D(6);D2<=D(5);D3<=D(4);D4<=D(3);D5<=D(2);D6<=D(1);D7<=D(0);end architecture one;五、实验仿真结果:仿真波形图如下:进行波形仿真完成后,用拨码开关的低三位代表译码器输入,将之与配置好的管脚相连;用led灯代表译码器的输出,将之与配置好的管脚相连。

8位数码扫描显示电路设计

8位数码扫描显示电路设计

设计项目成绩评定表设计报告书目录一、设计目的 0二、设计思路 0三、设计过程 03。

1、系统方案论证 03。

2、模块电路设计 0四、系统调试与结果 (2)五、主要元器件与设备 (2)六、课程设计体会与建议 (3)6。

1、设计体会 (3)6.2、设计建议 (3)七、参考文献 (4)一、设计目的1、学习硬件扫描显示电路的设计。

2、熟悉Quartus II 6。

0的Verilog HDL 文本设计过程,学习简单时序电路的设计、仿真和硬件的测试。

二、设计思路1、设计8位数码扫描显示电路。

2、采用文本编辑法,利用Verilog HDL 语言描述8位数码扫描显示电路。

3、设计时序控制电路.三、设计过程3.1、系统方案论证如下图1所示的是8位数码扫描显示电路,其中每个数码管的8个段:h, g, f, e, d, c,b, a(h是小数点)都分别连在一起,8个数码管分别由8个选通信号k1, k2, k3,......k8来选择。

被选通的数码管显示数据,其余关闭。

如在某一时刻,k2为高电平,其余选通信号为低电平,这是仅k3对应的数码管显示来自段信号端的数据,其余7个数码管呈现关闭状态。

根据这种电路状况,如果希望在8个数码管显示希望的数据,就必须使得8个选通信号k1, k2, k3, (8)别被单独选通,并在此同时,在段信号输入口加上希望在该对应数码管上显示的数据,于是随着选通信号的扫变,就能实现扫描显示的目的。

图1 8位数码扫描显示电路3.2、模块电路设计用VHDL设计一个8位数码扫描显示电路,利用QuartusⅡ6.0进行编辑输入、编译及时序仿真。

引脚锁定及硬件测试。

电路模式不限,将实验系统左上方(即8个数码管左边)的跳线开关选择向下插(注意:实验结束后要恢复原位)。

8位数码扫描显示的I/O分配表如下图2所示。

输入信号:时钟信号clk。

输出信号:段显示控制信号 seg[7:0];数码管地址控制信号 cnt8[2:0]。

解码电路实验报告

解码电路实验报告

解码电路实验报告解码电路是数字电路中常见的一种电路,它将输入的编码信号转换为相应的输出信号。

解码电路通常用于将多位编码表示的信息转换为多路选择或控制信号。

解码电路的基本原理是根据输入信号的不同组合方式来确定输出信号的状态。

常见的解码电路有二进制数到BCD码转换器、BCD码到七段数码管译码器等。

在本次实验中,我使用了74LS138型三八译码器进行了解码电路实验。

该型号的三八译码器有三个输入引脚(A0、A1、A2),八个输出引脚(Y0~Y7)和一个使能输入引脚(E)。

输入引脚和使能引脚通过外部开关连接电源,输出引脚通过电阻连接到LED灯。

首先,我将三个输入引脚连接到三个开关上,通过改变开关状态来改变输入信号的组合方式。

使能引脚通过一个开关连接到电源,通过控制使能引脚的开关状态来控制输出信号的打开和关闭。

接下来,我将输出引脚通过电阻连接到LED灯,以便观察输出信号的状态。

根据实验需要,在真空管底板上连接了七个LED灯,用来显示解码后的输出信号。

在实验中,我先将输入引脚连接成二进制的0,即A0、A1、A2均接地,此时输出引脚之一为低电平,其余引脚均为高电平,对应的LED灯亮起。

然后,我改变输入引脚的状态,通过改变开关的状态,使输入引脚的组合方式为二进制的1、2、3等。

根据译码电路的原理,输出引脚会相应地改变状态,对应的LED灯也会亮起,通过这种方式可以观察解码电路的正确工作。

在实验中,我还通过改变使能引脚的状态来控制输出信号的打开和关闭。

当使能引脚为高电平时,输出引脚有效,对应的LED灯亮起;当使能引脚为低电平时,输出引脚无效,对应的LED灯熄灭。

这样的设计常用于控制信号的选择和控制。

通过本次实验,我深入了解了解码电路的原理和实际应用。

解码电路在数字电路中具有重要的作用,广泛应用于计算机、通信、汽车等领域中。

对于理解和掌握解码电路的工作原理和设计方法,具有重要的实际意义。

通过本次实验,我不仅学习了解码电路的实现方法,而且培养了动手实践、观察和分析问题的能力。

八位数码扫描显示电路设计

八位数码扫描显示电路设计

library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity shuma isport(clk:in std_logic;--时钟seg:out std_logic_vector(7 downto 0);--段显示控制(abcdefg)scan:out std_logic_vector(7 downto 0));--数码管地址选择控制end entity shuma;architecture one of shuma issignal cnt8:integer range 0 to 7;signal data:integer range 0 to 15;begin ----------扫描数码管地址计数器process(clk)beginif clk'event and clk='1' thencnt8<=cnt8+1;end if;end process; -----------数码管地址扫描process(cnt8)begincase cnt8 iswhen 0=>scan<="00000001";data<=1;when 1=>scan<="00000010";data<=2;when 2=>scan<="00000100";data<=4; when 3=>scan<="00001000";data<=5; when 4=>scan<="00010000";data<=7; when 5=>scan<="00100000";data<=9; when 6=>scan<="01000000";data<=13; when 7=>scan<="10000000";data<=15; when others=>null;end case;end process; -----------7段译码process(data)begincase data is ---abcdefgwhen 0=>seg<="11111100";when 1=>seg<="01100000";when 2=>seg<="11011010";when 3=>seg<="11110010";when 4=>seg<="01100110";when 5=>seg<="10110110";when 6=>seg<="10111110";when 7=>seg<="11100000";when 8=>seg<="11111110";when 9=>seg<="11110110";when 10=>seg<="11101110";when 11=>seg<="00111110";when 12=>seg<="10011100";when 13=>seg<="01111010";when 14=>seg<="10011110";when 15=>seg<="10001110";when others=>null;end case;end process;end architecture one;。

实验三 8位算术逻辑运算实验

实验三 8位算术逻辑运算实验

实验一 讲解结束 实验开始
二、实验环境
硬件:DVCC-C8JH 实验箱。
三、实验内容
1、算术逻辑运算功能发生器 74LS181(U31、U32) 以手动方式用二进制开关S3、S2、S1、S0、CN、M来 模拟74LS181(U31、U32)的功能控制信号S3、S2、 S1、S0、CN、M ; 2、其它电平控制信号以手动方式用二进制开关 LDDR1、LDDR2、ALUB、SWB来模拟 3、通过跳线器切换,其中ALUB`、SWB`为低电平 有效,LDDR1、LDDR2为高电平有效。 另有信号T4为脉冲信号,在手动方式下进行实验时, 只需将跳线器J23上T4与手动脉冲发生开关的输出端 SD相连,按动手动脉冲开关,即可获得实验所需的单
⑴ 连接线路,仔细查线无误后,接通电源。
⑵ 用二进制数码开关KD0~KD7向DR1和DR2寄存器置数。方法:关闭 ALU输出三态门(ALUB`=1),开启输入三态门(SWB`=0),输入脉冲 T4按手动脉冲发生按钮产生。
六、 实 验 数 据
七、思考题
1、在向DR1和DR2寄存器置数时S3、S2、S1、 S0、M、Cn如何设置? 2、DR1置数完成后,如果不关闭控制端, LDDR1会怎样? 3、为什么在读取74LS181的输出结果时要打开 输出三态门的控制端ALUB’ ?
四、 实 验 线 路 连 接
四、实验线路连接(续)
本实验用到4个主要模块:⑴低8位运算器模块,⑵数 据输入并显示模块,⑶数据总线显示模块,⑷功 能开关模块(借用微地址输入模块)。 根据实验原理详细接线如下: ⑴ ALUBUS连EXJ3; ⑵ ALUO1连BUS1; ⑶ SJ2连UJ2; ⑷ 跳线器J23上T4连SD; ⑸ LDDR1、LDDR2、ALUB、SWB四个跳线器拨在左 边(手动方式); ⑹ AR跳线器拨在左边,同时开关AR拨在“1”电平。

基于FPGA的8位数码管扫描显示电路设计

基于FPGA的8位数码管扫描显示电路设计

8位数码管扫描显示电路设计一、实验目的1、学习8位数码管扫描显示电路设计2、继续学习元件例化语句的使用3、继续学习VHDL的CASE语句应用及多层次设计方法二、实验原理图中所示的是8位数码扫描电路,其中每个数码管的8个段:h、g、f、e、d、c、b、a(h是小数点)都分别连在一起,8个数码管分别由8个选通信号k1、k2、…k8来选择。

被选通的数码管显示数据,其余关闭。

如在某一时刻,k3为高电平,这是仅k3对应的数码管显示来自段信号端的数据,而其他7个数码管呈现关闭状态。

根据这种电路状态,如果希望在8个数码管显示的数据,就必须通过选通信号k1、k2、…k8分别单独选通,并在此同时,在段信号输入口加上希望在该对应数码管上显示的数据,于是选通信号的扫变,就能实现扫描显示的目的。

实验内容一中clk是扫描时钟:SG为7段控制信号,由高位至低位分别接g、f、e、d、c、b、a7个段:BT是位选控制信号,接上图中的8个选通信号:k1、k2、 (8)程序中cnt8是一个3位计数器,作为扫描计数信号,由进程P2生成;进程P3是7段译码查表输出程序;进程P1是对8个数码管选通的扫描程序,例如当cnt8等于“001”时,K2对应的数码管被选通,同时,A被赋值3,再由进程P3译码输出“1001111”,显示在数码管上即为“3”;当cnt8扫变时,将能在8个数码管上显示数据:13579bdf.三、实验内容1、设计8位数码管扫描显示电路并进行仿真和下载验证;(1)实验程序LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY SCAN_LED ISPORT(CLK:IN STD_LOGIC;A1,A2,A3:IN STD_LOGIC_VECTOR(3 DOWNTO 0);SG:OUT STD_LOGIC_VECTOR(6 DOWNTO 0);BT:OUT STD_LOGIC_VECTOR(7 DOWNTO 0));END;ARCHITECTURE one OF SCAN_LED ISSIGNAL CNT4:STD_LOGIC_VECTOR(1 DOWNTO 0);SIGNAL A:STD_LOGIC_VECTOR(3 DOWNTO 0);BEGINP1:PROCESS(CNT4)BEGINCASE CNT4 ISWHEN "000"=>BT<="00000001";A<=1;WHEN "001"=>BT<="00000010";A<=3;WHEN "010"=>BT<="00000100";A<=5;WHEN "011"=>BT<="00001000";A<=7;WHEN "100"=>BT<="00010000";A<=9;WHEN "101"=>BT<="00100000";A<=11;WHEN "110"=>BT<="01000000";A<=13;WHEN "111"=>BT<="10000000";A<=15;WHEN OTHERS=>NULL;END CASE;END PROCESS P1;P2:PROCESS(CLK)BEGINIF CLK' EVENT AND CLK='1' THEN CNT4<=CNT4+1;END IF;END PROCESS P2;P3:PROCESS(A)BEGINCASE A ISWHEN "0000"=>SG<="0111111";WHEN "0001"=>SG<="0000110";WHEN "0010"=>SG<="1011011";WHEN "0011"=>SG<="1001111";WHEN "0100"=>SG<="1100110";WHEN "0101"=>SG<="1101101";WHEN "0110"=>SG<="1111101";WHEN "0111"=>SG<="0000111";WHEN "1000"=>SG<="1111111";WHEN "1001"=>SG<="1101111";WHEN OTHERS=>NULL;END CASE;END PROCESS P3;END;(2)模式5电路图(3)引脚锁定与文件下载(4)实验结果2、设计一个1000进制计数器,把计数器和数码管扫描显示电路进行连接,显示计数值。

实验7——三八译码器

实验7——三八译码器

五、注意事项
设计电路时一定要注意各变量的对应关系 注意三个控制端在不用时的处理
2017/12/31
三—八译码器
14
电 工 电 子 实 验 中 心 多 媒 体 演 示 课 件
六、预习内容
下次实验: 数字实验(五)—触发器 相关资料: 常见触发器的逻辑功能及特性方程
各触发器之间的转换
2017/12/31
S取其它值时,输出全1
4
电 工 电 子 1、三—八译码器的逻辑功能 实 验 逻辑电路图 中 心 多 媒 Q0 Q1 Q2 Q3 Q4 Q5 Q6 Q7 体 演 示 A0 A1 A2 S3 S2 S1 课 件
2017/12/31 三—八译码器
三、实验原理
三个输入控制端,只
有S1=1,S2=S3=0时 ,译 码器才能工作,否则译
2017/12/31
= Q3Q5Q6Q7
三—八译码器
8
3、用三—八译码器设计组合逻辑电路
电 工 电 子 实 验 中 心 多 媒 体 演 示 课 件
2、设计全加器电路
根据结果,将相应的输出端用与非门连接,得电路如下: S C & &
Q0 Q1 Q2 Q3 Q4 Q5 Q6 Q7 A0 A1 A2 S3 S2 S1
基础电子线路实验(七)
变量(三—八)译码器实验
电 工 电 子 实 验 中 心 多 媒 体 演 示 课 件
一、实验目的
了解三—八译码器的逻辑功能 掌握用三—八译码器设计组合逻辑电路
的方法
2017/12/31
三—八译码器
2
电 工 电 子 实 验 中 心 多 媒 体 演 示 课 件
二、实验器材
Y 0 0 0 0 0 1 1 1
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

实验四八位数码扫描显示电路
一实验目的
学习扫描显示电路的设计。

二实验原理
图5-24所示的是8位数码扫描显示电路,其中每个数码管的8个段:h、g、
f、e、d、c、b、a(h是小数点)都连在一起,8个数码管分别由8个选通
信号k1~k8来选择。

被选通的数码管显示数据。

例如,在某一时刻,k3为高电平,其余选通信号为低电平,这时仅k3对应的数码管显示来自段信号端的数据,而其他7个数码管呈现关闭状态。

根据这种电路状况,如果希望在8个数码管显示希望的数据,就必须使得8个选通信号k1~k8分别被单独选通,与此同时,在段信号输入口加上希望在该对应数码管上显示的数据,于是随着选通信号的扫变,就能实现扫描显示的目的。

例5-22是扫描显示的示例程序,其中CLK是扫描时钟;SG为7段控制电路,由高位至低位分别接g、f、e、d、c、b、a 7个段;BT是位选控制信号,接图5-24中的8个选通信号k1~k8。

程序中CNT8是一个3位计数器,作扫描计数信号,由进程P2生成;进程P3是7段译码查表输出程序,与例5-21相同;进程P1是对8个数码管选通扫描程序,例如当 CNT8等于“001”时,K2对应的数码管被选通,同时,A被赋值3,再由进程P3译码输出“1001111”,显示在数码管上即为“3”;当CNT8扫变时,将能在8个数码管上显示数据:13579BDF。

三实验内容
说明例5-22中各语句的含义,以及该例的整体功能。

对该例进行编辑、编译、综合、适配、仿真,给出仿真波形。

最后进行硬件测试。

四实验波形及仿真
实验程序例6-19
library ieee;
use ieee.std_logic_1164.all;
use ieee.std_logic_unsigned.all;
entity scan_led is
port(clk:in std_logic;
sg:out std_logic_vector(6 downto 0);
bt:out std_logic_vector(7 downto 0));
end;
architecture one of scan_led is
signal cnt8 : std_logic_vector(2 downto 0);
signal a : integer range 0 to 15;
begin
p1: process(cnt8)
begin
case cnt8 is
when "000" => bt <="00000001";a<=1;
when "001" => bt <="00000010";a<=3;
when "010" => bt <="00000100";a<=5;
when "011" => bt <="00001000";a<=7;
when "100" => bt <="00010000";a<=9;
when "101" => bt <="00100000";a<=11;
when "110" => bt <="01000000";a<=13;
when "111" => bt <="10000000";a<=15;
when others => null;
end case;
end process p1;
p2:process(clk)
begin
if clk'event and clk = '1' then cnt8 <= cnt8+1;
end if;
end process p2;
p3:process(a)
begin
case a is
when 0 => sg <="0111111"; when 1 => sg <= "0000110";
when 2 => sg <="1011011"; when 3 => sg <= "1001111";
when 4 => sg <="1100110"; when 5 => sg <= "1101101";
when 6 => sg <="1111101"; when 7 => sg <= "0000111";
when 8 => sg <="1111111"; when 9 => sg <= "1101111";
when 10 => sg <="1110111"; when 11 => sg <= "1111100";
when 12 => sg <="0111001"; when 13 => sg <= "1011110";
when 14 => sg <="1111001"; when 15 => sg <= "1110001";
when others => null;
end case;
end process p3;
end;
实验波形。

相关文档
最新文档