久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

標(biāo)題: 挑戰(zhàn)極限(一)51單片機(jī)驅(qū)動(dòng)電腦vga顯示器玩方塊游戲 [打印本頁]

作者: zhu123    時(shí)間: 2013-7-9 23:42
標(biāo)題: 挑戰(zhàn)極限(一)51單片機(jī)驅(qū)動(dòng)電腦vga顯示器玩方塊游戲
在51hei單片機(jī)網(wǎng)學(xué)了很久了,咱也上傳點(diǎn)小制作,帶動(dòng)一下51hei論壇的人氣啊,89C2051能干什么?這次我打算用它來做個(gè)方塊游戲,用彩顯來顯示。
但2051那點(diǎn)速度,那點(diǎn)內(nèi)存,做起來好不容易。
沒有PWM輸出,只能用軟件模擬彩顯的行,場(chǎng)同步信號(hào)。
僅128 BIT內(nèi)存,其中112字節(jié)用作顯示緩存,剩下給系統(tǒng)的只有16字節(jié)了。
硬件倒是簡(jiǎn)單,所以就連洞洞板也沒焊,拿個(gè)IC座空中搭橋來測(cè)試。
程序還有些BUG,遲些改好后再上傳。









以下藍(lán)色文字由版主:xuyiyi 加入。


呵呵,終于做好了,并加了個(gè)動(dòng)感的開機(jī)動(dòng)畫,先上視頻。
http://www.zg4o1577.cn/f/Tetris.wmv
最新版原理圖及 PCB圖,終結(jié)完美版.rar (48.75 KB, 下載次數(shù): 593)
俄羅斯方塊游戲源碼.rar (11.94 KB, 下載次數(shù): 498)
俄羅斯方塊游戲Hex碼.rar (3.26 KB, 下載次數(shù): 152)

網(wǎng)友 cowboy 設(shè)計(jì)總結(jié):
整板測(cè)試完畢,基本滿意。還有一些小毛病:
1、顯示網(wǎng)格信號(hào)時(shí),發(fā)現(xiàn)有輕微拖尾現(xiàn)象,發(fā)現(xiàn)是下拉電阻R13(3.3K)過大所致,改為1K后正常。
2、三極管封裝絲印畫反了,所有三極管全部轉(zhuǎn) 180度安裝才正確,即將 C, E 引腳對(duì)換。
切記不要按絲印的那個(gè)“D”形來安裝,要轉(zhuǎn)180度才正確。
3、電源退耦電容小了點(diǎn),當(dāng)揚(yáng)聲器阻抗較低,且電源內(nèi)阻大時(shí),畫面有些干擾。

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

網(wǎng)友 xiaozhiyong 測(cè)試 LS2051 總結(jié):
LS2051測(cè)試成功了。
關(guān)于LS2051每運(yùn)行一條語句只用一個(gè)機(jī)器周期,所以在AT2051里的雙周期語句后都得加NOP。我改了以后試了下發(fā)現(xiàn)能用,現(xiàn)在先發(fā)個(gè)暫時(shí)看著能用的程序。以下是測(cè)試程序:
點(diǎn)擊此處下載 LS2051test.rar (1.72 KB, 下載次數(shù): 179)


成品圖


方塊游戲框圖




電路圖

作者: h333    時(shí)間: 2013-7-9 23:54
真不可思議啊,簡(jiǎn)直不敢相信自己的眼睛,不過你能放出一個(gè)c語言的源代碼嗎、匯編的實(shí)在太難看懂了.
作者: zhu123    時(shí)間: 2013-7-9 23:57
一定就不是C程序了,不用匯編達(dá)不到這樣的速度。
現(xiàn)在焊上了開關(guān),耳機(jī)插座,可以玩了,不過聲音不太好聽,有待改進(jìn)。
想配一首開機(jī)音樂,不知用哪首好聽。
程序仍在改進(jìn)中,盡些再上傳吧。
下面是加了ipod形式開的和在液晶屏上顯示效果圖。




作者: zhu123    時(shí)間: 2013-7-10 00:01
前段沒空,今天看了下存在的BUG,一時(shí)沒有什么好的解決方法,請(qǐng)大家出點(diǎn)主意。
問題是如何判斷不同形狀的方塊在移動(dòng)時(shí)是否移出窗外。
試了好幾種算法,都很復(fù)雜,簡(jiǎn)單的算法有些不正確,居然卡在這里。
具體情況是用一個(gè)8位變量L表示方塊原點(diǎn)坐標(biāo)(x,y),L的低3位表示x,范圍0~7,L的bit3~bit6表示y,范圍2~15.如何能用便捷的方法判定7種不同方塊及4個(gè)不同的旋轉(zhuǎn)角度在移動(dòng)到某坐標(biāo)時(shí)是否越界?
作者: h333    時(shí)間: 2013-7-10 00:07
液晶電腦顯示器和crt顯示器都可以都是vga接口吧 牛,不的不佩服啊,好像你在后面補(bǔ)上的圖片上面的芯片是4051吧.和VGA接口的是怎么通訊的?
作者: ccd    時(shí)間: 2013-7-10 00:10
建議樓主先講一下原理,而后大家在一起想辦法解決問題
作者: zhu123    時(shí)間: 2013-7-10 00:11
h333 發(fā)表于 2013-7-10 00:07
液晶電腦顯示器和crt顯示器都可以都是vga接口吧 牛,不的不佩服啊,好像你在后面補(bǔ)上的圖片上面的芯片是405 ...

回5樓的美女 表示你的頭像很好看,手頭沒有2051,所以用4051代著。目前代碼編譯后還不夠1.5K,用2051完全可以裝得下。
之前的越界判斷算法,現(xiàn)在用查表基本解決了,正在測(cè)試中。
加了一首開機(jī)音樂,決定用阿牛的《桃花朵朵開》前奏。
加了一條記分級(jí)別狀態(tài)條,在窗口左側(cè),分?jǐn)?shù)高柱子就越高。
正打算做一個(gè)小圖標(biāo)在窗口右側(cè),用來提示下一個(gè)方塊的形狀。
作者: h333    時(shí)間: 2013-7-10 00:14
簡(jiǎn)直是把51玩到爐火純青的地步了,用軟件模擬VGA信號(hào)!強(qiáng)!很強(qiáng)!

作者: zhu123    時(shí)間: 2013-7-10 00:15
ccd 發(fā)表于 2013-7-10 00:10
建議樓主先講一下原理,而后大家在一起想辦法解決問題

既然51hei論壇的朋友都很感興趣,我就先簡(jiǎn)單地說一下思路,程序的要點(diǎn)是:
1 產(chǎn)生精準(zhǔn)的VGA信號(hào)時(shí)序
    受速度限制,VGA顯示模式用最低的640*480@60Hz,這時(shí)行頻是31.46875K,場(chǎng)頻率是59.94Hz.如果單片機(jī)有硬件PWM,則行場(chǎng)同步信號(hào)可以輕易用PWM實(shí)現(xiàn).由于2051沒有PWM,只能用軟件模擬,并且不能用定時(shí)中斷的方式,因?yàn)橐笏俣忍?中斷響應(yīng)速度不夠快,且響應(yīng)時(shí)間也不一致,所以本程序中都是把行同步信號(hào)穿插在程序的各個(gè)適當(dāng)位置,類似于雙線程并行執(zhí)行,主振也選用2051能承受的最高頻率24MHz.
2 合理分配內(nèi)存.
    2051只有128字節(jié)內(nèi)存,要儲(chǔ)存一幅畫面,顯示緩存就需占大部分.主窗口內(nèi)的面積越大,占用內(nèi)存就越多.經(jīng)估算窗口內(nèi)用14行*8列比較合適.此時(shí)顯示緩沖占用112字節(jié).余下的16字節(jié)用于程序中的工作寄器5字節(jié), 堆棧2字節(jié),其它為全局量.
3 協(xié)調(diào)各個(gè)功能模塊之間的工作配合
    系統(tǒng)的任務(wù)不算多,主要的有顯示處理,同步處理,音效處理,按鍵處理,游戲規(guī)則處理(包括方塊移動(dòng),定時(shí)下落,重疊檢測(cè),越界檢測(cè),得分計(jì)數(shù),速度升級(jí)).各任務(wù)之間協(xié)調(diào)用類似于狀態(tài)機(jī)的方法,但又不完全等同.由于是用匯編,在很多情況下充分利用匯編的靈活性,使程序的模塊化不是很明顯.系統(tǒng)的主循環(huán)選用顯示一幀的時(shí)間約16.66MS(60Hz),所有任務(wù)必須在這時(shí)間內(nèi)處理完成.

作者: zainanchao    時(shí)間: 2013-7-18 10:56
太厲害了
作者: 1156615097    時(shí)間: 2013-7-23 22:10
有套件賣嗎?我要
作者: 1156615097    時(shí)間: 2013-7-23 22:12
有套件賣嗎?我要
作者: 1156615097    時(shí)間: 2013-7-23 22:14
有套件賣嗎?我要
作者: ggsimida    時(shí)間: 2013-8-16 20:06
這個(gè)太扯淡了!!!!!!!!牛人啊
作者: r731892491    時(shí)間: 2013-8-17 22:12
好厲害!!!{:soso_e179:}{:soso_e179:}{:soso_e179:}
作者: wmslecz    時(shí)間: 2013-8-18 13:07
樓主強(qiáng)慘了....
作者: yxz1140    時(shí)間: 2013-11-4 22:30
樓主很強(qiáng)大啊!
作者: m182892    時(shí)間: 2013-12-2 10:42
51被你玩得爐火純青。
作者: jinqilin    時(shí)間: 2013-12-6 16:22
樓主好厲害啊!!佩服
作者: xindaodan    時(shí)間: 2013-12-31 20:13
強(qiáng)~~~~~~
作者: xindaodan    時(shí)間: 2013-12-31 20:14
樓主~~厲害哦~
作者: liaolinhui    時(shí)間: 2014-1-3 14:29
太厲害了,這論壇果然牛人多,看來沒來錯(cuò)地方,比我之前去的一個(gè)論壇強(qiáng)多了,
作者: a746605205    時(shí)間: 2014-1-4 22:55
能不能提供C的程序呢
作者: a937983423    時(shí)間: 2014-3-28 23:38
高手頂起啊
作者: canon    時(shí)間: 2014-4-2 18:25
樓主厲害!
作者: gaomin2020520    時(shí)間: 2014-4-5 17:12
高手 高手中的高高手
作者: weifengdq    時(shí)間: 2014-4-28 15:24
樓主威武霸氣啊
作者: zhengyu    時(shí)間: 2014-5-6 11:32
這一看,居然電路圖一模一樣!
樓主太搞笑了吧,明明是老外做出來的東西。
09年我就在某國外論壇上看到此類制作,并制作出來。
作者: wugaopei    時(shí)間: 2014-5-11 21:32
真是高手啊!佩服
有沒有板子賣啊,我也想要搞來試試,如果想用驅(qū)動(dòng)大屏幕可以嗎(就是在大屏幕里面顯示一個(gè)或幾個(gè)小的區(qū)域)?請(qǐng)指教,謝謝
作者: deru_qq    時(shí)間: 2014-6-4 17:04
樓主真厲害,佩服
作者: xiaoyuxinke    時(shí)間: 2014-6-9 19:30
外國人做的東東,以前就在別的論壇見過了
作者: kittyboy    時(shí)間: 2014-6-27 19:55
贊一個(gè),好強(qiáng)大的氣場(chǎng)
作者: openpppp2008    時(shí)間: 2014-7-5 20:26
謝謝分享
作者: 文經(jīng)小黑    時(shí)間: 2014-7-16 16:28
樓主好技術(shù),我也正打算寫一個(gè)用51單片機(jī)寫一個(gè)VGA信號(hào)控制器,感謝資料分享。
作者: admin    時(shí)間: 2014-7-18 03:15
牛人啊
作者: 黑桃A    時(shí)間: 2014-8-6 00:15
帥的掉渣!這都能!
作者: qzsulin    時(shí)間: 2014-8-7 09:25
51hei 有你更精彩

作者: Prot    時(shí)間: 2014-8-7 09:39
佩服!
作者: jpf    時(shí)間: 2014-8-16 23:16
哇,哇哇,哇哇哇,要學(xué)VGA通信
作者: zhwyf    時(shí)間: 2014-8-18 23:06
佩服,太厲害了
作者: shushikuan    時(shí)間: 2014-10-8 10:51
夠強(qiáng)的啊,厲害!!!
作者: xets2000    時(shí)間: 2014-10-9 09:17
太厲害了!!!!!!!!!!!!!
作者: 642242855    時(shí)間: 2014-10-30 17:19
牛人啊!太強(qiáng)大了
作者: lxddn    時(shí)間: 2014-10-31 17:39


謝謝分享!
作者: liangjiajing    時(shí)間: 2014-11-16 10:27
謝謝分享
作者: seeyoou    時(shí)間: 2014-12-6 11:36
樓主強(qiáng)人啊,膜拜學(xué)習(xí)中……
作者: mycookie    時(shí)間: 2014-12-9 11:05
樓主外星人吧,好牛逼,C是不可能做到的
作者: sunny20    時(shí)間: 2014-12-9 14:31
本人已經(jīng)制作出C語言版了,哈哈..根據(jù)此程序改的!
作者: lxl2255    時(shí)間: 2015-1-7 11:53
不錯(cuò),學(xué)習(xí)了。。。。。。。。。。
作者: hehongkang    時(shí)間: 2015-2-4 14:14
樓主太厲害啊!!佩服

作者: maxplus    時(shí)間: 2015-4-9 10:49
非常不錯(cuò),贊一個(gè)
作者: dmj    時(shí)間: 2015-6-2 16:40
逆天~~~~簡(jiǎn)直了 ~
作者: 352535455    時(shí)間: 2015-6-3 14:57
真正的大神 膜拜!
作者: jjbboox    時(shí)間: 2015-6-3 20:18
這個(gè)實(shí)在是太牛了。
2051,只有2K的代碼段啊

作者: admin    時(shí)間: 2015-6-4 02:31
sunny20 發(fā)表于 2014-12-9 14:31
**** 作者被禁止或刪除 內(nèi)容自動(dòng)屏蔽 ****

能共享一下 c程序嗎?
作者: dalang_9793    時(shí)間: 2015-6-12 13:58
qiangren...................
作者: k18648    時(shí)間: 2015-6-15 19:27
很吊,強(qiáng)悍的樓主
作者: playcooler    時(shí)間: 2015-6-29 18:25
這個(gè)不錯(cuò)!
作者: LLZ    時(shí)間: 2015-7-4 16:48
看了效果不得不佩服,匯編沒學(xué)好,看不懂
作者: cts788    時(shí)間: 2015-7-8 09:12
h333 發(fā)表于 2013-7-10 00:07
液晶電腦顯示器和crt顯示器都可以都是vga接口吧 牛,不的不佩服啊,好像你在后面補(bǔ)上的圖片上面的芯片是405 ...

學(xué)習(xí)了~~~~~~~~~~~~~~
作者: wangshaobin    時(shí)間: 2015-7-10 07:53
根本就不能用,沒親自制作的朋友不要盲目吹捧,
作者: donxote    時(shí)間: 2015-7-10 14:39
已經(jīng)刷新了視覺下線了,強(qiáng)
作者: maxer    時(shí)間: 2015-9-8 17:51
很好的練手題目啊,可以用來跟學(xué)校的新生練練手,重點(diǎn)是VGA的知識(shí)和單片機(jī)處理各個(gè)任務(wù)的分配。
作者: 呵呵呵呵    時(shí)間: 2015-9-9 20:11
強(qiáng),真強(qiáng)
作者: t01051    時(shí)間: 2015-10-3 11:51
樓主能說一下你用單片機(jī)控制VGA顯示的思路嗎?....我找了好久也沒找到相關(guān)的資料
作者: 798265341    時(shí)間: 2015-10-23 16:48
愿有更多的分享
作者: 文經(jīng)小黑    時(shí)間: 2015-10-23 20:45
謝謝分享,正在嘗試用stc15系列單片機(jī)做一個(gè)。
作者: woshifuz    時(shí)間: 2015-10-28 00:15
一個(gè)字:真屌
作者: HWL0541    時(shí)間: 2015-10-28 08:50
wo這么厲害,一 定要學(xué)習(xí)一下
作者: HWL0541    時(shí)間: 2015-10-28 09:07
xiaoyuxinke 發(fā)表于 2014-6-9 19:30
外國人做的東東,以前就在別的論壇見過了

以后你也多發(fā)點(diǎn)外國的好東西過來。大家也夸你是牛人
不發(fā)過來說明。。。。。。。。。。。。。。。

作者: lemon0210    時(shí)間: 2015-11-6 16:46
感覺好古老的游戲裝備。哈哈
作者: lemon0210    時(shí)間: 2015-11-6 17:10
家里剛好有臺(tái)沒用的VGA屏,準(zhǔn)備回去試試。
作者: nicholas41    時(shí)間: 2015-11-13 00:32
zhu123 發(fā)表于 2013-7-10 00:01
前段沒空,今天看了下存在的BUG,一時(shí)沒有什么好的解決方法,請(qǐng)大家出點(diǎn)主意。
問題是如何判斷不同形狀的 ...

樓主是如何用數(shù)字信號(hào)控制RGB信號(hào)的啊  rgb不是模擬信號(hào)么

作者: shulinhai    時(shí)間: 2015-12-24 15:22
要卡卡!yidingyao kan ak a
作者: shulinhai    時(shí)間: 2015-12-24 21:00
比較牛的想法。
作者: ackon    時(shí)間: 2016-5-18 17:42
牛人神作
作者: 九都多平    時(shí)間: 2016-7-15 10:37
牛人啊
作者: 九都多平    時(shí)間: 2016-7-15 11:04
匯編語言啊,太難了吧。
作者: a13450901331    時(shí)間: 2016-7-15 20:50
好東西剛來學(xué)點(diǎn)東西
作者: a13450901331    時(shí)間: 2016-7-15 20:51
好啊我還是看不懂慢慢學(xué)
作者: a13450901331    時(shí)間: 2016-7-15 21:39
我來學(xué)習(xí)一下
作者: a13450901331    時(shí)間: 2016-7-15 21:40
帥的掉渣!這都能!
作者: 愛玩單片機(jī)    時(shí)間: 2016-7-15 22:33
樓主牛啊2051還可以這樣玩
作者: qq891919634    時(shí)間: 2016-8-18 14:45
挺有意思的,下載玩玩
作者: qq891919634    時(shí)間: 2016-8-18 14:46
移植到stm32上
作者: faxa1    時(shí)間: 2016-8-21 10:12
樓主好厲害啊!!佩服
作者: billliu66    時(shí)間: 2016-9-24 07:32
高手, 真牛!
作者: 豆子十三    時(shí)間: 2016-9-24 15:46
感覺不可能,以51芯片的速度和資源,還得再要一個(gè)專門處理視頻的芯片。
作者: xixi123    時(shí)間: 2016-10-20 13:27
不錯(cuò)的學(xué)習(xí)
作者: 張紀(jì)元    時(shí)間: 2016-12-27 11:42
樓主很霸氣
作者: yuxiaogang    時(shí)間: 2017-1-6 10:56
樓主真是牛人一個(gè),佩服
作者: tianhaolan    時(shí)間: 2017-6-8 09:14
不錯(cuò)啊  學(xué)習(xí)了  正需要呢  牛人
作者: zaza21    時(shí)間: 2017-6-10 18:03
好厲害,這個(gè)還要了解VGA的驅(qū)動(dòng)方法,而且在這種性能的單片機(jī)下完成 真的很不容易
作者: weiming6361    時(shí)間: 2017-8-15 20:34
向樓主學(xué)習(xí)
作者: zjf19864    時(shí)間: 2017-8-20 03:56
樓主太強(qiáng)悍了
作者: vinsen006    時(shí)間: 2017-8-20 09:28
佩服!
作者: KUNGONG    時(shí)間: 2017-11-26 16:56
哇,好棒的設(shè)計(jì),想用FPGA實(shí)現(xiàn),先下載看看思路吧
作者: Pilgrim_z    時(shí)間: 2018-3-29 14:53
學(xué)習(xí)了!
作者: nklug    時(shí)間: 2018-4-3 11:29
匯編好,強(qiáng)大!
作者: 尼古拉·特斯拉    時(shí)間: 2018-4-17 23:00
厲害厲害




歡迎光臨 (http://www.zg4o1577.cn/bbs/) Powered by Discuz! X3.1
主站蜘蛛池模板: 亚洲三级国产 | 羞羞视频网站免费看 | 国产精品久久久久久久久久久久午夜片 | 欧美视频在线免费 | 久久国产成人 | 国产福利资源在线 | 一级毛片视频 | 国产精品99久久久久久久vr | 国产日韩免费视频 | 精品一区二区三区不卡 | 精品日韩一区二区 | 亚洲精品一区二三区不卡 | 国产剧情一区二区三区 | 亚洲91 | 成人二区 | 日日欧美 | 天天操网 | 国产精品一区二区在线免费观看 | 91成人免费观看 | 亚洲日韩中文字幕一区 | 欧美一区二区久久 | 国产区精品视频 | 亚洲影音先锋 | 日韩精品一区二区三区中文在线 | 精品久久精品 | 国产精品久久久久久一区二区三区 | 日韩福利片| 狠狠爱一区二区三区 | 亚洲天堂影院 | 欧美日韩中文字幕在线 | 免费黄色在线观看 | 成人av鲁丝片一区二区小说 | 欧美精品在线播放 | 国产情侣啪啪 | 国产精品久久久久久婷婷天堂 | 精品国产乱码久久久久久丨区2区 | 成人免费看片网 | 一级免费毛片 | 国产精品日韩一区二区 | 亚洲成人精品 | 99精品国产一区二区三区 |