Amigos foreros envio otro codigo para el manejo de 4 displays tambien tengo algunas dudas
#include <16f876.h>
#fuses XT,NOWDT
#use delay(clock=4M)
#define clock pin_b0
#define dato pin_b1
#define reset pin_b2
const int alfa[4][8]={0XFF,0XFF,0X18,0X18,0X18,0XFF,0XFF,0X00 //H
0X7E,0XFF,0XC3,0XC3,0XC3,0XFF,0X7E,0X00 //O
0XFF,0XFF,0XC0,0XC0,0XC0,0XC0,0XC0,0X00 //L
0XFC,0XFE,0X1B,0X19,0X1B,0XFE,0XFC,0X00}; //A
int max;
int cont=0;
int fila;
int columna=0;
void send_data(short data){
output_bit(dato,data);
output_bit(clock,0);
output_bit(clock,1);
}
void clear(){
for(max=1;max<=32;max++){
send_data(0);
}
}
void main(){
set_tris_c(0x00);
output_c(0x00);
set_tris_b(0x00);
output_b(0x00);
output_bit(reset,1);
clear();
send_data(1);
while(1){
for(fila=0;fila<=7;fila++){
output_c(~alfa[columna][fila]);
delay_ms(1);
send_data(0); // PORQUE NO SE ENVIA send_data(1), como el ejm anterior
}
columna++;
if(columna==4){
columna=0;
send_data(1); // CUAL ES SU USO
}
}
}
De igual manera me sirvio y funciona bien envio la imagen en proteus