c51单片机外部中断汇编语言,51单片机汇编语言外部中断笔记

a4c26d1e5885305701be709a3d33442f.pngby

proteus

还有很多问题,这篇只是笔记

ORG

0000H

AJMP

MAIN

ORG

0003H

AJMP

INTTERRUPT0

ORG

0013H

AJMP

INTTERRUPT1

MAIN:

MOV

R2,#00H

;初始化外部中断

SETB   EA

SETB   EX0

SETB   EX1

CLR

IT0

CLR     IT1

LOOP:

LCALL

FIND   ;流水灯方式1

MOV

P0,R3

LCALL

DELAY

CJNE

R2,#07,LOOP

MOV

R2,00H

SJMP

LOOP

INTTERRUPT0:   ;外部中断0

SETB

PX1

CLR

PX0

;中断服务子程序功能:实现流水灯2

LOOP1:

MOV     P0,R4

LCALL

DELAY

INC        R4

CJNE     R4,#0FFH,LOOP1

MOV

R4,#00H

CLR

EA  ;恢复现场模版

POP

Acc

POP

PSW

RETI

INTTERRUPT1:  ;外部中断1,回到流水灯1,

CLR

PX1

SETB  PX0

LJMP

MAIN

RETI

FIND:

MOV

A,R2

MOV

DPTR,#TAB  ;查表

MOVC

A,@A DPTR

MOV

R3,A

INC

R2

RET

TAB:  ;用于点亮灯的表

DB

00H,81H,0C3H,0E7H,0FFH

DB

0E7H,0C3H,81H,00H,0FFH

DELAY:

;机器生成的延时代码@11.0592MHz

NOP

NOP

NOP

PUSH 30H

PUSH 31H

PUSH 32H

MOV 30H,#6

MOV 31H,#11

MOV 32H,#232

NEXT:

DJNZ 32H,NEXT

DJNZ 31H,NEXT

DJNZ 30H,NEXT

POP 32H

POP 31H

POP 30H

RET

END

  • 1
    点赞
  • 25
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值