Diagrama de Circuito
Diseño PCB
Vista 3D
Circuito montado en Protoboard
Código
Código C - PIC16F628A
// Conteo automático con un display 7 Segmentos de ánodo común
// http://habacucelectronics.blogspot.com/
// habacuc.electronics@gmail.com
// Autor: Samuel Ramsbott
// Versión:PIC C Compiler 5.025
#include <16F628A.h>
#fuses HS,NOWDT,PUT,NOPROTECT
#use delay(crystal=8000000)
#use standard_io(b) // Manejo del puerto B
// Configuración de los patrones para cada dígito (ánodo común)
int conteo[10] = {
0b10000001, // 0
0b11100111, // 1
0b10010010, // 2
0b11000010, // 3
0b11100100, // 4
0b11001000, // 5
0b10001000, // 6
0b11100011, // 7
0b10000000, // 8
0b11100000 // 9
};
int i = 0; // Variable contador
void main() {
set_tris_b(0b00000000); // Configura todo el puerto B como salida
output_b(0b00000000); // Apaga todos los segmentos inicialmente
while(true) { // Bucle infinito
for(i = 0; i <= 9; i++) { // Recorre los dígitos del 0 al 9
output_b(conteo[i]); // Muestra el dígito actual
delay_ms(500); // Espera 500 ms entre dígitos
}
}
}
// http://habacucelectronics.blogspot.com/
// habacuc.electronics@gmail.com
// Autor: Samuel Ramsbott
// Versión:PIC C Compiler 5.025
#include <16F628A.h>
#fuses HS,NOWDT,PUT,NOPROTECT
#use delay(crystal=8000000)
#use standard_io(b) // Manejo del puerto B
// Configuración de los patrones para cada dígito (ánodo común)
int conteo[10] = {
0b10000001, // 0
0b11100111, // 1
0b10010010, // 2
0b11000010, // 3
0b11100100, // 4
0b11001000, // 5
0b10001000, // 6
0b11100011, // 7
0b10000000, // 8
0b11100000 // 9
};
int i = 0; // Variable contador
void main() {
set_tris_b(0b00000000); // Configura todo el puerto B como salida
output_b(0b00000000); // Apaga todos los segmentos inicialmente
while(true) { // Bucle infinito
for(i = 0; i <= 9; i++) { // Recorre los dígitos del 0 al 9
output_b(conteo[i]); // Muestra el dígito actual
delay_ms(500); // Espera 500 ms entre dígitos
}
}
}
Para obtener el código y la simulación en Proteus haz click sobre descargar.
Comentario Blogger
Comentario Facebook