数码之家

 找回密码
 立即注册

QQ登录

只需一步,快速开始

微信登录

微信扫一扫,快速登录

搜索
查看: 4861|回复: 12

[STM] 螺蛳壳里做道场~用STM8S001J3做2048游戏机

[复制链接]
发表于 2021-1-10 14:03:37 | 显示全部楼层 |阅读模式
本帖最后由 网络孤客 于 2021-1-11 11:09 编辑

既然是“螺蛳壳里做道场”,用的当然是用最简单的STM8S001J3单片机来做。
STM8S001J3内置8KFlash,1K Ram,128Bytes EEPROM,SOP-8封装,除了电源脚外有5个IO脚。


要做游戏机,至少有显示屏,我用的是0.96寸128*64 OLED屏,只需2个IO口驱动

麻烦!只剩下3个IO口,而且还要留一个做SWIM接口
不怕,有10bit ADC口,足够做单IO多按键输入。我用了一个5方向开关,使用TIM2大约30ms扫描一次。


下面是按键电路板与电路图


整机电路超简单,没有太多额外的电路1、STM8周边用了一个104,一个105电容,搭建单片机最小工作电路
2、用1117.33稳压模块,把USB的5V降为3.3V,共单片机、OLED屏和按键板用
3、按键板的电路,上图。
4、单片机与OLED之间之间连接。


也就是整个游戏机只需用了3个IO口,没用到Pin8(SWIM引脚),但曾经惨痛教训,做项目时,复制粘贴其他程序,忘了修改引脚,悲剧发生!
弄死了2个单片机,我还是对Pin8做个防护。
我没用采用的延时方法,毕竟延时5秒才开始运行程序,对进入一个小游戏有点不爽。
采用的是检测Pin7引脚方式,当Pin7低电平时就进入死循环,这时可以对写入程序。
void main(void)
{

  CLK_SYSCLKConfig(CLK_PRESCALER_HSIDIV1);
  //初始化按键(Pin7),防锁代码
  GPIO_Init(GPIOC, GPIO_PIN_5, GPIO_MODE_IN_PU_NO_IT);  //2021.1.11修改,这里不能用宏定义,以防万一。
  //判断按键是否按下,如果按下,进入死循环,下载使用。
  while(!GPIO_ReadInputPin(KEY1_PORT,KEY1_PINS))
  {
    delay_ms(1);
  }

......
}

为了降低存储空间,我把6*8的字库修改为5*8,
使用IO口模拟I2C方式与OLED屏通信,可以减少代码存储空间。
最后还剩有接近1k空间。
片内还有128Bytes EEPROM,用作游戏进度存储,每一步都存一次,不怕断电。




附上源程序供大家参考。




补充内容 (2022-6-3 12:06):
螺蛳壳里做道场系列:
螺蛳壳里做道场~用STM8S001J3做高精度时钟
[url=https://www.mydigit.cn/thread-316707-...

补充内容 (2022-6-3 12:08):
螺蛳壳里做道场~用STM8S001J3做FM收音机

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册 微信登录

x

打赏

参与人数 8家元 +107 收起 理由
newnet1234 + 20 謝謝分享
有点不烧 + 20 謝謝分享
hongo + 20 優秀文章
2545889167 + 18
听雨亭 + 4

查看全部打赏

发表于 2021-1-10 15:01:47 | 显示全部楼层
游客请登录后查看回复内容

打赏

参与人数 2家元 +16 收起 理由
2545889167 + 10 正解 完全没卵用
网络孤客 + 6 歡迎探討

查看全部打赏

回复 支持 反对

使用道具 举报

发表于 2021-1-10 15:07:20 | 显示全部楼层
游客请登录后查看回复内容

打赏

参与人数 1家元 +6 收起 理由
网络孤客 + 6 歡迎探討

查看全部打赏

回复 支持 反对

使用道具 举报

 楼主| 发表于 2021-1-10 15:11:17 | 显示全部楼层
游客请登录后查看回复内容
回复 支持 反对

使用道具 举报

 楼主| 发表于 2021-1-10 15:15:04 | 显示全部楼层
游客请登录后查看回复内容
回复 支持 反对

使用道具 举报

发表于 2021-1-10 15:27:45 来自手机浏览器 | 显示全部楼层
游客请登录后查看回复内容

打赏

参与人数 1家元 +6 收起 理由
网络孤客 + 6 歡迎探討

查看全部打赏

回复 支持 反对

使用道具 举报

发表于 2021-1-11 10:59:38 | 显示全部楼层
游客请登录后查看回复内容

打赏

参与人数 1家元 +10 收起 理由
网络孤客 + 10 歡迎探討

查看全部打赏

回复 支持 反对

使用道具 举报

发表于 2021-1-11 11:07:41 | 显示全部楼层
游客请登录后查看回复内容

打赏

参与人数 1家元 +6 收起 理由
网络孤客 + 6 歡迎探討

查看全部打赏

回复 支持 反对

使用道具 举报

 楼主| 发表于 2021-1-11 11:12:59 | 显示全部楼层
游客请登录后查看回复内容

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册 微信登录

x
回复 支持 反对

使用道具 举报

 楼主| 发表于 2021-1-11 11:24:02 | 显示全部楼层
游客请登录后查看回复内容
回复 支持 反对

使用道具 举报

发表于 2021-1-11 12:33:15 | 显示全部楼层
游客请登录后查看回复内容
回复 支持 反对

使用道具 举报

发表于 2021-1-13 10:39:56 | 显示全部楼层
游客请登录后查看回复内容
回复 支持 反对

使用道具 举报

 楼主| 发表于 2021-1-13 21:47:23 | 显示全部楼层
游客请登录后查看回复内容

打赏

参与人数 1家元 +20 收起 理由
2545889167 + 20

查看全部打赏

回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册 微信登录

本版积分规则

APP|手机版|小黑屋|关于我们|联系我们|法律条款|技术知识分享平台

闽公网安备35020502000485号

闽ICP备2021002735号-2

GMT+8, 2025-12-12 08:28 , Processed in 0.187200 second(s), 12 queries , Gzip On, Redis On.

Powered by Discuz!

© 2006-2025 MyDigit.Net

快速回复 返回顶部 返回列表