8H8K64U+WS2812

[复制链接]
 楼主| 发表于 2025-7-13 15:17 | 显示全部楼层 |阅读模式
  1. /****************STC8H8K64U,12MHZ******************/
  2. /**************************************************/
  3. /****************ID:共同学习FPGA********************/
  4. /****************20250709*************************/
  5. //          ________   ________
  6. //   led_0-|1  P0.0 \_/ P4.5 40|-di_0
  7. //   led_1-|2  P0.1     P2.7 39|-di_1--WS2812
  8. //   led_2-|3  P0.2     P2.6 38|-di_2
  9. //   led_3-|4  P0.3     P2.5 37|-di_3
  10. //   led_4-|5  P0.4  S  P2.4 36|-di_4
  11. //        -|6  P0.5  T  P2.3 35|-di_5
  12. //        -|7  P0.6  C  P2.2 24|-
  13. //        -|8  P0.7  8  P2.1 33|-
  14. //        -|9  P1.0  H  P2.0 32|-
  15. //        -|10 P1.1  8  P4.4 31|-
  16. //        -|11 P1.4  K  P4.2 30|-
  17. //        -|12 P1.5  6  P4.1 29|-
  18. //        -|13 P1.6  4  P3.7 28|-
  19. //        -|14 P1.7  U  P3.6 27|-
  20. //        -|15 P1.3     P3.5 26|-
  21. //        -|16 UCPA     P3.4 25|-
  22. //        -|17 P5.4     P3.3 24|-
  23. //        -|18 VCC      P3.2 23|-
  24. //        -|19 VREF     P3.1 22|-
  25. //        -|20 GND______P3.0 21|-
  26. /**************************************************/
  27. #include<STC8H.H>
  28. #include<intrins.h>
  29. sbit                led_0                                =P0^0;
  30. sbit                led_1                                =P0^1;
  31. sbit                led_2                                =P0^2;
  32. sbit                led_3                                =P0^3;
  33. sbit                led_4                                =P0^4;

  34. sbit                di_0                                =P4^5;
  35. sbit                di_1                                =P2^7;
  36. sbit                di_2                                =P2^6;
  37. sbit                di_3                                =P2^5;
  38. sbit                di_4                                =P2^4;
  39. sbit                di_5                                =P2^3;
  40. /**************************************************/
  41. void                yanshi();                //延时;
  42. void                fuwei();                //复位;
  43. void                fa1();                        //发1;
  44. void                fa0();                        //发0;
  45. /**************************************************/
  46. void main()
  47. {
  48. unsigned char                a1;                //记录个数;
  49. //unsigned char                a2;                //记录个数;
  50. //unsigned char                b1,b2;
  51. //P2M0,P2M1                0,0准双向;
  52. //P2M0,P2M1                1,0推挽;
  53. //P2M0,P2M1                0,1高阻;
  54. P0M0                |= ((1<<0)+(1<<1)+(1<<2)+(1<<3)+(1<<4));
  55. P0M1                &=~((1<<0)+(1<<1)+(1<<2)+(1<<3)+(1<<4));

  56. P4M0                &=~(1<<5);                //0,1高祖输入;
  57. P4M1                |=(1<<5);
  58. P4PU                |=(1<<5);                //开上拉电阻;

  59. P2M0                &=~((1<<7)+(1<<6)+(1<<5)+(1<<4)+(1<<3));                //0,1高祖输入;
  60. P2M1                &=~((1<<7)+(1<<6)+(1<<5)+(1<<4)+(1<<3));

  61. di_1                =0;
  62. di_2                =0;
  63. di_3                =0;
  64. di_4                =0;
  65. di_5                =0;
  66. a1                        =0;
  67. yanshi();

  68. fuwei();
  69. while(1)
  70. {
  71. fa0();
  72. fa0();
  73. fa0();
  74. fa0();
  75. fa0();
  76. fa0();
  77. fa0();
  78. fa1();
  79. }


  80. }

  81. /**************************************************/
  82. void                yanshi()                //延时;
  83. {
  84. unsigned char x1,x2,x3;
  85. for(x1 =100; x1 >0; x1 --)
  86.         for(x2 =120; x2 >0; x2 --)
  87.                 for(x3 =120; x3 >0; x3 --);
  88. }
  89. /**************************************************/
  90. void                fuwei()                //复位;
  91. {
  92. unsigned char fuwei_a1;
  93. di_1                =0;
  94. for(fuwei_a1 =100;fuwei_a1 >0;fuwei_a1 --);

  95. }
  96. /**************************************************/
  97. void                fa0()                        //发0;
  98. {
  99. di_1                =1;
  100. _nop_();
  101. _nop_();
  102. _nop_();
  103. _nop_();
  104. di_1                =0;
  105. _nop_();
  106. _nop_();
  107. _nop_();
  108. _nop_();
  109. _nop_();
  110. _nop_();
  111. _nop_();
  112. _nop_();
  113. }
  114. /**************************************************/
  115. void                fa1()                        //发1;
  116. {
  117. di_1                =1;
  118. _nop_();
  119. _nop_();
  120. _nop_();
  121. _nop_();
  122. _nop_();
  123. _nop_();
  124. _nop_();
  125. _nop_();
  126. di_1                =0;
  127. _nop_();
  128. _nop_();
  129. _nop_();
  130. _nop_();

  131. }

  132. /**************************************************/
  133. /**************************************************/
  134. /**************************************************/


319

主题

487

帖子

63

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