找回密码
 立即注册

QQ登录

只需一步,快速开始

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

带有详细注释的单片机汇编语言流水灯程序

[复制链接]
ID:255764 发表于 2017-12-3 23:52 | 显示全部楼层 |阅读模式
单片机源程序如下(注释非常详细):
  1. ORG       0000H            ;单片机上电后从0000H地址执行
  2. AJMP     START           ;跳转到主程序存放地址处
  3. ORG       0030H            ;设置主程序开始地址
  4. START:MOV      SP,#60H      ;设置堆栈起始地址为60H
  5. CLR        P1.0               ;P1.0输出低电平,使LED1点亮
  6. ACALL DELAY          ;调用延时子程序
  7. SETB  P1.0             ;P1.0输出高电平,使LED1熄灭   
  8. CLR   P1.1             ;P1.1输出低电平,使LED2点亮
  9. ACALL DELAY          ;调用延时子程序
  10. SETB  P1.1             ;P1.1输出高电平,使LED2熄灭     
  11. CLR   P1.2             ;P1.2输出低电平,使LED3点亮
  12. ACALL DELAY          ;调用延时子程序
  13. SETB  P1.2             ;P1.2输出高电平,使LED3熄灭   
  14. CLR   P1.3             ;P1.3输出低电平,使LED4点亮
  15. ACALL DELAY          ;调用延时子程序
  16. SETB  P1.3             ;P1.3输出高电平,使LED4熄灭   
  17. CLR   P1.4             ;P1.4输出低电平,使LED5点亮   
  18. ACALL DELAY          ;调用延时子程序
  19. SETB  P1.4             ;P1.4输出高电平,使LED5熄灭   
  20. CLR   P1.5             ;P1.5输出低电平,使LED6点亮   
  21. ACALL DELAY          ;调用延时子程序
  22. SETB  P1.5             ;P1.5输出高电平,使LED6熄灭   
  23. CLR   P1.6             ;P1.6输出低电平,使LED7点亮     
  24. ACALL DELAY          ;调用延时子程序
  25. SETB  P1.6             ;P1.6输出高电平,使LED7熄灭
  26.     CLR   P1.7             ;P1.7输出低电平,使LED8点亮
  27. ACALL DELAY          ;调用延时子程序
  28.     SETB  P1.7             ;P1.7输出高电平,使LED8熄灭
  29. ACALL DELAY          ;调用延时子程序
  30.   AJMP   START           ;8个LED流了一遍后返回到标号START处再循环
  31. DELAY:                                ;延时子程序
  32. MOV      R0,#255  ;延时一段时间
  33. D1:      MOV      R1,#255
  34. DJNZ      R1,$ DJNZ      R0,D1
  35. RET                             ;子程序返回
  36.     END                            ;程序结束
复制代码



回复

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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