- /****************STC8H8K64U,12MHZ******************/
- /**************************************************/
- /****************ID:共同学习FPGA********************/
- /****************20250709*************************/
- // ________ ________
- // led_0-|1 P0.0 \_/ P4.5 40|-di_0
- // led_1-|2 P0.1 P2.7 39|-di_1--WS2812
- // led_2-|3 P0.2 P2.6 38|-di_2
- // led_3-|4 P0.3 P2.5 37|-di_3
- // led_4-|5 P0.4 S P2.4 36|-di_4
- // -|6 P0.5 T P2.3 35|-di_5
- // -|7 P0.6 C P2.2 24|-
- // -|8 P0.7 8 P2.1 33|-
- // -|9 P1.0 H P2.0 32|-
- // -|10 P1.1 8 P4.4 31|-
- // -|11 P1.4 K P4.2 30|-
- // -|12 P1.5 6 P4.1 29|-
- // -|13 P1.6 4 P3.7 28|-
- // -|14 P1.7 U P3.6 27|-
- // -|15 P1.3 P3.5 26|-
- // -|16 UCPA P3.4 25|-
- // -|17 P5.4 P3.3 24|-
- // -|18 VCC P3.2 23|-
- // -|19 VREF P3.1 22|-
- // -|20 GND______P3.0 21|-
- /**************************************************/
- #include<STC8H.H>
- #include<intrins.h>
- sbit led_0 =P0^0;
- sbit led_1 =P0^1;
- sbit led_2 =P0^2;
- sbit led_3 =P0^3;
- sbit led_4 =P0^4;
- sbit di_0 =P4^5;
- sbit di_1 =P2^7;
- sbit di_2 =P2^6;
- sbit di_3 =P2^5;
- sbit di_4 =P2^4;
- sbit di_5 =P2^3;
- /**************************************************/
- void yanshi(); //延时;
- void fuwei(); //复位;
- void fa1(); //发1;
- void fa0(); //发0;
- /**************************************************/
- void main()
- {
- unsigned char a1; //记录个数;
- //unsigned char a2; //记录个数;
- //unsigned char b1,b2;
- //P2M0,P2M1 0,0准双向;
- //P2M0,P2M1 1,0推挽;
- //P2M0,P2M1 0,1高阻;
- P0M0 |= ((1<<0)+(1<<1)+(1<<2)+(1<<3)+(1<<4));
- P0M1 &=~((1<<0)+(1<<1)+(1<<2)+(1<<3)+(1<<4));
- P4M0 &=~(1<<5); //0,1高祖输入;
- P4M1 |=(1<<5);
- P4PU |=(1<<5); //开上拉电阻;
- P2M0 &=~((1<<7)+(1<<6)+(1<<5)+(1<<4)+(1<<3)); //0,1高祖输入;
- P2M1 &=~((1<<7)+(1<<6)+(1<<5)+(1<<4)+(1<<3));
- di_1 =0;
- di_2 =0;
- di_3 =0;
- di_4 =0;
- di_5 =0;
- a1 =0;
- yanshi();
- fuwei();
- while(1)
- {
- fa0();
- fa0();
- fa0();
- fa0();
- fa0();
- fa0();
- fa0();
- fa1();
- }
- }
- /**************************************************/
- void yanshi() //延时;
- {
- unsigned char x1,x2,x3;
- for(x1 =100; x1 >0; x1 --)
- for(x2 =120; x2 >0; x2 --)
- for(x3 =120; x3 >0; x3 --);
- }
- /**************************************************/
- void fuwei() //复位;
- {
- unsigned char fuwei_a1;
- di_1 =0;
- for(fuwei_a1 =100;fuwei_a1 >0;fuwei_a1 --);
- }
- /**************************************************/
- void fa0() //发0;
- {
- di_1 =1;
- _nop_();
- _nop_();
- _nop_();
- _nop_();
- di_1 =0;
- _nop_();
- _nop_();
- _nop_();
- _nop_();
- _nop_();
- _nop_();
- _nop_();
- _nop_();
- }
- /**************************************************/
- void fa1() //发1;
- {
- di_1 =1;
- _nop_();
- _nop_();
- _nop_();
- _nop_();
- _nop_();
- _nop_();
- _nop_();
- _nop_();
- di_1 =0;
- _nop_();
- _nop_();
- _nop_();
- _nop_();
- }
- /**************************************************/
- /**************************************************/
- /**************************************************/
|