Hola, quisiera saber cómo controlar la velocidad ascendente y descendentemente de las secuencias. Con dos pulsos en el puerto A3 y A4 respectivamente.
Eso es una, además cómo declaro los puertos A5 para reset y A6 y A7 para el oscilador, por que solo declaré ::
set_tris_b(0x00);
set_tris_a(0xFF); //Todos los puertos A como entradas
Anteriormente, utilicé el pic16F84 hay no hubo problemas en declarar los puertos, Pero no habia mucho espacio para lo que requería, por tanto, ahora uso el 16F88, y pues solo cambié esto:
#include <16f88.h>
y lo demás lo dejé como está. La simulación en Proteus ISIS está bien, pero como ven la declaracion del puerto A esta mal a mi entender. por que solo estoy utilizando como entradas:
A0, A1, A2 y bueno Tambien A5 como reset.
Bueno, esas son mis dos dudas, gracias por tomarse la molestia de leer.
PD: si existe algun tema en el foro, linkeemenla, porque eh buscado y no eh encontrado algún tema parecido a lo que busco.
Codigo fuente la modifiqué para una secuencia:
Eso es una, además cómo declaro los puertos A5 para reset y A6 y A7 para el oscilador, por que solo declaré ::
set_tris_b(0x00);
set_tris_a(0xFF); //Todos los puertos A como entradas
Anteriormente, utilicé el pic16F84 hay no hubo problemas en declarar los puertos, Pero no habia mucho espacio para lo que requería, por tanto, ahora uso el 16F88, y pues solo cambié esto:
#include <16f88.h>
y lo demás lo dejé como está. La simulación en Proteus ISIS está bien, pero como ven la declaracion del puerto A esta mal a mi entender. por que solo estoy utilizando como entradas:
A0, A1, A2 y bueno Tambien A5 como reset.
Bueno, esas son mis dos dudas, gracias por tomarse la molestia de leer.
PD: si existe algun tema en el foro, linkeemenla, porque eh buscado y no eh encontrado algún tema parecido a lo que busco.
Codigo fuente la modifiqué para una secuencia:
Código:
#include <16f88.h>
#fuses XT,NOWDT,NOPROTECT,PUT
#use delay (clock=20000000)
#ZERO_RAM
void main(void)
{
char i;
char tabla3s[10]={0x81,0x42,0x24,0x18,0x24,0x42,0x81};
set_tris_b(0x00);
set_tris_a(0xFF);
disable_interrupts(GLOBAL);
ABC:; output_b(0x00);
do{
if(input(PIN_A1)&&(!input(PIN_A0))&&(!input(PIN_A2))) {
for (i=0;i<=6;i++){
output_b(tabla3s[i]);
delay_ms(100);}
}
else
goto ABC;
}while(TRUE);
}
Última edición por un moderador: