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

相关推荐
思成不止于此1 小时前
【C++ 数据结构】二叉搜索树:原理、实现与核心操作全解析
开发语言·数据结构·c++·笔记·学习·搜索二叉树·c++40周年
蜉蝣之翼❉1 小时前
opencv c++ 修改加载图像大小限制
c++·opencv·webpack
酸钠鈀1 小时前
模拟IIC通讯 基于状态机
c语言
云山工作室1 小时前
基于物联网的智能楼宇门禁系统
单片机·物联网·毕业设计·课程设计·毕设
爪哇部落算法小助手2 小时前
每日两题day50
数据结构·c++·算法
curry____3032 小时前
基本算法(2025.11.21)
c++·算法
d111111111d2 小时前
SPI通信协议--在STM32中介绍(学习笔记)
笔记·stm32·单片机·嵌入式硬件·学习
tan180°3 小时前
Linux网络TCP(上)(11)
linux·网络·c++·后端·tcp/ip
橘子真甜~3 小时前
C/C++ Linux网络编程6 - poll解决客户端并发连接问题
服务器·c语言·开发语言·网络·c++·poll