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

專注電子技術學習與研究
當前位置:單片機教程網 >> MCU設計實例 >> 瀏覽文章

51單片機實現模擬打乒乓球

作者:huqin   來源:本站原創   點擊數:  更新時間:2014年03月01日   【字體:



電子乒乓球游戲機
**********************
         初始化
         **********************
         lw bit 20h.0
         rw bit 20h.1
         speed bit 20h.2
         sd bit 20h.3
         fs bit 20h.4
         jq bit 20h.5
         zy bit 20h.6
         fq bit 20h.7
         date equ p0
         led equ p1
         rp equ p3.0
         lp equ p3.3
         ks equ p3.2
         spe equ p3.1
         bw equ p2.3
         qw equ p2.2
         gw equ p2.1
         sw equ p2.0
         state  equ  30h
         ball   equ 31h
         lcode  equ  32h
         rcode  equ  33h
         sdbuf  equ  34h
         ;.............................
         org 000h
         ljmp main
         org  000bh
         ljmp int50ms
         ;.....................
         main:
         clr p3.4
         mov led,#0ffh
         mov  lcode,#00h
         mov  rcode,#00h
         mov state,#00h
         clr speed
         setb gw
         setb sw
         setb bw
         setb qw
         mov ball,#0ffh
         mov tmod,#01h
         mov th0,#3ch
         mov tl0,#0b0h
         setb ea
         setb et0
         setb tr0
         mov r7,#8
         mov r6,#20
         mov r0,#10
         mov r1,#5
         mov sdbuf,#00h
         ;*********************
         main1:
         lcall dis
         lcall key
         jb lw,lwdo
         jnb rw,main1
         clr rw
         inc rcode
         lcall rsd
         mov a,rcode
         cjne a,#21,main1
         lcall gofs;   比分為21分,分閃
         ljmp main1
         ;.................
         lwdo:  ;左得分
         clr lw
         inc lcode
         lcall lsd ;左得分,燈閃
         mov a,lcode
         cjne a,#21,main1
         lcall gofs
         ljmp main1
         ;************************************
         int50ms:
         ;中斷,,包含移位,發球標志
         mov th0,#3ch
         mov tl0,#0b0h
         lcall key
         mov a,state
         cjne a,#2,back
         mov a,sdbuf
         cjne a,#00h,sd1
         djnz r6,back
         mov r6,#20
         sjmp spback
         sd1:
         cjne a,#01h,sd2
         djnz r0,back
         mov r0,#10
         sjmp spback
         sd2:
         djnz r1,back
         mov  r1,#5
         spback: clr jq
         jnb zy,ldo
         rdo:
         mov a,ball
         cjne a,#0feh,rmove
         setb lw
         mov state,#00h
         sjmp back
         rmove:
         mov a,ball
         rr a
         mov led,a
         mov ball,a
         cjne a,#0feh,back
         setb jq
         reti
         ;......................
         ldo:
         mov a,ball
         cjne a,#07fh,lmove
         setb rw
         mov state,#00h
         sjmp back
         lmove:
         mov a,ball
         rl a
         mov led,a
         mov ball,a
         cjne a,#07fh,back
         setb jq
         back:reti
         ;****鍵盤程序**************
         key:
         setb p3.0
         setb p3.1
         setb p3.2
         setb p3.3
         mov a,p3
         anl a,#0fh
         cjne a,#0fh,key1
         sjmp kse
                   ;鍵掃描
                   
         key1:
         jnb ks,jks
         jnb lp,jlp
         jnb rp,jrp
         jnb spe,jspe
         ljmp kse
         ;加速鍵處理
         jspe: lcall del20ms
         jb spe,kse
          inc sdbuf
               lcall  sdled
               ret
         jks: ;開始鍵處理
         lcall del20ms
         jb ks,kse
         clr fs
         clr sd
         cpl fq
         mov led,0ffh
         mov state,#01h
         jb fq,ks1      ;發球標志為1,右發球
         mov ball,#07fh
         mov led,ball
         sjmp ks2
         ks1:
         mov ball,#0feh
         mov led,ball
         ks2:
         clr c
         mov a,lcode
         cjne a,#21,ks3
         ljmp gofs
         ks3:
         clr c
         mov a,#rcode
         cjne a,#21,kse
         ljmp gofs
         
         kse:ret
         ;**************左拍處理
         jlp:
         mov a,state
         cjne a,#01,lp1
         jb fq,lpe
         mov state,#02
         setb zy   ;移位 為1,球右移
         sjmp lpe
         lp1:
         cjne a,#2,lpe
         jb zy,lpe   ;移位標致為0,球左移
         jnb jq,lp2
         setb zy
         sjmp lpe
         lp2:
         setb rw
         mov state,#00h
         lpe:ret
         ;......右拍..................
         jrp:
         mov a,state
         cjne a,#01,rp1
         jnb fq,rpe
         mov state,#02
         clr zy
         sjmp rpe
         rp1:
         cjne a,#2,rpe
         jnb zy,rpe
         jnb jq,rp2
         clr zy
         sjmp rpe
         rp2:
         setb lw
         mov state,#00h
         rpe:ret
         ;.............
       sdled:
       mov a,sdbuf
       cjne a,#01h,sdled1
       clr p2.5
       setb p2.4
       setb p2.6
       ret
       sdled1:
       cjne a,#02h,sdled2
       clr p2.6
       setb p2.5
       setb p2.4
       ret
       sdled2:
       mov sdbuf,#00h
       clr p2.4
       setb p2.6
       setb p2.5
       ret
         ;*********
       
         ;**********分顯******************
         dis:
         mov a,rcode
         mov b,#10
         div ab
         mov dptr,#xstab
         xch a,b
         movc a,@a+dptr

         mov p0,a
         clr gw
         lcall delms
         setb gw
         xch a,b
         movc a,@a+dptr
         mov p0,a
         clr sw
         lcall delms
         setb sw
         mov a,lcode
         mov b,#10
         div ab
         xch a,b
         movc a,@a+dptr
         mov p0,a
         clr bw
         lcall delms
         setb bw
         xch a,b
         movc a,@a+dptr
         mov p0,a
         clr qw
         lcall delms
         setb qw
         ret
         ;......................得分燈閃
        rsd: mov r5,#6
             mov led,#0feh
          gosd2: cpl led.0
                 lcall del20ms

                 lcall del20ms
                 djnz r5,gosd2
                 mov r5,#6
              ret
              lsd: mov r5,#6
             mov led,#07fh
          lsd2: cpl led.7
                 lcall del20ms

                 lcall del20ms
                 djnz r5,lsd2
                 mov r5,#6
              ret
              delms:
              mov r4,#100
              mov r5,#10
           delms1:   djnz r4,$
              mov r4,#100
              djnz r5,delms1
              mov r5,#6
              ret
              del20ms:
              mov r3,#200
              mov r2,#10
              del20ms1:   djnz r2,$
              mov r2,#200
              djnz r3,del20ms1
             
              ret

              ;..........................
              gofs:
              mov r5,#6
              gofs1: mov p3,#00h
              lcall del20ms
              mov p3,#0ffh
              djnz r5,gofs1
              mov r5,#6
              mov lcode,#00h
              mov rcode,#00h
              ret
          xstab:DB 3FH,05H,5BH,4FH    ;"0","1","2","3"
          DB  65H,6eH,7eH,07H    ;"4","5","6","7"
          DB  7FH,6FH,
         ;************** 
 

關閉窗口

相關文章

主站蜘蛛池模板: 插插宗合网| 中文字幕一区二区三区精彩视频 | 一区二区三区免费 | 久草免费在线视频 | 成人国产在线视频 | 三级黄色片在线播放 | 久草网免费 | 欧美精品网站 | 亚洲福利网站 | 日韩淫片免费看 | 精品欧美一区二区精品久久久 | 国产激情小视频 | 男人av在线播放 | 青青操91 | aaa大片免费观看 | 日本一区二区三区视频在线 | h视频在线观看免费 | 日韩在线不卡视频 | 精精国产xxxx视频在线野外 | 免费小视频在线观看 | 91精品国产综合久久精品 | 国产综合视频 | 亚洲国产精品视频 | 久久高清| 老外几下就让我高潮了 | 成人精品一区二区三区 | 正在播放国产精品 | 日韩一区二区在线看 | 成人久久18免费 | 亚洲午夜精品久久久久久app | 天天搞天天搞 | 欧美a∨| 日韩一区二区黄色片 | 亚洲精品久久久久久久久久久久久 | 国产精品久久99 | 亚洲视频中文字幕 | 99热碰 | 中文字幕日韩一区 | 亚洲精品黑人 | 欧美一区二区在线 | 国产在线精品一区二区 |