Sei sulla pagina 1di 22

Proteus es un entorno integrado diseado para la realizacin completa de proyectos de

construccin de equipos electrnicos en todas sus etapas: diseo, simulacin, depuracin y


construccin. Desarrollado por Labcenter Electronics que consta de los dos programas
principales: Ares e Isis, y los mdulos VSM y Electra. Sus reconocidas prestaciones lo han
convertido en el ms popular simulador software para microcontroladores PIC.
ISIS
El Programa ISIS, Intelligent Schematic Input System (Sistema de Enrutado de Esquemas
Inteligente) permite disear el plano elctrico del circuito que se desea realizar con
componentes muy variados, desde simples resistencias, hasta alguno que otro
microprocesador o microcontrolador, incluyendo fuentes de alimentacin, generadores de
seales y muchos otros componentes con prestaciones diferentes. Los diseos realizados en
Isis pueden ser simulados en tiempo real, mediante el mdulo VSM, asociado directamente
con ISIS.
ARES es la herramienta de la suite Proteus dedicada al diseo de placas de circuito impreso
(PCB). Est plenamente integrada con la herramienta ISIS.
Una vez diseado en ISIS el esquema electrnico, se genera automticamente la lista de redes
(NETLIST). Una red es un grupo de pines interconectados entre s y la lista de redes es una lista
con todas las redes que forman nuestro diseo. ARES es capaz de recibir esta lista de redes
para disear, a partir de ella, nuestra placa de circuito impreso. De esta forma nos aseguramos
que nuestra placa tendr unidos entre s los pines de forma idntica a como los hemos
definido en nuestro esquema electrnico.
Cualquier modificacin que realicemos en nuestro esquema, podr ser reenviado desde ISIS a
ARES donde aparecern resaltados los cambios que se hayan producido. De esta forma la
modificacin y rediseo de nuestra placa se realizar de forma mucho ms simple y segura.

Edicin

Barra de Ficheros

Herramientas de
Diseo

Visualizacin
Ventana de
Vista Completa
Zona de Trabajo
Barra de
Componentes
de Dibujo

Barra de Control
de Simulacin

Seleccin de componentes:

Indica que se
puede simular

Bsqueda

Categoras

Componentes

Modelo
Esquemtico

Modelo PCB
Familias
Modelo PCB

Encapsulado
Compaias

Se pueden realizar distintos tipo de anlisis:

Y exportar los datos, que se pueden pasar a Matlab por ejemplo para analizarlos de una forma
ms precisa:

Una vez montado el circuito:

Cargamos el cdigo al PIC, para ello pulsado doble click sobre el componente. Es necesario
tener generado el cdigo en un archivo .hex (hexadecimal).

Archivo con el cdigo

Frecuencia del Reloj

ARES:
Podemos disear el circuito desde cero o importarlo desde ISIS.

Barras de
herramientas
Zona de
Trabajo

Barra de
herramientas
de dibujo

Componentes

Barra de
seleccin

Barra de
Estado

Podemos usar la herramienta Auto-Router o el mdulo Electra para realizar las conexiones de
los distintos compontes.
Podemos visualizar el diseo en 3D:

El microcontrolador ejecuta el
programa cargado en la memoria
Flash. Esto se denomina el cdigo
ejecutable y est compuesto por
una serie de ceros y unos,
aparentemente sin significado.
Dependiendo de la arquitectura
del microcontrolador, el cdigo
binario est compuesto por
palabras de 12, 14 o 16 bits de
anchura. Cada palabra se
interpreta por la CPU como una
instruccin a ser ejecutada
durante el funcionamiento del microcontrolador. Todas las instrucciones que el
microcontrolador puede reconocer y ejecutar se les denominan colectivamente Conjunto de
instrucciones. Como es ms fcil trabajar con el sistema de numeracin hexadecimal, el cdigo
ejecutable se representa con frecuencia como una serie de los nmeros hexadecimales
denominada cdigo Hex. En los microcontroladores PIC con las palabras de programa de 14
bits de anchura, el conjunto de instrucciones tiene 35 instrucciones diferentes.

LENGUAJE ENSAMBLADOR (http://www.mikroe.com/chapters/view/80/capitulo-2programacion-de-los-microcontroladores/)

Programacin de microcontroladores - Ensamblador


Como el proceso de
escribir un cdigo
ejecutable era
considerablemente
arduo, en
consecuencia fue
creado el primer
lenguaje de
programacin
denominado
ensamblador (ASM).
Siguiendo la sintaxis
bsica del
ensamblador, era ms fcil escribir y comprender el cdigo. Las instrucciones en ensamblador
consisten en las abreviaturas con significado y a cada instruccin corresponde una localidad de
memoria. Un programa denominado ensamblador compila (traduce) las instrucciones del
lenguaje ensamblador a cdigo mquina (cdigo binario).

HEste programa compila instruccin a instruccin sin optimizacin. Como permite controlar en
detalle todos los procesos puestos en marcha dentro del chip, este lenguaje de programacin
todava sigue siendo popular.

Ventajas de lenguajes de programacin de alto nivel

A pesar de todos los lados buenos, el lenguaje ensamblador tiene algunas desventajas:

Incluso una sola operacin en el programa escrito en ensamblador consiste en muchas


instrucciones, hacindolo muy largo y difcil de manejar.
Cada tipo de microcontrolador tiene su propio conjunto de instrucciones que un programador
tiene que conocer para escribir un programa
Un programador tiene que conocer el hardware del microcontrolador para escribir un
programa
Programa escrito en C (El mismo programa compilado al cdigo ensamblador):

Programa escrito en C

Los lenguajes de programacin de alto nivel (Basic, Pascal, C etc.) fueron creados con el
propsito de superar las desventajas del ensamblador. En lenguajes de programacin de alto
nivel varias instrucciones en ensamblador se sustituyen por una sentencia. El programador ya
no tiene que conocer el conjunto de instrucciones o caractersticas del hardware del
microcontrolador utilizado. Ya no es posible conocer exactamente cmo se ejecuta cada
sentencia, de todas formas ya no importa. Aunque siempre se puede insertar en el programa
una secuencia escrita en ensamblador.

Si alguna vez ha escrito un programa para un microcontrolador PIC en lenguaje ensamblador,


probablemente sepa que la arquitectura RISC carece de algunas instrucciones. Por ejemplo, no
hay instruccin apropiada para multiplicar dos nmeros. Por supuesto, para cada problema
hay una solucin y ste no es una excepcin gracias a la aritmtica que permite realizar las
operaciones complejas al descomponerlas en un gran nmero operaciones ms simples. En
este caso, la multiplicacin se puede sustituir con facilidad por adicin sucesiva (a x b = a + a +
a + ... + a). Ya estamos en el comienzo de una historia muy larga... No hay que preocuparse al
utilizar uno de estos lenguajes de programacin de alto nivel como es C, porque el compilador
encontrar automticamente la solucin a ste problema y otros similares. Para multiplicar los
nmeros a y b, basta con escribir a*b.

Lenguaje C

El lenguaje C dispone de todas las ventajas de un lenguaje de programacin de alto nivel


(anteriormente descritas) y le permite realizar algunas operaciones tanto sobre los bytes como
sobre los bits (operaciones lgicas, desplazamiento etc.). Las caractersticas de C pueden ser
muy tiles al programar los microcontroladores. Adems, C est estandarizado (el estndar
ANSI), es muy portable, as que el mismo cdigo se puede utilizar muchas veces en diferentes
proyectos. Lo que lo hace accesible para cualquiera que conozca este lenguaje sin reparar en el
propsito de uso del microcontrolador. C es un lenguaje compilado, lo que significa que los
archivos fuentes que contienen el cdigo C se traducen a lenguaje mquina por el compilador.
Todas estas caractersticas hicieron al C uno de los lenguajes de programacin ms populares.

Programming microcontroller - C programming language


La figura anterior es un ejemplo general de lo que sucede durante la compilacin de programa
de un lenguaje de programacin de alto nivel a bajo nivel

Para generar el cdigo existen varios programas:


MPLAB: (Wikipedia http://es.wikipedia.org/wiki/MPLAB): MPLAB es un editor IDE gratuito,
destinado a productos de la marca Microchip. Este editor es modular, permite seleccionar los
distintos microcontroladores soportados, adems de permitir la grabacin de estos circuitos
integrados directamente al programador. Permite programar en C o en ensambrador a travs
de distintas
Ahora se va a llamar MPLABX (eXperimental), tiene cosas nuevas como:
La primera y gran ventaja de Mplab X es que es multiplataforma. Hay tanto versiones para
Windows, Mac y Linux. Mplab 8 solo se poda instalar en Windows, por lo que gente como yo,
con Ubuntu instalado tena que usar mquinas virtuales o particiones con Windows.

Otra de las funcionalidades nuevas que me encanta de Mplab X es su mtodo de


autocompletado del cdigo. Heredado de NetBeans puedes autocompletar cdigo de registros
o variables. Tambin cuenta con hiperlinks para saltar rpidamente a definiciones o funciones.

Incluso pasando el ratn por encima del cdigo podrs ver el estado bit a bit de un registro o
variable. Por ltimo, cuenta con un editor que contiene esqueletos de cdigos para insertar.
Todo esto hace de Mplab X una herramienta mucho ms eficiente para escribir cdigo que su
antecesor.
MPLAB X IDE v3.00 is based on the latest Netbeans open source IDE v8.01 and will be released
in early April. This brings many new features that have been added to the open source IDE as
well as bug fixes.

Tambien podemos simular el cdigo y cargarlo a travs de distintos programadores:

(AADIR TOOLS)
MPLABX:

Existen otros programas como:


PIC C Compiler:

El compilador PCW CSS, se trata de un compilador de alto nivel, muy eficiente, el cual nos
ayudara para depurar el cdigo, ya que nos avisa de los diferentes errores que podamos haber
cometido. Contienen bibliotecas muy completas, como se ve en el vdeo, permite una
combinacin del lenguaje de alto nivel y Ensamblador, por si deseamos ajustar el cdigo y
muchas otras caractersticas.
CCS PCW,PCB,PCH C compiler (http://www.ccsinfo.com/picc.shtml). Es el compilador ideal
para aquellos que quieren empezar a realizar proyectos en C con una mnima idea de este
lenguaje. Proporciona muchas funciones para los proyectos. El entorno de trabajo es bajo

Windows. Ofrece un metdo de trabajo a base de "wizards" o plantillas prediseadas que nos
facilitan enormente la ardua tarea de empezar a programar. Ultimamente ha tomado fuerza y
renueva constamente el soporte de nuevos PIC. Posse versin Linux. En su pagina disponemos
de un foro de ayuda muy activo.

MikroC PRO for pic: El mikroC PRO for PIC es una poderosa herramienta de desarrollo rica en
caractersticas para los microcontroladores PIC. Est diseado para proporcionar al
programador la solucin ms fcil posible de desarrollo de aplicaciones para sistemas
empotrados, sin comprometer el rendimiento o el control.
A continuacin vamos a presentar a los elementos principales del lenguaje mikroC
desarrollado por Mikroelektronika. Este lenguaje es muy similar al C estndar, no obstante en
determinados aspectos difiere del ANSI estndar en algunas caractersticas. Algunas de estas
diferencias se refieren a las mejoras, destinadas a facilitar la programacin de los
microcontroladores PIC, mientras que las dems son la consecuencia de la limitacin de la
arquitectura del hardware de los PIC. Aqu vamos a presentar caractersticas especficas del
lenguaje mikroC en la programacin de los microcontroladores PIC. El trmino C se utilizar
para referirse a las caractersticas comunes de los lenguajes C y mikroC.

FASES DE COMPILACIN
El proceso de compilacin consiste en varios pasos y se ejecuta automticamente por el
compilador. Por con, un conocimiento bsico del funcionamiento puede ser til para entender
el concepto del lenguaje mikroC.
El archivo fuente contiene el cdigo en mikroC que usted escribe para programar el
microcontrolador. El preprocesador se utiliza automticamente por el compilador al iniciarse el
proceso de la compilacin. El compilador busca las directivas del preprocesador (que siempre
empiezan por #) dentro del cdigo y modifica el cdigo fuente de acuerdo con las directivas.
En esta fase se llevan a cabo inclusin de archivos, definicin de constantes y macros etc, lo
que facilita el proceso. Ms tarde vamos a describir estas directivas en detalle. El analizador
sintctico (parser) elimina toda la informacin intil del cdigo (comentarios, espacios en
blanco). Luego, elcompilador traduce el cdigo a un archivo binario denominado archivo .mcl.

El enlazador (linker) recupera toda la informacin requerida para ejecutar el programa de los
archivos externos y la agrupa en un solo archivo (.dbg). Adems, un proyecto puede contener
ms de un archivo fuente y el programador puede utilizar funciones predefinidas y agrupadas
dentro de los archivos denominados libreras. Por ltimo, el generador .hex produce un
archivo .hex. Es el archivo que se va a cargar en el microcontrolador.

El proceso entero de la compilacin que incluye todos los pasos anteriormente descritos se le
denomina building.

PIC y C concuerdan entre s: PIC es el chip de 8 bits ms popular en el mundo, que se utiliza en
una amplia variedad de aplicaciones, y C, muy apreciado por su eficiencia, es la eleccin
natural para el desarrollo de sistemas embebidos. mikroC PRO for PIC ofrece una conexin
exitosa entre una IDE muy avanzada, ANSI compilador compatible, amplio conjunto de
bibliotecas de hardware y documentacin completa.
Ayuda
Apariencia

Men Principal
Herramientas

Archivo
Compilar

Zona de
Trabajo

Libreras
Mensajes

Ventajas:
Entorno amigable.
Asistente de cdigo.
Autocorreccin.
Libreras.
Fcil de usar.

Herramientas:

Algunas de las ms interesantes son:


Editor de siete segmentos: El siete segmentos Converter es un panel visual que devuelve valor
decimal / hexadecimal para cualquier combinacin que se puede mostrar en 7SEG. Haga clic
en las piezas de la imagen segmento 7 de obtener el valor deseado en los cuadros de edicin.

Caracteres personalizados de LDC: nos permite crear caracteres personalizados para despus
usarlos en una pantalla LCD. La salida es mikroC PRO para PIC cdigo compatible.

Es fcil configurar el Pic elegido ya que se puede hacer sin necesidad de escribir cdigo.
Podemos seleccionar el tipo de oscilador, watchdog o la frecuencia del reloj de forma sencilla.

PROGRAMADORES:
PICkit is a family of programmers for PIC microcontrollers made by Microchip Technology.
They are used to program and debug microcontrollers, as well as program EEPROM. Some
models also feature logic analyzer and serial communications (UART) tool.
PICkit 1
The PICkit 1 introduced on March 31, 2003 for US$36[2] was a rudimentary USB
programmer for PIC microcontrollers, produced by Microchip Technology, the manufacturers
of the PIC series of microcontrollers. It was integrated into a demoonstrator board, featuring
eight LEDs, a switch, and a potentiometer. Its default program, explained in the
documentation, rotates the LEDs in series. The light display's direction and speed of rotation
can be changed with the button and potentiometer on the PICkit board.

PICkit 2
The PICkit 2 introduced in May 2005[3] replaced the PICkit 1. The most notable
difference between the two is that the PICkit 2 has a separate programmer/debugger unit
which plugs into the board carrying the chip to be programmed, whereas the PICkit 1 was a
single unit. This makes it possible to use the programmer with a custom circuit board via an In
Circuit Serial Programming (ICSP) header. This feature is not intended[3] for so-called
"production" programming, however.

The PICkit 2 uses an internal PIC18F2550 with FullSpeed USB. The latest PICkit 2 firmware
allows the user to program and debug most of the 8 and 16 bit PICmicro and dsPIC members of
the Microchip product line.

The PICkit 2 is open to the public, including its hardware schematic, firmware source code (in C
language) and application programs (in C# language). End users and third parties can easily
modify both the hardware and software for enhanced features. e.g. GNU/Linux version of
PICkit 2 application software, DOS style CMD support, etc.

The PICkit 2 has a programmer-to-go (PTG) feature, which can download the hex file and
programming instructions into on-board memory (128K byte I2C EEPROM or 256K byte I2C
EEPROM), so that no PC is required at the end application.

The Microchip version of PICkit 2 has a standard 128K byte memory. 256K byte memory can be
achieved by modifying the hardware or from third party.

Additionally, a 500 kHz three-channel logic analyser and a UART tool are built into the PICkit 2.
These features are missing from the PICkit 3.

Since release of V2.61, PICkit 2 PC software now supports a maximum 4 megabytes of memory
for the programmer-to-go feature. This modification makes the PICkit 2 support eight times as
much memory as the PICkit 3. This enhancement has been contributed by Au Group
Electronics and the PICkit 2 firmware is also reported to be submitted to Microchip PICkit 2
team in the middle of March 2009. This enhancement may be integrated into future firmware
releases, too.

PICkit 3
Microchip has gone on to manufacture the PICkit 3, a variation of the PICkit 2 with the same
form factor and a new translucent case. It features a faster 16-bit PIC24F processor and a
wider voltage regulation range. There are some complaints of it not being as reliable as the
Pickit 2.

Both PICkit 2 and PICkit 3 have internal, switch-mode voltage regulators. This allows them, in
the case of the PICkit 2, to generate voltages from 2.5 to 5 volts, or in the case of the PICkit 3,
2.5 to 5.5 volts, from a 5V USB supply, at around 100mA. Both have options for calibrating the
output with a multimeter, for increased accuracy. Additionally, for some PICs, the MCLR
programming voltage can be generated, at around 13 to 14 volts. This voltage is required to
reprogram the flash memory.

MAS PICKIT3: http://www.sagitron.com/productos/activos/microchip/203-pickit3programador-de-pic-sin-necesidad-de-ordenador


El PICKit 3 es la herramienta de depuracin y programacin ms sencilla y de menor coste de
Microchip. Est totalmente soportado por el MPLAB IDE, y tiene una sencilla conexin USB Full
Speed con el ordenador que no solo permite programar y depurar sino tambin hacer update
del firmware interno del PICKIT3.

Tiene circuitos para proteccin de sobre tensin y de corto circuito, permite ejecucin en
tiempo real y soporta tensiones desde 2.0V.

Respectando la norma USB puede dar 100mA al circuito donde esta conectado y tiene LEDs de
informacin rpida para el usuario.

microchip pickit3

Adems de estas funcionalidades, hay una que es muy interesante y en algunos entornos
bastante til del PICKIT3 que es la funcionalidad Programmer-To-Go.

La funcionalidad Programmer-To-Go permite de una forma muy sencilla programar cualquier


microcontrolador de las familias PIC16, PIC18, PIC24, dsPIC33F y PIC32 de Microchip sin
necesitar de un ordenador, lo que es muy til si estamos en un entorno donde llevar un
ordenador no es practico o es del todo imposible.

El PICKit3 permite guardar un cdigo de hasta 512KB en su Flash, esto se hace desde el MPLAB
y despus llevar el PICKIT 3 y de forma autnoma slo alimentando el PICKit3 desde el USB
(puede ser un cargador con salida usb como ya tenemos para algunos mviles o para bateras
de grabadores de video) programar In Situ nuestro dispositivo.

Podemos hacer uso de 4 tipos diferentes de osciladores


(http://riqooberto.blogspot.com.es/2009/02/tipos-de-osciladores.html)

Oscilador tipo "XT" (XTal) para frecuencias no mayores de 4 Mhz.

Oscilador tipo "LP" (Low Power) para frecuencias entre 32 y 200 Khz.Este oscilador es igual que
el anterior, con la diferencia de que el PIC trabaja de una manera distinta. Este modo est
destinado para trabajar con un cristal de menor frecuencia, que, como consecuencia, har que
el PIC consuma menos corriente.
Oscilador tipo "HS" (High Speed) para frecuencias comprendidas entre 4 y 20 MHz.Habremos
de usar esta configuracin cuando usemos cristales mayores de 4 MHz. La conexin es la
misma que la de un cristal normal, a no ser que usemos un circuito oscilador como el relatado
unas lneas ms abajo, en la seccin de Otras configuracin
Oscilador tipo "RC" (Resistor/Capacitor) para frecuencias no mayores de 5.5 Mhz. Por ltimo
tenemos el oscilador tipo RC que es el ms econmico por que tan solo se utiliza un
condensador no polarizado y una resistencia. Este tipo de oscilador proporciona una
estabilidad mediocre en la frecuencia generada y podr ser utilizado para aquellos proyectos
que no requieran precisin

En ciertas ocasiones disponemos una fuente de reloj que proviene de una fuente externa
como puede ser un oscilador TTL o CMOS. La onda generada por esta fuente externa puede

servir para poner en funcionamiento el PIC. En la siguiente figura tenemos la forma de


conexionar la entrada digital a traves de un inversor lgico.
Como se puede observar, todos los circuitos oscilatorios que se conectan al PIC a travs de una
sola patilla, van conectadas a la entrada OSC1, dejando la entrada OSC2 abierta.

Oscilador TTL

Este tipo de oscilador est basado en un cristal que contiene toda la circuitera para generar
una onda cuadrada. Este ha de ser conectado como si de un generador de seal externa se
tratase. Al incluir toda la circuitera esto lo convierte en la opcin ms costosa; pero resulta
una forma interesante por la precisin en la seal de reloj emitida.
Estos tipos de cristales estn diseados especialmente para tecnologas TTL. La frecuencias
disponibles para esta versin de cristal son muy amplias y las mas usuales son 1 - 1.8432 - 2 - 4
- 8 - 10 - 11.059 - 12 - 14.31818 - 16 - 20 - 25 - 32 - 33 - 40 - 50 - 80 y 100 Mhz.
En la imagen siguiente se muestra como debe conectarse al microcontrolador y las
caractersticas del cristal.

RESET, INTERRUPCIONES??? http://perso.wanadoo.es/pictob/micropic16f84_3.htm

COMPARACION CON DIGITAL I.

En la imagen se puede ver un circuito cuya finalidad es contar a travs de dos pulsadores, uno
para incrementar el contador y otro para disminuir el contador.
Para llevar a cabo el circuito hemos usado el circuito integrado 74192. El 74LS192 es un
contador de dcadas Up/Dw en BCD y es el 74LS193 es un contador binario de 4 bits Up/Dw.
Tambin hemos usado dos decodificadores para siete segmentos de ctodo comn, el 74LS48.
Los pulsadores estn conectado a una parte de lgica combinacional necesaria para el correcto
funcionamiento del circuito.

A continuacin se muestra como sera el circuito si se montara con un PIC sustituyendo a los
contadores:

En este circuito se han sustituido los dos contadores por un PIC, y se han usado dos
decodificadores para siete segmentos.
Con esta configuracin no es necesaria la lgica combinacional, solo necesitamos colocar dos
resistencias pull-down para asegurar que siempre estamos midiendo un estado alto o bajo en
los pines.
Tambin podramos prescindir de los decodificadores si elegimos un PIC con ms salidas
digitales.
Con esta configuracin es mucho ms sencillo controlar la cuenta, es muy sencillo modificar el
cdigo para incrementar la cuenta de dos en dos en lugar de uno en uno. Tambin es sencillo
poner un lmite al contador, para que no aumente aunque se pulse el pulsador cuando
hayamos llegado a un valor determinado.

El cdigo usado ha sido el siguiente:

Potrebbero piacerti anche