用STC89C52RC单片机和0.96寸OLED屏幕实现贪吃蛇游戏。

        学长毕业了送了我十几片STC89C52RC这个单片机,正好有一几片OLED屏幕,加上自己以前用8x8的矩阵做过一次贪吃蛇的游戏,所以这次想要把屏幕换成OLED屏幕试试看。

先看看效果:

 

然后记录一下遇到的问题:        

        51单片机的运行速度比较慢,一开始我选择了IIC接口的OLED屏幕,由于IIC通讯速度比较慢,最后的效果是蛇在屏幕上移动的超级慢,于是换了SPI接口的OLED屏幕,但是速度依然比较慢,最后选择了8080并口的裸屏OLED,速度就快了很多很多,但是在蛇的身体过长的时候,移动速度还是会稍稍慢下来,这个时候就只好换晶振了,把12M晶振换成了40Mhz的晶振,速度那都不是事,但是换成40Mhz的晶振,下载程序的时候偶尔会出问题,所以我还是换回了12Mhz的晶振,感觉速度也还是非常快了。

        51单片机RAM太小,一般在这种0.96OLED屏幕上画点都是在RAM中定义一个数组的方式,但是51RAM不够,0.96的OLED屏幕需要128*64=1K的RAM才行,所以只能画点的时候把数据从屏幕里面读出来,虽然这样可以解决问题,但是速度降低了很多。

        8080并口的0.96OLED屏幕淘宝上好像只有正点原子有卖,但是要40多一片,所以我自己买了裸屏画了个PCB,裸屏只要七八块钱,板子嘉立创可以白嫖,哈哈哈省钱小达人。

        

         在零件盒子里翻到了一个温湿度传感器和蜂鸣器也一起加上去了,最终效果就是上图。多个功能加在一起程序框架不太好掌握,有时间了用Keil自带的RTX51tiny这个RTOS来试试。

        

        

  • 2
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值