键盘控制:

org 0002h ajmp main ORG 0013H AJMP INT org 0200h main: table1 equ 30h mov sp,#50h mov 2dh,#05h mov 29h,#19h setb p3.6 acall INIT8155 mov tmod,#1H mov th0,#0h; mov tl0,#0h setb ex1 setb px1 setb ex0 setb ea setb tr0 mm: //acall judge mov a,2dh add a,29h mov r1,a MOV 2fH,a //2fh:红灯 2dh:黄灯 29h:绿灯 mov r2,29h mov p1,#0f3h //11110011 setb p3.7 mov r3,29h m1: acall delay1 dec r1 dec r2 djnz r3,m1 acall INIT //acall judge mov a,2dh mov r1,a mov r2,a mov p1,#0f5h setb p3.7 mov r3,a m2: acall delay1 dec r1 dec r2 cpl p1.1 djnz r3,m2 acall INIT //acall judge mov p1,#0feh clr p3.7 //2fh:红灯 2dh:黄灯 29h:绿灯 mov a,29h mov r1,a mov a,2dh clr c add a,r1 mov r2,a mov a,29h mov r3,a m3: acall delay1 dec r1 dec r2 djnz r3,m3 //acall judge mov p1,#0eeh setb p3.7 mov a,2dh mov r1,a mov r2,a mov r3,a m4: acall delay1 dec r1 dec r2 cpl p1.4 djnz r3,m4 SETB P3.7 ajmp mm delay1: jnb tf0,$ clr tf0 delay2: acall compute mov 2bh,#047h loop: mov dptr,#table mov a,r5 movc a,@a+dptr mov r0,#0feh acall display mov a,r4 mov dptr,#table movc a,@a+dptr mov r0,#0fdh acall display mov a,r7 mov dptr,#table movc a,@a+dptr mov r0,#0fbh acall display mov a,r6 mov dptr,#table movc a,@a+dptr mov r0,#0f7h acall display djnz 2bh,loop ret compute: mov a,r1 mov b,#0ah div ab mov r4,a mov a,b mov r5,a mov a,r2 mov b,#0ah div ab mov r6,a mov a,b mov r7,a ret display: mov 2ah,#0ffh mov 2ch,a dis1:mov a,2ch mov dptr,#0f102h movx @dptr,a mov dptr,#0f101h mov a,r0 movx @dptr,a djnz 2ah,dis1 ret INIT:mov th0,#0h mov tl0,#0h ret INIT8155: mov dptr,#0f100h mov a,#03h movx @dptr,a ret table:db 3fh,06h,5bh,4fh,66h,6dh,7dh,07h,7fh,6fh,77h,7ch INT: clr ea clr tr0 clr ex0 clr ex1 mov r1,#20h mov r2,#20h acall delay2 inter: mov dptr,#0f103h movx a,@dptr jb acc.0,adddd jb acc.1,subbb jb acc.2,subbb2 ajmp inter subbb: jnb acc.2,subbb1 ajmp inter subbb1: dec r1 acall delay2 ajmp inter subbb2: dec r2 acall delay2 ajmp inter adddd: jb acc.1,adddd1 jb acc.2,adddd3 ajmp endd adddd1: jnb acc.2,adddd2 ajmp inter adddd2: inc r1 acall delay2 ajmp inter adddd3: //2fh:红灯 2dh:黄灯 29h:绿灯 inc r2 acall delay2 ajmp inter endd: mov 2dh,r1 mov 29h,r2 mov a,r1 clr c subb a,r2 jc lp mov a,r2 mov r3,a ajmp lp1 lp: mov a,r1 mov r3,a lp1: setb ex0 setb ex1 setb tr0 setb ea reti end
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值