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

基于Arduino Mega2560的数字逻辑板设计,第1张

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

我们没有使用旧的 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位全加器

学生姓名

基于Arduino Mega2560的数字逻辑板设计,poYBAGLg_aKAcaUyAAHkssdq82Y387.png,第2张

平面设计平台

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

基于Arduino Mega2560的数字逻辑板设计,pYYBAGLg_ZuASOcJAAKm_pMItvA679.png,第3张

快速规格板

基于Arduino Mega2560的数字逻辑板设计,pYYBAGLg_ZiAZaB7AACmNLAGGqQ310.png,第4张

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

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

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

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

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

复用器

解码器、编码器

JK 触发器

移位寄存器

4 位全加器

L7805 稳压器

基于Arduino Mega2560的数字逻辑板设计,pYYBAGLg_ZOAd0b8AAE5IYQi9n0257.png,第5张

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

上拉电阻

基于Arduino Mega2560的数字逻辑板设计,poYBAGLg_Y-AKPQpAAMPIlKQjyg517.png,第6张

面包板连接

基于Arduino Mega2560的数字逻辑板设计,poYBAGLg_YyAKWdnAAGa2EJjlss516.png,第7张

74HC595 串入并出移位寄存器

基于Arduino Mega2560的数字逻辑板设计,poYBAGLg_YiAKJYkAAEhk0PsQfY552.png,第8张

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

基于Arduino Mega2560的数字逻辑板设计,poYBAGLg_YSAFOHqAAPD1XA5Hbg401.png,第9张

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

基于Arduino Mega2560的数字逻辑板设计,poYBAGLg_YCAUU7UAAI4qWxleS8981.png,第10张

1.进行以下连接:

GND(引脚 8)接地,

Vcc(引脚 16)至 5V

OE(引脚 13)接地

MR(引脚 10)至 5V

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

2.连接到Arduino

基于Arduino Mega2560的数字逻辑板设计,poYBAGLg_XuAQji-AAHc7SE5SFc056.png,第11张

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

基于Arduino Mega2560的数字逻辑板设计,poYBAGLg_XeAA_TXAAJn_SOcPAQ010.png,第12张

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

74HC595 设计

基于Arduino Mega2560的数字逻辑板设计,poYBAGLg_XOAMwawAAH9AsNGGXg035.png,第13张

Arduino Mega 2560 的引脚排列

基于Arduino Mega2560的数字逻辑板设计,pYYBAGLg_W-AYsGaAAKIq8auYkE067.png,第14张

Arduino Mega 2560 上的 I²C

基于Arduino Mega2560的数字逻辑板设计,pYYBAGLg_WuAGTEiAAQyGNucTrg184.png,第15张

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

SDA(引脚 20)

SCL(引脚 21)

后端

基于Arduino Mega2560的数字逻辑板设计,pYYBAGLg_WeAeinXAAKpCRpuvqE496.png,第16张

基于Arduino Mega2560的数字逻辑板设计,pYYBAGLg_WOAGlLyAANKcuoqY2w378.png,第17张

最后结果

基于Arduino Mega2560的数字逻辑板设计,pYYBAGLg_V-AKE9tAAM6xrodRV8526.png,第18张

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/dianzi/2711531.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-08-17
下一篇 2022-08-17

发表评论

登录后才能评论

评论列表(0条)

保存