0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

如何基于Arduino Mega和TFT显示屏构建简单的8位基本计算机系统

454398 来源:网络整理 作者:网络整理 2019-11-12 11:29 次阅读

步骤1:您要使用什么组件需要吗?

1 Arduino Mega(我使用便宜的克隆);

1个2.2英寸SPI TFT显示模块240 x 320 ILI9341;

2 SPI 5v至3v3电平转换器

1个AT24C256串行EEPROM模块;

1 Arduino Uno原型板;

1母对母接头电缆;

1母USB连接器

1被动压电蜂鸣器;

2个4k7电阻器

用于ld的1200欧姆电阻器;

1 40针接头连接器公头;

1 40针接头连接器母;

几种颜色的电线用于连接原型板上的组件;

我自己使用了许多廉价的克隆,如果您想要优质的组件并且用于《实例Arduino板没有驱动程序问题,您可以购买原装零件,这些便宜的TFT模块的触摸界面非常糟糕,以至于我不使用它,因此您还可以订购更便宜的无触摸芯片。使用2板的4线电平转换器,我相信也有单板8线的转换器。我使用标准(Arduno Uno,由于尺寸)prot otype板因为易于使用,还可以使用普通的PCB实验板。蜂鸣器必须是被动的才能将其用作扬声器。我使用母头连接器将电平转换器和eeprom模块放置在板上,您不必这样做,这样可以节省空间和金钱,但是它不那么容易更换零件,也不容易将导线焊接到电路板上。如果没有板子挡住板子。

步骤2:全部放在一起。

在大多数情况下,当我构建项目时,我首先将其构建在试验板上,以查看一切是否都按预期的方式工作。我进行了所有测试,因此您可以跳过此阶段。我将eeprom模块的引脚和电平转换器的引脚焊接在组件侧,以便可以将它们上下颠倒放置在原型板上。您可以按照任何方便的顺序放置组件,如果要使用原始的3D打印外壳,则唯一需要放置在特定位置的就是USB连接器

步骤3:整个图

该图似乎有些混乱,但是很难绘制标准组件之间所有连接的图。我将尝试解释一下,我没有画所有的电源线和地线,首先,我将Eeprom板上的插头引脚,转换板推入,并在原型板上找到一个点(在中间),为布线。然后,我找到了一个合适的区域来放置用于将电线连接至显示板的凸头。然后,我将它们焊接到板上并进行所有电源连接,以使事情井井有条。我使用黑色电线接地,红色使用5V电线,橙色使用3V3电线。在转换板上,您只需要连接一根接地线,它们就内部连接在板上。

在左上角,您将看到键盘的USB连接器。这是一个标准的母头USB连接器,外部引脚是电源引脚,另外两个引脚是data +和data-引脚。我利用了一个事实,即普通USB键盘具有“回退”模式到PS2模式(一种简单的串行协议),可以由Arduino处理器轻松解释。当两个数据引脚都通过“上拉”电阻器连接到正5电压时,就会发生这种“后退”。这解释了两个4k7上拉电阻。 USB引脚2是数据,必须连接到Arduino的引脚2,USB引脚3是必须连接到Arduino引脚3的时钟。键盘CLK在引脚3上非常重要,因为这是读取键盘代码的中断例程。

左下角的Eeprom模块是标准的I2C设备,可以连接到键盘的A4和A5。 Arduino的。在Mega上,这些不是标准的I2C引脚,但我使用非常简单的软件I2C,并且占用的内存很少,可以使用这些引脚。

压电蜂鸣器必须是被动类型,并且可以连接在接地和引脚8。该引脚是软件定义的,您可以使用任何其他引脚。

显示器的连接要复杂一些,因为显示线均为3v3(尽管显示器电源强大)使用板载电源稳压器时为5V),因此我们必须使用小型转换器板将所有线路从5v转换为3v3并向后转换。这些板具有Hv(高电压)和Lv(低电压)侧,Hv侧为连接到Arduino,Lv端连接到显示器。这些转换器是双向的,因此它们将双向工作。我使用了来自Arduino Mega中部连接器的SPI信号,该连接器上还有一个额外的电源和接地引脚。将Mosi,Miso和Clk引脚连接到转换器,并将Lv侧连接到显示器和SD引脚。其他线路(如芯片选择线,复位引脚)分别连接至Arduino Mega d5至D10引脚(分别位于Hv侧和Lv一侧)至显示器和SD卡连接器。

万用表测试所有连接,通常我至少有一个不良的焊点,看起来像是一个良好的连接,但事实并非如此,在完全组装完所有零件之后,您可能会永远搜索。在给电路板上电之前,还要用万用表检查短路情况。

现在是时候测试所有内容并加载软件了。

步骤4:软件

当我开始这个项目时,我打算使用Arduino Nano和尽可能多的标准库。我发现(很多次以前)很多标准库的内存占用非常大,它们通常具有比我需要的功能更多的功能,有时并不能提供我需要的所有功能。我自己写了很多小型库,例如一个简单的I2C库,它不占用大量内存,只具有一些功能。我还为显示器和键盘编写了库,以便仅用最少的内存就可以拥有所需的功能。 Arduino Nano受到限制,因此在项目进行到一半时,我将其更改为具有更多I/O引脚和8 K内存的Arduino Mega。我现在使用的唯一外部库是Arduino IDE软件包中标准的SDcard库。如果您将文件解压缩到Arduino项目目录中,则应该能够将其编译为Arduino Mega开发板并上传。我提供了完整的源代码(请保留我的名字),您可以根据需要进行修改或扩展。可以从我的网站下载该软件包的最新版本(1.0.1):https://www.heinpragt.com/techniek/arduino/arduino_basic_computer.php。在Arduino草图文件夹中,还有一个(Word)文档,其中包含基本语言的文档。

在我的网站上,您还可以下载用于3D打印机的一组STL文件,以打印我为我的版本设计这种情况下具有显示器的安装点,外部的Arduino Mega底部具有连接器,用于连接外部设备。

简单的示例基本程序

10 REM PROGRAM TO CONVERT FROM FAHRENHEIT TO CELSIUS

15 CLS

20 INPUT “Temperature in Fahrenheit”;F

30 C=5/9*(F-32)

40 PRINT “Temperature in Celsius is : ”;C

50 END

步骤5:已知问题

TFT显示器不支持水平方向的硬件滚动,因此我不得不创建一个软件滚动条。由于内存缓冲区较小,因此滚动速度很慢。我的建议是使用屏幕区域,并尽可能避免滚动。

过一会儿,盒子会变得很容易缩开,使零件变得太容易分开,我在零件重叠的情况下在盒子上钻了一些小孔,并使用很小的螺钉(1毫米)将所有东西紧密地固定在一起。
责任编辑:wv

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

    关注

    0

    文章

    281

    浏览量

    24088
  • Arduino
    +关注

    关注

    187

    文章

    6463

    浏览量

    186621
  • TFT显示屏
    +关注

    关注

    1

    文章

    7

    浏览量

    1990
收藏 人收藏

    评论

    相关推荐

    信号继电器在计算机系统中的应用

    信号继电器在计算机系统中的应用是一个重要且复杂的领域,它作为电气控制的关键元件,在计算机系统中发挥着信号转换、隔离、放大以及控制等多种作用。以下将从信号继电器的基本概念、工作原理、特性、在计算机系统中的应用场景、优势以及未来发展
    的头像 发表于 09-27 16:29 284次阅读

    计算机存储系统的工作原理和功能

    计算机存储系统作为计算机系统中至关重要的组成部分,其原理和功能对于理解计算机的运行机制具有关键意义。以下将详细阐述计算机存储
    的头像 发表于 09-26 16:42 634次阅读

    计算机系统的硬件组成和主要部件

    计算机系统的硬件组成是计算机运行的基础,它包含了多个关键部件,这些部件相互协作,共同实现计算机的各种功能。
    的头像 发表于 09-10 11:41 1562次阅读

    简述计算机总线的分类

    计算机总线作为计算机系统中连接各个功能部件的公共通信干线,其结构和分类对于理解计算机硬件系统的工作原理至关重要。以下是对计算机总线结构和分类
    的头像 发表于 08-26 16:23 951次阅读

    存储器在微型计算机系统中的作用

    存储器在微型计算机系统中扮演着至关重要的角色,它是计算机存储和处理数据的核心部件。以下将详细介绍存储器在微型计算机系统中的作用,包括其分类、功能、特性以及与其他系统组件的交互。
    的头像 发表于 08-22 14:25 1610次阅读

    微处理器如何控制计算机系统

    微处理器,作为计算机系统的核心部件,承担着控制整个计算机系统运行的重要任务。它不仅是计算机的运算中心,还是控制中心,负责执行程序指令、处理数据以及协调计算机各部件之间的工作。以下将详细
    的头像 发表于 08-22 14:21 438次阅读

    简述微型计算机系统的组成

    微型计算机系统,简称微机系统,是一个集硬件和软件于一体的复杂系统,旨在高效处理信息、存储数据和执行用户指令。下面将从硬件和软件两大方面对微型计算机系统的组成进行详细阐述。
    的头像 发表于 08-22 12:37 3027次阅读

    计算机系统的组成和功能

    计算机系统是一个复杂而庞大的概念,它涵盖了计算机硬件、软件以及它们之间相互作用的所有元素。为了全面而深入地探讨计算机系统,本文将从定义、组成、功能、发展历程以及未来趋势等方面进行详细阐述。
    的头像 发表于 07-24 17:41 746次阅读

    计算机系统软件的主要分类及其功能

    计算机系统软件是计算机运行的基础和关键,它们为计算机提供了各种基础服务和管理功能,使得计算机能够高效地工作。
    的头像 发表于 07-15 18:26 2663次阅读

    计算机系统中的关键组件有哪些

    计算机系统中,关键组件的协同工作构成了其强大的数据处理和运算能力。这些组件不仅决定了计算机的性能,还影响着用户的使用体验。以下是对计算机系统中关键组件的详细阐述,包括它们的定义、功能、特点以及相互之间的关系。
    的头像 发表于 07-15 18:18 1277次阅读

    TFT液晶显示屏是什么原因?怎么处理?

    TFT液晶显示屏出现闪问题可能由多种原因引起,包括硬件故障、驱动问题和环境因素等。下面是深圳市勋瑞光电科技有限公司小编对TFT液晶显示屏
    的头像 发表于 03-11 09:39 1583次阅读

    计算机系统由什么两部分组成 计算机系统的层次结构

    计算机系统是由硬件和软件两部分组成的。 硬件部分包括计算机的实体组件,如中央处理器(CPU)、内存、存储设备、输入输出设备、显示器等。CPU是计算机系统的核心部件,负责执行指令、运算和
    的头像 发表于 02-01 14:13 3492次阅读

    计算机系统如何应对大模型时代的挑战与机遇

    “操作系统管理着计算机的资源和进程,以及所有的硬件和软件。计算机的操作系统让用户在不需要了解计算机语言的情况下与
    发表于 01-23 11:06 516次阅读
    <b class='flag-5'>计算机系统</b>如何应对大模型时代的挑战与机遇

    如何让Adafruit 320x240 IPS TFT显示屏在PSoC上运行?

    我有一台 Adafruit 320x240 IPS TFT 显示屏,希望它能够使用我的 PSoC 4200 主板绘制图像。 来自 Adafruit 的代码库是为 Arduino 设计的,我不确定如何让它在 PSoC 上运行。
    发表于 01-22 06:33

    tft显示屏显示问题

    stm32通过控制一个电机模块来控制水泵工作,水位低于阈值时,水泵就工作,一工作TFT显示屏就白屏不显示,这个问题怎么解决,电源直接接的是32的5v
    发表于 12-26 01:02