Está en la página 1de 8

LENGUAJE C APLICADO A LOS

MICROCONTROLADORES PARA LA CONSTRUCCIÓN DE


SISTEMAS EMBEBIDOS

Pedro Landaeta.
24-Marzo-2011

Universidad Politécnica Territorial del Estado Aragua (UPTA)


“Federico Brito Figueroa”
landaetap2@gmail.com

Resumen 1.- Introducción


Hablar de lenguaje C es bastante, y
hablar de microcontroladores (micros) es La introducción va dirigida en tres
más aún. La unión de estos dos monstruos aspectos de interés, como son: ¿A qué
logra la construcción de los llamados grupo va pensado este paper?, (2) ¿El por
sistemas embebidos. Sistemas que pueden qué se estudia Lenguaje C y no otro?, y
aplicarse a diferentes ramas de la vida (3) ¿Qué bibliografía existe relacionada
diaria, como la industria automotriz, con lenguaje C aplicado a
electrodomésticos, tecnología de punta y microcontroladores o sistemas embebidos
la industria del entretenimiento, entre como se le conoce comúnmente?.
otros. Detrás de estos sistemas se En la onda de la Universidad
encuentra toda una arquitectura que se Politécnica Territorial de Aragua (UPTA-
basa en la computación y las interfaces. FBF) se ha creado la asignatura
Ya que existen software’s de simulación Programación. Esta se encuentra ubicada
de circuitos electrónicos, software para en el primer trimestre correspondiente al
grabar los programas en los micros, primer trayecto de carrera para optar al
software para construir las tarjetas titulo de TSU. En fin, el propósito de la
electrónicas y las interfaces representadas unidad curricular es dar una idea al
por los sensores, relés, optoacopladores y estudiante de lo que es la programación,
las HMI. No cabe duda que se está en un experimentar con algunos ejercicios de
buen momento en la UPTA-FBF para programación estructurada y en
comenzar a desarrollar sistemas definitiva vivir la experiencia de editar,
embebidos más avanzados. Queda compilar y correr un programa.
solamente esperar a que más personas se Ya que el IUET-LV ahora es una
sumen a esta onda de avances que no se universidad, y pensando en la posibilidad
detiene. de crecimiento académico en estudios
más allá del TSU o Ingeniería. Entonces
Palabras claves: Lenguaje C, Microcontroladores,
HMI, sistemas embebidos
se puede pensar en hacer posibles
especialidades, Maestrías, Doctorados o
Diplomados que tengan que ver con
programación donde se ahonde en los
software’s para desarrollo informático
2

que pueda
p serviir de plataaforma paraa Micrrochip. En la UPTA-FBF se diccta
realim
mentar a la nueva Un niversidad y tambbién la unnidad curricular Sistem mas
hacer aportes im mportantes all país y suu Digiitales II, esta se encuenntra ubicada en
indepeendencia tecnológica.
t . Vea a el ssegundo trim mestre correespondiente al
contin
nuación un n árbol dee ideas quee seguundo trayectto de carreraa para optarr al
serviríía de punto de arranquee para seguirr titul o de TSU. EEsta unidad ccurricular traata
el estu
udio de leng guajes de prrogramación
n El teema de micrrocontroladoores usando
como Java por ejeemplo, y de programas lengguaje C para su programaación.
See observa enntonces que hhay una
neceesidad innstitucional en que el
egreesado adquuiera el conocimiennto
neceesario en éssta área de la ciencia. El
desaarrollo de loos microconntroladores no
ha pparado de crrecer desde sus inicios en
los aaños 90.
L a figura 2 muestra una tarjeeta
electtrónica heecha con el softwaare
EAG GLE. La m misma correesponde a un
micrrocontroladoor Nº 18f44550. Lo qque
interresa aquí es mencionar que esto es un
sisteema que ppuede ser colocado en
infinnidad de aplicacionees donde se
Fuente: El Autor.
neceesite controlaar un processo particular..
Figura 1.- Árbol de desarrollo
d y aplicaciones dee
distinto
os lenguajes de programación.

comerrciales paraa aplicar lo o aprendido o


prograamando en Lenguaje C o para darr
aplicacciones a lo aprendido desarrollando
d o
sistem
mas embebid dos por meedio de loss
microccontroladorees.
l que respecta a este traabajo se haráá
En lo Fuennte:
énfasis en C paraa PIC, que es e una de lass
ramas de la figurra i. PIC ess una marcaa Figu ra 2.- Tarjeeta electrónicca que formaará
comerrcial de microcontro oladores y partee de un sistem
ma embebido.
perten
necen a laa empresa Arizona
a
Microchip . Emp presa que deecidió llamarr
a sus microcontrroladores PIIC (PIC ess Siistema embbebidos como los aqquí
Periph
herical Interfface Controlller). pressentados soon los que se deseean
Vollviendo a la unidad d curricularr consstruir para así podeer avanzar a
mencionada al inicio de la in ntroducción,, moddelos más avvanzados de circuitos y de
en ellaa se estudia el lenguajee C. Todo lo o apliccaciones.
que see estudia alllí sirve de apoyo paraa
prograamar a los microcontro oladores, enn
este paper se trabaajará con
n
microccontroladorees PIC de la empresaa
3

2. Desarrollo puertos….Leer un dato que entra a un


puerto y / o Mandar un uno (1)
o un cero (0) por un puerto.
El Lenguaje C
Así sucede para los otros módulos
mencionados. ¿Qué se debe hacer
El lenguaje C se ha usado durante entonces?...Estudiar cada una de estas
muchos años, desde su creación en 1978 instrucciones e irlas aplicando a diferentes
(según el libro de Kernighan y Ritchie en proyectos para verificar su
su 2da edición, El Lenguaje de funcionamiento.
programación C). Y aunque han aparecido ¿Por qué C?.......Esto puede ser materia de
otros software’s este sigue manteniéndose discusión, pero por la conveniencia del
y resistiendo a la fuerza de los cambios. caso el uso de C cae como anillo al dedo
Los estudiosos de la informática aplican para aquel investigador que quiera usar un
mucho el lenguaje C para la construcción software orientado a objetos más o menos
de programas de múltiples aplicaciones. similar, como lo es java. Se sabe, el
En electricidad y electrónica se usa para lenguaje C no es un lenguaje de
construir programas que se aplicarán en programación de objetos pero si usa las
circuitos microcontrolados o lo que se estructuras básicas arriba mencionadas if,
llama electrónica programada. Se hace la if – else, while( ) y for( ). El uso de
diferencia entre el informático puro y el variables también es muy similar a C y
que usa la informática como una ahí entonces el porque decidirse por C y
herramienta que en este caso es el que no por otro software.
trabaja con electrónica programada. Con Además java se usa, entre otras cosas,
esto se busca decir que no se tendrá en para construir interfaces HMI de sus
este capitulo la explicación rigurosa de un siglas en inglés (Human Machine
conocedor profundo del lenguaje sino uno Interface). Estas se pueden comunicar
que usa sus estructuras básicas para serialmente con un micro para realizar
construir programas de aplicación en control y supervisión desde un
electrónica. Por ejemplo, algo básico que computador.
debe saberse es el uso de variables y las
declaraciones (statements ) clásicas de
programación como son If, If – else,
El compilador
switch - case, While( ), do – While( ) y
For ( ).
Para esta investigación se ha decidido
Como todo programa en C, los
programar con el compilador para C de
programas que deben hacerse en
la empresa CCS inc. (ver página web
electrónica programada cuentan también
http://www.ccsinfo.com/ ). Una de las
con su respectivo algoritmo, el diagrama
razones para elegirlo es su entorno de
de flujo y por último su programa. Lo
trabajo IDE y la otra es el poder de las
que cambia radicalmente es el uso de los
librerías que en él se encuentran.
micros como tal porque estos poseen sus
La figura 3 muestra una foto de la
particularidades, como son: Los puertos,
página web de la empresa CCS inc. La
los timer, módulos especiales y otras
misma muestra algunas de las áreas en
características propias. Los puertos deben
que se pueden usar los micros como son:
ser leídos, entonces los software en C
RFID, Robótica, pantallas sensibles al
que se aplican a micros traen
tacto y comunicaciones I2C y SPI.
instrucciones especiales para manejo de
4

haciiendo las conexionees correctas.


Adeemás de lo anterior, laas señales de
entraada pueden ser analógiccas o digitales.
Del mismo moddo que a la saalida.
A
Al igual qque los PID, llos
micrrocontroladoores pueden recibir señalles
de eentrada y m mandar unaa respuesta de
salidda. Así, loos micros son circuittos
integgrados (IC) programables que puedden
ejerccer diversass tareas, entrre ellas las de
PID. Ya aquí see va despejaando el camiino
Fuente: http://www.ccsinfo.com/ paraa decir quee el IC miccrocontroladdor
poseee todas llas capaciddades de un
Figura 3.- Página weeb de la empreesa CCS inc commputador perro a pequeñña escala. Essto
se loogra a travéés de un proograma que se
grabba en la mem moria del m micro destinaada
Commo se ve, laas aplicacion
nes son muy y paraa este fin, quue en una PPC es el dissco
buenas, poderosaas, interesaantes….pero,, Duroo (HD en IInglés). Tam mbién el miccro
¿Cómo o hacer esstas aplicaciones si nii poseee memoriaa RAM paara los datoos,
siquierra se sabe manejar un n puerto dell mannejador de ddispositivos de entradaa y
micro??...... de eso
o trata este trabajo, dee salidda. Es decirr, un computador peroo a
decirlee al lector lo
l fácil y elemental
e dee pequueña escala… …….o microocomputadorr.
todo esto para así poder llegar a U
Una diferennciación im mportante qque
aplicacciones de maayor envergaadura. debee hacerse es que los miccros con que se
va a trabajar sonn de 8 bit’s. Quedará paara
otro s trabajos loos micros dde 16 bit’s, 32
El Microcontro
M olador bit’ss y los micrros procesaddores de señaal.

Cuaando se hab bla de micro os, es bueno o


pensarr en varias cosas:
c uno) las palabrass nguaje En
Len nsambladoor
que la compponen,…. micro y
contro
olador. Miccro viene de muy y H
Hablar de Lenguaje ensambladdor
pequeñ ño y controlador (es)
( el quee signnifica hablaar casi de lenguaje de
contro
ola. En ingeeniería cuando se hablaa maqquina. Se sabbe de sus diiferencias peero
de con ntrolador inm
mediatamen nte se piensaa se eestá tan cercca de esta qque a veces se
en Controladores PID ( o su us variantes),, puedde cometer eel error de coonfundirlos. El
PLC o yendo a tiempos
t máss remotos see lengguaje de maaquinas es ese el de la
puede pensar en n las antiguas tarjetass maqquina, o seea el compputador, cerros
electró
ónicas que hacían
h el trrabajo de lo o (0000) y unoos (111). Y el lenguaaje
que ess hoy el ya mencionado
m controladorr ensaamblador es uno quee entiende el
PID. Estos conttroladores reciben lass proggramador, ees como si uno estuvieera
señalees de los sensores, que viene
v a ser laa habllando, obseerve: ADDWF F --
señal de entrada, la procesan n y mandan n signnifica suma el registrro W con el
una respuesta
r a la salida. Entonces,, regisstro F. El qque medio ssabe inglés ve
cualquuier proceso o industrial puede serr rápiddamente quee ADD vienne de sumar en
gobernnado por estos co ontroladoress ingléés. ¿Ves?.....es como si hablarras.
5

¿quiénn no pued de entender ADDWF F H


Haciendo cliic en la carrpeta marcaada
cuando o se trata de palabras en ingléss con un círculo sse busca la rruta donde ffue
colocaadas en form ma resumid da (llamadass guarrdado el prroyecto. En el cuadro de
mnemmónicos)?. textoo se puedde ver la ruta de este
Ya en el capitu ulo anterior se habló dee proyyecto. Se reccomienda quue se haga uuna
registrros de propó ósito generaal y registroo carppeta en el ddisco duro “C” de la
de trabbajo (W parra microconttroladores y commputadora ppara guardaar todos llos
A parra microproccesadores). En E fin, si see proyyectos hechoos ya sean coon MPLAB de
desea sumar W con un registro dee la emmpresa miccrochip o PIC C de la
propóssito general (GPR, de sus s siglas en n emppresa CCS.
Inglés) por ejempllo AUX se escribe
e de laa Y
Ya para finaalizar, la venntaja princippal
siguien nte forma de uusar lenguajee ensambladoor radica en su
ADDDWF F,d ; suma W + pocoo uso de laa memoria de program ma.
F  W ó F deependiendo del valor dee Apaarte por suupuesto de conocer llos
“d” …..Esto es Lenguajee micrros. Graciass a esta caaracterística el
Ensam mblador trabajar uno a uno cadaa proggramador puuede hacer uun aparte en su
registrro, tener conntrol de cadda bit, saberr proggrama hechoo en lenguajee C y agreggar
su ubicación en memoria, saber s cuantaa líneaas de proograma en ensambladdor
memo oria posee el e micro. Trabajar
T con
n cuanndo así lo creea necesarioo.
Ensam mblador te lleva u obliga a
eso…..¿Y será bu ueno?, por su upuesto quee
si. A todo este esfuerzo minucioso
m y Usaando PRO
OTEUS
laboriooso se le vev los frutoss cuando see
comienza a progrramar en Leenguaje C . Como ya mucchos saben, PROTEUS es
C
¿Por qué?, ya que por alg guna razón,, un software para simuular circuittos
cualquuiera que seaa, debas ir a un
u datasheett elécttricos, electrrónicos y diigitales. Usaado
del micro
m con qu ue estés traabajando a amppliamente paara la enseeñanza de la
buscarr alguna informaación dell electtrónica en mmuchas partes del munddo.
compo onente….. es ahí cuando ell La UUPTA-FBF nno podía serr la excepcióón,
estudiaante dice, bueno, valió ó la pena. por lo tanto se ha deciddido usar este
Ya quue el lenguaje ensamblad dor obliga all softwware como apoyo en laa parte práctiica
prograamador a trabajar con el datasheett ya que sus reesultados sson bastannte
del miicro que se está
e usando. cerccanos a los obbtenidos en hardware.

Fuente: El Autor.
Fueente: El Autor.
Figura 4.- Ventana de propiedaddes del micro
o Figu ra 5.- Ejem
mplo de usoo del softwaare
obtenid
da usando el software PROT
TEUS. PROOTEUS.
6

Uso de
d sensorees MO
ONTAJE E
EN HARD
DWARE

Loss sensores so on la base dee los grandess Paasos a seguirr:


proyecctos con microcontrol
m ladores. All a) S
Se monta todo en lla regleta de
igual que
q el ser hu umano, el miicro necesitaa monntajes (connocida por m muchos com mo
ver, saaber que se aproxima a un objeto,, PROOTOBOARD D, pero esto no es mas qque
sentir que tan caliente o frio f está unn una marca comeercial).
ambiente. En fin, mientras más m sensoress
posea el sistema conc micro más m poderoso o b) Se elige el grabador de PIC conn el
será. que se va a trabaajar.
Hayy cientos dee tipos de seensores, hoy y
en díaa se puede seensar prácticamente todo o
tipo ded variable física. Un na limitantee c) Se instaala en la coomputadora el
importtante para cu ualquier proyecto y paraa softwware asociaado a este grabador.. Se
todo interesado
i en
e trabajar en e esta áreaa recoomienda el ssoftware WWINPIC800 ya
será el
e aspecto ecconómico. Si, S en efecto o que es un softw
ware de distriibución libree y
existenn los sensores pero no o se pueden n con iguales caaracterísticaas de los ya
obteneer todos los que se quisiieran porquee conoocidos: EPICCWIN, ICPR ROG, MLAB BS
el dinnero que se posee no es e infinito y y ottros.
debe ser
s racionad do. Bueno, aquí
a viene laa
parte de las defin niciones. Entre
E toda laa
gama de sensorres el diseñador debee
definirrse entre los que le interresen para suu
proyeccto y entree ellos los que puedaa
adquirrir. Para estee caso se usaarán sensoress
de temmperatura, niivel y presión n.
Paraa finalizar, la aplicación
n de sensoress
con microcontrol
m ladores ha llegado all
hogar.. Ahora se habla
h con mucha
m fuerzaa
de las aplicacionees en DOMÓ ÓTICA de laa
tecnología de micrros. La DOM MÓTICA no o
es máás que la informática
i aplicada all
hogar.. Automatizaación de lass actividadess Fuennte: El Autor.
diariass del hogar es lo que se busca en n
esta área
á de la teecnología. Por
P ejemplo,, Figu ra 6.- Ventaana de trabajjo del softwaare
encend der las lucees apenas obscurezca y WINNPIC800
apagarrlas apenas amanezca.
a Esto
E se haríaa
en fo orma autom mática. Enccendido dee
equipoos a distan ncia y alarm mas con su u d) Se grabba el PIC según llas
respecctivo aviso o a los organismoss espeecificacioness dadas por eel fabricante.
compeetentes en forma auto omática son n
solameente un abreeboca de tod do lo que see e) Luego sse monta eel PIC en la
puede hacer en estta área. regleeta de monttajes, se alim
menta y ya se
puedde probar el proyecto reaalizado.
7

f) Después de d hacer to odo esto see tarjeeta. Muy claaramente se ve un móduulo


pasa a realizar laa tarjeta elecctrónica con
n XBeee, este se usa para transmisión y
EAGL LE o ARES S de proteus. receepción de daatos. Lo quue se hará ccon
esoss datos que se reciben lo ejecuta el
g) Paso siguuiente es construir
c laa micrro. El micro también proocesa y ejecuuta
tarjetaa según layyado realizaado con loss lo qque sucedee entre la tarjeta y el
softwaare’s anterio
ores y procedder a montarr commputador, yaa que com mo se obserrva
los com mponentes en
e ella. existte en ella uun conector DB9 hembbra
que sirve para conectar a la tarjeta al
Obsserve que ell montaje en n hardwaree commputador de m manera seriaal RS232.
se hacce después de haber simulado ell E sta tarjetta con todos essos
prograama en PROTEUS.
P Luego, laa commponentes iráá embebida en un sistem ma,
cantid
dad de errorees que puedee haber en ell que para el casoo de la figuura 7 fue paarte
montaj
aje son mínimmas. del ccontrol de ddatos en form ma inalámbriica
de un robot. Lo que quiere decir
embbebido es quee al final de cuentas lo qque
ESULTADO
RE OS se vve es el robott, la tarjeta nno aparece ppor
ninggún lado. Así son los sistem mas
La figura
f 7 mueestra el resulltado de todaa embbebidos, son parte del eqquipo, pero no
esta teoría
t y afirm
maciones qu ue acaban dee son el equipo. U Un ejemplo m más de la viida
hacersse acerca de len nguajes dee diariia es el tecllado de las computadoras.
prograamación, microcontro oladores y El uusuario al finnal ve es ell teclado, peero
sistem
mas embebido os. denttro de él hayy un micro aasociado a uuna
tarjeeta electróniica que se rrelaciona a su
vez con las teeclas y a su vez con el
commputador parra que cada tecla haga lo
que debe haceer. Así se podrían ddar
mucchos ejempplos, taless como llas
lavaadoras, los aautomóviles,, los celulares,
iphoone, los playaystation y siga usted la
listaa porque pareece interminnable.

Fuente: Proyecto de Grado


G José Maanganiello.
C
CONCLUSIONES
Fig. 7.- Tarjeta queq irá embebida en un n
sistema
a, ya sea indusstrial, domóticco o robótico.

Com
mo se observa es una tarjeta quee A
AGRADEC
CIMIENTOS
S
posee variados co
omponentes,, entre elloss
el microcontrola
m ador progrramado en n
lenguaaje C para cumplir la función dee
contro
olar todo lo
o que suceeda en estaa
8

RE
EFERENCIA
AS

Con n respecto a la bibliografía hay y


muchaa, por no deccir infinita, en
e Internet y
libros que nos ayuudan a profu undizar en ell
estudio o de la pro
ogramación. Pero, como o
ya se dijo que el curso es para que ell
estudiaante entre al mund do de loss
prograamas de com mputadoras y comience a
tener algo de id dea para co omenzar su u
transitto con éx xito en esste camino o
inform
mático se ha pensado en n enfocarnoss
en un único libro guía
g para el curso. Y

Fig. ii.- Libro


o
recomen
ndado para ell
curso

que mejor
m que el libro produ ucido por loss
creadoores del leenguaje C, como son n
kernig
ghan y Ritcchie. De esste texto see
estudiaarán los primmeros siete (7) capítulos,,
que ess casi la totallidad del librro.

El capitulo occho (8) y último


ú trataa
sobre la interfaz del sistemaa Unix. Estee
capitu
ulo y la paalabra Unix en sí van n
dicien
ndo hacia do onde se pued
de dirigir ell
que esté
e interesaado en pro
ofundizar laa
prograamación. Esstamos habllando sí, dee
LINUX X. Ahí esttá pues la invitación,
i a
estudiaar lenguaje C.
C

También podría gustarte