Você está na página 1de 14

LENGUAJE DE PROGRAMACION

Ing. Juan Antonio Gonzlez Ramrez

Reporte de prcticas Puerto Paralelo


Mecatrnica rea de Automatizacin
4to A
Integrantes:
Cesar Noel Sandate
Andrs Prieto Sandoval
Eduardo Salazar Santacruz

Aplicaciones bsicas del lenguaje C para


MECATRONICA
Objetivo general:
Desarrollar y aplicar los conocimientos bsicos del lenguaje C con visin en la
Mecatrnica.

Marco terico:
Lenguaje C
C
es
un lenguaje de programacin de
propsito
general
que
ofrece economa sintctica, control de flujo y estructuras sencillas y un buen conjunto
de operadores. No es un lenguaje de muy alto nivel y no est especializado a ningn
tipo de aplicacin. Esto lo hace un lenguaje potente, con un gran campo de aplicacin.
Este lenguaje ha sido estrechamente ligado al sistema operativo UNIX, puesto que
fueron desarrollados conjuntamente. Sin embargo, este lenguaje no est ligado a
ningn sistema operativo ni a ninguna mquina concreta. Se le suele llamar lenguaje
de programacin de sistemas debido a su utilidad para escribir compiladores y
sistemas operativos, aunque de igual forma se puede desarrollar cualquier tipo de
aplicacin.
La base del C proviene del BCPL, escrito por Martin Richards, y del B escrito por Ken
Thompson en 1970 para el primer sistema UNIX en un DEC PDP-7. Estos son lenguajes
sin tipos, al contrario que el C que proporciona varios tipos de datos. Los tipos que
ofrece son caracteres, nmeros enteros y en coma flotante, de varios tamaos. Adems
se pueden crear tipos derivados mediante la utilizacin de punteros, vectores, registros
y uniones. El primer compilador de
C trabaja con tipos de datos que son directamente tratables por el hardware de la
mayora de computadoras actuales, como son los caracteres, nmeros y direcciones.
Estos tipos de datos pueden ser manipulados por las operaciones aritmticas que
proporcionan las computadoras. No proporciona mecanismos para tratar tipos de datos
que no sean los bsicos, debiendo ser el programador el que los desarrolle. Esto
permite que el cdigo generado sea muy eficiente y de ah el xito que ha tenido como
lenguaje de desarrollo de sistemas. No proporciona otros mecanismos
de almacenamiento de datos que no sea el esttico y no proporciona mecanismos de
entrada ni salida. Esto permite que el lenguaje sea reducido y los compiladores sean
de fcil implementacin en distintos sistemas.

Desarrollo
Practica No.1 blink
Objetivo de la prctica:
Hacer destellar un LED colocado sobre el puerto de datos LPT a una frecuencia de 1
Hz con un ciclo de trabajo del 50%.

Material:
1 resistencia de 330 ohm
1 led

Diagrama de conexin:

Programacin:
#include <stdio.h>
#include <conio.h>
#include <dos.h>
#define BASE 0x378
void main(void)
{
unsigned short int toggle = 0x01;

clrscr();
printf("Presiona una tecla para terminar...");
while(!kbhit())
{
toggle = toggle ^ 0x01;
outportb(BASE,toggle);
delay(250);
}
outportb(BASE,0);
}

Practica No.2 rotabit


Objetivo de la prctica:
Hacer rotar un bit de derecha-izquierda sobre el puerto de datos del LPT con una
velocidad de 500 milisegundos.

Material:
4 resistencias de 330 ohm
1 banco de leds

Diagrama de conexin:

Programacin:
#include <stdio.h>
#include <conio.h>
#include <dos.h>
#define BASE 0x378
void main(void)
{
unsigned short int dato = 1;

while(!kbhit())
{
clrscr();
gotoxy(1,1);
printf("dato = %d",dato);

outportb(BASE,dato);
delay(250);

dato = dato<<1;

if(dato>128)
dato = 1;
}

outportb(BASE,0);
}

Practica No.3 count


Objetivo de la prctica:
Implementar un contador binario de 4 Bits usando el puerto LPT con una velocidad de
0.5 segundo por cuenta.

Material:
8 resistencia de 330 ohm
1 un banco de leds

Diagrama de conexin:

Programacin:
#include <stdio.h>
#include <conio.h>
#include <dos.h>
#define BASE 0x378
void main(void)
{
unsigned short int dato = 1;

while(!kbhit())
{
clrscr();
gotoxy(1,1);
printf("dato = %d",dato);
outportb(BASE,dato);
delay(250);
dato = dato<<1;
if(dato>128)
dato = 1;
}
outportb(BASE,0);
}

Practica No.4 Inout


Objetivo de la prctica:
Reflejar el estado de las entradas del puerto LPT sobre el puerto de salida del mismo
puerto.

Material:
4 resistencias de 330 ohm
1 banco de leds
4 resistencias de 4.7k ohm
1 dip switch de 4

Diagrama de conexin:

Programacin:
#include <stdio.h>
#include <conio.h>
#include <dos.h>

#define BASE 0x378


void main(void)
{
unsigned short int dato;
clrscr();
while(!kbhit())
{
dato = ((inportb(BASE+1) & 0xF0) ^ 0x80) >> 4;
gotoxy(1,1);
printf("dato = ");
gotoxy(1,1);
printf("dato = %d",dato);
outportb(BASE,dato);
}
}

Practica No.5 mclock


Objetivo de la prctica:
Sincronizar el reloj de la computadora con display de 7 segmentos controlados por el
puerto LPT emulado. Usar GAL22V10 para el decodificador de binario BCD a display
de 7 segmentos.

Material:
1 resistencia de 4.7k ohm
1 7448
1 7404 (NOT)
1 display de 7 segmentos

Diagrama de conexin:

Programacin:
#include <stdio.h>
#include <conio.h>
#include <dos.h>

#define BASE 0x378


void main(void)
{
struct time t;
unsigned short int n,i,j,xtime[6];
while(!kbhit())
{
gettime(&t);
xtime[0] = (t.ti_hour)/10;
xtime[1] = (t.ti_hour)%10;
xtime[2] = (t.ti_min)/10;
xtime[3] = (t.ti_min)%10;
xtime[4] = (t.ti_sec)/10;
xtime[5] = (t.ti_sec)%10;
clrscr();
n = 0;
printf("Time = ");
for(i=0;i<=5;i++)
{
printf("%d",xtime[i]);
n++;
if((n>1)&&(i<5))
{
n = 0;
printf(":");
}
}
for(j=0;j<=11;j++)
{
n = 16;

for(i=0;i<=3;i++)
{
outportb(BASE,((n << i) | xtime[i]));
delay(2);
outportb(BASE,0);
}
if(kbhit())
break;
}
}
}

Conclusiones:
Con estas prcticas se ejemplifico el uso del lenguaje C en turbo C utilizando el
simulador del puerto paralelo. As como las aplicaciones que tiene el puerto paralelo
como el turbo C ya que con anterioridad dentro del equipo se crea y adems se vea
como algo simple sin embargo al realizar estas prcticas se pueden entender mucho
mejor y de manera breve el uso que estas tienen y an las posibles aplicaciones que
se les puede dar. Entendemos que el lenguaje C lo encontramos en la mayor parte del
tiempo en la programacin ya que es considerado como un lenguaje base de la
programacin. Con esto tambin entendemos que, si uno aprende a manejar el
Lenguaje C, otro lenguaje de programacin puede ser sencillo de aprender, y adems
se pueden efectuar nuevas aplicaciones o funciones que nosotros o el consumidor
desee. Cabe recalcar que el lenguaje C es sumamente importante por lo ya mencionado
que es un lenguaje base para todas las maquinas.
Tambin, y a pesar de que la materia no es sobre digitales, se entendieron mejor unas
aplicaciones e integrados que en cuatrimestres anteriores no haban quedado claro. Es
tambin que de esta forma podemos tener una explicacin y una forma ms clara de
entender conceptos de Digitales, junto con el lenguaje de la programacin, ya que si
nos ponemos analizar el lenguaje C junto con circuitos elctricos ya sea digitales o
analgicos etc. etc. son importantes ya que con esto es como podemos formar un
control para un sistema para cualquier cosa que la industria demande. Es as tambin
que se entiendo mejor an la importancia de cada una de las materias y de cmo es
empleada la programacin con el circuito. Utilizando un Atmega 88 que simulaba un
puerto paralelo, se realiz un circuito elctrico, que era esencial para el uso de esto ya
que de esta manera seria la forma en la que la PC y el Atmega se podran comunicar,
de otra forma no podra ser posible.
Otra conclusin y punto importante que encontramos como equipo, es que al realizar
un circuito como el que se us para el simulador, es necesario realizarlo de manera
ordenada y limpia, ya que as uno como tcnico puede revisar y detectar de manera
ms clara alguna falla, ya sea una mala conexin, un falso contacto, o incluso un
elemento del circuito que no funcione. As el cambio se hace rpido y de la misma
manera, ordenada. Gracias a esto nos dimos cuenta que la conexin de PC a LPT fue
ms rpida y no como en otros equipos que al realizar un circuito no muy ordenada,
tuvieron mas fallas que nosotros.

Você também pode gostar