找回密码
 注册

QQ登录

只需一步,快速开始

搜索

STC15W4K32S4单片机汇编语言风筝彩灯控制程序

[复制链接]
coolfire 发表于 2021-4-21 03:05:36 | 显示全部楼层 |阅读模式
  1. ;             STC15W4K32S4单片机,采用SOP28封装
  2. ;采用内部时钟,工作频率24MHz用2平40点原点发送5位8路
  3. ;              DSEG      AT   30H  
  4. D_OUT         EQU       P1             ;LED控制数据输出
  5. ;D_OUT         EQU       P3             ;LED控制数据输出
  6. LED_ZC3       EQU       30H            ;灯板数
  7. LED_ZC4       EQU       31H            ;颜色组数
  8. LED_ZC5       EQU       32H            ;每块板数组 红,绿,蓝三基色
  9. LED_ZC6       EQU       33H            ;单色数据位数
  10. LEDR0         EQU       34H
  11. LEDR1         EQU       35H
  12. LEDR2         EQU       36H
  13. LEDR3         EQU       37H
  14. LEDR4         EQU       38H
  15. LEDR5         EQU       39H
  16. LEDR6         EQU       3AH
  17. LEDR7         EQU       3BH
  18. LEDR8         EQU       3CH
  19. LEDR9         EQU       3DH

  20. P1M1           EQU      91H
  21. P1M0           EQU      92H
  22. P2M1           EQU      95H
  23. P2M0           EQU      96H

  24.               ORG       0000H
  25.               LJMP      MAINA
  26.               ORG       0040H
  27. MAINA:        MOV       SP,#60H
  28.               MOV       P1M0,#0FFH                ;定义端口很重要
  29.               MOV       P1M1,#00H
  30. MAINB:        LCALL     CSHH
  31.               LCALL     CSYH
  32.               LCALL     CSBH
  33.               LCALL     LEDLHA
  34.               LCALL     LEDLH
  35.               lcall     qqlha
  36.               LCALL     QQLH                     ;示例礼花
  37.               LCALL     LEDR60                   ;红色60灯组
  38.               LCALL     LEDG60                   ;绿色60灯组
  39.               LCALL     LEDB60                   ;蓝色60灯组
  40. ;            ;  LCALL     LHR                      ;礼花
  41.               LCALL     XZ
  42.               LCALL     TAIJI                    ;太极
  43.               LCALL     SX
  44.               LCALL     JGB
  45.               LJMP      MAINB
  46. ;=======================================
  47. ;-------------花环----------------------
  48. ;=======================================
  49. CSHH:         MOV       LEDR3,#10
  50. CSHH_F:       MOV       LEDR2,#07
  51. CSHH_D:       MOV       LEDR1,#10
  52. CSHH_B:       LCALL     LEDBLACK
  53.               LCALL     LEDBLACK
  54.               LCALL     LEDBLACK
  55.               lcall     colour
  56.               lcall     colour
  57.               MOV       LEDR0,#15
  58. CSHH_1:       LCALL     LEDBLACK
  59.               DJNZ      LEDR0,CSHH_1
  60.               LCALL     LEDBLACK
  61.               LCALL     LEDBLACK
  62.               LCALL     LEDBLACK
  63.               lcall     colour
  64.               lcall     colour
  65.               MOV       LEDR0,#15
  66. CSHH_2:       LCALL     LEDBLACK
  67.               DJNZ      LEDR0,CSHH_2
  68.               LCALL     LEDBLACK
  69.               LCALL     LEDBLACK
  70.               LCALL     LEDBLACK
  71.               lcall     colour
  72.               lcall     colour
  73.               MOV       LEDR0,#15
  74. CSHH_3:       LCALL     LEDBLACK
  75.               DJNZ      LEDR0,CSHH_3
  76.               LCALL     YSA
  77. ;-------------
  78.               LCALL     LEDBLACK
  79.               LCALL     LEDBLACK
  80.               LCALL     LEDBLACK
  81.               LCALL     LEDBLACK
  82.               LCALL     LEDBLACK
  83.               LCALL     LEDBLACK
  84.               LCALL     LEDBLACK
  85.               LCALL     LEDBLACK
  86.               lcall     colour
  87.               lcall     colour
  88.               MOV       LEDR0,#15
  89. CSHH_4:       LCALL     LEDBLACK
  90.               DJNZ      LEDR0,CSHH_4
  91.               LCALL     LEDBLACK
  92.               LCALL     LEDBLACK
  93.               LCALL     LEDBLACK
  94.               lcall     colour
  95.               lcall     colour
  96.               MOV       LEDR0,#15
  97. CSHH_5:       LCALL     LEDBLACK
  98.               DJNZ      LEDR0,CSHH_5
  99.               LCALL     LEDBLACK
  100.               LCALL     LEDBLACK
  101.               LCALL     LEDBLACK
  102.               lcall     colour
  103.               lcall     colour
  104.               MOV       LEDR0,#10
  105. CSHH_6:       LCALL     LEDBLACK
  106.               DJNZ      LEDR0,CSHH_6
  107.               LCALL     YSA
  108. ;------------
  109.               MOV       LEDR0,#10
  110. CSHH_7:       LCALL     LEDBLACK
  111.               DJNZ      LEDR0,CSHH_7
  112.               LCALL     LEDBLACK
  113.               LCALL     LEDBLACK
  114.               LCALL     LEDBLACK
  115.               lcall     colour
  116.               lcall     colour
  117.               MOV       LEDR0,#15
  118. CSHH_8:       LCALL     LEDBLACK
  119.               DJNZ      LEDR0,CSHH_8
  120.               LCALL     LEDBLACK
  121.               LCALL     LEDBLACK
  122.               LCALL     LEDBLACK
  123.               lcall     colour
  124.               lcall     colour
  125.               MOV       LEDR0,#15
  126. CSHH_9:       LCALL     LEDBLACK
  127.               DJNZ      LEDR0,CSHH_9
  128.               LCALL     LEDBLACK
  129.               LCALL     LEDBLACK
  130.               LCALL     LEDBLACK
  131.               lcall     colour
  132.               lcall     colour
  133.               MOV       LEDR0,#1
  134. CSHH_10:      LCALL     LEDBLACK
  135.               DJNZ      LEDR0,CSHH_10
  136.               LCALL     YSA
  137. ;------------
  138.               MOV       LEDR0,#15
  139. CSHH_11:       LCALL     LEDBLACK
  140.               DJNZ      LEDR0,CSHH_11
  141.               LCALL     LEDBLACK
  142.               LCALL     LEDBLACK
  143.               LCALL     LEDBLACK
  144.               lcall     colour
  145.               lcall     colour
  146.               MOV       LEDR0,#15
  147. CSHH_12:       LCALL     LEDBLACK
  148.               DJNZ      LEDR0,CSHH_12
  149.               LCALL     LEDBLACK
  150.               LCALL     LEDBLACK
  151.               LCALL     LEDBLACK
  152.               lcall     colour
  153.               lcall     colour
  154.               MOV       LEDR0,#15
  155. CSHH_13:       LCALL     LEDBLACK
  156.               DJNZ      LEDR0,CSHH_13
  157.               LCALL     LEDBLACK
  158.               LCALL     LEDBLACK
  159.               LCALL     LEDBLACK
  160.               lcall     colour
  161.               lcall     colour
  162.               LCALL     YSA
  163.               DJNZ      LEDR1,CSHH_A
  164.               DJNZ      LEDR2,CSHH_C
  165.               DJNZ      LEDR3,CSHH_E
  166.               RET
  167. CSHH_A:       LJMP      CSHH_B
  168. CSHH_C:       LJMP      CSHH_D
  169. CSHH_E:       LJMP      CSHH_F
  170. ;=======================================
  171. ;-------------彩色园环------------------
  172. ;=======================================
  173. CSYH:         MOV       LEDR1,#10
  174. CSYH_A:       MOV       LEDR0,#12
  175. CSYH_1:       LCALL     LEDR
  176.               LCALL     LEDBLACK
  177.               LCALL     LEDBLACK
  178.               LCALL     LEDBLACK
  179.               LCALL     LEDRG
  180.               DJNZ      LEDR0,CSYH_1
  181.               LCALL     YSB
  182.               MOV       LEDR0,#12
  183. CSYH_2:       LCALL     LEDG
  184.               LCALL     LEDR
  185.               LCALL     LEDBLACK
  186.               LCALL     LEDBLACK
  187.               LCALL     LEDRG
  188.               DJNZ      LEDR0,CSYH_2
  189.               LCALL     YSB
  190.               MOV       LEDR0,#12
  191. CSYH_3:       LCALL     LEDB
  192.               LCALL     LEDG
  193.               LCALL     LEDR
  194.               LCALL     LEDBLACK
  195.               LCALL     LEDRG
  196.               DJNZ      LEDR0,CSYH_3
  197.               LCALL     YSB
  198.               MOV       LEDR0,#12
  199. CSYH_4:       LCALL     LEDRB
  200.               LCALL     LEDB
  201.               LCALL     LEDG
  202.               LCALL     LEDR
  203.               LCALL     LEDRG
  204.               DJNZ      LEDR0,CSYH_4
  205.               LCALL     YSB
  206.               MOV       LEDR0,#12
  207. CSYH_5:       LCALL     LEDBLACK
  208.               LCALL     LEDRB
  209.               LCALL     LEDB
  210.               LCALL     LEDG
  211.               LCALL     LEDRG
  212.               DJNZ      LEDR0,CSYH_5
  213.               LCALL     YSB
  214.               MOV       LEDR0,#12
  215. CSYH_6:       LCALL     LEDBLACK
  216.               LCALL     LEDBLACK
  217.               LCALL     LEDRB
  218.               LCALL     LEDB
  219.               LCALL     LEDRB
  220.               DJNZ      LEDR0,CSYH_6
  221.               LCALL     YSB
  222.               MOV       LEDR0,#12
  223. CSYH_7:       LCALL     LEDBLACK
  224.               LCALL     LEDBLACK
  225.               LCALL     LEDBLACK
  226.               LCALL     LEDRB
  227.               LCALL     LEDRG
  228.               DJNZ      LEDR0,CSYH_7
  229.               LCALL     YSB
  230.               MOV       LEDR0,#12
  231. CSYH_8:       LCALL     LEDBLACK
  232.               LCALL     LEDBLACK
  233.               LCALL     LEDBLACK
  234.               LCALL     LEDBLACK
  235.               LCALL     LEDRG
  236.               DJNZ      LEDR0,CSYH_8
  237.               LCALL     YSB
  238.               MOV       LEDR0,#12
  239. CSYH_11:       LCALL     LEDR
  240.               LCALL     LEDBLACK
  241.               LCALL     LEDBLACK
  242.               LCALL     LEDBLACK
  243.               LCALL     LEDRB
  244.               DJNZ      LEDR0,CSYH_11
  245.               LCALL     YSB
  246.               MOV       LEDR0,#12
  247. CSYH_12:       LCALL     LEDG
  248.               LCALL     LEDR
  249.               LCALL     LEDBLACK
  250.               LCALL     LEDBLACK
  251.               LCALL     LEDRB
  252.               DJNZ      LEDR0,CSYH_12
  253.               LCALL     YSB
  254.               MOV       LEDR0,#12
  255. CSYH_13:       LCALL     LEDB
  256.               LCALL     LEDG
  257.               LCALL     LEDR
  258.               LCALL     LEDBLACK
  259.               LCALL     LEDRB
  260.               DJNZ      LEDR0,CSYH_13
  261.               LCALL     YSB
  262.               MOV       LEDR0,#12
  263. CSYH_14:       LCALL     LEDRG
  264.               LCALL     LEDB
  265.               LCALL     LEDG
  266.               LCALL     LEDR
  267.               LCALL     LEDRB
  268.               DJNZ      LEDR0,CSYH_14
  269.               LCALL     YSB
  270.               MOV       LEDR0,#12
  271. CSYH_15:       LCALL     LEDBLACK
  272.               LCALL     LEDRG
  273.               LCALL     LEDB
  274.               LCALL     LEDG
  275.               LCALL     LEDRB
  276.               DJNZ      LEDR0,CSYH_15
  277.               LCALL     YSB
  278.               MOV       LEDR0,#12
  279. CSYH_16:       LCALL     LEDBLACK
  280.               LCALL     LEDBLACK
  281.               LCALL     LEDRG
  282.               LCALL     LEDB
  283.               LCALL     LEDRB
  284.               DJNZ      LEDR0,CSYH_16
  285.               LCALL     YSB
  286.               MOV       LEDR0,#12
  287. CSYH_17:       LCALL     LEDBLACK
  288.               LCALL     LEDBLACK
  289.               LCALL     LEDBLACK
  290.               LCALL     LEDRG
  291.               LCALL     LEDRB
  292.               DJNZ      LEDR0,CSYH_17
  293.               LCALL     YSB
  294.               MOV       LEDR0,#12
  295. CSYH_18:       LCALL     LEDBLACK
  296.               LCALL     LEDBLACK
  297.               LCALL     LEDBLACK
  298.               LCALL     LEDBLACK
  299.               LCALL     LEDRB
  300.               DJNZ      LEDR0,CSYH_18
  301.               LCALL     YSB
  302.               MOV       LEDR0,#12
  303. CSYH_21:       LCALL     LEDR
  304.               LCALL     LEDBLACK
  305.               LCALL     LEDBLACK
  306.               LCALL     LEDBLACK
  307.               LCALL     LEDRGB
  308.               DJNZ      LEDR0,CSYH_21
  309.               LCALL     YSB
  310.               MOV       LEDR0,#12
  311. CSYH_22:       LCALL     LEDG
  312.               LCALL     LEDR
  313.               LCALL     LEDBLACK
  314.               LCALL     LEDBLACK
  315.               LCALL     LEDRGB
  316.               DJNZ      LEDR0,CSYH_22
  317.               LCALL     YSB
  318.               MOV       LEDR0,#12
  319. CSYH_23:       LCALL     LEDB
  320.               LCALL     LEDG
  321.               LCALL     LEDR
  322.               LCALL     LEDBLACK
  323.               LCALL     LEDRGB
  324.               DJNZ      LEDR0,CSYH_23
  325.               LCALL     YSB
  326.               MOV       LEDR0,#12
  327. CSYH_24:       LCALL     LEDRB
  328.               LCALL     LEDB
  329.               LCALL     LEDG
  330.               LCALL     LEDR
  331.               LCALL     LEDRGB
  332.               DJNZ      LEDR0,CSYH_24
  333.               LCALL     YSB
  334.               MOV       LEDR0,#12
  335. CSYH_25:       LCALL     LEDBLACK
  336.               LCALL     LEDRB
  337.               LCALL     LEDB
  338.               LCALL     LEDG
  339.               LCALL     LEDRGB
  340.               DJNZ      LEDR0,CSYH_25
  341.               LCALL     YSB
  342.               MOV       LEDR0,#12
  343. CSYH_26:       LCALL     LEDBLACK
  344.               LCALL     LEDBLACK
  345.               LCALL     LEDRB
  346.               LCALL     LEDB
  347.               LCALL     LEDRGB
  348.               DJNZ      LEDR0,CSYH_26
  349.               LCALL     YSB
  350.               MOV       LEDR0,#12
  351. CSYH_27:       LCALL     LEDBLACK
  352.               LCALL     LEDBLACK
  353.               LCALL     LEDBLACK
  354.               LCALL     LEDRB
  355.               LCALL     LEDRGB
  356.               DJNZ      LEDR0,CSYH_27
  357.               LCALL     YSB
  358.               MOV       LEDR0,#12
  359. CSYH_28:       LCALL     LEDBLACK
  360.               LCALL     LEDBLACK
  361.               LCALL     LEDBLACK
  362.               LCALL     LEDBLACK
  363.               LCALL     LEDRGB
  364.               DJNZ      LEDR0,CSYH_28
  365.               LCALL     YSB
  366.               MOV       LEDR0,#12
  367.               DJNZ      LEDR1,CSYH_B
  368.               RET
  369. CSYH_B:       LJMP      CSYH_A   
  370. ;=======================================
  371. ;--------------示例礼花---------------------
  372. ;=======================================
  373. qqlh:         MOV       LEDR3,#10       ;七色重复次数
  374. qqlhqq:       mov       ledr2,#7        ;颜色组红,绿,蓝,黄,粉,青,白
  375. qqlhq:        MOV       LEDR1,#10       ;单色重复次数
  376. qqlhy:        mov       ledr0,#12       ;12组
  377. qqlhy1:       lcall     colour          ;颜色显示1
  378.               lcall     ledblack
  379.               lcall     ledblack
  380.               lcall     ledblack
  381.               lcall     ledblack
  382.               djnz      ledr0,qqlhy1
  383.               lcall     ysa
  384.               mov       ledr0,#12
  385. qqlhe:        lcall     ledblack           
  386.               lcall     colour          ;2
  387.               lcall     ledblack
  388.               lcall     ledblack
  389.               lcall     ledblack
  390.               djnz      ledr0,qqlhe
  391.               lcall     ysa
  392.               mov       ledr0,#12
  393. qqlhs:        lcall     ledblack
  394.               lcall     ledblack
  395.               lcall     colour          ;3
  396.               lcall     ledblack
  397.               lcall     ledblack
  398.               djnz      ledr0,qqlhs
  399.               lcall     ysa
  400.               mov       ledr0,#12
  401. qqlhss:       lcall     ledblack
  402.               lcall     ledblack
  403.               lcall     ledblack
  404.               lcall     colour          ;4
  405.               lcall     ledblack
  406.               djnz      ledr0,qqlhss
  407.               lcall     ysa
  408.               mov       ledr0,#12
  409. qqlhw:        lcall     ledblack
  410.               lcall     ledblack
  411.               lcall     ledblack
  412.               lcall     ledblack
  413.               lcall     colour          ;5
  414.               djnz      ledr0,qqlhw
  415.               lcall     ysa
  416.               djnz      ledr1,QQLHQ0
  417.               DJNZ      LEDR2,QQLHQ1
  418.               DJNZ      LEDR3,QQLHQ2
  419.               ret
  420. QQLHQ0:       LJMP      QQLHY
  421. QQLHQ1:       LJMP      QQLHQ
  422. QQLHQ2:       LJMP      QQLHQQ
  423. ;--------------------------------------
  424. CSBH:         MOV       LEDR3,#10
  425. CSBHA_4:      MOV       LEDR2,#08
  426. CSBHA_2:      MOV       LEDR1,#01
  427. CSBH_1:       lcall     CSBH1           ;颜色显示1
  428.               DJNZ      LEDR1,CSBH_1
  429.               MOV       LEDR1,#11
  430. CSBH_2:       LCALL     CSBH2
  431.               DJNZ      LEDR1,CSBH_2
  432.               lcall     ysb
  433.               MOV       LEDR1,#02
  434. CSBH_3:       lcall     CSBH1           ;颜色显示1
  435.               DJNZ      LEDR1,CSBH_3
  436.               MOV       LEDR1,#10
  437. CSBH_4:       LCALL     CSBH2
  438.               DJNZ      LEDR1,CSBH_4
  439.               lcall     ysb
  440.               MOV       LEDR1,#03
  441. CSBH_5:       lcall     CSBH1           ;颜色显示1
  442.               DJNZ      LEDR1,CSBH_5
  443.               MOV       LEDR1,#9
  444. CSBH_6:       LCALL     CSBH2
  445.               DJNZ      LEDR1,CSBH_6
  446.               lcall     ysb
  447.               MOV       LEDR1,#04
  448. CSBH_7:       lcall     CSBH1           ;颜色显示1
  449.               DJNZ      LEDR1,CSBH_7
  450.               MOV       LEDR1,#8
  451. CSBH_8:       LCALL     CSBH2
  452.               DJNZ      LEDR1,CSBH_8
  453.               lcall     ysb
  454.               MOV       LEDR1,#05
  455. CSBH_9:       lcall     CSBH1           ;颜色显示1
  456.               DJNZ      LEDR1,CSBH_9
  457.               MOV       LEDR1,#7
  458. CSBH_A:       LCALL     CSBH2
  459.               DJNZ      LEDR1,CSBH_A
  460.               lcall     ysb
  461.               MOV       LEDR1,#06
  462. CSBH_B:       lcall     CSBH1           ;颜色显示1
  463.               DJNZ      LEDR1,CSBH_B
  464.               MOV       LEDR1,#6
  465. CSBH_C:       LCALL     CSBH2
  466.               DJNZ      LEDR1,CSBH_C
  467.               lcall     ysb
  468.               MOV       LEDR1,#07
  469. CSBH_D:       lcall     CSBH1           ;颜色显示1
  470.               DJNZ      LEDR1,CSBH_D
  471.               MOV       LEDR1,#05
  472. CSBH_E:       LCALL     CSBH2
  473.               DJNZ      LEDR1,CSBH_E
  474.               lcall     ysb
  475.               MOV       LEDR1,#08
  476. CSBH_F:       lcall     CSBH1           ;颜色显示1
  477.               DJNZ      LEDR1,CSBH_F
  478.               MOV       LEDR1,#04
  479. CSBH_G:       LCALL     CSBH2
  480.               DJNZ      LEDR1,CSBH_G
  481.               lcall     ysb
  482.               MOV       LEDR1,#09
  483. CSBH_H:       lcall     CSBH1           ;颜色显示1
  484.               DJNZ      LEDR1,CSBH_H
  485.               MOV       LEDR1,#03
  486. CSBH_I:       LCALL     CSBH2
  487.               DJNZ      LEDR1,CSBH_I
  488.               lcall     ysb
  489.               MOV       LEDR1,#10
  490. CSBH_J:       lcall     CSBH1           ;颜色显示1
  491.               DJNZ      LEDR1,CSBH_J
  492.               MOV       LEDR1,#02
  493. CSBH_K:       LCALL     CSBH2
  494.               DJNZ      LEDR1,CSBH_K
  495.               lcall     ysb
  496.               MOV       LEDR1,#11
  497. CSBH_L:       lcall     CSBH1           ;颜色显示1
  498.               DJNZ      LEDR1,CSBH_L
  499.               MOV       LEDR1,#1
  500. CSBH_N:       LCALL     CSBH2
  501.               DJNZ      LEDR1,CSBH_N
  502.               lcall     ysb
  503.               lcall     ysb
  504.               lcall     ysb
  505.               lcall     ysb
  506.               lcall     ysb
  507.               lcall     ysb
  508. ;              MOV       LEDR1,#12
  509. ;CSBH_M:       lcall     CSBH1           ;颜色显示1
  510. ;              lcall     ysb
  511. ;              DJNZ      LEDR1,CSBH_M
  512.               DJNZ      LEDR2,CSBHA_1
  513.               MOV       LEDR2,#08
  514.               DJNZ      LEDR3,CSBHA_1
  515.               RET
  516. CSBHA_1:      LJMP      CSBHA_2
  517. CSBHA_3:      LJMP      CSBHA_4
  518. ;-------------
  519. CSBH1:        MOV       LEDR0,#05
  520.               MOV       A,LEDR2
  521.               PUSH      ACC
  522.               DEC       A
  523.               JNZ       CSBH1_2
  524.               MOV       A,#08
  525. CSBH1_2:      MOV       LEDR2,A
  526. CSBH1_1:      lcall     colour          ;颜色显示1
  527.               DJNZ      LEDR0,CSBH1_1
  528.               POP       ACC
  529.               MOV       LEDR2,A
  530.               RET
  531. CSBH2:        MOV       LEDR0,#05
  532. CSBH2_1:      lcall     colour
  533.               DJNZ      LEDR0,CSBH2_1
  534.               RET
  535. ;-------------七彩礼花------------------
  536. qqlha:        MOV       LEDR3,#3       ;七色重复次数
  537.               mov       ledr2,#7        ;颜色组红,绿,蓝,黄,粉,青,白
  538. qqlhqa:       MOV       LEDR1,#10       ;单色重复次数
  539. qqlhya:       mov       ledr0,#12       ;12组
  540.               LCALL     LED_LH          ;颜色组红,绿,蓝,黄,粉,青,白
  541. qqlhy1a:      lcall     colour          ;颜色显示1
  542.               lcall     ledblack
  543.               lcall     ledblack
  544.               lcall     ledblack
  545.               lcall     ledblack
  546.               djnz      ledr0,qqlhy1A
  547.               lcall     ysa
  548.               mov       ledr0,#12
  549.               LCALL     LED_LH          ;颜色组红,绿,蓝,黄,粉,青,白           
  550. qqlheA:       lcall     ledblack
  551.               lcall     colour          ;2
  552.               lcall     ledblack
  553.               lcall     ledblack
  554.               lcall     ledblack
  555.               djnz      ledr0,qqlheA
  556.               lcall     ysa
  557.               mov       ledr0,#12
  558.               LCALL     LED_LH          ;颜色组红,绿,蓝,黄,粉,青,白qqlhsA:       lcall     ledblack
  559. qqlhsA:       lcall     ledblack
  560.               lcall     ledblack
  561.               lcall     colour          ;3
  562.               lcall     ledblack
  563.               lcall     ledblack
  564.               djnz      ledr0,qqlhsA
  565.               lcall     ysa
  566.               mov       ledr0,#12
  567.               LCALL     LED_LH          ;颜色组红,绿,蓝,黄,粉,青,白qqlhssA:      lcall     ledblack
  568. qqlhssA:      lcall     ledblack
  569.               lcall     ledblack
  570.               lcall     ledblack
  571.               lcall     colour          ;4
  572.               lcall     ledblack
  573.               djnz      ledr0,qqlhssA
  574.               lcall     ysa
  575.               mov       ledr0,#12
  576.               LCALL     LED_LH          ;颜色组红,绿,蓝,黄,粉,青,白qqlhwA:       lcall     ledblack
  577. qqlhwA:       lcall     ledblack
  578.               lcall     ledblack
  579.               lcall     ledblack
  580.               lcall     ledblack
  581.               lcall     colour          ;5
  582.               djnz      ledr0,qqlhwA
  583.               lcall     ysa
  584.               djnz      ledr1,QQLHQ0A
  585.               DJNZ      LEDR3,QQLHQ2A
  586.               ret
  587. QQLHQ0A:      LJMP      QQLHYA
  588. QQLHQ2A:      LJMP      QQLHQA
  589. ;-------------
  590. LED_LH:       MOV       A,LEDR2
  591.               DEC       A
  592.               JZ        LED_LHH
  593.               MOV       LEDR2,A
  594.               RET
  595. LED_LHH:      MOV       LEDR2,#07H
  596.               RET

  597. ;-------------根据颜色参数选择-------------------
  598. colour:       MOV       A,LEDR2
  599.               CJNE      A,#08H,COLOUH
  600.               lcall     ledblack                 ;黑
  601.               RET

  602. COLOUH:       CJNE      A,#07H,COLOUG
  603.               lcall     ledr                     ;红
  604.               RET
  605. coloug:       CJNE      A,#06H,COLOUB
  606.               lcall     ledg                     ;绿
  607.               RET
  608. coloub:       CJNE      A,#05H,COLOURG
  609.               lcall     ledb                     ;蓝
  610.               RET

  611. colourg:      CJNE      A,#04H,COLOURB
  612.               lcall     ledrg                    ;黄
  613.               RET

  614. colourb:      CJNE      A,#03H,COLOUGB
  615.               lcall     ledrb                    ;粉红
  616.               RET

  617. colougb:      CJNE      A,#02H,COLOURGB
  618.               lcall     ledgb                    ;青
  619.               ret
  620. colourgb:     CJNE      A,#01H,COLOURET
  621.               lcall     ledrgb                   ;白
  622. COLOURET:     ret
  623. ;--------------------------------------------------
  624. ledlh:        mov       ledr1,#30
  625.               mov       ledr0,#12
  626. led_lh1:      lcall     ledr
  627.               lcall     ledblack
  628.               lcall     ledblack
  629.               lcall     ledblack
  630.               lcall     ledblack
  631.               djnz      ledr0,led_lh1
  632.               lcall     ysb
  633.               mov       ledr0,#12


  634. led_lh2:      lcall     ledg
  635.               lcall     ledr
  636.               lcall     ledblack
  637.               lcall     ledblack
  638.               lcall     ledblack
  639.               djnz      ledr0,led_lh2
  640.               lcall     ysb
  641.               mov       ledr0,#12

  642. led_lh3:      lcall     ledb
  643.               lcall     ledg
  644.               lcall     ledr
  645.               lcall     ledblack
  646.               lcall     ledblack
  647.               djnz      ledr0,led_lh3
  648.               lcall     ysb
  649.               mov       ledr0,#12

  650. led_lh4:      lcall     ledrg
  651.               lcall     ledb
  652.               lcall     ledg
  653.               lcall     ledr
  654.               lcall     ledblack
  655.               djnz      ledr0,led_lh4
  656.               lcall     ysb
  657. led_lhe:      mov       ledr0,#12

  658. led_lh5:      lcall     ledrb
  659.               lcall     ledrg
  660.               lcall     ledb
  661.               lcall     ledg
  662.               lcall     ledr
  663.               djnz      ledr0,led_lh5
  664.               lcall     ysb
  665.               mov       ledr0,#12

  666. led_lh6:      lcall     ledgb
  667.               lcall     ledrb
  668.               lcall     ledrg
  669.               lcall     ledb
  670.               lcall     ledg
  671.               djnz      ledr0,led_lh6
  672.               lcall     ysb
  673.               mov       ledr0,#12

  674. led_lh7:      lcall     ledrgb
  675.               lcall     ledgb
  676.               lcall     ledrb
  677.               lcall     ledrg
  678.               lcall     ledb
  679.               djnz      ledr0,led_lh7
  680.               lcall     ysb
  681.               mov       ledr0,#12

  682. led_lh8:      lcall     ledr
  683.               lcall     ledrgb
  684.               lcall     ledgb
  685.               lcall     ledrb
  686.               lcall     ledrg
  687.               djnz      ledr0,led_lh8
  688.               lcall     ysb
  689.               mov       ledr0,#12

  690. led_lh9:      lcall     ledg
  691.               lcall     ledr
  692.               lcall     ledrgb
  693.               lcall     ledgb
  694.               lcall     ledrb
  695.               djnz      ledr0,led_lh9
  696.               lcall     ysb
  697.               mov       ledr0,#12

  698. led_lha:      lcall     ledb
  699.               lcall     ledg
  700.               lcall     ledr
  701.               lcall     ledrgb
  702.               lcall     ledgb
  703.               djnz      ledr0,led_lha
  704.               lcall     ysb
  705.               mov       ledr0,#12

  706. led_lhb:      lcall     ledrg
  707.               lcall     ledb
  708.               lcall     ledg
  709.               lcall     ledr
  710.               lcall     ledrgb
  711.               djnz      ledr0,led_lhb
  712.               lcall     ysb
  713.               djnz      ledr1,led_lhd
  714.               ret
  715. led_lhd:      ljmp      led_lhe

  716. ;--------------------------------------------------
  717. ledlha:       mov       ledr3,#30
  718. led_lha7:     mov       ledr2,#7
  719. led_lha6:     mov       ledr0,#12
  720. led_lha1:     lcall     colour
  721.               lcall     ledblack
  722.               lcall     ledblack
  723.               lcall     ledblack
  724.               lcall     ledblack
  725.               djnz      ledr0,led_lha1
  726.               lcall     ysb
  727.               mov       ledr0,#12


  728. led_lha2:     lcall     colour
  729.               lcall     colour
  730.               lcall     ledblack
  731.               lcall     ledblack
  732.               lcall     ledblack
  733.               djnz      ledr0,led_lha2
  734.               lcall     ysb
  735.               mov       ledr0,#12

  736. led_lha3:     lcall     colour
  737.               lcall     colour
  738.               lcall     colour
  739.               lcall     ledblack
  740.               lcall     ledblack
  741.               djnz      ledr0,led_lha3
  742.               lcall     ysb
  743.               mov       ledr0,#12

  744. led_lha4:     lcall     colour
  745.               lcall     colour
  746.               lcall     colour
  747.               lcall     colour
  748.               lcall     ledblack
  749.               djnz      ledr0,led_lha4
  750.               lcall     ysb
  751.               mov       ledr0,#12

  752. led_lha5:     lcall     colour
  753.               lcall     colour
  754.               lcall     colour
  755.               lcall     colour
  756.               lcall     colour
  757.               djnz      ledr0,led_lha5
  758.               lcall     ysb
  759.               djnz      ledr2,led_lha6
  760.               djnz      ledr3,led_lh7a
  761.               ret
  762. led_lh7a:     ljmp      led_lha7
  763. ;==================================================
  764. ;---------------60块2811显示,----------------------
  765. ;==================================================
  766. LEDR60:        MOV      R0,#60                     ;起始不点亮数60-N=59
  767.                MOV      R1,#01H                    ;起始点亮数N=1更改此数据可以每次点亮多个灯板
  768.                MOV      R3,#00H
  769. LEDR60_3:      CLR      C                          ;但必须能被60整除
  770.                MOV      A,R0
  771.                SUBB     A,R1
  772.                MOV      R0,A
  773.                MOV      R2,A
  774.                MOV      A,R1
  775.                ADD      A,R3
  776.                MOV      R3,A
  777.                MOV      R4,A
  778. LEDR60_1:      LCALL    LEDR
  779.                DJNZ     R4,LEDR60_1
  780. LEDR60_2:      LCALL    LEDBLACK
  781.                DJNZ     R2,LEDR60_2
  782.                LCALL    YSA
  783.                MOV      B,#00H
  784.                MOV      A,R0
  785.                CJNE     A,B,LEDR60_3
  786.                LCALL    YS
  787.                RET
  788. ;-------------------------外面粉红里面旋转-------------
  789. WFLZ:  MOV   LEDR0,#39
  790. WFLZ0:




  791. WFLZ01:
  792. WFLZ02:       LCALL     WFLZ1
  793.               LCALL     WFLZ11
  794.               LCALL     WFLZ12
  795.               LCALL     WFLZ13
  796.               LCALL     WFLZ14
  797.               LCALL     WFLZ14
  798.               RET

  799. WFLZ1:        LCALL     LEDR
  800.               LCALL     LEDBLACK
  801.               LCALL     LEDBLACK
  802.               LCALL     LEDBLACK
  803.               LCALL     LEDRB
  804.               RET

  805. WFLZ11:       LCALL     LEDBLACK
  806.               LCALL     LEDR
  807.               LCALL     LEDBLACK
  808.               LCALL     LEDBLACK
  809.               LCALL     LEDRB
  810.               RET

  811. WFLZ12:       LCALL     LEDBLACK
  812.               LCALL     LEDBLACK
  813.               LCALL     LEDR
  814.               LCALL     LEDBLACK
  815.               LCALL     LEDRB
  816.               RET

  817. WFLZ13:       LCALL     LEDBLACK
  818.               LCALL     LEDBLACK
  819.               LCALL     LEDBLACK
  820.               LCALL     LEDR
  821.               LCALL     LEDRB
  822.               RET

  823. ;--------COPY------
  824. WFLZ14:       LCALL     LEDBLACK
  825.               LCALL     LEDBLACK
  826.               LCALL     LEDBLACK
  827.               LCALL     LEDBLACK
  828.               LCALL     LEDRB
  829.               RET

  830. ;---------------------礼花-------------------------------
  831. LHR:          MOV       LEDR0,#12                ;礼花红
  832. LH1:          LCALL     ledBLACK                 ;第一灯位
  833.               LCALL     ledBLACK
  834.               LCALL     ledBLACK
  835.               LCALL     ledBLACK                 ;第四灯位
  836.               LCALL     LEDR                     ;第五灯位
  837.               DJNZ      LEDR0,LH1                ;共十二组
  838.               LCALL     YSA
  839.               MOV       LEDR0,#12

  840. LH2:          LCALL     ledBLACK
  841.               LCALL     ledBLACK
  842.               LCALL     ledBLACK
  843.               LCALL     ledr
  844.               LCALL     ledBLACK
  845.               DJNZ      LEDR0,LH2
  846.               LCALL     YSA
  847.               MOV      LEDR0,#7

  848. LH3:  
  849.        LCALL    ledBLACK
  850.        LCALL    ledBLACK
  851.        LCALL    ledr
  852.        LCALL    ledBLACK
  853.        LCALL    ledBLACK
  854.         DJNZ      LEDR0,LH3
  855.        LCALL  YSA
  856.         MOV      LEDR0,#12
  857. LH4:  
  858.        LCALL    ledBLACK
  859.        LCALL    ledr
  860.        LCALL    ledBLACK
  861.        LCALL    ledBLACK
  862.        LCALL    ledBLACK
  863.         DJNZ      LEDR0,LH4
  864.        LCALL  YSA
  865.         MOV      LEDR0,#12
  866. LH5:  
  867.        LCALL    ledr
  868.        LCALL    ledBLACK
  869.        LCALL    ledBLACK
  870.        LCALL    ledBLACK
  871.        LCALL    ledBLACK
  872.          DJNZ      LEDR0,LH5
  873.        LCALL  YSA
  874. LHB:    MOV      LEDR0,#12;兰
  875. LHB1:  
  876.        LCALL    ledB
  877.        LCALL    ledBLACK
  878.        LCALL    ledBLACK
  879.        LCALL    ledBLACK
  880.        LCALL    ledBLACK
  881.         DJNZ      LEDR0,LHB1
  882.        LCALL  YSA
  883.     MOV      LEDR0,#12

  884. LHB2:  
  885.        LCALL    ledBLACK
  886.        LCALL    ledB
  887.        LCALL    ledBLACK
  888.        LCALL    ledBLACK
  889.        LCALL    ledBLACK
  890.         DJNZ      LEDR0,LHB2
  891.        LCALL  YSA
  892.     MOV      LEDR0,#12

  893. LHB3:  
  894.        LCALL    ledBLACK
  895.        LCALL    ledBLACK
  896.        LCALL    ledB
  897.        LCALL    ledBLACK
  898.        LCALL    ledBLACK
  899.         DJNZ      LEDR0,LHB3
  900.        LCALL  YSA
  901.         MOV      LEDR0,#12
  902. LHB4:  
  903.        LCALL    ledBLACK
  904.        LCALL    ledBLACK
  905.        LCALL    ledBLACK
  906.        LCALL    ledB
  907.        LCALL    ledBLACK
  908.         DJNZ      LEDR0,LHB4
  909.        LCALL  YSA
  910.         MOV      LEDR0,#12
  911. LHB5:  
  912.        LCALL    ledBLACK
  913.        LCALL    ledBLACK
  914.        LCALL    ledBLACK
  915.        LCALL    ledBLACK
  916.        LCALL    ledB
  917.         DJNZ      LEDR0,LHB5
  918.        LCALL  YSA

  919. LHG:    MOV      LEDR0,#121;绿
  920. LHG1:  
  921.        LCALL    ledG
  922.        LCALL    ledBLACK
  923.        LCALL    ledBLACK
  924.        LCALL    ledBLACK
  925.        LCALL    ledBLACK
  926.         DJNZ      LEDR0,LHG1
  927.        LCALL  YSA
  928.     MOV      LEDR0,#12

  929. LHG2:  
  930.        LCALL    ledBLACK
  931.        LCALL    ledG
  932.        LCALL    ledBLACK
  933.        LCALL    ledBLACK
  934.        LCALL    ledBLACK
  935.        DJNZ      LEDR0,LHG2
  936.        LCALL  YSA
  937.     MOV      LEDR0,#12

  938. LHG3:  
  939.        LCALL    ledBLACK
  940.        LCALL    ledBLACK
  941.        LCALL    ledG
  942.        LCALL    ledBLACK
  943.        LCALL    ledBLACK
  944.         DJNZ      LEDR0,LHG3
  945.        LCALL  YSA
  946.         MOV      LEDR0,#12
  947. LHG4:  
  948.        LCALL    ledBLACK
  949.        LCALL    ledBLACK
  950.        LCALL    ledBLACK
  951.        LCALL    ledG
  952.        LCALL    ledBLACK
  953.        DJNZ      LEDR0,LHG4
  954.        LCALL  YSA
  955.         MOV      LEDR0,#12
  956. LHG5:  
  957.        LCALL    ledBLACK
  958.        LCALL    ledBLACK
  959.        LCALL    ledBLACK
  960.        LCALL    ledBLACK
  961.        LCALL    ledG
  962.         DJNZ      LEDR0,LHG5
  963.        LCALL  YSA
  964. LHRB:    MOV      LEDR0,#12;粉
  965. LHRB1:  
  966.        LCALL    ledRB
  967.        LCALL    ledBLACK
  968.        LCALL    ledBLACK
  969.        LCALL    ledBLACK
  970.        LCALL    ledBLACK
  971.         DJNZ      LEDR0,LHRB1
  972.        LCALL  YSA
  973.     MOV      LEDR0,#12

  974. LHRB2:  
  975.        LCALL    ledBLACK
  976.        LCALL    ledG
  977.        LCALL    ledBLACK
  978.        LCALL    ledBLACK
  979.        LCALL    ledBLACK
  980.         DJNZ      LEDR0,LHRB2
  981.        LCALL  YSA
  982.     MOV      LEDR0,#12

  983. LHRB3:  
  984.        LCALL    ledBLACK
  985.        LCALL    ledBLACK
  986.        LCALL    ledG
  987.        LCALL    ledBLACK
  988.        LCALL    ledBLACK
  989.         DJNZ      LEDR0,LHRB3
  990.        LCALL  YSA
  991.         MOV      LEDR0,#12
  992. LHRB4:  
  993.        LCALL    ledBLACK
  994.        LCALL    ledBLACK
  995.        LCALL    ledBLACK
  996.        LCALL    ledG
  997.        LCALL    ledBLACK
  998.        DJNZ      LEDR0,LHRB4
  999.        LCALL  YSA
  1000.         MOV      LEDR0,#12
  1001. LHRB5:  
  1002.        LCALL    ledBLACK
  1003.        LCALL    ledBLACK
  1004.        LCALL    ledBLACK
  1005.        LCALL    ledBLACK
  1006.        LCALL    ledG
  1007.         DJNZ      LEDR0,LHRB5
  1008.        LCALL  YSA
  1009. RET
  1010. ;-----------------太极---------------------
  1011. TAIJI: MOV LEDR1,#20
  1012. TAIJIII:LCALL  TJ00
  1013.         LCALL  TJ01
  1014.         LCALL  TJ02
  1015.         LCALL  TJ03
  1016.         LCALL  TJ04
  1017.         LCALL  TJ05
  1018.         LCALL  TJ06
  1019.         LCALL  TJ07
  1020.         LCALL  TJ08
  1021.         LCALL  TJ09
  1022.         LCALL  TJ010
  1023.         LCALL  TJ011
  1024. DJNZ  LEDR1,TAIJIII
  1025. RET
  1026. TJ0:   LCALL    LEDB
  1027.        LCALL    LEDB
  1028.        LCALL    LEDB
  1029.        LCALL    LEDB
  1030.        LCALL    LEDRB
  1031. RET
  1032. TJ1:   LCALL    LEDB
  1033.        LCALL    LEDB
  1034.        LCALL    LEDB
  1035.        LCALL    LEDRB
  1036.        LCALL    LEDRB
  1037. RET
  1038. TJ2:   LCALL    LEDB
  1039.        LCALL    LEDB
  1040.        LCALL    LEDRB
  1041.        LCALL    LEDRB
  1042.        LCALL    LEDRB
  1043. RET

  1044. TJ3:   LCALL    LEDB
  1045.        LCALL    LEDRB
  1046.        LCALL    LEDRB
  1047.        LCALL    LEDRB
  1048.        LCALL    LEDRB
  1049. RET
  1050. TJ4:   LCALL    LEDRB
  1051.        LCALL    LEDRB
  1052.        LCALL    LEDRB
  1053.        LCALL    LEDRB
  1054.        LCALL    LEDRB
  1055. RET

  1056. RET
  1057. TJ5:   LCALL    LEDRB
  1058.        LCALL    LEDRB
  1059.        LCALL    LEDRB
  1060.        LCALL    LEDRB
  1061.        LCALL    LEDB
  1062.        LCALL    LEDB   
  1063. RET
  1064. TJ6:   LCALL    LEDRB
  1065.        LCALL    LEDRB
  1066.        LCALL    LEDRB
  1067.        LCALL    LEDB
  1068.        LCALL    LEDB
  1069. RET
  1070. TJ7:   LCALL    LEDRB
  1071.        LCALL    LEDRB
  1072.        LCALL    LEDB
  1073.        LCALL    LEDB
  1074.        LCALL    LEDB
  1075. RET
  1076. TJ8:   LCALL    LEDRB
  1077.        LCALL    LEDB
  1078.        LCALL    LEDB
  1079.        LCALL    LEDB
  1080.        LCALL    LEDB
  1081. RET

  1082. TJ9:   LCALL    LEDB
  1083.        LCALL    LEDB
  1084.        LCALL    LEDB
  1085.        LCALL    LEDB
  1086.        LCALL    LEDB
  1087. RET






  1088. TAIJIX1: LCALL TJ0
  1089.          LCALL TJ1
  1090.          LCALL TJ2
  1091.          LCALL TJ3
  1092.          LCALL TJ4
  1093.          LCALL TJ5
  1094.          LCALL TJ6
  1095.          LCALL TJ7
  1096.          LCALL TJ8
  1097.          LCALL TJ9
  1098. LCALL YSA
  1099. RET
  1100. TJ00: LCALL  TAIJIX1
  1101. RET

  1102. TJ01: LCALL TJ9
  1103.       LCALL TJ00
  1104. RET
  1105. TJ02: LCALL TJ9
  1106.       LCALL TJ01
  1107. RET
  1108. TJ03: LCALL TJ8
  1109.       LCALL TJ02
  1110. RET
  1111. TJ04: LCALL TJ7
  1112.       LCALL TJ03
  1113. RET
  1114. TJ05: LCALL TJ6
  1115.       LCALL TJ04
  1116. RET
  1117. TJ06: LCALL TJ5
  1118.       LCALL TJ05
  1119. RET
  1120. TJ07: LCALL TJ4
  1121.       LCALL TJ06
  1122. RET
  1123. TJ08: LCALL TJ4
  1124.       LCALL TJ07
  1125. RET
  1126. TJ09: LCALL TJ3
  1127.       LCALL TJ08
  1128. RET
  1129. TJ010: LCALL TJ2
  1130.       LCALL TJ09
  1131. RET
  1132. TJ011: LCALL TJ1
  1133.       LCALL TJ010
  1134. RET
  1135. ;-----------------旋转-------------
  1136. XZ:   MOV  LEDR1,#30

  1137. XZ99:LCALL XZ01
  1138.      LCALL XZ02
  1139.      LCALL XZ03
  1140.      LCALL XZ04
  1141.      LCALL XZ05
  1142.      LCALL XZ06
  1143. LCALL   YSA
  1144. DJNZ LEDR1,XZ99
  1145. RET

  1146. XZ01:LCALL XZ0
  1147. RET
  1148. XZ02:LCALL XZ6
  1149.      LCALL XZ01
  1150. RET
  1151. XZ03:LCALL XZ5
  1152.      LCALL XZ02
  1153. RET
  1154. XZ04:LCALL XZ4
  1155.      LCALL XZ03
  1156. RET
  1157. XZ05:LCALL XZ3
  1158.      LCALL XZ04
  1159. RET
  1160. XZ06:LCALL XZ2
  1161.      LCALL XZ05
  1162. RET

  1163. XZ0: LCALL XZ1
  1164.      LCALL XZ2
  1165.      LCALL XZ3
  1166.      LCALL XZ4
  1167.      LCALL XZ5
  1168.      LCALL XZ6
  1169.      LCALL XZ1
  1170.      LCALL XZ2
  1171.      LCALL XZ3
  1172.      LCALL XZ4
  1173.      LCALL XZ5
  1174.      LCALL XZ6
  1175. LCALL YSA
  1176. RET




  1177. XZ1:  LCALL   LEDB
  1178.       LCALL   LEDB
  1179.       LCALL   LEDB
  1180.       LCALL   LEDB
  1181.       LCALL   LEDRB
  1182. RET
  1183. XZ2:  LCALL   LEDB
  1184.       LCALL   LEDB
  1185.       LCALL   LEDB
  1186.       LCALL   LEDRB
  1187.       LCALL   LEDB
  1188. RET
  1189. XZ3:  LCALL   LEDB
  1190.       LCALL   LEDB
  1191.       LCALL   LEDRB
  1192.       LCALL   LEDB
  1193.       LCALL   LEDB
  1194. RET
  1195. XZ4:  LCALL   LEDB
  1196.       LCALL   LEDRB
  1197.       LCALL   LEDB
  1198.       LCALL   LEDB
  1199.       LCALL   LEDB
  1200. RET
  1201. XZ5:  LCALL   LEDRB
  1202.       LCALL   LEDB
  1203.       LCALL   LEDB
  1204.       LCALL   LEDB
  1205.       LCALL   LEDB
  1206. RET
  1207. XZ6:  LCALL   LEDB
  1208.       LCALL   LEDB
  1209.       LCALL   LEDB
  1210.       LCALL   LEDB
  1211.       LCALL   LEDB
  1212. RET
  1213. ;================================================
  1214. ;----------三旋------------------
  1215. ;================================================
  1216. SX:           MOV       LEDR0,#30
  1217. SX0:          LCALL     SX02
  1218.               LCALL     SX03
  1219.               LCALL     SX04
  1220.               LCALL     SX05
  1221.               LCALL     SX06
  1222.               LCALL     SX07
  1223.               LCALL     SX08
  1224.               LCALL     SX09
  1225.               LCALL     SX010
  1226.               LCALL     SX011
  1227.               LCALL     SX012
  1228.               LCALL     SX013
  1229.               LCALL     YSA
  1230.               DJNZ      LEDR0,SX0
  1231.               RET
  1232. ;-------------
  1233. SX02:         LCALL     SX01  
  1234.               RET
  1235. ;-------------
  1236. SX03:         LCALL     SX12
  1237.               LCALL     SX02  
  1238.               RET
  1239. ;-------------
  1240. SX04:         LCALL     SX11
  1241.               LCALL     SX03  
  1242.               RET
  1243. ;-------------
  1244. SX05:         LCALL     SX10
  1245.               LCALL     SX04  
  1246.               RET
  1247. ;-------------
  1248. SX06:         LCALL     SX9
  1249.               LCALL     SX05  
  1250.               RET
  1251. ;-------------
  1252. SX07:         LCALL     SX8
  1253.               LCALL     SX06  
  1254.               RET
  1255. ;-------------
  1256. SX08:         LCALL     SX7
  1257.               LCALL     SX07  
  1258.               RET
  1259. ;-------------
  1260. SX09:         LCALL     SX6
  1261.               LCALL     SX08  
  1262.               RET
  1263. ;-------------
  1264. SX010:        LCALL     SX5
  1265.               LCALL     SX09  
  1266.               RET
  1267. ;-------------
  1268. SX011:        LCALL     SX4
  1269.               LCALL     SX010  
  1270.               RET
  1271. ;-------------
  1272. SX012:        LCALL     SX3
  1273.               LCALL     SX011  
  1274.               RET
  1275. ;-------------
  1276. SX013:        LCALL     SX2
  1277.               LCALL     SX012  
  1278.               RET
  1279. ;-------------
  1280. SX01:         LCALL     SX1
  1281.               LCALL     SX2
  1282.               LCALL     SX3
  1283.               LCALL     SX4
  1284.               LCALL     SX5
  1285.               LCALL     SX6
  1286.               LCALL     SX7
  1287.               LCALL     SX8
  1288.               LCALL     SX9
  1289.               LCALL     SX10
  1290.               LCALL     SX11
  1291.               LCALL     SX12
  1292.               LCALL     YSA
  1293.               RET
  1294. ;-------------
  1295. SX1:          LCALL     LEDR
  1296.               LCALL     LEDR
  1297.               LCALL     LEDBLACK
  1298.               LCALL     LEDBLACK
  1299.               LCALL     LEDBLACK
  1300. RET
  1301. SX2:          LCALL     LEDR
  1302.               LCALL     LEDR
  1303.               LCALL     LEDR
  1304.               LCALL     LEDBLACK
  1305.               LCALL     LEDBLACK
  1306.               RET
  1307. ;-------------
  1308. SX3:          LCALL     LEDR
  1309.               LCALL     LEDR
  1310.               LCALL     LEDR
  1311.               LCALL     LEDR
  1312.               LCALL     LEDBLACK
  1313.               RET
  1314. ;-------------
  1315. SX4:          LCALL     LEDR
  1316.               LCALL     LEDR
  1317.               LCALL     LEDR
  1318.               LCALL     LEDR
  1319.               LCALL     LEDR
  1320.               RET
  1321. ;-------------
  1322. SX5:          LCALL     LEDG
  1323.               LCALL     LEDG
  1324.               LCALL     LEDBLACK
  1325.               LCALL     LEDBLACK
  1326.               LCALL     LEDBLACK
  1327.               RET
  1328. ;-------------
  1329. SX6:          LCALL     LEDG
  1330.               LCALL     LEDG
  1331.               LCALL     LEDG
  1332.               LCALL     LEDBLACK
  1333.               LCALL     LEDBLACK
  1334.               RET
  1335. ;-------------
  1336. SX7:          LCALL     LEDG
  1337.               LCALL     LEDG
  1338.               LCALL     LEDG
  1339.               LCALL     LEDG
  1340.               LCALL     LEDBLACK
  1341.               RET
  1342. ;-------------
  1343. SX8:          LCALL     LEDG
  1344.               LCALL     LEDG
  1345.               LCALL     LEDG
  1346.               LCALL     LEDG
  1347.               LCALL     LEDG
  1348.               RET
  1349. ;-------------
  1350. SX9:          LCALL     LEDB
  1351.               LCALL     LEDB
  1352.               LCALL     LEDBLACK
  1353.               LCALL     LEDBLACK
  1354.               LCALL     LEDBLACK
  1355.               RET
  1356. ;-------------
  1357. SX10:         LCALL     LEDB
  1358.               LCALL     LEDB
  1359.               LCALL     LEDB
  1360.               LCALL     LEDBLACK
  1361.               LCALL     LEDBLACK
  1362.               RET
  1363. ;-------------
  1364. SX11:         LCALL     LEDB
  1365.               LCALL     LEDB
  1366.               LCALL     LEDB
  1367.               LCALL     LEDB
  1368.               LCALL     LEDBLACK
  1369.               RET
  1370. ;-------------
  1371. SX12:         LCALL     LEDB
  1372.               LCALL     LEDB
  1373.               LCALL     LEDB
  1374.               LCALL     LEDB
  1375.               LCALL     LEDB
  1376.               RET
  1377. ;================================================
  1378. ;-------------金箍棒-----------------------------
  1379. ;================================================
  1380. JGB:          MOV       LEDR0,#43
  1381. JGB0:         LCALL     JGB01
  1382.               LCALL     JGB02
  1383.               LCALL     JGB03
  1384.               LCALL     JGB04
  1385.               LCALL     JGB05
  1386.               LCALL     JGB06
  1387.               DJNZ      LEDR0,JGB0
  1388.               RET
  1389. ;-------------
  1390. JGB01:        LCALL     JGB1
  1391.               LCALL     JGB11
  1392.               LCALL     JGB1  
  1393.               LCALL     JGB11
  1394.               LCALL     YSA
  1395.               RET
  1396. ;-------------
  1397. JGB02:        LCALL     JGB12
  1398.               LCALL     JGB01
  1399.               RET
  1400. ;-------------
  1401. JGB03:        LCALL     JGB12
  1402.               LCALL     JGB02
  1403.               RET
  1404. ;-------------
  1405. JGB04:        LCALL     JGB12
  1406.               LCALL     JGB03
  1407.               RET
  1408. ;-------------
  1409. JGB05:        LCALL     JGB12
  1410.               LCALL     JGB04
  1411.               RET
  1412. ;-------------
  1413. JGB06:        LCALL     JGB12
  1414.               LCALL     JGB05
  1415.               RET
  1416. ;-------------
  1417. JGB1:         LCALL     LEDRGB
  1418.               LCALL     LEDRGB
  1419.               LCALL     LEDRGB
  1420.               LCALL     LEDRGB
  1421.               LCALL     LEDRGB
  1422.               RET
  1423. ;-------------
  1424. JGB11:        MOV       LEDR1,#25
  1425. JGB111:       LCALL     LEDBLACK
  1426.               DJNZ      LEDR1,JGB111
  1427.               RET
  1428. ;-------------
  1429. JGB12:        MOV       LEDR2,#5
  1430. JGB121:       LCALL     LEDBLACK
  1431.               DJNZ      LEDR1,JGB121
  1432.               RET
  1433. ;================================================
  1434. ;--------------绿色*60--------------------------
  1435. ;================================================
  1436. LEDG60:        MOV      R0,#60                     ;起始不点亮数60-N=59
  1437.                MOV      R1,#01H                    ;起始点亮数N=1更改此数据可以每次点亮多个灯板
  1438.                MOV      R3,#00H
  1439. LEDG60_3:      CLR      C                          ;但必须能被60整除
  1440.                MOV      A,R0
  1441.                SUBB     A,R1
  1442.                MOV      R0,A
  1443.                MOV      R2,A
  1444.                MOV      A,R1
  1445.                ADD      A,R3
  1446.                MOV      R3,A
  1447.                MOV      R4,A
  1448. LEDG60_1:      LCALL    LEDG
  1449.                DJNZ     R4,LEDG60_1
  1450. LEDG60_2:      LCALL    LEDBLACK
  1451.                DJNZ     R2,LEDG60_2
  1452.                LCALL    YSA
  1453.                MOV      B,#00H
  1454.                MOV      A,R0
  1455.                CJNE     A,B,LEDG60_3
  1456.                LCALL    YS
  1457.                RET
  1458. ;--------------蓝色*60---------------------------------
  1459. LEDB60:        MOV      R0,#60
  1460.                MOV      R1,#01H
  1461.                MOV      R3,#00H
  1462. LEDB60_3:      CLR      C
  1463.                MOV      A,R0
  1464.                SUBB     A,R1
  1465.                MOV      R0,A
  1466.                MOV      R2,A
  1467.                MOV      A,R1
  1468.                ADD      A,R3
  1469.                MOV      R3,A
  1470.                MOV      R4,A
  1471. LEDB60_1:      LCALL    LEDB
  1472.                DJNZ     R3,LEDB60_1
  1473. LEDB60_2:      LCALL    LEDBLACK
  1474.                DJNZ     R2,LEDB60_2
  1475.                INC      R1
  1476.                LCALL    YSA
  1477.                MOV      B,#00H
  1478.                MOV      A,R0
  1479.                CJNE     A,B,LEDB60_3
  1480.                LCALL    YS
  1481.                RET
  1482. ;-------------其它颜色程序相同----------------





  1483. ;-------------以下是单块板的八色子程序-------------
  1484. LEDBLACK:     MOV       DPTR,#LED_DATABLACK      ;显示1块板黑色
  1485.               SJMP      LED_R5
  1486. LEDRGB:       MOV       DPTR,#LED_DATARGB        ;显示1块板白色
  1487.               SJMP      LED_R5
  1488. LEDGB:        MOV       DPTR,#LED_DATAGB         ;显示1块板青色
  1489.               SJMP      LED_R5
  1490. LEDRB:        MOV       DPTR,#LED_DATARB         ;显示1块板粉色
  1491.               SJMP      LED_R5
  1492. LEDRG:        MOV       DPTR,#LED_DATARG         ;显示1块板黄色
  1493.               SJMP      LED_R5
  1494. LEDB:         MOV       DPTR,#LED_DATAB          ;显示1块板蓝色
  1495.               SJMP      LED_R5
  1496. LEDG:         MOV       DPTR,#LED_DATAG          ;显示1块板绿色
  1497.               SJMP      LED_R5
  1498. LEDR:         MOV       DPTR,#LED_DATAR          ;显示1块板红色
  1499. ;-------------
  1500. LED_R5:       MOV       LED_ZC5,#03              ;每块LED板字节数RGB
  1501. LED_R3:       MOV       LED_ZC6,#08              ;每字节数据位数
  1502.               MOV       A,#00H
  1503.               MOVC      A,@A+DPTR
  1504.               INC       DPTR
  1505. LED_R1:       RLC       A
  1506.               JNC       LED_R2
  1507.               LCALL     OUT_1                    ;输出"1"
  1508.               DJNZ      LED_ZC6,LED_R1
  1509.               SJMP      LED_R4
  1510. LED_R2:       LCALL     OUT_0                    ;输出"0"
  1511.               DJNZ      LED_ZC6,LED_R1           ;发送一个字节
  1512. LED_R4:       DJNZ      LED_ZC5,LED_R3           ;单个灯板3字节数据没发完继续
  1513.               RET                                ;子程序时用返回

  1514. LED_DATAR:    DB       0FFH,00H,00H       ;红
  1515. LED_DATAG:    DB       00H,00H,0FFH       ;绿
  1516. LED_DATAB:    DB       00H,0FFH,00H       ;蓝
  1517. LED_DATARG:   DB       0FFH,00H,0FFH      ;黄
  1518. LED_DATARB:   DB       0FFH,0FFH,00H      ;粉
  1519. LED_DATAGB:   DB       00H,0FFH,0FFH      ;青
  1520. LED_DATARGB:  DB       0FFH,0FFH,0FFH     ;白
  1521. LED_DATABLACK:DB       00H,00H,00H        ;黑

  1522. ;-------------WS2811B高速模式输出脉冲------------------------------
  1523. OUT_0:        MOV       D_OUT,#00H         ;输出0脉冲
  1524.               CLR       P2.6
  1525.               NOP
  1526.               NOP
  1527.               NOP
  1528.               NOP
  1529.               NOP
  1530.               NOP
  1531.               NOP
  1532.               MOV       D_OUT,#0FFH
  1533.               SETB      P2.6
  1534.               NOP
  1535.               NOP
  1536.               NOP
  1537.               NOP
  1538.               NOP
  1539.               NOP
  1540.               NOP
  1541.               NOP
  1542.               NOP
  1543.               NOP
  1544.               NOP
  1545.               NOP
  1546.               NOP
  1547.               NOP
  1548.               NOP
  1549.               NOP
  1550.               NOP
  1551.               NOP
  1552.               RET
  1553. ;
  1554. OUT_1:        MOV       D_OUT,#00H         ;输出1脉冲
  1555.               CLR       P2.6
  1556.               NOP
  1557.               NOP
  1558.               NOP
  1559.               NOP
  1560.               NOP
  1561.               NOP
  1562.               NOP
  1563.               NOP
  1564.               NOP
  1565.               NOP
  1566.               NOP
  1567.               NOP
  1568.               NOP
  1569.               NOP
  1570.               NOP
  1571.               NOP
  1572.               NOP
  1573.               NOP
  1574.               MOV       D_OUT,#0FFH
  1575.               SETB      P2.6
  1576.               NOP
  1577.               NOP
  1578.               NOP
  1579.               NOP
  1580.               NOP
  1581.               NOP
  1582.               NOP
  1583.               RET
  1584. ;------------------------------------------
  1585. RET_0:        MOV       D_OUT,#0FFH        ;输出0脉冲
  1586.               CLR       P2.6               ;用于测量脉冲
  1587.               NOP
  1588.               NOP
  1589.               NOP
  1590.               NOP
  1591.               NOP
  1592.               NOP
  1593.               NOP
  1594.               NOP
  1595.               NOP
  1596.               NOP
  1597.               MOV       D_OUT,#00H
  1598.               SETB      P2.6
  1599.               NOP
  1600.               NOP
  1601.               NOP
  1602.               NOP
  1603.               NOP
  1604.               NOP
  1605.               NOP
  1606.               NOP
  1607.               NOP
  1608.               NOP
  1609.               NOP
  1610.               NOP
  1611.               NOP
  1612.               NOP
  1613.               NOP
  1614.               RET
  1615. ;
  1616. YSB:          MOV       R4,#03H
  1617. YSB1:         LCALL     YSA
  1618.               DJNZ      R4,YSB1
  1619.               RET
  1620. YSA:          MOV       R5,#05H
  1621.               MOV       R6,#00H
  1622.               MOV       R7,#00H
  1623. YSA1:         DJNZ      R7,YSA1
  1624.               DJNZ      R6,YSA1
  1625.               DJNZ      R5,YSA1
  1626.               RET

  1627. YS:           MOV       R5,#20H
  1628.               MOV       R6,#00H
  1629.               MOV       R7,#00H
  1630. YS1:          DJNZ      R7,YS1
  1631.               DJNZ      R6,YS1
  1632.               DJNZ      R5,YS1
  1633.               RET
  1634. END
复制代码


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

本版积分规则

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

GMT+8, 2024-11-21 19:52

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

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