Sei sulla pagina 1di 5

#include <pic.

h>
#include "delay.c"
//initialize
void configIO(void)
{
TRISD=0xFF; //entrada de 8 bits
TRISC=0xFF; //entrada selectores Por RC0
TRISB=0x00; //salida 1 pin RB0,RB1
PORTB=0x00;
}
char int1,int2,int3,int4,int5,int6,int7,int8;
//************
// funciones
//************
void readata(void) //entrada codigo puerto d
{
int1=RD0;
int2=RD1;
int3=RD2;
int4=RD3;
int5=RD4;
int6=RD5;
int7=RD6;
int8=RD7;
}
// RB0='1';
// DelayMs(500);
// RB0='0';
// DelayMs(500);
void unipolar(void)
{
if(int1==0x01)
{
RB1='1';
DelayMs(1);
RB1='0';
DelayMs(1);
}
else
{
RB1='0';
DelayMs(1);
RB1='1';
DelayMs(1);
}
//2
if(int2==0x01)
{
RB1='1';
DelayMs(1);
RB1='0';
DelayMs(1);
}
else
{
RB1='0';
DelayMs(1);
RB1='1';
DelayMs(1);
}
//3
if(int3==0x01)
{
RB1='1';
DelayMs(1);
RB1='0';
DelayMs(1);
}
else
{
RB1='0';
DelayMs(1);
RB1='1';
DelayMs(1);
}
//4
if(int4==0x01)
{
RB1='1';
DelayMs(1);
RB1='0';
DelayMs(1);
}
else
{
RB1='0';
DelayMs(1);
RB1='1';
DelayMs(1);
}
//5
if(int5==0x01)
{
RB1='1';
DelayMs(1);
RB1='0';
DelayMs(1);
}
else
{
RB1='0';
DelayMs(1);
RB1='1';
DelayMs(1);
}
//6
if(int6==0x01)
{
RB1='1';
DelayMs(1);
RB1='0';
DelayMs(1);
}
else
{
RB1='0';
DelayMs(1);
RB1='1';
DelayMs(1);
}
//7
if(int7==0x01)
{
RB1='1';
DelayMs(1);
RB1='0';
DelayMs(1);
}
else
{
RB1='0';
DelayMs(1);
RB1='1';
DelayMs(1);
}
//8
if(int8==0x01)
{
RB1='1';
DelayMs(1);
RB1='0';
DelayMs(1);
}
else
{
RB1='0';
DelayMs(1);
RB1='1';
DelayMs(1);
}
DelayMs(15);
}
void biponrz(void)
{
if(int1==0x01)
{
RB0=int1;
DelayMs(2);
}
else
{
RB7='1';
DelayMs(2);
}
RB7='0';
RB0='0';
if(int2==0x01)
{
RB0=int2;
DelayMs(2);
}
else
{
RB7='1';
DelayMs(2);
}
RB7='0';
RB0='0';
if(int3==0x01)
{
RB0=int3;
DelayMs(2);
}
else
{
RB7='1';
DelayMs(2);
}
RB7='0';
RB0='0';
if(int4==0x01)
{
RB0=int4;
DelayMs(2);
}
else
{
RB7='1';
DelayMs(2);
}
RB7='0';
RB0='0';
if(int5==0x01)
{
RB0=int5;
DelayMs(2);
}
else
{
RB7='1';
DelayMs(2);
}
RB7='0';
RB0='0';
if(int6==0x01)
{
RB0=int6;
DelayMs(2);
}
else
{
RB7='1';
DelayMs(2);
}
RB7='0';
RB0='0';
if(int7==0x01)
{
RB0=int7;
DelayMs(2);
}
else
{
RB7='1';
DelayMs(2);
}
RB7='0';
RB0='0';
if(int8==0x01)
{
RB0=int8;
DelayMs(2);
}
else
{
RB7='1';
DelayMs(2);
}
RB7='0';
RB0='0';
DelayMs(15);
}
//===========================================
// Main
//===========================================
void main(void)
{
configIO(); //va a la configuracion de pines
for ( ; ; ) //ciclo de trabajo
{
readata();//lee el codigo
if(PORTC==0x00)
{
biponrz();
}
else
{
unipolar();
}

}
}

Potrebbero piacerti anche