挑战极限(一)!小玩意,AT89C2051驱动彩显玩方块游戏

2020-01-12 17:07发布

89C2051能干什么?这次我打算用它来做个方块游戏,用彩显来显示。
但2051那点速度,那点内存,做起来好不容易。
没有PWM输出,只能用软件模拟彩显的行,场同步信号。
仅128 BIT内存,其中112字节用作显示缓存,剩下给系统的只有16字节了。
硬件倒是简单,所以就连洞洞板也没焊,拿个IC座空中搭桥来测试。
程序还有些BUG,迟些改好后再上传。

(原文件名:图1.jpg)


(原文件名:图2.jpg)


(原文件名:图3.jpg)

以下蓝 {MOD}文字由版主:xuyiyi 于:2009-08-18,13:08:51 加入。


呵呵,终于做好了,并加了个动感的开机动画,先上视频。
点击此处下载 ourdev_421910.rar(文件大小:2.53M) (原文件名:Tetris.rar)

最新版原理图及 PCB图,终结完美版。
点击此处下载 ourdev_433410.rar(文件大小:49K) (原文件名:终结版VGA_3.rar)

俄罗斯方块游戏源码:
点击此处下载 ourdev_433333.rar(文件大小:12K) (原文件名:俄罗斯方块游戏_V33_源码[89C4051].rar)

俄罗斯方块游戏Hex码:
点击此处下载 ourdev_472211.rar(文件大小:3K) (原文件名:Tetris33 4051 hex file.rar)

网友 cowboy 设计总结:
  整板测试完毕,基本满意。还有一些小毛病:
1、显示网格信号时,发现有轻微拖尾现象,发现是下拉电阻R13(3.3K)过大所致,改为1K后正常。
2、三极管封装丝印画反了,所有三极管全部转 180度安装才正确,即将 C, E 引脚对换。
   切记不要按丝印的那个“D”形来安装,要转180度才正确。
3、电源退耦电容小了点,当扬声器阻抗较低,且电源内阻大时,画面有些干扰。

----------------------------------------------------------------------------------------------

网友 xiaozhiyong 测试 LS2051 总结:
  LS2051测试成功了。
关于LS2051每运行一条语句只用一个机器周期,所以在AT2051里的双周期语句后都得加NOP。我改了以后试了下发现能用,现在先发个暂时看着能用的程序。以下是测试程序:
点击此处下载 ourdev_433306.rar(文件大小:2K) (原文件名:LS2051test.rar)


(原文件名:成品图.jpg)


(原文件名:方块游戏框图.JPG)


(原文件名:Tetris.PNG)
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
99条回答
snn_snn
1楼-- · 2020-01-23 17:46
marker
zajia
2楼-- · 2020-01-23 20:29
这么好的贴子,顶!同时严重批评自己开了争议贴。
zaixian
3楼-- · 2020-01-24 01:15
晶体实际要用24.1680 MHz才能符合标准

那么用24.576,或者24.5M、30M、可以么???(手上只有那么3种)。。。
xiaozhiyong
4楼-- · 2020-01-24 05:48
 精彩回答 2  元偷偷看……
xiaozhiyong
5楼-- · 2020-01-24 06:20
这是我在P1.3口看到的波形,好像是有负电压的成分,是那个P1.5产生的吗?这是不是就是我说的一个简单数模转化。。


(原文件名:clip_image002.jpg)

如果是这样的话,我要显示一张图(RGB全 {MOD})是不是就得给其它的两个通道也加一个这样的电路呢???

期待指点中。。。
cowboy
6楼-- · 2020-01-24 10:52
P1.5是一亮度控制引脚,和P1.3(绿 {MOD}信号)连接,可以产生高亮绿 {MOD}和墨绿 {MOD}。在方块主窗口的边框中使用墨绿 {MOD},使其避免与绿 {MOD}的方块混在一起。我新版程序中将还要利用其产生一个橙 {MOD}的计分柱。至于P1.2(红),P1.4(蓝)为何也不加一个,是因为MCU处理能力有限,不要搞得太复杂。当然用其它MCU,更可以产生更多种绚丽的 {MOD}彩。

一周热门 更多>