00098 {
00099
00100
00101 uns8 x;
00102 uns8 data_upper, data_lower;
00103
00104
00105 bright_count++;
00106
00107 if (bright_count > bright_level) {
00108
00109 set_pin(ea_ldp6432_en_port, ea_ldp6432_en_pin);
00110 }
00111
00112 if (bright_count == MAX_BRIGHTNESS) {
00113 bright_count = 255;
00114
00115
00116
00117 for (x = 0; x < 16; x++) {
00118 data_upper = buffer0[buffer_position0];
00119 data_lower = buffer1[buffer_position0];
00120
00121 set_pins_r1_g1_r2_g2();
00122
00123 if (data_upper.0) {
00124 clear_pin(ea_ldp6432_r1_port, ea_ldp6432_r1_pin);
00125 }
00126 if (data_upper.1) {
00127 clear_pin(ea_ldp6432_g1_port, ea_ldp6432_g1_pin);
00128 }
00129 if (data_lower.0) {
00130 clear_pin(ea_ldp6432_r2_port, ea_ldp6432_r2_pin);
00131 }
00132 if (data_lower.1) {
00133 clear_pin(ea_ldp6432_g2_port, ea_ldp6432_g2_pin);
00134 }
00135
00136 clear_pin(ea_ldp6432_s_port, ea_ldp6432_s_pin);
00137 set_pin (ea_ldp6432_s_port, ea_ldp6432_s_pin);
00138
00139 set_pins_r1_g1_r2_g2();
00140
00141 if (data_upper.2) {
00142 clear_pin(ea_ldp6432_r1_port, ea_ldp6432_r1_pin);
00143 }
00144 if (data_upper.3) {
00145 clear_pin(ea_ldp6432_g1_port, ea_ldp6432_g1_pin);
00146 }
00147 if (data_lower.2) {
00148 clear_pin(ea_ldp6432_r2_port, ea_ldp6432_r2_pin);
00149 }
00150 if (data_lower.3) {
00151 clear_pin(ea_ldp6432_g2_port, ea_ldp6432_g2_pin);
00152 }
00153
00154 clear_pin(ea_ldp6432_s_port, ea_ldp6432_s_pin);
00155 set_pin (ea_ldp6432_s_port, ea_ldp6432_s_pin);
00156
00157 set_pins_r1_g1_r2_g2();
00158
00159 if (data_upper.4) {
00160 clear_pin(ea_ldp6432_r1_port, ea_ldp6432_r1_pin);
00161 }
00162 if (data_upper.5) {
00163 clear_pin(ea_ldp6432_g1_port, ea_ldp6432_g1_pin);
00164 }
00165 if (data_lower.4) {
00166 clear_pin(ea_ldp6432_r2_port, ea_ldp6432_r2_pin);
00167 }
00168 if (data_lower.5) {
00169 clear_pin(ea_ldp6432_g2_port, ea_ldp6432_g2_pin);
00170 }
00171
00172 clear_pin(ea_ldp6432_s_port, ea_ldp6432_s_pin);
00173 set_pin (ea_ldp6432_s_port, ea_ldp6432_s_pin);
00174
00175 set_pins_r1_g1_r2_g2();
00176
00177
00178 if (data_upper.6) {
00179 clear_pin(ea_ldp6432_r1_port, ea_ldp6432_r1_pin);
00180 }
00181 if (data_upper.7) {
00182 clear_pin(ea_ldp6432_g1_port, ea_ldp6432_g1_pin);
00183 }
00184 if (data_lower.6) {
00185 clear_pin(ea_ldp6432_r2_port, ea_ldp6432_r2_pin);
00186 }
00187 if (data_lower.7) {
00188 clear_pin(ea_ldp6432_g2_port, ea_ldp6432_g2_pin);
00189 }
00190
00191 clear_pin(ea_ldp6432_s_port, ea_ldp6432_s_pin);
00192 set_pin (ea_ldp6432_s_port, ea_ldp6432_s_pin);
00193
00194 buffer_position0++;
00195 }
00196
00197 #if ea_ldp6432_displays == 2
00198 for (x = 0; x < 16; x++) {
00199 data_upper = buffer2[buffer_position1];
00200 data_lower = buffer3[buffer_position1];
00201
00202 set_pins_r1_g1_r2_g2();
00203
00204 if (data_upper.0) {
00205 clear_pin(ea_ldp6432_r1_port, ea_ldp6432_r1_pin);
00206 }
00207 if (data_upper.1) {
00208 clear_pin(ea_ldp6432_g1_port, ea_ldp6432_g1_pin);
00209 }
00210 if (data_lower.0) {
00211 clear_pin(ea_ldp6432_r2_port, ea_ldp6432_r2_pin);
00212 }
00213 if (data_lower.1) {
00214 clear_pin(ea_ldp6432_g2_port, ea_ldp6432_g2_pin);
00215 }
00216
00217 clear_pin(ea_ldp6432_s_port, ea_ldp6432_s_pin);
00218 set_pin (ea_ldp6432_s_port, ea_ldp6432_s_pin);
00219
00220 set_pins_r1_g1_r2_g2();
00221
00222 if (data_upper.2) {
00223 clear_pin(ea_ldp6432_r1_port, ea_ldp6432_r1_pin);
00224 }
00225 if (data_upper.3) {
00226 clear_pin(ea_ldp6432_g1_port, ea_ldp6432_g1_pin);
00227 }
00228 if (data_lower.2) {
00229 clear_pin(ea_ldp6432_r2_port, ea_ldp6432_r2_pin);
00230 }
00231 if (data_lower.3) {
00232 clear_pin(ea_ldp6432_g2_port, ea_ldp6432_g2_pin);
00233 }
00234
00235 clear_pin(ea_ldp6432_s_port, ea_ldp6432_s_pin);
00236 set_pin (ea_ldp6432_s_port, ea_ldp6432_s_pin);
00237
00238 set_pins_r1_g1_r2_g2();
00239
00240 if (data_upper.4) {
00241 clear_pin(ea_ldp6432_r1_port, ea_ldp6432_r1_pin);
00242 }
00243 if (data_upper.5) {
00244 clear_pin(ea_ldp6432_g1_port, ea_ldp6432_g1_pin);
00245 }
00246 if (data_lower.4) {
00247 clear_pin(ea_ldp6432_r2_port, ea_ldp6432_r2_pin);
00248 }
00249 if (data_lower.5) {
00250 clear_pin(ea_ldp6432_g2_port, ea_ldp6432_g2_pin);
00251 }
00252
00253 clear_pin(ea_ldp6432_s_port, ea_ldp6432_s_pin);
00254 set_pin (ea_ldp6432_s_port, ea_ldp6432_s_pin);
00255
00256 set_pins_r1_g1_r2_g2();
00257
00258
00259 if (data_upper.6) {
00260 clear_pin(ea_ldp6432_r1_port, ea_ldp6432_r1_pin);
00261 }
00262 if (data_upper.7) {
00263 clear_pin(ea_ldp6432_g1_port, ea_ldp6432_g1_pin);
00264 }
00265 if (data_lower.6) {
00266 clear_pin(ea_ldp6432_r2_port, ea_ldp6432_r2_pin);
00267 }
00268 if (data_lower.7) {
00269 clear_pin(ea_ldp6432_g2_port, ea_ldp6432_g2_pin);
00270 }
00271
00272 clear_pin(ea_ldp6432_s_port, ea_ldp6432_s_pin);
00273 set_pin (ea_ldp6432_s_port, ea_ldp6432_s_pin);
00274
00275 buffer_position1++;
00276 }
00277
00278 #endif
00279
00280
00281 set_pin(ea_ldp6432_en_port, ea_ldp6432_en_pin);
00282
00283 clear_pin(ea_ldp6432_a_port, ea_ldp6432_a_pin);
00284 clear_pin(ea_ldp6432_b_port, ea_ldp6432_b_pin);
00285 clear_pin(ea_ldp6432_c_port, ea_ldp6432_c_pin);
00286 clear_pin(ea_ldp6432_d_port, ea_ldp6432_d_pin);
00287 if (current_row.0) { set_pin(ea_ldp6432_a_port, ea_ldp6432_a_pin); }
00288 if (current_row.1) { set_pin(ea_ldp6432_b_port, ea_ldp6432_b_pin); }
00289 if (current_row.2) { set_pin(ea_ldp6432_c_port, ea_ldp6432_c_pin); }
00290 if (current_row.3) { set_pin(ea_ldp6432_d_port, ea_ldp6432_d_pin); }
00291
00292
00293 set_pin(ea_ldp6432_l_port, ea_ldp6432_l_pin);
00294 clear_pin(ea_ldp6432_l_port, ea_ldp6432_l_pin);
00295
00296
00297 clear_pin(ea_ldp6432_en_port, ea_ldp6432_en_pin);
00298
00299 current_row++;
00300
00301 if (current_row == 16) {
00302 buffer_position0 = 0;
00303 #if ea_ldp6432_displays == 2
00304 buffer_position1 = 0;
00305 #endif
00306 current_row = 0;
00307 }
00308
00309 }
00310 }