Nuevo en el Foro

Registrado: 10 Oct, 2008
Mensajes: 2
|
| BUENOS DIAS.Primero q todo me presento, soy Farid Gonzalez.
Tengo una duda y es la sgte:
He hecho un programita en PIC C para el PIC 16f877 y quisiera simularlo en Proteus mandandole las ordenes desde Visual Basic pero no se como agregarle los parametros en PIC C para que esto sea posible.
Hice el mismo programa en Micro C y si me comunica mediante RS232 pero en PIC C nada.
Aca les anexo el codigo el codigo en PIC C para ver si me pueden ayudar.
Muchas gracias por todo.
Los pines que quiero controlar desde VB son los B.
#include <16F877A.h> // libreria para el manejo del pic16f877a
#use delay(clock=4000000) // declara la frecuencia del cristal
#fuses HS,NOWDT,NOPUT,NOLVP,NOBROWNOUT,NOWRT,NOPROTECT
#define s1 PIN_A0
#define s2 PIN_A1
#define s3 PIN_A2
#define s4 PIN_A3
#define dip1 PIN_B0
#define dip2 PIN_B1
#define m11 PIN_C0
#define m12 PIN_C1
#define m21 PIN_C2
#define m22 PIN_C3
#define on output_high
#define off output_low
#define est input_state
//////// Programa ////////////
///////////////////////////////////////////////////
void main(void)
{
while(1) // Ciclo infinito
{
if(est(s1)==0&&est(s2)==0&&est(s3)==1&&est(s4)==1)
{
on(m11);
off(m12);
on(m21);
off(m22);
}
if(est(s1)==0&&est(s2)==1&&est(s3)==1&&est(s4)==1)
{
off(m11);
on(m12);
on(m21);
off(m22);
}
if(est(s1)==1&&est(s2)==0&&est(s3)==1&&est(s4)==1)
{
on(m11);
off(m12);
off(m21);
on(m22);
}
if(est(s1)==0&&est(s2)==1&&est(s3)==0&&est(s4)==1)
{
off(m11);
on(m12);
on(m21);
off(m22);
}
if(est(s1)==1&&est(s2)==0&&est(s3)==1&&est(s4)==0)
{
on(m11);
off(m12);
off(m21);
on(m22);
}
if(est(dip2)==1&&est(s1)==0&&est(s2)==0&&est(s3)==0&&est(s4)==1)
{
off(m11);
on(m12);
on(m21);
off(m22);
}
if(est(dip2)==1&&est(s1)==0&&est(s2)==0&&est(s3)==1&&est(s4)==0)
{
on(m11);
off(m12);
off(m21);
on(m22);
}
if(est(dip1)==0&&est(s1)==0&&est(s2)==0&&est(s3)==0&&est(s4)==0)
{
off(m11);
on(m12);
on(m21);
off(m22);
}
if(est(dip2)==0&&est(s1)==0&&est(s2)==0&&est(s3)==0&&est(s4)==1)
{
on(m11);
off(m12);
on(m21);
off(m22);
}
if(est(dip2)==0&&est(s1)==0&&est(s2)==0&&est(s3)==1&&est(s4)==0)
{
on(m11);
off(m12);
on(m21);
off(m22);
}
if(est(dip1)==1&&est(s1)==0&&est(s2)==0&&est(s3)==0&&est(s4)==0)
{
on(m11);
off(m12);
off(m21);
on(m22);
}
if(est(s1)==1&&est(s2)==1&&est(s3)==1&&est(s4)==1)
{
off(m11);
off(m12);
off(m21);
off(m22);
}
}
//Fin del programa
}
[/code] |
| |
|
|