Documente Academic
Documente Profesional
Documente Cultură
CursodeprogramacindePICenPICBasicPro
Temassimilares
Aquiestaeldiagramadelosproyectosquemanejaremosconlcdeselmismodelosanteriores(
mensajeydesplazamiento)enformatodibujo,archivocomprimidosiporelcasocambiaremosalpic
16f877Aperolaconfiguracionsegurasiendolamisma
pinespicpinesLCD2x16
RB0D4
RB1D5
RB2D6
RB3D7
RB4RS
RB5E
RWatierra
estoysonlospinesqueaparecenenproteusalseleccionarelpicyelLCD2x16setienequerealizarla
conexionantesdescrita.
ArchivosAdjuntos
perdonaranlaortografiaperovamosconunproyectointeresantevisualizaciondecaracteresespeciales
enLCD2X16,paraelloaclaremoslosiguiente:
UndispositivoLCDdisponededostiposdememoriasambasindependientes.Estasmemoriasse
denominanDDRAMyCGRAM.
DDRAM(DisplayDataRam)
Eslamemoriaencargadadealmacenarloscaracteresdelapantallaqueseestenvisualizandoenese
momento,obien,queestenenunaposicinnovisible.Eldisplaytieneunacapacidadde2lineas
horizontalespor40caracterescadauna,deloscualessoloseranvisibles2lineasde16caracteres
cadauna.LaDDRAMtieneuntamaode2x40=80bytes.
http://www.forosdeelectronica.com/f24/cursoprogramacionpicpicbasicpro20658/index2.html 1/53
10/6/2017 CursodeprogramacindePICenPICBasicPro
CGRAM(carctergeneratorRAM)
LaCGRAMcontieneloscaracteresquepuedenserdefinidosporelusuario,esdecirquepuedenser
personalizados.Estformadapor64posiciones,condirecciones$00$3F.Cadaposicinesde5bits.
Lamemoriaestadivididaen8bloquesquecorrespondenalosposiblescaracterescreadosporel
usuarioquevandel0al7.
Cadacarcterestaconstituidoporunamatrizde5columnaspor8filas.Deestemodoun1indicaun
puntodelamatrizencendido,yun0apagado.
Programageneraciondecaracterespicbasicproutilizandounpic16f877AunLCD2x16con
comunicaciona4bits:
Cdigo:
@devicext_osc;osciladorexternoXT
defineosc4;especificaquesevaautilizarunode4Mhz
'DEFINICINDEREGISTROSPARAELLCD
DefineLCD_DREGPORTB'Utilizar4bitsdelpuertoBparatxdedatos
DefineLCD_DBIT4'DesdeelBitB.4alBitB.7
DefineLCD_RSREGPORTB'Seleccindelpuertodelregistro
DefineLCD_RSBIT3'EnelbitB.1
DefineLCD_EREGPORTB'UtilizarelenableenelpuertoB
DefineLCD_EBIT2'EnelbitB.2
'EstablecerelpuertoBcomosalida
TRISB=0
Mvarbyte;creaciondevariable
Pause500'tiempoparainicializarLCD
RUTINA:
LCDOUT$FE,64'COMIENZADEFINICION
LCDOUT$0,$E,$A,$1F,$1B,$1F,$1F,$0'3candadocerrado
LCDOUT$0,$E,$8,$1F,$1B,$1F,$1F,$0'4CANDAdOABIERTO
LCDOUT$E,$A,$4,$1F,$4,$E,$A,$0'5MONITO
LCDOUT$A,$A,$0,$4,$11,$E,$0,$0'6carafeliz
http://www.forosdeelectronica.com/f24/cursoprogramacionpicpicbasicpro20658/index2.html 2/53
10/6/2017 CursodeprogramacindePICenPICBasicPro
LCDOUT$A,$A,$0,$4,$11,$E,$6,$0'7caralengua
LCDOut$FE,1'LIMPIAELDISPLAY
LCDOUT$FE,$84,"CARACTERES";mensajeenlaprimeralineaLCD
LCDOUT$FE,$C0 ;caracterespersonalizadossegundalineaLCD2X16
;lassiguienteslineasdelprogramasirvenparavisualizarenlasegundalineadel
LCD2X16loscaracteresespeciales
FORM=0TO4
LCDOUTM
PAUSE300
NEXTM
PAUSE1500
LCDOut$FE,1'LIMPIAELDISPLAY
LCDOUT$FE,$81,"PERSONALIZADOS";mensajelaprimeralineaLCD2X16
LCDOUT$FE,64'COMIENZADEFINICION
LCDOUT$1F,$11,$A,$4,$A,$11,$1F,$0'2RELOJARENA
LCDOUT$11,$1F,$1F,$15,$1F,$1B,$E,$0'3DIABLO
LCDOUT$E,$1F,$15,$1F,$1F,$E,$E,$0'4CALAVERA
LCDOUT$4,$2,$4,$0,$1F,$11,$E,$0'5TAZA
LCDOUT$0,$E,$11,$1F,$4,$14,$8,$0'sombrilla
;lassiguienteslineasdelprogramasirvenparavisualizarenlasegundalineadel
LCD2X16loscaracteresespeciales
LCDOUT$FE,$C0
FORM=0TO4
LCDOUTM
PAUSE300
NEXTM
PAUSE1500
LCDOUT$FE,1'LIMPIAELDISPLAY
GOTORUTINA
http://www.forosdeelectronica.com/f24/cursoprogramacionpicpicbasicpro20658/index2.html 3/53
10/6/2017 CursodeprogramacindePICenPICBasicPro
Porultimoanexosimulacionenproteus7.4,codigofuente,.hex.lacarpetaestaenformatocomprimido
ArchivosAdjuntos
Quetalsiguiendoconlosproyectosdelcdunfrecuenciometroconelpic16f84A,ldc2x16yun
generadordesealescuadradasubicadoporelpuertoA2,endondesecaptalospulsosysevisualizan
elLCDconalarmasdeactivacioncondicionalesubicadasenelpuertA0,1respectivamente,sinmasel
codigofuente:
Cdigo:
@devicext_osc;osciladorexternoXT
defineosc4;especificaquesevaautilizarunode4Mhz
'DEFINICINDEREGISTROSPARAELLCD
DefineLCD_DREGPORTB'Utilizar4bitsdelpuertoBparatxdedatos
DefineLCD_DBIT0'DesdeelBitB.4alBitB.7
DefineLCD_RSREGPORTB'Seleccindelpuertodelregistro
DefineLCD_RSBIT4'EnelbitB.1
DefineLCD_EREGPORTB'UtilizarelenableenelpuertoB
DefineLCD_EBIT5'EnelbitB.2
'EstablecerelpuertoBcomosalida
TRISB=0
;configuraciondepinesdelPIc16f84A
Alarma0varporta.0
Alarma1varporta.1
;definiciondevariables
pulsosvarword;variableconcapacidadde65535
loop:
countporta.2,1000,pulsos;CONTARLOSPULSOSPORELPUERTOA2
lcdout$fe,1;LIMPIAlcd
lcdout$fe,$82,"fecuencia:";ENVIARMENSAJEALLCD
lcdout$fe,$c5,decpulsos,"hz";MOSTRARPULSOSENLCDSEGUNDALINEA
http://www.forosdeelectronica.com/f24/cursoprogramacionpicpicbasicpro20658/index2.html 4/53
10/6/2017 CursodeprogramacindePICenPICBasicPro
;condicionalesparaalarmas
ifpulsos>750thenEMER1;SIPULSOSEXCEDE750IRAEMER1
ifpulsos<320thenEMER2;SIPULSOSDECIENDE320IRAEMER2
LOWALARMA0:LOWALARMA1
GOTOLOOP
EMER1:;RUTINAEMER1
HIGHALARMA0
LOWALARMA1
GOTOLOOP
EMER2:
;RUNITAEMER2
LOWALARMA0
HIGHALARMA1
GOTOLOOP
ArchivosAdjuntos
frecuencimetro_135.zip(31,9KB(Kilobytes),895visitas)
ldc_frecuen_127.zip(30,7KB(Kilobytes),812visitas)Robotseguidordeluzconpbp
Buenoamigosquierocompartirconustedeseldesarrollodeunrobotseguidordeluzbajola
programacionenpicbasicpro,utiliceunpic16f84a,driverl293b,fotoceldasycomoestructuradelrobot
uncarroviejoderfquetenia,adaptandoenunpequeoprotoboardelcircutoparacontrolarlosdos
motoresquecomponenelcarrito.Nocoloquelostestigos(leds)porelespacioenlaprotopara
controlarelmotor1utiliceelcomandoPWM.
Esteesdodigofuente:
Cdigo:
@devicext_osc;osciladorexternoXT
defineosc4;especificaquesevaautilizarunode4Mhz
;ROBOTSEGUIDORDELUZ
b0varbyte;VARIABLEPARAGUARDARELVALORDELDR1
http://www.forosdeelectronica.com/f24/cursoprogramacionpicpicbasicpro20658/index2.html 5/53
10/6/2017 CursodeprogramacindePICenPICBasicPro
b1varbyte;VARIABLEPARAGUARDARVALORDELDR2
b2varbyte;VARIABLEDECOMPARACIONDELDR1YLDR2
p2varportb.0;SALIDAMOTOR1
p3varportb.1;SALIDAMOTOR2
p4varportb.2;SALIAMOTOR2
EN1varportb.3;habilitadorinversorgiroMOTOR2
EN2VARPORTB.4;HABILITADORMOTORUNO
LED1VARPORTA.0
LED2VARPORTA.1
LED3VARPORTA.2
start:;INICIO
potportb.5,255,b0;LEELDR1YGUARDAVALORENBO
potportb.6,255,b1;LEELDR2YGUARDAVALORENB1
Ifb0=b1thenstraight;SIBO=B1ENTONCERIRALARUTINASTRAIGHT
ifb0>b1thenleft;SIBOESMAYORAB1IRAIZQUIERDA
ifb1>b0thenright;SIB1ESMAYORQUEBOENTONCESIRADERECHA
straight:;RUTINACOMIENZO
pwmEN2,125,30:HIGHp2
LOWEN1:lowp3:lowp4;HABILITAMOTOR1
highled1
gotostart;IRAINICIO
left:;RUTINAIZQUIERDA
b2=b0b1;RESTEELVALORDEBOYB1YGUARDELOENLA
;VARIABLEB2
ifb2>15thenleft1;SIB2ESMAYORQUE15ENTONCESIRARUTINA
;IZQUIERDA1
gotostraight;IRAINICIO
left1:;RUTINAIZQUIERDA1
pwmEN2,125,30:HIGHp2
HIGHEN1:LOWP3:highp4;ACTIVASALIDAP3YDESACTIVASALIDAP4
HIGHLED2;ENCIENDETESTIGO
gotostart;IRAINICIO
right:;RUTINADERECHA
b2=b1b0;RESTEELVALORDEB1CONB0YGUARDEEL
;VALORENB2
http://www.forosdeelectronica.com/f24/cursoprogramacionpicpicbasicpro20658/index2.html 6/53
10/6/2017 CursodeprogramacindePICenPICBasicPro
ifb2>15thenright1;SIB2ESMAYORQUE15ENTONCESIRARUTINA
;DERECHA1
gotostraight;IRAINICIO
right1:;RUTINADERECHA1
pwmEN2,125,30:highp2
HIGHEN1:HIGHP3:lowp4;ACTIVASALIDAP4YDESACTIVASALIDAP3
HIGHLED3;ENCIENDETESTIGO
gotostart;IRAINICIO
end;FINDEPROGRAMA
ArchivosAdjuntos
Amigosvamosconunproyectointeresantecontroldeaccesosonclaveutilizandountecladomatrixal
de4x4,pic16f84aytestigosdeoperatividad,alingresarloscuatrodigitoscorrectamenteseenergizaun
reledurantetressegundosubicadoenelpindoordelpic,silaclaveesincorrectaseemitetres
activacionesenbipyledubicadosenelpuertoA0yA1respectivamente,laactivaciondecadateclava
acompaadodelavisualizaciondelledubicadoenpin18delpic16f84a.
codigofuenteenpicbasicpro
Cdigo:
@devicext_osc;osciladorexternoXT
defineosc4;especificaquesevaautilizarunode4Mhz
;creaciondevariables
teclavarbyte;dondeseguaradateclapulsada
repitvarbyte;parahacerrepeticiones
;configuraciondepinesdelpic16f84a
bipvarporta.0;dondeseconectalachicharra
ledvarporta.1;dondeseconectaelled
doorvarporta.2;dondeseconectareleparalapuerta
avarportb.0;pinesdelasfilas
bvarportb.1
cvarportb.2
dvarportb.3
http://www.forosdeelectronica.com/f24/cursoprogramacionpicpicbasicpro20658/index2.html 7/53
10/6/2017 CursodeprogramacindePICenPICBasicPro
unovarportb.4
dosvarportb.5
tresvarportb.6
cuatrovarportb.7
iniciando:;incicafuncionamientodelsistema
highled:highbip
pause1000
lowled:lowbip
gototeclauno;compararclave
barrido:
lowa;sensarfilaa
ifuno=0thentecla=1:return
ifdos=0thentecla=2:return
iftres=0thentecla=3:return
ifcuatro=0thentecla=10:return
higha
lowb
ifuno=0thentecla=4:return
ifdos=0thentecla=5:return
iftres=0thentecla=6:return
ifcuatro=0thentecla=11:return
highb
lowc
ifuno=0thentecla=7:return
ifdos=0thentecla=8:return
iftres=0thentecla=9:return
ifcuatro=0thentecla=12:return
highc
lowd
ifuno=0thentecla=14:return
ifdos=0thentecla=0:return
iftres=0thentecla=15:return
ifcuatro=0thentecla=13:return
highd
pause10
gotobarrido
;rutinaantirrebotedeteclas
http://www.forosdeelectronica.com/f24/cursoprogramacionpicpicbasicpro20658/index2.html 8/53
10/6/2017 CursodeprogramacindePICenPICBasicPro
ptecla:
highled:lowbip
pause100
lowled:lowbip
espacio:
ifuno=0thenespacio
ifdos=0thenespacio
iftres=0thenespacio
ifcuatro=0thenespacio
pause25
return
;rutinaparacompararclaves
teclauno:
gosubbarrido
gosubptecla
iftecla=1thenteclados
gotofalso
teclados:
gosubbarrido:gosubptecla
iftecla=2thenteclatres
gotofalso1
teclatres:
gosubbarrido:gosubptecla
iftecla=3thenteclacuatro
gotofalso2
teclacuatro
gosubbarrido:gosubptecla
iftecla=4thenopen
gotofalso3
open:
forrepit=1to2
pause100
highled:highbip
pause100
lowled:lowbip
next
http://www.forosdeelectronica.com/f24/cursoprogramacionpicpicbasicpro20658/index2.html 9/53
10/6/2017 CursodeprogramacindePICenPICBasicPro
highdoor
pause3000
lowdoor
gototeclauno
;rutinateclaserroneas
falso:
gosubbarrido:gosubptecla
falso1:
gosubbarrido:gosubptecla
falso2:
gosubbarrido:gosubptecla
falso3:
forrepit=1to3
pause100
highled:highbip
pause100
lowled:lowbip
next
gototeclauno
end
ArchivosAdjuntos
bienamigopatico,vayamosporpartes,primeroel16f877anotieneosciladorinterno,peroesmucho
mascompletoqueel16f628enotrasareas,masmemoriaeeprom,33in/out,etc,debesconserguirte
uncristalde4mhzqueeslomascomun,ydoscondensadoresde22picofaradios,conestohacesel
oscilador,esindispensablecontarconeldatasheetuhojadedatosdelmencionadopic,deotraforma
nosabesconqueestastrabajando,debessiosiconocerladisposiciondelaspatasdelpic...
ahoraparaellcddebestenerencuentaunpardecosas,unlcdporejemplode2x16(muycomun)
trabajandedosmodoscon8bitsocon4bits,queesesto?lacantidaddepatasquevasaconectaral
pic,siesde4bitsconectas4patasdelpicallcd,siesde8conectas8patasdellcdalpic,quesegana
conesto,unamayorvelocidaddetransferenciadedatosdelpicallcd...ahorabienademasdelas4u8
patasdebesconectartambienotrasdosqueson"E"(enable),elpicloponea1paraqueellcdse
activeyluegotienesotraquees"RS"(registerselect)quesirveparaqueellcdsepasirecibeun
comando,porejepmlo:(limpiarlapantalla)osirecibeuncaracter,porahoradebespoderarmarelsoft,
ydebesserpacienteparapoderentendercomofuncionaelsistema,esmaravillosoperonodebes
desesperarte,buscainformacinengooglequehaymucha...saludosteadjuntounesquemade
http://www.forosdeelectronica.com/f24/cursoprogramacionpicpicbasicpro20658/index2.html 10/53
10/6/2017 CursodeprogramacindePICenPICBasicPro
conexiondellcd,saludos
ImgenesAdjuntas
Temassimilares
Bienvamosconproyectointeresanteaquiosdejoelcodigofuentecomentado:
Cdigo:
;Programaendondesemueveunservomotordetreslineasconelpic16f877A,
;seutilizaLCD2X16quemuestralaposiciondegirodadaportresbotones
;conectadosalpuertoB,loscualesdanlasposiciones:giroderecha,centroy
;giroizquierdareferenciadode0a1000,dondeposiciondecentroes500.
;deficiondeOsciladorExterno
@devicext_osc;osciladorexternoXT
defineosc4;especificaquesevaautilizarunode4Mhz
'Libreriaparalaoperaciondelprograma
Define LOADER_USED 1
;DefiniciondeconexinesdelLCD
DefineLCD_DREGPORTD
DefineLCD_DBIT4
DefineLCD_RSREGPORTA
DefineLCD_RSBIT0
DefineLCD_EREGPORTA
DefineLCD_EBIT1
posvarword'Posiciondelservo
servo1varPORTC.1'pindondeseconectaelservo
ADCON1=7'PORTAyPORTEdigitales
LowPORTA.2'LCDR/Wlow=escritura
Pause100'retardoparainicializarelLCD
OPTION_REG=$7f
Lowservo1;portc.1comosalidaparacontrolarelservo
http://www.forosdeelectronica.com/f24/cursoprogramacionpicpicbasicpro20658/index2.html 11/53
10/6/2017 CursodeprogramacindePICenPICBasicPro
Gosubcenter'iracentro
'progrmaprincipal
LOOP:
PORTB=0'PORTBlineasacerologicoparaleerbotones
TRISB=$fe
'Rutinasparaelchequeodebotonesyposicionesdelservo
IfPORTB.4=0Then
Gosubleft
Endif
IfPORTB.5=0Then
Gosubcenter
Endif
IfPORTB.6=0Then
Gosubright
Endif
;Rutinaparamostrarmensajeyvalordecimaldelaposiciondelservo
Lcdout$fe,1
Lcdout$fe,2,"Position=",#pos
servo1=1'iniciarpulsohaciaelservo
Pauseus1000+pos
servo1=0'terminepulso
Pause16'retardo
GotoLOOP'Creaunbuclecerrado
'girohacialaizquierda
left:Ifpos<1000Then
pos=pos+1
Endif
Return
http://www.forosdeelectronica.com/f24/cursoprogramacionpicpicbasicpro20658/index2.html 12/53
10/6/2017 CursodeprogramacindePICenPICBasicPro
'girohacialaderecha
right:Ifpos!=0Then
pos=pos1
Endif
Return
'posiciondecentro
center:pos=500
Return
End
ArchivosAdjuntos
Visualizaciondesensortemperaturads18s20enlcdconpic16f84A
Quetalparamiamigoelectroandreselhechoderecomendarteunsensordigitalparatuproyectoes
queelpicquevasautilizarnotieneconversoresA/Dcomoelpic16f877Aporellodebesselecionaruno
quepuedaleertupicyadjuntarlamedidaobtenidaen8byteparaqueposteriormenteseaenviadoel
valorendecimalallcdporcomunicacionde4bitsrevisaestecodigoesperoseadeutilidad
Cdigo:
'DEFINICIONOSCILADOREXTERNO
@devicext_osc;osciladorexternoXT
defineosc4;especificaquesevaautilizarunode4Mhz
'DEFINICIONDELIBRERIAPARACOMUNICACION
Define LOADER_USED 1
'DEFINICIONDEPINESPARACONECTARELLCD
DefineLCD_DREGPORTB
DefineLCD_DBIT0
DefineLCD_RSREGPORTB
DefineLCD_RSBIT4
DefineLCD_EREGPORTB
DefineLCD_EBIT5
http://www.forosdeelectronica.com/f24/cursoprogramacionpicpicbasicpro20658/index2.html 13/53
10/6/2017 CursodeprogramacindePICenPICBasicPro
'CREACIONDEVARIABLES
commandvarbyte'VARIABLEPARACOMANDO
ivarbyte'VARIABLEPARACONTEO
tempvarword'PARAGUARDARVALORTEMP
'DETERMINACIONDEPINSENSORDS18S20CONECTADOALPIC16F84a
DQvarPORTB.7'PINDELSENSORDS18S20CONECTADOAPORTB.7
DQ_DIRvarTRISB.7'DELPIC16F84a
LowPORTB.6'LCDR/WACEROLOGIGOPORELPIC16F84a
Pause100'100MSPARAINICIALIZARLCD
Lcdout$fe,1
Lcdout$fe,$80,"Temp:"'MOSTRARMENSAJE
'PROGRAMAPARALECTURADETEMPERATURAENELLCD
INICIO:
Gosubinit18S20'IRARUTINADEINICIALIZACIONDELLCD
command=$cc
Gosubwrite18S20
command=$44'EMPIEZECONVERCIONDETEMPERATURA
Gosubwrite18S20
Pause2000'ESPERO2SEGHASTAQUEFINALICELACONVERSION
Gosubinit18S20
command=$cc
Gosubwrite18S20
command=$be'LEERTEMPERATURA
Gosubwrite18S20
Gosubread18S20
http://www.forosdeelectronica.com/f24/cursoprogramacionpicpicbasicpro20658/index2.html 14/53
10/6/2017 CursodeprogramacindePICenPICBasicPro
'RUTINAPARAMOSTRARVALORDETEMPERATURAENELLCD
Lcdout$fe,$86,dec(temp>>1),".",dec(temp.0*5),"oC"
GotoINICIO'CREAUNBUCLECERRADO
'INICIALIZADS18S20YCHEQUEAPRESENCIA
init18S20:
LowDQ
Pauseus500
DQ_DIR=1
Pauseus100
IfDQ=1Then
Lcdout$fe,1
Lcdout$fe,$83,"SENSORDS18S20"
Lcdout$fe,$C2,"NOCONECTADO"
Pause500
GotoINICIO
Endif
Pauseus400
Return
'RUTINAPARACOMUNICACIONDELPICCONSENSORDS1820A8BYTE
write18S20:
Fori=1to8
Ifcommand.0=0Then
Gosubwrite0
Else
Gosubwrite1
Endif
command=command>>1
Nexti
Return
'RUTINAPARADESHABILITARDS18S20ATRAVESDEUNBIT
http://www.forosdeelectronica.com/f24/cursoprogramacionpicpicbasicpro20658/index2.html 15/53
10/6/2017 CursodeprogramacindePICenPICBasicPro
write0:
LowDQ
Pauseus60
DQ_DIR=1
Return
'RUTINAPARAHABILITARDS18S20ATRAVESDEUNBIT
write1:
LowDQ
@nop'RETARDODE1usCONUNOSCILADOREXTERNODE4MHz
DQ_DIR=1
Pauseus60
Return
'RUTINAPARALEERDS18S20
read18S20:
Fori=1to16
temp=temp>>1
Gosubreadbit
Nexti
Return
'RUTINAPARALEERBITDS18S20
readbit:
temp.15=1
LowDQ
@nop'RETARDODE1usCONUNOSCILADOREXTERNODE4MHz
DQ_DIR=1
IfDQ=0Then
temp.15=0
Endif
Pauseus60
Return
End
ArchivosAdjuntos
Temassimilares
http://www.forosdeelectronica.com/f24/cursoprogramacionpicpicbasicpro20658/index2.html 16/53
10/6/2017 CursodeprogramacindePICenPICBasicPro
ArchivosAdjuntos
AvancesproyectotemperaturaRSR232ylabview
Queamigoshesimuladoelproyectoenproteus7.5conexcelentesresultados,corremuybienyse
logramostrarlatempeturaquesensaelLM35conbuenaprecisionaligualquelosmensajesquehe
enviadoatravesdelacomunicacionRS232,merecibeyrecepcionadatos,sinmaspreambulosles
anexoloquellevoahoramededicareaquesemuestreenlaPClatemperaturapormediografico
utilizandoLABVIEW,heconseguidobuenainformacinparaello.
ArchivosAdjuntos
RelojEnLcDconigualadoryalarma...
Hola!EncontresteforomuyinteresantesobremicrocontroladoresPICenBasic...
QuisieraaportarconelproyectoquesesolicitabaderelojdigitalconLCD...
Enelarchivoadjuntoestlasimulacinyelprograma...
Solofaltalapartedelaalarma[solounas56lineasdecodigoms]....
unabreveexplicacindelfuncionamiento:Alencenderelcircuito,secargaunahora/fechaalRTC
(DS1307),quedespuspuedeserconfiguradaencualquiermonentoconlospulsadores(MODO
NORMAL).Paraesto,harquemantenerpresionadoelpulsador"SET"porunmomento(ENTRASAL
MODOCONFIGURACION),ycomenzaraparpadeareneldisplayelcampoasermodificado:hora,
pulsandootrasvez,elcursorcambiaaminutos,pulsandootravezcambiaadia...ConlosbotonesUPo
DOWN_MODE,secambiaelvalordelcamposeleccionado.Yacuandosemodificantodosloscampos,
elRelojsiguenormalmenteconelltimopusloenSET.
Paraaccederalmododelaalarma,debespresionarDOWN_MODEenelMODONORMAL,....bueno,
hastaaquivaelcdigo.Comodijeanteriormente,solofaltaunaslineas(variablesdealmacenamiento
delahoradelaalarma,configuracin...)
Cualquiercosa,dudadelcodigo,postealayveremoscomosolucionamos...
Siencuentrasalgunbugtambienavisamelo,osilograshacerelprogramamascortotambien!
Adjuntounscreencaptyelmodeloconlasimulacin.
Cabedestacarquelasimulacionestenproteus7.4sp3,conunPIC16F877A,paramigrara16F628/A
oalgunotro,debenrevisarlospinouts,ylacapacidaddememoria.Recomendarausarun628A...
http://www.forosdeelectronica.com/f24/cursoprogramacionpicpicbasicpro20658/index2.html 17/53
10/6/2017 CursodeprogramacindePICenPICBasicPro
Enunosdiassuboyaelproyectocompleto...
ImgenesAdjuntas
QuetalamigolectroandresinterpretemalsuproyectocreoquenodeseasutilizarelintegradoDS1370
porloqueteanexounproyectoconalarmasunrelojdeclases.
Elproyectoconsisteenvisualizarjornadasdeestudiode6:00AMa12:00AMhoraen
queempiezayculminalajornadamaanaconsusrespectivosmensajesvisualizadosen
elLDCactivandoseunaalarmadurantetressegundoselmismoprocedimiemtoserepite
paralajornadatarde.
Alactivarelbotoncomienzosedainicioalajornadamaana,sepuedeincrementar
losminutosenelbotonminus,losmensajesapareceransiemprequeseejecuteel
cambiodejornadasprogramas:
6:00amini.clasesj.m
12:00pmter.calsesj.m
12:300pmini.clasesj.t
6:30pmter.clasej.t
Lohabiareralizadoparaunevidenciadeestudioteanexotodolonecesarioesperoqueestosealoque
necesitesoteayudearealizarlo.
ArchivosAdjuntos
Paramiamigocriptyteanexodocumentodeutilizaciondelosregistrosdelpic16f628Aparala
operaciondelpwmporhardwaresinlautilizaciondelcomandoPWMenelentornodemicrocodestudio
aquiestaelcodigo
Cdigo:
;ProgramaPWMconHardwareconelpic16f628Aconuncicloutildel50%
;yfrecuenciade38KHZaproximadamente
@devicext_osc;osciladorexternoXT
defineosc4;especificaquesevaautilizarunode4Mhz
CMCON=7'PUERTOADIGIAL
VRCON=0'A/DVoltagereferenciadeshabilitado
TRISB=%11110000'B.3=PWM,B.0,B.1,B.2LEDs
http://www.forosdeelectronica.com/f24/cursoprogramacionpicpicbasicpro20658/index2.html 18/53
10/6/2017 CursodeprogramacindePICenPICBasicPro
PR2=25'SeleecionPWMparaaproximadamente38KHz
CCPR1L=13'PWMDutyCyclea50%
CCP1CON=%00001100'mododeseleccion=PWM
T2CON=%00000100'Timer2ON+1:1prescaler
LOOP:
highPortB.0
pause50
lowPortB.0
pause50
highPortB.1
pause50
lowPortB.1
pause50
highPortB.2
pause50
lowPortB.2
pause50
gotoLOOP
Porultimoesconvenientetenerlahojadecaracteristicasdelpicquesevahautilizaryaprovechar
mejorsumemoriaporloqueseconocemejorlaestructurainternadelmicro,enelcasodelosmicros
quenoposeenregistroPWMesconvenienteutilizarelcomandoPWMquenosfacilitaPBPpararealizar
lamodulaciondeanchodepulsoquenecesitemoscomoenelcasodelpic16f84Aporejemplo:
Cdigo:
;ProgramaPWMconelpic16f84Aconuncicloutildel50%
@devicext_osc;osciladorexternoXT
defineosc4;especificaquesevaautilizarunode4Mhz
PWMportB.3,127,30;Sacar30pulsosPWMporelpuertob3conuncicloutildel50%
ArchivosAdjuntos
Temassimilares
holagraciasporrespondermiraenunmanualoalgoasidePBPmireque<<esparadesplazamientos
izquierdoy>>paradesplazamientoderechoesonoselaverdadparaquesirvemepodriasexplicary
http://www.forosdeelectronica.com/f24/cursoprogramacionpicpicbasicpro20658/index2.html 19/53
10/6/2017 CursodeprogramacindePICenPICBasicPro
esodelosdecimalesmasomenosmedicuentaperocomopuedohacerparaquelalosdecimales
aparezcanalmovermipotenciometrounpocoaparezca0.1yamedidaquevayamoviendopueda
verlo0.20.30.40.50.60.70.80.91....ahoratengootradudatalvezbientorpeperonnoentiendopor
ejemplotengomipotenciometroqueloleede0a255peroparamiconveniencialoquierotransformar
aotraescalaesdecirde0a500lomasfacilquesemeocurrioera(P1*500/255)p1esmivariablepero
almirarenelLCDen0era0estababienenlamitaddelpotenciometromeda256perosigoabanzando
sebajaa4yalfinalmeda255yesometienemuyconfundido...ahoratambienquierorestarleami
variablep110mecomienzaen6225oalgoasiyalseguiravanzandosiguelaescalanoentiendo
puedesdarmeunamanoconesoporfavorconlodelosdecimalesparaquelomiresteadjuntola
simulacionyelprograma.
ArchivosAdjuntos
proyectodelecturateclado4X4conletrasconpic16f877A
quetalvamosconotroproyectodetecladomatrixalperodevisualizaciondeletras(ABCD*#)heaqui
elcodigo:
Cdigo:
;programadevisualizaciondeteclado
'123A
'456B
'789C
'*0#D
'conpic16f877Aylcd2x16endondemuestralateclapresionadaenlapantalla
'delLCDutilizandooperandosmatematicosdelPBP.
'Definirlibreria
Define LOADER_USED 1
'definirosciladorexterno
@devicext_osc
defineosc4
'DefineLCDconnections
DefineLCD_DREGPORTD
DefineLCD_DBIT4
DefineLCD_RSREGPORTD
DefineLCD_RSBIT3
http://www.forosdeelectronica.com/f24/cursoprogramacionpicpicbasicpro20658/index2.html 20/53
10/6/2017 CursodeprogramacindePICenPICBasicPro
DefineLCD_EREGPORTD
DefineLCD_EBIT2
'Definiciondevariables
colVarByte'columnas
filaVarByte'filas
BVarByte'numero
AVarByte'teclaavisualizar
OPTION_REG.7=0'ActivaresistenciasinternasPORTB
ADCON1=7'PORTAyPORTEdigital
LowPORTD.1'LCDR/Wlow(escritura)
Pause100'tiempoparainicializarelLCD
Lcdout$fe,1,"PRESIONETECLA"'mensaje
inicio:
Gosubleer
LookupA,["0123456789*#ABCD"],B
Lcdout$fe,1,B'mostrarteclaprimida
Gotoinicio
'Subrutinaparaleerteclapulsada
leer:
Pause50'esperer50ms
leer0:
PORTB=0'puertoBcomosalida
TRISB=$f0
If((PORTB>>4)!=$f)Thenleer0
Pause50
leer1:
Forcol=0To3
PORTB=0
TRISB=(dcdcol)^$ff
fila=PORTB>>4'leerfilas
Iffila!=$fThentecla
http://www.forosdeelectronica.com/f24/cursoprogramacionpicpicbasicpro20658/index2.html 21/53
10/6/2017 CursodeprogramacindePICenPICBasicPro
Nextcol
Gotoleer1
tecla:
B=(col*4)+(ncd(fila^$f))1
'transformadorrmaciondeteclaactivada
'10=*
'11=#
'12=A
'13=B
'14=C
'15=D
LookupB,[1,2,3,12,4,5,6,13,7,8,9,14,10,0,11,15],A
Return'retornar
End
Comosiempredejolasimulacionenproteus,codigofuenteyesquematico"comentaresagradecer"
ArchivosAdjuntos
TCLEDOLCD.zip(86,1KB(Kilobytes),809visitas)
lcdtecla.zip(56,4KB(Kilobytes),724visitas)
Temassimilares
Respuesta:Cursoprogramaciondepicenbsicpro
allienviounesquemaquepodriaayudar,adicionandounoptotriacsincruceytambienpuedeserusar
eloptotriacconcruceporcero
uenolosdiodosdeberanser1n4007
ImgenesAdjuntas
Respuesta:Cursoprogramaciondepicenbsicpro
sitienesmicharazonperoimaginalosiguiente:misistemaestrifasicoyelcruceporceroesparaevitar
elarcoenloscontactores(quelodesgastan)peroteniendoeldesfasajeenquemomentocierroel
contactoryaquealcerrarestesecierranlos3contactosenunalostriacslospuedodisparar
alternadamenteperonoalcontactor.adjuntomiesquemaparaquemeayudenaresolverlo.
ImgenesAdjuntas
http://www.forosdeelectronica.com/f24/cursoprogramacionpicpicbasicpro20658/index2.html 22/53
10/6/2017 CursodeprogramacindePICenPICBasicPro
Temassimilares
Respuesta:Cursoprogramaciondepicenbsicpro
saludosmecatrodatos
heestadoleyendoestepostyveoqueeresmuybuenoconelpbasic.poreso,queriapedirtesipuedes
ayudarmeacomprendercomoutilizarelserinyseroutdelpbasic.teexplicounpocoloquequiero
hacer.
miideaesimplementaruncontrolremotobasadoenelpic16f84Aperolaverdadquenoentiendomuy
biencomoutilizarestasdosinstrucciones
.unaideabasicaseriaporejemploquesiyopresionounbotoneneltransmisor,enelreceptorse
enciendaelledquecorrespondealmismo.tepasoundibujodelcircuitobasicoesperoqueseentienda
.solonecesitounpardelineasdecodigocomoparaguiarme.unsaludoyesperopuedasayudarme
gracias
ImgenesAdjuntas
Temassimilares
Respuesta:Cursoprogramaciondepicenbsicpro
claro...probalovosmismo.acatedejolasimulacionenproteus
ArchivosAdjuntos
ledsenparalelo!!
Holaatodos!!soynuevoenesteforo
ytengounapreguntasobrelosled:
Buenoestoyusandoelpic16F84Aparahacerunasecuenciadeluces,ytengounaduda!!Usetodoel
puertoBparaformarunasecuencia
http://www.forosdeelectronica.com/f24/cursoprogramacionpicpicbasicpro20658/index2.html 23/53
10/6/2017 CursodeprogramacindePICenPICBasicPro
deluces.Mipreguntaes:sinosoloquisieraconectarunsololed
acadasalida,siquisieraconectar20ledsenparaleloencadasalidadelpuertoB,
entonceselproblemaradicariaensabercuantacorrienteproporcionacadasalida
delpuertoBdelpic!!!ycreoquenovaaserlasufiente.
Ahoracomopodriahacerparaquecadaledtengalasuficientecorrientequenecesite
parabillarcontodasuintencidad!????
Tendriaqueusaruntransistorcomoamplificadordecorrienteoqueesloquedeberiahacer?????
adjuntoeldiagramadelctoenproteusielcodigoenHEX,paracargaralpic!!
Esperopuedanayudarme!!=D!!
Graciasdeantemano!!
ArchivosAdjuntos
Temassimilares
Respuesta:Cursoprogramaciondepicenbsicpro
listoperdonaparaayudartemejorvisitaprimeroelEntrenadordepicconpicbasicproqueposteyel
manualhayejemployestanenespaolesperoqueestotesirvadebasenodudesenpreguntar
ArchivosAdjuntos
pbpesp.pdf(646,9KB(Kilobytes),33visitas)
entrenadorparamicrocontroladorconPBP.zip(954,0KB(Kilobytes),34visitas
Andres111manejocomunicacionserialentrePICSconloscomandosserinyserout,verecomote
puedoayudarconlacomunicacionSPIapartirdeHardware,porotroladoparalosproyectosque
vienennecesitamossaberunpocodeVisualbasicporloquefacilitoundocumentoparaempezara
conoceresteprogramaysaberloutilizar
ArchivosAdjuntos
Respuesta:Cursoprogramaciondepicenbsicpro
ParaAyudarterealizaremosunprogramaporhardwareconlosregistrosdelpuertoCdelPic16f877a.
http://www.forosdeelectronica.com/f24/cursoprogramacionpicpicbasicpro20658/index2.html 24/53
10/6/2017 CursodeprogramacindePICenPICBasicPro
ElpuertoCconstade8lneasbidireccionalesytieneasociadoslosregistros:
RegistroPORTC(07H).Eselregistrodedatoscuyos8bitsRC7,RC6,...,RC0reflejan
directamenteelvalorlgicodelaslneasfsicasdelpuertoC.
RegistroTRISC(87H).RegistrodecontroldedireccindelaslneasdelpuertoC.
Poniendoun1enunbitdelregistroTRISCseconfiguralalneacorrespondientecomoentradayponiendoun0
seconfiguralalneacorrespondientecomosalida.
LaslneasdelpuertoCseencuentranmultiplexadasconvariaslineascontroladasporotrosperifricos,cuando
sehabilitalalneadelperifricorespectivopuedeserignoradalaconfiguracindeTRISC,dehecho,algunos
perifricosconfiguranlalneacomosalidamientrasqueotroslaconfigurancomoentrada.
CadaentradadelpuertoCposeeunbuffercondisparadorSchmitt.Adems,cuandoseseleccionalafuncinI2C,
laspatitasPORTC<4,3>puedenserconfiguradasconnivelesI2CoconnivelesSMBusmedianteelbitCKEdel
registroSSPSTAT<6>.
EnlasiguientetablaseresumenlaslneasdelpuertoCylasdelosperifricosque
estnmultiplexadasconellas.
NombreFuncinmultiplexada
RC0/T1OSO/T1CKISalidaoscilatoriadelTimer1/relojdeentradadelTimer1
RC1/T1OSI/CCP2EntradaoscilatoriadelTimer1/entradadecaptura2osalidade
comparacin2osalidaPWM2
RC2/CCP1Entradadecaptura1osalidadecomparacin1osalidaPWM1
RC3/SCK/SCLRelojparalosmodosdecomunicacinseriesncronaSPIeI
2C
RC4/SDI/SDADatodeentrada(enmodoSPI)/Datodeentradasalida(modoI2 C)
RC5/SDODatodesalida(enmodoSPI)
RC6/TX/CKLineadetransmisinasncronadelaUSART/relojsncrono
RC7/RX/DTLineaderecepcinasncronadelaUSART/datosncrono
Tambienteadjuntodocumentodondeexplicoelmanejoderegistrosdelpic16ff877apararealizarel
programa.
http://www.forosdeelectronica.com/f24/cursoprogramacionpicpicbasicpro20658/index2.html 25/53
10/6/2017 CursodeprogramacindePICenPICBasicPro
QuetalvamosaponerelsiguientecodigodecomunicacionspiatravesdeHardware(manipulacionde
registrosdelpuertoC)condospic16f877Acomoproyecto.
esteelprogramaparaelpicmaestro:
Cdigo:
'ProgramaprotocoloSPIentredosPic16f877AusandoComunicacinserial
'sincrnicapormediodehardwareatravsdelpuertoC.
'
'Elpic16f877amaestromuestravalordelestadodeunpotencimetroconectado
'enRAOdelpic16f877aesclavoenunapantallaLCDatravsdecaracteresen
'string.
'DEFINICIONOSCILADOREXTERNO
@devicext_osc;osciladorexternoXT
defineosc4;especificaquesevaautilizarunode4Mhz
'Sedefinenregistrosdelpic16f877amaestroparaconectardisplay
DEFINELCD_DREGPORTD
DEFINELCD_DBIT4
DEFINELCD_RSREGPORTE
DEFINELCD_RSBIT0
DEFINELCD_EREGPORTE
DEFINELCD_EBIT1
SSPENVARSSPCON.5'HabilitabitSSP
CKPVARSSPCON.4'SELECCIONAPOLARIDADDERELOJ
SMPVARSSPSTAT.7'Seleccionarlamuestradedatosdeentradadefase
CKEVARSSPSTAT.6'Seleccionabitdereloj
SSPIFVARPIR1.3'SPIindicadordeinterrupcin
iVARBYTE'contadordelbucle
aVARBYTE[6]'Concapacidadpara6caracteresledosdeesclavo
ADCON1=7'SeleccinPORTAyPORTEcomodigital
LowPORTE.2'LCDR/Wlineaacerolgico
Pause100'esperaparasinicializarelLCD
TRISC=0'puertoccomosalida
SSPEN=1'pinesactivadosSPI
CKP=0'relojenfuncionamientobajo
CKE=0'transmitiralatransicininactivoaactivo
http://www.forosdeelectronica.com/f24/cursoprogramacionpicpicbasicpro20658/index2.html 26/53
10/6/2017 CursodeprogramacindePICenPICBasicPro
SSPIF=0'Bufferdeestadocompleto
SMP=0'muestraenmediodelosdatos
mainloop:
GoSubgetdata'iniciarlaconversindedatosyrecibir
LCDOut$fe,1'Indicarrecibidecadenaenlcd
LCDOut$fe,$80,"ConversorA/D"
LCDOut$fe,$c0,STRa\5,DECa[5]
Pause100
GoTomainloop'hacerlodenuevo
getdata:
SSPBUF="?"'enviar?parainiciarlaconversin
GoSubletclear'esperardatoparaeliminar
IFSSPBUF<>"!"Thengetdata'esperarparalarespuesta(!)
Fori=0to5'buclede6caracteres
SSPBUF=0'escribiraSSPBUFparainiciarelreloj
GoSubletclear'esperarparalarecepcin
a[i]=SSPBUF'recibiencarcterdematriz
Nexti'recibeelsiguientecarcter
Return
letclear:
IFSSPIF=0Thenletclear'esperaraSPIindicadordeinterrupcin
PauseUs25'pausade25uS
SSPIF=0'resetiarflag
Return
Esteesleprogramaparaelpicesclavo
Cdigo:
'DEFINICINOSCILADOREXTERNO
@devicext_osc;osciladorexternoXT
defineosc4;especificaquesevaautilizarunode4Mhz
'AsignarmemoriaRAM
dataoutVARBYTE[8]'Salidadedatosserie
http://www.forosdeelectronica.com/f24/cursoprogramacionpicpicbasicpro20658/index2.html 27/53
10/6/2017 CursodeprogramacindePICenPICBasicPro
SSPENVARSSPCON.5'HabilitarbitSSP
CKPVARSSPCON.4'seleccindepolaridad
SMPVARSSPSTAT.7'Datosdeentradadefase
CKEVARSSPSTAT.6'Seleccionabitdereloj
SSPIFVARPIR1.3'indicadordeinterrupcinltimobitseleccionado
iVARBYTE'contadordelbucle
aVARBYTE[6]'Concapacidadpara6caracteresdedatos
TRISC=%11011111'configuracintrisc
SSPCON=%00000101'configurarSPIesclavo,noSS
CKP=0'relojalralentbajo
CKE=0'transmitiralatransicininactivoaactivo
SSPIF=0'limpiarinterrupcinSPI
SMP=0'muestraenmediodelosdatos
ADCON1=$0e'PORTA.0anlogo,elreto
'PORTAyPORTEcomopinesdigitales
dataout[0]="P"'Lasalidadedatospredefinidosa"POT="
dataout[1]="O"
dataout[2]="T"
dataout[3]="="
dataout[4]=""
mainloop:
SSPEN=0'desactivar/activarlaSSPpararestablecerelpuerto
SSPEN=1
GoSubletclear''esperarabyterecibido
IF(SSPBUF<>"?")Thenmainloop'esperar?parainiciarlaconversin
ADCIN0,dataout[5]'LeercanalADC0,la6posicindelacadenadecaracteres
GoSubsenddata'senviar"!"ylacadenadedatos
GoTomainloop'volverarealizar
senddata:
GoSubletclear'esperar
SSPBUF="!"'Enviarrespuesta
Fori=0to5'bucle
GoSubletclear'
SSPBUF=dataout[i]'enviarvariabledematriz
Nexti'prximalocalizacin
http://www.forosdeelectronica.com/f24/cursoprogramacionpicpicbasicpro20658/index2.html 28/53
10/6/2017 CursodeprogramacindePICenPICBasicPro
Return
letclear:
IFSSPIF=0Thenletclear'esperaraindicadordeinterrupcin
SSPIF=0'resetiarbandera
Return
porultimodejosimulacinenproteus7.6,programaenpicbasicproyesquemtico
ArchivosAdjuntos
ComunicacinSPIPIC16F877A.pdf(307,0KB(Kilobytes),494visitas)
spi.zip(75,8KB(Kilobytes),461visitas)Respuesta:Cursoprogramaciondepicenbsicpro
holachicosfeliz2010!!!
lescuentoqueestoytratandodehacerunaespeciedeservomotorconunpic16f84yunpotenciometro
comosensordeposision.elfuncionamientoesmuysimple:setratadecompararlavariabledepulsin
conlavariabledepotyenfunciondeladiferenciaoigualdaddeambosvalores,(<>=)obtenertres
posiblesestadosendossalidasparacontrolareldriverdelmotor.segunmipococonocimientoen
pbasicmeparecequeelprogramaqueescribideberiafuncionarsinproblemas,peroaquiesdondese
complica.sipulsinesmenorquepot,andabien,sipulsinesmayorquepotandabien.perosipulsines
igualapotlasdossalidasdecontrolempiezanaoscilarentreigualomenorynologroqueesteestable
nienproteusnienlapracticareal.solomepreguntabasiustedespodriandarmeunamanitoyaqueme
ardelacabezapensandoenqueestoyhaciendomal
acaadjuntounzipconelproyectoparaverqueopinanustedes...agradecerecualquiertipodeconsejo.
saludosssyfeliz2010.
ArchivosAdjuntos
Temassimilares
Respuesta:Cursoprogramaciondepicenbsicpro
Buenasatodos,
PrimerofelicitaramicompatriotaMecatrodatosporestetutorial,
http://www.forosdeelectronica.com/f24/cursoprogramacionpicpicbasicpro20658/index2.html 29/53
10/6/2017 CursodeprogramacindePICenPICBasicPro
quetellevadirectoalgranoadiferenciademuchosotrosquesimplementetesacancanas:enfadado:
AmigoMecaanteshabiahechopruebillasconledsytodobienperollegaronlasfiestasnavideas,la
construcciondelacasa,ymihija....eh?.
Buenohasmanejadovariostemasimportantesperoylos7segmentos?,tenemosmuypocaporno
decirnadasobremanejarestosdispocitivosconelpicbasicpro.
Tengounproyectosenmenteyaprovechandoestepostpodemosrealizarloenconjuntoyquequedela
informacinaquienelforoademasdelavaliosoaprendizajequedejaraenmuchosforistas.
Setratadeunrelojcon7segmentos,conpic16f628aunnuevopicrelacionado...eh,quelealosdatos
delbusi2cdelds1307,pues,siguiendolarelaciondedistrubuciondeenergiademipueblo,porcada2
diasdeluzelectrica3horasnoyhastasipuedecerrarlarelacionadiario,enfinloquenosequerriaes
perderlahora,ydefinitivamenteunabateriabackupnodariachicle.
yporultimomanejariaunacarga"x",esdecirunrel,conunajustedeonyoff,esteciclodeberiaser
diario,enmicasoparamanejarlaneveraporlasnoches...peropuedeserusadoporejemplopara
sistemasderiego,iluminacionperimetraletc.
dejolasemilla...yporsupeustoelplanoesquematicodeloqueseratentativamenteelcircuitoypor
supuestocomomegustaraquequedara.
claro...podriamosirmanejandoeltemadelossietesegmentosprimerodemododeiravanzando
apropiadamente
Saludosyexitosatodos,cheyo28
ImgenesAdjuntas
pic_reloj2.PNG(101,6KB(Kilobytes),600visitas)
http://www.forosdeelectronica.com/f24/cursoprogramacionpicpicbasicpro20658/index2.html 30/53
10/6/2017 CursodeprogramacindePICenPICBasicPro
microcontrollerbaseddigitalblueclock.jpg(82,5KB(Kilobytes),396visitas)Respuesta:Curso
programaciondepicenbsicpro
Amigoatriciotedejoprogramaysimulacionparacontroldeposicionamientosinmargendeerror,
simulacionenproteus7.6,codigofuente,.hexyesquematicoparaayudaentuproyecto.solamente
aconcicionaselcodigoatusnecesidades.
QuetalamigoCheyointeresantetupropuestaperoempezamosconutilizaciondemultiplexadode
displaypararealizarelcogido?ovamosdeunaconelproyecto...
ArchivosAdjuntos
programaciondepicenbsicpro_relojrtc7segmentos
buenas,
AmigoMeca,creoquedebemosiniciarconlascaracteristicasdelpic16f628a,actualmenteleoellibro
deporgrmacionenbasic,lorecomeindo(yloencuentranengoogle)...seriabuenocontrastarloconel
mododeprogramaciondetupost.
dejoest...meparecemuyimportante
osciladorinternoRCde4Mhz+/1%
mclrprogramable
mayorcapacidaddecorriente,suspuertoAyBentreganuntotalde200mAcadauno,esdecir
25mAcadapin.lomismoparaelmodosumidero.
GraciasaunforistaLucas22,meayodoaseleccionarlospuertosadecuadosparahaceresteproyectos
yaprenddelmuchascosasimportantes.lmanejaelbasictambien...seriabuenoquehicieraparte
deestepost.
Amigomeca,noestoymuyavansadoenestodelPBP,esperomedisculpemishorroresde
programacionymisdudas...deloserroresseaprende.
1Definamosprimerosilaspuertosestanbienasignadosacoplandosealcircuito
2Estepicnousaosciladorexterno,enBasic,elnocomandarleelosciladorexternoeltomapor
defectoquevamosausarosciladorinternodelpic?.
fueradelproyecto:aclarameestarutinaqueusasteenelrelojconlcdyds1307...paraasignarlos
http://www.forosdeelectronica.com/f24/cursoprogramacionpicpicbasicpro20658/index2.html 31/53
10/6/2017 CursodeprogramacindePICenPICBasicPro
mesesydiasenellcd
Cdigo:
'CPNFIGURACIONMESES,DIAS
Data@0,74,97,110,70,101,98,77,97,114,65,112,114
'JanFebMarApr
Data77,97,121,74,117,110,74,117,108,65,117,103
'MayJunJulAug
Data83,101,112,79,99,116,78,111,118,68,101,99
'SepOctNovDec
Data84,117,101,87,101,100,84,104,117,70,114,105
'TueWedThuFri
Data83,97,116,83,117,110,77,111,110
'SatSunMon
notqueesosnumeroscorrespondenaunaletra...yhastasiestaenmayusculas...comodetrminasel
numero?...yese@0queasigna?
quehaceelDIMenbasic?
cuandolleguelarutinadelosmultiplexadospodemosprimerohaceruncontadorconlamisma
caracteristicayasotrosejemplosparaentenderlasrutinas
Saludosyexitos....porlatardevoymostrandoloqueserialarutina...eh.
Cheyo28
ImgenesAdjuntas
pines16f528a.PNG(337,8KB(Kilobytes),215visitas)
contador.PNG(238,8KB(Kilobytes),289visitas)
AmigoCheyorealizalassiguientesconfiguracioensatuprograma:
@DEVICEpic16F628A,INTRC_OSC_NOCLKOUT'OpcindelOscInterno
@DEVICEpic16F628A,WDT_ON'WatchdogTimerON
@DEVICEpic16F628A,PWRT_ON'PowerOnTimer
@DEVICEpic16F628A,BOD_ON
http://www.forosdeelectronica.com/f24/cursoprogramacionpicpicbasicpro20658/index2.html 32/53
10/6/2017 CursodeprogramacindePICenPICBasicPro
@DEVICEpic16F628A,MCLR_OFF'MasterClearOpcininterno
@DEVICEpic16F628A,LVP_OFF'Bajovoltajedeprogramacin
@DEVICEpic16F628A,CPD_OFF'ProteccindelcdigodememoriaOFF
@DEVICEpic16F628A,PROTECT_OFF'proteccindecdigoOFF
ledvarportb.0nombredelpin6
inicio:nombredesubrutinadeinicio
HIGHledenciendeelledqueestaconectadoenelpin6
pause1000Esperaunsegundo
lowledapagaelled
pause1000esperaunsegundo
gotoiniciocontinuaelprogramaparasiempre
endfindelprograma
ComotecomentabalomismoocurreconelAsmsedebeincluirunaslieasparaconfigurareloscilador
conelcualvahatrabajarelPICyaqueelprogrmadorqueposeeenotienelaopciondeconfigurarlo
comoelEpiwin800
teanexoprogramaenpicbasic,simulaciony.hex
ArchivosAdjuntos
Temassimilares
Respuesta:Cursoprogramaciondepicenbsicpro
biendejameverrealizareunomultiplexadoenestosdiassuboelcodigoyelprogramasuerteamigo
contuaprendizaje
Enlaimagenqueteanexoasiquedariaelcircuitoperotendriasquecambiardepica16f877asile
conectamoslosbotonesdeconfiguracionorealizarloconelpic16f628Aperosolamentaconlos
botonesdeconfiguraciondehorasyminutosyaquesenosvadepines.
opodriamosutilizarelcircuitoqueposteasteperoelmultiplexadonolorealizariaelpicsinoelintegrado
conectadoalosdisplayestoyprestoatuscomentarios
ArchivosAdjuntos
RELOJ.pdf(143,6KB(Kilobytes),548visitas)
RELOJ1.pdf(133,9KB(Kilobytes),418visitas)
Temassimilares
http://www.forosdeelectronica.com/f24/cursoprogramacionpicpicbasicpro20658/index2.html 33/53
10/6/2017 CursodeprogramacindePICenPICBasicPro
Respuesta:Relojdigital(PICDecodificadoresParte1)
BIenparanoolvidareltemayproyectodenuestroamigoCheyolaprimeraparteparaeldesarrollodel
RElojdigitalconseexplicaelmultiplexadoyconecciondedisplayalPIC16f628Acomoprogrmasen
BasicparaactivarlospinesdeI/OdelPIC.
ArchivosAdjuntos
Respuesta:Cursoprogramaciondepicenbsicpro
holachicos.yoporaquidenuevo.bueno,primerolequeriadarlasgraciasamecatrodatospor
ayudarmeconlodelservocaseropero,nopudehacerquefuncione...talvesseaquenosecomo
adaptarelprogramaamicircuito...enfin...graciasdetodasformas
enestecaso,lesqueriadejaruncontrolremotoserieproporcionaldepicapicquedisee.esdeun
solocanalperoconalgunasmodificacionesalprogramasepuedenlograrvarioscanales.loquetiene
debuenoestecircuito,esqueadiferenciadelquepostieanteriormente,cuandoelreceptordejade
recibirseal,losservosdesussalidasvuelvenacero.esperolesseadeutilidad.
saludosss.
ArchivosAdjuntos
Temassimilares
Temassimilares
Respuesta:Cursoprogramaciondepicenbsicpro
Paraeltemadehumedadtieneslaopciondeunciquehaceestalecturayquelopuedesconectar
facilmentealpic,paralawebesmassimplehaceuntempoatrasrealisealgoparecido.loquehaciaera
montarunservidor(apache)esteyavieneconfiguradoconphpenelappserverescosainstalaryya
tenestuservidorcorriendoparalawebdinamicautilseswishqueesparecidoamacromediaflashpero
muysimple.Enresumenconvisualbasicleialosdatosdelpicguardaestainfoenarchivodetextocada
ciertotiempoyalavesunscriotenphpleiestemismoarchivoydesplegabalainfoenlawebechaen
flash,asidefacilybonitovoyabuscarlosarchivosparaklosveass
eso
ysaludosss....
ArchivosAdjuntos
humedad.pdf(331,0KB(Kilobytes),299visitas)
http://www.forosdeelectronica.com/f24/cursoprogramacionpicpicbasicpro20658/index2.html 34/53
10/6/2017 CursodeprogramacindePICenPICBasicPro
webcontrol.rar(2,4KB(Kilobytes),270visitas)Respuesta:Cursoprogramaciondepicenbsicpro
Holafernando,despusdemuchashorasinvestigando(ydeponerpreguntasentodoslosforosque
conozco)hedadoconlaquecreoqueeslarespuesta.
HayqueusarelADCON1delasiguientemanera.
Pon1000,eneladresh,(porlodelADFM)ylos4bitssiguientesdependendelasentradasanalgicas
quevayasausar.
Enlatablaqueadjuntotesalenlosadresl.
Yotodabanolohepodidoprobarporqueestoyesperandoaquemelleguen216f877,encuantolos
tengaenmipoder,meloconello.
Yamedirssifunciona.
Saludos!
ImgenesAdjuntas
Temassimilares
Respuesta:Cursoprogramaciondepicenbsicpro
Lafunciondeautocalibraciondelospotesesasi...despuesusaslavariable"escala".
ImgenesAdjuntas
Respuesta:Cursoprogramaciondepicenbsicpro
primeroesobligatorioelusodeservos,puedesusarservostrucadosesunaalternativamirahe
intentadoesoenmicrocodeperonologreexitodependedelmicroquevayasausarpuedequete
ayudeestedocumentotedaunaideabastantebuenadeloquesevayaahacerpudesusarunL293D
paraactivarlosmotoresyatravezdeunmicroreceptoractivarlassalidasnecesariasparaunL293Dy
hacerquevayaadelanteatrasizquierdaderechayolologreenProtonperotalveztupuedashacerloasi
porqueaquienmipaisnosepuedeencontrarconfacilidadel16F84Aesmuycaroaqui
ArchivosAdjuntos
http://www.forosdeelectronica.com/f24/cursoprogramacionpicpicbasicpro20658/index2.html 35/53
10/6/2017 CursodeprogramacindePICenPICBasicPro
Respuesta:Cursoprogramaciondepicenbsicpro
holaamigos,estoyusandounpic16f88,ymehasidoimposibleutilizarelconversorA/D,simuloen
proteusynomefuncionalesadjuntolosarchivosparaversialguienmepuedeayudar,laideaesque
elledrojoenciendaalcomenzarelprograma,elazulcuandolaluzesbajayelverdecuandoesalta.
saludos!!
Cdigo:
defineosc20
DEFINEADC_BITS8
DEFINEADC_CLOCK3'USEA/DINTERNALRCCLOCK
DEFINEADC_SAMPLEUS50'SETSAMPLINGTIMEINuS
'VARIABLES
RESVARWORD'A/DCONVERTERRESULT
VOLTS1VARWORD'FIRSTPARTOFRESULTINmV
VOLTS2VARWORD'SECONDPARTOFRESULTINmV
'CONSTANTS
CONV1CON19'5000/256=19.53,THISISTHEDECIMALPART
CONV2CON53'THISISTHEFRACTIONALPART
TRISA=1'RA0(AN0)ISINPUT
TRISB=0'PORTBISOUTPUT
'INIATIALIZETHEA/DCONVERTER
ADCON1=0'MAKEAN0TOAN4ASANALOGINPUTS,MAKEREFERENCEVOLTAGE=VDD
ADCON0=%11000001'A/DCLOCKISINTERNALRC,SELECTCHANNELAN0,TURNONA/D
CONVERTER
HIGHPORTB.2
PAUSE3000
AGAIN:
'STARTA/DCONVERSION
ADCIN0,RES'READCHANNEL0DATA
VOLTS1=RES*CONV1'MULTIPLYBY19
VOLTS2=RES*CONV2'MULTIPLY53
http://www.forosdeelectronica.com/f24/cursoprogramacionpicpicbasicpro20658/index2.html 36/53
10/6/2017 CursodeprogramacindePICenPICBasicPro
VOLTS2=VOLTS2/100
VOLTS1=VOLTS1+VOLTS2'RESULTINmV
IFVOLTS1<2500THEN
HIGHPORTB.0
ELSE
HIGHPORTB.1
ENDIF
PAUSE2000
GOTOAGAIN
END
Aquiadjuntoelarchivoparaelproteus.
GRACIAS!
ArchivosAdjuntos
Temassimilares
CursoprogramaciondepicenbsicproPROYECTOSCONMOTORES
compartounaseriedeprogramasparamanejosdemotores,totalmentecomentadosconsurespectiva
simulacionenproteuscomocodigofuenteconelpic16f88enelcualalgunostienendudassobresu
utilizacion.
'Titulo
'****************************************************************
'*Name:Proyectoconmotores......servo1.pbp*
'*Author:MECATRODATOS*
'*Date:13/06/2010*
'****************************************************************
'Descripciondelprograma
'Programabsicoservoconelformatoparaelcontrolde
'PulsosdelservoconPicBasicProcomandoPULSOUT.
'Servociclosentrelaizquierday
'Lasposicionesdelasagujasdelreloj.
'Comentario
'CONELPIC16F88,asegresedeteneralimentacionporseparado
'SUMINISTROSPARAelPICYelSERVO.Usar9Vde
http://www.forosdeelectronica.com/f24/cursoprogramacionpicpicbasicpro20658/index2.html 37/53
10/6/2017 CursodeprogramacindePICenPICBasicPro
'Labateraydosreguladoresdevoltaje78L05.
'Tambin,inicializarelestadodePORTB,(PORTB=0),lomsbajo
'YaqueestablecerlapolaridaddeladeclaracinPULSOUT.
'Servos"podrsermodificadoohackeadoparapermitir
'larotacincontinuaypuedanserutilizados
'Comomotoresdepequeosrobots.Ellibro
'AmphibionicsporKarlWilliamsdaun
'Eneltratamientoafondosobrecmomodificarlosservos.
'ComandosPicBasicPro
'PULSOUTpin,perodo
'Estecomandoenvaunpulsoalaclavijaparaelperododefinido.
'
'Porejemplo:
'
'PULSOUT0.200EnvaunpulsoacaboenRB0pinespara2,0ms.
'Elperodo,(200),semultiplicaporel
'Incrementoparaunosciladorde4MHz(10us)
'Paraobtenerunpulsodetiempodeesperade2,0ms.
'
'Miraatualrededorenlapgina121PicBasicProManualdelcompilador
'
'OtrocomandoPBPquepodrsersustituidoporPULSOUT'EsPAUSEUS.
'PICConnecciones
'PIC16F88PinWiring
'
'RB0ServoControlWire
'Vdd+5V
'VssGround
'MCLR4.7KResistorto+5V
'Variables
iVARBYTE'BYTEparalavariablecontador,i
'Initialization
PORTB=%00000000'Eqivalenta:PORTB=0
'EstablecetodoslospinesPORTBaBAJO(0voltios)
'Asegresedeincluireste
'Inicializacinqueestablecela
http://www.forosdeelectronica.com/f24/cursoprogramacionpicpicbasicpro20658/index2.html 38/53
10/6/2017 CursodeprogramacindePICenPICBasicPro
'Correctapolaridaddelospulsosenelcomando
'PULSOUT.
'ParaestablecerunsolopinRB0como,a
'LOW,introduzcaPORTB.0=0.
ANSEL=0'Configuretodoslospinesaladigital
'OperacinyaquenoutilizaADC
'(Convertidoranalgicoadigital)
OSCCON=$60'Estableceelosciladorinternoenel
'16F88a4MHz
'CodigoPrincipal
loop:
Fori=1TO40'posicin:Hacialaizquierda
'Enviarlaseal40veces.Paracambiarelsentido
'Elservosemantieneenunaposicin,elcambio
'De40aotrovalor.
PulsOut0,100'Anchodepulso:
'EnvaunpulsoacaboenRB0pinespara1,0ms.
'Elperodo,(100),semultiplicaporel
'Incrementoparaunosciladorde4MHz(10us)
'Paraobtenerunpulsodetiempodeesperade1,0ms.
Pause201'Intervalodepulso:
'Unapausade20msdepulsomenorancho(1,0m)
'Estaecuacinmantieneelperodode
'Elpulsodelservouconstantede20ms,HIGH
'Por1msymsde19BAJO=20ms.
Nexti'Volveraladeclaracin
'Siguientecuenta
Fori=1TO40'Enviarlasealparaelgiromanecillasdelreloj
'40veces
PulsOut0,200'Anchodepulso:
'EnvaunpulsoacaboenRB0pinespara2,0ms.
'Elperodo,(200),semultiplicaporel
http://www.forosdeelectronica.com/f24/cursoprogramacionpicpicbasicpro20658/index2.html 39/53
10/6/2017 CursodeprogramacindePICenPICBasicPro
'Incrementoparaunosciladorde4MHz(10us)
'Paraobtenerunpulsodetiempodeesperade2,0ms.
Pause202'IntervalodePulso:
'Unapausade20msdepulsomenorancho(2,0m)
'Estaecuacinmantieneelperodode
'Elpulsodelservoconstantede20ms,HIGH
'Durante2msy18msparaBAJO=20ms.
Nexti'Volveraladeclaracin
'Siguientecuenta
gotoloop'Hacequeelprogramaseejecutesiempre
end
ArchivosAdjuntos
Cdigo:
'****************************************************************
'*Name:SERVO2.BAS*
'*Author:MECATRODATOS*
'****************************************************************
'Descripciondelprograma
'Girarservosenlasrotacionesdelasagujasdelrelojyensentidoantihorario
'
'ConnecCIONES
'Variables
p0 VAR BYTE 'Byteparaalmacenarlaposicindelservo
http://www.forosdeelectronica.com/f24/cursoprogramacionpicpicbasicpro20658/index2.html 40/53
10/6/2017 CursodeprogramacindePICenPICBasicPro
'Initialization
PORTB=%00000000 'Eqivalenta:PORTB=0
'EstablecetodoslospinesPORTBaBAJO(0voltios)
'Asegresedeincluiresta
'Inicializacinqueestablecela
'Correctapolaridaddelospulsosen
'ElcomandoPULSOUT.
OSCCON=$60 'Estableceelosciladorinternoenel
'16F88a4MHz
'codigoprincipal
loop:
'************Giroalaizquierda***********************************
Forp0=200TO100STEP1 'Modificarelvalordelpulsode2
msy
'1msenpasosde10.
'VersiguienteComando
PulsOut0,p0 'Envaunpulso,p0,sobre
pinRB0.
'Elperodo,p0,semultiplicaporel
'Incrementoparaunosciladorde4MHz
'(10us)paraobtenerunpulsodetiempode
espera.
'Porejemplo,sip0=200,
'200*10=nosotrosnos2000=2ms
Pause20p0/100 'Unapausade20msmenos
anchodepulso(p0/100)
'Sip0=200,=200/100=p0/1002ms.
'Estaecuacinmantieneelperodode
'Elpulsodelservounaconstantede20ms.
Nextp0'Volveraladeclaracindel
'Siguientevalordep0
http://www.forosdeelectronica.com/f24/cursoprogramacionpicpicbasicpro20658/index2.html 41/53
10/6/2017 CursodeprogramacindePICenPICBasicPro
'*******Rotacinhacialaderecha**************************
Forp0=100TO200 'Modificarelvalordelpulsode1
msy
'2msenpasosde10.
PulsOut0,p0 'Envaunpulso,p0,sobreRB0
alfiler.
'Tiempodeesperavaradeunpulsoms1,0
'A2,0ms.
Pause20p0/100 'Unapausade20msmenos
anchodepulso(p0/100)
Nextp0'Volveraladeclaracindel
'Siguientevalordep0
gotoloop'Hacequeelprogramaseejecutesiempre
end
'****Nota:elmismodiagramautilizadoenelprimerproyectosirveparalasimulacin******
ArchivosAdjuntos
Respuesta:Cursoprogramaciondepicenbsicpro
Mirateanexounaguaestaeninglesperotedaejemplosdecomotrabajarconelsoftware
ArchivosAdjuntos
Proyectosconmotores
AMPLIFICADORPARAMOTORES
Antesdeempezarnuestradiscusinsobreelcontroldemotores,vamosaecharunvistazoaalgunos
pequeosamplificadoresquepodemosutilizarparacontrolarnuestrosmotores.
Todoslosamplificadoresqueheseleccionadosonbaratosyfcilesdeusar.
Sinembargo,nodeberahaberningnproblemaconelusodeotrosamplificadores.Sideseapara
http://www.forosdeelectronica.com/f24/cursoprogramacionpicpicbasicpro20658/index2.html 42/53
10/6/2017 CursodeprogramacindePICenPICBasicPro
controlarunmotormsgrande,todoloquenecesitaesunamplificadormsgrande.
Lostresamplificadoressequeutilizanenlosproyectossoneconmicosyfcilderealizarparaejecutar
elcontroldemotoresde2ejesomotorespasoapaso.ElamplificadorL298esmsbarato,pero
tambinseocupademenosamperios.Elamplificadorqueheusadoparatodoslosexperimentosesel
amplificadorLMD18200T.
LostresamplificadorestomansealesTTLdirectamentedesdeelmicrocontroladoryelcontrolla
alimentacindelmotor.Cadamotorrequiereunafuentedealimentacincompatibleconlaalimentacin
quenecesitaelmotorylacapacidaddelamplificador.Lafuentedealimentacindelmicrocontroladory
lafuentedealimentacindelmotordebemantenerseseparadaentodaslascircunstanciasconslo
unaconexinatierracomn.Sinosehaceesto,elruidodelmotorcontaminarelpoderparael
microprocesadoryprovocaraproblemasgraves.
TodoslosmotoressonmuyruidososporloqueserefiereaelectrnicadeLPICydebeseraislado.El
ruidodelmotorprovienedelosconmutadoresdemotorydelarpidadesactivacindelasbobinasdel
motor.ApesardelaadicindepequeoscondensadoresatierradesdecadaTerminaldelmotory
ayudaatravsdelasterminales,nofuncionatanbiencomoundiseobienaislado.Puestoque
tenemosunaopcin,vamosautilizarfuentesdealimentacinindependientesentodosnuestros
experimentos.Cadaunodelosamplificadoresutilizaunoodoscircuitosintegradoscomocomponentes
desuamplificador,yalgunosauxiliaresequipadosconindicadoresLEDparaanunciarlascondiciones
internas.
Sinembargo,otrosdispositivospermitenlainterconexinalassealesqueelmicrocontrolador
proporcionasinlanecesidaddedispositivosintermedios.
NotassobreelhechoencasaAmplificadordeconstruccin
Aunqueustedpuedehacersupropioamplificador,norecomiendoquehagaotro.Losamplificadores
queesprobablequehayan(unaseriedelosdiseosestndisponiblesenInternet)esprobableque
seanpuentesHbastantesencillo.Amenosqueuncircuitomuchomssofisticados,seaadealcircuito
amplificadorbsico,esmuyfcildevolarunpuenteHmediantelaactivacindeambostransistoresen
cualquierladodelpuente,almismotiempo.
Porotraparte,siutilizamoscircuitosintegradosparaconstruirnuestrosamplificadores,estoscircuitos
escasiseguroquetienencircuitosdentrodeellosparaevitardaosencortocircuito,cierredesesin
enelsobrecalentamiento,yotrascaractersticastiles.Cuantomssofisticadoseaelcircuitotambin
proporcionalacapacidaddedetectarelapagadotrmicoyparamirarelflujodecorrienteatravsde
http://www.forosdeelectronica.com/f24/cursoprogramacionpicpicbasicpro20658/index2.html 43/53
10/6/2017 CursodeprogramacindePICenPICBasicPro
cadaamplificador.
Puestoquehayunaseriedeproveedoresquevendenbarato,loscomponentesautilizarparael
desarrollodelosamplificadores,nohayningunabuenaraznenestaetapadenuestroprocesode
aprendizajedenoutilizarestosrecursospararealizarestosamplificadoresycontrolarnuestros
motores.
ElamplificadorLMD18200T.
Elamplificadorqueheusadoparatodoslosexperimentos.Lasconexionesqueutilizaesteamplificador
seidentificanenFigura1.Cadaunodelosdosamplificadorespuedemanejarhasta3amperiosa55
VDC.Pulsoscortosde6amperiossontolerados.
Lapolaridaddelaalimentacindelamplificadorescrticaauquesepuedecolocarunaproteccina
travsdediodo4148.
Paranuestrospropsitoslospines1,2y3sepuedeutilizarparacontrolarlabobina/delmotor1,ylos
pines6,7,y8controldelabobina/elmotor2.
ElAmplificador33886
Siustednecesitaunamplificadordeunsoloeje,elamplificador33866deejenicoquesemuestraen
lafigura2esadecuadoparamotorespequeosquenecesitanmenosde5amperiosa40V.
HeutilizadoesteamplificadorparalospequeosexperimentosconelmotordeCC.Lasconexionesde
cableadodeesteamplificadorsonsencillas.Unacaractersticadeseguridaddeesteamplificador
proporcionaundiododeproteccincontralaconexinaccidentaldepolaridadinversaalconectorde
alimentacin.
CARACTERSTICAS:
poderenlapotenciadelmotorseconectaaestosdosterminales.Aunqueun
diododeproteccinseincluye,lapolaridaddelaconexindebeserobservada.
motordecorrientecontinuaAquesdondeelmotorestconectado.Lapolaridaddeestaconexinno
esimportante.Lasoperacionesdemotorsepuedeninvertirensoftware.
http://www.forosdeelectronica.com/f24/cursoprogramacionpicpicbasicpro20658/index2.html 44/53
10/6/2017 CursodeprogramacindePICenPICBasicPro
LEDsLostresLEDenlatarjetadeindicarlaoperacindelatarjetacomoelpoder
ysealesdecontrolseaplicanalatarjeta.
ElAmplificadorL2982Ejes
ElamplificadorL298decontroldedobleejesemuestraenlaFigura3consusconexionesdecableado
identificadas.Estecircuitopermitirelcontroldedosmotores.
ElamplificadorL298tieneunproblemaconlassealesPWMendeterminadascondicionesynodeben
serutilizadosenlosexperimentossofisticadosconmuchoscambiosdePWMambosejes
simultneamente.Hayalgunasinterferenciasyproblemasdeincumplimiento.Lacondicinnoinhibeel
usodeesteamplificadordebajocostoparaelfuncionamientodepequeosmotores.Setratadelms
baratoamplificadorintegradode2ejesqueustedpuedeconsiderarparaarmar.
ArchivosAdjuntos
figura1.rar(20,4KB(Kilobytes),288visitas)
figura3.rar(160,9KB(Kilobytes),251visitas)
Temassimilares
Respuesta:Cursoprogramaciondepicenbsicpro
jejedisculpaporlasmultiplesdudas!!!
peroauntengodemasiadas...
Estoyequivocadoencuantoaelcontroldelmotorpapquizanosoymuybuenoexplicandomejejejlo
quequierohaceresqueconpulsosvarielavelocidaddelmotoroelnumerodepasosdados.
Tengounaideadecomo,corrigemesiestoymaldefavor
Elmotorpapqueutilizotiene6hilos,2soncomunesylosotros4pertencenalasbobinas,simando
voltajeaunabobinadaciertospasos,silemandovoltajeaotrabobinacaminaotrosciertospasos.
Loquetengoquecontrolareseso.jejejenosoymuybuenoenestoapenasempiezo.
sequesehaceconif..then(lodeantirreboteafectaesto?)
esperoahorasihabermeeplicadobien
Porciertoaquiunvideodeloquequierohacer
salu2
Temassimilares
Respuesta:Cursoprogramaciondepicenbsicpro
hola,buenasquisieradarunpequeoaporteyversimepuedendarsuscriticasconstructivasal
respectoyporsupuestosihayalgunamejora.
setratadeunminuteroprogramablemuyparecidoaldeunmicrohondas,melomandaroncomoun
proyectodelauniv.concompuertasydemasperoquisenoenrollarmeyhableconelprofeyme
permitioutilizarunpicsiempreycuandocumplieraelcometidooseaprogramaruntiempoenminutosy
quealculminaroseallegaraceroesteenvieunaalarmapuescomovenesbiensencillomasel
programitamesalioalgolargoymecostoyaqueapesardetenerconosiendoalpicmasdeunaoa
penashelogradoutilizarunos30comandosdelpbpdelosmasde50quesepuedenusar.masque
tododebidoaquenohetenidotiempoparaponermemasdellenoconelpbp.enfinelprograma,me
gustariasabersiestabienosepuedemejorarutilizandootrasinstrucciones...deatemanomuchas
gracias...
ArchivosAdjuntos
Temassimilares
Respuesta:Cursoprogramaciondepicenbsicpro
Buenasdelminuterograciasporverloauilestraigounapequeamodificacionconunefectoanimadoy
ellogodelinstitutoaverquelesparecemeavisancualquiercosa.
ArchivosAdjuntos
http://www.forosdeelectronica.com/f24/cursoprogramacionpicpicbasicpro20658/index2.html 46/53
10/6/2017 CursodeprogramacindePICenPICBasicPro
Respuesta:Cursoprogramaciondepicenbsicpro
Estememarcaunerrorquenuncahabiavisto....quesera???
ImgenesAdjuntas
lubeckdijo:
Estememarcaunerrorquenuncahabiavisto....quesera???
EselProteus.
Tensdeclaradoslosfuentes(verimagen)yantesdeejecutarlosquierecompilar.Saltaelerrorporque
noencuentraalPBP.
EliminsesasdoslneasdesdeSource>Add/RemoveSourcefilesydesapareceelproblema.
(laotraesconfigurarelcaminoylosargumentosparacompilardesdeelProteus)
Bueno...desapareceeseyapareceotro
.Despusqueterminanlosmensajesinicialesempiezaadar"StackOverflow"
ImgenesAdjuntas
Respuesta:Cursoprogramaciondepicenbsicpro
porciertoesteprogramitameayudobastanteconloscaracteresyfigurasdelalcd
ArchivosAdjuntos
Respuesta:Cursoprogramaciondepicenbsicpro
holagente
lescuentoqueestoyintentandohacerunvariadorbrushlessconpic,yahiceunoconcomponentes
dicretosquefuncionaaquipuedenverloandando.esunpocovoluminosoycomplicadoasique,ahora
quierohacerloconunpicutilizandopbasicparaprogramarelmicropero,tengounproblema,
basandomeenelfuncionamientodelbldcdiscreto,hecreadounarutinaenpbasicqueasegunmis
calculos,deberiafuncionarigualperonofunciona.
acasuboelrarconeldiseocompletoysucodigofuenteenbasicparaversimepuedendaruna
manoyasisaberqueestoyhaciendomalparacorregirlo.loquehaceelcircuito,esdetectaruna
secuenciadenumerosbinariosdel1al6yasegunelnumeroqueentre,seraelestadoensussalidas.
http://www.forosdeelectronica.com/f24/cursoprogramacionpicpicbasicpro20658/index2.html 47/53
10/6/2017 CursodeprogramacindePICenPICBasicPro
saludosssatodos...
ArchivosAdjuntos
Respuesta:Cursoprogramaciondepicenbsicpro
holalubek.
acatedejolosarchivoslivewiredelbldcdiscreto.nosesihabrassimuladoelcircuitoenproteus,siasi
fue,debeshabernotadoquealpotenciometrololeebienyquelavariaciondelpwmescorrecta.el
problemaquetienemicircuito,esquelospuertosRB0aRB2nofuncionancomoelprogramaloindica.
cuandoenelprogramadice:
paso4:
pwm2,b0,5
high4
gotoloop
empiezaelproblemadequeelpuertoBnorespondecomodebiera.
veras,elcircuitoqueestoyintentandohacer,esunaespeciededecodificadorbinarioqueenfunciondel
numerobinarioquedetectaconmutadossalidasdelpicenviandoporuna,unpulsopwmyprlaotra,un
unologicosimultaneamente.
conesto,consigoconmutarlosmosfetsdelinversortrifacicosegunlasealdezerocrossingque
obtengodelcircuitoconlm324.
tengolaimpresiondequesepuededetectarnumerosbinariosdeotramaneraconpicbasicperonose
meocurremasqueloanterior...
acadejoelcodigopbp.
ahlubeck,elcmcon=7,esparadesactivarloscomparadoresdelpuertoAyconvertirlosenenE/S
digitalesyestomesirveporqueloqueestoyintentandodetectar,son1y0s
saludosss
Cdigo:
CMCON=7
TRISA=%00000000
porta=%00000000
trisb=%01110000
portb=%01110000
frecvarbyte
loop:
potportb.3,137,frec
ifportb.4=1thenpaso1
lowporta.0
lowportb.1
ifportb.5=1thenpaso2
http://www.forosdeelectronica.com/f24/cursoprogramacionpicpicbasicpro20658/index2.html 48/53
10/6/2017 CursodeprogramacindePICenPICBasicPro
lowporta.0
lowportb.2
ifportb.4andportb.5=1thenpaso3
lowporta.1
lowportb.2
ifportb.6=1thenpaso4
lowporta.1
lowportb.0
ifportb.4andportb.6=1thenpaso5
lowporta.2
lowportb.0
ifportb.5andportb.6=1thenpaso6
lowporta.2
lowportb.1
gotoloop
paso1:
PWMporta.0,frec,5
highportb.1
gotoloop
paso2:
PWMporta.0,frec,5
highportb.2
gotoloop
paso3:
pwmporta.1,frec,5
highportb.2
gotoloop
paso4:
pwmporta.1,frec,5
highportb.0
gotoloop
paso5:
pwmporta.2,frec,5
highportb.0
gotoloop
paso6:
pwmporta.2,frec,5
highportb.1
gotoloop
end
http://www.forosdeelectronica.com/f24/cursoprogramacionpicpicbasicpro20658/index2.html 49/53
10/6/2017 CursodeprogramacindePICenPICBasicPro
ArchivosAdjuntos
Temassimilares
erickpercydijo:
graciareyvillaporresponderperotratedecompilarloquemepusisteenelforoymesalenestos
errores
Hola:
Disculpavoyadarmiopinin.ElMicrocodequesupongoesqueestnusandotienedosopcionespara
usarundeterminadocompiladorquelovenen"View">"CompileandProgramOptions"porloquese,
escuandoseusanFusesyelcompiladorasociadoeselMPASMtegeneraerrorescomolosquetehan
salido.ParaarreglaresodebesusarelcompiladordelPicBasicqueesten"C:\PBP",entonceslos
asociaspormediodelbotnqueestenlaimagenluegodeesotedebeapareceralcostadola
direccindelcompilador"C:\PBP".
Intentaeso.
Saludos.
ImgenesAdjuntas
Temassimilares
mecatrodatosdijo:
BienamigoByAxelporcierto,unavezpreguntasteenestehilosobreelcompiladoryeditorparaPIC
delaserie18F"SwordfishIDE",tengovariosejemplosyunatutoratotalmenteterminadacomoel
casodelPROTONIDEquesolamentemefaltasubirlaspartesrestantesquesercuandotermine
dearreglarelcomputadorypasaralgunosartculosaPDF.Porloqueenesteforoquedaratodolo
dePICBasicparamicrocontroladores,enelhilodePBP,PROTONyunnuevoHILOSwordfishIDE
paraaquellosquedeseenescoger.
Impresionante
,realmentequierohacercosasconel"SwordfishIDE"...muybienrecibidalainfo
http://www.forosdeelectronica.com/f24/cursoprogramacionpicpicbasicpro20658/index2.html 50/53
10/6/2017 CursodeprogramacindePICenPICBasicPro
,encuantomeliberedealgunostrabajoslepongopilasalSwordfishparacolaborarconejemplosenel
respectivohilo.
SobrelosFusesparalosP18enelPBPmeheencontradoconvariosdetallesylosquepusistenome
funcion,buenoinvestigueunpocomsyloapliqueotraformausandoPBP2.60L+Microcode4para
aquellosquequieranmodificarlosFusesparalosP18:
1)EnmicasouseelMPASMdelacarpeta"C:\MCC18\mpasm"porquetengoelC18instalado(elPBP
nomevinoconelMPASMintegrado)abrirelarchivoP18Fxxxx.INC,enlaultimapartedelarchivo
estnlosFuses.
2)Ubicarelarchivo18Fxxxx.INC,enlacarpetadelPBPencasodelPIC18F2550es:
Cdigo:
NOLIST
ifdefPM_USED
LIST
"Error:PMdoesnotsupportthisdevice.UseMPASM."
NOLIST
else
LIST
LISTp=18F2550,r=dec,w=311,w=230,f=inhx32
INCLUDE"P18F2550.INC" ;MPASMHeader
__CONFIG_CONFIG1L,_PLLDIV_5_1L&_CPUDIV_OSC1_PLL2_1L&_USBDIV_2_1L
__CONFIG_CONFIG1H,_FOSC_HSPLL_HS_1H&_FCMEN_OFF_1H&_IESO_OFF_1H
__CONFIG_CONFIG2L,_PWRT_OFF_2L&_BOR_ON_2L&_BORV_3_2L&
_VREGEN_ON_2L
__CONFIG_CONFIG2H,_WDT_ON_2H&_WDTPS_512_2H
;__CONFIG_CONFIG3H,_CCP2MX_ON_3H&_PBADEN_OFF_3H&_LPT1OSC_OFF_3H&
_MCLRE_ON_3H
;__CONFIG_CONFIG4L,_STVREN_ON_4L&_LVP_OFF_4L&_XINST_OFF_4L
NOLIST
endif
LIST
EEPROM_START EQU 0F00000h
BLOCK_SIZE EQU 32
Dondesepuedereemplazardirectamentelaslneasqueempiezancon"__CONFIG"conla
configuracinquesequieradelarchivoP18Fxxxx.INCdelPICrespectivo(enestecaso,PIC18F2550).
3)Ocomentarlaslneas__CONFIGcon''paraevitarquesalgaerroresaldeclararlosfusesenel
http://www.forosdeelectronica.com/f24/cursoprogramacionpicpicbasicpro20658/index2.html 51/53
10/6/2017 CursodeprogramacindePICenPICBasicPro
mismoarchivodelprograma(.bas,.pbp)ydeesemodorecinelcompiladoraceptaladeclaracin
como:
Cdigo:
@__CONFIG_CONFIG1L,_PLLDIV_5_1L&_CPUDIV_OSC1_PLL2_1L&_USBDIV_2_1L
@__CONFIG_CONFIG1H,_FOSC_HS_1H
@__CONFIG_CONFIG2H,_WDT_ON_2H&_WDTPS_128_2H
@__CONFIG_CONFIG3H,_PBADEN_OFF_3H
@__CONFIG_CONFIG4L,_LVP_OFF_4L&_ICPRT_OFF_4L&_XINST_OFF_4L
ocomopongoenlapruebaquerealicparaPBP:
Cdigo:
'****************************************************************
'PIC18F2550,pruebageneradordemediaonda
'****************************************************************
@CONFIGPLLDIV=5,CPUDIV=OSC1_PLL2,USBDIV=2
@CONFIGFOSC=HS
@CONFIGBOR=ON,BORV=1
@CONFIGWDT=OFF,WDTPS=32768
@CONFIGMCLRE=OFF
@CONFIGSTVREN=ON,LVP=OFF,XINST=OFF,DEBUG=OFF
defineOSC20
CNTvarbyte
clear
ADCON1=15
TRISB=0
LATB=0
Main:
forcnt=0to127
LATB=sincnt
pause1
nextcnt
gotomain
end
Meavisansimeequivoqueenalgo
http://www.forosdeelectronica.com/f24/cursoprogramacionpicpicbasicpro20658/index2.html 52/53
10/6/2017 CursodeprogramacindePICenPICBasicPro
saludos.
ImgenesAdjuntas
Respuesta:Cursoprogramaciondepicenbsicpro
holagentedelforo.
bueno,acaestoydenuevo,pidiendovuestraayudajeje
...nosinantes,dejarunpequeoaportitoacambio.setratadeuntacometroparamotoresDCcomo
losdeaeromodelismo.estaprobadoenproteusynosecualesellimitedeRPMsquepuedemedir.
ahorapasemosamiduda...bueno,pasaquenotengoporahoraeldisplaydeesteproyectoyme
gustariahacerloyaque,meseriadegranutilidad.resultaquetengounlcddeunnokia1100yme
gustariaadaptarloparaesteproyecto,utilizandocomolenguajedeprogramacion,picbasic.tengoel
pinoutdeestedisplayyhevistoenelforocomoseconecta,peroloquenose,escomocambiarla
comunicacionentreelpicyeldisplaynokia
yaque,enestetacometro,lacomunicacionesenparaleloyeldisplaynokia,esseriesincronico.
acasosepodriausarlainstruccionSHIFTOUTparacontrolarlo?ustedesqueopinan?comopuedo
hacerparaadaptarloamidiseo?gracias.
saludosss
ImgenesAdjuntas
http://www.forosdeelectronica.com/f24/cursoprogramacionpicpicbasicpro20658/index2.html 53/53