找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 2968|回复: 0
打印 上一主题 下一主题
收起左侧

汇编语言写的51单片机的多种流水灯上位机控制程序与VISIO流程图

[复制链接]
跳转到指定楼层
楼主
仿真原理图如下(proteus仿真工程文件可到本帖附件中下载)


单片机源程序如下:
  1. ORG        0000H;程序从0000h开始存放

  2. START:        MOV        SP,#60H;设置堆栈首地址

  3. MOV        SCON,#01010000B;方式1,允许接收

  4. MOV        TMOD,#20H;定时器工作方式1

  5. ORL        PCON,#10000000B;波特率倍数

  6. MOV        TH1,#0F3H;设置定时初始值

  7. MOV        TL1,#0F3H;设置定时初始值

  8. SETB        TR1;启动定时器1

  9. MOV R6,#4;给初始值

  10. LJMP        LOOP;跳转到LOOP

  11. A1: CJNE        R6,#0,A2;如果R6不等于0,则跳转
  12. MOV P1,#0FEH;点灯
  13. LCALL DELAY130MS;延时
  14. MOV P1,#0FDH
  15. LCALL DELAY130MS
  16. MOV P1,#0FBH
  17. LCALL DELAY130MS
  18. MOV P1,#0F7H
  19. LCALL DELAY130MS
  20. MOV P1,#0EFH
  21. LCALL DELAY130MS
  22. MOV P1,#0DFH
  23. LCALL DELAY130MS
  24. MOV P1,#0BFH
  25. LCALL DELAY130MS
  26. MOV P1,#07FH
  27. LCALL DELAY130MS

  28. A2:CJNE        R6,#1,A3;如果R6不等于1,则跳转
  29. MOV P1,#07FH
  30. LCALL DELAY130MS
  31. MOV P1,#0BFH
  32. LCALL DELAY130MS
  33. MOV P1,#0DFH
  34. LCALL DELAY130MS
  35. MOV P1,#0EFH
  36. LCALL DELAY130MS
  37. MOV P1,#0F7H
  38. LCALL DELAY130MS
  39. MOV P1,#0FBH
  40. LCALL DELAY130MS
  41. MOV P1,#0FDH
  42. LCALL DELAY130MS
  43. MOV P1,#0FEH
  44. LCALL DELAY130MS

  45. A3:CJNE        R6,#2,A6;如果R6不等于2,则跳转
  46. MOV P1,#0E7H
  47. LCALL DELAY130MS
  48. MOV P1,#0DBH
  49. LCALL DELAY130MS
  50. MOV P1,#0BDH
  51. LCALL DELAY130MS
  52. MOV P1,#7EH
  53. LCALL DELAY130MS

  54. A6:CJNE        R6,#3,A5;如果R6不等于3,则跳转

  55. MOV P1,#7EH
  56. LCALL DELAY130MS
  57. MOV P1,#0BDH
  58. LCALL DELAY130MS
  59. MOV P1,#0DBH
  60. LCALL DELAY130MS
  61. MOV P1,#0E7H
  62. LCALL DELAY130MS

  63. A5: JB P2.0,A9
  64. INC R6
  65. CJNE        R6,#5,A9
  66. MOV R6,#0
  67. A9:CJNE        R6,#4,LOOP;如果R6不等于4,则跳转
  68. MOV P0,#0FFH

  69. SJMP LOOP;跳转

  70. A4:LJMP A1;跳转
  71. LOOP:        JNB        RI,A4;如果RI不是1,则跳转

  72. CLR        RI;清零

  73. MOV        A,SBUF;把接收到的数据给累加器

  74. CJNE        A,#30H,        B1;如果累加器A不等于'0',则跳转
  75. MOV R6,#0
  76. LCALL        MSG1;调用子程序

  77. B1:        CJNE        A,#31H,B2;如果累加器A不等于'1',则跳转
  78. MOV R6,#1
  79. LCALL        MSG2;调用子程序


  80. B2: CJNE        A,#32H,B3;如果累加器A不等于'2',则跳转
  81. MOV R6,#2
  82. LCALL        MSG3;调用子程序

  83. B3: CJNE        A,#33H,B4;如果累加器A不等于'3',则跳转
  84. MOV R6,#3
  85. LCALL        MSG4;调用子程序

  86. B4: CJNE        A,#34H,B5;如果累加器A不等于'4',则跳转
  87. MOV R6,#4
  88. LCALL        MSG5;调用子程序

  89. MSG1:        MOV        DPTR,#M1

  90. LCALL        PRINT;调用中断程序

  91. B5:SJMP        LOOP;跳转


  92. MSG2:        MOV        DPTR,#M2;取M2首地址给程序指针
  93. LCALL        PRINT

  94. SJMP        LOOP

  95. MSG3:        MOV        DPTR,#M3;取M3首地址给程序指针

  96. LCALL        PRINT

  97. SJMP        LOOP

  98. MSG4:        MOV        DPTR,#M4;取M4首地址给程序指针

  99. LCALL        PRINT

  100. SJMP        LOOP

  101. MSG5:        MOV        DPTR,#M5;取M5首地址给程序指针

  102. LCALL        PRINT

  103. SJMP        LOOP

  104. PRINT:        MOV        R0,#00H

  105. DP1:        MOV        A,R0

  106. MOVC        A,@A+DPTR;查表

  107. CJNE        A,#00H,OUTPUT;如果累加器A不等于00H,则跳转

  108. RET

  109. DELAY130MS: ;延时130ms
  110.         MOV        R4,#255
  111. DELAY10MSA:
  112.         MOV        R5,#255
  113.         DJNZ        R5,$
  114.         DJNZ        R4,DELAY10MSA
  115. RET        

  116. OUTPUT:        MOV        SBUF,A

  117. JNB        TI,$

  118. CLR        TI

  119. INC        R0

  120. SJMP        DP1


  121. M1:        DB 'Light_Mode0',0DH,00H;发送给pc端的字符串

  122. M2:        DB 'Light_Mode1',0DH,00H;发送给pc端的字符串

  123. M3:        DB 'Light_Mode2',0DH,00H;发送给pc端的字符串

  124. M4:        DB 'Light_Mode3',0DH,00H;发送给pc端的字符串

  125. M5:        DB 'Light_OFF',0DH,00H;发送给pc端的字符串

  126. END
复制代码

全部资料51hei下载地址:
(RS232串口)基于 51 单片机的多种流水灯上位机控制系统.rar (114.22 KB, 下载次数: 17)

评分

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

查看全部评分

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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