坦克大戰小游戲
控制說明:
玩家1相關控制:
A/W/S/D:控制方向
F:開火
1 :玩家1復活
玩家2相關控制:
UP/LEFT/RIGHT/DOWN:控制方向
0 :開火
2 :玩家2復活
ESC:返回Menu
ENTER:任務完成/失敗后的確認按鍵
功能說明:
將敵方坦克消滅完則任務完成,進入下一關,每過1關,障礙物減少1個,電腦
坦克總數增加5輛,一次出現最多的電腦坦克數目增加1.
我方坦克被消滅完則任務失敗,任務從第一關重新開始.
擊毀一輛紅色坦克,會產生一個寶物,獲取后可以根據寶物的類型完成相應
的功能.
寶物功能描述:
1.獎勵玩家一輛坦克
2.炸毀當前顯示的所有敵方坦克
3.所有敵方坦克被暫停運動和開火,持續10秒
4.玩家坦克處于無敵狀態,持續15秒
具備多玩家游戲的功能,目前暫定最多支持2人游戲,按1,2,若相應玩家坦克
已全部被摧毀,則復活該玩家的坦克,并設定該玩家坦克數量為3,總分清0.
其它說明:
作者:朱波 QQ:443581450 Email:kyozb2004@yahoo.com.cn
標簽:
控制
RIGHT
LEFT
DOWN
上傳時間:
2016-07-14
上傳用戶:小草123
用單片機的I/O口模擬I2C協議
I2C用IO模擬程序網上范例最多的就是51的程序了,這些范例的正確性無需懷疑.但是如果直接以它為藍本將它"AVR化",一不留神,就會有點問題了.
這要從I2C的硬件規范和AVR及51單片機的IO口說起.I2C要求SCL,SDA二線都有 線與 功能,即I2C驅動口應該是 漏極開路 電路,其高電平的維持是靠上拉電阻來實現的, 而低電平則需要驅動口的強下拉能力.
51單片機IO口正好完全符合這個特性.寫起I2C驅動頗為得心應手.但是AVR的IO口強大了,它輸出的高電平是實實在在的高電平,而不是靠什么上拉電阻來提供,只有10mA都不到的電流!于是如果直接使用 PORTB_Bit0 = 1這樣的操作,就不能滿足I2C的線與功能了,如果此時有別的設備要將SCL或者SDA拉低,那么結果就是二個IO口打架,誰贏誰輸不得而知,時間長了,多半是兩敗俱傷,芯片發熱吧.
當然AVR的IO口自然有辦法滿足I2C的電氣特性要求,不就是不能輸出1么,那么用它的高阻狀態即可(DDRB_Bit0=0,PORTB_Bit0=0即可),要輸出0么(DDRB_Bit0=1,PORTB_Bit0=0).
標簽:
I2C
AVR
程序
范例
上傳時間:
2016-07-19
上傳用戶:gxrui1991