led加1.asm

来自「单片机开发资料光盘-双龙-686M.zip」· 汇编 代码 · 共 46 行

ASM
46
字号
;AT90S8535的PB、PD口设计成十六位二进制加1计数程序,用LED发光二极管显示

.include"8535def.inc"
.org   $0000               ;设置起始地址
    AB:ldi  r16,$5f        ;设置堆栈
       out  spl,r16
       ldi  r16,$02
       out  sph,r16
 RESET:ldi  r18,0xff       ;设置B口,D口为输出口
       out  ddrb,r18       ;设置B口,D口方向寄存器
       out  ddrd,r18
       clr  r0
       clr  r1
    L0:mov  r2,r0
       mov  r3,r1
       com  r2              ;R2,R3取反
       com  r3
       out  portb,r2        ;R2,R3数据送B口,D口
       out  portd,r3
       rcall delay          ;调用延时子程序
       inc  r0              ;R0加1,不为0跳转,为0顺执
       brne L0
       inc  r1
       brne L0
       dec  r0
       dec  r1
    L1:mov  r2,r0
       mov  r3,r1
       com  r2              ;R2,R3取反
       com  r3
       out  portb,r2        ;R2,R3数据送B口,D口
       out  portd,r3
       rcall delay          ;调用延时子程序
       dec  r0              ;R0减1,不为0跳转,为0顺执
       brne L1
       dec  r1
       brne L1
       rjmp reset
 DELAY:ldi  r18,$01          ;延时子程序
    L2:dec  r16
       brne L2
       dec  r17
       brne L2
       dec  r18
       brne L2
       ret        

⌨️ 快捷键说明

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