内容发布更新时间 : 2024/12/28 21:10:26星期一 下面是文章的全部内容请认真阅读。
实验四 7段LED数码管显示译码器设计 西南交大 计算机组成原理实验(代码)
实验要求:本实验要求实现16位的二进制数的7段LED数码管显示译码电路,采用动态
扫描显示,可以实现计数值或固定值。
实验原理:动态扫描:由3-8译码器的输出来决定哪个数码管亮,sel为3-8译码器的输入,
sel=0—7从左到右依次点亮8个数码管,要实现动态扫描,就必须让sel的值随着CLK的每一次上升沿触发而变化。
16位的输入每四位一组作为4个数码管的显示数据,当然还需要一个中间变量实现输入数的转码。
实验代码:
LIBRARY IEEE;
USE IEEE.STD_LOGIC_1164.ALL;
USE IEEE.STD_LOGIC_UNSIGNED.ALL; ENTITY tt3 IS
PORT( CLK:IN STD_LOGIC; INN:IN STD_LOGIC_VECTOR(15 DOWNTO 0); SEL:buffer STD_LOGIC_VECTOR(2 DOWNTO 0); LED7:OUT STD_LOGIC_VECTOR(7 DOWNTO 0)); END;
ARCHITECTURE ONE OF tt3 IS SIGNAL DATA:STD_LOGIC_VECTOR(3 DOWNTO 0); BEGIN
PROCESS(CLK) BEGIN IF CLK'EVENT AND CLK='1' THEN IF SEL>=\ ELSE SEL<=SEL+1; END IF; CASE SEL IS WHEN \ WHEN \ WHEN \ WHEN \TA<=INN(15 DOWNTO 12); WHEN OTHERS =>NULL; END CASE; END IF; END PROCESS; PROCESS(DATA) BEGIN CASE DATA IS
WHEN \ WHEN \ WHEN \ WHEN \ WHEN \ WHEN \ WHEN \ WHEN \ WHEN \ WHEN \ WHEN \ WHEN \ WHEN \ WHEN \ WHEN \ WHEN \ WHEN OTHERS =>NULL; END CASE; END PROCESS; END;
波形图设计:
引脚锁定:
Clk----A14 SEL[0]-----PIN_C22 SEL[1]----PIN_D22 SEL[2]----PIN_G9 SEG[0]---PIN_G16—a ~~~~SEG[7]---PIN_M21—dp DATA[0]—DATA[3]锁定于k1,k2,k3,k4 DATA[4]-DATA[7]锁定于k7,k8,k9,k10 DATA[11]-DATA[8] 锁定于s1,s2,s3,s4 DATA[15]-DATA[12] 锁定于s7,s8,s9,s10