1 Tema 6: Prácticas Antonio Cebrián. 2 Contenidos 1.Metodología 2.Programación 3.Prácticas.

42
1 Tema 6: Prácticas Antonio Cebrián

Transcript of 1 Tema 6: Prácticas Antonio Cebrián. 2 Contenidos 1.Metodología 2.Programación 3.Prácticas.

Page 1: 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

Page 2: 1 Tema 6: Prácticas Antonio Cebrián. 2 Contenidos 1.Metodología 2.Programación 3.Prácticas.

2

Contenidos

1. Metodología

2. Programación

3. Prácticas

Page 3: 1 Tema 6: Prácticas Antonio Cebrián. 2 Contenidos 1.Metodología 2.Programación 3.Prácticas.

3

1. Metodología

Page 4: 1 Tema 6: Prácticas Antonio Cebrián. 2 Contenidos 1.Metodología 2.Programación 3.Prácticas.

4

1. Metodología

C ódigo fuente

Ensam blado yenlazado

D epurac ión

¿C orrecto?

F IN

IN IC IO

N O

SI

Page 5: 1 Tema 6: Prácticas Antonio Cebrián. 2 Contenidos 1.Metodología 2.Programación 3.Prácticas.

5

2. Programación

Page 6: 1 Tema 6: Prácticas Antonio Cebrián. 2 Contenidos 1.Metodología 2.Programación 3.Prácticas.

6

2. Programación

• Estructura del código fuente plantilla.asm

Inc ludes

C onstantes

Variab les

R eset

Interrupción

M ain

Funciones

Page 7: 1 Tema 6: Prácticas Antonio Cebrián. 2 Contenidos 1.Metodología 2.Programación 3.Prácticas.

7

2. Programación

• Directivas del ensamblador:– Control.– Ensamblador condicional.– Datos.– Listado– Macros.– Archivo objeto.

Page 8: 1 Tema 6: Prácticas Antonio Cebrián. 2 Contenidos 1.Metodología 2.Programación 3.Prácticas.

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'

Page 9: 1 Tema 6: Prácticas Antonio Cebrián. 2 Contenidos 1.Metodología 2.Programación 3.Prácticas.

9

2. Programación

• Comparaciones:

Igual que Contador == 10

movf Contador,Wsublw 10btfsc STATUS,Zgoto SeCumpleCondicion

Page 10: 1 Tema 6: Prácticas Antonio Cebrián. 2 Contenidos 1.Metodología 2.Programación 3.Prácticas.

10

2. Programación

• Comparaciones:

Mayor que Contador > 10

movf Contador,Wsublw 10 ; W = k – W.btfss STATUS,Cgoto SeCumpleCondicion

Page 11: 1 Tema 6: Prácticas Antonio Cebrián. 2 Contenidos 1.Metodología 2.Programación 3.Prácticas.

11

2. Programación

• Comparaciones:

Menor que Contador < 10

movf Contador,Wsublw 10 ; W = k – W.btfsc STATUS,Cgoto SeCumpleCondicion

Page 12: 1 Tema 6: Prácticas Antonio Cebrián. 2 Contenidos 1.Metodología 2.Programación 3.Prácticas.

12

2. Programación

• Bucles:

Infinito

Bucle:...

goto Bucle

Page 13: 1 Tema 6: Prácticas Antonio Cebrián. 2 Contenidos 1.Metodología 2.Programación 3.Prácticas.

13

2. Programación

• Bucles:

Número fijo de iteraciones

movlw 100movwf Contador

Bucle:...

decfsz Contador,Fgoto Bucle

Page 14: 1 Tema 6: Prácticas Antonio Cebrián. 2 Contenidos 1.Metodología 2.Programación 3.Prácticas.

14

2. Programación

• Subrutinas:...

call Subrutina...

;------------------------------------Subrutina:

.

.

.

return

Page 15: 1 Tema 6: Prácticas Antonio Cebrián. 2 Contenidos 1.Metodología 2.Programación 3.Prácticas.

15

2. Programación

• Interrupción:

Interrup:...

retfie

Page 16: 1 Tema 6: Prácticas Antonio Cebrián. 2 Contenidos 1.Metodología 2.Programación 3.Prácticas.

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

.

.

.

Page 17: 1 Tema 6: Prácticas Antonio Cebrián. 2 Contenidos 1.Metodología 2.Programación 3.Prácticas.

17

2. Programación

• Interrupción con cambio de contexto:

.

.

.

movf SaveFSR,Wmovwf FSRmovf SavePCLATH,Wmovwf PCLATHmovf SaveSTATUS,Wmovwf STATUSswapf SaveW,Fswapf SaveW,Wretfie

Page 18: 1 Tema 6: Prácticas Antonio Cebrián. 2 Contenidos 1.Metodología 2.Programación 3.Prácticas.

18

3. Prácticas

Page 19: 1 Tema 6: Prácticas Antonio Cebrián. 2 Contenidos 1.Metodología 2.Programación 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.

Page 20: 1 Tema 6: Prácticas Antonio Cebrián. 2 Contenidos 1.Metodología 2.Programación 3.Prácticas.

20

3. Prácticas

• Práctica LEDs:– Salidas digitales.

Page 21: 1 Tema 6: Prácticas Antonio Cebrián. 2 Contenidos 1.Metodología 2.Programación 3.Prácticas.

21

3. Prácticas

• Práctica LEDs:– Retardo software.

Page 22: 1 Tema 6: Prácticas Antonio Cebrián. 2 Contenidos 1.Metodología 2.Programación 3.Prácticas.

22

3. Prácticas

• Práctica LEDs:– Temporizador.

Page 23: 1 Tema 6: Prácticas Antonio Cebrián. 2 Contenidos 1.Metodología 2.Programación 3.Prácticas.

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.

Page 24: 1 Tema 6: Prácticas Antonio Cebrián. 2 Contenidos 1.Metodología 2.Programación 3.Prácticas.

24

3. Prácticas

• Práctica PULSADORES:- Rebotes:

VC C

VC C

VC C

Page 25: 1 Tema 6: Prácticas Antonio Cebrián. 2 Contenidos 1.Metodología 2.Programación 3.Prácticas.

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.

Page 26: 1 Tema 6: Prácticas Antonio Cebrián. 2 Contenidos 1.Metodología 2.Programación 3.Prácticas.

26

3. Prácticas

• Práctica ZUMBADOR:- Módulo PWM:

Page 27: 1 Tema 6: Prácticas Antonio Cebrián. 2 Contenidos 1.Metodología 2.Programación 3.Prácticas.

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.

Page 28: 1 Tema 6: Prácticas Antonio Cebrián. 2 Contenidos 1.Metodología 2.Programación 3.Prácticas.

28

3. Prácticas

• Práctica UART:- Módulo UART (TX):

Page 29: 1 Tema 6: Prácticas Antonio Cebrián. 2 Contenidos 1.Metodología 2.Programación 3.Prácticas.

29

3. Prácticas

• Práctica UART:- Módulo UART (TX):

Page 30: 1 Tema 6: Prácticas Antonio Cebrián. 2 Contenidos 1.Metodología 2.Programación 3.Prácticas.

30

3. Prácticas

• Práctica UART:- Módulo UART (RX):

Page 31: 1 Tema 6: Prácticas Antonio Cebrián. 2 Contenidos 1.Metodología 2.Programación 3.Prácticas.

31

3. Prácticas

• Práctica UART:- Módulo UART (RX):

Page 32: 1 Tema 6: Prácticas Antonio Cebrián. 2 Contenidos 1.Metodología 2.Programación 3.Prácticas.

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.

Page 33: 1 Tema 6: Prácticas Antonio Cebrián. 2 Contenidos 1.Metodología 2.Programación 3.Prácticas.

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

Page 34: 1 Tema 6: Prácticas Antonio Cebrián. 2 Contenidos 1.Metodología 2.Programación 3.Prácticas.

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.

Page 35: 1 Tema 6: Prácticas Antonio Cebrián. 2 Contenidos 1.Metodología 2.Programación 3.Prácticas.

35

3. Prácticas

• Práctica VGA:– Sincronismo horizontal:

Page 36: 1 Tema 6: Prácticas Antonio Cebrián. 2 Contenidos 1.Metodología 2.Programación 3.Prácticas.

36

3. Prácticas

• Práctica VGA:– Sincronismo vertical:

Page 37: 1 Tema 6: Prácticas Antonio Cebrián. 2 Contenidos 1.Metodología 2.Programación 3.Prácticas.

37

3. Prácticas

• Práctica VGA:– Sincronismo horizontal:

Page 38: 1 Tema 6: Prácticas Antonio Cebrián. 2 Contenidos 1.Metodología 2.Programación 3.Prácticas.

38

3. Prácticas

• Práctica VGA:– Sincronismo horizontal vs vertical:

Page 39: 1 Tema 6: Prácticas Antonio Cebrián. 2 Contenidos 1.Metodología 2.Programación 3.Prácticas.

39

3. Prácticas

• Práctica VGA:– Sincronismo horizontal vs RGB:

Page 40: 1 Tema 6: Prácticas Antonio Cebrián. 2 Contenidos 1.Metodología 2.Programación 3.Prácticas.

40

3. Prácticas

• Práctica VGA:– Sincronismo vertical vs RGB:

Page 41: 1 Tema 6: Prácticas Antonio Cebrián. 2 Contenidos 1.Metodología 2.Programación 3.Prácticas.

41

3. Prácticas

• Práctica VGA:– Sincronismo vertical vs RGB:

Page 42: 1 Tema 6: Prácticas Antonio Cebrián. 2 Contenidos 1.Metodología 2.Programación 3.Prácticas.

42

3. Prácticas

• Práctica VGA: