You are on page 1of 8

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 CALL INCF NOP SLEEP


ANDLW CLRF INCFSZ OPTION SUBLW
ANDWF CLRW IORLW RETFIE SUBWF
BCF CLRWDT IORWF RETLW SWAPF
BSF COMF MOVF RETURN TRIS
BTFSC DECF MOVLW RLF XORLW
BTFSS GOTO MOVWF RRF 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 SINTAXIS EJEMPLO


Decimal D d . Movlw D’ 109’ movlw d’ 109’
Hexadecimal H h 0x Movlw H’ 6D’ movlw h’ 6D’
Octal Oo Movlw O’ 155’ movlw o’ 155’
Binario Bb MovlwB’0101101’ movlwb’01101101’
ASCII Aa
String String

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