Beruflich Dokumente
Kultur Dokumente
Integrantes:
* Cerda Baos Omar Israel TellezSoto Cesar Moises Reyes avila luis Fernando
Grupo:
Objetivo
Implementar las tcnicas adquiridas durante el curso para la realizacin de un dispositivo rotatorio capaz de desplegar mensajes visibles para el humano. Todo esto mediante el control de tiempos y procesos, as como la coordinacin entre la utilizacin de puertos (salida de datos)
Introduccin
El presente trabajo no es ms que la implementacin de los conocimientos adquiridos durante el curso de la materia de Programacin sistemas en tiempo real. El proyecto se basa o nace de la necesidad de desplegar mensajes en cierta rea del espacio, con lo cual no debe ser a travs de mdulos LCD, deben ser desplegados mediante diodos emisores de luz basndose en el principio de un conjunto matricial pero sin tener que ser una matriz de stos. Lo anterior resulta confuso, pero en si la matriz toma forma cuando una sola columna de leds es puesta en movimiento, un movimiento que forzosamente debe ser angular y con velocidad constante, lo cual produce la visin de ser una matriz. Para desplegar mensajes a travs de este movimiento, se deben configurar los caracteres que se deseen desplegar, calcular los tiempos en los que se debe prender determinados leds y cuales no, en base a la velocidad angular de la columna y controlar la posicin de los mensajes a desplegar.
Marco Terico
Visin: facultad por la cual a Muchos organismos simples determinados movimientos y imgenes en el cerebro. Los diversa claridad. travs del ojo, rgano visual, se percibe el mundo exterior. tienen receptores luminosos capaces de reaccionar ante sombras, pero la verdadera visin supone la formacin de ojos de los distintos organismos proporcionan imgenes de
La visin est relacionada en especial con la percepcin del color, la forma, la distancia y las imgenes en tres dimensiones. En primer lugar, las ondas luminosas inciden sobre la retina del ojo, pero si estas ondas son superiores o inferiores a determinados lmites no producen impresin visual. El color depende, en parte, de la longitud o longitudes de onda de las ondas luminosas incidentes, que pueden ser simples o compuestas, y en parte del estado del propio ojo, como ocurre en el daltonismo. La luminosidad aparente de un objeto depende de la amplitud de las ondas luminosas que pasan de l al ojo, y las pequeas diferencias de luminosidad perceptibles siempre guardan una relacin casi constante con la intensidad total del objeto iluminado. Dentro de los principios pticos normales, un punto por encima de la lnea directa de visin queda un punto por debajo del centro de la retina y viceversa. Si la retina fuera observada por otra persona, el observador vera que la imagen del objeto formada en ella es una imagen La tcnica al servicio de la patria
invertida. Cualquier incremento en la magnitud de la imagen retiniana suele estar asociado con la proximidad del objeto. Cuando este mismo efecto se consigue mediante lentes, aun cuando la distancia real se incremente, el objeto parece aproximarse. Esta proximidad aparente es resultado de un razonamiento inconsciente. La mente asigna a cualquier objeto una talla determinada o conocida. Los seres humanos y otros animales son capaces de enfocar los dos ojos sobre un objeto, lo que permite una visin estereoscpica, fundamental para percibir la profundidad. El principio de la visin estereoscpica puede describirse como un proceso visual relacionado con el uso de un estereoscopio, el cual muestra una imagen desde dos ngulos ligeramente diferentes, que los ojos funden en una imagen tridimensional nica. Frecuencia: trmino empleado en fsica para indicar el nmero de veces que se repite en un segundo cualquier fenmeno peridico. La frecuencia es muy importante en muchas reas de la fsica, como la mecnica o el estudio de las ondas de sonido. La frecuencia se expresa en hercios (Hz); una frecuencia de 1 Hz significa que existe 1 ciclo u oscilacin por segundo. La unidad se llama as en honor del fsico alemn Heinrich Rudolf Hertz, el primero en demostrar la naturaleza de la propagacin de las ondas electromagnticas. Las unidades como kilohercios (kHz) miles de ciclos por segundo, megahercios (MHz) millones de ciclos por segundo y gigahercios (GHz) miles de millones de ciclos por segundo se usan para describir fenmenos de alta frecuencia como las ondas de radio. Estas ondas y otros tipos de radiacin electromagntica pueden caracterizarse por sus longitudes de onda o por sus frecuencias. Las ondas electromagnticas de frecuencias extremadamente elevadas, como la luz o los rayos X, suelen describirse mediante sus longitudes de onda, que frecuentemente se expresan en nanmetros (un nanmetro, abreviado nm, es una milmillonsima de metro). Una onda electromagntica con una longitud de onda de 1 nm tiene una frecuencia de aproximadamente 300 millones de GHz. Momento angular, cantidad fundamental que posee un cuerpo en virtud de su rotacin, y que es esencial para la descripcin de su movimiento. Esta magnitud es anloga al momento lineal o cantidad de movimiento. El momento lineal de un cuerpo en movimiento viene dado por la expresin: momento lineal = masa velocidad Se define el momento angular de una partcula como: momento angular = momento lineal distancia al eje de giro Velocidad angular: magnitud vectorial que caracteriza la variacin del ngulo recorrido por un mvil que describe una trayectoria circular o de un slido rgido que gira alrededor de un eje fijo. Se representa por y su unidad es rads-1, aunque tambin se suele expresar en revoluciones por minuto, r.p.m., y revoluciones por segundo, r.p.s. Cuando un mvil describe una trayectoria circular de centro O, su posicin en cualquier instante viene dada por el vector de posicin, r, y el ngulo, , formado por este vector y otra recta de referencia fija en el espacio. Su velocidad angular, , est representada por un vector axial cuyo mdulo es d/dt, su direccin es perpendicular en O al plano de giro y cuyo sentido viene dado, en funcin del sentido de giro, por la regla de la mano derecha. La tcnica al servicio de la patria
Cuando un slido gira sin deslizar alrededor de un eje fijo, los puntos situados en el eje son fijos, mientras que el resto de los puntos estn animados de movimientos circulares cuyos centros se encuentran en el eje. Cada uno de estos puntos posee una velocidad lineal distinta, v, pero la velocidad angular de todos ellos es comn, , y es la velocidad angular de rotacin del slido alrededor del eje.
Desarrollo
Por principio de cuentas se tuvo que tener en cuenta con las caractersticas fsicas del modelo a implementar. El sistema mecnico del proyecto es de vital importancia ya que para simular imgenes es necesario conocer la velocidad del motor o bien su frecuencia con la finalidad de determinar la posicin en la que debe estar el brazo para comenzar el despliegue. El sistema est formado por una base cuadrada de aluminio de 30cm de lado, a la cual se le acopl un motor de CA monofsico a 1/40 de hp y con una velocidad de 1550RPM, en el eje del motor se le acopl un barra de aluminio que en otras palabras sirve como el brazo del sistema y es en el extremo de ste en donde se coloca de manera vertical la columna de leds, el esquema del sistema fsico desarrollado es el mostrado en la figura 1.
microcontrolador pic es el que se muestra en la figura 2. Dicho circuito contiene dispositivos electrnicos bsicos como resistores, capacitores y potencimetros, por otra parte contamos con elementos como un sensor de temperatura LM35, trimpots, fototransistores, fotodiodos y amplificadores operacionales. La tcnica al servicio de la patria
El funcionamiento es sencillo mediante los puertos B, C y D del PIC17F877A se mandaran seales a la columna de leds, de arriba hacia abajo el primer led corresponde a la terminal RB0, la segunda a RB1 y as sucesivamente hasta llegar al veinteavo led al que corresponde la terminal RD3. El circuito de la columna de leds se muestra en la figura 3. La representacin de los caracteres se realizo por principio en cuadriculas con arreglo matricial de 20 por 20 divisiones, las cuales son las que se deben desplegar cuando el sistema este funcionando Un ejemplo de un arreglo matricial es el mostrado en la figura 4 y el abecedario completo se muestra en la figura 5 El abecedario completo se muestra en la figura 6, son los caracteres completos que se utilizaron durante el proyecto,
Figura 3
Figura 4
Figura 6
Planeacin mecnica Antes de hacer el proyecto planeamos como lo haras, las etapas iniciaron en la seccin mecnica, escogiendo el motor a utilizar, el largo del brazo, los materiales a utilizar. Planeacin Pre-programacin Es aqu donde tuvimos que sacar clculos velocidad angular, tiempo de desplegamiento de lneas, tiempos de retardo etc, antes de iniciar a programar el primer libro que consultamos fue un libro de fsica (Fisica:Conceptos y Aplicaciones, Paul A. Tippler) Programacion Es aqu donde iniciamos la programacin, creando letras y sus equivalentes en hexadecimales, y una planeacin de subrutinas. Las subrutinas programadas fueron las siguientes:
retardo_inicial: Tiempo:
Deja pasar aprox 10segundo en lo que el motor Agarra velocidad Es el tiempo en que cada lnea o cada configuracin de la ilera de leds se despliega.
letra_I, letra_P,letra_M, etc , . . . Se encarga de desplegar la letra requerida, espacio: Deja pasar el equivalente al ancho de una letra con los leds apagados.
Se hizo una conversin para obtener el equivalente de cada columna en cada puerto, es decir si tenemos una fila llena de leds prendidos se toma : movlw movwf movwf movwf 0xff PORTB PORTC PORTD
Subrutinas de Letras
El proceso de cada letra a desplegar es el siguiente:
PROGRAMA UTILIZADO
;******************************************************************** ; INSTITUTO POLITECNICO NACIONAL ; UNIDAD PROFESIONAL INTERDISCIPLINARIA EN INGENIERIA ; Y TECNOLOGIAS AVANZADAS ; * ; Programacion de sistemas en tiempo real ; FECHA: 25 de septiembre de 2008 ; Profesor: Ing. M en C. David Arturo Gutierrez Begovich * ; AUMNOS: CERDA BAOS OMAR (LIDER DEL EQUIPO) * ; REYES * ; TELLEZ * ; PROGRAMA: Proyecto Final ; PARA: Microcontrolador PIC16F877A ; ENSANBLADO EN: MPLAB 8.1 FOR WINDOWS ;********************************************************************
processor 16F877A include <P16f877A.inc> __CONFIG 0x3F71 cblock 0x20 endc org 0x00 goto 0x05 org 0x05 ;configuracion de puertos PORTD Salida, RC7 salida.
* * * *
* * *
bsf STATUS,RP0 movlw b'00000000' movwf TRISB movwf TRISC movlw b'11110000' movwf TRISD bcf STATUS,RP0 ;Programa Principal encendera cada led de cada bit de los puertos ;programados como salida durante un segundo cada uno. call retardo_inicial movlw 0x99 movwf 0x40 movlw 0x01 movwf 0x41 bucle_IPN call letra_I call espacio call letra_P call espacio call letra_N call espacio call espacio call espacio call espacio call espacio goto bucle_animacion
call call call call call call call call call call call call call call decfsz goto decfsz goto call
espacio espacio espacio espacio espacio espacio espacio espacio espacio espacio espacio espacio espacio espacio 0x40 bucle_IPN 0x41 bucle_IPN espacio
;###########################ANIMACION movlw 0xff movwf 0x40 movlw 0x01 movwf 0x41 bucle_animacion call call call call call call call call call call call call call call call call call call call call call call call call call call call call call call call call call call call call call call call call call call call call espacio espacio espacio espacio espacio espacio espacio espacio espacio espacio espacio espacio espacio espacio espacio espacio espacio espacio espacio espacio espacio espacio espacio espacio espacio espacio espacio espacio espacio espacio espacio espacio espacio espacio espacio espacio espacio espacio espacio espacio espacio espacio espacio espacio
call
espacio
call call call call call call call call call call call call call call call call call call call call call call call call call call call call call call call call call call call call call call call call call call call call call call call call call call call call call call call call call call call call call call call call call
call monito1 espacio espacio espacio espacio espacio espacio espacio espacio espacio espacio espacio espacio espacio espacio espacio espacio espacio espacio espacio espacio espacio espacio espacio espacio espacio call monito2 espacio espacio espacio espacio espacio espacio espacio espacio espacio espacio espacio espacio espacio espacio espacio espacio espacio espacio espacio espacio espacio espacio espacio espacio espacio call monito3 espacio espacio espacio espacio espacio espacio espacio espacio espacio espacio espacio espacio espacio espacio espacio
call call call call call call call call call call call call call call call call call call call call call call call call call call call call call call call call call call call call call call call call call call call call call call call call call call call call call call call call call call call call call call call call call call call call call
espacio espacio espacio espacio espacio espacio espacio espacio espacio espacio call monito4 espacio espacio espacio espacio espacio espacio espacio espacio espacio espacio espacio espacio espacio espacio espacio espacio espacio espacio espacio espacio espacio espacio espacio espacio espacio call monito4 espacio espacio espacio espacio espacio espacio espacio espacio espacio espacio espacio espacio espacio espacio espacio espacio espacio espacio espacio espacio espacio espacio espacio espacio espacio call monito3 espacio espacio espacio espacio espacio espacio espacio espacio espacio
call call call call call call call call call call call call call call call call call call call call call call call call call call call call call call call call call call call call call call call call call
espacio espacio espacio espacio espacio espacio espacio espacio espacio espacio espacio espacio espacio espacio espacio espacio call monito2 espacio espacio espacio espacio espacio espacio espacio espacio espacio espacio espacio espacio espacio espacio espacio espacio espacio espacio espacio espacio espacio espacio espacio espacio espacio call monito1
;##### INICIA UPIITA CON LETRAS MINUSCULAS COMO EL LOGO. ;###################################################### movlw 0x99 movwf 0x40 movlw 0x01 movwf 0x41 bucle_upiita: call upiita call espacio call espacio
;############################ SECCION IPN TERMINADA ;#### INICIA LOGOTIPO movlw 0x99 movwf 0x40 movlw 0x01 movwf 0x41 bucle_logo: call logo call espacio call call call decfsz goto decfsz goto call espacio espacio espacio 0x40 bucle_logo 0x41 bucle_logo espacio
#######################
;##### INICIA PS TIEMPO REAL movlw 0x55 movwf 0x40 movlw 0x01 movwf 0x41 bucle_PS: call letra_P call espacio call letra_S call espacio call espacio call espacio call espacio call letra_T call espacio call letra_I call espacio call letra_E call espacio call letra_M call espacio call letra_P call espacio call letra_O call espacio call letra_R call espacio call letra_E call espacio call letra_A call espacio call letra_L call espacio call espacio call espacio decfsz goto 0x40 bucle_PS
;######################## Inicia OMAR movlw 0x88 movwf 0x40 movlw 0x01 movwf 0x41 bucle_omar call call espacio call call espacio call call espacio call call espacio call espacio call espacio call espacio call call espacio call call espacio call call espacio call call espacio call call espacio call espacio call espacio call espacio call espacio call espacio call espacio call espacio call espacio call espacio decfsz goto decfsz goto call
;##################################INICIA MOISES SOTO movlw 0x77 movwf 0x40 movlw 0x01 movwf 0x41 bucle_moises call call espacio call call espacio call call espacio call call espacio call call espacio call call espacio call espacio call espacio call call espacio
letra_S
call letra_O espacio call letra_T espacio call letra_O espacio espacio espacio espacio espacio espacio
;###########################INICIA REYES LUIS movlw 0x77 movwf 0x40 movlw 0x01 movwf 0x41 bucle_luis call call espacio call call espacio call call espacio call call espacio call call espacio call espacio call espacio call espacio call espacio call espacio call call espacio call call espacio call call espacio call call espacio call espacio call espacio call espacio call espacio call espacio decfsz goto decfsz goto call
goto
bucle_IPN
; ############################################################################# #### ; ############################################################################# #### ; ############################################################################# #### logo: movlw 0x80 movwf portb movlw 0x1f movwf portc movlw 0x00 movwf portd call tiempo ;1/16 movlw 0x04 movwf portb movlw 0xe0 movwf portc movlw 0x00 movwf portd call tiempo ;2/16 movlw 0x04 movwf portb movlw 0x00 movwf portc movlw 0x03 movwf portd call tiempo ;3/16 movlw 0x02 movwf portb movlw 0x00 movwf portc movlw 0x04 movwf portd call tiempo ;4/16 movlw 0x01 movwf portb movlw 0x00 movwf portc movlw 0x08 movwf portd call tiempo ;5/16 movlw 0x01 movwf portb movlw 0x00 movwf portc movlw 0x08 movwf portd call tiempo ;6/16 movlw 0x01 movwf portb movlw 0x00 movwf portc movlw 0x04 movwf portd call tiempo ;7/16 movlw 0x0e movwf portb
movlw 0x00 movwf portc movlw 0x03 movwf portd call tiempo ;8/16 movlw 0x70 movwf portb movlw 0x80 movwf portc movlw 0x00 movwf portd call tiempo ;9/16 movlw 0x80 movwf portb movlw 0x7c movwf portc movlw 0x00 movwf portd call tiempo ;10/16 movlw 0x00 movwf portb movlw 0x06 movwf portc movlw 0x00 movwf portd call tiempo ;11/16 movlw 0x80 movwf portb movlw 0x39 movwf portc movlw 0x00 movwf portd call tiempo ;12/16 movlw 0x40 movwf portb movlw 0x80 movwf portc movlw 0x01 movwf portd call tiempo ;13/16 movlw 0x40 movwf portb movlw 0x00 movwf portc movlw 0x02 movwf portd call tiempo ;14/16 movlw 0x80 movwf portb movlw 0x00 movwf portc movlw 0x02 movwf portd call tiempo ;15/16 movlw 0x00 movwf portb movlw 0x01 movwf portc movlw 0x02 movwf portd call tiempo ;16/16
movlw 0x00 movwf portb movlw 0x82 movwf portc movlw 0x01 movwf portd call tiempo ;17/16 movlw 0x00 movwf portb movlw 0x6c movwf portc movlw 0x00 movwf portd call tiempo ;18/16 movlw 0x00 movwf portb movlw 0xc0 movwf portc movlw 0x01 movwf portd call tiempo ;19/16 movlw 0x00 movwf portb movlw 0x20 movwf portc movlw 0x02 movwf portd call tiempo ;20/16 movlw 0x00 movwf portb movlw 0x20 movwf portc movlw 0x02 movwf portd call tiempo ;21/16 movlw 0x00 movwf portb movlw 0x20 movwf portc movlw 0x02 movwf portd call tiempo ;22/16 movlw 0x00 movwf portb movlw 0xc0 movwf portc movlw 0x01 movwf portd call tiempo ;23/16 movlw 0x00 movwf portb movlw 0x00 movwf portc movlw 0x00 movwf portd call tiempo ;24/16
call
espacio_largo
return
;################################################## letra_I: movlw 0x03 movwf portb movlw 0x00 movwf portc movlw 0x0c movwf portd call tiempo ;1/6 movlw 0x03 movwf portb movlw 0x00 movwf portc movlw 0x0c movwf portd call tiempo ;2/6 movlw 0xff movwf portb movlw 0xff movwf portc movlw 0x0f movwf portd call tiempo ;3/6 movlw 0xff movwf portb call tiempo movlw 0xff movwf portc movlw 0x0f movwf portd call tiempo ;4/6 movlw 0x03 movwf portb movlw 0x00 movwf portc movlw 0x0c movwf portd call tiempo ;5/6 movlw 0x03 movwf portb movlw 0x00 movwf portc movlw 0x0c movwf portd call tiempo ;6/6
return
;################### ;########################## ;########Proyeccion de upiita, letras diferentes ;############################################### upiita: movlw 0xe0 movwf portb movlw 0x07 movwf portc movlw 0x00 movwf portd call tiempo ;1/16 movlw 0x00
movwf portb movlw 0x08 movwf portc movlw 0x00 movwf portd call tiempo ;2/16 movlw 0x00 movwf portb movlw 0x08 movwf portc movlw 0x00 movwf portd call tiempo ;3/16 movlw 0x00 movwf portb movlw 0x08 movwf portc movlw 0x08 movwf portd call tiempo ;4/16 movlw 0x00 movwf portb movlw 0x08 movwf portc movlw 0x00 movwf portd call tiempo ;5/16 movlw 0xe0 movwf portb movlw 0x07 movwf portc movlw 0x08 movwf portd call tiempo ;6/16 movlw 0xc1 movwf portb movlw 0xff movwf portc movlw 0x00 movwf portd call tiempo ;7/16 movlw 0x20 movwf portb movlw 0x08 movwf portc movlw 0x08 movwf portd call tiempo ;8/16 movlw 0x21 movwf portb movlw 0x08 movwf portc movlw 0x00 movwf portd call tiempo ;9/16 movlw 0x21 movwf portb movlw 0x08 movwf portc movlw 0x08
call espacio
movwf portd call tiempo ;10/16 movlw 0x21 movwf portb movlw 0x08 movwf portc movlw 0x00 movwf portd call tiempo ;11/16 movlw 0xc0 movwf portb movlw 0x07 movwf portc movlw 0x08 movwf portd call tiempo ;12/16 movlw 0x00 movwf portb movlw 0x00 movwf portc movlw 0x00 movwf portd call tiempo ;13/16 movlw 0x00 movwf portb movlw 0x00 movwf portc movlw 0x08 movwf portd call tiempo ;14/16 movlw 0xa0 movwf portb movlw 0x0f movwf portc movlw 0x00 movwf portd call tiempo ;15/16 movlw 0xa0 movwf portb movlw 0x0f movwf portc movlw 0x08 movwf portd call tiempo ;16/16 movlw 0xa0 movwf portb movlw 0x00 movwf portc movlw 0x00 movwf portd call tiempo ;17/16 movlw 0x00 movwf portb movlw 0x00 movwf portc movlw 0x00 movwf portd call tiempo ;18/16 call espacio movlw 0x00 movwf portb
call espacio
movlw 0x00 movwf portc movlw 0x00 movwf portd call tiempo ;19/16 movlw 0x00 movwf portb movlw 0x00 movwf portc movlw 0x00 movwf portd call tiempo ;20/16 movlw 0xa0 movwf portb movlw 0x0f movwf portc movlw 0x00 movwf portd call tiempo ;21/16 movlw 0xa0 movwf portb movlw 0x0f movwf portc movlw 0x00 movwf portd call tiempo ;22/16 movlw 0x00 movwf portb movlw 0x00 movwf portc movlw 0x00 movwf portd call tiempo ;23/16 movlw 0x00 movwf portb movlw 0x00 movwf portc movlw 0x00 movwf portd call tiempo ;24/16 espacio movlw 0x80 movwf portb movlw 0x00 movwf portc movlw 0x00 movwf portd call tiempo ;25/16 movlw 0x80 movwf portb movlw 0x00 movwf portc movlw 0x08 movwf portd call tiempo ;26/16 movlw 0xe0 movwf portb movlw 0x0f movwf portc movlw 0x00 movwf portd call tiempo
call
;27/16 movlw 0x80 movwf portb movlw 0x08 movwf portc movlw 0x08 movwf portd call tiempo ;28/16 movlw 0x80 movwf portb movlw 0x08 movwf portc movlw 0x00 movwf portd call tiempo ;29/16 movlw 0x00 movwf portb movlw 0x00 movwf portc movlw 0x00 movwf portd call tiempo ;30/16 call espacio movlw 0x40 movwf portb movlw 0x04 movwf portc movlw 0x00 movwf portd call tiempo ;31/16 movlw 0x20 movwf portb movlw 0x0a movwf portc movlw 0x00 movwf portd call tiempo ;32/16 movlw 0x20 movwf portb movlw 0x09 movwf portc movlw 0x08 movwf portd call tiempo ;33/16 movlw 0x20 movwf portb movlw 0x09 movwf portc movlw 0x00 movwf portd call tiempo ;34/16 movlw 0x20 movwf portb movlw 0x0a movwf portc movlw 0x00 movwf portd call tiempo ;35/16 movlw 0xc0 movwf portb movlw 0x07 movwf portc
; ############################################################################# #### ; ############################################################################# #### ; ############################################################################# #### letra_P: movlw 0xff movwf portb movlw 0xff movwf portc movlw 0xff movwf portd call tiempo ;1/6 movlw 0x03 movwf portb movlw 0xfe movwf portc movlw 0x0f movwf portd call tiempo ;2/6 movlw 0x01 movwf portb movlw 0x04 movwf portc movlw 0x00 movwf portd call tiempo ;3/6 movlw 0x01 movwf portb call tiempo movlw 0x04 movwf portc movlw 0x00 movwf portd call tiempo ;4/6 movlw 0x03 movwf portb movlw 0x06 movwf portc movlw 0x00 movwf portd call tiempo ;5/6
movlw 0xff movwf portb movlw 0x03 movwf portc movlw 0x00 movwf portd call tiempo ;6/6
return ;######################################################################## ;######################################################################## ;######################################################################## letra_N: movlw 0xff movwf portb movlw 0xff movwf portc movlw 0xff movwf portd call tiempo ;1/6 movlw 0x1c movwf portb movlw 0x00 movwf portc movlw 0x00 movwf portd call tiempo ;2/6 movlw 0xe0 movwf portb movlw 0x03 movwf portc movlw 0x00 movwf portd call tiempo ;3/6 movlw 0x00 movwf portb movlw 0x7c movwf portc movlw 0x00 movwf portd call tiempo ;4/6 movlw 0x00 movwf portb movlw 0x80 movwf portc movlw 0x03 movwf portd call tiempo ;5/6 movlw 0xff movwf portb movlw 0xff movwf portc movlw 0x0f movwf portd call tiempo ;6/6
return ;######################################################################## ;######################################################################## ;######################################################################## letra_E movwf portb movwf portc movlw 0xff movlw 0xff
movlw 0x0f movwf portd call tiempo ;1/6 movlw 0x07 movwf portb movlw 0x06 movwf portc movlw 0x0e movwf portd call tiempo ;2/6 movlw 0x01 movwf portb movlw 0x06 movwf portc movlw 0x08 movwf portd call tiempo ;3/6 movlw 0x01 movwf portb movlw 0x06 movwf portc movlw 0x08 movwf portd call tiempo ;4/6 movlw 0x01 movwf portb movlw 0x00 movwf portc movlw 0x08 movwf portd call tiempo ;5/6 movlw 0x01 movwf portb movlw 0x00 movwf portc movlw 0x08 movwf portd call tiempo ;6/6 letra_S movwf portb movwf portc movlw 0x73 movlw 0x80
return
movlw 0x03 movwf portd call tiempo ;1/6 movlw 0x82 movwf portb movlw 0x00 movwf portc movlw 0x04 movwf portd call tiempo ;2/6 movlw 0x01 movwf portb movlw 0x03 movwf portc movlw 0x80 movwf portd call tiempo ;3/6
movlw 0x08 movwf portd call tiempo ;4/6 movlw 0x02 movwf portb movlw 0x18 movwf portc movlw 0x08 movwf portd call tiempo ;5/6 movlw 0x1c movwf portb movlw 0xe0 movwf portc movlw 0x07 movwf portd call tiempo ;6/6
return
movlw 0x00
movlw 0x00 movwf portd call tiempo ;1/6 movlw 0x03 movwf portb movlw 0x00 movwf portc movlw 0x00 movwf portd call tiempo ;2/6 movlw 0xFF movwf portb movlw 0xFF movwf portc movlw 0xFF movwf portd call tiempo ;3/6 movlw 0xFF movwf portb movlw 0xFF movwf portc movlw 0xFF movwf portd call tiempo ;4/6 movlw 0x03 movwf portb movlw 0x00 movwf portc movlw 0x00 movwf portd call tiempo ;5/6 movlw 0x03
movlw 0x00
movlw 0x00 movwf portd call tiempo ;6/6 ;################# letra_L: movlw 0xff movwf portb movwf portc
return
movlw 0xff
movlw 0x0 movwf portd call tiempo ;1/6 movlw 0xff movwf portb movlw 0xff movwf portc movlw 0x0f movwf portd call tiempo ;2/6 movlw 0x00 movwf portb movlw 0x00 movwf portc movlw 0x0c movwf portd call tiempo ;3/6 movlw 0x00 movwf portb movlw 0x00 movwf portc movlw 0x0c movwf portd call tiempo ;4/6 movlw 0x00 movwf portb movlw 0x00 movwf portc movlw 0x00c movwf portd call tiempo ;5/6 movlw 0x00 movwf portb movlw 0x00 movwf portc movlw 0x0c movwf portd call tiempo ;6/6 ;##################### letra_A movlw 0xfe movwf portb movlw 0xff movwf portc movlw 0x0f
return
movwf portd call tiempo ;1/6 movlw 0x83 movwf portb movlw 0x00 movwf portc movlw 0x00 movwf portd call tiempo ;2/6 movlw 0x81 movwf portb movlw 0x00 movwf portc movlw 0x00 movwf portd call tiempo ;3/6 movlw 0x81 movwf portb movlw 0x00 movwf portc movlw 0x00 movwf portd call tiempo ;4/6 movlw 0x83 movwf portb movlw 0x00 movwf portc movlw 0x00 movwf portd call tiempo ;5/6 movlw 0xff movwf portb movlw 0xff movwf portc movlw 0x0f movwf portd call tiempo ;6/6
return
movlw 0x07 movwf portd call tiempo ;1/6 movlw 0x01 movwf portb movlw 0x00 movwf portc movlw 0x08 movwf portd call tiempo ;2/6 movlw 0x01 movwf portb movlw 0x00 movwf portc movlw 0x08 movwf portd call tiempo ;3/6
movlw 0x08 movwf portd call tiempo ;4/6 movlw 0x01 movwf portb movlw 0x00 movwf portc movlw 0x08 movwf portd call tiempo ;5/6 movlw 0xfe movwf portb movlw 0xff movwf portc movlw 0x07 movwf portd call tiempo ;6/6
return
movlw 0xff
movlw 0x0f movwf portd call tiempo ;1/6 movlw 0x0c movwf portb movlw 0x00 movwf portc movlw 0x00 movwf portd call tiempo ;2/6 movlw 0xf8 movwf portb movlw 0x00 movwf portc movlw 0x00 movwf portd call tiempo ;3/6 movlw 0xf8 movwf portb movlw 0x00 movwf portc movlw 0x00 movwf portd call tiempo ;4/6 movlw 0x0c movwf portb movlw 0x00 movwf portc movlw 0x00 movwf portd call tiempo ;5/6 movlw 0xfe movwf portb movlw 0xff
movwf portc
return
movlw 0xff
movlw 0x0f movwf portd call tiempo ;1/6 movlw 0x01 movwf portb movlw 0x0e movwf portc movlw 0x00 movwf portd call tiempo ;2/6 movlw 0x01 movwf portb movlw 0x1a movwf portc movlw 0x00 movwf portd call tiempo ;3/6 movlw 0x01 movwf portb movlw 0x62 movwf portc movlw 0x00 movwf portd call tiempo ;4/6 movlw 0x01 movwf portb movlw 0x83 movwf portc movlw 0x01 movwf portd call tiempo ;5/6 movlw 0xfe movwf portb movlw 0x01 movwf portc movlw 0x0e movwf portd call tiempo ;6/6
return
movlw 0xff
movlw 0xff
movlw 0xff movwf portd call tiempo ;2/6 movlw 0x01 movwf portb movlw 0x00 movwf portc movlw 0x0c movwf portd call tiempo ;3/6 movlw 0x01 movwf portb movlw 0x00 movwf portc movlw 0x0c movwf portd call tiempo ;4/6 movlw 0x01 movwf portb movlw 0x00 movwf portc movlw 0x0c movwf portd call tiempo ;5/6 movlw 0x01 movwf portb movlw 0x00 movwf portc movlw 0x0c movwf portd call tiempo ;6/6
return
letra_D movlw 0xff movwf portb movlw 0xff movwf portc movlw 0x0f movwf portd call tiempo ;1/6 movlw 0x01 movwf portb movlw 0x00 movwf portc movlw 0x08 movwf portd call tiempo ;2/6 movlw 0x03 movwf portb movlw 0x00 movwf portc movlw 0x0c movwf portd call tiempo ;3/6 movlw 0x06 movwf portb movlw 0x00 movwf portc
movlw 0x04 movwf portd call tiempo ;4/6 movlw 0x1c movwf portb movlw 0x80 movwf portc movlw 0x03 movwf portd call tiempo ;5/6 movlw 0xe0 movwf portb movlw 0x7F movwf portc movlw 0x00 movwf portd call tiempo ;6/6
return ; ############################################################################# ### ## ## letra_Y movlw 0x0F movwf portb movlw 0x00 movwf portc movlw 0x00 movwf portd call tiempo ;1/6 movlw 0xF0 movwf portb movlw 0x01 movwf portc movlw 0x00 movwf portd call tiempo ;2/6 movlw 0x00 movwf portb movlw 0xFE movwf portc movlw 0x0F movwf portd call tiempo ;3/6 movlw 0x00 movwf portb movlw 0xFE movwf portc movlw 0x0F movwf portd call tiempo ;4/6 movlw 0xF0 movwf portb movlw 0x01 movwf portc movlw 0x00 movwf portd call tiempo ;5/6 movlw 0x0F movwf portb movlw 0x00 movwf portc movlw 0x00 movwf portd
return
;#### letra_U movwf portb movwf portc movlw 0xff movlw 0xff
movlw 0x0f movwf portd call tiempo ;1/6 movlw 0x00 movwf portb movlw 0x00 movwf portc movlw 0x08 movwf portd call tiempo ;2/6 movlw 0x00 movwf portb movlw 0x00 movwf portc movlw 0x08 movwf portd call tiempo ;3/6 movlw 0x00 movwf portb movlw 0x00 movwf portc movlw 0x08 movwf portd call tiempo ;4/6 movlw 0x00 movwf portb movlw 0x00 movwf portc movlw 0x08 movwf portd call tiempo ;5/6 movlw 0xFF movwf portb movlw 0xFF movwf portc movlw 0x0F movwf portd call tiempo ;6/6
return
tiempo:
tL1var: nop
nop decfsz goto return retardo_inicial: movlw movwf movlw movwf 0xff 0x28 0x02 0x029
0x21,f tL1var
;FIN de la subrutine_300ms
;- ciclos internos-----
retardo_inicial_bucle2: retardo_inicial_bucle1: call tiempo_espacio call tiempo_espacio call tiempo_espacio decfsz 0x28 goto retardo_inicial_bucle1 decfsz 0x29 goto retardo_inicial_bucle2 return
tiempo_espacio: movlw movwf movlw movwf goto t12var: movf t11var: nop
;----- ciclos internos----0xfc 0x21 0x02 0x22 t12var ;INTRODUCIR VALOR1 ;INTRODUCIR VALOR2
0x22,w movwf 0x23 nop nop nop decfsz goto decfsz goto return
;FIN de la subrutine_300ms
espacio: clrf clrf clrf call tabulacion: movlw movwf tab: decfsz goto nop return espacio_largo: call call call call PORTB PORTC PORTD tiempo_espacio 0x03 0x31 call 0x31 tab
return
tiempo_espacio
return
;################################################## ;################################################## ; ANIMACION ;################################################## ;################################################### monito1: movlw movwf movlw movwf clrf call movlw movwf movlw movwf movlw movwf call movlw movwf movlw movwf clrf call movlw movwf movlw movwf clrf call movlw movwf movlw movwf movlw movwf call movlw movwf movlw movwf clrf call b'11000000' PORTB b'00001111' PORTC PORTD tiempo b'00100110' PORTB b'11100000' PORTC b'00001111' PORTD tiempo b'11101111' PORTB b'00011111' PORTC PORTD tiempo b'11101111' PORTB b'00011111' PORTC PORTD tiempo b'00100110' PORTB b'11100000' PORTC b'00001111' PORTD tiempo b'11000000' PORTB b'00001111' PORTC PORTD tiempo
return ;################################################## ;################################################### monito2: clrf PORTB clrf PORTD movlw b'00000010' movwf PORTC call tiempo clrf clrf movlw movwf call PORTB PORTD b'00000001' PORTC tiempo
clrf clrf movlw movwf call clrf clrf movlw movwf call clrf clrf movlw movwf call movlw movwf movlw movwf movlw movwf call movlw movwf movlw movwf clrf call movlw movwf movlw movwf clrf call movlw movwf movlw call
PORTC PORTD b'10000000' PORTB tiempo PORTC PORTD b'01000000' PORTB tiempo PORTC PORTD b'00100000' PORTB tiempo b'00100110' PORTB b'11100000' PORTC b'00001111' PORTD tiempo b'11101111' PORTB b'00011111' PORTC PORTD tiempo b'11101111' PORTB b'00011111' PORTC PORTD tiempo b'00100110' PORTB b'11100000' tiempo
return
;################################################## ;################################################### monito3: movlw b'00100000' movwf PORTB clrf PORTC clrf PORTD call tiempo movlw movwf clrf clrf tiempo movlw movwf clrf clrf tiempo movlw movwf clrf b'00100000' PORTB PORTC PORTD b'00100000' PORTB PORTC PORTD b'00100000' PORTB PORTC
call
call
call
clrf PORTD tiempo movlw movwf clrf clrf tiempo movlw movwf movlw movwf movlw movwf call movlw movwf movlw movwf clrf tiempo movlw movwf movlw movwf clrf tiempo movlw movwf movlw movwf movlw movwf tiempo movlw movwf clrf clrf tiempo movlw movwf clrf clrf tiempo movlw movwf clrf clrf tiempo movlw movwf clrf clrf tiempo movlw movwf clrf clrf tiempo b'00100000' PORTB PORTC PORTD b'00100110' PORTB b'11100000' PORTC b'00001111' PORTD tiempo b'11101111' PORTB b'00011111' PORTC PORTD b'11101111' PORTB b'00011111' PORTC PORTD b'00100110' PORTB b'11100000' PORTC b'00001111' PORTD b'00100000' PORTB PORTC PORTD b'00100000' PORTB PORTC PORTD b'00100000' PORTB PORTC PORTD b'00100000' PORTB PORTC PORTD b'00100000' PORTB PORTC PORTD return
call
call
call
call
call
call
call
call
call
;################################################## ;################################################### monito4: movlw movwf clrf movlw movwf call movlw movwf clrf movlw movwf call movlw movwf movlw movwf clrf call movlw movwf movlw movwf clrf call movlw movwf movlw movwf clrf call movlw movwf movlw movwf clrf call movlw movwf movlw movwf clrf call movlw movwf movlw movwf clrf call movlw movwf movlw movwf clrf call movlw movwf movlw b'00000010' PORTB PORTC b'00000010' PORTD tiempo b'00000100' PORTB PORTC b'00000001' PORTD tiempo b'00001000' PORTB b'10000000' PORTC PORTD tiempo b'00010000' PORTB b'01000000' PORTC PORTD tiempo b'00100000' PORTB b'00100000' PORTC PORTD tiempo b'00100110' PORTB b'11100000' PORTC PORTD tiempo b'11101111' PORTB b'00011111' PORTC PORTD tiempo b'11101111' PORTB b'00011111' PORTC PORTD tiempo b'00100110' PORTB b'11100000' PORTC PORTD tiempo b'00100000' PORTB b'00100000'
movwf clrf call movlw movwf movlw movwf clrf call movlw movwf movlw movwf clrf call movlw movwf clrf movlw movwf call movlw movwf clrf movlw movwf call
PORTC PORTD tiempo b'00010000' PORTB b'01000000' PORTC PORTD tiempo b'00001000' PORTB b'10000000' PORTC PORTD tiempo b'00000100' PORTB PORTC b'00000001' PORTD tiempo b'00000010' PORTB PORTC b'00000010' PORTD tiempo return
end
CONCLUSIONES
SE COMBIN PERFECTAMENTE LA PARTE DE PROGRAMACION JUNTO CON LA MECANICA, ES DECIR ANTES DE PROGRAMAR SE REQUIRIO A LA FISICA, Y AS OBTENER REQUERIMIENTOS A PROGRAMAR.
COORDINAMOS EL USO DE LA ELECTRONICA JUNTO CON LA PROGRAMACION, ESTO UTILIZANDO LOS AMPLIFICADORES OPERACIONALES. EN ESTE PROYECTO SE DESMOSTRO INDUBITABLEMENTE LOS TEMAS VISTOS EN CLASE. SOMOS CAPACES DE APRENDER DE FORMA AUTODIDACTA OTRA CLASE DE MICROCONTROLADORES.
AGRADECIMIENTOS AL PROFESOR ARTURO DAVID GUTIERREZ BEGOVICH POR EL CURSO DE PROGRAMACION DE SISTEMAS EN TIEMPO REAL, USTED NOS ENSE A CAMINAR . . . NOSOTROS SUBIREMOS LA MONTAA.