- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
eda实验1:七段数码显示译码器设计
七段数码显示译码器设计
1.实验目的:
学习7段数码显示译码器设计,学习VHDL的多层次设计方法。
2. 实验原理:
七段数码管由8个(a,b,c,d,e,f,g,dp)按照一定位置排列的发光二极管构成,通常采取共阴极或者共阳极的设计,将8个二极管的同一极接在一起,通过分别控制另外的8个电极的电平,使二极管导通(发光)或截止(不发光)。
七段数码显示译码器的功能就是根据需要显示的字符,输出能够控制七段数码管显示出该字符的编码。
3. 实验仪器:
EDA6000通用实验开发系统,P4电脑
4. 实验内容:
用VHDL设计7段数码管显示译码电路,并在VHDL描述的测试平台下对译码器进行功能仿真,给出仿真的波形。
---------------------------------------------------------------------
程序:
LIBRARY IEEE;
USE IEEE.STD_LOGIC_1164.ALL;
ENTITY SMG IS
PORT(A:IN STD_LOGIC_VECTOR(3 DOWNTO 0);
LED7S:OUT STD_LOGIC_VECTOR(6 DOWNTO 0));
END;
ARCHITECTURE ONE OF SMG IS
BEGIN
PROCESS(A)
BEGIN
CASE A IS
WHEN0000=LED7S=0111111;
WHEN0001=LED7S=0000110;
WHEN0010=LED7S=1011011;
WHEN0011=LED7S=1001111;
WHEN0100=LED7S=1100110;
WHEN0101=LED7S=1101101;
WHEN0110=LED7S=1111101;
WHEN0111=LED7S=0000111;
WHEN1000=LED7S=1111111;
WHEN1001=LED7S=1101111;
WHEN1010=LED7S=1110111;
WHEN1011=LED7S=1111100;
WHEN1100=LED7S=0111001;
WHEN1101=LED7S=1011110;
WHEN1110=LED7S=1111001;
WHEN1111=LED7S=1110001;
WHEN OTHERS=NULL;
END CASE;
仿真波形:
数码管显示电路设计
利用以上设计的译码器模块,设计一个8位的显示电路。
利用时分复用的方式快速轮流点亮8个数码管,在视觉上形成8个数码管同时显示的效果(尽管实际上同一时间只有一个数码管被点亮)。
要实现以上功能,就必须按照一定时钟节拍,轮流使译码器输出所需要字符的编码;同时控制数码管的公共电极电平,轮流点亮数码管。
备注:在新试验箱中可酌情减少位数实现,新试验箱中管脚查阅教材中附录。
程序:
LIBRARY IEEE;
USE IEEE.STD_LOGIC_1164.ALL;
USE IEEE.STD_LOGIC_UNSIGNED.ALL;
ENTITY VHDL42 IS
PORT(CLK:IN STD_LOGIC;
S:OUT STD_LOGIC_VECTOR(2 DOWNTO 0);
D:IN STD_LOGIC_VECTOR(3 DOWNTO 0);
A:OUT STD_LOGIC_VECTOR(6 DOWNTO 0));
END VHDL42;
ARCHITECTURE ONE OF VHDL42 IS
SIGNAL C:STD_LOGIC_VECTOR(2 DOWNTO 0);
BEGIN
P1:PROCESS(CLK)
BEGIN
IF CLKEVENT AND CLK=1THEN
IF C111THEN C=C+1;ELSE C=000;
END IF;
END IF;
S=C;
END PROCESS P1;
P2:PROCESS(D)
BEGIN
CASE D IS
WHEN 0000= A=0111111;WHEN 0001= A=0000110;
WHEN 0010= A=1011011;WHEN 0011= A=1001111;
WHEN 0100= A=1100110;WHEN 0101= A=1101101;
WHEN 0110= A=1111101;WHEN 0111= A=0000111;
WHEN 1000= A=1111111;WHEN 1001= A=1101111;
WHEN 1010= A=1110111;WHEN 1011= A=1111100;
WHEN 1100= A=0111001;WHEN 1101= A=1011110;
WHEN 1110= A=1111001;WHEN 1111= A=111
文档评论(0)