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

相关推荐
6Hzlia5 分钟前
【Classic 150 刷题计划】 LeetCode 274. H 指数 | C++ 二分答案法 (单调性降维打击)
c++·算法·leetcode
_JoeZoe8 分钟前
阿里云开发者社区用户服务协议
c语言·编译器·历史·应用领域·unix操作系统
老王爱玩车10 分钟前
第2讲:C语言数据类型和变量
c语言·开发语言
零依赖极客32 分钟前
Day 9·1 KV 也量化——q8 KV 把缓存与 decode 带宽压到一半
c语言·开发语言·arm开发·人工智能·缓存·矩阵
码匠许师傅1 小时前
【C++三方组件】nlohmann/json:像写 STL 一样操作 JSON
c++
Yingye Zhu(HPXXZYY)1 小时前
洛谷B4337 [中山市赛 2023] 简单数学题
c++·算法
郝学胜-神的一滴1 小时前
C++11 工程级应用 12:编译期类型魔法,干掉重复与臃肿的代码
开发语言·数据结构·c++·软件工程·visual studio
崇山峻岭之间1 小时前
HC32F460PETB的PH2的TIM4_2_CLK
单片机
Brilliantwxx1 小时前
【STM32】 I2C协议和设备主从( 图解 + 面试题 )
stm32·单片机·嵌入式硬件·架构
个 人 练 习 生1 小时前
数据结构:排序算法详解
c语言·数据结构·经验分享·学习·算法·排序算法