artais 2023-03-31 13:41 采纳率: 63.2%
浏览 136
已结题

用逻辑门设计实现一个数码管显示译码器

img


设计一个带数码管显示的8421BCD码十进制计数器,用CPLD实验板下载验证其功能,要求:
1、用逻辑门设计实现一个数码管显示译码器(真值表如表1所示,注意:该表是直接适用于共阴极数码管的正逻辑的,但掌中宝实验板上的数码管是共阳极的,需要进行修改),译码器的输入信号由4个拨码开关SW3、SW2、SW1和SW0设置,译码器的输出驱动数码管,设计描述采用图形法,仿真和测试验证功能正确后打包成为显示译码器模块;
2、用JK触发器设计实现一个8421BCD码十进制加计数器,设计描述采用图形法,仿真验证其功能正确后打包成为计数器模块;
3、将计数器和显示译码器连接成为一个带数码管显示的8421BCD码十进制计数器,用CPLD实验板下载验证其功能。
使用quartus ii9.1版本,设计描述采用图形法,应该怎样完成

  • 写回答

1条回答 默认 最新

  • sodhyfh 2023-03-31 14:25
    关注

    基于bing、GPT部分内容和本人思考总结:实现数码管显示译码器
    首先,需要将共阳极数码管的真值表转换为共阴极数码管的真值表,并用逻辑门实现。共阴极数码管的真值表如下:
    输入 a b c d e f g
    0000 1 1 1 1 1 1 0
    0001 0 1 1 0 0 0 0
    0010 1 1 0 1 1 0 1
    0011 1 1 1 1 0 0 1
    0100 0 1 1 0 0 1 1
    0101 1 0 1 1 0 1 1
    0110 1 0 1 1 1 1 1
    0111 1 1 1 0 0 0 0
    1000 1 1 1 1 1 1 1
    1001 1 1 1 1 0 1 1
    可以用逻辑门实现如下:
    数码管显示译码器
    其中,输入信号由4个拨码开关SW3、SW2、SW1和SW0设置,输出信号a、b、c、d、e、f、g分别驱动数码管的a、b、c、d、e、f、g段。

    实现8421BCD码十进制加计数器
    8421BCD码采用4位二进制编码表示十进制数,每个十进制数对应4位二进制数,如下表所示:
    十进制数 BCD码
    0 0000

    | 1 | 0001 |
    | 2 | 0010 |
    | 3 | 0011 |
    | 4 | 0100 |
    | 5 | 0101 |
    | 6 | 0110 |
    | 7 | 0111 |
    | 8 | 1000 |
    | 9 | 1001 |
    因此,可以用JK触发器实现8421BCD码的十进制加计数器。设计思路如下:

    设计一个4位二进制加法器,将两个4位二进制数相加,得到一个5位二进制数。

    将5位二进制数转换为8421BCD码,即将每个4位二进制数转换为对应的十进制数。

    设计一个4位JK触发器计数器,每次计数器加1,输出的4位二进制数即为当前的8421BCD码。
    设计描述如下:

    4位二进制加法器:
    4位二进制加法器

    5位二进制数转8421BCD码:
    5位二进制数转8421BCD码

    4位JK触发器计数器:
    4位JK触发器计数器
    其中,输入信号CLK为时钟信号,输出信号Q0、Q1、Q2、Q3分别对应当前的8421BCD码。

    实现带数码管显示的8421BCD码十进制计数器
    将数码管显示译码器和8421BCD码十进制加计数器连接起来,即可实现带数码管显示的8421BCD码十进制计数器。连接方式如下图所示:
    带数码管显示的8421BCD码十进制计数器
    其中,输入信号CLK为时钟信号,输入信号SW3、SW2、SW1、SW0为计数器的初始值,输出信号a、b、c、d、e、f、g分别驱动数码管的a、b、c、d、e、f、g段。
    设计描述如下:
    带数码管显示的8421BCD码十进制计数器
    将三个模块打包成一个整体,并下载到CPLD实验板上进行验证即可。

    评论

报告相同问题?

问题事件

  • 已结题 (查看结题原因) 3月31日
  • 创建了问题 3月31日