Autor
|
Tema: Mis pequeñas prácticas con microcontroladores (Leído 29,025 veces)
|
Tokes
Desconectado
Mensajes: 140
|
Hola a todos:
Debido a la enorme falta de actividad en este subforo con respecto a los microcontroladores, he decidido abrir un nuevo tema en el cual mostraré prácticas sencillas realizadas por mí, para que las personas que no saben o apenas se están introduciendo al mundo de los microcontroladores tengan un apoyo en esta página. Espero, sinceramente, que se unan, si no para compartir, por lo menos para preguntar. Porque, lamentablemente, este foro de electrónica se está perdiendo en la oscuridad.
Como todo, debemos empezar por lo más sencillo; pero como por el momento no tengo nada sencillo que mostrar, me dedicaré a hacer un pequeño programa ilustrativo. Cuando lo acabe lo posteo.
Por su atención, muchas gracias.
P.D.1: Si no les agrada la idea, por favor absténganse de poner comentarios ofensivos.
P.D.2: La programación de microcontroladores es bellísima... ¡¿QUÉ SUCEDE AQUÍIIIIIIIIIIII?!
|
|
|
En línea
|
|
|
|
Debci
Wiki
Desconectado
Mensajes: 2.021
Actualizate o muere!
|
Hombre, pues esta muy pero que muy bien la iniciativa, yo tambien voy a cojerle actividad a esta secion, es algo que me gusta y quiero que haya aqui un mundillo Saludos
|
|
|
En línea
|
|
|
|
andres_5
Desconectado
Mensajes: 200
|
a mi tambien me interesa, actualmente estoy buscando info respecto a este tema... saludos =D
|
|
|
En línea
|
|
|
|
Mr.Blue
|
Estoy creando un pequeño tuto introductorio al tema cuando lo termino lo subo, esta buena la iniciativa y si esta teniendo poca actividad este subforo. Saludos.
|
|
|
En línea
|
|
|
|
Tokes
Desconectado
Mensajes: 140
|
Hola a todos:
Como dije anteriormente, empezaré por algo muy, pero muy sencillo: explicar la diferencia entre microprocesador y microcontrolador (aunque para algunos, es muy obvia). Trataré de ser lo más breve y menos aburrido posible.
Un microprocesador es el cerebro de cualquier sistema electrónico. Tiene la capacidad para realizar operaciones lógicas y aritméticas, y también puede comunicarse con otros dispositivos electrónicos.
Un microcontrolador es todo un sistema electrónico dentro de un solo chip, capaz de llevar a cabo el control de una tarea específica.
Claro está que para controlar un proceso se requiere inteligencia, entonces, un microcontrolador contiene un microprocesador dentro de su arquitectura.Figura 1. Diagrama de bloques resumido de un microcontrolador.Es decir, un microprocesador por sí solo no puede hacer absolutamente nada. Pensemos por un momento: Si algún demente le hubiera sacado el cerebro a Einstein y lo hubiera puesto en un frasco con conservadores, ¿Qué habría hecho o producido ese cerebro?
A pesar de ser un cerebro potentísimo, no tendría los medios para comunicarse con el exterior, y por lo tanto, es completamente inútil.
Podemos considerar a un ser humano como un controlador. Un controlador que cambia, y a veces, destruye su entorno. Pero esto lo logra gracias a que dispone de un poderoso “procesador”, el cual puede interactuar con el exterior debido a sus “sensores” (la vista, el oído, el tacto, etc.) y a sus “actuadores” (los nervios, los músculos, etc.) que están conectados al “procesador” (el cerebro).
Como se puede observar en la figura 1, el microprocesador está conectado a una memoria de programa, porque sí, es cierto, el procesador puede realizar muchas operaciones; la pregunta es ¿Qué operaciones va a realizar?
Las operaciones que el microprocesador va a realizar dependen del proceso que debe controlarse. Esas instrucciones están guardadas todas en la memoria de programa, cada una en una dirección específica de dicha memoria. El microprocesador debe extraer las instrucciones una a una e irlas ejecutando. Para ello, primero pone en el bus de direcciones la dirección de la instrucción que se quiere extraer y mediante el bus de control le indica a la memoria de programa que se va efectuar una operación de lectura sobre ella. Acto seguido, la memoria de programa pone en el bus de datos la instrucción solicitada por el procesador, el cual, procede a ejecutarla.
Ahora, supongamos que la instrucción extraída por el procesador es: Sumar A + B. Surge ahora otra pregunta, ¿Qué son A y B? ¿En dónde se encuentran esos valores? La respuesta es: en la memoria de datos. Esta memoria cumple la función de contener datos temporalmente para auxiliar en el procesado de la información. Si a cualquiera de nosotros nos dijeran: multiplica 549823 x 468254, pero sin usar lápiz ni papel, ¡¿Qué hacemos?! Necesitamos lápiz y papel para ir escribiendo los datos hasta llegar al resultado final. Es más, aunque usáramos calculadora, voltearíamos y le diríamos a nuestro sinodal: ¿Me puedes repetir los números, por favor?
Pues bien, el procesador debe extraer los datos necesarios contenidos en la memoria de datos para llevar a cabo el control de un proceso.
Pero, un momento… ¿Cómo puedo controlar un proceso si yo mismo no soy parte del proceso? ¡Debo estar en contacto con el proceso!
Los puertos de Entrada/Salida cumplen la función de comunicar al sistema con el exterior. Mediante los puertos de E/S el procesador puede adquirir y enviar información a los dispositivos involucrados en una tarea determinada.
En fin, un microcontrolador es todo un sistema de control dentro de un solo paquetito; o como dijeran muchos, es un computador completo. Es verdad, un microcontrolador puede realizar las 4 operaciones básicas de una computadora:
- Recibir información - Almacenar información - Procesar información - Enviar información
Bueno, por el momento es todo. Espero no haberles aburrido el día.
Saludos.
|
|
|
En línea
|
|
|
|
andres_5
Desconectado
Mensajes: 200
|
Muy interesante, ahora mismo estoy intentando conseguir un microcontrolador pic para programarlo y demas, me podrias aconsejar uno tipico y barato para empezar? no me gustaria gastarme una pasta por un componente que valla a poder quemar, :S para programar un componente tengo que conseguir la "base", es decir el circuito que une el PIC con el PC, ¿Que me aconsejais por USB, Puerto Paralelo...? saludos y sigue asi . ...
|
|
|
En línea
|
|
|
|
|
Mr.Blue
|
Aca en este link podes encontrar el quemador pic por puerto DB-45 http://www.megaupload.com/?d=NRBHEVYMFunciona esta probado. algunos ejemplos simples. ;ejercico 1 ;encender un led en rb0 ;pic 16f84 ;oscilador 4MHz (Xtal) ;TTP Montaje ;10/09/2007 ;Autor: Sr.blanco status equ 03 porta equ 05 portb equ 06 trisa equ 85 trisb equ 86 list p= pic 16f84 reset org 0 ;saltar vector de ingreso goto inicio org 5 inicio bsf status,5 ;pasar a banco de memoria 1 movlw b'00000' ;caragr en w palabra de configuracion trisa movwf trisa ;cargar en w palabra de configuracion tris movlw b'00000000' ;cargar en w palabra de configuracion trisb movwf trisb ;cargar en w pqalabra de configuracion trisb bcf status,5 ;pasar a banco de memoria limpio clrf porta ;limpio puerto a clrf portb ;limpio puerto b comenzar movlw b'00000001' movwf portb end
;ejercico 8 ;control de sentido de giro de motor de cc ;pic 16f84 ;oscilador 4MHz (Xtal) ;TTP Montaje ;09/10/2007 ;Autor: Sr.Blanco status equ 03 porta equ 05 portb equ 06 trisa equ 85 trisb equ 86 dato equ 0d list p= pic 16f84 reset org 0 goto inicio org 5 inicio bsf status,5 movlw b'00001' movwf trisa movlw b'00000000' movwf trisb bcf status,5 limpio clrf porta clrf portb leo movf porta,w movwf dato btfss dato,0 goto leo prendo1 movlw b'00001100' movwf portb movlw b'00000110' movwf portb movlw b'00000011' movwf portb movlw b'00001011' movwf portb movlw b'00001001' prendo2 movlw b'00001001' movwf portb movlw b'00001011' movwf portb movlw b'00000011' movwf portb movlw b'00000110' movwf portb movlw b'00001100' goto prendo1| end
;ejercico 12 ;Efecto de luces ;pic 16f84 ;oscilador 4MHz (Xtal) ;TTP Montaje ;Autor: Sr.Blanco [hr] lee movf porta,w movwf dato btfss dato,0 goto lee1 goto lee2 lee1 btfss dato,0 goto lee3 goto lee4 lee2 btfss dato,1 goto lee5 goto lee6 lee3 btfss dato,1 goto luces1 goto luces2 lee4 btfss dato,2 goto luces3 goto luces4 lee5 btfss dato,2 goto luces5 goto luces6 lee6 btfss dato,2 goto luces7 goto luces8 luces1 movlw b'10000001' movwf portb call tiempo movlw b'11000011' movwf portb call tiempo movlw b'11100111' movwf portb call tiempo movlw b'11111111' movwf portb call tiempo movlw b'11100111' movwf portb call tiempo movlw b'11000011' movwf portb call tiempo goto lee luces2 movlw b'10000001' movwf portb call tiempo movlw b'01000010' movwf portb call tiempo movlw b'00100100' movwf portb call tiempo movlw b'00011000' movwf portb call tiempo movlw b'00100100' movwf portb call tiempo movlw b'01000010' movwf portb call tiempo goto lee luces3 movlw b'00000001' movwf portb call tiempo movlw b'00000010' movwf portb call tiempo movlw b'00000100' movwf portb call tiempo movlw b'00001000' movwf portb call tiempo movlw b'00010000' movwf portb call tiempo movlw b'00100000' movwf portb call tiempo movlw b'01000000' movwf portb call tiempo movlw b'10000000' movwf portb call tiempo movlw b'01000000' movwf portb call tiempo movlw b'00100000' movwf portb call tiempo movlw b'00010000' movwf portb call tiempo movlw b'00001000' movwf portb call tiempo movlw b'00000100' movwf portb call tiempo movlw b'00000010' movwf portb call tiempo goto lee luces4 movlw b'11111111' movwf portb call tiempo clrf portb call tiempo goto lee luces5 movlw b'00000001' movwf portb call tiempo movlw b'00000010' movwf portb call tiempo movlw b'00000100' movwf portb call tiempo movlw b'00001000' movwf portb call tiempo movlw b'00010000' movwf portb call tiempo movlw b'00100000' movwf portb call tiempo movlw b'01000000' movwf portb call tiempo movlw b'10000000' movwf portb call tiempo goto lee luces6 movlw b'10101010' movwf portb call tiempo movlw b'01010101' movwf portb call tiempo goto lee luces7 movlw b'11000011' movwf portb call tiempo movlw b'00111100' movwf portb call tiempo goto lee luces8 movlw b'11110000' movwf portb call tiempo movlw b'00001111' movwf portb call tiempo goto lee luces9 movlw b'11001100' movwf portb call tiempo movlw b'00110011' movwf portb call tiempo goto lee luces10 movlw b'10101010' movwf portb call tiempo movlw b'00000000' movwf portb call tiempo movlw b'01010101' movwf portb call tiempo goto lee luces11 movlw b'11100000' movwf portb call tiempo movlw b'01110000' movwf portb call tiempo movlw b'00111000' movwf portb call tiempo movlw b'00011100' movwf portb call tiempo movlw b'00010000' movwf portb call tiempo movlw b'00100000' movwf portb call tiempo movlw b'01000000' movwf portb call tiempo movlw b'10000000' movwf portb call tiempo goto lee
|
|
« Última modificación: 26 Agosto 2010, 19:05 pm por Sr.Blanco »
|
En línea
|
|
|
|
andres_5
Desconectado
Mensajes: 200
|
Dios, no hay microcontroladores que sea mas barato, porque en ese caso prefiero hacerme con un arduino que mas o menos me sale unos 10€, ya que para empezar prefiero con lo mas barato, seria muy frustrante que quemase ese microcontrolador con mi inexperiencia... saludos .
|
|
|
En línea
|
|
|
|
Mr.Blue
|
@andres_5 Dependiendo que quieras hacer vas a comprar uno y otro pic si queres hacer practicas simples, como los codigos que puse te recomiendo el 16f84 no son caros, y podes hacer varias cosas con ellos.
|
|
|
En línea
|
|
|
|
|
|