Вы находитесь на странице: 1из 6

Universidad Nacional

Autónoma de México

Facultad de Ingeniería

Ingeniería en Computación

Alumnos: Morelos Alquezada Mario David

Medina Mena Annibal

Ríos Salazar Luis Francisco

Salazar Santiago Juan Carlos

Guzmán Esquivel Raúl

Grupo: 3

Materia: Microcomputadoras

Profesor: Arredondo Garza José Antonio de Jesús M.I.


OBJETIVO.

El alumno se relacionará con el microcontrolador PIC18F2550 mediante la


programación en lenguaje C, además verificará el funcionamiento de este mediante
una prueba con un programa y con una PCB ya armada.

INTRODUCCION.

En esta práctica verificamos el funcionamiento de la PCB ya ensamblada la cual


contiene al microcontrolador PIC18F2550 y mediante un programa en lenguaje C
podremos observar como encienden y apagan ciertos LEDS, todo esto se cargará
mediante un bootloader proporcionado por el profesor, esto con el objetivo de
verificar el correcto funcionamiento de la PCB.
PROGRAMA.

#include <p18f2550.h> // Header propio del PIC18F4550.


#include <delays.h> // Header de las rutinas de retardo.
///////////////////////////////////////
// FUNCIÓN PROTOTIPO DE INTERRUPCIÓN //
///////////////////////////////////////
void HighPriorityISRCode(); //interrupt function prototype
void LowPriorityISRCode();
extern void _startup (void); // directorio del compilador C18
#pragma code REMAPPED_RESET_VECTOR = 0x1000 // Remapeo del
RESET a la dirección 0x1000
void _reset (void)
{ _asm goto _startup _endasm
}
#pragma code REMAPPED_HIGH_INTERRUPT_VECTOR = 0x1008
void Remapped_High_ISR (void)
{
_asm goto HighPriorityISRCode _endasm
}
#pragma code REMAPPED_LOW_INTERRUPT_VECTOR = 0x1018
void Remapped_Low_ISR (void)
{_asm goto LowPriorityISRCode _endasm }
#pragma code

void main(void)
{
ADCON1 = 0x07; // Modo Digital el Puerto B.
TRISBbits.TRISB0 = 0; // Pin RB0 como salida.
TRISBbits.TRISB1 = 0; // Pin RB1 como salida.
TRISBbits.TRISB2 = 0; // Pin RB2 como salida.
TRISBbits.TRISB3 = 0; // Pin RB3 como salida.
while(1)
{
PORTBbits.RB0 = 0;
PORTBbits.RB1 = 0;
PORTBbits.RB2 = 1;
PORTBbits.RB3 = 1;
Delay10KTCYx(255);
PORTBbits.RB0 = 1;
PORTBbits.RB1 = 1;
PORTBbits.RB2 = 0;
PORTBbits.RB3 = 0;
Delay10KTCYx(255);
}

//*****************************************************************//
// El retorno de esta función será un "retfie" rápido, ya que esta //
// sección está en un "#pragma interrupt" //
//*****************************************************************//

#pragma interrupt HighPriorityISRCode


void HighPriorityISRCode()
{
}

//**********************************************************//
// El retorno de esta función será un "retfie", ya que esta //
// sección está en "#pragma interruplow" //
//**********************************************************//

#pragma interruptlow LowPriorityISRCode


void LowPriorityISRCode()
{

}
CONCLUSIONES.

Salazar Santiago Juan Carlos.

En esta práctica tuvimos varios inconvenientes porque la PCB tenían algunos fallos
además de que los primeros bootloaders no funcionan bien, pero al final con la
versión 5.0 de la PCB proporcionada por el profesor junto con el bootloader
logramos comprender el funcionamiento físico y lógico del PIC18F2550 además de
sus características físicas así como el entendimiento de ciertos programas en
lenguaje C especiales para este PIC.

Raúl Guzmán Esquivel:

Aunque en esta práctica tuvimos algunas complicaciones más que nada con la
tarjeta debido a que no funcionaba de manera correcta, al final pudimos conectar
adecuadamente los elementos de la práctica, así como el PIC. Además, aprendimos
físicamente el funcionamiento de este microcontrolador PIC18, así como sus
múltiples usos. Este microcontrolador fabricado por Microchip se programa con el
entorno de desarrollo llamado MPLAB y este incluye un simulador y un
ensamblador.

Ríos Salazar Luis Francisco

Con el desarrollo de los proyectos con la tarjeta el mayor inconveniente que tuvimos
fue justamente con la tarjeta, pero a pesar de ello pudimos aprender sobre todas las
características del PIC, así como la forma en la que esta trabaja. Sin duda todo lo
visto durante el semestre es muy valioso ya que poder programar en una PIC
requiere buenos conocimientos en lenguaje ensamblador y si los tienes, programar
en lenguajes de alto nivel no sería un reto.

Medina Mena Aníbal

Al manejar la tarjeta, y usar los códigos de esta podemos concluir que se cumplió el
objetivo de aprender a manejar la picf18.

Morelos Alquezada Mario David

El proyecto trato de cumplir plenamente el conocer la tarjeta y poder armarla dado


que conocíamos el datasheet y basándonos en ese documento podíamos hacer una
nueva forma de poder correr los programas conociendo el ensamblador, utilizando
toda una metodología de uso. Lo cual se cumplió por que conocimos cómo
funcionaba una tarjeta como se podía hacer más el uso de esta en la aplicación de
correr el ensamblador en la tarjeta y se carga.
De las cosas que más se complicaron fueron el hecho de que la tarjeta fallaba en el
diseño y por lo tanto no se podía correr ningún programa y esto afectaba al
funcionamiento, dado que hubo 3 tarjetas se logró que corriera más fácil este
programa. Al final se logró hacer que todo funcionará y seguir con los demás.

Вам также может понравиться