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

相关推荐
会编程的小孩7 小时前
C++ qt的安装
c++
学逆向的7 小时前
C 枚举变量
c语言·开发语言·网络安全
糖糖单片机设计8 小时前
基于 STM32 的植物生长环境监控系统
stm32·单片机·嵌入式硬件
冷凝雨8 小时前
前导零、后导零、最高有效位、最低有效位计算(C)
c语言
创界工坊工作室8 小时前
56-基于STC89C52的智能声控饮水机设计
stm32·单片机·嵌入式硬件·51单片机·proteus
LCG米8 小时前
STM32 DMA 多通道链式传输实测:请求仲裁顺序错位根因、半满中断乒乓与高速并发搬运落地
stm32·单片机·嵌入式·1024程序员节
鸥梨菌Honevid8 小时前
C 语言 restrict 关键字深度解析:从“独占访问”承诺到编译器激进优化
c语言
hkj88088 小时前
stm32 ADC DMA 循环模式配合双缓冲分块(Ping-Pong)
stm32·单片机·嵌入式硬件
小成2023032026513 小时前
C++~07补充
开发语言·c++
水饺编程13 小时前
第2章:Linux 基础,切换用户
linux·c语言·汇编