- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
河
北
实
科
验
技
报
大学
告
12级电信
专业
123班
学号
Z120701306 15 年 6 月 3 日
姓名
张娟
同组人
指导教师于国庆
实验名称
实验三七段译码显示
成绩
实验类型
设计型
批阅教师
一、 实验目的
掌握VHDL语言的行为描述设计时序电路。
掌握FPGA动态扫描显示屯路设计方法。
熟悉进程(process)和顺序语句的应用。
二、 实验原理:
用4个开关作为加法器的一组输入变量,共4组输入变量;对每组变量进行译码, 变换成0~F标准段码,段码中“1”表示段亮,“0”表示段灭。一位时钟输入作为扫描显 示位扫时钟,四位位扫输出,依次输出高电平。8位段码输出,根据位选状态选择输出四 组输入变量的相应译码结果。
四组输入采用试验箱K1?K16,时钟输入选择试验箱CP1或CP2;试验箱LED显示 选择动态显示方式(CZ1开关ST选择OFF),段码、位码分别扫描输出,某个管的位码 有效期间,将其对应的段码输出,各位码依次有效,实现循环扫描显示,将输入的16位 二进制数,每4位一组,分别显示到4个数码管上(0~F) o
三、 实验内容及步骤
打开MUXPLUSIIVHDL编辑器,完成七段译码显示的设计。包括VHDL程序输 入、编译、综合。
实验程序如下:
LIBRARY IEEE;
USE IEEE.STD_LOGIC_1164.A11;
ENTITY qiduanyima IS
PORT (CLK: IN STD_LOGIC;
A: OUT STD_LOGIC_VECTOR(3 DOWNTO 0);
B: IN STD_LOGIC_VECTOR( 15 DOWNTO 0);
C: OUT STD_LOGIC_VECTOR(6 DOWNTO 0));
END qiduanyima;
ARCHITECTURE simple OF qiduanyima IS
BEGIN
PROCESS (CLK)
VARIABLE Q : INTEGER RANGE OTO 5;
VARIABLE COUNT : STD_LOGIC_VECTOR(3 DOWNTO 0);
BEGIN
IF CLK EVENT AND CLK二T THEN
Q:=Q+1;
CASE Q IS
WHEN 1 = A(3 DOWNTO 0)v二 T000”;
WHEN 2 = A(3 DOWNTO 0)= n0100H;
WHEN 3 = A(3 DOWNTO 0)= ”0010”;
WHEN 4 = A(3 DOWNTO 0)v= ”0001”;
WHEN OTHERS = NULL;
END CASE;
CASE Q IS
WHEN 1 =COUNT(3 DOWNTO 0):=B(3 DOWNTO 0);
WHEN 2 =COUNT(3 DOWNTO 0):=B(7 DOWNTO 4);
WHEN 3 =COUNT(3 DOWNTO 0):=B(ll DOWNTO 8);
WHEN 4 =COUNT(3 DOWNTO 0):=B(15 DOWNTO 12);
WHEN OTHERS = NULL;
END CASE;
IF Q = 5 THEN
Q:=0;
END IF;
END IF;
CASE COUNT IS
WHEN ”0000” = C(6 DOWNTO 0) v= ”0111111 ” ;
WHEN ”0001” = C(6 DOWNTO 0) = n0000110H;
WHEN “0010” = C(6 DOWNTO 0) v二 T011011” ;
WHEN ”0011” = C(6 DOWNTO 0) v二 ”1001111” ;
WHEN “0100” = C(6 DOWNTO 0) = H1100110H;
WHEN ”0101” = C(6 DOWNTO 0) v= ”1101101”;
WHEN ”0110 = C(6 DOWNTO 0) v= T111101” ;
WHEN ”0111” = C(6 DOWNTO 0) v二 ”0000111 ” ;
WHEN n 1000n = C(6 DOWNTO 0) v二 ” 1111111 ” ;
WHEN T001 ” = C(6 DOWNTO 0) =
WHEN ”1010” = C(6 DOWNTO 0) v= ”1110111;
WHEN T011” = C(6 DOWNTO 0) = n1111100H;
WHEN ” 1100 = C(6 DOWNTO 0) v二 ”0111001 ” ;
WHEN ”1101” = C(6 DOWNTO 0) v= ”1011110“;
WHEN n 1110 = C(6 DOWNTO 0) = n11
文档评论(0)