原创 中断之数码管

2010-3-26 16:28 2151 2 2 分类: MCU/ 嵌入式

      数码管显示0000—9999,当中断按下时当时显示的数字延时一秒在跳变。


      org   0000h<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />


       jmp  main


       org   0003h


       jmp   zhongduan


       org   002ch


 main: mov dptr,#tab


       mov ie,#10000001b


       mov ip,#00000001B


       mov tcon,#00000001b


       mov sp,#70h


up:    mov r0,#0


       mov r1,#0


       mov r2,#0


       mov r3,#0


       jmp shuma


shuma:mov a,r0


      movc  a,@a+dptr


      mov  sbuf,a


      jnb  ti,$


      clr  ti



      mov a,r1


      movc a,@a+dptr


      mov  sbuf,a


      jnb  ti,$


      clr  ti



      mov  a,r2


      movc  a,@a+dptr


      mov   sbuf,a


      jnb  ti,$


      clr  ti



      mov  a,r3


      movc a,@a+dptr


      mov  sbuf,a


      jnb  ti,$


      clr  ti



      call  yanshi


      inc  r0


      cjne  r0,#10,shuma


      mov   r0,#0



      inc  r1


      cjne r1,#10,shuma


      mov  r1,#0



      inc  r2


      cjne r2,#10,shuma


      mov  r2,#0



      inc  r3


      cjne r3,#10,shuma


      mov  r3,#0


      ljmp main


zhongduan:push  acc


          push  psw


  setb  rs0


  clr   rs1


  call  yanshi1


  pop   psw


  pop   acc


  reti



yanshi:mov  r7,#25


d1:    mov  r6,#50


d2:    mov  r5,#200


       djnz r5,$


       djnz r6,d2


       djnz r7,d1


       ret


 yanshi1:  mov  r7,#25


 d3:       mov  r6,#200


 d4:       mov  r5,#200


           djnz r5,$


   djnz r6,d4


   djnz r7,d3


   ret


tab:db   00000011b,10011111b,00100101b,00001101b,10011001b,01001001b,01000001b,00011111b,00000001b,00001001b


       end

PARTNER CONTENT

文章评论0条评论)

登录后参与讨论
我要评论
0
2
关闭 站长推荐上一条 /1 下一条