你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

【螺蛳壳里做道场】用STM8S001J3做2048游戏机

[复制链接]
网络孤客 发布时间:2021-1-9 19:44
既然是“螺蛳壳里做道场”,用的当然是用最简单的STM8S001J3单片机来做。
* r: m( a3 z2 I) I0 j' G
STM8S001J3内置8KFlash,1K Ram,128Bytes EEPROM,SOP-8封装,除了电源脚外有5个IO脚。' H+ W! o7 l# m  U" M1 P
8 h8 {1 W! A! v- k3 P" B
微信图片_20210109155839.jpg
5 j' s6 k2 T0 W$ |* k3 m0 Y1 N& Y
要做游戏机,至少有显示屏,我用的是0.96寸128*64OLED屏,只需2个IO口驱动
1 W$ e1 s% u2 A8 Z" W8 x  @' V: a; F7 h* g0 K/ C
麻烦!只剩下3个IO口,而且还要留一个做SWIM接口' t; I4 W, P) S8 s, x! n
不怕,有10bit ADC口,足够做单IO多按键输入。我用了一个5方向开关,使用TIM2大约30ms扫描一次。
' ~& @. X0 w2 @% W下面是按键电路板与电路图- @# m$ I% m% ?( N) l
微信图片_20210109155824.jpg ) \8 S& ^9 P% v& p+ s( f

+ M5 \) P' ~4 F7 R- Q& L$ r: F整机电路超简单,没有太多额外的电路1、STM8周边用了一个104,一个105电容,搭建单片机最小工作电路
1 F1 w9 ?! N% o' S& F4 ~% R2、用1117.33稳压模块,把USB的5V降为3.3V,共单片机、OLED屏和按键板用! T0 A8 {+ f  |! _. e& M6 n' ^
3、按键板的电路,上图。
3 ]' P9 `( ]7 U8 |- {4 J" d& A4、单片机与OLED之间之间连接。2 j  a1 u0 k. b
0 X7 C' p& k  p" O& U: g' x
也就是整个游戏机只用了3个IO口,没用到Pin8,但曾经惨痛教训,复制粘贴其他程序,忘了修改引脚,悲剧发生!2 g9 j# `" Y2 n
使我锁死了2个单片机,我还是对Pin8做个防护。
  j! Q/ b* \, m1 {+ x我没用常规的延时方法,毕竟延时5秒对进入一个小游戏有点不爽。
) B0 @  o9 s+ h, o! |8 ivoid main(void)4 Y8 ?3 }* H0 d8 C- u3 Y2 J9 D5 N
{
; f  V; N$ v6 s8 f2 W0 ^* i
) F  C9 b& F  D2 ^8 W! d6 I  CLK_SYSCLKConfig(CLK_PRESCALER_HSIDIV1);, G& \  ]1 I* k
  //初始化按键(Pin7),防锁代码8 f& U' k7 I: _4 J4 D# X6 D
  GPIO_Init(KEY1_PORT, (GPIO_Pin_TypeDef)KEY1_PINS, GPIO_MODE_IN_PU_NO_IT);* ~6 e% u% u; C0 V& g
  //判断按键是否按下,如果按下,进入死循环,下载使用。+ S! u/ m( W9 ?, \# s
  while(!GPIO_ReadInputPin(KEY1_PORT,KEY1_PINS))! o# X3 Z1 {- n/ Z
  {9 T) G6 R; c. u# `- }( d
    delay_ms(1);
( p1 G4 F- x; w# t2 O6 N- Y) m  }
' w( @2 O% J/ d
  Q6 L/ j) m5 T% _8 C6 H9 P......& H3 X/ [1 T/ b$ j, d
}6 e/ z6 l3 w: ]% v2 i) _2 h& q

4 k/ M0 J- [% Z! a4 |( R; A为了降低存储空间,我把6*8的字库修改为5*8,
4 K( f8 x+ _2 R0 b使用IO口模拟I2C方式与OLED屏通信,可以减少代码存储空间。
% g! g0 m" `* o, z/ \/ L1 M8 W. Y最后还剩有接近1k空间。
7 F' q8 f! v& }; y5 Q' X片内还有128Bytes EEPROM,用作游戏进度存储,每一步都存一次,不怕断电。
- E' q* u& \1 j, |6 k0 B9 `: s, l/ `
2 }- s7 w# b2 o& l8 m( E- n 微信图片_20210109155845.jpg
& K5 {' `  S* N8 b* V1 K  i" v' e# ~  I- s3 I3 s
微信图片_20210109155851.jpg 9 H+ l3 m: j& Y6 N4 E% {2 I
! O4 v4 @9 H" n( g3 Z/ B
附上源程序供大家参考。) [0 V) m$ U- T& O
+ q0 M( S# v' g% q6 c  H6 y8 K- o

9 G' w- R. n' S0 `" V

User.rar

下载

19.2 KB, 下载次数: 10

源程序

收藏 1 评论5 发布时间:2021-1-9 19:44

举报

5个回答
网络孤客 回答时间:2021-1-10 14:35:21
再补两图,刚刚继续开机,可以看到2 p+ D* |  C% J4 c3 k" x
1、保存着昨天的残局* U# }& B; u8 E3 v
2、整机电路很简单5 T3 O( f- R2 {6 J
微信图片_20210110143053.jpg
' k: C5 f+ D9 h3 m由于分辨率问题,超过4位数我采用叠放的方式来显示(图中1024)2 G9 \. e5 i" q) D
微信图片_20210110143102.jpg
* @! F" s5 S' X" f
; B, B8 O2 j7 x1 x" G4 |
hjmhunter 回答时间:2021-1-12 15:36:36
厉害了,绍兴的?
goyhuan 回答时间:2021-1-12 15:52:09
怎么玩的
( ]4 F/ z9 Y% R- U
网络孤客 回答时间:2021-1-12 22:36:05
乐天乐 发表于 2021-1-12 15:52
; F4 A; M# m/ Y9 q6 x  I怎么玩的
% Z; Y  i) E9 x7 [" R% f6 d# A
是操作问题还是游戏玩法问题?
& A# U  r- B0 Y; P如果是游戏玩法,你搜一下2048游戏
goyhuan 回答时间:2021-1-13 08:13:25
ldptest 发表于 2021-1-12 22:363 [9 Y0 p  L4 J/ ]& m
是操作问题还是游戏玩法问题?* k- }( ?( r- e7 |/ L, S) i6 l
如果是游戏玩法,你搜一下2048游戏

/ l# f2 `& Y% |. ?哦,谢谢

所属标签

相似分享

关于意法半导体
我们是谁
投资者关系
意法半导体可持续发展举措
创新和工艺
招聘信息
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
关注我们
st-img 微信公众号
st-img 手机版