找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 2485|回复: 0
收起左侧

单片机汇编语言两级中断Proteus仿真程序 闪烁灯

[复制链接]
ID:629894 发表于 2019-11-21 09:32 | 显示全部楼层 |阅读模式
51hei.png

单片机源程序如下:
  1. ORG 0000H                 ;在0000H单元存放转移指令,从零开始
  2. LJMP START                ;转移到主程序
  3. ORG 0003H   ;外部中断0入口
  4. LJMP EXT0;转移到外部中断0的中断服务程序
  5. ORG 0013H;外部中断1入口
  6. LJMP EXT1;转移到外部中断1的中断服务程序
  7. ORG 0030H;主程序从0030H开始存放
  8. START: MOV IE, #10000101B;CPU   INTO共轭   INT1共轭  开放中断
  9. MOV IP, #00000100B;INT1共轭高优先级中断
  10. MOV TCON, #00000101B;INT0 共轭  INT1共轭为下降沿触发
  11. MOV SP, #3FH;重置堆栈
  12. LOOP: MOV P2, #03H;点亮2只LED
  13. AJMP LOOP;等待中断
  14. EXT0: PUSH ACC;保护现场
  15. PUSH PSW;
  16. MOV R2, #0AH;闪烁19次
  17. LOOP1: MOV P2, #00H;使LED0 LED1熄灭
  18. LCALL DELAY;
  19. MOV P2, #01H;使LED0亮
  20. LCALL DELAY;
  21. DJNZ R2, LOOP1;循环10次
  22. POP PSW;
  23. POP ACC;
  24. RETI
  25. EXT1: PUSH ACC;保护现场
  26. PUSH PSW;
  27. MOV R3, #0AH;闪烁10次
  28. LOOP2: MOV P2, #00H;使LED0   LED1灯灭
  29. LCALL DELAY;
  30. MOV P2, #02H;使LED1亮
  31. LCALL DELAY;
  32. DJNZ R3, LOOP2;循环10次
  33. POP PSW;
  34. POP ACC;
  35. RETI;中断返回
  36. DELAY: MOV R5, #20;延时程序
  37. DLY1: MOV R6, #200;
  38. DLY2: MOV R7, #200;
  39. DJNZ R7, $;
  40. DJNZ R6, DLY2;
  41. DJNZ R5, DLY1;
  42. RET;中断返回
  43. END;汇编结束
复制代码

所有资料51hei提供下载:
两级中断.zip (18.77 KB, 下载次数: 20)

评分

参与人数 1黑币 +50 收起 理由
admin + 50 共享资料的黑币奖励!

查看全部评分

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表