Arkadaşlar sizinle bir kod paylaşmak istiyorum. Çinden aldığım led kontrol ünitesindeki kendi sitelerinden indirdiğim kodlar.C bilgim var fakat çok ileri düzey değil onun için siz üstadlarımdan yardım talep ediyorum.Burada BrushOut diye tabir edilen kodun görevi nedir?interneti allak bullak ettim ama yok.Şimdiden teşekkürler
1. #include "STC12C2052.H"
2. #include <ABSACC.H>
3.
4. typedef unsigned char BYTE;
5.
6. sbit SDO=P1^5;
7. sbit SCLK=P1^7;
8.
9. sbit M0=P1^1;
10. sbit M1=P3^3;
11.
12.
13. void BrushOut(BYTE nDots,BYTE dr,BYTE dg,BYTE db)
14. { BYTE i,j,mask;
15.
16. SCLK=0;
17. SDO=0;
18. for(i=0;i<32;i++) { SCLK=1;SCLK=0; }
19.
20. for(i=0;i<NDOTS;I++) mask="0x10;" SCLK="1;SCLK=0;" SDO="1;SCLK=1;SCLK=0;" else dr) & if(mask { for(j="0;j<5;j++)" Ãä³ö5ûºìëÃıÂ¾İ ÃÃÃÃÃä³ö1¸ö?1?Ãğüû>>=1; }
21.
22. mask=0x10;
23. for(j=0;j<5;j++)
24. { if(mask & dg) SDO=1;
25. else SDO=0;
26. SCLK=1;SCLK=0;
27. mask>>=1; }
28.
29. mask=0x10;
30. for(j=0;j<5;j++)
31. { if(mask & db) SDO=1;
32. else SDO=0;
33. SCLK=1;SCLK=0;
34. mask>>=1; }
35. }
36.
37. SDO=0;
38. for(i=0;i<NDOTS;I++) SCLK="1;SCLK=0;" { for(;n t; BYTE n) int delay(unsigned void }
39. for(t=0;t<250;t++) ;
40. }
41.
42. main()
43. { BYTE i,v,n;
44. int x;
45.
46. AUXR=0x01;
47. v=0;n=0;
48. do
49. {
50. XBYTE[0xFA00]=v;
51. XBYTE[0xc000]=0;
52. for(x=0;x<512;x++) XBYTE[0xd000+x]=x;
53. } while((++v)<254);
54.
55. XBYTE[0xF800]=0;
56. XBYTE[0xF800]=1;
57. for(x=0;x<4096;x++)
58. { while(M1==0) ;while(M1==1) ;
59. XBYTE[0xF800+(x & 0xff)]=0; }
60.
61.
62. while(1)
63. {
64.
65. v=4;n++;
66. do
67. {
68. XBYTE[0xFA00]=v;
69. XBYTE[0xc000]=0;
70. for(x=0;x<512;x++) { XBYTE[0xd000+x]=x+n; }
71.
72. } while((++v)<128);
73. }
74. AUXR=0x00;
75. while(1)
76. {
77. for(i=0;i<32;i++)
78. {
79. BrushOut(20,i,0,0);
80. delay(600); }
81.
82.
83. for(i=0;i<32;i++)
84. {
85. BrushOut(20,31-i,i,0);
86. delay(600); }
87.
88. for(i=0;i<32;i++)
89. {
90. BrushOut(20,0,31-i,i);
91. delay(600); }
92.
93. for(i=0;i<32;i++)
94. {
95. BrushOut(20,0,0,31-i);
96. delay(600); }
97.
98.
99. for(i=0;i<32;i++)
100. {
101. BrushOut(20,i,i,i);
102. delay(600); }
103.
104. BrushOut(20,31,0,0);delay(10000);
105. BrushOut(20,31,31,0);delay(10000);
106. BrushOut(20,0,31,0);delay(10000);
107. BrushOut(20,0,31,31);delay(10000);
108. BrushOut(20,0,0,31);delay(10000);
109. BrushOut(20,31,0,31);delay(10000);
110. BrushOut(20,31,31,31);delay(10000);
111. }
112.
113. }
BrushOut(BYTE nDots,BYTE dr,BYTE dg,BYTE db) bu bir fonsiyon
ve değişkenleri byte cinsinden ndots
byte cinsinden dr
byte cinsinden dg
byte cinsinden db