1 Tema 6: Prácticas Antonio Cebrián. 2 Contenidos 1.Metodología 2.Programación 3.Prácticas.
-
Upload
miguel-robledo -
Category
Documents
-
view
7 -
download
0
Transcript of 1 Tema 6: Prácticas Antonio Cebrián. 2 Contenidos 1.Metodología 2.Programación 3.Prácticas.
1
Tema 6: Prácticas
Antonio Cebrián
2
Contenidos
1. Metodología
2. Programación
3. Prácticas
3
1. Metodología
4
1. Metodología
C ódigo fuente
Ensam blado yenlazado
D epurac ión
¿C orrecto?
F IN
IN IC IO
N O
SI
5
2. Programación
6
2. Programación
• Estructura del código fuente plantilla.asm
Inc ludes
C onstantes
Variab les
R eset
Interrupción
M ain
Funciones
7
2. Programación
• Directivas del ensamblador:– Control.– Ensamblador condicional.– Datos.– Listado– Macros.– Archivo objeto.
8
2. Programación
• Constantes numéricas:
Type Syntax Example
Decimal D'<digits>'.<digits>
D'100'.100
Hexadecimal H'<hex_digits>'0x<hex_digits>
H'9f'0x9f
Octal O'<octal_digits>' O'777'
Binary B'<binary_digits>' B'00111001'
ASCII A'<character>''<character>'
A'C''C'
9
2. Programación
• Comparaciones:
Igual que Contador == 10
movf Contador,Wsublw 10btfsc STATUS,Zgoto SeCumpleCondicion
10
2. Programación
• Comparaciones:
Mayor que Contador > 10
movf Contador,Wsublw 10 ; W = k – W.btfss STATUS,Cgoto SeCumpleCondicion
11
2. Programación
• Comparaciones:
Menor que Contador < 10
movf Contador,Wsublw 10 ; W = k – W.btfsc STATUS,Cgoto SeCumpleCondicion
12
2. Programación
• Bucles:
Infinito
Bucle:...
goto Bucle
13
2. Programación
• Bucles:
Número fijo de iteraciones
movlw 100movwf Contador
Bucle:...
decfsz Contador,Fgoto Bucle
14
2. Programación
• Subrutinas:...
call Subrutina...
;------------------------------------Subrutina:
.
.
.
return
15
2. Programación
• Interrupción:
Interrup:...
retfie
16
2. Programación
• Interrupción con cambio de contexto:
Interrup:movwf SaveWmovf STATUS,Wmovwf SaveSTATUSmovf PCLATH,Wmovwf SavePCLATHmovf FSR,Wmovwf SaveFSR
clrf STATUSclrf PCLATH
.
.
.
17
2. Programación
• Interrupción con cambio de contexto:
.
.
.
movf SaveFSR,Wmovwf FSRmovf SavePCLATH,Wmovwf PCLATHmovf SaveSTATUS,Wmovwf STATUSswapf SaveW,Fswapf SaveW,Wretfie
18
3. Prácticas
19
3. Prácticas
• Práctica LEDs:1. Encender secuencialmente todos los LEDs con ejecución paso
a paso.
2. Encender secuencialmente todos los LEDs con ejecución continua utilizando un retardo software.
3. Encender secuencialmente todos los LEDs con ejecución continua utilizando un temporizador.
20
3. Prácticas
• Práctica LEDs:– Salidas digitales.
21
3. Prácticas
• Práctica LEDs:– Retardo software.
22
3. Prácticas
• Práctica LEDs:– Temporizador.
23
3. Prácticas
• Práctica PULSADORES:1. Encender un LED mientras se mantiene la pulsación.
2. Cada pulsación conmuta el estado del LED.
3. Cada pulsación conmuta el estado del LED sin rebotes con retardo software.
4. Cada pulsación enciende secuencialmente un LEDs y apaga en anterior, utilizando un temporizador.
24
3. Prácticas
• Práctica PULSADORES:- Rebotes:
VC C
VC C
VC C
25
3. Prácticas
• Práctica ZUMBADOR:1. Generar un tono de 2 kHz con zumbador mediante retardo
software.
2. Generar un tono de 2 kHz con zumbador y onda bipolar mediante retardo software.
3. Generar un tono de 2 kHz con zumbador mediante módulo PWM.
26
3. Prácticas
• Práctica ZUMBADOR:- Módulo PWM:
27
3. Prácticas
• Práctica UART:1. Realizar un echo local.
2. Realizar un sencillo intérprete de comandos para encender/apagar los LEDs.
28
3. Prácticas
• Práctica UART:- Módulo UART (TX):
29
3. Prácticas
• Práctica UART:- Módulo UART (TX):
30
3. Prácticas
• Práctica UART:- Módulo UART (RX):
31
3. Prácticas
• Práctica UART:- Módulo UART (RX):
32
3. Prácticas
• Práctica ADQ:1. Lectura de la tensión del potenciómetro (VPOT) mediante el
convertidor A/D en ejecución paso a paso.
2. Lectura de la tensión del potenciómetro (VPOT) mediante el convertidor A/D y envío del código en hexadecimal a través de la UART.
3. Lectura de la tensión de los pulsadores (VBUTTON) mediante el convertidor A/D, envío del código en hexadecimal a travé de la UART y encendido del LED correspondiente mientras el botón se mantiene pulsado.
33
3. Prácticas
• Práctica ADQ:– Convertidor A/D:
VC C
1
2
3
4
10k
10k
10k
10k
10k
VBU T T O N
205N5
Vcc
R5
RVccV
256N4
Vcc
R4
RVccV
341N3
Vcc
R3
RVccV
512N2
Vcc
R2
RVccV
44
33
22
11
34
3. Prácticas
• Práctica VGA:1. Generar una pantalla compuesta por 3 franjas horizontales de
colores en modo VGA con 640x480 pixels, una frecuencia de línea de 31.5 kHz y una frecuencia de refresco de 60 Hz.
35
3. Prácticas
• Práctica VGA:– Sincronismo horizontal:
36
3. Prácticas
• Práctica VGA:– Sincronismo vertical:
37
3. Prácticas
• Práctica VGA:– Sincronismo horizontal:
38
3. Prácticas
• Práctica VGA:– Sincronismo horizontal vs vertical:
39
3. Prácticas
• Práctica VGA:– Sincronismo horizontal vs RGB:
40
3. Prácticas
• Práctica VGA:– Sincronismo vertical vs RGB:
41
3. Prácticas
• Práctica VGA:– Sincronismo vertical vs RGB:
42
3. Prácticas
• Práctica VGA: