在multisim14上完成数码管的显示(0-9)

1 篇文章 0 订阅
1 篇文章 0 订阅

提前说说

前几天给西电的同学做了一个小的线上课程设计,用到数码管。没想到我们课程设计也是关于数码管,所以在这总结一下如何仿真实现数码管

目标:完成一个数码管的显示,从0-9分别显示

一. 首先,确定使用的是共阴极数码管,在元器库中找到

在这里插入图片描述
二. 接下来找到控制端,我这里使用74ls48n进行控制,从元器件库中找到
在这里插入图片描述
三.然后从元器件库导出用到的电源,开关,地线等
在这里插入图片描述
(电源)
在这里插入图片描述
(地线)
在这里插入图片描述
(开关)
四.然后查找74ls48n功能表
在这里插入图片描述
在这里插入图片描述
五.通过查找资料发现,发现74ls48n和数码管完全是天衣无缝的拟合!(前提是共阴极数目管!)也就是D,C,B,A从高到低这四个输入端输入相应的BCD码,刚好就可以在数码管输出显示。比如DCBA输入0001,那么数码管显示的就是1。(但是输出端的abcdefg也要对应数码管的abcdefg)

六.看一下具体怎么接
在这里插入图片描述
ABCD分别为74ls48n输入端,通过按键来控制不同的状态;左下角的三个输入端根据功能表查出得置高位;输出端对应数码管接就ok了

七.结果
在这里插入图片描述
ABCD=0000,根据BCD码可知,代表数字0,那么数码管输出就是0
再看一个
在这里插入图片描述
同样,ABCD=0011,根据BCD码可知,代表数字3,那么数码管输出就是3
(前提,智能输出0-9,超过9显示就是错误的)

  • 30
    点赞
  • 169
    收藏
    觉得还不错? 一键收藏
  • 17
    评论
下面是使用 Quartus 编码实现数码管控制的步骤: 1. 首先在 Quartus 中新建一个项目,选择对应的 FPGA 型号和开发板。 2. 在项目中添加 VHDL 文件,编写数码管控制代码。以下是一个简单的例子: ```vhdl entity seven_segment is port( clk : in std_logic; data : in std_logic_vector(7 downto 0); seg : out std_logic_vector(6 downto 0); an : out std_logic_vector(3 downto 0) ); end entity seven_segment; architecture Behavioral of seven_segment is signal counter : integer range 0 to 50000000 := 0; begin process(clk) begin if rising_edge(clk) then counter <= counter + 1; if counter = 50000000 then counter <= 0; end if; end if; end process; process(data) begin case data is when "00000001" => seg <= "1000000"; -- 0 when "00000010" => seg <= "1111001"; -- 1 when "00000100" => seg <= "0100100"; -- 2 when "00001000" => seg <= "0110000"; -- 3 when "00010000" => seg <= "0011001"; -- 4 when "00100000" => seg <= "0010010"; -- 5 when "01000000" => seg <= "0000010"; -- 6 when "10000000" => seg <= "1111000"; -- 7 when others => seg <= "0000000"; -- off end case; end process; process(counter) begin case counter is when 0 to 12500000 => an <= "1110"; -- display digit 0 when 12500001 to 25000000 => an <= "1101"; -- display digit 1 when 25000001 to 37500000 => an <= "1011"; -- display digit 2 when others => an <= "0111"; -- display digit 3 end case; end process; end architecture Behavioral; ``` 这个 VHDL 文件定义了一个名为 `seven_segment` 的实体,包含时钟信号 `clk`、8 位数据信号 `data`、7 位数码管段选信号 `seg` 和 4 位数码管位选信号 `an`。`data` 信号用来控制数码管显示的数字,通过 `case` 语句实现数字到数码管段选信号的转换。`an` 信号则用来控制数码管显示的位数,通过计数器实现数码管显示的位数循环切换。 3. 在 Quartus 中进行编译,生成 .sof 文件。 4. 使用 Quartus 自带的 Programmer 工具将 .sof 文件下载到开发板中。 下面是使用 Multisim 调用数码管显示出来的步骤: 1. 打开 Multisim,新建一个电路图。 2. 在电路图中添加数码管元件,选择对应的型号和引脚数。 3. 在电路图中添加 FPGA 元件,选择对应的型号和引脚数。 4. 将 FPGA 元件的引脚与数码管元件的引脚连接起来,确保连接正确。 5. 右键单击 FPGA 元件,选择 Edit VHDL,将之前生成的 VHDL 代码复制粘贴到其中。 6. 完成 VHDL 代码的粘贴后,单击 OK 保存。 7. 单击 Multisim 工具栏上的 Run 按钮,开始仿真。 8. 在仿真窗口中观察数码管显示情况,检查是否正确。
评论 17
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值