Autor Tema: Alguien me puedo orientar a como hacer un diagrama en Proteus?  (Leído 1147 veces)

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado Marc van Nistelrooy

  • PIC10
  • *
  • Mensajes: 4
Alguien me puedo orientar a como hacer un diagrama en Proteus?
« en: 07 de Abril de 2022, 16:07:52 »
Hola, tengo un código de un carro seguidor de línea, solo que no tengo idea de como poder hacer mi diagrama en Proteus.

#include <18f4550.h>
#FUSES NOWDT, XT, NOPUT, NOPROTECT
#use delay(clock=4000000)
#use standard_io(B)
#use standard_io(A)
#byte puerto_b = 06
#byte puerto_a = 05

int secuencia1, secuencia2,secuencia;
short int S0,S1,S2,S3;
short int estadoM1, estadoM2;

void MOTOR1_ADELANTE (void)
{
secuencia1 = 0x02;
secuencia= (secuencia1 + secuencia2);
output_a(secuencia);
}
void MOTOR1_RETRO (void)
{
secuencia1 = 0x01;
secuencia= (secuencia1 + secuencia2);
output_a(secuencia);
}
void MOTOR2_ADELANTE (void)
{
secuencia2 = 0x04;
secuencia= (secuencia1 + secuencia2);
output_a(secuencia);
}
void MOTOR2_RETRO (void)
{
secuencia2 =0x08;
secuencia= (secuencia1 + secuencia2);
output_a(secuencia);
}
void main( void )
{
set_tris_a( 0x00 ); /* puerto B como salida */
set_tris_b( 0x0f ); /* puerto A como entrada*/
do
{
S0=input(PIN_B0);
S1=input(PIN_B1);
S2=input(PIN_B2);
S3=input(PIN_B3);

estadoM1 = ((S0&~S1)|(S0& ~S2&S1)|(~S0&~S1&~S2&~S3));
estadoM2 = ((~S0&S1)|(S0& ~S3&S1)|(~S0&~S1&~S2&~S3));
if (estadoM1==1)
MOTOR1_ADELANTE();
else
MOTOR1_RETRO();
if (estadoM2==1)
MOTOR2_ADELANTE();
else
MOTOR2_RETRO();
} while( TRUE ); /* Repetir siempre */
}