找回密码
 注册

QQ登录

只需一步,快速开始

搜索

PROTEUS仿真:通过单片机外部中断控制LED和数码管(汇编程序)

[复制链接]
coolice 发表于 2020-2-1 09:39:41 | 显示全部楼层 |阅读模式
功能描述:

当无外部中断时:点亮LED 先点亮第1,3,5,7个LED 后点亮第0,2,4,6个LED

当INT0端口产生中断时:将LED灯组一个一个点亮,共循环一次
仿真电路图:
1.png
仿真程序代码:
  1. ORG 0000H
  2. AJMP MAIN
  3. ORG 0003H
  4. AJMP INT_0
  5. ORG 0013H
  6. AJMP INT_1

  7. ORG 0030H

  8. MAIN:
  9. MOV IE,#85H;
  10. ;MOV IP,#4H;
  11. MOV TCON,#5H;
  12. MOV P2,#10101010B;
  13. LCALL DELAY;
  14. MOV P2,#01010101B;
  15. LCALL DELAY;
  16. LJMP MAIN;
  17. ;================================================

  18. INT_0:
  19. PUSH ACC;
  20. PUSH PSW;
  21. MOV R0,#8;
  22. MOV A,#00000001B;
  23. LOOP:
  24. MOV P2,A;
  25. LCALL DELAY;
  26. RL A;
  27. DJNZ R0,LOOP;
  28. POP ACC;
  29. POP PSW;
  30. RETI;

  31. ;===============================================
  32. INT_1:
  33. PUSH ACC;
  34. PUSH PSW;
  35. SETB RS1;

  36. CHUTAI:
  37. MOV R2,#4;
  38. MOV DPTR,#TAB;

  39. CISHU:
  40. MOV R0,#0FFH;
  41. MOV R1,#10;
  42. DJNZ R2,NEX;
  43. LJMP FINAL;

  44. NEX:
  45. INC R0;
  46. MOV A,R0;
  47. MOVC A,@A+DPTR;

  48. SHOW:
  49. MOV P0,A;
  50. LCALL DELAY;
  51. LCALL DELAY;
  52. LCALL DELAY;
  53. DJNZ R1,NEX;
  54. LJMP CISHU;

  55. FINAL:
  56. POP ACC;
  57. POP PSW;
  58. RETI;

  59. ;==============================================


  60. DELAY:
  61. MOV R7,#11111111B;延时一段时间?
  62. D1:
  63. MOV R6,#11111111B;
  64. DJNZ R6,$;
  65. DJNZ R7,D1;?
  66. RET;子程序返回

  67. ;=============================================
  68. TAB:
  69. DB 3Fh,06h,5Bh,4Fh,66h,6Dh,7Dh,07h,7Fh,6Fh;
  70. END;
复制代码


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

本版积分规则

QQ|手机版|小黑屋|ELEOK |网站地图

GMT+8, 2024-12-23 15:54

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

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