基于 MCU 的经典数字电路逻辑功能模拟系统
扫描二维码
随时随地手机看文章
引 言
目前,数字电子技术课程的学习内容依然基于经典的 74 系列数字逻辑电路,相应的数字电子技术实验也要使用该系列的芯片,但随着半导体技术的飞速发展,集成电路的集成度和性能大大提高,且成本很低 [1],导致经典的 74 系列数字逻辑电路芯片在工程中的使用越来越少 [2],生产厂家也随之减少,零售价越来越高,使得实验室的维护成本不断增加。另一方面,数字电子技术课程教学往往是理论教学与实验教学分开进行,不利于学生快速理解数字逻辑电路和提高工程应用能力。因此,本文利用 MCU 成本低廉、性能强大的优势 [3],设计了一款基于 MCU 的经典 74 系列数字电路逻辑功能模拟系统。
1 系统硬件设计
本系统以国产增强型 8051 系列 MCU—STC15W4K32S4 为核心 [4],利用拨码开关控制经典数字逻辑电路的输入状态, LED 灯指示经典数字逻辑电路的输出状态,构成模拟经典数字逻辑电路的主体。同时,系统的逻辑功能可由按键控制, 并通过 LCD1602 液晶显示屏显示系统正在模拟的经典数字逻辑电路型号 [5]。系统的硬件组成如图 1 所示。
拨动开关共 8路,分别控制 MCU8个引脚的输入电平; LED灯共 8路,其状态受 MCU引脚独立控制,亮表示相应的输出端为高电平,灭表示相应的输出端为低电平。按键共 两个,一个用于切换 MCU的工作状态,使之模拟多个经典数字逻辑电路 ;另一个按键用于模拟时序逻辑电路的时钟脉冲。
此外,硬件系统中加入了基于 CH340 的串口转 USB 电路 [6],并且使用比较流行的 Micro USB 接口 [7],系统的供电和程序的下载均可通过一条主流智能手机的数据线来完成, 进一步降低了成本,提高了便携性。
2 系统功能设计
本系统所涉及的逻辑功能利用 C 语言编程实现,在 Keil 软件中完成代码的编译与调试 [8]。系统在一个硬件平台上, 通过软件编程实现了多个经典的数字逻辑电路的功能模拟, 见表 1 所列。
由表 1 可知,系统既实现了简单的组合逻辑电路,又实现了复杂的时序逻辑电路,涵盖了数字电子技术课程中主要数字电路型号。MCU 具有 32 KB 的片上 FLASH ROM 和4 KB 片上 RAM, 属于增强型 51 系列 MCU, 在现有逻辑功能的基础上, 仍可继续增加软件代码, 以实现其他功能。
3 程序设计
在搭建好的硬件平台上进行软件编程以实现所需功能 :
(1) MCU上电后初始化,在 LCD1602上显示开始信息 ;
(2) 系统实时检测选择按键的状态,随时准备切换功能 ;
(3) 功能选定后,MCU将按照规划好的引脚分配相应的软件代码,实现对应数字电路的逻辑功能。
3.1 组合逻辑电路的实现
基本逻辑门、译码器和数值比较器等属于组合逻辑电路。组合逻辑电路在逻辑功能上的特点是任意时刻的输出仅仅取决于该时刻的输入,与电路原来的状态无关。采用扫描方式实现组合逻辑电路。MCU 不断读取拨动开关阵列的电平状态,经 MCU 运算转换后,将结果通过 LED 灯实时显示。
3.2 时序逻辑电路的实现
触发器、计数器等属于时序逻辑电路。时序逻辑电路在逻辑功能上的特点是任意时刻的输出不仅取决于当时的输入信号,而且还取决于电路原来的状态,或者说,还与以前的输入有关,并且时序逻辑电路状态的改变发生在 CP 信号的跳变沿 [9]。采用外部中断方式实现时序逻辑电路,使用 CCP 捕获功能检测跳变沿 [10]。实现时序逻辑电路时,MCU 保存上一次跳变沿时的系统状态,下一次跳变沿到来后,由已保存的上一次状态与当前输入状态共同决定当前时刻的输出,并将结果通过 LED 灯直观显示。
4 结 语
本文设计的经典 74 系列数字电路逻辑功能模拟系统在同一个以 MCU 为核心的硬件平台上,可实现多款经典数字电路的逻辑功能,并且可根据实际需求随时通过软件编程修改系统功能,以完成对所需逻辑电路的模拟。该系统可有效降低高校电子技术基础实验室的维护成本。此外,该系统体积小巧,可随身携带,便于在理论课的课堂中同时进行理论学习和实验研究。