Está en la página 1de 40

ARQUITECTURA DE

COMPUTADORAS

SEMANA 06
UNIDAD 2
SEMANA N° 6

• Instrucciones de control.
• Procedimientos.
Recordando saberes de
Semana 5…
Interés
Interés
Interés

¿Sabes que instrucciones utiliza un computador?


AGENDA

1. Programación de computadoras en bajo nivel.


2. Instrucciones de control.
3. Procedimientos.
4. Ejercicio. (Actividad Dirigida).
5. Trabajo aplicativo. (Actividad Evaluada)
LOGRO DE LA SESIÓN

Al término la sesión, el estudiante comprende el como

realizar la transferencia de datos en un computador utilizando

las instrucciones mostrando dominio técnico.

TIEMPO SUJETO VERBO CONDICIÓN CRITERIOS


PROGRAMACION DE
COMPUTADORAS EN BAJO NIVEL

ASSEMBLER – PIC16F84A
Descubrimiento
De la endidura hacia el lado izquierdo empieza la
primera pata y se realiza el conteo en sentido
antihorario
Descubrimiento
Características Relevantes del PIC16F84A
4 periodos

1 Mhz

PIC 16F84 A

El cristal permite obtener la frecuencia .

Se puede escribir solo hasta 1K que quiere decir 1024 bytes o líneas de ejecución.

Contiene 15 registros para poder trabajar.


Descubrimiento
Se pueden grabar hasta 10 mil veces.

El PIC antes de activarse demora 72ms.


El watchdog me informa cuando algo ocurre , el watchdog se debe limpiar y seguir el bucle,
Se puede configurar en tiempo, sino se limpia se resetea seguridad en programación.
Code de protección: Protección del programa por seguridad , en USA cobran de $10 000 a
$ 15 000 dólares por romper el código.
Power savin sleep mode: En estado inalámbrico se duerme y espera para no consumir corriente
de la pila o batería, puede durar en este estado 7 meses.
Selección de Oscilador: XP, CRISTAL,HP, ETC

Respecto a la parte eléctrica, puede entregar y recibir máximo 25 mA, de intentar algo
superior se puede quemar,
Descubrimiento
Partes de un programa

. En un programa puede haber:


. Definición de variables
. Instrucciones
. Funciones
. Subrutinas
. Estructuras
Descubrimiento
Partes de un programa

. En un programa debe haber (PIC) :


. Definición de modelo y librería de PIC
. Configuración de “fusibles”
. Definición de variables
. Configuración de puertos (Banco 1)
. Programa
. Subrutinas
. Fin de programa
Descubrimiento
Partes de un programa

. En un programa debe haber (PIC) :

. Definición de modelo y librería de PIC


Descubrimiento

Partes de un programa
. En un programa debe haber (PIC) :
. Definición de modelo y librería de PIC

. Configuración de “fusibles”

Ingeniería inversa: busca


descubrir como funciona un
programa, función o característica
de código fuente que
desconocidos
Descubrimiento

Partes de un programa

. En un programa debe haber (PIC) :


. Definición de modelo y librería de PIC

. Configuración de “fusibles”
Partes de un programa

. En un programa debe haber (PIC) :


Definición de modelo y librería de PIC

Configuración de “fusibles”

Definición de variables

Configuración de puertos (banco 1)


Partes de un programa

. Configuración de puertos (banco 1)

Método 1

Método 2
Configuración mínima
Recordando al ALU

W es un registro de trabajo que permite trabajar con la ALU.


Existen 35 comandos con W

Ejm:
movlw b`00100111´
movwf puerto b
reg1+reg2
movf reg1, 0 ;mueve la fila a W
movwf puerto b ;se ha movido el valor de W a la fila puerto b
Compilaciones
Memorias – Pines
Descubrimiento

INSTRUCCIONES
ASSEMBLER
DE CONTROL
Descubrimiento
INSTRUCCIONES EN ASSEMBLER

BCF f,b
Coloca en Cero un determinado Bit.
Este comando pone en Cero el Bit "b" del registro "f".
BSF f,b
Coloca en uno determinado Bit.
Este comando Pone en 1 el Bit "b" del registro "f".
INSTRUCCIONES EN ASSEMBLER

BTFSC f,b
Prueba el Bit b del registro f .
Este comando prueba el Bit "b" del registro "f" y salta una linea si
está en 0.
BTFSS f,b
Prueba el Bit b del registro f.
Este comando prueba el Bit "b" del registro "f" y salta una linea si
está en 1.
Descubrimiento
INSTRUCCIONES EN ASSEMBLER

GOTO k
El programa salta a una dirección con el nombre "k". (etiqueta)
CALL k
Llamada de una Subrutina con el nombre k. (requiere un
RETURN al final de la subrutina)
Descubrimiento
INSTRUCCIONES EN ASSEMBLER

RETFIE
Retorno de llamado a interrupción.
RETURN
Retorno desde una subrutina
Descubrimiento
INSTRUCCIONES EN ASSEMBLER

MOVLW k
Se carga el registro "W" con el contenido del literal "k“
MOVWF f
Copia el contenido del registro "W" al registro “f”
Descubrimiento
Instrucciones en ASSEMBLER

CLRF f
Borra el registro f.
Esta instrucción borra un registro especifico.
CLRW
Borra el registro W.
Esta instrucción borra el registro "W" solamente.
Descubrimiento

INSTRUCCIONES EN ASSEMBLER
DECFSZ f,d
Esta instrucción decrementa en una sola unidad registro "f" en
la cual si el registro "f" queda igual a cero entonces salta una línea
INCFSZ f,d
Esta instrucción incrementa en una sola
unidad el registro "f" en la cual si el registro "f" queda igual a cero
entonces salta a una línea
Descubrimiento

INSTRUCCIONES EN ASSEMBLER

ADDLW f
Esta instrucción suma el valor del registro W
con registro f y resultado almacena en W
DECFSZ
Decrementa y salta un espacio si es cero
INSTRUCCIONES EN ASSEMBLER

END
Fin de programa
Descubrimiento
Registros
STATUS
OPTION_REG
INTCON
TRISA
TRISB
PORTA
PORTB
TIMER0
Bit 5 Bit 4 Bit 3 Bit 2

Bit 7 Bit 6 Bit 1 Bit 0


REGISTROS

Por ejemplo, si queremos cambiar de banco se debe configurar el


registro STATUS, bit 5 denominado RP0 de la siguiente manera:
1 0 1 0 0 0 0 0

Eso se consigue con el siguiente código:


ORG 0 ; dirige el programa a la dirección 0 del Banco de Memoria
BSF STATUS, RP0 ; coloca en “1” el bit RP0, del registro STATUS
Registros

Por ejemplo, si queremos tener interrupciones de


timer debemos configurar el registro INTCON de la
siguiente manera:
1 0 1 0 0 0 0 0
Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0

Eso se consigue con el siguiente código:

MOVLW 10100000
MOVWF INTCON
Descubrimiento
Registros Extra

Se pueden crear registros adicionales que pueden ser usados


libremente por el usuario. Éstos son de 8 bits al igual que todos los
que hemos visto hasta ahora.
Se tienen que definir en la parte inicial del programa de la siguiente
forma:

REGA equ h’0C’ ;registro extra A


REGB equ h’0D’ ;registro extra B
REGC equ h’0E’ ;registro extra C
R..E.GD e.q..u h.’.0.F’ ;r.e..gistro extra D
REGE equ h’10’ ;registro extra E
Referencias

Entradas PIC, sin saber programar (Flowcode)


https://youtu.be/Rs22CyjskVQ

LED intermitente PIC programado con FLOWCODE


https://youtu.be/1owpRCCyCOQ

También podría gustarte