⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 7led.asm

📁 基于PROTEUS的仿真 含带源代码 C语言编程
💻 ASM
字号:
MAIN: MOV 30H,#00H
      MOV 31H,#00H
      MOV 32H,#00H
      MOV 33H,#01H;步长设定
      MOV 60H,#00H
      MOV 61H,#00H
      MOV 62H,#00H
      MOV 63H,#00H
   GG:JB P2.0,DISPN
DISPF:LCALL DISPLAY
      JNB P2.0,DISPF;加1按键控制
      LCALL PRO;调用数据处理子程序
DISPN:LCALL DISPLAY;调用显示子程序
      LJMP GG
PRO:MOV R7,#02;字节数
    MOV R0,#31H;被加数高位地址
    MOV R1,#33H;加数高位地址
    LCALL BCDA;调用多位BCD加法子程序
    MOV R0,#60H;分离后BCD首地址
    MOV R1,#30H;待分离BCD首地址
    MOV R2,#02H;3个待分离的BCD
    LCALL CBCD;调用BCD码分离子程序
    RET
CBCD:
CL:MOV A,@R1     ;分离后将占2n个单元
   MOV B,A
   ANL A,#0F0H
   SWAP A
   MOV 4CH,A
   MOV A,B
   ANL A,#0FH
   MOV 4DH,A
   MOV @R0,4CH
   INC R0
   MOV @R0,4DH
   INC R0
   INC R1
   DJNZ R2,CL
   RET
BCDA:CLR C
ALOOP:MOV A,@R0
     ADDC A,@R1
     DA A
     MOV @R0,A
     DEC R0
     DEC R1
     DJNZ R7,ALOOP
     JC EXIT
     RET
EXIT:MOV 30H,#00H;最高位溢出处理
     MOV 31H,#00H
     RET
DISPLAY:MOV R0,#60H;显示缓冲区首地址
        MOV R4,#04H;共4位
        MOV R5,#00H;位选通信号,74LS138输出控制
DISP:MOV A,R5
     SWAP A
     ORL A,@R0
     MOV P0,A
     ACALL DELAY1
     INC R5
     INC R0
     DJNZ R4,DISP
     RET
DELAY1:MOV R6,#10H
LOOP1:MOV R7,#38H
LOOP2:DJNZ R7,LOOP2
      DJNZ R6,LOOP1
      RET
       

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -