2023年全國(guó)碩士研究生考試考研英語(yǔ)一試題真題(含答案詳解+作文范文)_第1頁(yè)
已閱讀1頁(yè),還剩26頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、<p><b>  單片機(jī)課程設(shè)計(jì)</b></p><p><b>  俄羅斯方塊</b></p><p><b>  目錄</b></p><p><b>  摘要 </b></p><p><b>  引言 </b>&l

2、t;/p><p>  1.程序整體思路 </p><p>  2.8X8LED模塊顯示原理</p><p><b>  3.硬件電路仿真圖</b></p><p><b>  4.圖形顯示</b></p><p><b>  5.消層算法</b><

3、/p><p><b>  6.旋轉(zhuǎn)算法</b></p><p><b>  7.實(shí)物焊接</b></p><p><b>  8.心得體會(huì)</b></p><p><b>  附錄 程序代碼</b></p><p><b> 

4、 摘 要</b></p><p>  記得在很小的時(shí)候,有一種掌上游戲機(jī),里面有一款游戲叫做俄羅斯方塊,那時(shí)的我們只是簡(jiǎn)單的按照游戲規(guī)則進(jìn)行“堆積木”,而其中的原理卻很少有人去思考,畢竟當(dāng)時(shí)的我們都還很年幼。</p><p>  基于單片機(jī)課程設(shè)計(jì)的機(jī)會(huì),我們這個(gè)小組將使用51單片機(jī)和8x8led的組合,來(lái)實(shí)現(xiàn)比較簡(jiǎn)單的俄羅斯方塊設(shè)計(jì)。</p><p&

5、gt;  此次設(shè)計(jì)初期是在keil和proteus聯(lián)合仿真中進(jìn)行,編程語(yǔ)言為51匯編,后期是進(jìn)行實(shí)物焊接。</p><p>  論文描述了俄羅斯方塊的主要功能函數(shù)的實(shí)現(xiàn),算法分析和實(shí)物焊接過(guò)程中遇到的問(wèn)題。</p><p>  關(guān)鍵詞:俄羅斯方塊;算法; 8X8led;</p><p><b>  引 言</b></p><

6、p>  游戲是人們活動(dòng)中一項(xiàng)非常重要的內(nèi)容,有人認(rèn)為如果哪一天人類(lèi)對(duì)所有的游戲都失去興趣,恐怕世界的末日就要到了。電腦對(duì)游戲的貢獻(xiàn)有目共睹,現(xiàn)在摸過(guò)電腦的人很少有沒(méi)玩過(guò)電腦游戲的,喜歡游戲的人也很少有不玩電腦的。</p><p>  俄羅斯方塊是一款風(fēng)靡全球的電視游戲機(jī)和掌上游戲機(jī)游戲,它曾經(jīng)造成的轟動(dòng)與造成的經(jīng)濟(jì)價(jià)值可以說(shuō)是游戲史上的一件大事。這款游戲最初是由蘇聯(lián)的游戲制作人Alex Pajitnov制作

7、的,它看似簡(jiǎn)單但卻變化無(wú)窮,令人上癮。相信大多數(shù)用戶(hù)都還記得為它癡迷得茶不思飯不想的那個(gè)俄羅斯方塊時(shí)代。究其歷史,俄羅斯方塊最早還是出現(xiàn)在PC機(jī)上,而我國(guó)的用戶(hù)都是通過(guò)紅白機(jī)了解、喜歡上它的。現(xiàn)在聯(lián)眾又將重新掀起這股讓人沉迷的俄羅斯方塊風(fēng)潮。對(duì)一般用戶(hù)來(lái)說(shuō),它的規(guī)則簡(jiǎn)單,容易上手,且游戲過(guò)程變化無(wú)窮,而在"聯(lián)眾俄羅斯方塊"中,更有一些聯(lián)眾網(wǎng)絡(luò)游戲所獨(dú)有的魅力――有單機(jī)作戰(zhàn)與兩人在線(xiàn)對(duì)戰(zhàn)兩種模式,用戶(hù)可任選一種進(jìn)行游戲

8、。網(wǎng)絡(luò)模式還增加了積分制,使用戶(hù)既能感受到游戲中的樂(lè)趣,也給用戶(hù)提供了一個(gè)展現(xiàn)自己高超技藝的場(chǎng)所。</p><p>  俄羅斯方塊游戲可以說(shuō)是隨計(jì)算機(jī)的發(fā)展而發(fā)展,并不斷推陳出新演變出各種類(lèi)似游戲, 深受廣大玩家喜愛(ài)。這個(gè)游戲有的簡(jiǎn)單, 有的復(fù)雜, 但其根本原理是一樣的都是對(duì)運(yùn)動(dòng)的方塊進(jìn)行組合, 來(lái)訓(xùn)練玩家的反應(yīng)能力。本文利用單片機(jī)進(jìn)行俄羅斯方塊設(shè)計(jì),采用51匯編語(yǔ)言進(jìn)行編程,基于匯編語(yǔ)言的原因是在編寫(xiě)程序的過(guò)程

9、中,對(duì)于程序的執(zhí)行會(huì)有一個(gè)比較直觀的表現(xiàn)。</p><p><b>  程序整體思路</b></p><p>  單片機(jī)上的程序設(shè)計(jì)一般是一個(gè)大循環(huán)結(jié)構(gòu),對(duì)于俄羅斯方塊的程序設(shè)計(jì),首先產(chǎn)生一個(gè)偽隨機(jī)數(shù),其范圍是0-6,然后程序根據(jù)此數(shù)值所對(duì)應(yīng)的圖形模塊裝入ram的固定區(qū)域內(nèi),緊接著將此圖像寫(xiě)入led所對(duì)應(yīng)的顯示緩沖區(qū)中,顯示程序?qū)⒕彌_區(qū)內(nèi)的內(nèi)容顯示在led上,如果沒(méi)有

10、控制鍵按下,圖形將自動(dòng)向下移動(dòng)。如果有鍵按下,程序?qū)⒏鶕?jù)按下的鍵來(lái)改變圖形存儲(chǔ)區(qū)的值,同時(shí)程序?qū)⑴袛鄨D形是否已到達(dá)邊界,當(dāng)圖形最上層到達(dá)顯示區(qū)頂部,則游戲結(jié)束,此時(shí)將清楚顯示緩沖的內(nèi)容,游戲重新開(kāi)始。</p><p>  2.8x8led顯示原理</p><p>  8x8led顯示屏的原理圖如下</p><p>  由于人眼的視覺(jué)暫留現(xiàn)象,通過(guò)逐行掃描顯示的方式來(lái)

11、顯示要顯示的內(nèi)容,當(dāng)每一行掃描的時(shí)間很小時(shí)人眼觀察的將是一幅完整的圖像。</p><p>  3. 硬件電路仿真圖</p><p><b>  .</b></p><p><b>  4.圖形顯示</b></p><p>  8x8led一共有64個(gè)led,可以從下至上一次對(duì)其編號(hào),對(duì)于顯示類(lèi)的基本

12、操作是任意點(diǎn)亮一個(gè)點(diǎn),熄滅一個(gè)點(diǎn),任意點(diǎn)亮n(0<n<=64)個(gè)點(diǎn),滅掉n個(gè)點(diǎn),如此一來(lái)游戲的第一個(gè)關(guān)鍵點(diǎn)就完成了。</p><p>  我們將ram中從21h單元到28h單元作為led的顯示緩沖區(qū),這里面的每一位對(duì)應(yīng)led的一個(gè)點(diǎn),led將實(shí)時(shí)顯示緩沖區(qū)的內(nèi)容,也就是當(dāng)此緩沖區(qū)內(nèi)容一改變,led上看到的也會(huì)做出相應(yīng)的改變。同時(shí)在俄羅斯方塊中那些方塊被存放在一個(gè)類(lèi)似于一維的數(shù)組之中,每一個(gè)方塊對(duì)應(yīng)四個(gè)

13、小方塊,根據(jù)偽隨機(jī)數(shù)將這四個(gè)小方塊對(duì)應(yīng)的值裝入ram固定的區(qū)域內(nèi)。</p><p>  如果要顯示方塊只需將這些方塊所對(duì)應(yīng)的點(diǎn)寫(xiě)入緩沖區(qū)。</p><p><b>  5.消層算法</b></p><p>  設(shè)置循環(huán)變量數(shù)R2=8,即總共至少要掃描8次,每一次循環(huán)過(guò)程中檢測(cè)此行是否已滿(mǎn),也就是檢測(cè)這一行所對(duì)應(yīng)的存儲(chǔ)單元是否全為一,如果全為一則

14、將消去此行,即將此行對(duì)應(yīng)的ram清零。同時(shí)將此行上面ram的內(nèi)容按每列依次下移,下移完之后重新將R2=0,又從第一行開(kāi)始檢測(cè)。此行不全為零時(shí)只需將R2=R2+1。直到R2=9消層過(guò)程結(jié)束。</p><p><b>  6.旋轉(zhuǎn)算法</b></p><p>  首先要確定一個(gè)旋轉(zhuǎn)中心,假如旋轉(zhuǎn)中心的編號(hào)是34,將34除以8,商是4存入R1余數(shù)是2存入R2,及時(shí)用商和余數(shù)

15、建立坐標(biāo)系。此時(shí)若以此為旋轉(zhuǎn)中心的圖形需要旋轉(zhuǎn),則將每一個(gè)小方塊對(duì)應(yīng)編號(hào)除以8,商減去R1,余數(shù)減去R2,而每一個(gè)方塊一次將旋轉(zhuǎn)90度,所以有公式x1,y1,x2,y2 x2= - y1,y2= x1</p><p>  其中x1,y1為旋轉(zhuǎn)之前的坐標(biāo),x2,y2為旋轉(zhuǎn)之后的坐標(biāo)。旋轉(zhuǎn)完之后將x2加上R1將y2加上R2,然后將x2乘以8再加上y2。執(zhí)行四次此過(guò)程旋轉(zhuǎn)結(jié)束。</p><

16、;p><b>  7.實(shí)物焊接</b></p><p>  器件:stc51單片機(jī)一塊,8x8led顯示模塊一塊,電阻10k10個(gè),開(kāi)關(guān)5個(gè),與門(mén),12m晶振一個(gè),電容3個(gè)。</p><p>  首先按照目的進(jìn)行進(jìn)行元器件布局,然后按照電路圖里的導(dǎo)線(xiàn)的連接次序?qū)⒃骷冈陔娐钒迳?,焊好之后進(jìn)行調(diào)試。</p><p><b>  

17、8.心得體會(huì)</b></p><p>  寫(xiě)程序的過(guò)程中,首先應(yīng)該把程序思路理清,然后再寫(xiě)代碼,否則寫(xiě)到一半感覺(jué)行不通時(shí)是很令人心煩的。還有就是焊接是一個(gè)技術(shù)活,因?yàn)樵陔娮庸に噷?shí)習(xí)之后大家便沒(méi)有碰過(guò)電烙鐵,所以焊的過(guò)程還是很辛苦的。</p><p><b>  附錄:程序代碼</b></p><p>  ORG

18、 0000H</p><p>  AJMP START</p><p>  ORG 0003H</p><p>  AJMP INTERRUPT</p><p>  AA EQU 10000000B </p><p>

19、  BB EQU 11111111B</p><p>  HANG EQU 32H</p><p>  LIE EQU 33H</p><p>  COUNT EQU 34H</p><p>  REMOVEROW EQU

20、 35H</p><p>  STEPS EQU 36H</p><p>  XUNHUAN EQU 37H</p><p>  BIANLIANG EQU 38H</p><p>  GRAPHRAM1 EQU 39H</p><p>  

21、GRAPHRAM2 EQU 40H</p><p>  GRAPHRAM3 EQU 41H</p><p>  GRAPHRAM4 EQU 42H</p><p>  XXX EQU 43H</p><p>  YYY EQU 44H<

22、/p><p>  KEY EQU 45H</p><p>  LEDHEAD EQU 21H</p><p>  TEST BIT 100</p><p>  BITS BIT 99</p><p>  RIGHT

23、 BIT 98</p><p>  LEFT BIT 97</p><p>  DOWN BIT 96</p><p>  HARD BIT 95</p><p>  TURN BIT 94</p><p>

24、  KEYDOWN BIT 93</p><p>  TESTING BIT 92</p><p>  BOTTOM BIT 91</p><p>  ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;</p><p>  ;;;;程序由此處開(kāi)始執(zhí)行</p

25、><p>  ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;</p><p><b>  START:</b></p><p>  MOV TCON,#00000001B;;;;;;;;;;;;;設(shè)置外部中斷0響應(yīng)方式為下降沿觸發(fā)</p><p>  SETB

26、 EX0</p><p>  SETB EA</p><p>  MOV SP,#60H;;;;;;;;;;;;;;;;;;;;;將堆棧指針SP設(shè)置在RAM的高地址處</p><p>  MOV R7,#6;;;;;;;;;;;;;;;;;;;;;;R7作為存放0-6這7個(gè)隨機(jī)數(shù)的變量</p&

27、gt;<p>  MOV P0,#11111111B;;;;;;;;;;;;;;;;;;;;;;將P0口最為輸入口</p><p>  LCALL WRITEGRAPHTORAM</p><p>  CLR TESTING</p><p><b>  GAMELOOP:</b>

28、;</p><p>  ;CLR EA</p><p>  LCALL SHOWGRAPH</p><p>  MOV R6,#30</p><p><b>  TIMING:</b></p><p>  LCALL SHO

29、WLEDRAM</p><p>  LCALL DELAY</p><p>  DJNZ R6,TIMING </p><p>  LCALL DOWNTEST</p><p>  JNB DOWN,NEXT1</p><p><

30、;b>  ABCD:</b></p><p>  MOV A,28H</p><p>  CJNE A,#0,GAMEOVER</p><p>  LCALL REMOVEBLOCK</p><p>  LCALL WRITEGRAPHTORAM</

31、p><p>  JMP GAMELOOP</p><p><b>  NEXT1:</b></p><p>  ;JB KEYDOWN,KEY1</p><p>  JMP KEY4</p><p><b>  KEY1:<

32、/b></p><p>  CLR TESTING</p><p>  CLR KEYDOWN</p><p>  MOV A,KEY</p><p>  CJNE A,#1,KEY2;1-LEFT</p><p>  LCALL

33、 LEFTTEST</p><p>  JB LEFT, KEY4</p><p>  LCALL CLEANGRAPH</p><p>  LCALL MOVELEFT</p><p>  LCALL GAMELOOP</p><p&g

34、t;<b>  KEY2:</b></p><p>  CJNE A,#2,KEY3;2-RIGHT</p><p>  LCALL RIGHTTEST</p><p>  JB RIGHT, KEY4</p><p>  LCALL CLEAN

35、GRAPH</p><p>  LCALL MOVERIGHT</p><p>  LCALL GAMELOOP</p><p><b>  KEY3:</b></p><p>  CJNE A,#4,KEY4;4-ROTATE</p><p> 

36、 ;LCALL ROTATIONTEST</p><p>  ;JNB TURN, KEY4</p><p>  LCALL CLEANGRAPH</p><p>  LCALL ROTATION</p><p>  JMP GAMELOOP<

37、;/p><p><b>  KEY4:</b></p><p>  CJNE A,#8,KEY5</p><p><b>  SWEAT:</b></p><p>  LCALL DOWNTEST</p><p>  JB

38、 DOWN,GAMELOOP</p><p>  LCALL CLEANGRAPH</p><p>  LCALL MOVEDOWN</p><p>  JMP SWEAT</p><p><b>  KEY5:</b></p><p>  L

39、CALL CLEANGRAPH</p><p>  LCALL MOVEDOWN</p><p>  INC R7</p><p>  CJNE R7,#7,NEXT5</p><p>  MOV R7,#0</p><p>&l

40、t;b>  NEXT5:</b></p><p>  JMP GAMELOOP</p><p><b>  GAMEOVER:</b></p><p>  MOV R0,#8</p><p>  MOV R1,#LEDHEAD</p>

41、;<p><b>  CLEAR:</b></p><p>  LCALL CLEANGRAPH</p><p>  MOV @R1,#0</p><p>  INC R1</p><p>  DJNZ R0,CLEAR</p&

42、gt;<p>  MOV R0,#4</p><p>  MOV R1,#GRAPHRAM1</p><p><b>  ASDF:</b></p><p>  MOV A,@R1</p><p>  ADD A,#16<

43、/p><p>  MOV @R1,A</p><p>  INC R1</p><p>  DJNZ R0,ASDF</p><p>  JMP GAMELOOP</p><p>  ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

44、;;;;;;;;;;;;</p><p>  ;測(cè)試圖形是否能向下移動(dòng)</p><p>  ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;</p><p><b>  DOWNTEST:</b></p><p>  PUSH 0</p><p>

45、;  PUSH 1</p><p>  PUSH 2</p><p>  PUSH 3</p><p>  PUSH B</p><p>  PUSH ACC</p><p>  MOV R2,#4</p><p&

46、gt;  MOV R0,#GRAPHRAM1</p><p><b>  DOWN0:</b></p><p>  MOV A,@R0</p><p>  SUBB A,#8</p><p>  MOV B,A</p><p>  MO

47、V R3,#4</p><p>  CLR C</p><p>  MOV R1,#GRAPHRAM1</p><p><b>  DOWN2:</b></p><p>  CLR C</p><p>  SUBB A,

48、@R1</p><p>  JZ DOWN1</p><p>  INC R1</p><p>  MOV A,B</p><p>  DJNZ R3,DOWN2</p><p>  LCALL TESTBIT</p><p

49、>  JB BITS,DOWN3</p><p><b>  DOWN1:</b></p><p>  INC R0</p><p>  DJNZ R2,DOWN0</p><p>  CLR DOWN</p><p>  JM

50、P HOPE</p><p><b>  DOWN3:</b></p><p>  SETB DOWN;DOWN WEI YI BIAO SHI BU NENG WANG XIA YI DONG </p><p>  CPL P3.4</p><p>  JMP

51、 DOWN4</p><p><b>  HOPE:</b></p><p>  MOV R2,#4</p><p>  MOV R0,#GRAPHRAM1</p><p>  YOUQIANG2:</p><p>  MOV R3,#1<

52、/p><p><b>  CCC2:</b></p><p>  MOV A,R3</p><p>  MOV B,A</p><p>  CLR C</p><p>  SUBB A,@R0</p><p>  J

53、NZ CCC1 </p><p>  SETB DOWN</p><p>  SETB BOTTOM</p><p>  JMP DOWN4</p><p><b>  CCC1:</b></p><p>  MOV A,

54、B</p><p>  INC R3</p><p>  CJNE R3,#9,CCC2</p><p>  INC R0</p><p>  DJNZ R2,YOUQIANG2</p><p><b>  DOWN4:</b></

55、p><p>  POP ACC</p><p>  POP B</p><p>  POP 3</p><p>  POP 2</p><p>  POP 1</p><p>  POP 0</p&

56、gt;<p><b>  RET</b></p><p>  ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;</p><p>  ;外部中斷0中斷處理程序</p><p>  ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;</p><

57、;p>  INTERRUPT:</p><p>  PUSH 0</p><p>  PUSH 1</p><p>  PUSH ACC</p><p>  INC R7</p><p>  CJNE R7,#7,INTT

58、</p><p>  MOV R7,#0</p><p><b>  INTT:</b></p><p>  SETB TESTING</p><p>  SETB KEYDOWN</p><p>  MOV A,P0&l

59、t;/p><p>  CPL A</p><p>  MOV KEY,A</p><p>  POP ACC</p><p>  POP 1</p><p>  POP 0</p><p><b

60、>  RETI</b></p><p>  ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;</p><p><b>  ;測(cè)試能否旋轉(zhuǎn)</b></p><p>  ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;</p><p&g

61、t;  ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;</p><p><b>  ;向下移動(dòng)</b></p><p>  ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;</p><p><b>  MOVEDOWN:</b></p>

62、;<p>  PUSH 0</p><p>  PUSH 1</p><p>  PUSH ACC</p><p>  MOV R0,#GRAPHRAM1</p><p>  MOV R1,#4</p><p>

63、<b>  MOVE1:</b></p><p>  MOV A,@R0</p><p>  CLR C</p><p>  SUBB A,#8</p><p>  MOV @R0,A</p><p>  INC

64、 R0</p><p>  DJNZ R1,MOVE1</p><p>  POP ACC</p><p>  POP 1</p><p>  POP 0</p><p><b>  RET</b></

65、p><p>  ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;</p><p><b>  ;向左移動(dòng)</b></p><p>  ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;</p><p><b>  MOVELEFT:</

66、b></p><p>  PUSH 0</p><p>  PUSH 1</p><p>  PUSH ACC</p><p>  MOV R0,#GRAPHRAM1</p><p>  MOV R1,#4</p&

67、gt;<p><b>  MOVE2:</b></p><p>  MOV A,@R0</p><p>  CLR C</p><p>  SUBB A,#1</p><p>  MOV @R0,A</p><

68、p>  INC R0</p><p>  DJNZ R1,MOVE2</p><p>  POP ACC</p><p>  POP 1</p><p>  POP 0</p><p><b>  RET&

69、lt;/b></p><p>  ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;</p><p><b>  ;向右移動(dòng)</b></p><p>  ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;</p><p>  MOVERIGHT

70、:</p><p>  PUSH 0</p><p>  PUSH 1</p><p>  PUSH ACC</p><p>  MOV R0,#GRAPHRAM1</p><p>  MOV R1,#4</p>

71、<p><b>  MOVE3:</b></p><p>  MOV A,@R0</p><p>  CLR C</p><p>  INC A </p><p>  MOV @R0,A</p><p> 

72、 INC R0</p><p>  DJNZ R1,MOVE3</p><p>  POP ACC</p><p>  POP 1</p><p>  POP 0</p><p><b>  RET</b&

73、gt;</p><p>  ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;</p><p>  ;將圖形寫(xiě)入RAM緩存中</p><p>  ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;</p><p>  WRITEGRAPHTORAM:</p>

74、<p>  PUSH ACC</p><p>  PUSH B</p><p>  PUSH 0</p><p>  PUSH 1</p><p>  PUSH 2</p><p>  PUSH 7</p><p&g

75、t;  MOV R1,#4</p><p>  MOV A,R7</p><p>  MOV B,#4</p><p>  MUL AB</p><p>  MOV R2,A</p><p>  MOV R0,#GRAPHRAM1<

76、;/p><p>  MOV DPTR,#GRAPH</p><p>  WRITEGRAPH:</p><p>  MOV A,R2</p><p>  MOVC A,@A+DPTR</p><p>  ;SUBB A,#16</p><p>  

77、MOV @R0,A</p><p>  INC R2</p><p>  INC R0</p><p>  DJNZ R1,WRITEGRAPH</p><p>  POP 7</p><p>  POP 2</p><

78、;p>  POP 1</p><p>  POP 0</p><p>  POP B</p><p>  POP ACC</p><p>  RET </p><p>  ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

79、;;;;;;;</p><p>  ;測(cè)試某一個(gè)二進(jìn)制位是否為1</p><p>  ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;</p><p><b>  TESTBIT:</b></p><p>  PUSH 0</p><p>  PU

80、SH 1</p><p>  PUSH B</p><p>  PUSH ACC</p><p>  MOV B,#8</p><p>  DIV AB</p><p>  MOV R0,A</p><p>  MOV

81、 A,B</p><p>  CJNE A,#0,TEST3</p><p>  MOV A,R0</p><p>  DEC A</p><p>  JMP TEST4</p><p><b>  TEST3:</b></

82、p><p>  MOV A,R0</p><p><b>  TEST4:</b></p><p>  MOV DPTR,#TAB1</p><p>  MOV R1,#LEDHEAD</p><p>  ADD A,R1</p>

83、<p>  MOV R1,A</p><p>  MOV A,B</p><p>  MOVC A,@A+DPTR</p><p>  ANL A,@R1</p><p>  CJNE A,#0,TEST1</p><p>  CLR

84、 BITS</p><p>  JMP TEST2</p><p><b>  TEST1:</b></p><p>  SETB BITS</p><p><b>  TEST2:</b></p><p>  POP ACC<

85、;/p><p>  POP B</p><p>  POP 1</p><p>  POP 0</p><p><b>  RET</b></p><p>  ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;</p&

86、gt;<p>  ;測(cè)試圖形是否能向左移動(dòng)</p><p>  ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;</p><p><b>  LEFTTEST:</b></p><p>  PUSH 0</p><p>  PUSH 1<

87、;/p><p>  PUSH 2</p><p>  PUSH 3</p><p>  PUSH B</p><p>  PUSH ACC</p><p>  MOV R2,#4</p><p>  MOV R0

88、,#GRAPHRAM1</p><p><b>  LEFT0:</b></p><p>  MOV A,@R0</p><p>  CLR C</p><p>  SUBB A,#1</p><p>  MOV B,A</p&g

89、t;<p>  MOV R3,#4</p><p>  ;CLR C</p><p>  MOV R1,#GRAPHRAM1</p><p><b>  LEFT2:</b></p><p>  CLR C</p><p&g

90、t;  SUBB A,@R1</p><p>  JZ LEFT1</p><p>  INC R1</p><p>  MOV A,B</p><p>  DJNZ R3,LEFT2</p><p>  LCALL TESTBI

91、T</p><p>  JB BITS,LEFT3</p><p><b>  LEFT1:</b></p><p>  INC R0</p><p>  DJNZ R2,LEFT0</p><p>  CLR LEFT</p&

92、gt;<p>  JMP LEFT4</p><p><b>  LEFT3:</b></p><p>  SETB LEFT;DOWN WEI YI BIAO SHI BU NENG WANG XIA YI DONG </p><p>  CPL P3.4</p>&

93、lt;p>  JMP LEFT5</p><p><b>  LEFT4:</b></p><p>  MOV R2,#4</p><p>  MOV R0,#GRAPHRAM1</p><p><b>  YOUQIANG:</b></p

94、><p>  MOV R3,#9</p><p>  MOV A,#1</p><p><b>  HHH2:</b></p><p>  MOV B,A</p><p>  CLR C</p><p>  SUB

95、B A,@R0</p><p>  JNZ HHH1 </p><p>  SETB LEFT</p><p>  JMP LEFT5</p><p><b>  HHH1:</b></p><p>  MOV A,B&l

96、t;/p><p>  ADD A,#8</p><p>  DJNZ R3,HHH2</p><p>  INC R0</p><p>  DJNZ R2,YOUQIANG</p><p><b>  LEFT5:</b></p>

97、<p>  POP ACC</p><p>  POP B</p><p>  POP 3</p><p>  POP 2</p><p>  POP 1</p><p>  POP 0</p>

98、<p><b>  RET</b></p><p>  ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;</p><p>  ;測(cè)試圖形是否能向右移動(dòng)</p><p>  ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;</p><p>

99、;  RIGHTTEST:</p><p>  PUSH 0</p><p>  PUSH 1</p><p>  PUSH 2</p><p>  PUSH 3</p><p>  PUSH B</p><p>  PUSH

100、 ACC</p><p>  MOV R2,#4</p><p>  MOV R0,#GRAPHRAM1</p><p><b>  RIGHT0:</b></p><p>  MOV A,@R0</p><p>  ADD

101、 A,#1</p><p>  MOV B,A</p><p>  MOV R3,#4</p><p>  ;CLR C</p><p>  MOV R1,#GRAPHRAM1</p><p><b>  RIGHT2:</b>&

102、lt;/p><p>  SUBB A,@R1</p><p>  JZ RIGHT1</p><p>  INC R1</p><p>  MOV A,B</p><p>  DJNZ R3,RIGHT2</p><p>

103、  LCALL TESTBIT</p><p>  JB BITS,RIGHT3</p><p><b>  RIGHT1:</b></p><p>  INC R0</p><p>  DJNZ R2,RIGHT0</p><p>  

104、CLR RIGHT</p><p>  JMP RIGHT4</p><p><b>  RIGHT3:</b></p><p>  SETB RIGHT;DOWN WEI YI BIAO SHI BU NENG WANG XIA YI DONG </p><p>  CP

105、L P3.4</p><p>  JMP RIGHT5</p><p><b>  RIGHT4:</b></p><p>  MOV R2,#4</p><p>  MOV R0,#GRAPHRAM1</p><p>  YOUQI

106、ANG1:</p><p>  MOV R3,#8</p><p>  MOV A,#8</p><p><b>  III2:</b></p><p>  MOV B,A</p><p>  CLR C</p><

107、;p>  SUBB A,@R0</p><p>  JNZ III1 </p><p>  SETB RIGHT</p><p>  JMP RIGHT5</p><p><b>  III1:</b></p><p>  MOV

108、 A,B</p><p>  ADD A,#8</p><p>  DJNZ R3,III2</p><p>  INC R0</p><p>  DJNZ R2,YOUQIANG1</p><p><b>  RIGHT5:</

109、b></p><p>  POP ACC</p><p>  POP B</p><p>  POP 3</p><p>  POP 2</p><p>  POP 1</p><p>  POP

110、 0</p><p><b>  RET</b></p><p>  ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;</p><p><b>  ;圖形旋轉(zhuǎn)</b></p><p>  ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

111、;;;;;;;</p><p><b>  ROTATION:</b></p><p><b>  PUSH 0</b></p><p><b>  PUSH 1</b></p><p><b>  PUSH 2</b></p>

112、<p><b>  PUSH 3</b></p><p><b>  PUSH B</b></p><p>  PUSH ACC</p><p>  MOV A,GRAPHRAM1 ;A=50</p><p>  MOV B,#8</p>

113、<p>  DIV AB ;A=6 B= 2</p><p>  MOV HANG,A ;HANG = 6</p><p>  MOV LIE,B ;LIE = 2</p><p>  MOV R3,#4</p><p>  MOV

114、 R0,#GRAPHRAM1</p><p>  ROTATESTART:</p><p>  MOV A,@R0</p><p>  MOV B,#8</p><p>  DIV AB </p><p>  CLR C</p>

115、<p>  SUBB A,HANG </p><p>  MOV R1,A </p><p>  MOV A,B</p><p>  CLR C</p><p>  SUBB A,LIE</p><p>  MOV R2

116、,A</p><p>  ;;;;;;;;;;;;;;;;;;X2=-Y1 Y2=X1</p><p>  MOV A,#0</p><p>  CLR C</p><p>  SUBB A,R2 ;-Y1</p><p>  MOV B,R1 ;X1<

117、/p><p>  MOV R1,A ;X2=-Y1</p><p>  MOV R2,B ;Y2=X1</p><p>  MOV A,R1</p><p>  ADD A,HANG</p><p>  MOV R1,A</p><

118、;p>  MOV A,R2</p><p>  ADD A,LIE</p><p>  MOV R2,A</p><p>  MOV A,R1</p><p>  MOV B,#8</p><p>  MUL AB</p&g

119、t;<p>  ADD A,R2</p><p>  MOV @R0,A </p><p>  INC R0</p><p>  DJNZ R3,ROTATESTART</p><p>  POP ACC</p><

120、p>  POP B</p><p>  POP 3</p><p>  POP 2</p><p>  POP 1</p><p>  POP 0</p><p><b>  RET</b></p><

121、p>  ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;</p><p>  ;顯示LEDRAM中的內(nèi)容</p><p>  ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;</p><p>  SHOWLEDRAM:</p><p>  PUSH

122、0</p><p>  PUSH 1</p><p>  PUSH B</p><p>  PUSH ACC</p><p>  MOV R0,#LEDHEAD</p><p>  MOV R1,#8</p><p>  MOV

123、 A,#AA</p><p><b>  SHOW1:</b></p><p>  MOV P1,A</p><p>  MOV P2,@R0</p><p>  LCALL DELAY</p><p>  INC R0</p&g

124、t;<p>  RL A</p><p>  DJNZ R1,SHOW1</p><p>  POP ACC</p><p>  POP B</p><p>  POP 1</p><p>  POP 0</p>

125、;<p><b>  RET</b></p><p>  ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;</p><p><b>  ;軟件延時(shí)</b></p><p>  ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;</

126、p><p><b>  DELAY:</b></p><p>  PUSH 1</p><p>  PUSH 2</p><p>  MOV R1,#5</p><p><b>  FQFQ:</b></p><p>

127、  MOV R2,#200</p><p><b>  FWFW:</b></p><p>  DJNZ R2,FWFW</p><p>  DJNZ R1,FQFQ</p><p>  POP 2</p><p>  POP 1&

128、lt;/p><p><b>  RET</b></p><p>  ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;</p><p>  ;清楚圖形在LEDRAM中的內(nèi)容</p><p>  ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;</

129、p><p>  CLEANGRAPH:</p><p>  PUSH ACC</p><p>  PUSH 1</p><p>  MOV A,#GRAPHRAM1</p><p>  MOV XUNHUAN,#4</p><p>  MOV

130、 R1,A</p><p><b>  DADA1:</b></p><p>  MOV A,@R1</p><p>  ;SUBB A,#16</p><p>  LCALL WRITEPOINT0</p><p>  INC R1<

131、;/p><p>  DJNZ XUNHUAN,DADA1</p><p>  POP 1</p><p>  POP ACC </p><p><b>  RET</b></p><p>  ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

132、;;;;;;;;;;;;</p><p>  ;顯示圖形在LEDRAM中的內(nèi)容</p><p>  ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;</p><p>  SHOWGRAPH:</p><p>  PUSH ACC</p><p>  PUSH

133、 1</p><p>  MOV A,#GRAPHRAM1</p><p>  MOV XUNHUAN,#4</p><p>  MOV R1,A</p><p><b>  DADA2:</b></p><p>  MOV A,@R1<

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 眾賞文庫(kù)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論