Actividad UC PIC16F84A

SISTEMAS EMBEBIDOS I. Profesor: José Caicedo Alumno: Ojeda Anderson Potes Alberto Taller Numero 2. Imprimir set de instr

Views 42 Downloads 0 File size 602KB

Report DMCA / Copyright

DOWNLOAD FILE

Recommend stories

Citation preview

SISTEMAS EMBEBIDOS I. Profesor: José Caicedo Alumno: Ojeda Anderson Potes Alberto Taller Numero 2. Imprimir set de instrucciones y bloques de memoria del PIC a utilizar en clase.

En clase habíamos dicho que el set de instrucciones iba relacionado de acuerdo a las características del PIC, para el caso del PIC 16f84a este maneja 35 las cuales lo organizamos en esta tabla.

ADDLW ANDLW ANDWF BCF BSF BTFSC BTFSS

CALL CLRF CLRW CLRWDT COMF DECF GOTO

INCF INCFSZ IORLW IORWF MOVF MOVLW MOVWF

NOP OPTION RETFIE RETLW RETURN RLF RRF

SLEEP SUBLW SUBWF SWAPF TRIS XORLW XORWF

En clase trabajamos con GOTO, BSF (para llamar el registro STATUS Y PORTA), BCF (para llamar el registro TRISA), CLRF (limpiar registro PORTA), MOVLW, MOVWF. Bloques de memoria. Categorizamos los bloques en 7 los cuales son: 1) Memoria de programa EEPROM de 1 K x 14 bits 2) Memoria de datos formada por dos áreas. Una RAM donde se alojan 22 registros de propósito específico y 36 de propósito general y la otra del tipo EEPROM de 64 bytes. 3) Camino de datos con una ALU de 8 bits y un registro de trabajo W del que normalmente recibe un operando y envía el resultado. El otro operando puede provenir del bus de datos o del propio código de la instrucción (literal). 4) Diversos recursos conectados al bus de datos, tales como Puertas de E/S, Temporizador TMR0, etc. 5) Base de tiempos y circuitos auxiliares 6) Direccionamiento de la memoria de programa en base al Contador de Programa ligado a una Pila de 8 niveles de profundidad. 7) Direccionado directo e indirecto de la memoria RAM

¿Qué es el lenguaje assembler o lenguaje ensamblador?

Es un idioma en el cual se usa para que el hombre pueda comunicarse con las maquinas inteligentes, este lenguaje consta de programación informática de bajo nivel, y constituye la representación más directa del leguaje de la maquinas el cual es especifica en cada arquitectura de computadoras. La diferencia que este lenguaje tiene con los lenguajes de alto nivel que el lenguaje assembler ofrece un grupo de instrucciones aritmeticológicas sin llegar a encapsular dichas instrucciones en funciones que no estén ya contempladas en la arquitectura del hardware es decir que es el lenguaje puro o principal de las máquinas electrónicas, en cambio un leguaje de alto nivel ya no es un lenguaje puro como lo es el assembler, una de las características en el lenguaje de alto nivel que ya es mucho más fácil para el hombre entenderlo, por qué este tipo de lenguaje es parecido al lenguaje humano, este se maneja a palabras o frases en inglés.

¿Para qué sirve la directiva EQU en assembler cómo se utiliza? La directiva nos sirve para poder definir símbolos y por lo tanto no desarrolla un código ejemplo: PANT EQU 50% En este ejemplo lo que hace nombrar el porcentaje 50% al símbolo PANT, en el momento en el que el assembler vea el símbolo PANT en una instrucción, reemplazara este símbolo por el porcentaje que le asignamos, es decir por 50% veamos. Un ejemplo: MOVE.B PANT A1=> MOVE.50%, A1, es decir, envía el contenido de la dirección 50% al registro A1

¿Cuáles son los tipos de constantes numéricas y alfanuméricas permitidas por assembler, y como se declaran? Estas constantes numéricas nos sirven para definir valores numéricos y direcciones de memoria. En la mayor parte de las directivas que definen los datos, el ensamblador transforma las constantes numéricas definidas a hexadecimal y procede a guardar lo bytes generados en código objeto en orden inverso, es decir, de derecha a izquierda. El programa ensamblador soporta los sistemas de numeración decimal, hexadecimal octal, binario y el código alfanumérico ASCII. Tipos de constantes numéricas. Decimal: En este tipo de constante nos permite nombrar con los dígitos decimales 0 a 9, siguiendo de forma electiva por el especificador de base D. Hexadecimal: Este tipo de constante podemos definir los dígitos hexadecimales de 0 a F escribiendo seguidamente del indicador H, podemos usarlos para definir valores binarios.

Binario: Con este tipo de constate podemos nombrar con los dígitos binarios 0 y 1, escribiendo seguidamente por su especificador de base B, normalmente este tipo de constante se usa para diferenciar los valores en las instrucciones de manejo de bis AND, OR, XOR y TEST. Real: Por este lado el ensamblador transforma un valor real asignado a una constante decimal o hexadecimal escribiendo de seguido el correspondiente especificador que es R, en formato de unidad flotante para utilizarlo con un coprocesador matemático. Ejemplo. TIPO Decimal Hexadecimal Octal Binario ASCII String

SINTAXIS D d . H h 0x Oo Bb Aa String

EJEMPLO Movlw D’ 109’ movlw d’ 109’ Movlw H’ 6D’ movlw h’ 6D’ Movlw O’ 155’ movlw o’ 155’ MovlwB’0101101’ movlwb’01101101’

Explicar las configuraciones iniciales de hardware: MCLR, alimentación del uC, oscilador, resistencias pull-up, resistencias pull-down, conexión básica de un led y conexión del bit RA4 como salida para activar un led. (Coloque un diagrama de las conexiones). 1) Alimentación. Normalmente el microcontrolador PIC16F84 se alimenta con 5 voltios aplicados entre los pines V DD y Vss que son, respectivamente la alimentación y la masa del chip. En la gráfica que mostraremos describiremos el circuito de alimentación que obtiene los 5 voltios a partir de una tensión continua de 12 voltios.

2) Oscilador

Todo microcontrolador requiere de un circuito que le indique la velocidad de trabajo, llamado oscilador. Este genera una onda cuadrada de alta frecuencia que se utiliza como señal pa4ra sincronizar tosas las operaciones del sistema. Para el microcontrolador con el que vamos a trabajar los pines OSC1/CLKIN Y OSC2/CLKOUT son las líneas utilizadas para este fin. Permite cinco tipos de osciladores para definir la frecuencia de funcionamiento. XT. Cristal de cuarzo RC. Oscilador con resistencia y condensador. HS. Cristal de alta velocidad LP. Cristal de baja frecuencia. Externa. Oscilador XT Es el más utilizado y está basado en el oscilador a cristal de cuarzo o en un resonador cerámico. Es un oscilador estándar que permite una frecuencia de reloj muy estable comprendida entre 100kHz y 4MHz. En la figura de alimentación se puede apreciar que es necesario el cristal ir acompañado con 2 condensadores que va entre 15 y 33 pF. MCLR En los microcontroladores se requiere de un pin reset para reiniciar el funcionamiento del sistema cuando sea necesario. El pin de reset en los PIC se denomina MCLR (Master Clear) y produce un reset cuando se le aplica un nivel lógico bajo.

Para tener un control sobre el reset del sistema, se puede conectar un pulsador tal como se muestra en la figura y conseguir un reset manual llevando momentáneamente el pin MCLR a masa cada vez que se presiona el pulsador.

Conexión diodo led. El microcontrolador 16F84 es capaz de gobernar directamente diodos LED. Pasos a seguir: conectar el ánodo del diodo a la salida del microcontrolador a través de una resistencia limitadora y el cátodo a tierra, como en la siguiente figura.

La resistencia limita el valor de la corriente a un valor adecuado para iluminar el LED.

Haga un diagrama de flujo que ingresados 3 números, los organice de mayor a menor.

Utilizamos como programa PSINT, para que quedara de manera armónica y organizada el diagrama de flujo

Haga un diagrama de flujo para un código que ingresado un número cualquiera calcule su factorial.

Bibliografía. https://www.ecured.cu/Lenguaje_ensamblador http://www.mfbarcell.es/docencia_uned/etci/tema_14/directivas.pdf http://efrendavid.org/uacj/clases/arq_comp/clase17/clase17.pdf