Académique Documents
Professionnel Documents
Culture Documents
- Descripcin externa - Arquitectura interna - Organizacin de memoria - Registros de propsito general - Registros de entrada/salida (SREG,SPL) - Modos de direccionamiento - Juego de instrucciones
1 - Directivas de ensamblador y entorno de program.
Microcontrolador AT90S2313
Presentacin
Arquitectura Risc. 8 bits Frecuencia de reloj de hasta 10 Mhz (Xtal1,Xtal2) Hasta 10 Mips 2 Kb Flash, 128 b SRAM, 128 b EEprom Diversos perifricos Encapsulado 20 pines Versiones bajo consumo
Microcontrolador AT90S2313
Descripcin externa
VCC,GND : Terminales de alimentacin #RESET: Reinicia ejecucin de instrucciones XTAL1,XTAL2 : Entradas de reloj PD6-0 PB7-0 Pines de puerto con funciones alternativas
Microcontrolador AT90S2313
Descripcin interna
Microcontrolador AT90S2313
Microcontrolador AT90S2313
Microcontrolador AT90S2313
Registros de propsito general
Son 32 registros Las instrucciones con modo inmediato slo usan los 16 registros superiores. Registro X, Y, Z para modos indirectos
Microcontrolador AT90S2313
Microcontrolador AT90S2313
Registros de entrada/salida
Permiten el acceso y control de los perifricos y de los recursos del microcontrolador.
Microcontrolador AT90S2313
Registro de estado.
El bandern I (interrupcin) habilita o inhabilita la generacin de interrupciones. El bandern T (bit de propsito general) Los bits (flags o banderines) C, Z, N, V, S, H cambian dependiendo del resultado de la ejecucin de diferentes instrucciones (aritmticas, lgicas, rotacin/desplaz. y de modificacin de flags). 10
Microcontrolador AT90S2313
Bit C (Acarreo)
Bit Z (Zero)
- Se pone a 1 para resultado cero, 0 en otro caso.
Bit N (Negative)
- Bit 7 del resultado.
Microcontrolador AT90S2313
Bit H (HalfCarry)
12
Microcontrolador AT90S2313
Registro PUNTERO de PILA.
Apunta al rea de pila que defina el usuario. El SP se decrementa al meter en pila y se incrementa al sacar. Si el programador usa subrutinas o interrupciones, es necesario inicializar el puntero de pila. En estos casos el SP se incrementa o decrementa automticamente en dos unidades.
13
Microcontrolador AT90S2313
Directo Indirecto Indirecto con predecremento Indirecto con postincremento Indirecto con desplazamiento Constantes del programa Inmediato
14
Microcontrolador AT90S2313
15
Microcontrolador AT90S2313
16
Microcontrolador AT90S2313
17
Microcontrolador AT90S2313
18
Microcontrolador AT90S2313
19
Microcontrolador AT90S2313
20
Microcontrolador AT90S2313
21
Microcontrolador AT90S2313
22
Microcontrolador AT90S2313
23
Microcontrolador AT90S2313
Direccionamiento inmediato
El dato est est codificado en la propia instruccin Ejemplos: LDI r16,255, ANDI r25,0x10
24
Microcontrolador AT90S2313
25
Microcontrolador AT90S2313
26
Microcontrolador AT90S2313
27
Microcontrolador AT90S2313
Instrucciones sin operandos
Mnemnico
Mnemnico
Operandos
Microcontrolador AT90S2313
Juego de instrucciones - Instrucciones de transferencia de datos - Instrucciones aritmticas y lgicas - Instrucciones de bifurcacin - Instrucciones de desplazamiento y rotacin - Instrucciones de bit - Instrucciones de control
29
Microcontrolador AT90S2313
- MOV - LDI - LDS - STS
30
Microcontrolador AT90S2313
- LD - ST
31
Microcontrolador AT90S2313
- LDD - STD - IN - OUT
32
Microcontrolador AT90S2313
$00
$DF
33
Microcontrolador AT90S2313
- PUSH - POP - LPM -SWAP
34
Microcontrolador AT90S2313
Juego de instrucciones: Aritmticas y lgicas - Los operandos slo pueden ser registros o constantes. - Suma aritmtica
- Sin acarreo - Con acarreo - Suma con registros 16 bits y dato inmediato
35
Microcontrolador AT90S2313
- Resta aritmtica
- Sin acarreo - Con dato inmediato - Con acarreo
- Con dato inmediato y acarreo - Con dato inmediato y con registros de 16 bits.
36
Microcontrolador AT90S2313
- Comparacin
- 2 registros sin acarreo
- INCrementa y DECrementa
37
Microcontrolador AT90S2313
- CLR (poner a cero) - SER (poner a $FF) - NEG (Ca2)
38
Microcontrolador AT90S2313
- AND - OR - EOR - COM
39
Microcontrolador AT90S2313
- Saltos incondicionales:
- Llamada a subrutinas:
- Usan la pila (STACK) para almacenar el retorno. - Relativo, - Absoluto, -Indirecto
40
Microcontrolador AT90S2313
- De regreso de subrutinas. - Saltos condicionales:
41
Microcontrolador AT90S2313
42
Microcontrolador AT90S2313
43
Microcontrolador AT90S2313
- Instrucciones BRTS y BRTC: - Instrucciones BRHS y BRHC: - Instrucciones BRIE y BRID:
44
Microcontrolador AT90S2313
- Instrucciones BRPL y BRMI: -Instruccin BRSH
- Salta si igual o mayor - Sin signo
- Instruccin BRLO
- Salta si menor - Sin signo
45
Microcontrolador AT90S2313
- Instruccin BRGE
- Salta si igual o mayor - Con signo
- Instruccin BRLT
- Salta si menor - Con signo
46
Microcontrolador AT90S2313
47
Microcontrolador AT90S2313
- Desplazamiento. - Desplazamiento aritmtico
Rn
7
0 C
Rn Rn
C 0
48
Microcontrolador AT90S2313
- Rotaciones.
C Rn Rn
- Instrucciones
49
Microcontrolador AT90S2313
- De puertos: SBI, CBI - De registro de estado SREG
50
Microcontrolador AT90S2313
- NOP - WDR - SLEEP
51
Microcontrolador AT90S2313
Directivas de ensamblador Son comandos al programa que genera el cdigo objeto y que se encuentran mezclados en el fichero fuente con las instrucciones del micro. - CSEG-Code Segment
Sintaxis: .CSEG
- DSEG-Date Segment
Sintaxis: .DSEG
52
Microcontrolador AT90S2313
Directivas de ensamblador - DW Define Word en Program Memory
Sintaxis: .DW expressionlist Const: .DW 0,0xFFFF, -32768,65535, 0b1111111100000000
53
Microcontrolador AT90S2313
Directivas de ensamblador - DEF Asigna un nombre simblico a un registro.
Sintaxis: .DEF symbol=register .DEF temp = r16 .DEF ior= r0
54
Microcontrolador AT90S2313
Directivas de ensamblador - ORG Establece el origen del programa
Sintaxis: .ORG expression .DSEG .ORG 0X37 Variable: .BYTE 1 .CSEG .ORG 0x10 Mov r0,r1
55
56
57
Wavrasm (cont.)
Editor de texto para escribir programas en lenguaje ensamblador ( .asm ) Ensamblador integrado
Permite el uso de directivas Permite la identificacin de los errores en el programa escrito Genera ficheros con las extensiones (.lst) que mezcla nuestro programa con el cdigo objeto, (.obj) que contiene slo el cdigo objeto y (.hex) o formato Intel Hex que se usar, en ltimo lugar, por el AVR ISP para la programacin fsica del microcontrolador.
58
AVR ISP
59
61
AVR STUDIO
62
STK-200
Placa STK200
64
STK-200 (cont.)
Establece un entorno de funcionamiento para el microcontrolador permitiendo la realizacin de ensayos bsicos. Zcalos de diferentes tamaos para los distintos modelos de la familia AT90 Oscilador de cristal Drivers RS232 con conector DB9 Conector para la programacin del microcontrolador a travs del puerto paralelo
65
STK-200 (cont.)
Conjunto de diodos LEDS Conjunto de pulsadores mecnicos Conectores de expansin Regulador de alimentacin Zcalo para LCD.
66
STK-500
Placa STK500
67
STK-500 (cont.)
Se comunica con el PC a travs del puerto serie Software actualizable Frecuencia de reloj programable desde el PC (AvrStudio) Voltaje de alimentacin de los C regulable desde PC. Conjunto de leds Conjunto de pulsadores Zcalos de diferentes tamaos Conectores de expansin. 68