Está en la página 1de 4

PRIMER CLASE Programas de bajo nivel (ensamblador) -----------------> Lenguaje maquina Programas de alto nivel (C,C++,Visual basic,Visual studio.....

)----->lenguaje tradicional *Para trabajar con un hardware se debe conocer el funcionamiento y comportamiento de l mismo - Lenguaje de alto nivel *Lenguaje de bajo nivel Hardware MICROCONTROLADOR tambien llamados PIC's (computador)

MEMORIA RAM
MICROPROCESADOR

MEMORIA DE DATOS
MICROPROCESADOR

MEMORIA ROM

Procesador central----->Sistema abierto---->Sus componentes (memoria, procesador, etc) no son modificables Microcontrolador----->Sistema cerrado---->Sus componentes no son modificables

SEGUNDA CLASE

Lenguaje binario 1 y 0 -----> bits 10101101----->grupo de bits----> 1 byte Solo existen bytes en grupos de 2,4,6,8,16,32........ DECIMAL BINARIO 0 <--------------> 0000 1 <--------------> 0001 2 <--------------> 0010 3 <--------------> 0011 4 <--------------> 0100 8421 *Cada espacio de derecha a izquierda tiene un valor designado y su representacion decimal equivale a la suma de estos 0011=3. *Los 1 van a tener un valor mientras que los 0 ocuparan los espacios "vacios". *La memoria de procesos sigue las indicaciones de la memoria de instrucciones que le dice: Que debe hacer. Con que herramienta (Estas "herramientas" estan alojadas en la memoria de datos).

Decirle donde esta la herramienta.

MEMORIA DE DATOS
MICROPROCESADOR

BANCO 0

BANCO 1
Registro de proposito general Cada registro esta dividido en 8 celdas Registro de proposito especifico

0x00 0x01 0x02 0x03 STATUS STATUS 0x04 0x05 PORT A TRIS A 0x06 PORT B TRIS B
Hexadecimales

*Los TRIS solo sirven para declarar si un puerto sera designado como entrada o salida TERCERA CLASE
Ra0 Ra1 Ra2 Ra3 Ra4 Rb0 Rb1 Rb2 Rb3 Rb4 Rb5 Rb6 Rb7 Puerto B

Puerto A

*Dependiendo del valor (1 o 0) que tomen las celdas en que se dividen los TRIS se designara como entrada o salida. Ejemplo: tomando como ejemplo el PIC de arriba: TRIS A designa a PORT A como salida
0 0 0 0 0 0 0 0

TRIS A designa a PORT A como entrada


0 0 1 1 1 1 1

Al solo tener 5 E/S no importara el valor de las ultimas 3 celdas (no influyen)

*El PORT denpende de TRIS y es el que nos dice la informacion que sale o entra. TRIS A designa a PORT B como salida
0 0 0 0 0 0 0 0

1 1

TRIS A designa a PORT B como entrada


1 1 1 1 1 1

*En este caso los 8 valores de las celdas influyen ya que hay 8 E/S B

*Asimismo los TRIS pueden tener valores diferentes en cada celda que determinaran que "pata" del microcontrolador es E/S. CUARTA CLASE f = registro l(ele) = constante s = cambia bits a 1 (Pasamos al banco 1) c = cambia bits a 0 (Pasamos al banco 0) w = la funcion de w es la de "enviar" la informacion a donde se necesite Hacer el siguiente problema: Mostrar por el puerto A el numero 5 - bsf 0x03, 5 *(bsf->cambia bits a 1, 0x03->direccion a donde se envia la instruccion - en este caso a status - ,5-> en este caso el 5 por default define que se cambia de banco (de 1 a 0 y viceversa). - movlw 0x00 *(mueve una constante a w - le da un valor en este caso 0 -). - movwf 0x05 *(mueve el valor de w al registro ubicado en la posicion 5 - en este caso en la posicion se encuentra TRIS A, al darle el valor de w=0 PORT A se vuelve salida). - bcf 0x03, 5 *(bcf->cambia bits a 0, 0x03->direccion a donde se envia la instruccion - en este caso a status - ,5-> en este caso el 5 por default define que se cambia de banco (de 1 a 0 y viceversa). - movwf 0x05 - end *(terminacion del programa).

CUARTA CLASE

Hacer el siguiente problema: Mostrar por el puerto A el numero 8 y por el puerto B el numero 3 - bsf 0x03, 5 - movlw 0x00 - movwf 0x05 (TRIS A) - movwf 0x06 (TRIS B) - bcf 0x03 , 5 - movlw 0x08 - movwf 0x05 - movlw 0x03 - movwf 0x06

QUINTA CLASE *Diagrama PIC16F84

Puerto A

1
2 3

18 17 16

Puerto A
4 MHz

RESET

4 5

15

ENERGIA

14

+
Puerto B

13

Puerto B

7 8 9

12 11 10

*Este modelo de PIC no soporta el uso de mas de 5 digitos en cada una de sus "patas"

Ciclos de reloj ----> Veocidad

Este ciclo lgicamente es mas rpido

1 Hz -> ciclo/5

4 Mhz -> 4000 000/5

Ejercicio: Asignar el numero 3 al 0x0C, el numero 4 al 0x0D ,que la suma se aloje en 0x0E y el resultado se muestre en el puerto B - bsf 0x03, 5 - movlw 0x00 - movwf 0x06 - bcf 0x03 , 5 - movlw d'3' - movwf 0x0C - movlw d'4' - movwf 0x0D - addlw d'3' - movwf 0x0E - movwf 0x06 - END

También podría gustarte