TUTORIAL DE ATMEL AVR s de 8-bits

Tamaño: px
Comenzar la demostración a partir de la página:

Download "TUTORIAL DE ATMEL AVR s de 8-bits"

Transcripción

1 TUTORIAL DE ATMEL AVR s de 8-bits Logo propiedad de Atmel Ensamblador Autor: Luis Antonio Méndez Soto PARTE 1 Libre distribución. Solo pongan de donde lo obtuvieron y referencias bibliográficas. Atmel, the Atmel logo and combinations thereof, and others are the registered trademarks or trademarks of Atmel Corporation of its subsidiaries "AVR " and "AVR is a registered trademark of Atmel Corporation".

2 Introducción. Decidí hacer este tutorial por que yo aprendí a programar los Avr s en c++ y quería aprender en ensamblador, estuve buscando y nunca encontré un tutorial que en realidad le entendiera entonces decidí aprender por mi cuenta. Tengo conocimientos sobre ensamblador de Z80 y como funciona un sistema mínimo conecte uno en una protoboard que ya no era tan sistema mínimo estaba bastante grande todavía lo tengo por ahí armado de hecho no lo quiero desarmar, no lo uso por que que no tengo programador de memorias paralelas. Y pues se poco ensamblador de PIC16F84 pero pues aquí tratamos de aprender ensamblador de los Avr s. En general el ensamblador es lo mismo en todos los Avr s no como en los PIC que cada uno tiene un ensamblador diferente. Desde mi punto de vista y lo poco que conozco al arquitectura del uc Pic no fue muy bien pensada en comparación con la de los Avr s. Pero eso ya es decisión de cada uno. Dedico este pequeño tutorial a todas las personas que me apoyan y me dicen que siga adelante que cumpla con mis sueños a mis papas que siempre han sido la base de mi de mi crecimiento como persona y que sin ellos no sabría todo esto, los quiero mucho. A mi novia que siempre me apoya y mas que nada por el tiempo que no le dedico a ella y se lo dedico a estas actividades que tanto me gustan.

3 Conocimientos Necesarios. 1. Electrónica básica(conexiones) 2. Programación ya sea en c o algún otro lenguaje. 3. Ganas de Aprender bien y hacer preguntas. Componentes Necesarios. 1.-Programador de Avr s cualquiera que funcione. 2.-uC Atmel Serie Avr Attiny 461, Atmega8(cualquier Avr funciona por que va a ser en ensamblador y todo ensamblador de Avr es muy parecido) 3.-Protoboard 4.-Pequeña fuente de 5 Volts 5.-Resistencias (variadas) 6.-Led s Varios Software necesario Avr Studio 4 Avr Dude (dependiendo de el programador) Pony Prog (dependiendo de el programador)

4 Sobre los componentes. 1.-Programador de Avr s, yo tengo el Avr Dragon pero cualquiera que tengan y que funcione debe de funcionar bien y servirnos y si no tiene chequeen paginas como que tienen desde $ 300 pesos Aquí en Celaya Voltix vende el Avr Dragon que cuesta aproximadamente $1000 En Queretaro esta Advandix ahi venden también En la Ciudad de México en el Centro en la calle de República de el Salvador deben de encontrar yo e visto en al plaza con el numero 24 en la parte de arriba es cosa de que pregunten. O otra opción es hacerlo en lo personal yo no los e probado pero les dejo varios links. Miren / Mas adelante haber si agarramos un tutorial de estos y los probamos haber que pasa, si alguien ve alguno y le funciono pues que nos diga 2.-Aquí en Celaya en Voltix los venden o pueden ponerse en contacto conmigo por correo electrónico [email protected] y [email protected] y yo se los puedo vender. 3.- Esta las pueden conseguir en Voltix o en Steren en cualquier tienda que venda componentes electrónicos como para hobistas 4.-Pues esto pueden usar la de un cargador de celular una computadora o varias cosas así o hacer una pequeña fuente con LM7805 y un transformador ahí esta el diagrama. 5.- Igualmente en Voltix o en cualquier Steren si quiere me pueden contactar y yo también se las puedo vender. 6.- Igualmente en Voltix o en cualquier Steren si quiere me pueden contactar y yo también se las puedo vender.

5 Software necesario Pues el Avr Studio lo pueden conseguir directo de la pagina de Atmel este software es gratuito solo hace falta registrarse y si quieren aprender pues con este basta por que también es simulador y para programas simples como con los que vamos a empezar con este software basta. El Avr dude y el pony prog también son gratuitos esos hay que echarle una buscada en google. Les recomiendo también tener la hoja de datos de su uc que quieren programar la pueden buscar directo en Atmel tiene todo muy bien organizado y las instrucciones de ensamblador de loa Avr s también están en Atmel pero a esa si les dejo el link seria Estas son las instrucciones de los Avr s de 8 bits

6 Inicio y pura teoria. Que es un Microcontrolador?De Wikipedia: Un circuito Integrado o chip que incluye en sus interior las tres unidades básicas de una computadora: Unidad central de procesamiento (CPU), Memoria y unidades de E/S. Desde mi punto de vista: es una computadora en un circuito integrado. Pueden tener mas dispositivos dentro de ellos mismo como: Convertidores DAC, ADC, timers, PWM, USART, UART, SPI, Comparadores, Interfaz usb, Ethernet, Controladores de LCD, etc.. Dependiendo de los módulos extras que tenga es su precio y complejidad. Existen muchos fabricantes como: Atmel, Microchip, Motorola, Parallax, Hitachi, National Instruments, Texas Instruments, Zilog, etc... Aplicaciones: Pues sus aplicaciones son prácticamente infinitas, imaginate cuantos aparatos conoces que tiene una pantalla ya sea de leds, touch, lcd como hornos, celulares,cámaras, refrigeradores, relojes, aires acondicionados, lavadoras, controles remotos, etc... Los aparatos que traen botones para interactuar con nosotros, los aparatos con leds pequeños y así muchos mas. Todo este tipo de aparatos necesita un controlador, generalmente es una computadora pero son muy caras para tenerlas dentro, ahí es donde entra el uc. Un carro es un buen ejemplo, sin temor a equivocarme un carro moderno trae cerca de 50 uc, casi casi uno por sensor por que van interconectados a un una computadora central que controla todo pero algo necesita enviar los datos de una manera para que los entienda el CPU principal esto lo hace el uc. El bus que usan generalmente los carros se llama Bus CAN. Pues bueno nosotros vamos a usar el Attiny461 pero como ya lo dije y lo vuelvo a repetir es ensamblador y pues sirve para casi todos los microcontroladores Atmel de la seria AVR tiny y Avr Mega no se decirles de los Xmega nunca e usado uno pero espero y pronto poder usarlo. Ejecución de instrucciones Todos los uc tiene arquitectura Harvard al menos todos los que conozco esto quiere decir tiene una memoria diferente para programa y para datos mientras que una arquitectura Von Neuman es la misma memoria para datos y programa. Tener arquitectura Harvard es mejor por que es mas rápido de accesar. Veamos lo así mientras en Harvard yo lee el programa y también obtengo los datos al mismo tiempo en el mismo ciclo de reloj en el de Von Neuman necesito dos ciclos de reloj uno para leer la acción a hacer y la otra para el dato.

7 Les dejo una figura de como se lee los datos y el programa en los Avr s Imagen propiedad de Atmel Figura 1 de la hoja de datos del Attiny461 Como se alcanza a ver en el primer ciclo de reloj se decodifica la primera instrucción y en el segundo ciclo ya se sabe que tiene que hacer y ejecuta la primera instrucción, mientras que en ese mismo ciclo la segunda instrucción se decodifica y al tercer ciclo se ejecuta esa segunda instrucción y se obtiene la 3er instrucción y así sucesivamente, todo esto es gracias a las dos memorias separadas para datos y para programa.

8 Un poco de la arquitectura. Les dejo una imagen de la arquitectura y explicación de los componentes que vamos a usar en esta primera parte de el tutorial. Contiene 32 Registros de propósito general de 8 bits con un tiempo de acceso de un ciclo de reloj. El flujo de el programa es proveído por saltos condicionados y no condicionados la función Call o llamada a subrutina y esto es capaz de accesorio a toda la memoria de el uc. Imagen propiedad de Atmel

9 ALU Este esta conectado a los 32 registros de propósito general.se ejecutan instrucciones entre los registros en un solo ciclo de reloj puede ser con otro registro o con otro dato. Se divide en tres categorías :operaciones aritméticas, operaciones lógicas y operaciones de tipo bit. Statur register.(sreg) Contiene información de la operación aritmética ejecutada mas recientemente. Este registro no se guarda automáticamente cuando entras a una subrutina, hay que guardarlo automáticamente. Imagen propiedad de Atmel Esta parte es muy importante es la que nos dice como debe de seguir el programa o las condiciones apréndansela o impriman la es muy importante les explico cada bit. Bit 7 Global Interupt enable (GIE) Cuando este bit es 1 están habilitadas la interrupciones del uc, si no esta habilitado y en los otros registros se habilitan no va a pasar nada por que este no esta habilitado. Se cambia a 0 automáticamente por hardware cuando ocurre alguna interrupción. Y puede ser puesto a uno de nuevo con la instrucción RETI. Puede ser puesto a 1 o 0 con las instrucciones SEI y CLI. Bit 6 Bit Copy Storage (BCS) Este se usa para copiar un bit de el SREG a un registro o de un registro al SREG no se usa mucho en programación. Bit 5 Half Carry Flag (HCF) Indica si hay medio carry en la ultima operación. O si la operación anterior fue mayor a 15. Bit 4 Sign Bit (SB) Siempre es una operación exclusive or con la bandera de negativo y la de complemento a dos y sobre flujo Bit 3 Two complements overflow flag

10 Esta la Explico un poco mas adelante Bit 2 Negative flag (NF) Indica si el resultado de la ultima operación fue menor que cero. Tambien podemos checarla y ver que el numero es 128 o mayor Bit 1 Zero flag(zf) Indica si la ultima operación fue cero. Bit 0 Carry flag (CF) Indica si el resultado de la ultima operación fue mas de 255. Sobre los registros. Los registros son una especie de memoria Ram pero no lo son estos están conectados directo al ALU y todas las operaciones pasan por el ALU. Para un programa pequeño no necesita Ram pero si necesita guardar información para esto nos sirven los registros como lo dice son 32 registros les dejo una pequeña imagen de como están. Imagen propiedad de Atmel

11 Como se alcanza a ver aquí los registro del 26 al 31 de pueden usar como registros de 16 bits para lograr accesar a toda la memoria del uc. Las operaciones que se pueden hacer son: Una entrada de 8 bits de entrada y el resultado ser de 8 bits. Dos entradas de 8 bits y un resultado de 8 bits. Dos entradas de 8 bits y una salida de 16 bits. Una entrada de 16 bits y una salida de 16 bits. Pues eso seria toda la teoria por este primera parte de el tutorial ahora si viene lo mismo espero y ya tengamos al menos instalado el Avr Studio todos en nuestra maquina. Si no recuerden descargarlo de la pagina de Atmel

12 Esta es la imagen con la que empezamos INICIO Aquí le tenemos que dar click en new project y esta es la imagen que sale

13 Aquí seleccionamos Atmel Avr Assembler esto nos habilita el nombre de el proyecto y el nombre de el archivo con extensión.asm y le damos en Next y sale esto. ASEGURENSE TAMBIEN DE PONER CREATE INITIAL FILE. Aquí seleccionamos Avr Simulator y en mi caso Selecciono Attiny461 si ustedes tiene

14 otro uc seleccionen el modelo de el uc que tiene si no aparece en Avr Simulator seleccionen el Avr Simulator 2 y ahí de seguro debe aparecer y damos click en Finish. Pues ahora si viene lo bueno no se si recuerden el Sreg que tiene un numero en hexadecimal a la hora de programar no existe el Sreg y los demás registros del timer, adc usart y demás cosas cada uno tiene un numero pero pues así es un poco mas difícil recordarlo por ejemplo el que les digo el Sreg tiene el numero hexadecimal 0x3F de ahora en adelante cuando vean 0xA0 va a ser un numero en hexadecimal es mas fácil aprender que es el Sreg que el registro 0x3F. Entonces lo que podemos hacer es que escribamos. De ahora en adelante todo texto en cursiva y negritas es parte de el programa.equ Sreg = 0x3F y así para todos los demás registros que vayamos a y usar. Pero esta la otra opción que se me hace mas fácil, donde se instalo el Avr Studio en mi caso C:\Program Files\Atmel hay una carpeta que dice Avr Tools le damos click ahí después hay una que dice Avr Assembler click y por fin en la que dice Appnotes. Vemos que nos aparece cosas así : m32def, m48def, tn2313def, tn45def, etc... abramos uno el que sea en este caso les pego una parte de lo que tiene el tn2313def aquí lo tienen: ;*************************************************************************** ;* A P P L I C A T I O N N O T E F O R T H E A V R F A M I L Y ;* Number :AVR000 ;* File Name :"tn2313def.inc" ;* Title :Register/Bit Definitions for the ATtiny2313 ;* Date : ;* Version :1.00 ;* Support [email protected] ;* Target MCU :ATtiny2313

15 ;* DESCRIPTION ;* When including this file in the assembly program file, all I/O register names and I/O register bit names appearing in the data book can be used.in addition, the two registers forming the data pointer Z have been assigned names ZL - ZH. ;* The Register names are represented by their hexadecimal address. ;* The Register Bit names are represented by their bit number (0-7). ;* Please observe the difference in using the bit names with instructions such as "sbr"/"cbr" (set/clear bit in register) and "sbrs"/"sbrc" (skip if bit in register set/cleared). The following example illustrates this: ;* in r16,portb ;read PORTB latch ;* sbr r16,(1<<pb6)+(1<<pb5) ;set PB6 and PB5 (use masks, not bit#) ;* out PORTB,r16 ;output to PORTB ;* in r16,tifr ;read the Timer Interrupt Flag Register ;* sbrc r16,tov0 ;test the overflow flag (use bit#) ;* rjmp TOV0_is_set ;jump if set ;*... ;otherwise do something else ;*************************************************************************** ;***** Specify Device.device ATtiny2313 ;***************************************************************************** ; I/O Register Definitions ;*****************************************************************************.equ SREG = 0x3F.equ SPL = 0x3D.equ OCR0B = 0x3C.equ GIMSK = 0x3B.equ EIFR = 0x3A.equ GIFR = 0x3A ; for compatibility purpose.equ TIMSK = 0x39.equ TIFR = 0x38.equ SPMCSR = 0x37.equ OCR0A = 0x36.equ MCUCR = 0x35.equ MCUSR = 0x34.equ TCCR0B = 0x33.equ TCCR0 = 0x33 ; for compatibility purpose.equ TCNT0 = 0x32.equ OSCCAL = 0x31.equ TCCR0A = 0x30.equ TCCR1A = 0x2F.equ TCCR1B = 0x2E.equ TCNT1H = 0x2D.equ TCNT1L = 0x2C.equ OCR1AH = 0x2B.equ OCR1AL = 0x2A.equ OCR1BH = 0x29.equ OCR1BL = 0x28.equ CLKPR = 0x26.equ ICR1H = 0x25.equ ICR1L = 0x24.equ GTCCR = 0x23.equ SFIOR = 0x23 ; for compatibility purpose.equ TCCR1C = 0x22.equ WDTCR = 0x21.equ PCMSK = 0x20.equ EEAR = 0x1E ; for compatibility purpose.equ EEARL = 0x1E.equ EEDR = 0x1D.equ EECR = 0x1C.equ PORTA = 0x1B.equ DDRA = 0x1A.equ PINA = 0x19.equ PORTB = 0x18.equ DDRB = 0x17.equ PINB = 0x16.equ GPIOR2 = 0x15.equ GPIOR1 = 0x14

16 .equ GPIOR0 = 0x13.equ PORTD = 0x12.equ DDRD = 0x11.equ PIND = 0x10.equ USIDR = 0x0F.equ USISR = 0x0E.equ USICR = 0x0D.equ UDR = 0x0C.equ UCSRA = 0x0B.equ USR = 0x0B ; for compatibility purpose.equ UCSRB = 0x0A.equ UCR = 0x0A ; for compatibility purpose.equ UBRRL = 0x09.equ UBRR = 0x09 ; for compatibility purpose.equ ACSR = 0x08.equ UCSRC = 0x03.equ UBRRH = 0x02.equ DIDR = 0x01 Se alcanza a ver que son puras definiciones y pues así están todos en este caso buscamos la que diga tn461def para el uc que voy a usar si tiene el Atmega8 usan la que dice mega8def y así. Pero notamos que no esta el tn461def buscamos el uc mas parecido y pues es el Attiny2113 usamos este solo en unos caso va a haber que definir mas cosas por ejemplo este Attiny2113 no tiene ADC y el Attiny461 si los tiene pues ya cuando los usemos vemos como le hacemos por lo pronto no hay que preocuparnos entonces en lugar de todas esas declaraciones al inicio de le programa ponemos.include tn2313def.inc Esto hará que todas las definiciones que tenemos en esa hoja queden en nuestro programa cuando se este ensamblando y el ensamblador vea Sreg lo va a sustituir por el numero que pusimos y no usamos mas memoria eso se hace a la hora de ensamblar. Entonces tenemos algo que se ve como esto.

17 Ahora pues esto no hace nada incluso si se trata de ensamblar nos manda errores por que no tiene nada este primer programa vamos a hacer que un led prenda y apague cada cierto tiempo de hecho no se va a alcanzar a ver por que el uc lo va a hacer muy muy rápido. El uc no sabe por donde queremos sacar el dato en esta caso hacer que se prenda o se apague el led. Vamos a la hoja de datos y vemos tiene dos puertos de 8 bits pues que podemos hacer sacamos todo el dato por un puerto en este caso voy a seleccionar el puerto B de alguna manera tengo que decirle al uc que por el puerto B voy a sacar mi dato aquí es donde voy a usar mi primera instrucción tengo que decirle al puerto B que sea salida para eso tengo que poner un numero en el registro DDRB este numero es un 1 para que sea el bit 0 como salida pero no puedo poner DDRB=1 tengo que cargárselo antes aun registro de propósito general para esto vamos a hacer esto es lo que llevamos de el programación.include tn2313def.inc //definiciones LDI R16,0x01 //carga un uno al registro 16 OUT DDRB,R16 //selecciona el bit0 del puerto b como salida Bien ahora no falta decirle que se prenda y se apague cada X tiempo para eso volvemos a usar la instrucción OUT pero en lugar de DDRB que dice si el puerto es entrada o salida ponemos PORTB que dice cuanto va a valer el PORTB quedando OUT PORTB,R16 //aqui saco el valor de el R16 por el puertob Bien ahora solo falta que se haga o para ver que si funciona entonces seria poner en un registro un cero y usar la otra vez la instrucción out quedando de esta manera. LDI R16,0x00 //uso de nuevo el R16 para que este un poco tiempo prendido OUT PORTB,R6 //saco el cero que tiene el registro r16 Esto seria en si nuestro programa básico miren.include tn2313def.inc //definiciones

18 LDI R16,0x01 //carga un uno al registro 16 OUT DDRB,R16 //selecciona el bit0 del puerto b como salida OUT PORTB,R16 //aqui saco el valor de el R16 por el puertob LDI R16,0x00 //uso de nuevo el R16 para que este un poco tiempo prendido OUT PORTB,R6 //saco el cero que tiene el registro r16 Pero nuestro aparato no se puede decir que es inteligente por que queremos que lo haga por siempre y si lo dejamos así lo va a hacer una vez y ya no va a hacer mas entonces hay que encontrar una manera para que lo repita por siempre y para eso usamos la función RJMP que brinca a una parte de el programa que queramos nosotros. El problema aquí es decidir a donde regresar podríamos regresar a la primera linea la de LDI R16,0x01y quedaría bien pero pues en cada nuevo ciclo declararíamos otra vez que el bit0 de el puerto B es salida entonces yo mejor agrego una linea de que diga LDI R16,0x01 y después el RJMP quedando todo el programa como:.include tn2313def.inc //definiciones LDI R16,0x01 //carga un uno al registro 16 OUT DDRB,R16 //selecciona el bit0 del puerto b como salida INICIO: OUT PORTB,R16 //aqui saco el valor de el R16 por el puertob LDI R16,0x00 //uso de nuevo el R16 para que este un poco tiempo prendido OUT PORTB,R6 //saco el cero que tiene el registro r16 LDI R16,0x01 //cargo de nuevo un uno en el R16 RJMP INICIO // salto a inicio Después de RJMP pongo a donde quiero saltar puedo usar cualquier palabra o dirección de memoria pero es mas fácil la palabra aquí tendríamos un led apagándose y prendiendo. Solo falta compilar y correr el programa para esto podemos usar la tecla F7 o usar en la barra de herramientas donde dice build darla build o build and run la diferencia es que build solo lo compila y build and run lo compila y corre usemos build and run para ver que pasa ok

19

20 En al parte de los errores no debe de aparecer esto para decir que todo nuestro programa esta bien. Quedamos que le ibamos a dar en build and run para simularlo entonces el programa ya debe de estar corriendo esperando a que le digamos que ejecute la siguiente operacion debe de estar algo asi. Quiero que en el panel de salida seleccionemos el que dice PORTB lo podemos hacer mas grande con el botón de + que tiene ahí o con seleccionarlo basta. Y donde quedamos que estaban los archivos de el proyecto ya no están ahora hay una que dice Processor bien ahi dicen varias cosas dice Program Counter, Stack Pointes,..., Sreg y al final Registers hacemos mas grande la de Registers. Aprieten la tecla F10 para ir paso a paso en la ejecución de instrucciones o Alt+F5 vaya sola la computadora e ligan lo que quieran y después hagan lo siguiente Ok ya que hicieron eso necesito que se fijen en 4 cosas en el panel de salida de el uc abajo va a

21 salir DDRB, PINB y PORTB y vena como PORTB y PINB cambia a la hora de que pasamos por la instrucción OUT PORTB,R16 y ahora ne la parte de Processor quiero que vean como el R16 cambia con las instrucciones LDI R16,0x00 y LDI R16,0x01 y se pone con el numero que decimos en el registro. Fíjense como la parte de hasta arriba el Program Counter va incrementando de uno en uno hasta que llega a la instrucción RJMP y cambia a 0x0002 y si se fijan el tan famoso Sreg nunca cambia esto quiere decir las instrucciones que estamos ejecutando no lo afectan. Otra cosa importante a ver las instrucciones abran las instrucciones de los Avr s que bajaron antes y búsquenlas. Esto seria el primer programa. El siguiente es hacer un contador que implica un poco mas de instrucciones. Si tienen dudas sobre esto no duden en escribirme a mis dos correos [email protected] y a [email protected] o dejen un comentario en Esto es lo que se ve en el osciloscopio pero agregue unas instrucciones llamadas para alargar tiempo de encendido. No les posteo el otro programa por que no vale la pena. Aquí la imagen

22 Les dejo también el link al video espero y les guste perdón por la cámara ya esta mal y no enfoca bien prometo comprar una que sirva bien lo mas rápido posible. Vean el video de youtube de este programa.

23 Programa numero 2 Para este segundo programa omitiré todo lo que ya vimos de el primer programa. Solo que debemos de crear un nuevo proyecto. Abordemos el problema es un Contador espero que sepamos todos que es un contador esto quiere decir que empieza en cero y va contando hasta que llena los 8 bits y se hace 255 aquí en este punto veremos algo interesante con el Sreg aun no lo usaremos pero veremos algo interesante pues lo principal de nuevo usaremos el puerto b como nuestra salida entonces lo principal sera.include tn2313def.inc //definiciones LDI R16,0xff //carga un 255 al registro 16 OUT DDRB,R16 //selecciona todo el puerto b como salida Aquí quiero que aprendan esto si el registro DDRB tiene 0 es entrada si tiene unos es salida y si quiero los primeros cuatro como entradas pues debo de poner los primeros cuatro en 0 y los otros cuatro como salidas los debo de poner en uno seria este ejemplo: De ahora en adelante lo que esta en cursiva y rojo es un ejemplo y no es parte de el programa que estamos haciendo include tn2313def.inc //definiciones LDI R16,0xf0 //carga un 240 al registro 16 OUT DDRB,R16 //selecciona la parte alta del puerto b como salida y la baja como entrada Espero y se allá entendido bien lo siguiente aquí seria hacer que cuente y para eso buscamos en nuestra hoja de instrucciones y encontramos la instrucción INC que incremente un registro en 1 entonces pues si ya tengo un registro el R16 aquí vale decir que puedo usar cualquier registro bueno no cualquiera en las hojas de instrucciones dice que registros acepta cada instrucción entonces le agregaríamos a nuestro programa. INC R16 // incrementa el registro 16 en 1 OUT PORTB,R16 //pone en el puerto b el valor de el R16 cabe mencionar que el R16 valía 255 antes de ejecutar INC R16 cuando se ejecuta la instrucción cambia a 0 y aquí viene lo interesante noten que en el Sreg a la hora de compilarlo y correrlo y se ejecuta el primer INC R16 la bandera de cero(zf) pasa a ser uno que significa que la ultima operación resulto ser cero y que cuando es mayor de 128 están activas las banderas de signo y de negativo aunque esto no nos interesa ahorita. Lo único que nos faltaría en el programa seria hacer que regrese y pues para eso tenemos la instrucción que ya aprendimos de RJMP pero pues donde se debe de poner a donde regresa pues se pone a INC R16 para que regrese e incremente en 1 y vuelva a sacar el dato de el puerto. Quedándonos todo el programa como se muestra a continuación..include "tn2313def.inc" //definiciones LDI R16,0xff //carga un uno al registro 16 OUT DDRB,R16 //selecciona el puerto b como salida REGRESO: INC R16 //incremento R16 en uno OUT PORTB,R16 //esto es una nop no importa no sirve de nada ahorita //nada mas insertan tiempo muerto y gastan memoria RJMP REGRESO Si lo alcanzan a ver este programa es mas pequeño que el otro por que el otro había que poner un registro a cero y aqui solo se incremente no necesitamos 2 outs.

24 No les pongo imagen de osciloscopio por que no puedo ver todas las señales pero pues les dejo una foto de la protoboard Como se ve es muy simple solo 8 leds y hacer un contador de 8bits con integrados usas muchos mínimo 2 y este puedes hacer muchas mas cosas los leds no tiene resistencia por que son leds que aguantan los 5 volts si tiene leds que aguanten menos voltaje si pónganles una resistencia mínimo de 100 ohmsy máximo de 330 de ahí en mas cualquiera esta bien. Y aquí el video de youtube. Sobre el video que digo que el bit mas significativo no prende tendré que investigar voy a ver si es internamente le uc por que el programa esta bien luego alguna vez me paso que estaba programando un Atmega32 por Isp y cuando programas por Isp un puerto de Atmega32 se deshabilita y pensaba que no servia el puerto y leyendo encontré que no pues hay que deshabilitar un fusible, puede estar pasando lo mismo aquí. Otra cosa que me pareció interesante sin tener que ver con los uc se fijan como se ve morado y como rayitas eso es luz infrarroja que detecta la cámara y el filtro no la elimina bien supongo que las rayas por que esta espaciado es el tiempo en encendido y apagado nunca lo había notado aquí podemos aprender de todo. Sobre el error ya vi el error ese pin es el reset y como les dije es cosa de deshabilitar el fusible y ya este tercer programa vamos a ver como programo físicamente el uc. Tercer programa

25 Este programa va a ser un poco mas difícil por que ya va llevar toma de decisiones del uc con el Sreg y las banderas. Va a llevar un salto y varios retardos de tiempo se podría hacer con el Stack Pointer y la memoria Ram pero eso prefiero dejarlo para la siguiente parte de el tutorial. Abordemos el problema pues este consiste básicamente en hacer un contador ascendente y cuando llegue a 255 se vuelve descendente. Otro punto importante aquí si vamos a usar los 8 bits ya cheque cual era el problema como les dije un fusible con desactivarlo funciona bien y cuando vean como lo programa pues ya con eso quedara entendido creo yo pues como siempre empezamos igual la librería de definiciones y declarar al puerto B como salida sale..include "tn2313def.inc" //definiciones LDI R16,0xff //carga un uno al registro 16 OUT DDRB,R16 //selecciona el puerto b como salida Después de esto queremos que se incremente el R16 se detenga un tiempo para que alcanzamos a ver como cuenta entonces tendríamos algo así INC R16 //incremento R16 LDI R30,0x00 //cargo 0 en r30 LDI R31,0xFF //cargo 255 en R31 Aquí tenemos LDI R30,0x00 y LDI R31,0xFF esta operación ya la conocemos pero pues mas adelante nos va a servir para hacer comparaciones recuerdan que nuestro programa va a contar de 0, 1, 2, 3,..., 254, 255 y después de 255, 254, 253, 252,..., 1, 0 esos nos van a servir para hacer eso saber cuando esta en 255 y cuando en cero. MAS: INC R16 //muy fácil incremento R16 OUT PORTB,R16 //saco R16 por el puerto B RJMP RETARDO //salto a retardo pero que hay en retardo PRINCIPAL:CP R16,R31 //esto hace R16-R31 abajo lo explico BREQ MENOS //dependiendo de las banderas salta a menos RJMP MAS //salta a MAS que es la parte de hasta arriba de este código Pues bueno aquí tenemos dos instrucciones nuevas CP R16,R31 y BREQ MENOS. CP es de comparación esta hace una resta entre R16 menos R31 sin alterar el contenido de ningún registro lo único que nos modifica son las famosas banderas o el SREG explico solo las banderas que nos interesan Bandera de Cero (ZF) esta se pone a uno si R16 y R31 son iguales si no es cero. Bandera de Carry (CF)esta se pone a uno solo si R31 es mayor que R16 Aquí la bandera que vamos a usar es la de cero, no nos interesa saber si uno es mayor o menor que otro solo si son iguales el uno a otro sale. BREQ (Branch if equal) checa la bandera de cero si es uno salta a donde dice en nuestro programa. Esto quiere decir que cuando R16 y R31 son iguales CP pone la bandera de cero a uno y BREQ checa la bandera y si es uno salta a menos en el otro caso si no son iguales no salta y continua su ejecución normal. Si recuerdan R31 contiene 0xFF esto quiere decir que cuando llega a 255 es cuando se hace cero este ciclo es el que cuenta ascendente mente y cuando llega a 255 salta a menos que es el que cuenta descendente mente y pues retardo se los explico ahorita un poco mas adelante. Aquí otra parte de el código

26 MENOS: DEC R16 //no hay mucho que decir decremento en uno R16 OUT PORTB,R16 RJMP RETARDO1 //Salta a Retardo1 ahorita vemos que es retardo1 PRINCIPAL1:CP R16,R30 //comparo R16 con R30 BREQ MAS //dependiendo de las banderas salta a mas RJMP MENOS //Salta a menos Pues primero voy a empezar a omitir la partes que ya vimos mas bien no las voy a explicar. Aquí tenemos una nueva instrucción DEC es muy fácil es como INC pero en lugar de sumar uno resta uno. Aquí se fijan tengo RJMP RETARDO1 es el mismo código que RETARDO sin el 1 pero como el Avr no recuerda en donde estaba por eso dos rutinas de retardo si usáramos la función CALL y el Stack Pointer (SP) no necesitaremos dos pero eso sera para la siguiente parte de el tutorial. Y pues para lo demas seria los mismo que el otro Resto R16-R30 si el resultado es cero salta a MAS si no salta a menos. Ahora si el tan famoso retardo. RETARDO:LDI R25,0x00 REGRESO:INC R25 CP R25,R31 //aquí comparo R25 con R31 deben de ser 255 BREQ ACABO //si son iguales se va acabo y de acabo salta a RJMP REGRESO //principal que es la parte que cuenta hacia arriba ACABO: RJMP PRINCIPAL //si no a acabado salta a regreso y sigue contando RETARDO1:LDI R25,0x00 REGRESO1:INC R25 CP R25,R31 BREQ ACABO1 // es lo mismo pero para la parte de cuenta hacia RJMP REGRESO1 //abajo espero y lo entiendan ACABO1: RJMP PRINCIPAL1 Espero y se entienda es muy parecido al contador aquí si yo quiero mas tiempo puedo agregar entre INC R25 y BREQ ACABO aquí el ejemplo: REGRESO1:INC R25 //Inserto tiempo muerto //Inserto tiempo muerto CP R25,R31 BREQ ACABO1 // es lo mismo pero para la parte de cuenta hacia RJMP REGRESO1 //abajo espero y lo entiendan ACABO1: RJMP PRINCIPAL1 Para aproximar el tiempo de retardo aquí hay que ver dos cosas el lazo o el ciclo que se hace que vendría siendo todo lo que esta entre INC R y RJMP REGRESO vemos las instrucciones que seria en este caso 6 y vemos cuantos ciclos de reloj toma cada una aquí todas toman una menos RJMP que lleva dos y BREQ cuando salta también son dos esa la podemos agregar al final por que solo salta una vez. Y pues se hacen 255 veces esas siete por que cuenta hasta 255 que serian 1785 instrucciones Y debemos agregarle dos ciclos de reloj por el RJMP REGRESO, RJMP PRINCIPAL1 y el ciclo que nos faltaba serian 5 ciclos mas entonces tomamos 1790 ciclos. Suponiendo que nuestro uc corre a 8MHZ eso hace que haga 8 millones de ciclos por segundo entonces hacemos la simple regla de tres 8 millones es a un segundo como 1790 es a cuanto que serian s que es un retardo muy pequeño lo que

27 podemos hacer es añadir mas o podemos poner un ciclo dentro de esos lo cual nos daría un retardo mucho mas grande. Aquí les dejo tal cual el programa que yo le puse al uc de el video..include "tn2313def.inc" //definiciones LDI R16,0xff //carga un uno al registro 16 OUT DDRB,R16 //selecciona el puerto b como salida INC R16 LDI R30,0x00 LDI R31,0xFF MAS: INC R16 OUT PORTB,R16 RJMP RETARDO PRINCIPAL:CP R16,R31 BREQ MENOS RJMP MAS MENOS: DEC R16 OUT PORTB,R16 RJMP RETARDO1 PRINCIPAL1:CP R16,R30 BREQ MAS RJMP MENOS RETARDO:LDI R25,0x00 REGRESO:INC R25 CP R25,R31 BREQ ACABO RJMP REGRESO ACABO: RETARDO1:LDI R25,0x00 REGRESO1:INC R25 RJMP PRINCIPAL

28 CP R25,R31 BREQ ACABO1 RJMP REGRESO1 ACABO1: RJMP PRINCIPAL1 Como ven es mucho mas grande por las y tiene un retardo no muy grande de s o mili segundos. Les dejo el diagrama de conexión eléctrico para estos últimos dos programas si conocen algún programa para hacerlos mas bonitos díganme por que no me gusto mucho como quedo si no pues los haré a mano y los escaneo.

29 Vean los videos de youtube el de como programar con Avr Studio y el de este tercer programa funcionando aquí están los links. O visiten Programar Tercer Programa Cabe Recordar aqui que si quiero usar el puerto a como salida o sacar mi dato por el puerto a en lugar de usar DDRB pongo DDRA en todo caso sera la letra de el puerto donde esta la X DDRX, PINX y PORTX espero y esto les sirva. Espero y les allá gustado este tutorial es para ustedes para aprender en la siguiente parte de el tutorial vamos a ver como se usan las entradas se me ocurre un contador cada vez que yo apreté un botón, como se usa la Ram y el satck pointer y como leer un dato analógico desde los ADC internos que trae el micro. Manden sus dudas quejas sugerencias comentarios a

30 y a [email protected] o dejen un comentario en si les gusto o no el tutorial. Muchas gracias por tomarse el tiempo para leer esto suerte. LUIS ANTONIO MÉNDEZ SOTO "AVR " and "AVR is a registered trademark of Atmel Corporation".

Capítulo 0. Introducción.

Capítulo 0. Introducción. Capítulo 0. Introducción. Bueno, por fin está aquí el esperado (espero!!) Capítulo Cero del Tutorial de Assembler. En él estableceremos algunos conceptos que nos serán de utilidad a lo largo del Tutorial.

Más detalles

MANUAL BASICO DE WEBEX

MANUAL BASICO DE WEBEX MANUAL BASICO DE WEBEX Webex es un servicio de web conferencias y soluciones de colaboración, lo que significa que nos permite crear una conferencia por internet en la cual además de vernos los unos a

Más detalles

CENTRO DE TECNOLOGIA AVANZADA. Instalar Windows 7 desde cero paso a paso.

CENTRO DE TECNOLOGIA AVANZADA. Instalar Windows 7 desde cero paso a paso. CENTRO DE TECNOLOGIA AVANZADA Instalar Windows 7 desde cero paso a paso. Algunas veces es necesario que instalemos nosotros solos Windows 7 en nuestra computadora o en la computadora de algún amigo o familiar,

Más detalles

Cuestionario: Programación en C y máscaras (II)

Cuestionario: Programación en C y máscaras (II) Este documento es un autotest de ayuda enmarcado en la asignatura Informática Industrial y corresponde al tema Programación en C, pero es abierto y puede servir para entender el funcionamiento básico de

Más detalles

ZILOG DEVELOPER STUDIO

ZILOG DEVELOPER STUDIO ZILOG DEVELOPER STUDIO El Z8PLUS puede ser programado por medio de un sistema de desarrollo que consta de un programa para compilarlo y una tarjeta de emulación, esta parte es una breve introducción al

Más detalles

Programa diseñado y creado por 2014 - Art-Tronic Promotora Audiovisual, S.L.

Programa diseñado y creado por 2014 - Art-Tronic Promotora Audiovisual, S.L. Manual de Usuario Programa diseñado y creado por Contenido 1. Acceso al programa... 3 2. Opciones del programa... 3 3. Inicio... 4 4. Empresa... 4 4.2. Impuestos... 5 4.3. Series de facturación... 5 4.4.

Más detalles

Unidad I. 1.1 Sistemas numéricos (Binario, Octal, Decimal, Hexadecimal)

Unidad I. 1.1 Sistemas numéricos (Binario, Octal, Decimal, Hexadecimal) Unidad I Sistemas numéricos 1.1 Sistemas numéricos (Binario, Octal, Decimal, Hexadecimal) Los computadores manipulan y almacenan los datos usando interruptores electrónicos que están ENCENDIDOS o APAGADOS.

Más detalles

Guía de Usuario Programador USB

Guía de Usuario Programador USB Guía de Usuario Programador USB Tecnología Digital del Bajío Av. Vicente Guerrero 1003, Int. A Irapuato, Gto. Mex. C.P. 36690 Teléfono: (462) 145 35 22 www.tecdigitaldelbajio.com i Guía de Usuario, Programador

Más detalles

Manual de Instalación y uso de FTP

Manual de Instalación y uso de FTP Manual de Instalación y uso de FTP Que es el FTP? El FTP es un sistema que nos permite de forma cómoda subir o bajar archivos a otra ubicación. Hay FTP públicos y privados, es decir en algunos todo el

Más detalles

UNIVERSIDAD DE MEDELLÍN NUEVO PORTAL WEB MANUAL DE USUARIO GESTOR DE CONTENIDOS

UNIVERSIDAD DE MEDELLÍN NUEVO PORTAL WEB MANUAL DE USUARIO GESTOR DE CONTENIDOS UNIVERSIDAD DE MEDELLÍN MANUAL DE USUARIO GESTOR DE CONTENIDOS NUEVO PORTAL WEB TABLA DE CONTENIDO Tabla de Contenido 2 Consideraciones Iniciales 3 Ingreso al Sistema 4 Opciones de Gestor de contenidos

Más detalles

TUTORIAL PARA ARMAR UN RIBLESS

TUTORIAL PARA ARMAR UN RIBLESS TUTORIAL PARA ARMAR UN RIBLESS Basado en el aporte del colega ELACOM El Objetivo es armar un cable para programación de diversas líneas y marcas. Probado especialmente: PRO y EM/EP Lo primero es conseguir

Más detalles

Instrucciones de instalación de TrueCode

Instrucciones de instalación de TrueCode Gracias por su compra y las instrucciones que le guiara a través del proceso de instalación y puesta en marcha de su nuevo software. Se recomienda la lectura y las discusiones de los usuarios por favor

Más detalles

SISTEMAS DE NUMERACIÓN. Sistema decimal

SISTEMAS DE NUMERACIÓN. Sistema decimal SISTEMAS DE NUMERACIÓN Sistema decimal Desde antiguo el Hombre ha ideado sistemas para numerar objetos, algunos sistemas primitivos han llegado hasta nuestros días, tal es el caso de los "números romanos",

Más detalles

15 CORREO WEB CORREO WEB

15 CORREO WEB CORREO WEB CORREO WEB Anteriormente Hemos visto cómo funciona el correo electrónico, y cómo necesitábamos tener un programa cliente (Outlook Express) para gestionar los mensajes de correo electrónico. Sin embargo,

Más detalles

Temporizadores y contadores en tiempo real: El módulo Timer0 y el prescaler del PIC

Temporizadores y contadores en tiempo real: El módulo Timer0 y el prescaler del PIC Temporizadores y contadores en tiempo real: El módulo Timer0 y el aler del PIC 1. Introducción...1 2. Estructura del Timer0...1 3. Funcionamiento del Timer0...2 3.1. Entrada de reloj del modulo Timer0...

Más detalles

Un pequeñísimo tutorial para explicar cómo darse de alta al MEJOR SISTEMA de compartición, backup... en la web.

Un pequeñísimo tutorial para explicar cómo darse de alta al MEJOR SISTEMA de compartición, backup... en la web. ALTA EN DROPBOX Un pequeñísimo tutorial para explicar cómo darse de alta al MEJOR SISTEMA de compartición, backup... en la web. DROPBOX EN LA RED Nos vamos a cualquiera de los navegadores que tengamos

Más detalles

Glogster EDU. Y cubrí los datos que me pedían. Las siguientes veces que se entre habrá que pinchar en log in Primera vez: Sign up Después: Log in

Glogster EDU. Y cubrí los datos que me pedían. Las siguientes veces que se entre habrá que pinchar en log in Primera vez: Sign up Después: Log in Glogster EDU En Google o en otro buscador, escribimos Glogster edu. Lo primero que hay que hacer, la primera vez, es registrarse. Para esto, pinchas en Sign up 1. Después analizamos las posibilidades de

Más detalles

Guía de práctica. Dispositivo

Guía de práctica. Dispositivo Guía de práctica Que queremos hacer? Vamos a hacer el Hello World del mundo de la electrónica que no es más que prender y apagar un LED a intervalos regulares. PROYECTO LAPEGÜE 1 = Prende Dispositivo 0

Más detalles

Curso de PHP con MySQL Gratis

Curso de PHP con MySQL Gratis Curso de PHP con MySQL Gratis Introducción Este mini curso o mini tutorial de PHP le ayudará a realizar cualquier sistema para que pueda insertar uno o varios registros a una base de datos con MySQL, este

Más detalles

UTILIZACIÓN DE UNA CUENTA DE CORREO ELECTRÓNICO (NUEVO) Acceso al correo electrónico

UTILIZACIÓN DE UNA CUENTA DE CORREO ELECTRÓNICO (NUEVO) Acceso al correo electrónico Acceso al correo electrónico Pasamos ahora a lo que sería usar la cuenta de correo que nos hicimos en la clase anterior. Lo primero que hacemos es entrar en la página web de Yahoo y localizar el icono

Más detalles

UNIDAD 1. LOS NÚMEROS ENTEROS.

UNIDAD 1. LOS NÚMEROS ENTEROS. UNIDAD 1. LOS NÚMEROS ENTEROS. Al final deberás haber aprendido... Interpretar y expresar números enteros. Representar números enteros en la recta numérica. Comparar y ordenar números enteros. Realizar

Más detalles

para jóvenes programadores

para jóvenes programadores Manual de Kompozer para jóvenes programadores Por Angel Pablo Hinojosa Gutiérrez Para la Oficina de Software Libre de la Universidad de Granada Copyright 2010: Angel Pablo Hinojosa Gutiérrez El Manual

Más detalles

Instituto Nacional de Formación Docente. Tutorial 5 Líneas de Tiempo con Timerime

Instituto Nacional de Formación Docente. Tutorial 5 Líneas de Tiempo con Timerime Tutorial 5 Líneas de Tiempo con Timerime 1 Introducción a Timerime Timerime (www.timerime.com) es una aplicación que funciona en la web (como otras tantas que forman parte de la llamada Web 2.0). La misma

Más detalles

Paso a Paso S7-1200 Step 7 Basic v10.5

Paso a Paso S7-1200 Step 7 Basic v10.5 Paso a Paso S7-1200 Step 7 Basic v10.5 Paso a Paso para la configuración de un proyecto completo Versión 1.0 15/Sep/09 Para cualquier sugerencia diríjanse al siguiente Email: [email protected]

Más detalles

LA OLA. Cinco cuentos para leer en voz alta. Autor: Antonio Pons

LA OLA. Cinco cuentos para leer en voz alta. Autor: Antonio Pons LA OLA Cinco cuentos para leer en voz alta. Autor: Antonio Pons Desde hace unos días cuando le tiro la pelota a Chispa, no sale corriendo a por ella para luego volver a traérmela. Los papás me han dicho

Más detalles

Introducción a Moodle

Introducción a Moodle Instituto la Américas de Nayarit Ing. Elías Portugal Luna Qué es Moodle? Moodle es una aplicación web de tipo Ambiente Educativo Virtual, un sistema de gestión de cursos, de distribución libre, que ayuda

Más detalles

Tutorial de herramientas de Google

Tutorial de herramientas de Google Tutorial de herramientas de Google Elizabeth Fons y Maximiliano Geier 1. Introducción En este tutorial les vamos a contar cómo utilizar algunas de las herramientas de trabajo colaborativo que ofrece gratuitamente

Más detalles

CREACIÓN DEL PRIMER PROYECTO EN mikrobasic PRO for AVR

CREACIÓN DEL PRIMER PROYECTO EN mikrobasic PRO for AVR CREACIÓN DEL PRIMER PROYECTO EN mikrobasic PRO for AVR 2 Proyecto mikrobasic PRO for AVR organiza aplicaciones en los proyectos que consisten en un solo fichero de proyecto (fichero con extensión.mbpav)

Más detalles

MANUAL PARA GESTIÓN DE INCIDENCIAS INFORMÁTICAS

MANUAL PARA GESTIÓN DE INCIDENCIAS INFORMÁTICAS MANUAL PARA GESTIÓN DE INCIDENCIAS INFORMÁTICAS En este manual aprenderemos a introducir un Ticket de Soporte (Incidencia Informática) y ver todo el proceso hasta que se resuelve. Para poder escribir Tickets

Más detalles

Para trabajar este tema vamos a situarlo un poco más en el lenguaje común:

Para trabajar este tema vamos a situarlo un poco más en el lenguaje común: Curso de Internet a distancia para sacerdotes, religiosos y religiosas Material de apoyo para las teleclases - Viernes,18 de noviembre2011 Vea los vídeos resúmenes en: www.medioscan.es y www.teleiglesia.es

Más detalles

Configuración de un APs D-Link DWL-2100AP.-

Configuración de un APs D-Link DWL-2100AP.- Configuración de un APs D-Link DWL-2100AP.- El Acess Point (AP) D-Link 2100AP, es el AP que actualmente colocan Los Servicios Provinciales en los centros. Para poder acceder a su configuración tenemos

Más detalles

Más Clientes Más Rápido: Marketing Online bien enfocado

Más Clientes Más Rápido: Marketing Online bien enfocado Más Clientes Más Rápido: Marketing Online bien enfocado A continuación describo una propuesta comercial que estimo le interesará ya que tiene el potencial de incrementar su negocio en un período relativamente

Más detalles

Tutorial 2 LAS UNIDADES (I)

Tutorial 2 LAS UNIDADES (I) Tutorial 2 LAS UNIDADES (I) 2.1.- Introducción En el pasado tutorial aprendimos a hacer carpetas, copiar y mover ficheros, a eliminarlos y a cambiarles el nombre. Ahora vamos a ver algo parecido. Cómo

Más detalles

AGREGAR UN EQUIPO A UNA RED Y COMPARTIR ARCHIVOS CON WINDOWS 7

AGREGAR UN EQUIPO A UNA RED Y COMPARTIR ARCHIVOS CON WINDOWS 7 Tutoriales de ayuda e información para todos los niveles AGREGAR UN EQUIPO A UNA RED Y COMPARTIR ARCHIVOS CON WINDOWS 7 Como agregar a una red existente un equipo con Windows 7 y compartir sus archivos

Más detalles

T3-Rondas V 1.1. Help-Pc, S.L. C/ Pintor Pau Roig, 39 L-5 08330 Premià de Mar Barcelona Tel. (93) 754 90 19 Fax 93 752 35 18 marketing@t2app.

T3-Rondas V 1.1. Help-Pc, S.L. C/ Pintor Pau Roig, 39 L-5 08330 Premià de Mar Barcelona Tel. (93) 754 90 19 Fax 93 752 35 18 marketing@t2app. T3-Rondas V 1.1 1 Indice 1 Requisitos mínimos 3 2 Instalación 3 2.1 Instalación del software 3 2.2 Instalación del terminal 4 3 Configuración Inicial 4 3.1 Crear terminales 5 3.2 Crear puntos de lectura

Más detalles

Mantener clientes siempre actualizados

Mantener clientes siempre actualizados 1 de 13 01/12/2007 1:03 Mantener clientes siempre actualizados En este procedimiento se explica cómo tener todos nuestros clientes siempre actualizados y de forma automática. Que siempre los usuarios esten

Más detalles

La ventana de Microsoft Excel

La ventana de Microsoft Excel Actividad N 1 Conceptos básicos de Planilla de Cálculo La ventana del Microsoft Excel y sus partes. Movimiento del cursor. Tipos de datos. Metodología de trabajo con planillas. La ventana de Microsoft

Más detalles

Módulo 1 El lenguaje Java

Módulo 1 El lenguaje Java Módulo 1 El lenguaje 1.1 Presentación de es un lenguaje de programación desarrollado por la empresa Sun Microsystems en 1991 como parte de un proyecto secreto de investigación llamado Green Proyect, con

Más detalles

Pantalla HMI como maestro 3 PLC esclavo

Pantalla HMI como maestro 3 PLC esclavo Pantalla HMI como maestro 3 PLC esclavo Planteamiento Para esta práctica haremos el control de 3 PLC como esclavos, por medio de una pantalla HMI, a través del puerto 485. Uno de los beneficios de hacer

Más detalles

Naturaleza binaria. Conversión decimal a binario

Naturaleza binaria. Conversión decimal a binario Naturaleza binaria En los circuitos digitales sólo hay 2 voltajes. Esto significa que al utilizar 2 estados lógicos se puede asociar cada uno con un nivel de tensión, así se puede codificar cualquier número,

Más detalles

G R U P O S INDICE Cómo crear una cuenta en ARQA? Cómo tener un grupo en ARQA? Secciones y funcionalidades de los grupos Configuración del grupo

G R U P O S INDICE Cómo crear una cuenta en ARQA? Cómo tener un grupo en ARQA? Secciones y funcionalidades de los grupos Configuración del grupo INDICE Cómo crear una cuenta en ARQA? 4 Cómo tener un grupo en ARQA? 5 Secciones y funcionalidades de los grupos 6 Muro del Grupo 6 Compartir Textos 8 Compartir Imágenes 9 Compartir videos 10 Compartir

Más detalles

Cómo creo las bandejas del Registro de Entrada /Salida y de Gestión de Expedientes?

Cómo creo las bandejas del Registro de Entrada /Salida y de Gestión de Expedientes? Preguntas frecuentes Cómo creo las bandejas del Registro de Entrada /Salida y de Gestión de Expedientes? Atención! Esta opción es de configuración y solamente la prodrá realizar el administrador de la

Más detalles

Sube Selector Canales. Canal. Baja. Tema 4: Bases Matemáticas II. 4.1 Sistemas con memoria o secuenciales. 4.1.1 Introducción.

Sube Selector Canales. Canal. Baja. Tema 4: Bases Matemáticas II. 4.1 Sistemas con memoria o secuenciales. 4.1.1 Introducción. Bases Matemáticas II - ágina 1 de 11 Tema 4: Bases Matemáticas II. 4.1 Sistemas con memoria o secuenciales. 4.1.1 Introducción. Hasta ahora hemos tratados con dispositivos lógicos cuyas salidas dependían

Más detalles

FDR Electrónicos. Su mejor opción en tecnología y servicios computacionales. Manual de uso para programa de facturación electrónica

FDR Electrónicos. Su mejor opción en tecnología y servicios computacionales. Manual de uso para programa de facturación electrónica Manual de uso para programa de facturación electrónica El programa de facturación FactureYa que acaba de adquirir a través de FDR Electrónicos es intuitivo y fácil de utilizar. En el presente manual se

Más detalles

TABLA DE DECISION. Consideremos la siguiente tabla, expresada en forma genérica, como ejemplo y establezcamos la manera en que debe leerse.

TABLA DE DECISION. Consideremos la siguiente tabla, expresada en forma genérica, como ejemplo y establezcamos la manera en que debe leerse. TABLA DE DECISION La tabla de decisión es una herramienta que sintetiza procesos en los cuales se dan un conjunto de condiciones y un conjunto de acciones a tomar según el valor que toman las condiciones.

Más detalles

HOW TO SOBRE LA CREACION DE UNA DISTRIBUCION PERSONALIZADA DE LINUX

HOW TO SOBRE LA CREACION DE UNA DISTRIBUCION PERSONALIZADA DE LINUX HOW TO SOBRE LA CREACION DE UNA DISTRIBUCION PERSONALIZADA DE LINUX 1- Lo primero en decir es que aparte de las varias páginas donde se crean distribuciones personalizadas de Linux, existe algunas distribuciones

Más detalles

Notas para la instalación de un lector de tarjetas inteligentes.

Notas para la instalación de un lector de tarjetas inteligentes. Notas para la instalación de un lector de tarjetas inteligentes. Índice 0. Obtención de todo lo necesario para la instalación. 3 1. Comprobación del estado del servicio Tarjeta inteligente. 4 2. Instalación

Más detalles

TUTORIAL SOBRE CÓMO CREAR Y GESTIONAR UN BLOG CON BLOGGER

TUTORIAL SOBRE CÓMO CREAR Y GESTIONAR UN BLOG CON BLOGGER TUTORIAL SOBRE CÓMO CREAR Y GESTIONAR UN BLOG CON BLOGGER Existen muchos proveedores de servicios para crear un blog. En nuestro caso se ha decidido crear uno en Blogger, que es, a su vez, donde muchas

Más detalles

CONCEPTO DE SCREENCAST O MATIC

CONCEPTO DE SCREENCAST O MATIC CONCEPTO DE SCREENCAST O MATIC Screencast-O-Matic es un servicio que nos permite grabar lo que pasa en nuestra pantalla desde el navegador, sin necesidad de instalar programas. El único requisito para

Más detalles

Instalación del Admin CFDI

Instalación del Admin CFDI Instalación del Admin CFDI Importante!!!Antes de comenzar verifique los requerimientos de equipo esto podrá verlo en la guía 517 en nuestro portal www.control2000.com.mx en el apartado de soporte, ahí

Más detalles

Guía para publicar su equipo en Internet.

Guía para publicar su equipo en Internet. Antes de comenzar Guía para publicar su equipo en Internet. Para configurar su equipo y poder publicar sus cámaras en Internet, primeramente es necesario haber abierto los puertos de video y web, que por

Más detalles

3 Errores fatales que cometen muchos autónomos

3 Errores fatales que cometen muchos autónomos 3 Errores fatales que cometen muchos autónomos Hola! Que alegría me da que te hayas bajado este documento. Eso quiere decir que estas realmente comprometido a llevar tu negocio a una nueva dimensión. Una

Más detalles

Un juego de cartas: Las siete y media

Un juego de cartas: Las siete y media Un juego de cartas: Las siete y media Paula Lagares Federico Perea Justo Puerto * MaMaEuSch ** Management Mathematics for European Schools 94342 - CP - 1-2001 - DE - COMENIUS - C21 * Universidad de Sevilla

Más detalles

PROTEUS Depuración de programas para microprocesadores

PROTEUS Depuración de programas para microprocesadores PROTEUS Depuración de programas para microprocesadores Introducción Como ya se ha indicado en temas anteriores, la aplicación PROTEUS, tiene entre sus utilidades la simulación de los esquemas realizados

Más detalles

Como montar un servidor web + Anonimización con Tor

Como montar un servidor web + Anonimización con Tor Como montar un servidor web + Anonimización con Tor Este tutorial es con fines educativos, la primera parte se enfoca en montar y configurar un servidor web normal, luego la segunda parte se enfoca en

Más detalles

Manual del Usuario de NOVIT GPS. Le llegará un Email como éste. Nombre completo;

Manual del Usuario de NOVIT GPS. Le llegará un Email como éste. Nombre completo; Manual del Usuario de NOVIT GPS. Le llegará un Email como éste. Nombre completo; Gracias por registrarse en NOVIT GPS. Con esta cuenta podrá monitorear sus dispositivos GPS. En este link confirma su alta

Más detalles

Copyright 2015 Pepa Cobos. Todos los derechos reservados.

Copyright 2015 Pepa Cobos. Todos los derechos reservados. Copyright 2015 Pepa Cobos. Todos los derechos reservados. Puedes imprimir una copia de este documento para tu uso personal. Excepto para ese fin, ninguna parte de esta publicación puede ser reproducida,

Más detalles

INSTALACION DEL Terminal Services. Instalamos el Terminal Services. Siguiente. Nos saldrá una advertencia, seleccionamos instalar.

INSTALACION DEL Terminal Services. Instalamos el Terminal Services. Siguiente. Nos saldrá una advertencia, seleccionamos instalar. INSTALACION DEL Terminal Services Instalamos el Terminal Services Siguiente Nos saldrá una advertencia, seleccionamos instalar Siguiente Seleccionamos todas y agregamos todas las funciones que hagan falta

Más detalles

Datalogging bajo Robolab.

Datalogging bajo Robolab. Datalogging bajo Robolab. Aún estamos aprendiendo mucho con los robots NXT de LEGO. Hace poco me introduje en el alucinante mundo del Datalogging, que consiste, básicamente, en la captura de datos a través

Más detalles

Capitulo 6. Como echarle el muerto a alguien.

Capitulo 6. Como echarle el muerto a alguien. Capitulo 6 Como echarle el muerto a alguien. Una de las cosas más importantes en una programación es tener un sistema que permite echarle el muerto a alguien. Dicho de manera elegante, el sistema debe

Más detalles

Curso Internet Básico - Aularagon

Curso Internet Básico - Aularagon Antes de empezar es necesario que tengas claro algunas cosas: para configurar esta cuenta de correo, debes saber que el POP y el SMTP en este caso son mail.aragon.es; esta cuenta de correo hay que solicitarla

Más detalles

Manual para usuarios USO DE ONEDRIVE. Universidad Central del Este

Manual para usuarios USO DE ONEDRIVE. Universidad Central del Este Manual para usuarios USO DE ONEDRIVE Universidad Central del Este Contenido 1. QUÉ ES Y PARA QUÉ SIRVE OFFICE 365?... 3 1.1 CÓMO ENTRAR A LA PLATAFORMA DE OFFICE 365 DE LA UCE?... 3 ONEDRIVE... 5 2. QUÉ

Más detalles

Crear la base de datos antes de la instalación de Wordpress.

Crear la base de datos antes de la instalación de Wordpress. Introducción En este tutorial básico sobre instalar Wordpress en tu propio hosting mediante un panel de control cpanel y aprenderás como personalizar las bases de datos MySQL que utiliza Wordpress. Para

Más detalles

Hacer una página web con Kompozer

Hacer una página web con Kompozer Hacer una página web con Kompozer INTRODUCCIÓN Qué es Kompozer? es un editor de páginas web gratuito, con el que podemos crear las mismas de forma intuitiva sin tener que utilizar el lenguaje html (lenguaje

Más detalles

Instalación de Sistema Operativo Mac OsX Lion en VirtualBox.

Instalación de Sistema Operativo Mac OsX Lion en VirtualBox. Instalación de Sistema Operativo Mac OsX Lion en VirtualBox. Vamos a proceder a explicar la instalación de un sistema operativo de apple, más concretamente, el cual deberemos descargarnos una imagen del

Más detalles

La compresión de Flash ayudará a que la presentación pese menos Los dibujos se comprimen de manera vectorial para no perder calidad

La compresión de Flash ayudará a que la presentación pese menos Los dibujos se comprimen de manera vectorial para no perder calidad Tutoriial de iispriing Free Bienvenidos al tutorial de ispring Free, este tutorial trata acerca de cómo podemos transformar nuestras presentaciones de Power Point a Presentaciones Flash, para mejor efecto

Más detalles

El podcast de PrestAyuda vende más y más rápido con Gert Mellak.

El podcast de PrestAyuda vende más y más rápido con Gert Mellak. El podcast de PrestAyuda vende más y más rápido con Gert Mellak. Sesión #013 Transcripción: Bienvenido al Podcast de PrestAyuda.com, donde te ayudamos con tu tienda de Prestashop y te enseñamos como vender

Más detalles

UTILIZANDO EL SQUIRREL MAIL

UTILIZANDO EL SQUIRREL MAIL UTILIZANDO EL SQUIRREL MAIL En la actualidad son varios los proveedores de alojamiento, que incluyen el squirrel mail como cliente de correo electrónico, así que vamos a darle una rápida mirada para aprender

Más detalles

SEGUNDA SESIÓN escaparate gadgets.

SEGUNDA SESIÓN escaparate gadgets. SEGUNDA SESIÓN Esta semana vamos a trabajar dentro del blog, lo vamos a preparar para que esté listo para usar en el aula y hacerlo público. Leed todo con atención y tomaros con tranquilidad las tareas.

Más detalles

Control, Instrumentación e Instalaciones Ingeniería Ambiental

Control, Instrumentación e Instalaciones Ingeniería Ambiental Control, Instrumentación e Instalaciones Ingeniería Ambiental TEMA 3. LABORATORIO. El Autómata Siemens S7-300. Programación Básica Alfredo Rosado Curso Académico 2010-2011 Control, Instrumentación e Instalaciones.

Más detalles

1ª PARTE MANUAL BÁSICO DE POSICIONAMIENTO WEB 1 2ª PARTE MANUAL BÁSICO DE POSICIONAMIENTO WEB 7

1ª PARTE MANUAL BÁSICO DE POSICIONAMIENTO WEB 1 2ª PARTE MANUAL BÁSICO DE POSICIONAMIENTO WEB 7 ÍNDICE PÁGINA 1ª PARTE MANUAL BÁSICO DE POSICIONAMIENTO WEB 1 2ª PARTE MANUAL BÁSICO DE POSICIONAMIENTO WEB 7 1ª PARTE MANUAL BÁSICO DE POSICIONAMIENTO WEB Este pequeño manual sobre posicionamiento web

Más detalles

Creando una webquests

Creando una webquests Creando una webquests 1. LO PRIMERO EL PROGRAMA Para crear paginas web necesitamos el software apropiado. Hay muchas formas y programas para hacerlo, pero por su facilidad de uso y por ser software libre

Más detalles

PROYECTO DE ELECTRÓNICA

PROYECTO DE ELECTRÓNICA PROYECTO DE ELECTRÓNICA Sistema de Alarma Raúl Lapaz de Juan Francisco Javier López Alcarria 1 ÍNDICE - Objetivo:... 3 - Justificación:... 3 - Plan de trabajo:... 3 A) Montaje del circuito en protoboards:...

Más detalles

GUÍA RÁPIDA DE TRABAJOS CON ARCHIVOS.

GUÍA RÁPIDA DE TRABAJOS CON ARCHIVOS. GUÍA RÁPIDA DE TRABAJOS CON ARCHIVOS. 1 Direcciones o Ubicaciones, Carpetas y Archivos Botones de navegación. El botón Atrás permite volver a carpetas que hemos examinado anteriormente. El botón Arriba

Más detalles

Comunicación CPU S7-1200 Vs CPU S7-1200 por TCP

Comunicación CPU S7-1200 Vs CPU S7-1200 por TCP Comunicación CPU S7-1200 Vs CPU S7-1200 por TCP Como hacer un proyecto paso a paso para la comunicación vía TCP entre dos CPU s del S7-1200 Versión 1.0 16/Dic/09 Para cualquier sugerencia diríjanse al

Más detalles

Como verás pone Microsoft Office y si te colocas sobre esta línea debería salir:

Como verás pone Microsoft Office y si te colocas sobre esta línea debería salir: :: Introducción: Microsoft dispone de un conjunto de herramientas llamado Office que se compone de todo lo necesario para resolver cuantos problemas se presenten en los trabajos propios de cualquier usuario

Más detalles

Como se instala un controlador o DRIVER

Como se instala un controlador o DRIVER Como se instala un controlador o DRIVER Hay muchas razones por las que necesitamos instalar/reinstalar los controladores, la mayoría de las ocasiones es porque hemos formateado la máquina y al reinstalar

Más detalles

Agradecimiento: A Javier Lomelín Urrea por su dedicación y esmero en este proyecto. Manuel Fernando Guzmán Muñoz Presidente OMIJal

Agradecimiento: A Javier Lomelín Urrea por su dedicación y esmero en este proyecto. Manuel Fernando Guzmán Muñoz Presidente OMIJal Karel para todos! 1 Estás interesado en aprender a programar en lenguaje de Karel? Te interesa la Olimpiada Mexicana de Informática? Esta es tu oportunidad de unirte al equipo OMI y ser parte de la mejor

Más detalles

Transcripción completa de la Lección 2 (Pinyin).

Transcripción completa de la Lección 2 (Pinyin). Transcripción completa de la Lección 2 (Pinyin). Anfitriones: Gabriel Arévalo / Kirin Yang Gabriel: Hola, mi nombre es Gabriel. Kirin: Y yo soy Kirin. Gabriel: Nos complace mucho de que haya elegido estar

Más detalles

COMUNICACIÓN HYPERTERMINAL CON DELTA PLC.

COMUNICACIÓN HYPERTERMINAL CON DELTA PLC. COMUNICACIÓN HYPERTERMINAL CON DELTA PLC. Introducción. El PLC de DELTA tiene grandes capacidades para comunicarse con diferentes tipos de equipos por medio del protocolo Modbus de comunicación. Esta práctica

Más detalles

Configuración Y Diseño Del Correo Electrónico Y Web Personal De IESA

Configuración Y Diseño Del Correo Electrónico Y Web Personal De IESA Configuración Y Diseño Del Correo Electrónico Y Web Personal De IESA Accedemos a nuestro dominio contratado con IESA. Entramos en la administración. El acceso se encentra en la parte inferior de la página

Más detalles

Software distribuido

Software distribuido 1 de 17 01/12/2007 1:26 Software distribuido En este documento se detalla el cómo el administrador de una red puede ahorrarse tiempo. Se trata de publicar una serie de programas en el Directorio Activo

Más detalles

DOCUMENTOS COMPARTIDOS CON GOOGLE DOCS

DOCUMENTOS COMPARTIDOS CON GOOGLE DOCS DOCUMENTOS COMPARTIDOS CON GOOGLE DOCS 1. Introducción Los ambientes de aprendizaje acompañados de trabajos colaborativos como estrategia se revierten en actividades de diferente índole (análisis de videos,

Más detalles

HOW TO SOBRE REMOTE ACCESS VPN MODE EN LINUX

HOW TO SOBRE REMOTE ACCESS VPN MODE EN LINUX HOW TO SOBRE REMOTE ACCESS VPN MODE EN LINUX 1- En este how to realizaremos una conexión remota mediante vpn; lo que haremos es comprobar primero que las maquinas que vamos a conectar, se puedan ver y

Más detalles

Manual para la utilización de PrestaShop

Manual para la utilización de PrestaShop Manual para la utilización de PrestaShop En este manual mostraremos de forma sencilla y práctica la utilización del Gestor de su Tienda Online mediante Prestashop 1.6, explicaremos todo lo necesario para

Más detalles

INSTALAR UBUNTU DESDE WINDOWS

INSTALAR UBUNTU DESDE WINDOWS INSTALAR UBUNTU DESDE WINDOWS Índice de contenido 1.Descargar Ubuntu 10.04 Lucid Lynx...3 2.Grabar la imagen descargada en un CD...3 2.1.Grabación de una imagen iso con Nero...3 2.2.Grabación de una imagen

Más detalles

COMUNICACION DE PLC S MEDIANTE EL PUERTO RS- 485 Y MONITOREADO POR PANTALLA.

COMUNICACION DE PLC S MEDIANTE EL PUERTO RS- 485 Y MONITOREADO POR PANTALLA. COMUNICACION DE PLC S MEDIANTE EL PUERTO RS- 485 Y MONITOREADO POR PANTALLA. Planteamiento: Usando dos PLC s de la familia SS y dos pantallas AS35THTD, desarrollar un programa para el PLC ESCLAVO que cuente

Más detalles

Soporte Técnico Prof. Héctor Herrera. Instalando Fedora 17 en la misma máquina virtual.

Soporte Técnico Prof. Héctor Herrera. Instalando Fedora 17 en la misma máquina virtual. Instalando Fedora 17 en la misma máquina virtual. Vamos a instalar Linux Fedora 17 para tener dos sistemas operativos en la misma máquina virtual. Existe por cada Linux un DVD y un CD de instalación, en

Más detalles

V i s i t a V i r t u a l e n e l H o s p i t a l

V i s i t a V i r t u a l e n e l H o s p i t a l V i s i t a V i r t u a l e n e l H o s p i t a l Manual de Restauración del PC Septiembre 2011 TABLA DE CONTENIDOS SOBRE EL SOFTWARE... 3 CONSIDERACIONES ANTES DE RESTAURAR... 4 PROCEDIMIENTO DE RECUPERACION...

Más detalles

COMO CONFIGURAR UNA MAQUINA VIRTUAL EN VIRTUALBOX PARA ELASTIX

COMO CONFIGURAR UNA MAQUINA VIRTUAL EN VIRTUALBOX PARA ELASTIX COMO CONFIGURAR UNA MAQUINA VIRTUAL EN VIRTUALBOX PARA ELASTIX En este manual se presenta el proceso de configuración de una Maquina Virtual en VirtualBox, que será utilizada para instalar un Servidor

Más detalles

Actividad 4: Comunicación entre PLC s vía Ethernet

Actividad 4: Comunicación entre PLC s vía Ethernet Actividad 4: Comunicación entre PLC s vía Ethernet 1.- Listado de materiales: PC con Tarjeta de red 3com o similar. 2 PLC Omrom CJ1M CPU11 ETN Estos autómatas llevan integrada la tarjeta de comunicaciones

Más detalles

Datos del autor. Nombres y apellido: Germán Andrés Paz. Lugar de nacimiento: Rosario (Código Postal 2000), Santa Fe, Argentina

Datos del autor. Nombres y apellido: Germán Andrés Paz. Lugar de nacimiento: Rosario (Código Postal 2000), Santa Fe, Argentina Datos del autor Nombres y apellido: Germán Andrés Paz Lugar de nacimiento: Rosario (Código Postal 2000), Santa Fe, Argentina Correo electrónico: [email protected] =========0========= Introducción

Más detalles

Lo primero que debemos hacer es seleccionar el Cliente en el campo Nombre :

Lo primero que debemos hacer es seleccionar el Cliente en el campo Nombre : Aquí es donde administramos la Cuenta corriente de nuestros Clientes (previamente ingresados en la ventana Clientes). Como Agregar un registro de Cuenta corriente: Lo primero que debemos hacer es seleccionar

Más detalles

Tutorial: Instalación de Eclipse para programar Android en Windows

Tutorial: Instalación de Eclipse para programar Android en Windows Tutorial: Instalación de Eclipse para programar Android en Windows En este tutorial vamos a aprender todo lo necesario para dejar nuestra computadora lista para programar en Java para Android, por medio

Más detalles

TRANSFERIR ARCHIVOS E INSTALAR BIBLIOTECAS (librarys)

TRANSFERIR ARCHIVOS E INSTALAR BIBLIOTECAS (librarys) TRANSFERIR ARCHIVOS E INSTALAR BIBLIOTECAS (librarys) Caracas, Venezuela Universidad central de Venezuela Escuela de química Miguelangel León [email protected] quimicahp.googlepages.com Lo primero que

Más detalles