51单片机实现模拟打乒乓球

发布者:电竞狂人最新更新时间:2015-05-12 来源: 51hei关键字:51单片机  模拟打乒乓球 手机看文章 扫描二维码
随时随地手机看文章
       


电子乒乓球游戏机
**********************
         初始化
         **********************
         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[page]
         ;************************************
         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,
         ;************** 

关键字:51单片机  模拟打乒乓球 引用地址:51单片机实现模拟打乒乓球

上一篇:基于51单片机的遥控智能小车实作心得
下一篇:如何做一台自己的手机蓝牙遥控车

推荐阅读最新更新时间:2024-03-16 14:01

51单片机的13×14点阵缩码汉卡
  我们历时数载,开发成“51单片机13×14点阵缩码汉卡”,适用于目前国内外应用最为广泛的MCSX-51及其兼容系列单片机。   与此同时,还开发了13×14点阵汉字字模。13×14点阵字模,可完全与目前通用的16×16点阵汉字字模媲美,其在单片机和嵌入式系统的汉字显示应用中也具有明显的经济价值和实用意义。   1 单片机目前的汉字显示   信息交流的最主要方式之一即文字交流,但由于我国方块汉字数量繁多,构形迥异,使汉字显示一直是我国计算机普及的障碍。随着计算机技术的迅速发展,PC机的汉字显示已不成问题。但对于成本低、体积小、应用灵活且用量极为巨大的单片机而言,因其结构简单,硬件资源十分有限,其汉字显示仍面对着捉襟见肘,力不从
[单片机]
以AT89C51单片机为核心的高频开关电源并联均流系统设计
  模块化是开关电源的发展趋势,并联运行是电源产品大容量化的一个有效方案,可以通过设计N+l冗余电源系统,实现容量扩展。本系统是多台高频开关电源(1000A/15V)智能模块并联,电源单元和监控单元均以AT89C51单片机为核心,电源单元的均流由监控单元来协调,监控单元既可以与各电源单元通信,也可以与PC通信,实现远程监控。   1    PWM控制电路   TL494是一种性能优良的脉宽调制控制器,TL494由5V基准电压、振荡器、误差放大器、比较器、触发器、输出控制电路、输出晶体管、空载时间电路构成。其主要引脚的功能为:    脚1和脚2分别为误差比较放大器的同相输入端和反相输入端;   脚15和脚16分别为控制比较放
[电源管理]
以AT89C<font color='red'>51单片机</font>为核心的高频开关电源并联均流系统设计
51单片机CPU的基本构成及作用
单片机是什么,是在一个集成硅片中集成了一些部件,构成了一个微型的计算机系统的东西,这些只是对单片机的基础概念是简单了解,会用单片机C语言的编程来实现一些简单的ALU的操作,但是这些还是远远不够的,我们还需要了解单片机的运行机制,工作原理。 这一期来了解一些关于单片机的其他重要知识,51单片机的CPU是多少位,CPU的主要作用是什么,51单片机它的基本构成是由哪些部件或者哪些东西来构成的。 51单片机它的CPU位数是多少位? 51单片机是8位的CPU,表示数据处理一次能够处理的数据的位宽是8个比特位,也就是一个字节,这个叫做它的位数,51单片机除了具备八位的CPU之外,实际上它有两个,它还有一个位处理器,一个字节处理器,所以
[单片机]
<font color='red'>51单片机</font>CPU的基本构成及作用
51单片机C语言程序(一)发光二极管
程序(一)点亮第一个发光二极管 #include reg52.h void main() { P1=0xfe; while(1); } 程序(二)让第一个发光二极管闪烁 #include reg52.h sbit led1=P1^0; void main() { unsigned int i; while(1) { i=50000; led1=0; while(i--); i=50000; led1=1; while(i--); } } 程序(三) //第一个发光二极管以间隔2000ms闪烁 #include reg52.h #define uint unsigned int #de
[单片机]
51单片机入门——16路抢答器
设计要求 同时为16支参赛队提供抢答功能,抢答成功后应能通过数码管显示出参赛队号数,同时点亮发光二极管示意抢答成功。 加入独立开关,可启动10秒倒计时功能,通过数码管显示出倒计时时间(倒计时状态下抢答功能不起作用,反之亦然)。 电路原理图 硬件原理 时钟信号(晶振) 单片机晶振部位电路,详情请参考《51单片机入门——单片机最小系统》,在此项目中我们选择 11.0592 MHz的晶振。 矩阵按键与独立按键 在该项目中矩阵按键用于选手的抢答器,独立按键用于主持人复位重置抢答。 代码解析 矩阵按键部分代码: keyboard.c #include KEYBOARD.H uchar keySta = {
[单片机]
<font color='red'>51单片机</font>入门——16路抢答器
51单片机对智能温控器的设计
这是一款51单片机智能温控器C语言源程序,程序功能:速成有时钟显示,使用DS18B20进行温度检测,控制温度可通过按键进行设置,输出通过继电器械驱动加热器进行加热。是一款功能较为完善的温度控制板,适合单片机爱好者进行温度控制的电子制作实作项目。电路简单,容易制作,调试容易。 #include ‘reg51.h’ #include ‘intrins.h’ #include‘absacc.h’ #define uchar unsigned char #define uint unsigned int #define BUSY 0x80 //lcd忙检测标志 #define DATAPORT P0 //定义P0口为LCD通讯端口 #
[单片机]
51单片机IO口模拟串口通讯2-计数法
硬件环境:STC89C52 软件环境:IDE Keil uVision V4.10 编译器 C51 V9.0 代码如下: /********************************************** 方法2:计数法 硬件:11.0592MHz晶振,STC89C52,RXD P1.0 TXD P1.1 波特率:9600 描述:所谓计数法是指根据模拟出的波特率,每1位持续的时间的长短是通过定时器计数 溢出来置标志位,查询该标志位来实现的。 测试1:上电发送1个0x02的字符 测试2:上电先发送1个0x02的字符,然后等待接收,将收到的字符再发送出去(分别一个一个发送0x01,0x02,0x03,0x0
[单片机]
<font color='red'>51单片机</font>IO口<font color='red'>模拟</font>串口通讯2-计数法
构造一个51单片机的实时操作系统
目前,大多数的产品开发是在基于一些小容量的单片机上进行的。51系列单片机,是我国目前使用最多的单片机系列之一,有非常广大的应用环境与前景,多年来的资源积累,使51系列单片机仍是许多开发者的首选。针对这种情况,近几年涌现出许多基于51内核的扩展芯片,功能越来越齐全,速度越来越快,也从一个侧面说明了51系列单片机在国内的生命力。 多年来我们一直想找一个合适的实时操作系统,作为自己的开发基础。根据开发需求,整合一些常用的嵌入式构件,以节约开发时间,尽最大可能地减少开发工作量;另外,要求这个实时操作系统能非常容易地嵌入到小容量的芯片中。毕竟,大系统是少数的,而小应用是多数而广泛的。显而易见,μC/OS—II是不太适合于以上要求的,而Keil
[单片机]
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved