# 一、简介
龙泉游戏机是基于立创·梁山派开发板开发的。参考了立创梁山派游戏机拓展板的设计思路,采用高清的圆角1.69寸IPS屏幕,使显示画面色彩鲜艳,质感清晰。摇杆背部的贴片3610震动电机让操作手感满满。360度摇杆和四颗类xbox布局的按键,简单易上手。嘉立创紫配色,精致又优雅。
# 二、硬件结构
## 1.显示屏幕
显示屏是大多数
嵌入式开发必备的外部器件,相比于其他数码管/LED等,它可以显示更加丰富的类容(文字,图片,线条等)。常见的显示屏从色彩上分为单色和彩色屏幕。接口上又可以分为并口,RGB,
SPI,IIC,MIPI等接口。屏幕材质也可以分为OLED屏,TFT屏,墨水屏。显示大小可以分为0.96寸,2.4寸,7寸等。游戏机扩展板屏幕采用了SPI通讯的240*280像素的1.69寸IPS高清圆角屏幕。 该屏幕因为单位像素密度更高(总像素/尺寸),所以显示画质更精细,并且控制IO少,外围电路也相对简单。
![屏幕.jpg]
因为屏幕像素高且颜色丰富,显示的数据量非常的庞大,单纯用IO模拟spi显示非常的慢,需要使用硬件SPI进行数据传输,以提高通信效率。
![屏幕电路.png]
在开发时,对需要显示相应的字体或图像,进行取模为数组数据后,即可显示。
## 2.摇杆
摇杆是一种可以左右上下移动的控制杆元件,其内部实际上主要是
滑动变阻器,根据旋转/位移的不同滑动变阻器的位置相对变化,阻值也相应变化,通过ADC采集当前位置的分压值,估算旋转/位移的控制量大小。
![摇杆电路.png]
## 3.震动马达
震动马达在许多电子产品中有着广泛应用,能够提供非常出色的使用体验,如手机震动,手表手环震动,游戏手柄震动等等,那么既然本次开发的是一款游戏机,震动就更少不了了。
游戏机使用的是贴片3610震动马达,尺寸小巧,震感不小。
![震动电机.png]
![震动电机电路.png]
在开发时使用PWM对电机进行控制,即可实现不同强度的震感。
## 4.E
EPROM
EEPROM芯片用于掉电记录数据,在游戏机断电关机时存储数据不会丢失。游戏机使用的芯片通过I2C进行通信控制,只需要连接两个IO引脚。
![EEPROM电路.png]
对EEPROM的控制选择硬件I2C,配置简单且通信速度快。
# 三、软件开发
UI设计和NES移植是游戏机软件开发的重点和难点,NES游戏是任天堂公司的一款CPU为6502芯片的红白机上面运行的一种游戏。若想在其他环境使用NES游戏则需要相应的NES游戏模拟器。网上开源的单片机端的NES模拟器主要有:info nes(龙元)stm32 nes(ye781205),stm32 nes(正点原子)。正点原子的nes是在ye781205开源的基础上进行优化处理的,本人移植的是正点原子的nes模拟器。
![lqgame.png]