单片机手搓掌上游戏机(十一)—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读数对阈值进行调整

相关推荐
clint45612 小时前
C++进阶(1)——前景提要
c++
夜悊15 小时前
C++代码示例:进制数简单生成工具
c++
郝学胜_神的一滴17 小时前
CMake 021: IF 条件判据详诠
c++·cmake
_wyt0011 天前
洛谷 B3930 [GESP202312 五级] 烹饪问题 题解
c++·gesp
LDR0061 天前
Type-C 快充全面升级!LDR6601 赋能个人护理便携电机,重塑剃须刀 / 理发器新体验
c语言·开发语言
✎ ﹏梦醒͜ღ҉繁华落℘1 天前
单片机基础知识---stm32单片机的优先级
stm32·单片机·mongodb
Luminous.1 天前
C语言--day30
c语言·开发语言
玖玥拾1 天前
C/C++ 数据结构(七)栈、容器适配器
c语言·数据结构·c++··容器适配器
謓泽1 天前
C语言不是语法,是通往机器的地图。
c语言·开发语言
不会C语言的男孩1 天前
Linux 系统编程 · 第 8 章:进程基础
linux·c语言