MICROCONTROLADORES AVR ATMEGA8/16 AT89C51 PIC16F877A PIC 18F2550 PROGRAMACION PROGRAMACION EN BASIC PROGRAMACION EN SYSTEM 1. Int Int!"# !"#$$ $$%& %&n n 2. A'#%t($t#) 3. S!*t+)( "( ,!-))$%&n BASCOM AVR 4. S!*t+)( "( %#)$%&n ('#(t%$! PCB3PROTE4S 5. T() )n(! "( (nt)") )%")3,#)"!( (" #(. "%,): "( %(t( (-(nt!3$)) t#n! "%,): )t%$%) 8;83(n)(!1 t(,!%)"! ,!-))( $)$#)"!) )%$) "%,):
(! )n)&-%$! ) "%-%t) : ( $%$#%t! %nt(-)"! LM?5 "( N)t%!n) S(%$!n"#$t! >!t@(t! "%-%t)3)"$ %nt(n! >!t@(t! "%-%t)3)"$08?1 t(&(t! "%-%t)3"1820 ("%"! "( t(,()t#) #(")" ()t%>)3S! ISD2560 -(n()"! "( )#"%! +)> • •
• • •
• • •
•
• • • •
• •
• • •
• • •
• • • • • • • • • •
•
• •
• •
• •
• • • •
• • •
•
-(n()"! "( *#n$%!n( $!nt! >@) t((*&n%$) (n! #t)!n%$! $" -)*%$!3t))"! "( $#>) $" -)*%$! N!%) ?1?0 $" -)*%$! $!! N!%) 6100 ,!t!$!! MODB4S MMC3(!: #t%("%) $)" 4SB 3#n%>() (%) # TCP/IP GSM
1. %nt!"#$$%&n Los microcontroladores se han ido introduciendo en nuestro medio por el avance tecnológico que el país ha alcanzado en los últimos años. Con lo cual me siento agradecido por el interés de ustedes sobre el tema el cual voy a tratar de ser lo más eplicito posible. !n comentario adicional es la siguiente "rase que recuerdo y que un día me hizo pensar de otra manera respecto al conocimiento. #no es mas sabio el que tiene mayor conocimiento$ sino que hace con el conocimiento%
2. %nt!"#$$%&n ) ! %$!$!nt!)"!( Los microcontroladores son dispositivos integrados en un solo chip de entradas salidas las cuales pueden ser programadas según la necesidad.
L) )'#%t($t#) "( #n %$!$!nt!)"! n!)(nt( ( ) %-#%(nt( • • • • •
#n%")" $(nt) "( ,!$(! (!%) RAM "( ")t! >!t% (!%) EEPROM "( ")t! n! >!t% (!%) FLAS< "( ,!-)) (nt)")/)%")
• • • • • • • • • •
,#(t! (%) $!n>(!( )n)&-%$! "%-%t) $!n>(!( "%-%t) )n)&-%$! t(,!%)"!( PM !"#)$%&n "( )n$! "( ,#! RTC (! (n t%(,! () SPI I2C 4SB Y !t! )n()"!( "( ,(%*%$!
&isten dos tipos de artiquitecturas' arquitectura harvard con tecnología ()*C +reducción de instrucciones, y la arquitectura -onn eumann con tecnología C)*C +instrucciones comple/as,. La tecnología ()*C se basa en la arquitectura 0arvard$ la cual el dato mas la instrucción ingresan en "orma paralela al bus de datos. !tilizada en los computadores 12C. La tecnología C)*C se basa en la arquitectura -on eumann$ la cual envía el dato luego la instrucción e ingresan al bus de datos en "orma serial. !tilizados en los computadores 3C. Con lo cual se saca una conclusión importante$ que los microcontroladores con arquitectura 0arvard serán los más utilizados de hoy en adelante por ser más rápidos en procesar la in"ormación. 2lgo en particular es que los primeros microcontroladores con memoria "lash son los 2-( de 241&L.
C))$t(@t%$) "( )-#n! %$!$!nt!)"!( #t%%)"! (n n#(t! ("%!. AT89S51 I/O ?2 FLAS< RAM 128 BYTE EEPROM ND PM ND ADC ND TIMER 8BITS ND TIMER 16BITS 2 PRESCALER ND IN CIRC4IT SI 4ART 1 SPI 1 I2C ND CM F/12 1 1
PIC16F877 ?? 8 ?68 BYTE 256 BYTE 2 10BITS 2 1 SI SI 1 1 1 F/
ATMEGA16 ?2 16 1 BYTE 512 BYTE 10 BITS 2 1 SI SI 1 1 1 F ?
5 podríamos innumerar más características para poder decidir el uso del microcontrolador que se adecue a nuestro proyecto.
BASCOM AVR *o"t6are desarrollado por la empresa 1C* para programar los microcontroladores 2-( de la empresa 241&L. Los cuales son de tecnología ()*C. &l programa 72*C81 2-( tiene el ob/etivo de realizar sus proyectos de microcontroladores en un menor tiempo posible con lo cual utiliza la herramienta 7asic por su "ácil entendimiento y aplicación.
F!) "( "(*%n% #n) >)%)( D% A ) %t B:t( !" L!nInt(-( S%n-( St%nA): D!#(
0)1 0 ) 255 9:; 0 ) 655?5 9:<= =2178?68 ) 2178?67 3 9:>9,?9 =?2768 ) ?2767 39:<=,?9 1.5 ; 10H5 ) ?. ; 10H?8 C)"(n) "( $))$t(( );%! 25 )t% 655?5 5.0 ; 10H?2 ) 1.7 ; 10H?08
O,()"!( )t(t%$! *uma' a@bAc (esta' a@bBc 1ultiplicación' a@bc División' E @ a F b ' residuo @ a 18D b
O,()"!( "( ()$%&n @ GH G H G@ H@
igual E no es igual E menor que E mayor que E menor igual mayor igual
@5 GH 5 G5 H5 E G@ 5 E H@ 5
O,()"!( &-%$! 84 2D 8( E8(
complemento lógico Con/unción Disyunción or eclusive
F#n$%!n( B)%$.
D! LOOP Do Iinicio del lazo instrucciones Loop Iregreso al inicio del salto
DO LOOP=4NTIL Do 2@aA< Loop until a@9 ICuando a@9 entonces sale del lazo
FOR NEJT Jor a@inicio to "in step pasos instrucciones et a
SELECT CASE *elect case variable Case <'instruccion Case 9'instruccion Case n'instruccion &nd select
AIT tiempo en segundos AITMS tiempo en milisegundos AIT4S tiempo en microsegundos SET RESET
poner un < al pin poner un al pin
Las demas instrucciones las eplicaremos con los siguientes programas.
C!n*%-#)$%&n "( $%t) $:t)K1000000 3(n (t C!n*%-#)$%&n "( ,#(t! (%) )#"K200 C!n*%-#)$%&n "( ! ,%n( Los pines del microcontrolador avr tienen > registros los cuales son' (egistro ddr$ port$ pin. &l registro ddr nos con"igura al pin como entrada salida$ port es el registro de salida y pin es el registro de entra.
Ddrb.@ entrada alta impedancia 3ortb.@
Ddrb.@ entrada pull up 3ortb.@< Ddrb.@< salida a cero 9 m2 3ortb.@ Ddrb.@< salida a uno 9 m2 3ortb.@<
4SO DEL LCD 16;2 3rimeramente abrimos el 72*C81 2-( y entramos en option$ compiler$ lcd como se muestra en la "igura <
3ara poder de"inir el lcd y los pines a ser conectados en el hard6are como se muestra en la "igura 9
E(,! ,)) )n() #n LCD 16;2 Mde"ino la velocidad del cristal Ncrystal@< Mde"ino la variable 2 Dim 2 as byte Mborrar pantalla Cls Mapago el cursor Cursor o"" Minicio lazo in"inito Do Mposición "ila <$ columna < Locate <$< Mescribo en el lcd Lcd #/uan galarza 9=% Mposicion "ila 9$ columna < Locate 9$< Lcd #apm atmel% &spero 9 segundos
Kait 9 Menciende el cursor Cursor on Kait 9 Mtilila cursor Cursor blinO Kait 9 Mde/a de titilar cursor Cursor noblinO Kait 9 Mapago el cursor Cursor o"" Mhago un lazo "inito de < a <= Jor 2@< to <= Mdesplazo una localidad al lcd hacia la derecha *hi"tlcd right$< Kait < et Jor a@< to <= Mdesplazo una localidad al lcd hacia la izquierda *hi"tlcd le"t$< et Loop
3ara generar un carácter que no eista en el ascci del LCD se procede de la siguiente manera. )ngresamos a tools$ lcd designer y generamos el símbolo que deseamos$ como se muestra en la "igura >
5 ponemos uno o ceros para dar la "orma como se indica en la "igura P
Con lo cual se genera el código de"lcdchar$ para visualizar en el LCD utilizamos la instrucción' Locate <$
CONFIGIG4RACION DE LOS ADC310 %t 0 = 102? !tilizamos la siguiente con"iguración' *iempre y cuando el microcontrolador tenga conversores. Nreg"ile @ Rm;de".datR Ncrystal @ < Con"ig 2dc @*ingle$3rescaler@2uto$re"erence@internal?eternal *tart 2dc Minicio de conversion de los 2DC Dim analogico 2s Kord$ canal 2s 7yte Channel @ Do 2nalógico@ Setadc+channel, Locate <$< Lcd RCanal R T Canal T R valor R T analogicoT% % )ncr Canal )" Canal H U 4hen Canal @ Kait 9 Loop &nd V)4&(2L ' volta/e de re"erencia interno es 9.Q= -
M&E4&(2L' volta/e que se encuentra en el pin -(&J de a Q-.
COM4NICACIN RS2?2 La "unción de envío es print$ y la de recepción es inOey$ input.
BARRIDO DE TECLADO !tilizando un teclado matricial$ que consiste en pulsadores unidos en "orma horizontal y vertical como se muestra en la siguiente "igura.
3ara la lectura se procede de la siguiente manera' de"inimos el puerto por e/emplo el portb de "orma que los primeros P bits sean salidas a < y los otro P bits más signi"icativos sean entradas pull up. DD(7@W7<<<< 38(47@W7<<<<<<<< Luego designamos sobrenombres a los pines' E< alias portb. E9 alias portb.< E> alias portb.9 EP alias portb.> 5< alias pinb.P 59 alias pinb.Q 5> alias pinb.= 5P alias pinb.U 3or ultimo barremos las "ilas para leer las columnas' Dim tecla as byte do
4ecla@<= (eset E< )" 5< @ then )" 59 @ then )" 5> @ then )" 5P @ then *et E<
tecla tecla tecla tecla
@ @ @ @
< 9 >
(eset E9 )" 5< @ )" 59 @ )" 5> @ )" 5P @ *et E9
then then then then
tecla tecla tecla tecla
@ @ @ @
P Q = U
(eset E> )" 5< @ )" 59 @ )" 5> @ )" 5P @ *et E>
then then then then
tecla tecla tecla tecla
@ @ @ @
; X < <<
(eset EP )" 5< @ )" 59 @ )" 5> @ )" 5P @ *et EP
then then then then
tecla tecla tecla tecla
@ @ @ @
<9 <>
!tilizamos un eliminador de rebotes por so"t6are' )" teclaG<= then 6aitms 9 Locate <$< Lcd teclaT%
%
loop &nd M"in de programa
PROTE4S &s un programa desarrollado para realizar esquemáticos$ simulación$ y pcb.
MANEO DE ENTRADAS PARLANTES B4ER
SALIDAS3P4LSADORES
B%n.) Ncrystal @ <
Vcristal a ser ultilizado
Ddrb.9 @ < 3ortb.9 @
Vactivo 3ortb.9 como salida a
led 2lias 3ortb.9
Vsobrenombre del 3ortb.9
Do *et Led Kait < (eset Led Kait <
Vpone < al pin led Vespera de < segundo Vpone al pin led Vespera de < segundo
LEDS
Loop
L("+.)
Los códigos "uentes y diagrama circuital se encuentran en "ormato .bas y .dsn respectivamente ad/unto en el cd. 1ayor in"ormación no dude en enviarme al email. Sracias por su acogida sus sugerencias serán bien recibidas.
ALL POER MICROCONTROLLER #)n G))) (*( "( "%(! E)% #)n-86Q!t)%.$!