Reporte Practica 1www

8
REPORTE PRÁCTICA 1 USO DE SUBRUTINAS EN ENSAMBLADOR García García Juan Andrés Frausto Pérez Oscar Ismael Instituto Tecnológico de León, Blvd. Juan Alonso de Torres No. 3542, Col. San José de las Piletas, León, Gto. 37330, México. [email protected] [email protected] Resumen: En esta práctica hicimos uso de un PIC18F4550 al cual le programamos un contador en forma descendente, el cual se verá reflejado en un display de 7 segmentos de ánodo común, al finalizar este conteo encenderá un led de manera intermitente. Para esto elaboramos un programa en lenguaje ensamblador utilizando subrutinas, ya una vez terminado el código lo simulamos en proteus para comprobar su funcionamiento, como ultimo programamos nuestro pic y realizamos el armado del circuito. INTRODUCCION Tenemos un contador regresivo (led de 7 segmentos) con el cual queremos desplegar la secuencia 9-8-7-6…0. Por medio del PIC18F4550 realizaremos el control pertinente de los tiempos de espera entre el despliegue de cada dígito, así como controlaremos posteriormente el parpadeo intermitente de un LED. La práctica se divide en dos partes: hardware y software. Para la primera parte, debemos contar con el material enumerado para poder armar las distintas partes del circuito, según se indica en figuras de la siguiente sección. En la segunda parte de la práctica, deberemos utilizar el entorno de programación MPLAB para programar en ensamblador el firmware necesario para cumplir el objetivo de la práctica. MARCO TEORICO Microcontrolador 1

description

www

Transcript of Reporte Practica 1www

REPORTE PRCTICA 1 USO DE SUBRUTINAS EN ENSAMBLADOR

Garca Garca Juan AndrsFrausto Prez Oscar Ismael Instituto Tecnolgico de Len, Blvd. Juan Alonso de Torres No. 3542, Col. San Jos de las Piletas, Len, Gto. 37330, [email protected] [email protected]

Resumen: En esta prctica hicimos uso de un PIC18F4550 al cual le programamos un contador en forma descendente, el cual se ver reflejado en un display de 7 segmentos de nodo comn, al finalizar este conteo encender un led de manera intermitente. Para esto elaboramos un programa en lenguaje ensamblador utilizando subrutinas, ya una vez terminado el cdigo lo simulamos en proteus para comprobar su funcionamiento, como ultimo programamos nuestro pic y realizamos el armado del circuito.

1

INTRODUCCION Tenemos un contador regresivo (led de 7 segmentos) con el cual queremos desplegar la secuencia 9-8-7-60. Por medio del PIC18F4550 realizaremos el control pertinente de los tiempos de espera entre el despliegue de cada dgito, as como controlaremos posteriormente el parpadeo intermitente de un LED. La prctica se divide en dos partes: hardware y software. Para la primera parte, debemos contar con el material enumerado para poder armar las distintas partes del circuito, segn se indica en figuras de la siguiente seccin. En la segunda parte de la prctica, deberemos utilizar el entorno de programacin MPLAB para programar en ensamblador el firmware necesario para cumplir el objetivo de la prctica.

MARCO TEORICO MicrocontroladorUn microcontrolador es un dispositivo electrnico que incluye tres componentes principales: microprocesador, memoria y E/S en una sola unidad llamada IC.El lenguaje ensamblador utiliza pnemnicos parecidos a palabras en ingls para operarEl PIC18F incluye 77 instrucciones, El set de instrucciones se divide en siete grupos de acuerdo a sus funciones:1.-Move (data copy) and load.2.-Arithmetic.3.-Logic.4.-Program redirection (branch/call).5.-Bit manipulation.6.-Table read-write..7.-Machine control.Display de 7 segmentosEl display de 7 segmentos, o mejor conocido como visualizador de 7 segmentos, es una forma de representar nmeros en equipos electrnicos. Estn compuestos de siete segmentos que se pueden apagar o encender individualmente. Aunque externamente su forma difiere considerablemente de un led tpico, internamente est constituido por una serie de leds con unas determinadas conexiones internas, estratgicamente ubicados de tal forma que formen un numero 8.

En cuanto al lenguaje de comunicacin que se utilizara para programar el pic, en este caso se realizara por el lenguaje de ensamblador, a continuacin daremos una breve explicacin de lo que consiste y las caractersticas de este lenguaje

LENGUAJE ENSAMBLADOR El nico lenguaje que entienden los microcontroladores es el cdigo mquina formado por ceros y unos del sistema binario. El lenguaje ensamblador expresa las instrucciones de una forma ms natural al hombre a la vez que muy cercana al microcontrolador, ya que cada una de esas instrucciones se corresponde con otra en cdigo mquina. El lenguaje ensamblador trabaja con nemnicos, que son grupos de caracteres alfanumricos que simbolizan las rdenes o tareas a realizar. La traduccin de los nemnicos a cdigo mquina entendible por el microcontrolador la lleva a cabo un programa ensamblador. El programa escrito en lenguaje ensamblador se denomina cdigo fuente (*.asm). El programa ensamblador proporciona a partir de este fichero el correspondiente cdigo mquina, que suele tener la extensin *.hex.

CRISTAL DE QUARZOEl oscilador de cristal se caracteriza por su estabilidad de frecuencia y pureza de fase, dada por el resonador.La frecuencia es estable frente a variaciones de la tensin de alimentacin. La dependencia con la temperatura depende del resonador, pero un valor tpico para cristales de cuarzo es de 0' 005% del valor a 25C, en el margen de 0 a 70C.Estos osciladores admiten un pequeo ajuste de frecuencia, con un condensador en serie con el resonador, que aproxima la frecuencia de este, de la resonancia serie a la paralela. VCO. Este ajuste se puede utilizar en lospara modular su salida.

PROCEDIMIENTO EXPERIMENTAL

Iniciamos realizando el proceso de programacin en el lenguaje de ensamblador, en el programa MPLAB , el cual lo desplegaremos, y quedara de la siguiente manera: LIST P= 18F4550, f=inhx32#INCLUDE ;**************************RETARDO************************CONFIG FOSC = HS ;INTOSC_XT no disponible para simulacin, usar HSCONFIG PWRT = ON ;CONFIG BOR = OFF ;BROWN OUT RESET SE RESETEA SI EL VOLTAJE CAECONFIG WDT = OFFCONFIG MCLRE = ON ; RESETEO EXTERNOCONFIG PBADEN = OFFCONFIG LVP = OFFCONFIG DEBUG = OFFCONFIG XINST = OFF;.....................................

REG0 EQU 0X20 ;DIRECCIONREG1 EQU 0X21 ;DIRECCIONREG2 EQU 0X22 ;DIRECCIONDELAY1 EQU D'255'DELAY2 EQU D'255'DELAY3 EQU D'12';...........................................................

ORG 00 ;DIRECCIOON INICIAL MOVLW b'00000000' MOVWF TRISD MOVLW b'00000000' MOVWF TRISC GOTO START ; 20H ORG 0020HSTART CLRF PORTD CLRF PORTE

MOVLW b'00011000 MOVWF PORTD MOVLW DELAY3 CALL RETARDO

MOVLW b'00000000'; MOVWF PORTD MOVLW DELAY3 CALL RETARDO

MOVLW b'01111000' MOVWF PORTD MOVLW DELAY3 CALL RETARDO

MOVLW b'00000010'; MOVWF PORTD MOVLW DELAY3 CALL RETARDO

MOVLW b'00010010' MOVWF PORTD MOVLW DELAY3 CALL RETARDO

MOVLW b'00011001' MOVWF PORTD MOVLW DELAY3 CALL RETARDO

MOVLW b'00110000' MOVWF PORTD MOVLW DELAY3 CALL RETARDO

MOVLW b'00100100' MOVWF PORTD MOVLW DELAY3 CALL RETARDO

MOVLW b'01111001 MOVWF PORTD MOVLW DELAY3 CALL RETARDO

MOVLW b'01000000' MOVWF PORTD MOVLW DELAY3 CALL RETARDO

ACABO BTG LATD,LATC7 MOVLW D'6' CALL RETARDO GOTO ACABO

RETARDO ; MOVLW DELAY3 MOVWF REG2ALTO MOVLW DELAY2 MOVWF REG1MEDIO MOVLW DELAY1 MOVWF REG0ABAJO DECFSZ REG0,1 GOTO ABAJO DECFSZ REG1,1 GOTO MEDIO DECFSZ REG2,1 GOTO ALTO return END

Una vez realizado y comprobado el cdigo, lo simulamos, cargando el archivo .hex en el programa proteus como se muestra en la fig.1 Fig.1 Simulacin en Proteus

Ya comprobado el programa en el simulador del proteus, lo que refiere ahora como consiguiente es cargar el programa generado (archivo.hex) en el PIC mediante el programador Mster Prog. Y con el software de este mismo escribiremos el programa (grabar) en el microcontrolador. Como se muestra en la figura 2Fig.2 Mster Prog . Al finalizar la parte de programacin y simulacin, procedemos con el armado en fsico del circuito, la cual estar constituida de 3 fases:1.- El switch de reset2.- El oscilador (cristal de quarzo).3.- El display de 7 segmentos.

Fig.3 Armado en fsico del circuito.

De tal forma que al concluir el armado (no se har nfasis en el armado, ya que no es la finalidad de la practica) nos debera de quedar de la siguiente manera. Fig3

CONCLUSIONES

Gracias a los conocimientos adquiridos en la parte teorica de la materia, logramos entender el funcionamiento del microprocesador, de tal forma que en esta practica se lograron demostrar tanto en una forma simulada como en forma fsica, cabe mencionar que durante la parte de programacin se hizo uso de los procesos llamados subrutinas, los cuales disminuyen el cdigo, y simplifican las instrucciones para una mayor facilidad de comprensin y redaccin del cdigo.Una de las cuestiones importantes a concluir, es que en esta practica ya se hizo uso de la parte fsica, es decir de la construccin tanto del circuito, como de sus secundarios, (circuitos que conforman el funcionamiento del micro) como el uso del cristal, y el de display de 7 segmentos.y aunque pareciese fcil y muy simple la elaboracin del circuito, resulta mas compleja. Concluimos que el objetivo de la practica se llevo acabo, y sabemos de antemano, que esto es solo la base de lo que sern los proyectos provenientes.

BIBLIOGRAFA 1) Ramesh S. Gaonkar. Fundamentals of Microcontrollers and Applications in Embedded Systems (with the PIC18 Microcontroller Family). U.S.A: Tomson Delmar Learning 2007.