Sie sind auf Seite 1von 114
MICROCONTROLADORES, Fi Y TELECOMUNICACIONES MICROCONTROLADORE: (BR eoanne LENGUAJE BASIC (BASCOM AVR) TLATITTIT TELLTALE LETT TSE Eres TULATTITIIUIas i he procramacin ave’s alae APLICACIONES FLECTRONICAS CON MICROCONTROLADORES AVR LECTRONICA ¥ TELECONURICACIONES (Ef. ZEN’ AUTOMATIZ SSADOS (EP.N QUITO, 2006- /ERSIDAD TECNICA DEL NORTE (LBARA 2008) GERERTE MICROTEL —_(MICROCONTROLADORES, — REDESY ‘TELECOMUNICACIONES) amino Vato Distr 208 AIT VUSSSSSTTTSTTTTTSGTTLCVCE CTT S STITT SSTTT AIT IGT LTT IIa yan Ese inTRopUCCIGN: Los micrncontroiadores AVR, Son las herramientas mas actuales y potentes que existen en el mercada, ademds su difusién no ha sido muy profunda, y es ast que la siguiente presentacién intents proyectar una idea muy clara acerca de les herramientas de programecién qua existen para utiizar los AVR'S. EI paquet, computacional BASCOM AVR, permite progremar toda clase de microcontroladores AVR, de manera ripida y estruciurada en alto nivel (Lenguaje Basic), con lo cual se fa ha utlizado para realizar tocios los proyectos ‘que se encuentran en este ibro, El lector podré encontrar ciferentes proyectos, que le ayudaran a facilitar el manejo y aprendizaje de los microcontroladores AVR, como el ATMEGA 48, ATMEGA 8, ATEMEGA 16, ATTINY45. Ademés podra encontrar un CD adjunto con esta presentacin en el cul se encuentran los programes y sus regpectves simulaciones, Es importante recalcar, que se ha intentado explicar el principlo. de funconamiento de cede uno de los elementos de hardware que pucden interactuar con un microcontrolador, con fa finelidad de aprender no solo ta parte de programacisn, sino que también la parte de conexién y manejo ce hardware, El agradecimiento a Dios y para todas las personas que colaboraron para la publicecién de este libro, ya sea con sus dnimos é experiencia profesional, entre las al Ing. Juan Galarza (ATR, Distribuldor y Conocedar de las AVR), al ing. Xavier Rosera (Inganiero Automotriz y desarrollador ¢e proyectos con tmicracontroladores FIC, MOTOROLA, AVR), al Ing. David Vereas (ngeniero en Sistemas, deserrollador de proyectos con bases de datos y lengueje visual), ‘aderids una dedicacién especial para mis Padres por su apoyo incondiclonal, a Gaby ya mi hermano Fer, Dedlicado a FER. zando tangas un suefio; lucha por él y'cuando més te cigan que no puedes; esfudrzate, porque estas més cerca de consequirio” Ramiro. Reamive Valencia 8 Diesenibve 2008 sii Micracontrotador AVE a Areca 13 ATHECAS.. La ATHEGAIS., 2 "BASCOM AVR 24 INICIO. oe 22 COMPILABOR snus 23 sIMuLaDo} oa 2A EMULADOR SERIAL caso 25 CONEXIONES PRINCrPALES. 26 _GRABANDO AL MICROCONT) 3, INSTRUCCIONES BASICAS DE BASCOM AVR. Seu. ws ‘crystal Song. Wait, Waits, Weitus Bo Loop. Bo= Loop Until. Toggle Dim. Alia DDRx, PORT, PINx ap. THEN; ELSE. FOR- WEY. 112 SELECT — CASE scr 3.14 SINBOLOS OPERADORES. 3.15 ESTRUCTURA DE UN PROGRAMAEN BASIC... PROYECTO 1 “ENCENDIOO ¥ APAGADO DE UN UFO". FUNCIONANTENTO DE HARDWARE E INSTRUCCIONES AVANZADAS DE BASCOM AYR sess 4.1. Displays de 7 segmentas. PROYECTO 2°CONTADOR 0-9 EN DISPLAY DET SEGMENTOS A.C 4.2 Taclado Matricial axa PROYECTO 3 °TECLADO 0-9 CON VISUALIAAGION EN DISPLAY DE 7 SEGHEANTOS ALC sunsninn . oe 43” PROYECTO 4° CONTADOR SECRECIENTS PROGRAMABLE MODULO 99°. ‘4d Matiz de Leds 725. PROYECTO 5 VISUALIZACION DE LETRAS EW NATRIZ De LEDS" 45 LOD (Display de Cristal Liquido) ‘454 Config Led, im 45.2 Contig ledpin. . 453. Config ledbus, 454° Led" 255 Locate xy ~ 456 shifdled, “ PROYECTO 6 VISUALIZAGOR DE NUMEROS 0-15 BN LCD nn 2.6 Comunicacién ceria! con ef PC... ‘4.6 Cable Null ~ MODEM. 35.2 Shout Rainire Vatoscs seein "5 _Inverrupeion del Pévlice Serial 466 _ Contuaicacisn par hardware... PROYECTO 7 “150 ne PRINT = INET PROYECTO 8 "INTERRUPCION bel, FORTICN SEAIAL” 3.2 _Seiisares tnfrarvojos, Opto ~ Swhe, Sensnras de oa PROYECTO 9 “CONTADOR DC Q’I=TOS MEDLANTE SERSORS lti-KAROWS moouts 100)”, - 4.0 Motores a Faces y Servo Hatorct.. ‘LBL Motores a Pasos ef PROYECTO 10 "CONTROL DE PARGUED CON MUTaR A bAGdEN 48.2 Serva Motores PROYECTO 11 “PRORADOR CE SEAUCHOTORES Ke $9 HlectrOnica de Potenc’a.. 440 RTC (Res Time Clock).n. 440.1 "Config Date = May , Separator = / 440.2 Config Clack = Soft... B02 Dab Bann 4104 “Times. 4195 — Enable Inierrupe. : PROYECTO 12 *RELO) COnmGURABLE EW Led dans” ‘nu Meno Sera EEPROM... aaa ERam $422 Rendesprom. 4.123 Writeeenrom a PROYECTO £8 “CoVTAnOR COW WEMONIA EEMROM 42 Bluetooth ii 4421 500 (Sincrono Grientade a in Conexién) 442.2 ACL (Asineron Sin Conexion)... se 4423 Médulo Bluetooth "KC-21°" 4.424 Comandos AT. PROYECTO 44 “COMUATCACLON SERIAL FAN Me tale Recon SoA dent ain por adi raven) 4131 Codigo WIEGAND... 4.13.2 2cémo funciona Ia RFIG? 4.14 Comunicacién 126. 4i44.1Contig Se 4.24.2Config Sc... PRE ag PUN AUNTIE SEP ay 415 CONVERSORES ADC......, a5 Config ade. 4.152 Getadc( PROYECTO 16 “CONTROL OF CaL:Dht De alse" PROYECTO 2? “CONTROL OE TEMPERATURA CON EL LAGE" 4.16 "GLCD (LCD GRAFICO}.... : PROYECTO 28 “yisuAlizAclon EN rich stad" 4.17 _ Sensor ce Ulerasonid. BATA Paigoout un 4372 Paleein 4173 bitwatt, : PROYECTO 'NEDIDOR GE DISTINCAS”. Frenette AVR 6 BAB DTME nnn 4484 binfout PROYEGTO 20 *MARCADG! DE TE SROND Calais 418 Interrupcionas externas ioe 439.1 Onin, 4192 Enable Intervupts 4393 Enable Into PROYECTO 28 *CO¥TAOOR DE PULSOS) 4.20 | Mensajeria de Texto {Méduio GSM) 420.2, Comandos AT. 4.20.2 Comando3 para transmision de S¥S.. ‘Comandes para recepcion de SMS. 4203 PROYECTO 22 ‘COTRGLADOR DE FOCD REMDTO™ 4.24 Emulacion Pustto USB-RE22 ven PROYECTO FINAL "CERPADURA ELECTRONICH Diciembre 2098 P items pregponsnenin AVL 4, Hicrocontiotador AVR Dara We les mbklsies familias de wricroconteotsteresy Ios AVR'S san las mas actiales, cerlentes y versétles del mercado, venten iichas ventajas e relzciba_ a [9 micracantmiaane=s cannes come kg MCS51-82, Microchip 1! otras, ya que oSeeN herrarentas iaentiay sue Fecitan tents el oftware camo el hardware Five ls fiewremiontes que poseen estén: fa cormumicectin © manejo ce interfacce SPL, 12C, UART, USB, IWIRE, 2WVIRE. Ademae estan Intagraccs enn conersores anéloges digialee, RTC (ol interno en tiempo real, sarin kt inveme, merseria na volatl EEPROM interna, entre otro. Dentro ce ete presentzcién se trataré princpalmerte les rierocentroladores IIMEGAS, ATMEGAS y ATMEGMG, los cuales o¢ ullluarén cependiendo de In ‘liacion due se pueda realizar. 2A ATMEGASS Bantre de tas saracteristicss de los riferacontre!adores gus. usareios, <2 Siemere primordial que sepemus por fo mcs [a dlsbibucion d= wines ¥ les ‘eresicnes principales para su covecto funclnamiento. waretastoct tee ireamrrera Fo wenrursa rot rposanire Poa 2 lam ancannanony 0 iapaancorcia Kepler ancorenray 2:firencannore nim wert fata. age pane peices mogen Pa mpuice (eenciormaosca rt teiers cKO?) ‘pena rocib 1 POS fofares prearenia an soeesne FOE ars funcoeaN row) FLATMEGAGY posce préclicemente 4 puettas (3, Ser ueados Inependicrtemante coin entratag 0 saldas de d. Fl puesto B guste princinaiments los plwis SCK, MISO 7 MOSE que sirven pare prcqramar # microcontialodor. et Paton 1 fe programaciin AVR's oe El puerto C posee 6 entradas para conversores Andlogos Digitales de 10 bits. Y en ef puerto D se encuentra principalmente los pines de RX y TX para fa comunicacin serial UART. ‘5 disposiciin es pareciéa a la dol ATMEGA, fo Gnico en lo que se diferencian sla cantidad de memoria de programa que poseen, ya que el ATMEGASE tiene “kbytes y ol ATMEGAB posee 8kbyts. | continuacién se muestra las caractersticas mas importantes cel rmierocontrolador ATMEGA48. = 32 reglstros de propésko general ‘4KBytes de Memoria de Programa 256 Bytes en memoria no volstil EEPROM 512 Bytes en memoria interna SRAM 6 Canales PWM 6 Canales ADC de 10 bits CComunicacibn USART (Osalador interno RC de 128KHH2 y BMHZ. RIC interno con cristal de 32768 He Voltsje de operacién de 2,7V 2 5,5V 1.2 ATMEGAS I ATMEGAS es simiar aI ATMEGA4S, principalmente en su distribucién 40 pines, y se diferencian en las caractersticas interna de fos misrn03. bresvocssca curous—ureaonsson Perens sees noon Gerorced]s — sprcemnca Simro: beBroiqeen ocrrapocs pron anosoere ‘rieosqn iovreed 2 A continua IRTMEGAB: Ramiro Valencia B. B= programaciin AVR's = 32 resistros de propésito general = BkByias de Memoria de Programa 512 Bytes en memoria no votstl EEPROM = IkBytes en memoria interna SRAM + 6 Canales PWM 6 Canales ADC de 10 bits = Comunicactin USART Osclader interno RC de 1MHe, 2Miz, fit y MHz BRC interno con cristal de 32768 Hz = Voltaje de operaciin de 2,7V a 5,5V 1.3 ATMEGAI6 El microcontrolador ATMEGALG, se puede decir que es el inicio de un rricrocontrolador completo, ya que pose més puertos de entrada y salida de datas; 10 que proporcione mas funcionalidades pera la elaboracién de cualquier proyecto a outa; po 1S 40 Brea ane Pat Bra woes eran) Pa 3. Bre aoco (Saunas 2 Bs goe rads sepa aewucy Ss) pases me foc ee ror far poh Raat d § a xd 1 Fer osc nef eo no8e" moron ee aad & 708 Oh ar Poa] a ae {ta Pos 1S B ree to ecw eo ts 23 B pot oA) {eeu nbs G13 en fon rose]2e 31 B por aca, Figura 3. Diagram de pines cet ATHEGAISK : EI ATMEGALG posee 4 puertos (A, B, C, D) que pueden ser usados independientemente como entradas 0 Salita El puerto A posee fs can jes de conversin And loga a Digital verto B tiene como pines relevantes, a los de programeciin del fr, camo: SCK, MISO y MOSK. =" Programacion AVR's En ef puerto C presenta caractersticas primordiales para comunicacién 12C, con los pines SDA, SCL, Y en el puerto D se encuentran pines de Transmisién y Recepclén de datos seriales. A contiquacién se muestra las caractersticas més importantes del Imicrocontrolador ATMEGAL6, ~ 32 registros de propdsita general = 16KBytes de Memoria de Programa 512 Bytes en memoria no vostil EEPROM = KBytes en memoria interna SRAM + 4 Canales PWM + 8 Canales ADC de 10 bits = Comunicackin USART ~ Ostilador intemo RC de tie, 22, dt y BMH RIC intemo con cristal de 32768 Hz = Voltafe de operaciin de 2,7V a 5,5V Dentro de! “mercado de micfocontroladores, el ATEMGAI6 est slenda reamplazado por el ATMEGAL64P, pero las diferencias son minimas @ inter: ebido a a presencia de registros de contrat mucho mas avanzados. ‘A pesar de que el fenguaje exacto y nativo de los microcontroladores es Jenguaje ensamblador, este curso trata de dar una visién més simple de Dpragramacién de microcontroladores mediante programaciin estructurada Ce ‘ato nivel como Basic, mediante le herramienta BASCOM AVR, Romira Vale 2. BASCOM AVR La herremienta BASCOM AVR desartoliada por la empresa MCS Electronics, sinve para realizar programas en alto nivel para mcrocontraladores AV, el cual posee un compllador yun ensamblador que traduce tos instrucciones festructuradas en leguuje de maquina. as i) Figura 4. Diag de Bloque de programaiin estructura Luego de instalar el paquete computacional, el cual se puede consaguir como DEMO en ja pagina princlaal de MCS Electronics, podemes apreciar Ia siquiente pantalla nical Bejaaiely ules 9] sigelane| Figura 5, Ambiente del BASCOM AVL Dentro de ais podemos ver claramente una farra de herramientas, um ff dea de trabajo, A contirwacion se explicaré os cones 0 atojos importantes para menejar la herramienta BASCOM AVR, Mil progrumaciin AVR's 2.4 INICIO [EXEEES) Presionando NEW, nosotros podemes abrir un archivo en blanco [G85 92a empezar a trabajr en suestro proyecto. 22 COMPILADOR FE eran «toro de tara de nara oF, mie “| podemos complar nuestro proyecto y obtener un archivo .HEX, el cual V2.2 ser grabado en el microcontrolador. Una vex que se ha compliado el proyecto puede aparecer el sigulente cuadra de canfirmacié, Figura 6, Cuacro de Corpiacion da un programa en BASCOM AVR En ef cual se puede comprobar el porcentaje de memoria utlizada en ol rmicrocontrolador. 2.3 SIMULADOR Una vez que se compila un proyecto, se puede simular con ayuda de BASCOM SIM, fo cual se realiza presionando el icona de simulacion ce [a barra de herramientas 0 F2. Una vez que se presiona el simulador, aparece una pantalla donde se puede apreciar el programa principal, espacios de memoria, emuladores de ‘comunicacién serial, emuladores de LCD, etc. ‘Fgura Cuodro de Sinan en GASCOM AVR Ramiro Valencia B. Es preferbie al momento de usar este simulador, que se vaya realizando proceso paso 2 paco mediante FB, con fo cual observaremos una flecha azul en la parte izqulerda de programa, que nos indicaré el avance de le simulacon, 2.4 EMULADOR SERIAL [HF con este icono se puede hacer uso de un emulador de comunicaciin = serial, entre el microcontrolador y un PC, en el cual padremos cbservar fa siguiente Aura, que emula un Terminal no inteigente, e cual recibe 0 transmite caracteras. igure 6 Emuibdor de Conunicacon Sos) 2.5 CONEXIONES PRINCIPALES Dentro de las conexiones principales de un microcontroiador estén: ol programador, el oscilador, Ia alimentacién y el reset. Para lo cual se recomienda tomar en cuenta fos siguientes aspectos al momento de armar un circuit, jinx PRocmanADeR 2.6 GRABANDO AL MICROCONTROLADOR, Una vez que obtenemos nuestro archivo hexadecimal ".HEX", procedemos a —_Escoger el valor interno para el osctador Deshabiltar WatchDog ATMEGAL6 > Escoger el valor Interno para el oscitador Deshabiitar JTAG para hebillar el Pus Luego de habilitar fos fuse bits, se los puede graber con el botdn WRE espacio "lock value”. = ar fri Una ver grabado correctamente lus Fuse Bits, saldré un mensafe de “Lock Bits written Sucesflly" Luego para poder cargar el archivo .HEX al microcontralador, se pret FLASH y se busca la direccidn dal archiva a ser grabado, cond) Una vex que se ha cargado el archivo, se presiona AUTO y 2e espera que se termine el praceso de grabecién aie Es recomendable, que cuande tenemos un AVR nuevo, se grate en nivel bajo “LOW", definido por el movimiento de un “jummper” centro del gratador pregispt67, Adlemés es importante tener en cuenta el error mis vsual que ee susle dor en el proceso de grabacién, ya que si conectamos aigin pin de diferente marere 6 ‘no almentamos blen e! circuit, saldré un mensaje de CHIP ENABLE ERROR, el cual nos indica que no se detecta ning mictocontroleder 6 el micrecontroladar esté datiado,

Das könnte Ihnen auch gefallen