资讯动态

74LS161与74HC390在Multisim中实现六进制和六十进制计数器

发布时间:2026/10/6 5:51:56 来源:尧图企业网站定制
1. 为什么还要折腾74系列计数器数字电路实验里计数器是最基础也最容易翻车的模块之一。74LS161和74HC390这两颗芯片一颗是四位二进制同步计数器一颗是双十进制计数器几乎覆盖了从模2到模100的所有计数需求。但很多人在Multisim里搭完电路仿真跑起来要么数码管乱跳要么进位信号死活出不来最后只能对着电路图发呆。这篇内容就是把我自己从零搭六进制、六十进制计数器的完整过程拆开讲。从芯片选型、真值表推导、反馈清零逻辑设计到Multisim里的连线细节、仿真参数设置、常见报错处理全部按实际操作的顺序来。不管你是刚接触数字电路的学生还是需要快速验证方案的工程师照着走一遍就能把电路跑通文末也会说明仿真文件的组织方式方便你直接复现。核心关键词先摆出来74LS161、74HC390、Multisim、六进制计数器、六十进制计数器。这几个词贯穿全文后面每个环节都会围绕它们展开。2. 芯片选型与方案对比为什么是这两颗2.1 74LS161和74HC390各自能干什么74LS161是TTL工艺的四位二进制同步计数器带同步置数、异步清零和进位输出。它的计数范围是0到15模16。关键引脚包括CLK时钟输入、CLR异步清零低有效、LOAD同步置数低有效、ENP和ENT计数使能、A/B/C/D置数输入端、RCO进位输出。RCO在计数到15且ENT为高时输出高电平这个特性是做级联的关键。74HC390是CMOS工艺的双十进制计数器内部包含两个独立的十进制计数单元每个单元又分成二分频和五分频两级。它的好处是功耗低、抗干扰强而且每个十进制单元可以直接输出BCD码。做六十进制的时候个位用一片74HC390的一个十进制单元十位用另一个单元级联起来刚好。两者对比一下特性74LS16174HC390工艺TTLCMOS计数模值16四位二进制10双十进制清零方式异步异步置数方式同步无进位输出RCO无独立RCO需自行组合典型用途任意模值计数器、级联十进制计数、分频选74LS161做六进制是因为它可以通过反馈清零或反馈置数灵活实现任意模值小于16的计数。选74HC390做六十进制是因为它天然就是十进制个位和十位各用一个单元级联逻辑比用74LS161搭两级要简洁得多。2.2 六进制和六十进制的实现思路差异六进制计数器的本质是“数到6就归零”。用74LS161实现时有两种主流方案反馈清零法和反馈置数法。反馈清零法是把输出端Q2和Q1对应二进制0110即十进制6接到一个与非门与非门输出接CLR引脚。当计数到6的瞬间CLR被拉低计数器异步清零实际稳定状态是0到5共6个状态。这里要注意异步清零会有短暂的“6”状态毛刺如果后级对毛刺敏感需要额外处理。反馈置数法是把Q2和Q1接到与非门输出接LOAD同时置数输入端全部接地。当计数到6时LOAD被拉低下一个时钟沿把0置入计数范围同样是0到5。同步置数没有毛刺但需要多接几根线。六十进制计数器是“个位逢十进一十位逢六归零”。用74HC390时个位单元配置成十进制它的最高位输出QD在9变0时产生下降沿这个下降沿可以作为十位单元的时钟。十位单元同样配置成十进制但需要在计数到6时清零。清零逻辑用十位单元的QB和QC对应0110接到与非门输出接十位单元的CLR。这里有个细节74HC390的清零是异步的所以十位会在第6个脉冲到来时立刻清零而不是等到下一个时钟沿。实际效果是十位显示0到5个位显示0到9总共60个状态。2.3 Multisim里选芯片的注意事项Multisim的元件库分几个层级Master Database、Corporate Database、User Database。74LS161在“TTL”组里74HC390在“CMOS”组里。如果你在搜索框直接输“74HC390”找不到试试输“74HC390N”或者到“CMOS”组下的“4000系列”里翻。注意Multisim不同版本的元件库命名有差异。14.0以上版本建议用“74HC390”搜索12.0版本可能需要用“74HC390N”。如果实在找不到可以用74LS390替代逻辑功能一样只是TTL工艺。另外Multisim的TTL和CMOS芯片默认电源引脚是隐藏的VCC和GND自动连接。如果你从其他来源导入模型可能需要手动接电源。仿真前务必确认电源电压74LS系列是5V74HC系列是2V到6V通常也用5V。3. 六进制计数器从真值表到Multisim连线3.1 反馈清零法的真值表推导六进制计数器需要6个稳定状态0、1、2、3、4、5。用四位二进制表示就是0000到0101。当计数器输出为0110十进制6时触发清零。真值表如下时钟脉冲QDQCQBQA十进制动作000000保持100011保持200102保持300113保持401004保持501015保持601106清零清零条件是QD0、QC1、QB1、QA0。用与非门实现时把QC和QB接到与非门输入端输出接CLR。因为CLR是低有效当QC和QB同时为1时与非门输出低触发清零。这里有个容易忽略的点QA和QD在计数到6时都是0所以不需要接入与非门。如果误把QA也接进去清零条件会变成QC1、QB1、QA1对应十进制14那就变成十四进制了。3.2 反馈置数法的对比与选择反馈置数法的接线稍微复杂一点。把QC和QB接到与非门输出接LOAD。置数输入端A、B、C、D全部接地。当计数到6时LOAD被拉低下一个时钟上升沿把0置入。两种方法的区别对比项反馈清零法反馈置数法清零/置数方式异步同步毛刺有无接线复杂度低中稳定状态0-50-5适用场景对毛刺不敏感对时序要求严格我实际搭电路时如果只是做实验演示反馈清零法足够。如果后级接的是对毛刺敏感的触发器建议用反馈置数法。Multisim仿真时反馈清零法的毛刺在示波器上能看到一个很窄的尖峰但不影响数码管显示。3.3 Multisim连线步骤与参数设置打开Multisim新建一个空白电路。从元件库拖入以下元件74LS161一片74LS00二输入与非门一片只用其中一个门数码管一个建议用共阴极型号DCD_HEX时钟源一个用“Clock Voltage Source”频率设1Hz电阻和开关若干连线顺序时钟源输出接74LS161的CLK引脚第2脚。CLR引脚第1脚先接高电平通过1k电阻接VCC后续接与非门输出。LOAD引脚第9脚接高电平ENP第7脚和ENT第10脚接高电平。置数输入端A、B、C、D第3、4、5、6脚全部接地。QC第14脚和QB第13脚接与非门的两个输入。与非门输出接CLR引脚。输出端QA、QB、QC、QD接数码管的对应段。提示Multisim里数码管的引脚定义和实际芯片不同DCD_HEX的输入是A、B、C、D四个引脚对应二进制权重1、2、4、8。接反了显示会乱。时钟频率设1Hz是为了肉眼观察数码管变化。如果设太高仿真速度跟不上数码管会闪烁。仿真模式选“Interactive Simulation”点运行后就能看到数码管从0跳到5然后回到0。3.4 仿真结果验证与波形观察运行仿真后数码管应该按0、1、2、3、4、5、0的顺序循环。如果显示不对按以下顺序排查检查CLR引脚是否在计数到6时被拉低。用逻辑分析仪接CLR引脚看是否有低电平脉冲。检查与非门输入是否接对。QC和QB对应二进制0110的高两位如果接成QA和QB清零条件变成0011就是三进制。检查ENP和ENT是否都为高。任何一个为低计数器都不计数。检查时钟源是否正常工作。用示波器接CLK引脚看是否有方波。我实测下来反馈清零法在Multisim里跑1Hz时钟很稳数码管显示干净。如果换成10kHz时钟数码管会显示“8”或者乱码这是因为仿真步长不够需要调整仿真参数。4. 六十进制计数器74HC390级联实战4.1 74HC390内部结构与引脚定义74HC390内部有两个独立的十进制计数单元每个单元又分成二分频和五分频两级。引脚分布如下第1脚时钟输入A二分频第2脚清零输入A低有效第3脚时钟输入B五分频第4脚清零输入B低有效第5脚输出QA二分频输出第6脚输出QB五分频第一级第7脚输出QC五分频第二级第8脚GND第9脚输出QD五分频第三级第10脚清零输入C低有效第11脚时钟输入C二分频第12脚输出QE二分频输出第13脚输出QF五分频第一级第14脚输出QG五分频第二级第15脚输出QH五分频第三级第16脚VCC做十进制计数时把QA接到时钟输入B时钟信号接时钟输入A这样QA输出二分频0-1QB、QC、QD输出五分频0-4组合起来就是0-9的BCD码。清零输入A和清零输入B接在一起作为整个十进制单元的清零端。4.2 个位与十位的级联逻辑六十进制需要两个十进制单元个位和十位。个位单元配置时钟输入A接外部时钟QA接时钟输入B清零输入A和B接高电平不清零输出QA、QB、QC、QD作为个位BCD码十位单元配置时钟输入C接个位单元的QD输出个位从9变0时QD产生下降沿QE接时钟输入D注意74HC390的第二个单元时钟输入是第11脚和第13脚具体看型号清零输入C和D接与非门输出输出QE、QF、QG、QH作为十位BCD码清零逻辑十位计数到6时QF和QG同时为1对应0110用与非门检测这个状态输出接十位的清零端。因为74HC390的清零是异步的十位会在第6个脉冲到来时立刻清零。注意个位单元的QD输出在9变0时是下降沿而十位单元的时钟输入是下降沿触发还是上升沿触发取决于具体型号。74HC390的时钟输入是下降沿触发所以个位的QD下降沿正好驱动十位计数。4.3 Multisim中74HC390的放置与连线在Multisim里搜索“74HC390”如果找不到试试“74HC390N”或者到“CMOS”组下的“4000系列”里找。放置两片74HC390一片做个位一片做十位。连线步骤时钟源接个位74HC390的第1脚时钟输入A。个位的第5脚QA接第3脚时钟输入B。个位的第2脚和第4脚清零输入A和B接高电平。个位的第6、7、9脚QB、QC、QD接数码管的对应段。个位的第9脚QD接十位的第11脚时钟输入C。十位的第12脚QE接第13脚时钟输入D。十位的第10脚和第4脚清零输入C和D接与非门输出。十位的第14、15、16脚QF、QG、QH接数码管的对应段。十位的第14脚QF和第15脚QG接与非门的两个输入。这里有个坑74HC390的第二个单元的清零引脚是第10脚和第4脚但第4脚同时也是第一个单元的清零引脚。如果个位和十位共用一片74HC390清零逻辑会互相干扰。所以建议用两片独立的74HC390一片做个位一片做十位。4.4 清零逻辑的与非门实现与调试清零逻辑用74HC00二输入与非门实现。十位的QF和QG接与非门输入输出接十位的清零端。调试时按以下顺序检查个位是否正常计数0-9。如果个位不计数检查时钟输入A是否有信号QA是否接到时钟输入B。十位是否在个位从9变0时进位。如果十位不动检查个位的QD是否接到十位的时钟输入C。十位是否在计数到6时清零。如果十位显示6或7检查与非门输入是否接的QF和QG输出是否接的清零端。数码管显示是否正常。如果显示乱码检查BCD码到数码管的接线顺序。我实际调试时遇到一个问题十位在计数到6时清零了但个位也跟着清零了。原因是两片74HC390共用了一个清零信号。后来把个位的清零端直接接高电平问题解决。5. Multisim仿真常见问题与排查技巧5.1 数据库访问错误与元件库修复Multisim最烦人的问题之一就是“访问数据库发生错误”。这个报错通常出现在启动时或者搜索元件时。原因一般是数据库文件损坏或者路径权限不对。解决方法关闭Multisim。找到数据库文件路径通常在“C:\Users\用户名\AppData\Roaming\National Instruments\Circuit Design Suite\版本号\”下。把“database”文件夹重命名为“database_bak”。重新启动Multisim它会自动重建数据库。如果还不行用安装包里的“Repair”功能修复。提示重命名数据库会丢失自定义元件但Master Database会重建。如果之前保存过自定义元件先备份。另一个常见问题是“主数据库无法访问”。这个通常是权限问题。右键Multisim快捷方式选“以管理员身份运行”如果能正常启动说明是权限问题。永久解决方法是把数据库文件夹的权限改成“完全控制”。5.2 仿真速度慢与步长调整Multisim默认的仿真步长是自动的对于高频时钟或者复杂电路仿真速度会非常慢。如果时钟频率设到1kHz以上数码管显示会卡顿。调整方法菜单栏选“Simulate” - “Interactive Simulation Settings”。在“Maximum time step”里填入一个值比如1e-61微秒。如果电路里有高频信号把步长设小一点比如1e-7。如果只是看数码管变化步长可以设大一点比如1e-3加快仿真速度。我实测下来1Hz时钟用默认设置就行10kHz时钟需要把步长设到1e-6否则数码管会显示乱码。5.3 仪器不全与替代方案Multisim的仪器栏里默认有示波器、万用表、函数发生器、逻辑分析仪等。如果发现仪器不全可能是版本问题或者安装时没勾选。替代方案没有逻辑分析仪时用示波器的多通道模式同时看CLK、CLR、QA、QB等信号。没有数码管时用逻辑探针Logic Probe看每个输出端的高低电平。没有时钟源时用函数发生器输出方波频率设1Hz。注意Multisim的仪器栏可以自定义右键工具栏选“Customize”把需要的仪器拖出来。5.4 元器件旋转与连线技巧Multisim里旋转元器件用快捷键CtrlR水平翻转用CtrlF垂直翻转用CtrlShiftF。连线时如果线交叉太多可以用“Place” - “Connector” - “Off-Page Connector”做跨页连接。常见连线问题线连上了但没电气连接检查节点是否有实心圆点没有圆点说明没连上。线交叉但不想连接交叉处没有圆点就是不相连有圆点就是相连。电源和地隐藏了TTL和CMOS芯片默认隐藏电源引脚如果需要手动接在元件属性里勾选“Show power pins”。6. 仿真文件组织与复现指南6.1 文件结构建议一个完整的仿真项目建议按以下结构组织六进制计数器.ms14Multisim 14格式六十进制计数器.ms14元件清单.txt列出所有芯片型号和数量调试记录.md记录调试过程中的问题和解决方法Multisim保存时默认是.ms14格式低版本可能打不开高版本文件。如果需要在不同版本间共享可以导出为SPICE网表或者截图。6.2 从零复现的检查清单按以下清单逐项检查确保电路能跑通芯片型号是否正确。74LS161和74HC390不能混用电源电压。电源引脚是否接好。TTL和CMOS芯片的VCC和GND是否连接。时钟源是否正常工作。用示波器看CLK引脚是否有方波。清零和置数引脚是否接对。CLR和LOAD的电平是否正确。使能引脚是否使能。ENP和ENT是否都为高。输出端是否接对。QA、QB、QC、QD的顺序是否和数码管匹配。与非门输入是否接对。清零条件的二进制码是否正确。仿真步长是否合适。高频时钟需要调整步长。6.3 从仿真到实物的注意事项仿真跑通不代表实物能跑通。从Multisim到实际电路板有几个坑74LS161是TTL输入高电平最小2V低电平最大0.8V。74HC390是CMOS输入高电平最小3.5V5V供电时。混用时要注意电平匹配。实际芯片的电源引脚是可见的需要手动接VCC和GND。实际电路的时钟信号可能有抖动需要加去抖电路或者施密特触发器。数码管的限流电阻不能省否则会烧段。我实际搭电路时74LS161的CLR引脚悬空会误触发必须接高电平。74HC390的未用输入引脚也不能悬空否则功耗会增加。7. 个人实操体会与扩展思路六进制和六十进制计数器是数字电路里最基础的模块但真正在Multisim里跑通需要关注的细节比想象中多。我踩过的坑包括与非门输入接错导致模值不对、清零信号共用导致级联干扰、仿真步长太大导致数码管乱码。这些问题在教科书里不会写只有实际搭一遍才能遇到。扩展思路方面六进制计数器可以改成任意模值只要改与非门的输入组合。六十进制计数器可以扩展成二十四进制小时计数或者十二进制月份计数方法是一样的个位十进制十位按需清零。仿真文件我建议自己从头搭一遍不要直接下载别人的。自己搭的过程中会遇到各种问题解决问题的过程才是真正学到东西的地方。Multisim的元件库和仿真引擎虽然有些小毛病但用来验证数字电路逻辑足够了。

读完文章,也想定制专属网站?

尧图设计师 24 小时内与您沟通定制方案

免费获取报价 →
↑