- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
实验三 扫描驱动显示电路设计(设计性实验)
一、实验目的
1. 了解实验箱中8位七段数码管显示模块的工作原理。
2. 熟悉VHDL 硬件描述语言及设计专用数字集成电路的自顶向下的设计思想。
3. 掌握利用CPLD/FPGA设计8位七段数码管扫描显示驱动电路的方法。
二、实验设备
1. 计算机(配置为:P4 CPU 128M内存);
2. MAX+plusⅡ开发工具软件;
3. EL教学实验箱 ;
4. 万用表 ;
5. DS 5022M型双踪数字示波器;
扫描原理
为了减少8位显示信号的接口连接线,实验箱中的数码显示采用扫描 显示工作模式。即8位数码管的七段译码输入()是并联在一起的,而每一个数码管是通过一个3位选择sel[2..0]来选定 的。sel与数码管之间是一3-8译码的关系,即sel为“000”时,选中第一个数码管,sel为“1”时,选中第八个数码管。
要求在Max+plus平台上用VHDL语言编写程序,调试成功后下载至芯片,再利用外接电路实现以上设计功能。library ieee;
use ieee.std_logic_1164.all;
entity c4 is
port(clk,reset: in std_logic;
a,b,c,d,e,f,g: out std_logic;
y: out std_logic_vector(1 downto 0));
end c4;
architecture beha of c4 is
component counter16
port(clk,clr: in std_logic;
count: out std_logic_vector(3 downto 0));
end component;
component m
port(datain: in std_logic_vector(3 downto 0);
a,b,c,d,e,f,g: out std_logic);
end component;
component yima3
port(x: in std_logic_vector(1 downto 0);
y: out std_logic_vector(1 downto 0));
end component;
signal cont: std_logic_vector(3 downto 0);
signal sel3: std_logic_vector(1 downto 0);
begin
d1:counter16 port map(clk=clk,clr=reset,count=cont);
d2:m port map(datain=cont,a=a,b=b,c=c,d=d,e=e,f=f,g=g);
d3:yima3 port map(x=cont(1 downto 0),y=y);
end beha;
library ieee;
use ieee.std_logic_1164.all;
entity yima3 is
port( x: in std_logic_vector(1 downto 0);
y: out std_logic_vector(1 downto 0));
end yima3 ;
architecture beha of yima3 is
begin
y=x;
end beha;
library ieee;
use ieee.std_logic_1164.all;
entity m is
port(datain: in std_logic_vector(3 downto 0);
a,b,c,d,e,f,g: out std_logic);
end m;
architecture beha of m is
signal dataout: std_logic_vector(6 downto 0);
begin
a=dataout(6);
b=dataout(5);
c=dataout(4);
d=dataout(3);
e=dataout(2);
f=dataout(1);
g=dataout(0);
process(datain)
begin
case datain is
when 0000= dataout=1111110;--0
when 0001= dataout=0110000;--1
when 0010= dataout=1101101;--2
when 0011=
文档评论(0)