Neopixel
pic18f2550-blinking-led2.c
gehe zur Dokumentation dieser Datei
1 /*
2  * ******* blinking led using PIC18F2550 -2 ********
3  * File: pic18f2550-blinking-led2.c
4  *
5  * Author: Ron
6  * This Software is free software: you free to redistribute it or
7  * modify the code way you wish. This software is for educational purpose only.
8  *
9  * The author will not be responsible for any loss or liability whatsoever.
10  * In any circumstances www.rakeshmondal.info shall not be liable for any
11  * special, incidental or consequential damages, for any reason whatsoever.
12  * No guarantee or warranty whatsoever. Free to share
13 /*--------------------------------------------------------------------*/
14 
15 #include <stdio.h>
16 #include <stdlib.h>
17 #include <p18cxxx.h>
18 #include "system.h" // use "" for Includes in aktuell Projectdirectory
19 
20 #define portd_output TRISB = 0
21 int Gbyte ;
22 int Rbyte ;
23 int Bbyte ;
24 int Pixel;
25 int i;
26 
27 void low(void);
28 void high(void);
29 void res(void);
30 //void NeoBit(bit);
31 
32 
33 
34 
35 //#define _XTAL_FREQ 8000000 //20 for the Delays
36 //#pragma config PLLDIV = 5
37 //#pragma config CPUDIV = OSC2_PLL3
38 //#pragma config FOSC = INTOSC_EC
39 //#pragma config WDT = OFF
40 //#pragma config LVP = OFF
41 //#pragma config BOR = OFF
42 //#pragma config MCLRE = ON
43 //#pragma config PWRT = ON
44 //#pragma config PBADEN = OFF
45 
46 Low() // create 0 code T0H = 0,35µs High T0L = 0,7µs
47 {
48  LATB = 0b00000001; // set High
49  _delay(2); //2 =336ns
50  LATB = 0b00000000; // set Low
51  _delay(5);
52 }
53 
54 High() // create 1 code T1H = 0,7µs High T1L = 0,6µs Low
55 {
56  LATB = 0b00000001; // set High
57  _delay(7); //5=582ns 7=748 ns
58  LATB = 0b00000000; // set Low
59  _delay(1) ; // 1=580ns
60 }
61 
62 Res() // create Reset code Treset >= 50µs
63 {
64  LATB = 0b00000000; // set Low
65  _delay(600) ;
66 }
67 
68 void main(void)
69 {
71  portd_output; // PortB pins Output
72 
73  while(1)
74  {
75  // first byte Green
76 
77  for (Pixel =0 ; Pixel<30;Pixel++)
78  {
79  for (Gbyte = 0; Gbyte < 7; Gbyte++)
80  {
81  High();
82  }
83  for (Rbyte = 0; Rbyte < 7; Rbyte++)
84  {
85  High();
86  }
87  for (Bbyte = 0; Bbyte < 7; Bbyte++)
88  {
89  High();
90  }
91  for (Gbyte = 0; Gbyte < 7; Gbyte++)
92  {
93  High();
94  }
95  for (Rbyte = 0; Rbyte < 7; Rbyte++)
96  {
97  High();
98  }
99  for (Bbyte = 0; Bbyte < 7; Bbyte++)
100  {
101  High();
102  }
103  for (Gbyte = 0; Gbyte < 7; Gbyte++)
104  {
105  High();
106  }
107  for (Rbyte = 0; Rbyte < 7; Rbyte++)
108  {
109  High();
110  }
111  for (Bbyte = 0; Bbyte < 7; Bbyte++)
112  {
113  High();
114  }
115 
116  }
117 
118  for (i=0;i<100;i++)
119  {
120  __delay_ms(10);
121  }
122  Res();
123 
124  for (Pixel =0 ; Pixel<30;Pixel++)
125  {
126  for (Gbyte = 0; Gbyte < 7; Gbyte++)
127  {
128  Low();
129  }
130  for (Rbyte = 0; Rbyte < 7; Rbyte++)
131  {
132  High();
133  }
134  for (Bbyte = 0; Bbyte < 7; Bbyte++)
135  {
136  Low();
137  }
138  for (Gbyte = 0; Gbyte < 7; Gbyte++)
139  {
140  High();
141  }
142  for (Rbyte = 0; Rbyte < 7; Rbyte++)
143  {
144  High();
145  }
146  for (Bbyte = 0; Bbyte < 7; Bbyte++)
147  {
148  High();
149  }
150  for (Gbyte = 0; Gbyte < 7; Gbyte++)
151  {
152  High();
153  }
154  for (Rbyte = 0; Rbyte < 7; Rbyte++)
155  {
156  Low();
157  }
158  for (Bbyte = 0; Bbyte < 7; Bbyte++)
159  {
160  Low();
161  }
162 
163  }
164  for (i=0;i<100;i++)
165  {
166  __delay_ms(10);
167  }
168  Res();
169  for (Pixel =0 ; Pixel<30;Pixel++)
170  {
171  for (Gbyte = 0; Gbyte < 7; Gbyte++)
172  {
173  Low();
174  }
175  for (Rbyte = 0; Rbyte < 7; Rbyte++)
176  {
177  Low();
178  }
179  for (Bbyte = 0; Bbyte < 7; Bbyte++)
180  {
181  Low();
182  }
183  for (Gbyte = 0; Gbyte < 7; Gbyte++)
184  {
185  Low();
186  }
187  for (Rbyte = 0; Rbyte < 7; Rbyte++)
188  {
189  Low();
190  }
191  for (Bbyte = 0; Bbyte < 7; Bbyte++)
192  {
193  Low();
194  }
195  for (Gbyte = 0; Gbyte < 7; Gbyte++)
196  {
197  Low();
198  }
199  for (Rbyte = 0; Rbyte < 7; Rbyte++)
200  {
201  Low();
202  }
203  for (Bbyte = 0; Bbyte < 7; Bbyte++)
204  {
205  Low();
206  }
207 
208  }
209  for (i=0;i<100;i++)
210  {
211  __delay_ms(10);
212  }
213  Res();
214 
215  }
216 
217 
218 
219 
220 }
#define portd_output
void res(void)
void high(void)
void low(void)
void main(void)
void ConfigureOscillator(void)
Definition: system.c:24