找回密码
 立即注册

QQ登录

只需一步,快速开始

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

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

[复制链接]
ID:412978 发表于 2020-1-31 17:19 | 显示全部楼层 |阅读模式

功能描述:
当无外部中断时:
点亮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;
复制代码



回复

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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