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

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

[复制链接]
网络孤客 发布时间:2021-1-9 19:44
既然是“螺蛳壳里做道场”,用的当然是用最简单的STM8S001J3单片机来做。
% [8 b7 U' U$ `/ B1 b9 W
STM8S001J3内置8KFlash,1K Ram,128Bytes EEPROM,SOP-8封装,除了电源脚外有5个IO脚。; F% y7 i, K0 E: s
2 r# m' o- N# ~' p7 [, l5 N% X5 G
微信图片_20210109155839.jpg 1 G1 Y! h# {/ s, O& I9 s' X* O
5 D1 I$ ~$ @( `, |/ k3 L* w; N: Z9 m
要做游戏机,至少有显示屏,我用的是0.96寸128*64OLED屏,只需2个IO口驱动$ C4 h; d! L% [( F* E4 V

  j/ `$ L- j. s. a0 d- v4 a麻烦!只剩下3个IO口,而且还要留一个做SWIM接口
: [! ], a# m- t2 Q) h; N) @3 f不怕,有10bit ADC口,足够做单IO多按键输入。我用了一个5方向开关,使用TIM2大约30ms扫描一次。
3 {8 V( {: k$ m) u" c下面是按键电路板与电路图
+ _7 q: ~& X/ x# E+ `( u8 a 微信图片_20210109155824.jpg 2 T* U! O- @; @& S. h8 V# \: k9 B

0 j' z% ~5 E0 k. u: K5 a7 q整机电路超简单,没有太多额外的电路1、STM8周边用了一个104,一个105电容,搭建单片机最小工作电路* K) P' n9 {: {& ~' E  o7 o
2、用1117.33稳压模块,把USB的5V降为3.3V,共单片机、OLED屏和按键板用2 H  w4 ^7 y6 }  D. J8 q0 s
3、按键板的电路,上图。
! Q; X4 U: H; }/ \! S. n( Z! F4、单片机与OLED之间之间连接。$ |! |& ~. t8 C# V" S+ W
& e: c3 Q, v4 Z* ~
也就是整个游戏机只用了3个IO口,没用到Pin8,但曾经惨痛教训,复制粘贴其他程序,忘了修改引脚,悲剧发生!
' S' L6 |" }7 |" M使我锁死了2个单片机,我还是对Pin8做个防护。
6 Z/ i) F; k- U2 W' |我没用常规的延时方法,毕竟延时5秒对进入一个小游戏有点不爽。
- v8 r1 @" F3 U$ uvoid main(void)1 G2 Y2 ~8 G8 m% j
{" W' `: U! ]. k+ s1 \- e

- L! f! T1 j$ e5 x  CLK_SYSCLKConfig(CLK_PRESCALER_HSIDIV1);
/ O5 o+ m. M4 v( @  //初始化按键(Pin7),防锁代码
9 p/ Y0 r: l, n  GPIO_Init(KEY1_PORT, (GPIO_Pin_TypeDef)KEY1_PINS, GPIO_MODE_IN_PU_NO_IT);
/ @0 K: f+ B9 d! h/ M  //判断按键是否按下,如果按下,进入死循环,下载使用。
% O. q. a  ~3 S) y8 [& N  while(!GPIO_ReadInputPin(KEY1_PORT,KEY1_PINS))
1 M: C3 I: S" r, g9 V  {7 u' H! x3 u  M, G1 ?
    delay_ms(1);
4 a- D" p" ]- P3 {: k3 O+ U  }
4 k! G" O0 X6 i; Q8 s
) h/ j/ U. g8 R1 I+ Z) b( ~......3 z. s  q1 N2 d- G7 n
}5 E* c' \2 q" y/ p8 X  Q5 I' v8 n

' W7 R" W* P: y6 Y为了降低存储空间,我把6*8的字库修改为5*8,
* B1 j- n& P+ W使用IO口模拟I2C方式与OLED屏通信,可以减少代码存储空间。
, ~7 k! y( `$ s; N* i, i1 Y最后还剩有接近1k空间。+ z) V1 Q& m" f2 U4 b! s; G$ y& w
片内还有128Bytes EEPROM,用作游戏进度存储,每一步都存一次,不怕断电。
4 b4 |- F# h! e  p% z( x9 G! Q- X& ?7 C5 M$ t1 p
微信图片_20210109155845.jpg
6 L, z% C8 w" S- y5 }
' F: M/ a9 N; J) H0 E 微信图片_20210109155851.jpg
  a$ h7 W- Q2 B' D- Z3 u3 C' ~( r7 C: B0 }
附上源程序供大家参考。4 t% S+ `0 w8 o+ B- h/ u* y

& M8 T' @3 `9 h) d" Q# @
7 K+ r7 c( E9 R6 x" _# o: t

User.rar

下载

19.2 KB, 下载次数: 10

源程序

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

举报

5个回答
网络孤客 回答时间:2021-1-10 14:35:21
再补两图,刚刚继续开机,可以看到. o+ B' i9 N5 [* p
1、保存着昨天的残局
) W# N2 ]7 l( y- h7 L6 g8 _2、整机电路很简单
  ?; z% j7 I6 ~- y8 [7 Q/ b 微信图片_20210110143053.jpg ) N4 ]/ p6 i$ S: J& ^: A
由于分辨率问题,超过4位数我采用叠放的方式来显示(图中1024)
  r3 ?, x- }, O6 @ 微信图片_20210110143102.jpg
! \6 C+ H9 Z' ^9 Q! _/ O" c& S+ y% H' U
hjmhunter 回答时间:2021-1-12 15:36:36
厉害了,绍兴的?
goyhuan 回答时间:2021-1-12 15:52:09
怎么玩的
. m8 {' G( h4 G. C
网络孤客 回答时间:2021-1-12 22:36:05
乐天乐 发表于 2021-1-12 15:52
5 y: H+ j" M6 A/ ]- B8 v) c% G3 z怎么玩的
5 k+ G, i" X: }- q& a2 _! k
是操作问题还是游戏玩法问题?9 r* k/ E& W' w% T5 p- C) h
如果是游戏玩法,你搜一下2048游戏
goyhuan 回答时间:2021-1-13 08:13:25
ldptest 发表于 2021-1-12 22:36
6 J( x/ N# a/ Y  g是操作问题还是游戏玩法问题?
/ d( [: m4 t+ Y. V0 Z/ I9 e* [* y) s如果是游戏玩法,你搜一下2048游戏
: P: [, Z, F4 J0 m
哦,谢谢

所属标签

相似分享

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