me parece buena la idea de este curso ya q estoy estydiando microcontroladores y me ha tocado trabajar con este pic 16f877 y he podido ver lo completo y facil de maniobrar q es
Follow along with the video below to see how to install our site as a web app on your home screen.
Nota: This feature currently requires accessing the site using the built-in Safari browser.
#include<pic.h>
/*Definición de entradas y salidas*/
#define v1 RB0
#define v2 RB1
#define v3 RB2
#define v4 RB3
#define paro RD0
#define arranque RD1
#define m1 RD2
#define m2 RD3
#define m3 RC4
#define m4 RC5
/*Inicio de Programa.*/
void ciclo (void);
void main (void)
{
/*Declaración de los puertos como entradas o salidas.*/
TRISD=255;TRISC=255;TRISB=0;
/*Declaración de variables.*/
v1=0;v2=0;v3=0;v4=0;
/*Inicio de secuencia.*/
while(1)
{
if(arranque==0)
{
while(paro==1)
{
v1=1;
v2=0;
v3=0;
v4=1;ciclo1();
v1=1;
v2=0;
v3=0;
v4=0;ciclo2();
v1=1;
v2=0;
v3=1;
v4=0;ciclo3();
v1=0;
v2=1;
v3=1;
v4=0;ciclo1();
v1=0;
v2=0;
v3=1;
v4=0;ciclo2();
v1=1;
v2=0;
v3=1;
v4=0;ciclo3();
}
}
if (arramque==1)
{
while (paro==0)
{
v1=1;
v2=0;
v3=1;
v4=0;
}
while (paro==1)
{
while (m1==0)
}
}
}
void ciclo1 (void)
{
int cont=0,cont2=0;
OPTION=8;TMR0;T0IF=0;
for (cont=0;cont<120;cont++)
{
for (cont2=0;cont2<255;cont2++)
{
if (paro==0)
{
cont=1250;
cont2=64;
}
else
{
while (T0IF==0);T0IF=0;
}
}
}
}
void ciclo2 (void)
{
int cont=0,cont2=0;
OPTION=8;TMR0;T0IF=0;
for (cont=0;cont<48;cont++)
{
for (cont2=0;cont2<255;cont2++)
{
if (paro==0)
{
cont=1250;
cont2=64;
}
else
{
while (T0IF==0);T0IF=0;
}
}
}
}
void ciclo3 (void)
{
int cont=0,cont2=0;
OPTION=8;TMR0;T0IF=0;
for (cont=0;cont<1;cont++)
{
for (cont2=0;cont2<255;cont2++)
{
if (paro==0)
{
cont=1250;
cont2=64;
}
else
{
while (T0IF==0);T0IF=0;
}
}
}
}
#include<pic.h>
#define v1 RB0
#define v2 RB1
#define v3 RB2
#define v4 RB3
#define paro RD0
#define arranque RD1
void ciclo (void);
void main (void)
{
TRISD=255;TRISB=0;
v1=0;v2=0;v3=0;v4=0;
while(1)
{
if(arranque==0)
{
while(paro==1)
{
v1=1;
v2=0;
v3=0;
v4=1;ciclo();
v1=1;
v2=0;
v3=0;
v4=0;ciclo();
}
}
}
}
void ciclo (void)
{
int cont=0,cont2=0;
OPTION=8;TMR0;T0IF=0;
for (cont=0;cont<1;cont++)
{
for (cont2=0;cont2<255;cont2++)
{
if (paro==0)
{
cont=1250;
cont2=64;
}
else
{
while (T0IF==0);T0IF=0;
}
}
}
}
sdcc -mpic14 -p16f877 -V --debug -I/home/erko/Piklab/ -c Seca.c
+ "/usr/bin/sdcpp" -nostdinc -Wall -std=c99 -I"/home/erko/Piklab/" -obj-ext=.o -DSDCC_MODEL_SMALL -DSDCC=270 -DSDCC_pic14 -D__pic14 -DSDCC_PROCESSOR="16f877" -I"/usr/bin/../share/sdcc/include/pic14" -I"/usr/share/sdcc/include/pic14" -I"/usr/bin/../share/sdcc/include" -I"/usr/share/sdcc/include" -I"/usr/bin/../share/sdcc/include/pic" -I"/usr/share/sdcc/include/pic" "Seca.c"
Seca.c:1: 16: error: pic.h: No such file or directory
Seca.c:21: error 20: Undefined identifier 'TRISD'
Seca.c:21: error 20: Undefined identifier 'TRISB'
Seca.c:23: error 20: Undefined identifier 'RB0'
Seca.c:23: error 20: Undefined identifier 'RB1'
Seca.c:23: error 20: Undefined identifier 'RB2'
Seca.c:23: error 20: Undefined identifier 'RB3'
Seca.c:29: error 20: Undefined identifier 'RD1'
Seca.c:33: error 20: Undefined identifier 'RD0'
Seca.c:37: error 20: Undefined identifier 'RB0'
Seca.c:39: error 20: Undefined identifier 'RB1'
Seca.c:41: error 20: Undefined identifier 'RB2'
Seca.c:43: error 20: Undefined identifier 'RB3'
Seca.c:45: error 20: Undefined identifier 'RB0'
Seca.c:47: error 20: Undefined identifier 'RB1'
Seca.c:49: error 20: Undefined identifier 'RB2'
Seca.c:51: error 20: Undefined identifier 'RB3'
Seca.c:67: error 20: Undefined identifier 'OPTION'
Seca.c:67: error 20: Undefined identifier 'TMR0'
Seca.c:67: error 20: Undefined identifier 'T0IF'
Seca.c:77: error 20: Undefined identifier 'RD0'
Seca.c:91: error 20: Undefined identifier 'T0IF'
Seca.c
Seca.c:91: error 20: Undefined identifier 'T0IF'
*** Salida con estado: 1 ***