基于Arduino Mega2560的数字逻辑板设计

编程语言及工具

105人已加入

描述

本文是专门为“数字逻辑板”设计的,属于中级难度设计,作为练习目的的训练设备,适合电子世界的新手,包括电子逻辑电路中重要电路的概念。

我们没有使用旧的 TTL “晶体管-晶体管逻辑”电路,而是使用 Microchip 微控制器,可以使用 Arduino 原型板和 Arduino IDE 进行编程。

该项目的主要主题是学习逻辑和协议定时和传输数据,所有这些都处理数字布尔信号。

关于这个项目的很多概念:

左侧的从 Arduino 板通过使用由 Master Arduino 发送并直接控制 74HC595 IC 的 4 字节数据帧为 LED 供电。

2 线 SDA 和 SCL 使用 I2C 协议在两个 Arduino 之间同步字节流。

右侧的主 Arduino 板读取开关状态并决定通过 I2C 总线发送一个带有 4 字节帧数据消息的位。

前端界面

从上到下

7个逻辑门

直流电源开关

8位多路复用器

8位解码器

8位编码器

JK 触发器

SIPO移位寄存器

4位全加器

学生姓名

mega2560

平面设计平台

Canva是一个平面设计工具网站,成立于 2012 年。这些工具可用于网络和印刷媒体设计和图形。

mega2560

快速规格板

mega2560

首先,您需要使用翘板开关为电路板供电

要更改输入逻辑,请移动 Toggle Switch

如果逻辑为真,则红色 LED 将亮起

在这种情况下,您需要学习每个电路的真值表

逻辑门是(AND、NAND、OR、NOR、XOR、XNOR、NOT)

复用器

解码器、编码器

JK 触发器

移位寄存器

4 位全加器

L7805 稳压器

mega2560

该设备可能需要 1.5 V作为驱动电压,因此您必须为其提供至少 8 V或更高的电压以达到耗电目的。

上拉电阻

mega2560

面包板连接

mega2560

74HC595 串入并出移位寄存器

mega2560

74HC595 SIPO 移位寄存器连接到 Arduino

mega2560

74HC595 SIPO 移位寄存器连接到Arduino

mega2560

1.进行以下连接:

GND(引脚 8)接地,

Vcc(引脚 16)至 5V

OE(引脚 13)接地

MR(引脚 10)至 5V

这种设置使所有输出引脚始终处于活动状态且可寻址。这种设置的一个缺陷是,每次您在程序开始运行之前第一次为电路通电时,您最终都会将灯打开到最后一个状态或任意状态。您也可以通过控制 Arduino 板上的 MR 和 OE 引脚来解决此问题,但这种方式会起作用,并为您留下更多开放的引脚。

2.连接到Arduino

mega2560

DS(引脚 14)到 Ardunio DigitalPin 11(蓝线)

SH_CP(引脚 11)到 Ardunio DigitalPin 12(黄线)

ST_CP(引脚 12)到 Ardunio DigitalPin 8(绿线)

从现在开始,它们将分别称为dataPin、clockPin 和latchPin。

注意latchPin上的0.1“f电容器,如果在latch pin脉冲时有一些闪烁,您可以使用电容器将其均匀化。

3.增加8个LED

mega2560

在这种情况下,您应该将每个 LED 的阴极(短引脚)连接到公共地,并将每个 LED 的阳极(长引脚)连接到其各自的移位寄存器输出引脚。像这样使用移位寄存器供电称为源电流。有些移位寄存器不能提供电流,它们只能做所谓的灌电流。如果您有其中一个,则意味着您将不得不翻转 LED 的方向,将阳极直接连接到电源,将阴极(接地引脚)连接到移位寄存器输出。如果您不使用 595 系列芯片,您应该查看您的特定数据表。不要忘记串联一个 470 欧姆的电阻以保护 LED 免受过载。

74HC595 设计

mega2560

Arduino Mega 2560 的引脚排列

mega2560

Arduino Mega 2560 上的 I²C

mega2560

Ateml Mega Arduino 板上的串行数据线 (SDA) 和串行时钟线 (SCL)

SDA(引脚 20)

SCL(引脚 21)

后端

mega2560

mega2560

最后结果

mega2560

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分