;8255端口地址-pa00h,pb01h,pc02h,control03h.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
;8255端口地址-pa00h,pb01h,pc02h,control03h

;8255端口地址-pa:00h,pb:01h,pc:02h,control:03h ;r2:交换发球个数寄存器,r3:左方得分寄存器,r4:右方得分寄存器,r5:秒计时常数 ;51h:p1口缓冲区 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;主程序;;;;;;;;;;;;;;;;;;;;;;;;;;; org 0000h jmp main org 0040h main: mov r6,#10 x: call d20ms djnz r6,x mov sp,#60h ;设置堆栈地址 mov r0,#03h ;control地址 mov a,#89h ;pa,pb作输出,pc作输入 movx @r0,a ;设置8255的工作方式 mov scon,#00h ;串口工作于方式0,移位寄存器方式 clr 00h ;左方击球人的标记 clr 01h ;右方击球人的标记 clr 02h clr 03h clr p1.3 ;左方获胜灯清零 clr p1.4 ;右方获胜灯清零 clr p1.5 ;左方发球灯清零 clr p1.6 ;右方发球灯清零 mov r0,#00h mov r1,#01h mov a,#00h movx @r0,a movx @r1,a ;乒乓球灯熄灭 GO: mov a,p1 mov 51h,a anl a,#03h mov 40h,#00h mov 41h,#00h call disp ;比分显示0:0 mov r3,#00h mov r4,#00h mov r2,#00h jnz sp1 dec a jnz sp2 dec a jnz sp3 mov r5,#50h jmp str sp1: mov r5,#10h ;进行速度调节 jmp str sp2: mov r5,#30h jmp str sp3: mov r5,#40h jmp str str: mov 50h,r5 mov r0,#02h ;发球了吗? movx a,@r0 jnb acc.2,jplar jnb acc.3,ss1 ;检查左方 jnb acc.4,jplal jnb acc.5,ss2 jmp str ss1: setb 00h jplar:call plar ;调用右移程序 ss2: setb 01h jplal:call plal ;调用左移程序 include “plar.asm” include “plal.asm” include “d20ms.asm” include “disp.asm” include “voice.asm” ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;左移程序;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; proc plal clr p1.3 clr p1.4 ;左右获胜灯清零 clr p1.5 clr p1.6 ;左右发球灯清零 plal: call voice1k setb c ;在进位位设置乒乓球 mov r0,#01h ;设置球的位置范围 mov r1,#02h clr a mov r6,#04h ;设置球的移位次数 pk0:jnb 01h,tj ;pc4发球转移 pp1: rrc a jmp pk tj: rlc a pk: movx @r0,a ;输出乒乓球的位状态 mov r5,50h pk1: call d20ms push a movx a,@r1 jnb acc.1,t0 ;方向键按下否? jmp t1 t0:setb 02h t1:mov r7,acc.1 jnb acc.2,pk3 ;如果左拍提前击球则失误转移 jnb acc.3,pk3 pop a djnz r5,pk1 ;秒延时没到,继续循环 dec r6 cjne r6,#00h,ttt jmp pk0 ttt: mov a,#00h movx @r0,a ;熄灭右方发光二极管 mov r6,#04h mov r0,#00h mov r5,50h cjne r7,#01h,tt0 ;没按方向键,走pc2 mov a, a0: rl a movx @r0,a mov r5,50h djnz r6,a1 ;判断四位是否移完,不完转道a1 jmp p

文档评论(0)

woai118doc + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档