单片机手搓掌上游戏机(十一)—esp8266运行gameboy模拟器之硬件连接

上一篇文章说到,控制按键有八个,单片机的io口数量不够,有一个叫PIN_ESC的按键连到了D8也就是15号接口,实际上是不工作的,15号接口通过一个10k电阻下拉接地了。这个键是B键,很重要,所以对一些接口做了调整:

在lib文件夹里的ESPBoyInit.h👆

相应的 ESPBoyInit.cpp改写为

具体各个按键的功能和对应开发板的编号,我注释了,可以按照一一连接。

lcd的各个引脚连接方法不变

就是把扬声器接口和 PIN_ESC换了位置,但是,第一会导致扬声器的接法必须如上图所示的下拉接法,上拉会导致单片机停止工作;第二是喇叭的声音变小,因为10k的电阻起到分流作用。

扬声器我用的是8欧姆5w的,阻抗匹配这块我不懂,随便找的,你也可以加一级放大器,匹配一下,不过在这么一个采样率的情况下,加个输出电容就行了,都是鬼哭狼嚎。

最后就是,我们虽然用的是彩屏,但gameboy实际上是单色的游戏机,我们只用了彩屏的大小,颜色的话就是黑白和液晶绿最顺眼。A0接口的两个按键用的电阻我换成了10k

我在ino文件里设置了一个DEBUG的define,可以取消注释,查看按键的实际adc读数对阈值进行调整

相关推荐
逑之4 小时前
C语言笔记15:动态内存管理
c语言·网络·笔记
陌路204 小时前
C++28 STL容器--array
开发语言·c++
zfxwasaboy4 小时前
DRM KMS 子系统(3)CRTC
linux·c语言
im_AMBER4 小时前
Leetcode 100 在链表中插入最大公约数
数据结构·c++·笔记·学习·算法·leetcode·链表
2401_863326114 小时前
基于单片机智能光控路灯设计
单片机·嵌入式硬件
Z1Jxxx4 小时前
删除字符串2
开发语言·c++·算法
你的冰西瓜4 小时前
C++中的set容器详解
开发语言·c++·stl
苦藤新鸡4 小时前
9.找到字符串中所有字母异位词
数据结构·c++·算法·力扣
令狐掌门5 小时前
C++ io_uring介绍
c++·io_uring
青小莫5 小时前
C++之类和对象(下)
java·开发语言·c++