Diapositiva 1

Transcripción

Diapositiva 1
Microcontroladores PIC
Registros SFR vistos hasta ahora:
Microcontroladores PIC: Timer
Características del Timer TMR0:
• Cumple básicamente la función de contador de eventos (o divisor de frecuencia).
• El contador (de 8 bits) se accede a través del registro TMR0 (01h de la RAM).
• Es posible seleccionar entre dos fuentes de clock:
- Interna: frecuencia del procesador (ciclos de instrucción).
- Externa (a través de RA4, seteado como entrada).
• El valor de cuenta puede ser escrito o leído en todo momento.
• Permite seleccionar el flanco del clock (en el caso de clock externo).
• Genera una interrupción al final de cuenta.
• A la entrada de clock se le puede intercalar (o no) un módulo divisor de frecuencia (llamado prescaler).
Microcontroladores PIC: Timer
Registros SFR asociados al Timer:
Microcontroladores PIC: Timer
Timer: registro de configuración:
Microcontroladores PIC: Programación
El proceso de programación:
• Para transferir el código desde una PC al PIC se usa un dispositivo llamado programador.
• La mayoría de PICs actuales incorporan funciones que permiten realizar la programación directamente en
el circuito donde están destinados a trabajar:
- ICSP (In Circuit Serial Programming, programación serie en el circuito).
- LVP (Low Voltage Programming, programación a bajo voltaje).
• Para la función ICSP se usan generalmente los pines RB6 y RB7 como reloj y datos, y /MCLR para
activar el modo programación aplicando un voltaje de 13 voltios.
• Existen muchos modelos de programadores de PICs, desde los más simples (que dejan al software los
detalles de comunicaciones), a los más complejos (que pueden verificar el dispositivo a diversas
tensiones de alimentación e implementan en hardware casi todas las funcionalidades).
• Muchos de estos programadores complejos incluyen ellos mismos PICs preprogramados como interfaz
para enviar las órdenes al PIC que se desea programar.
Microcontroladores PIC: Programación
La Palabra de configuración:
• Durante el proceso de programación, además de escribirse el programa en la memoria tipo flash
correspondiente, también se escribe la llamada palabra de configuración del PIC.
• Sirve para activar, desactivar o configurar funciones especiales del µC, tales como:
– El tipo de oscilador a usar (cristal, RC, etc.)
– WDT activado/desactivado
– Protección de código
– Etc…
• Puede ser modificada solo en el momento de la programación (grabación del programa).
Microcontroladores PIC: Programación
Programadores: ejemplos:
Uno de los mas simples, el JDM:
Microcontroladores PIC: Programación
Programadores: uno mas avanzado, el PicKit2:
Microcontroladores PIC: Programación
Algunos clones simplificados del PicKit2:
Microcontroladores PIC: Programación
Software básico para grabadores:
Funciones necesarias que debe llevar a cabo:
- Borrado inicial de la memoria Flash del PIC.
- Leer, Grabar y Verificar el código de máquina (provisto en formato *.hex).
- Escribir la palabra de configuración.
Algunos ejemplos:
- Pickit2 (www.microchip.com): gratuito, para el programador del mismo nombre (y sus clones).
- Icprog (www.ic-prog.com): de distribución libre, muy popular, sirve para el JDM y otros.
- etc.
Microcontroladores PIC
Herramientas de desarrollo (para µC):
• Tareas necesarias:
- Compilar / Ensamblar.
- Depurar.
- Simular / Emular.
- Programar.
• Microchip ofrece de forma gratuita el entorno de desarrollo llamado MPLAB (www.microchip.com).
• MPLAB incluye:
- Un editor para el código fuente (en C o assembler).
- Ensamblador.
- Compilador de C.
- Simulador.
- También es posible realizar la programación del PIC (con ciertos programadores).
Microcontroladores PIC
• Ejemplos de programas:
STATUS
TRISB
PORTB
RP0
EQU
EQU
EQU
EQU
3
6
6
5
;
;
;
;
ORG
GOTO
0000
INICIO
; comienzo del Programa
ORG
RETIF
0004
INICIO
BSF
MOVLW
MOVWF
BCF
STATUS,RP0
B’00000000’
TRISB
STATUS,RP0
;
;
;
;
LOOP
MOVLW
MOVWF
CALL
B’11110000’
PORTB
DELAY
; carga W con el dato a sacar por la puerta B
; saca por PUERTA B el valor del registro W
; demora 0.1 segundos
MOVLW
MOVWF
CALL
B’00001111’
PORTB
DELAY
GOTO
LOOP
END
registro de ESTADO
sentido del PORTB
dato del PORTB
bit de STATUS para cambiar de banco
entramos al bank 1
movemos 00000000b a W
configuramos el puerto B como salida
volvemos al bank 0
Microcontroladores PIC
• Ejemplos de Delays:
CUENTA1
CUENTA2
EQU
EQU
0C
0D
; primer posicion de la RAM (GPR)
;
; esta subrutina demora ~100 milisegundos
;
DELAY
MOVLW D’100’
; 1c
MOVWF CUENTA2
; 1c
SAL2
CALL
D1MS
; 1c+1ms
DECFSZ CUENTA2
; 1c/2c
GOTO
SAL2
; 2c
RETURN
; 2c
;
; esta subrutina demora 1 milisegundo (con un cristal de 4MHz)
;
D1MS
MOVLW D’249’
; 1c
MOVWF CUENTA1
; 1c
SAL1
NOP
; 1c
DECFSZ CUENTA1
; 1c/2c
GOTO
SAL1
; 2c
RETURN
; 2c
Microcontroladores PIC
Algunos circuitos simples:
Circuito básico:
Pulsadores:
Diodos LED:

Documentos relacionados