找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 1674|回复: 5
收起左侧

自己写的单片机交通灯程序,求指教为什么不能运行

[复制链接]
ID:276034 发表于 2018-1-15 09:30 | 显示全部楼层 |阅读模式
这是我自己写的单片机交通灯程序,求指教为什么不能运行
  1. ORG 0000H
  2. AJMP MAIN
  3. ORG 000BH
  4. MOV A,#0FFH
  5. MOV P0,A
  6. MOV R7,#64H
  7. MAIN:MOV A,#7BH
  8. MOV P0,A
  9. SETB EA
  10. SETB TR0
  11. SETB ET0
  12. MOV TH0,#0D8H
  13. MOV TL0,#0F0H
  14. L1:LCALL SUB
  15. MOV R1,#05H
  16. DJNZ R1,L1
  17. RET
  18. MOV A,#7EH
  19. MOV P0,A
  20. L2:LCALL SUB
  21. MOV R2,#05H
  22. DJNZ R2,L2
  23. RET
  24. MOV A,#77H
  25. MOV P0,A
  26. L3:LCALL SUB
  27. RET
  28. MOV A,#0CFH
  29. MOV P0,A
  30. L4:LCALL SUB
  31. MOV R4,#05H
  32. DJNZ R4,L4
  33. RET
  34. MOV A,#0EDH
  35. MOV P0,A
  36. L5:LCALL SUB
  37. MOV R5,#05H
  38. DJNZ R5,L5
  39. RET
  40. MOV A,#0AFH
  41. MOV P0,A
  42. LCALL SUB
  43. RET
  44. SJMP MAIN
  45. SUB:
  46. AJMP TO
  47. TO:DEC R7
  48. DJNZ R7,SUB
  49. RETI
  50. END
复制代码

回复

使用道具 举报

ID:265458 发表于 2018-1-15 12:02 | 显示全部楼层
ORG 000BH后面应该加一句 “ AJMP 中断函数的标号”
每个子函数前面要加 ”标号“
子函数不会在主函数执行完后执行,子函数只能在主函数里调用
回复

使用道具 举报

ID:123289 发表于 2018-1-15 20:32 | 显示全部楼层
1、把你的程序画成流程图,先走通流程图。
2、弄清楚RET、RETI指令是什么含义,CPU在这两条指令下,做些什么动作?
回复

使用道具 举报

ID:276150 发表于 2018-1-15 20:47 | 显示全部楼层
led模拟交通灯 本人做的c语言版
http://www.51hei.com/bbs/dpj-105169-1.html
(出处: 单片机论坛)
你可以看里面的汇编
回复

使用道具 举报

ID:276383 发表于 2018-1-15 21:49 | 显示全部楼层
不知道是不是排版问题,还是你写程序就这个习惯,建议把函数标号突出,写在最前面,这样容易看
回复

使用道具 举报

ID:111634 发表于 2018-1-16 21:21 | 显示全部楼层
找一个正确的程序,自己对照检查。
回复

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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