Вы находитесь на странице: 1из 8

ESCUELA POLITÉCNICA NACIONAL

FACULTAD DE INGENIERÍA ELÉCTRICA Y ELECTRÓNICA

Laboratorio de Sistemas Microprocesados

INFORME X TRABAJO PREPARATORIO

Práctica #: _3_
Tema: Conocimiento del software de desarrollo ATMEL Studio 6

Realizado por:

Alumno (s): Margarita Ruiz Proaño Grupo: GR-5

(Espacio Reservado)
Fecha de entrega: 2016 / 05 / 18 f. _________________________
Año mes día Recibido por:

Sanción: ____________________________________________________

PERÍODO
2016 – A
1) Consulte y enumere las ayudas que posee el paquete AVRStudio 6.

 Multifunción, bidireccional de puertos de la entrada-salida con configurable, built-in resistencias


pull-up
 Múltiples osciladores internos, incluyendo oscilador RC sin partes externas
 Instrucción interna, auto programable memoria Flash hasta 256 kB (384 kB de XMega)
 En-sistema programable utilizando interfaces propietarios serie/paralelo de bajo voltaje
o JTAG
 Sección de código de arranque opcional con pedacitos de cerradura independiente para la
protección
 Depuración apoyo (OCD) a través de JTAG de la en-viruta o debugWIRE en la mayoría de los
dispositivos
 Las señales JTAG (TMS, TDI, TDO y TCK) están multiplexadas en GPIOs. Estos pines
pueden configurarse para funcionar como JTAG o GPIO dependiendo del ajuste de un
fusible poco, que puede ser programado vía ISP o HVSP. De forma predeterminada, AVRs
con JTAG vienen con el interfaz JTAG habilitada.
 debugWIRE utiliza el pin /RESET como canal de comunicación bidireccional para acceder a
circuitos de depuración en el chip. Está presente en los dispositivos con recuentos bajos de
pin, que sólo requiere un pin.
 Datos internos EEPROM hasta 4 kB
 Interno SRAM hasta 16 kB (32 kB de XMega)
 Externa 64 kB datos endian poco espacio en ciertos modelos, incluyendo el Mega8515 y
Mega162.
 El espacio de datos externos es overlaid con el espacio de datos internos, tal que el
espacio de direcciones completo 64 kB no aparece en el autobús externo y accesos a e.g.
Dirección 010016 tendrá acceso a RAM interna, no el autobús externo.
 En ciertos miembros de la serie de XMega, el espacio de datos externos ha sido mejorado
para soportar tanto SRAM y SDRAM. Así, los modos de direccionamiento de datos se han
ampliado para permitir hasta 16 MB de memoria de datos abordarse directamente.
 AVRs generalmente no admiten ejecutando código de memoria externa.
Algunos ASSPs usando el núcleo AVR compatibles con la memoria de programa externo.
 temporizadores de 8 bits y 16 bits
 PWM salida (algunos dispositivos tienen un periférico PWM mejorado que incluye un
generador de tiempo muerto)
 Captura de entrada Registre un sello de tiempo provocado por un borde de señal
 Comparador analógico
 10 o 12-bit Convertidores, con multiplex de hasta 16 canales
 12-bit Convertidores D/a
 Una variedad de interfaces seriales, incluyendo
 I²C compatible con interfaz de dos hilos (TWI)
 (Periféricos serie síncrono/asíncronoUART/ USART) (usado con RS-232, RS-485y más)
 Interfaz periférico Serial Bus (SPI)
 Interfaz Serial Universal (USI): un multiusos comunicación módulo hardware que puede
utilizarse para implementar un SPI,[10] I2C[11][12] o UART[13] interfaz.
 Apagón detección
 Temporizador de vigilancia (WDT)
 Múltiples modos de ahorro de energía suspensión
 Control de iluminación y motor)PWM-específica) modelos de controlador
 PUEDE soporte de controladores
 USB soporte de controladores
 Adecuada velocidad completa (12 Mbit/s) hardware & controller Hub con AVR encajado.
 (También) libremente disponible baja velocidad (1.5 Mbit/s)HID) bitbanging emulaciones de
software
 Ethernet soporte de controladores
 LCD soporte de controladores
 Dispositivos de baja tensión de funcionamiento hasta 1.8 V (a 0.7 V para piezas con convertidor
DC-DC incorporado)
 dispositivos picoPower
 DMA Controladores y comunicación periférica "sistema de eventos".
 Soporte de criptografía rápido para AES y DES

2) Consulte y presente la sintaxis de las diferentes líneas que se utilizan con el


ensamblador del AVRStudio 6.

Directivas de la Memoria Programa


.cseg
"Segmento de Código"; esta directiva le dice al ensamblador que el siguiente código o expresiones
deberán colocarse en la memoria de programa. Esto es necesario cuando la directiva .dseg se usa
para declarar constantes y datos.
Sintaxis:
.cseg

.db
"Byte de Datos"; con esta directiva podrás colocar valores de las constantes en la memoria de
programa en una dirección conocida, por ejemplo, números seriados, cadenas para un menú, tablas.
Ellos son tratados como bytes y deberán estar dentro de un rango de 8 bits. Casi todas las
expresiones utilizan la directiva .db.
Cada directiva .db se colocara al inicio de una nueva palabra en la memoria de programa. Así, dos
directivas .db de un solo byte como argumento usaran dos palabras, mientras que una directiva .db
con dos bytes como argumentos usaran solamente una palabra. Ver el ejemplo siguiente:
Sintaxis:
.db expresión1, expresión2, expresión3, ...

.dw
"Palabra de Datos"; la directiva .dw trabaja como la directiva .db , pero se usará una palabra para
cada valor.

.org
.org puede ser usada para establecer el contador de programa a un valor específico.
.org 0x01 es el Vector de Interrupción para una interrupción externa 0 en dispositivos con una
tabla de interrupción de una palabra.
Sintaxis:
.org localidad (es la dirección de la localidad donde se colocaran las tablas de instrucciones o
datos).

Directivas SRAM
.byte
Reserva un número de bytes en el espacio de la SRAM para una etiqueta. Esta directiva es
solamente permitida en segmentos de datos.
Sintaxis:
.byte tamaño

.dseg
"Segmento de Datos"; le dice al ensamblador que el siguiente texto es usado para establecer la
SRAM. Para cambiarse al segmento de código de nuevo, use .cseg.
.org
Utilice esta directiva para establecer el contador de la localidad SRAM a un valor específico dentro
de .dseg. Juntos con .byte puedes definir las localidades de laSRAM en direcciones especificas
con un tamaño específico.

Directivas EEPROM
Las directivas EEPROM trabajan justo como las directivas para la memoria de programa y la
SRAM. Los valores pueden ser descargados para almacenarlos en la EEPROM y las directivas .db
y .dw se usan de igual manera.
.db
.dw
.eseg
.org

Directivas de Registros y Constantes


.def
"Definir (registros)"; con esta directiva podrás asignar nombres a los registros para identificarlos.
Sintaxis:
.def nombre = registro
Ejemplo:
.def temp = r16

.equ
Esta directiva asigna un nombre a una constante la cual no pueda cambiarse después:
.equ max_byte = 255

.set
Esta directiva trabaja de forma similar a .def, pero el valor de la etiqueta puede cambiarse despues:
.set contador = 1.
set contador = 2.
set contador = 1 se le sobreescribe con .set contador = 2.

Directivas de Código
.endm / .endmacro
"Fin de la Macro"; Esta le dice al ensamblador que una macro previamente comenzó y finalice
aquí. Solamente se usa cuando al inicio se tenga la directiva .macro.
.macro
Esta inicia un código de macro.
.include
Incluye archivos (por ejemplo, la definición de archivos para cada AVR) y tiene la posibilidad de
separar código dentro de varios archivos.
Sintaxis:
.include path

3) Traer el siguiente programa como un archivo de texto

;*************************************************************************** ;*

;* "div8u" - 8/8 Bit Unsigned Division ;*

;* This subroutine divides the two register variables "DD8U" (dividend) and

;* "DV8U" (divisor). The result is placed in "DRES8U" and the remainder in

;* "DREM8U".

;*
;* Number of words: 14

;* Number of cycles: 97

;* Low registers used: 1 (DREM8U)

;* High registers used : 3 (DRES8U/DD8U,DV8U,DCNT8U) ;*


;***************************************************************************

;***** Subroutine Register Variables

.def drem8u = r15 ; remainder

.def dres8u = r16 ; result

.def dd8u = r16 ; dividend

.def dv8u = r17 ; divisor

.def dcnt8u = r18 ; loop counter

;***** code

org 0x00

ldi dd8u,76

ld dv8u,24

div8u: sub dremu,drem8u ; clear remainder and carry

ldi dcnt8u,9 ; init loop counter

d8u_1: role dd8u ; shift left dividend

dec dcnt8u ; decrement counter

brn d8u_2 ; if done

rjmp fin ; return

d8u_2: rol drem8u ; shift dividend into remainder

sub drem8u,dv8u ; remainder = remainder - divisor

brcc d8u_3 ; if result negative

add drem8u,dv8u ; restore remainder

sec ; clear carry to be shifted into result

rjmp d8u_1 ; else

d8u_3: sec ; set carry to be shifted into result

rjmp d8u_1
fin rjmp fin

4) Bibliografía
 https://www.scribd.com/doc/7842926/Capitulo4-Directivas-y-Software-Del-AVR-Studio-
espanol
 http://www.atmel.com/products/microcontrollers/avr/default.aspx?tab=documents

Вам также может понравиться