Академический Документы
Профессиональный Документы
Культура Документы
Sistemas Embebidos
El curso está orientado básicamente a
impartir los conocimientos de los
microprocesadores y microcontroladores
VII Ciclo
para la solución de problemas de
2 Hrs de Teoría
ingeniería que involucren estos
2 Hrs de Taller - Laboratorio
dispositivos.
3 Créditos
Control
Comunicación
y Monitoreo
Controlador Controlador de
de Presión Temperatura
Objetivos
Proyectos:
Comprender y describir las diferentes arquitecturas de los
microprocesadores.
Comprender y describir diferentes tipos de Módulo de control de Motor DC.
microcontroladores.
Programar, utilizando el lenguaje asembler, soluciones a Móvil seguidor de Línea.
problemas de ingeniería con microcontroladores.
Programar, utilizando el lenguaje C, soluciones a problemas
de ingeniería con microcontroladores.
Móvil gobernado por RF.
Diseñar sistemas con microcontroladores usando la mayoría
de sus periféricos y construir interfases de comunicación con
Módulo de adquisición de datos y
la PC.
Programar microcontroladores con arquitectura DSP y usarlos
transferencia usando la red
en las soluciones a problemas de control y de procesamiento
de señales. telefónica pública y celular.
El Microcontrolador es...?
Un circuito integrado de alta escala de integración MICROPROCESADOR
PERIFERICOS PERIFERICOS
Organización de los Procesadores
Digitales
Microcontrolador
Periféricos
Ensamblador C
Principales fabricantes
MOTOROLA: Fabrica microcontroladores de 8 (68HC08)
y 16 bits. Actualmente están en un proceso de ingreso
al mercado peruano.
.
Simuladores: Simula
el comportamiento Monitor
y registro
de un en Software.
Sensores
Funci
Correc ona
to? bien?
PRODUCT
Síntesis,
O
modelamiento final
FINAL
Señales del cuerpo
del paciente
Telecardio 12
8
CPU 14
PROGRAMA
-
instrucciones.
1 CICLO 1 CICLO 1 CICLO 1 CICLO 2 CICLOS
Modo SLEEP.
Protección de código.
ADC de 10 bits.
Set de 35 instrucciones.
8K x 14bits de memoria FLASH de programa.
Soporta hasta 14 fuentes de interrupción
Comunicación serial.
Pila de 8 niveles
Los microcontroladores
La Unidad Central de Proceso es la encargada de leer la PIC tienen un ALU y un
memoria de Programa (instrucciones de control del dispositivo). registro de trabajo (W) de
8 bits. El ALU realiza
operaciones aritméticas y
lógicas entre el dato en el
Varias de estas instrucciones operan con la memoria de datos. registro de trabajo y
cualquier otro registro. En
las operaciones que
La unidad aritmética (ALU) se encarga de hacer todas las realiza el ALU con dos
operandos, siempre se
operaciones. tiene a W (registro de
trabajo) como uno de
ellos. En las operaciones
Los resultados se guardan en el registro W, o en la RAM de un solo operando se
tiene al W o a cualquier
(dirección indicada). otro registro.
ArquitecturaInterna :
Memoria de Programa (Instrucciones) Instrucción & Clock
Aquí se almacenan todas las instrucciones del
programa de control.
La memoria de programa siempre está direccionada
desde el Contador de Programa (PC).
00 01 10 11
Modos de direccionamiento
2o. Direccionamiento Indirecto. Ejm:
2o. Direccionamiento Indirecto
El operando de la Un ejemplo de direccionamiento indirecto en el cual limpiamos las direcciones
instrucción se refiere al
registro INDF, (posición 0 20h a la 2Fh de la RAM es el siguiente:
del área de datos). Se INDF
accede a la posición bcf STATUS,IRP ;Seleccionar Banco 0/1
apuntada por FSR, (posición
04h del banco 0). Los 7 bits movlw 0x20 ;inicializar puntero
LSB de FSR seleccionan la movwf FSR ;a la memoria RAM FSR 13H
20H
posición y su bit de MSB NEXT:
junto con el bit IRP del
Registro de estado <7>, clrf INDF ;limpiar registro INDF
seleccionan el banco. El incf FSR,F ;incrementar puntero
registro INDF no se halla btfss FSR,4 ;bit 4 del FSR=1?
implementado físicamente. 2FH 1FH
Cada vez que se le goto NEXT ;no, limpiar siguiente
referencia, se utiliza el CONTINUAR:
contenido del registro FSR ;si continuar programa...
para direccionar al
operando.
Cualquier instrucción
usando el registro INDF
hace referencia al registro RAM
apuntado por FSR. José Oliden Martínez
Programación I Instrucciones orientadas a los bytes Programación I Instrucciones orientadas a los bits
Banderas
Mnemónico Parámetros Descripción Ciclos
afectadas
ADDWF f,d Suma W y f 1 C,DC,Z
ANDWF f,d AND W con f 1 Z
CLRF f clear f 1 Z
CLRW f,d clear W 1 Z Banderas
Mnemónico Parámetros Descripción Ciclos
afectadas
COMF f,d Complementa f 1 Z
BCF f,b 1 None
DECF f,d Decrementa (en 1) f 1 Z
DECFSZ f,d Decrementa (en 1) f, Salta 1(2) None BSF f,b 1 None
Registros Especiales
PIR1 (0Ch)
PIE1 (8Ch) Contiene las
Contiene banderas
los bits para que indican
activar las la activación
interrupcion de alguna
es de los interrupción
periféricos periférica
Registros Especiales Programación I Editor
.ASM .INC
Algunos de los puertos de E/S son multiplexados para algunas otras funciones.
Los registros de los puertos en el banco 1 (TRIS) son para configurar los Flujo de operaciones al
puertos. .COD .LST .ERR .HEX
programar un
microcontrolador PIC
Programador
PIC
16F877
Configuración
de puertos
RB0 : entrada
PORTD: salida
Ejemplo:
Leer un bit del puerto B (RB0) y según su valor hacer:
SI NO
RB0=0?
Hacer un programa que mueva los datos de las direcciones 20H, 21H,
Leer dos bits del puerto B (RB0 y RB1) y según su 22H, 23H a las direcciones: 120H, 121H, 122H, 123H de manera
valor hacer: indirecta.
__CONFIG _CP_OFF & _WDT_OFF & _BODEN_ON & _PWRTE_ON & _XT_OSC & _WRT_ENABLE_ON & _LVP_OFF
EXPERIENCIA 1
;Zona de include macros
include <p16F877.inc>
; Vector Reset
org 0x00
goto
org
0x05
0x05 ;
Entrada y Salida, manejo de registros y visualización.
bcf STATUS, RP0 Vcc
bcf STATUS, RP1 ; Banco 0 Vcc
INICIO: Ingresar por medio de 10K 10K 10K
bcf STATUS,IRP ; Seleccionar Banco 0/1 interruptores (DIP) un 0
Vcc1 330
movlw 0x20 ; inicializar puntero 1 5
movwf FSR ; a la memoria RAM número por los bits LSB Interruptor 1
a1 b1
NEXT: LED 1
bcf STATUS,IRP ; Banco 0/1 para direccionamiento indirecto
del puerto A y mostrar el 2 6
330
LED 2
330
bsf
movwf
STATUS,IRP
INDF
; Banco 2/3 para direccionamiento indirecto
; Almacenar W donde apunta INDF número ingresado por 3
a3 PIC b3
7
Interruptor 3
incf FSR,F ; incrementar puntero los bits MSB del puerto 4 8
330 LED 3
btfss FSR,2 ; bit 2 del FSR=1? a4 b4
CONTINUAR:
Entrada Salida
movlw 0x01 (PA0-PA3) (PB4-PB7)
movwf 0x20