00115 {
00116
00117
00118 uns8 x;
00119 uns8 data;
00120
00121 bright_count++;
00122
00123 if (bright_count > bright_level) {
00124
00125 clear_pin(ea_ldp8008_en_port, ea_ldp8008_en_pin);
00126 }
00127
00128
00129
00130 if (bright_count == MAX_BRIGHTNESS) {
00131 bright_count = 255;
00132
00133
00134
00135
00136
00137 #if ea_ldp8008_displays == 2
00138 #warning "This doesn't work!!"
00139
00140
00141
00142
00143 #endif
00144
00145 for (x = 0; x < 20; x++) {
00146 data = buffer0[buffer_position0];
00147
00148 set_pins_r_g();
00149
00150 if (data.0) {
00151 clear_pin(ea_ldp8008_r_port, ea_ldp8008_r_pin);
00152 }
00153 if (data.1) {
00154 clear_pin(ea_ldp8008_g_port, ea_ldp8008_g_pin);
00155 }
00156
00157 clear_pin(ea_ldp8008_s_port, ea_ldp8008_s_pin);
00158 set_pin (ea_ldp8008_s_port, ea_ldp8008_s_pin);
00159
00160 set_pins_r_g();
00161
00162 if (data.2) {
00163 clear_pin(ea_ldp8008_r_port, ea_ldp8008_r_pin);
00164 }
00165 if (data.3) {
00166 clear_pin(ea_ldp8008_g_port, ea_ldp8008_g_pin);
00167 }
00168
00169 clear_pin(ea_ldp8008_s_port, ea_ldp8008_s_pin);
00170 set_pin (ea_ldp8008_s_port, ea_ldp8008_s_pin);
00171
00172 set_pins_r_g();
00173
00174 if (data.4) {
00175 clear_pin(ea_ldp8008_r_port, ea_ldp8008_r_pin);
00176 }
00177 if (data.5) {
00178 clear_pin(ea_ldp8008_g_port, ea_ldp8008_g_pin);
00179 }
00180
00181 clear_pin(ea_ldp8008_s_port, ea_ldp8008_s_pin);
00182 set_pin (ea_ldp8008_s_port, ea_ldp8008_s_pin);
00183
00184 set_pins_r_g();
00185
00186
00187 if (data.6) {
00188 clear_pin(ea_ldp8008_r_port, ea_ldp8008_r_pin);
00189 }
00190 if (data.7) {
00191 clear_pin(ea_ldp8008_g_port, ea_ldp8008_g_pin);
00192 }
00193
00194 clear_pin(ea_ldp8008_s_port, ea_ldp8008_s_pin);
00195 set_pin (ea_ldp8008_s_port, ea_ldp8008_s_pin);
00196
00197 buffer_position0++;
00198 }
00199
00200 #if ea_ldp8008_displays == 2
00201 #warning "need to work on this"
00202 for (x = 0; x < 16; x++) {
00203 data_upper = buffer2[count_byte_disp2];
00204 data_lower = buffer3[count_byte_disp2];
00205
00206 set_pins_r_g();
00207
00208 if (data_upper.0) {
00209 clear_pin(ea_ldp8008_r_port, ea_ldp8008_r_pin);
00210 }
00211 if (data_upper.1) {
00212 clear_pin(ea_ldp8008_g_port, ea_ldp8008_g_pin);
00213 }
00214
00215 clear_pin(ea_ldp8008_s_port, ea_ldp8008_s_pin);
00216 set_pin (ea_ldp8008_s_port, ea_ldp8008_s_pin);
00217
00218 set_pins_r_g();
00219
00220 if (data_upper.2) {
00221 clear_pin(ea_ldp8008_r_port, ea_ldp8008_r_pin);
00222 }
00223 if (data_upper.3) {
00224 clear_pin(ea_ldp8008_g_port, ea_ldp8008_g_pin);
00225 }
00226
00227 clear_pin(ea_ldp8008_s_port, ea_ldp8008_s_pin);
00228 set_pin (ea_ldp8008_s_port, ea_ldp8008_s_pin);
00229
00230 set_pins_r_g();
00231
00232 if (data_upper.4) {
00233 clear_pin(ea_ldp8008_r_port, ea_ldp8008_r_pin);
00234 }
00235 if (data_upper.5) {
00236 clear_pin(ea_ldp8008_g_port, ea_ldp8008_g_pin);
00237 }
00238
00239 clear_pin(ea_ldp8008_s_port, ea_ldp8008_s_pin);
00240 set_pin (ea_ldp8008_s_port, ea_ldp8008_s_pin);
00241
00242 set_pins_r_g();
00243
00244
00245 if (data_upper.6) {
00246 clear_pin(ea_ldp8008_r_port, ea_ldp8008_r_pin);
00247 }
00248 if (data_upper.7) {
00249 clear_pin(ea_ldp8008_g_port, ea_ldp8008_g_pin);
00250 }
00251
00252 clear_pin(ea_ldp8008_s_port, ea_ldp8008_s_pin);
00253 set_pin (ea_ldp8008_s_port, ea_ldp8008_s_pin);
00254
00255 count_byte_disp2++;
00256 }
00257
00258 #endif
00259
00260
00261 clear_pin(ea_ldp8008_en_port, ea_ldp8008_en_pin);
00262
00263 clear_pin(ea_ldp8008_a_port, ea_ldp8008_a_pin);
00264 clear_pin(ea_ldp8008_b_port, ea_ldp8008_b_pin);
00265 clear_pin(ea_ldp8008_c_port, ea_ldp8008_c_pin);
00266 if (current_row.0) {
00267 set_pin(ea_ldp8008_a_port, ea_ldp8008_a_pin);
00268 }
00269 if (current_row.1) {
00270 set_pin(ea_ldp8008_b_port, ea_ldp8008_b_pin);
00271 }
00272 if (current_row.2) {
00273 set_pin(ea_ldp8008_c_port, ea_ldp8008_c_pin);
00274 }
00275
00276 set_pin(ea_ldp8008_l_port, ea_ldp8008_l_pin);
00277 clear_pin(ea_ldp8008_l_port, ea_ldp8008_l_pin);
00278
00279
00280 set_pin(ea_ldp8008_en_port, ea_ldp8008_en_pin);
00281
00282 current_row++;
00283 if (current_row == 8) {
00284 buffer_position0 = 0;
00285 current_row = 0;
00286 }
00287 }
00288
00289 }