Professional Documents
Culture Documents
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/index3.html 1/92
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/index3.html 2/92
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/index3.html 3/92
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/index3.html 4/92
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/index3.html 5/92
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/index3.html 6/92
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/index3.html 7/92
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/index3.html 8/92
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/index3.html 9/92
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/index3.html 10/92
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/index3.html 11/92
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/index3.html 12/92
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/index3.html 13/92
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/index3.html 14/92
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/index3.html 15/92
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/index3.html 16/92
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/index3.html 17/92
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/index3.html 18/92
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/index3.html 19/92
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/index3.html 20/92
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/index3.html 21/92
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/index3.html 22/92
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
deluces.Mipreguntaes:sinosoloquisieraconectarunsololed
http://www.forosdeelectronica.com/f24/cursoprogramacionpicpicbasicpro20658/index3.html 23/92
10/6/2017 CursodeprogramacindePICenPICBasicPro
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/index3.html 24/92
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.
QuetalvamosaponerelsiguientecodigodecomunicacionspiatravesdeHardware(manipulacionde
http://www.forosdeelectronica.com/f24/cursoprogramacionpicpicbasicpro20658/index3.html 25/92
10/6/2017 CursodeprogramacindePICenPICBasicPro
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
SSPIF=0'Bufferdeestadocompleto
http://www.forosdeelectronica.com/f24/cursoprogramacionpicpicbasicpro20658/index3.html 26/92
10/6/2017 CursodeprogramacindePICenPICBasicPro
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
SSPENVARSSPCON.5'HabilitarbitSSP
http://www.forosdeelectronica.com/f24/cursoprogramacionpicpicbasicpro20658/index3.html 27/92
10/6/2017 CursodeprogramacindePICenPICBasicPro
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/index3.html 28/92
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/index3.html 29/92
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)
microcontrollerbaseddigitalblueclock.jpg(82,5KB(Kilobytes),396visitas)Respuesta:Curso
http://www.forosdeelectronica.com/f24/cursoprogramacionpicpicbasicpro20658/index3.html 30/92
10/6/2017 CursodeprogramacindePICenPICBasicPro
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
mesesydiasenellcd
http://www.forosdeelectronica.com/f24/cursoprogramacionpicpicbasicpro20658/index3.html 31/92
10/6/2017 CursodeprogramacindePICenPICBasicPro
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
@DEVICEpic16F628A,MCLR_OFF'MasterClearOpcininterno
@DEVICEpic16F628A,LVP_OFF'Bajovoltajedeprogramacin
http://www.forosdeelectronica.com/f24/cursoprogramacionpicpicbasicpro20658/index3.html 32/92
10/6/2017 CursodeprogramacindePICenPICBasicPro
@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
Respuesta:Relojdigital(PICDecodificadoresParte1)
http://www.forosdeelectronica.com/f24/cursoprogramacionpicpicbasicpro20658/index3.html 33/92
10/6/2017 CursodeprogramacindePICenPICBasicPro
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)
webcontrol.rar(2,4KB(Kilobytes),270visitas)Respuesta:Cursoprogramaciondepicenbsicpro
http://www.forosdeelectronica.com/f24/cursoprogramacionpicpicbasicpro20658/index3.html 34/92
10/6/2017 CursodeprogramacindePICenPICBasicPro
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
Respuesta:Cursoprogramaciondepicenbsicpro
holaamigos,estoyusandounpic16f88,ymehasidoimposibleutilizarelconversorA/D,simuloen
http://www.forosdeelectronica.com/f24/cursoprogramacionpicpicbasicpro20658/index3.html 35/92
10/6/2017 CursodeprogramacindePICenPICBasicPro
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
VOLTS2=VOLTS2/100
VOLTS1=VOLTS1+VOLTS2'RESULTINmV
IFVOLTS1<2500THEN
http://www.forosdeelectronica.com/f24/cursoprogramacionpicpicbasicpro20658/index3.html 36/92
10/6/2017 CursodeprogramacindePICenPICBasicPro
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
'Labateraydosreguladoresdevoltaje78L05.
'Tambin,inicializarelestadodePORTB,(PORTB=0),lomsbajo
'YaqueestablecerlapolaridaddeladeclaracinPULSOUT.
http://www.forosdeelectronica.com/f24/cursoprogramacionpicpicbasicpro20658/index3.html 37/92
10/6/2017 CursodeprogramacindePICenPICBasicPro
'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
'Correctapolaridaddelospulsosenelcomando
'PULSOUT.
'ParaestablecerunsolopinRB0como,a
http://www.forosdeelectronica.com/f24/cursoprogramacionpicpicbasicpro20658/index3.html 38/92
10/6/2017 CursodeprogramacindePICenPICBasicPro
'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
'Incrementoparaunosciladorde4MHz(10us)
'Paraobtenerunpulsodetiempodeesperade2,0ms.
http://www.forosdeelectronica.com/f24/cursoprogramacionpicpicbasicpro20658/index3.html 39/92
10/6/2017 CursodeprogramacindePICenPICBasicPro
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
'Initialization
http://www.forosdeelectronica.com/f24/cursoprogramacionpicpicbasicpro20658/index3.html 40/92
10/6/2017 CursodeprogramacindePICenPICBasicPro
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
'*******Rotacinhacialaderecha**************************
http://www.forosdeelectronica.com/f24/cursoprogramacionpicpicbasicpro20658/index3.html 41/92
10/6/2017 CursodeprogramacindePICenPICBasicPro
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
controlarunmotormsgrande,todoloquenecesitaesunamplificadormsgrande.
Lostresamplificadoressequeutilizanenlosproyectossoneconmicosyfcilderealizarparaejecutar
http://www.forosdeelectronica.com/f24/cursoprogramacionpicpicbasicpro20658/index3.html 42/92
10/6/2017 CursodeprogramacindePICenPICBasicPro
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
cadaamplificador.
Puestoquehayunaseriedeproveedoresquevendenbarato,loscomponentesautilizarparael
http://www.forosdeelectronica.com/f24/cursoprogramacionpicpicbasicpro20658/index3.html 43/92
10/6/2017 CursodeprogramacindePICenPICBasicPro
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.
LEDsLostresLEDenlatarjetadeindicarlaoperacindelatarjetacomoelpoder
ysealesdecontrolseaplicanalatarjeta.
http://www.forosdeelectronica.com/f24/cursoprogramacionpicpicbasicpro20658/index3.html 44/92
10/6/2017 CursodeprogramacindePICenPICBasicPro
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
http://www.forosdeelectronica.com/f24/cursoprogramacionpicpicbasicpro20658/index3.html 45/92
10/6/2017 CursodeprogramacindePICenPICBasicPro
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
Respuesta:Cursoprogramaciondepicenbsicpro
Estememarcaunerrorquenuncahabiavisto....quesera???
http://www.forosdeelectronica.com/f24/cursoprogramacionpicpicbasicpro20658/index3.html 46/92
10/6/2017 CursodeprogramacindePICenPICBasicPro
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.
saludosssatodos...
ArchivosAdjuntos
Respuesta:Cursoprogramaciondepicenbsicpro
http://www.forosdeelectronica.com/f24/cursoprogramacionpicpicbasicpro20658/index3.html 47/92
10/6/2017 CursodeprogramacindePICenPICBasicPro
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
lowporta.0
lowportb.2
ifportb.4andportb.5=1thenpaso3
lowporta.1
lowportb.2
http://www.forosdeelectronica.com/f24/cursoprogramacionpicpicbasicpro20658/index3.html 48/92
10/6/2017 CursodeprogramacindePICenPICBasicPro
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
ArchivosAdjuntos
Temassimilares
http://www.forosdeelectronica.com/f24/cursoprogramacionpicpicbasicpro20658/index3.html 49/92
10/6/2017 CursodeprogramacindePICenPICBasicPro
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
,encuantomeliberedealgunostrabajoslepongopilasalSwordfishparacolaborarconejemplosenel
respectivohilo.
SobrelosFusesparalosP18enelPBPmeheencontradoconvariosdetallesylosquepusistenome
funcion,buenoinvestigueunpocomsyloapliqueotraformausandoPBP2.60L+Microcode4para
aquellosquequieranmodificarlosFusesparalosP18:
http://www.forosdeelectronica.com/f24/cursoprogramacionpicpicbasicpro20658/index3.html 50/92
10/6/2017 CursodeprogramacindePICenPICBasicPro
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
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
http://www.forosdeelectronica.com/f24/cursoprogramacionpicpicbasicpro20658/index3.html 51/92
10/6/2017 CursodeprogramacindePICenPICBasicPro
@__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
saludos.
ImgenesAdjuntas
Respuesta:Cursoprogramaciondepicenbsicpro
holagentedelforo.
http://www.forosdeelectronica.com/f24/cursoprogramacionpicpicbasicpro20658/index3.html 52/92
10/6/2017 CursodeprogramacindePICenPICBasicPro
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
Temassimilares
Respuesta:Cursoprogramaciondepicenbsicpro
bienaquestaellcdlaconexindelLCDNOKIA3110porhaytengolaslibreriaparaponerloatrabajar
enproteusaunquelaultimaversiontraeel7110.
listomireenmipcyencontrlaslibrerasycircuitosdeconexinparalasimulacindepantallasNokia
331066107710compatiblescon1100
ArchivosAdjuntos
lcdNokia.rar(17,8KB(Kilobytes),307visitas)
ProteusModel.zip(29,3KB(Kilobytes),300visitas)
3310LCD.pdf(805,7KB(Kilobytes),296visitas)
esquematico.rar(74,3KB(Kilobytes),254visitas)
esquematico3310.rar(33,3KB(Kilobytes),224visitas)
http://www.forosdeelectronica.com/f24/cursoprogramacionpicpicbasicpro20658/index3.html 53/92
10/6/2017 CursodeprogramacindePICenPICBasicPro
LIBRARY6610.rar(3,4KB(Kilobytes),213visitas)
MODELS6610.rar(10,1KB(Kilobytes),205visitas)
Temassimilares
Respuesta:Cursoprogramaciondepicenbsicpro
Intentemosloasi...
ArchivosAdjuntos
Respuesta:Cursoprogramaciondepicenbsicpro
losdiodosigualsiquieresponerlos....
Pruebaasi...
EDITOlosnegativosdeambasfuenteslosunes...paraqueambasseantierras...
ImgenesAdjuntas
Temassimilares
Respuesta:Cursoprogramaciondepicenbsicpro
holaatodos,amilosfuseslospongosparaahorrarmetrabajoalahoradeprogramarelpicperoen
basicestosfusesmedanerrorylospongoenformacorrectaalguiensabelacausadeestoserrores?
lesdejounaimagendondesaleerror.saludos.
ImgenesAdjuntas
Respuesta:Cursoprogramaciondepicenbsicpro
Supongoquesinfusestecompila,entonceslacausadelerrorpuedequesealaconfiguracindel
compiladoryaqueunavezmesucedialgoparecido.Asegratequeelcompiladorseadelpbpque
estenladireccinC:\PBPcomoenlaimagen.
Unsaludo
ImgenesAdjuntas
ByAxeldijo:
Supongoquesinfusestecompila,entonceslacausadelerrorpuedequesealaconfiguracindel
compiladoryaqueunavezmesucedialgoparecido.Asegratequeelcompiladorseadelpbpque
http://www.forosdeelectronica.com/f24/cursoprogramacionpicpicbasicpro20658/index3.html 54/92
10/6/2017 CursodeprogramacindePICenPICBasicPro
estenladireccinC:\PBPcomoenlaimagen.
Unsaludo
Si!!losprogramassecompilanormalmentesinlosfuses,puesbienelPBPlotengoinstaladodentrola
carpetadelmicrocode,dejameprobarusandolarutaC:/paraverquetal.
puesbiencoloquetodoenC:/ynadasiguedandomeelmismoerrorandousandoelPBP2.5yel
microstudio3.0.0.5
ImgenesAdjuntas
Temassimilares
Respuesta:Cursoprogramaciondepicenbsicpro
Saludos,ungustoescribirunavezmasaca,soynuevoenestodelastransmisionesva
radiofrecuencia,lescomentoqueestoyrealizandounproyectoconunsensordetemperaturacuya
lecturasevisualizarenunlcdviarf.
Enelsiguientecircuitoqueadjuntousoelconversora/ddelpic16f877aparavisualizarlalecturaenen
lcd1deesepicyfuncionacorrectamente,perocuandodeseovisualizarloenelreceptor(pic16f628a)
nomemuestralecturaalguna,paralatransmisinusounosmodulosa315Mhz(adjuntoeldatasheet)y
elcodificadorydecodificadorht12e/ht12d,hecomprobadoqueelmodulofuncionacorrectamentehe
probadotransmitiendo1bityefectivamenterecibecorrectamenteeldatoqueenvio,miproblemaesel
siguiente:
Conectoelpin39delpic16f877aamientradadelencoder(pin10),conectolasalidadeldecoder
(pin10)alpinasignadoparalarecepciondedatosporta.0delpic16f628a(pin17),peronologro
visualizareldatoqueenvio,ybuenoenesemismoinstanteparacomprobarnuevamenteelestadode
transmisinpruebotransmitiendobitsyefectivamentehaytransmisionyrecepcinsinembargono
logrovisualizareldatoquenecesito.
Lasalidadeldelpin39delpic16f877acorrespondealdatoquealmacenodemiconversora/dpara
luegotransmitirlo,heprobadolatransmisindirectausandouncableparaunirelpin39del16f877ay
elpin17del16f628ayfunciona,buenodeesaformalogrovisualizarlalecturadeldatoquedeseo
enviarporloquecreoelprogramafuncionacorrectamente.
Algunasugerenciaparasolucionarmiproblemaseriabienrecibidaymuyagradecida.
Adjuntoelesquemaquerealiceencasosirvadealgoparasuilustracinenpdf.
Incluyofragmentosdelprogramaqueuso,estahechoenmicrocodestudio,talvezestoyomitiendoalgo
ocometounerroryesasealaraznporlacualnofuncione.
http://www.forosdeelectronica.com/f24/cursoprogramacionpicpicbasicpro20658/index3.html 55/92
10/6/2017 CursodeprogramacindePICenPICBasicPro
TX:
Cdigo:
DEFINEosc4
DEFINELCD_BITS4
defineLCD_DREGPORTB;bitdedatosdelLCDempezando
defineLCD_DBIT0;porB.0.B.1,B.2,B.3
defineLCD_RSREGPORTB;bitderegistrodelLCDconectar
defineLCD_RSBIT5;enelpuertoB.5
pause2000
defineLCD_EREGPORTB;bitdeenableconectarenel
defineLCD_EBIT4;puertoB.4
defineADC_BITS8;FijeelnmerodeBITSdelresultado
(5,8,10)
defineADC_CLOCK3;FijeELCLOCK(rc=3)
defineADC_SAMPLEUS50;FijeeltiempodemuestreoenUs
;ADC_SAMPLEUSeselnmerode
microsegundosqueelprograma
;esperaentrefijarelcanalycomenzar
laconversinanalgica/digital
TRISA=1;elpuertoAesdeentrada
ADCON1=%00001110;elpuertoA.0esconversorlosdems
digitales
TRISB=0;elpuertobessalidadadatos
datovarword;crearvariabledatoparaguardar
tempbajvarbyte
tempaltvarbyte
xvarbyte
releFvarportD.2
releCvarportD.3
ledvarportD.4
entervarportD.5
bsubirvarportD.6
bbajarvarportD.7
EEPROM0,[20,26];contenidoinicialdelaEEPROM
SymbolN2400=4
inicio:;3parpadeosdelledqueindicaque
http://www.forosdeelectronica.com/f24/cursoprogramacionpicpicbasicpro20658/index3.html 56/92
10/6/2017 CursodeprogramacindePICenPICBasicPro
funciona
forx=1to3
highled
pause200
lowled
pause200
next
READ0,tempbaj;leelaEEPROM0yloguardaentempbaj
read1,tempalt;leelaEEPROM1yloguardaentempalt
sensar:
adcin0,dato;leeelcanal0(A0)yguardaendato
seroutPORTB.6,N2400,[dato];EnvalosdatosporRB0
LCDOUT$FE,1,"T.miT.actuT.ma";limpiaelLCDymuestraeltexto
dato=dato/2;eldatodividirpara2
LCDout$FE,$c6,decdato,"C";muestraeldecimaldedato
LCDout$FE,$c0,dectempbaj,"C";muestraeldecimaldetempbaj
LCDout$FE,$cc,dectempalt,"C";muestraeldecimaldetempalt
forx=1to50;repetir50veces
ifenter=0thengrabarla
pause10
next
ifdato<tempbajthencalentar;sidatoes<tempbajiracalentar
ifdato>tempaltthenenfriar;sidatoes>tempaltiraenfriar
lowrelec:lowreleF
gotosensar
enfriar:
HIGHreleF:lowreleC
gotosensar
calentar:
HIGHreleC:lowreleF
gotosensar
grabarla:
gosubsoltar
http://www.forosdeelectronica.com/f24/cursoprogramacionpicpicbasicpro20658/index3.html 57/92
10/6/2017 CursodeprogramacindePICenPICBasicPro
grabar1:
LCDOUT$fe,1,"ProgramarTemp."
lcdout$fe,$c0,"baja=",dectempbaj,"C"
pause100
ifbbajar=0thenrestar1
ifbsubir=0thensumar1
ifenter=0thengrabarA
gotograbar1
restar1:
gosubsoltar;programaantirebotedetecla
iftempbaj<1thengrabar1
tempbaj=tempbaj1
gotograbar1
sumar1:
gosubsoltar
iftempbaj>40thengrabar1
tempbaj=tempbaj+1
gotograbar1
grabarA:
gosubsoltar
write0,tempbaj;escribirenladirecciom0dela
EEPROM
grabar2:
LCDOUT$fe,1,"ProgramarTemp."
LCDOUT$fe,$c0,"alta=",dectempalt,"C"
pause100
ifbbajar=0thenrestar2
ifbsubir=0thensumar2
ifenter=0thengrabarB
gotograbar2
http://www.forosdeelectronica.com/f24/cursoprogramacionpicpicbasicpro20658/index3.html 58/92
10/6/2017 CursodeprogramacindePICenPICBasicPro
restar2:
gosubsoltar
iftempalt<5thengrabar2
tempalt=tempalt1
gotograbar2
sumar2:
gosubsoltar
iftempalt>50thengrabar2
tempalt=tempalt+1
gotograbar2
grabarB:
gosubsoltar
write1,tempalt;escribirenladireccion1dela
EEPROM
gotoinicio
soltar;antirebotedetecla
HIGHled
pause150
lowled
soltar2:
ifbbajar=0thensoltar2
ifbsubir=0thensoltar2
ifenter=0thensoltar2
pause100
return
end
RX:
Cdigo:
DEFINEosc4
defineLCD_DREGPORTB;bitdedatosdelLCDempezando
defineLCD_DBIT0;porB.0.B.1,B.2,B.3
defineLCD_RSREGPORTB;bitderegistrodelLCDconectar
defineLCD_RSBIT5;enelpuertoB.5
pause2000
defineLCD_EREGPORTB;bitdeenableconectarenel
http://www.forosdeelectronica.com/f24/cursoprogramacionpicpicbasicpro20658/index3.html 59/92
10/6/2017 CursodeprogramacindePICenPICBasicPro
defineLCD_EBIT4;puertoB.4
DEFINELCD_BITS4
cmcon=7
TRISB=0
datovarword;crearvariabledatoparaguardar
xvarbyte
ledvarportB.6
SymbolN2400=4
inicio:
forx=1to3;3parpadeosdelledqueindicaque
funciona
highled
pause200
lowled
pause200
next
sensar:
serinPORTA.0,N2400,dato
LCDOUT$FE,1,"TempActual";limpiaelLCDymuestraeltexto
dato=dato/2;eldatodividirpara2
LCDout$FE,$c6,decdato,"C"
end
datahsheetmodulo:
http://electronicahifi.com/pdf/212strx04a.pdf
p.d.1.Subirelesquemticoenpdfparaquetenganunavisualizacindelcircuito.
p.d.2.Pidodisculpasporelpostenlaseccinquenocorresponda,enrealidadporelapuronopude
verqueestabaabiertoestetopicsobrelaprogramacinenpbp
ArchivosAdjuntos
Respuesta:Cursoprogramaciondepicenbsicpro
http://www.forosdeelectronica.com/f24/cursoprogramacionpicpicbasicpro20658/index3.html 60/92
10/6/2017 CursodeprogramacindePICenPICBasicPro
holaalex.
laverdadqueporfaltadeunlcd,nohetenidolaoportunidaddeprobareltacometroenlarealidad,al
circuitolosaquedeunlibrodepbasicquetengo,ylemodifiquelassalidasporquenomefuncionaba
asiconproteus.tepasolaimagendeldiseocompletoporquellevaunaetapadeentradacon
optoacopladorquenoestaenelcircuitoanterior,probaloasi.NOTA:paraquefuncionecomoeldeesta
imagen,hayquemodificarelprograma
Sobreloquetecoment,sobrequenofuncionabanlosprogramasenelProteuslasolucinbieneen
ponerunaresistenciaentreel"RS"delLCDyel+5,deestamanerasalelalectura
puessitefijasenelcircuito,elpinrsdellcd,vaconectadoalRB1delmicro.
saludosss
ImgenesAdjuntas
Temassimilares
Respuesta:Cursoprogramaciondepicenbsicpro
Saludos,tengoesteerror.
Esperoalguienmepuedaayudar.Gracias
ImgenesAdjuntas
Temassimilares
Temassimilares
Respuesta:Cursoprogramaciondepicenbsicpro
Holanuevamente,
Ysigoconlamolestadera.Aquadjuntolasimulacindelquemepresentavariasalertascuandoseha
digitadolaclavevariasvecesaversialguienmesabeorientardelporqudeestosmensajes.
Nuevamentegraciasaquiendecidacolaborarme.
ArchivosAdjuntos
Respuesta:Cursoprogramaciondepicenbsicpro
Viggiani...
puselaclaveconcuatrodigitoses5678...
http://www.forosdeelectronica.com/f24/cursoprogramacionpicpicbasicpro20658/index3.html 61/92
10/6/2017 CursodeprogramacindePICenPICBasicPro
conel*(asterisco)seborralodigitado...
tienemuchosdetallestucodigoyelesquemacomparaloconelquepuse...
aversiesloquenecesitas...
ArchivosAdjuntos
Respuesta:Cursoprogramaciondepicenbsicpro
Cmoeliminoeldetallequememandaelmensajequeindicaqueseexcedelavelocidadrealoalgo
assegnloqueentiendoenlasimulacin?
avecesesporlaanimaciones...
abrelaventanaenmenu:system>setanimationoptions...
yvesiestaasi...
ImgenesAdjuntas
Viggiani...
ahoralequieroagregarparacambiarlaclave
codigoconcambiodeclave...
paracambiarclavetienequeestarapagadalaalarma(LEDOFFopuertoSalida)ypresionarMichi(#)e
introducirlanuevaclavede4digitos...
Cdigo:
@DEVICEpic16F628A
@DEVICEINTRC_OSC_NOCLKOUT'OpcindelOscInterno
@DEVICEWDT_Off'WatchdogTimerON
@DEVICEPWRT_Off'PowerOnTimer
@DEVICEBOD_Off
@DEVICEMCLR_Off'MasterClearOpcininterno
@DEVICELVP_Off'Bajovoltajedeprogramacin
@DEVICECPD_Off'ProteccindelcdigodememoriaOFF
@DEVICEPROTECT_Off'proteccindecdigoOFF
DefineOsc4
CmCon=7
TrisA=%00001111
TrisB=0
EEPROM0,[5,6,7,8]
http://www.forosdeelectronica.com/f24/cursoprogramacionpicpicbasicpro20658/index3.html 62/92
10/6/2017 CursodeprogramacindePICenPICBasicPro
DEFINELCD_DREGPORTB'UTILIZAR4BITSDELPUERTOBPARATXDEDATOS
DEFINELCD_DBIT4'DESDEELBITB.4ALBITB.7
DEFINELCD_RSREGPORTB'UTILIZARELREGISTRODECONTROL/DATOSENELPUERTOB
DEFINELCD_RSBIT1'ENELBITB.1
DEFINELCD_EREGPORTB'UTILIZARELENABLEENELPUERTOB
DEFINELCD_EBIT3'ENELBITB.3
'
XVARBYTE
ALMACENVARBYTE[4]
EPROMVARBYTE[4]
SALIDAVARPORTB.2
Flagvarbit
Contvarbyte
Var1varword
'
COLUMNA1VARPORTA.4
COLUMNA2VARPORTA.7
COLUMNA3VARPORTA.6
FILA1VARPORTA.0
FILA2VARPORTA.1
FILA3VARPORTA.2
FILA4VARPORTA.3
'
x=0
forcont=0to3
READcont,EPROM[cont]
nextcont
'
flag=0
gosubmmenu
lowsalida
highporta.5
Inicio:
CallTeclado
GOTOINICIO
END
Teclado:
http://www.forosdeelectronica.com/f24/cursoprogramacionpicpicbasicpro20658/index3.html 63/92
10/6/2017 CursodeprogramacindePICenPICBasicPro
highCOLUMNA1'Columna1=0
IfFILA1ThenVAR1=1:gosubkeyc'tecla"1"
IfFILA2ThenVAR1=4:gosubkeyc 'tecla"4"
IfFILA3ThenVAR1=7:gosubkeyc 'tecla"7"
IfFILA4ThenVAR1=10:gosubkeyc 'tecla"*"
lowCOLUMNA1'Columna1=1
highCOLUMNA2'Columna2=0
IfFILA1ThenVAR1=2:gosubkeyc'tecla"2"
IfFILA2ThenVAR1=5:gosubkeyc 'tecla"5"
IfFILA3ThenVAR1=8:gosubkeyc'tecla"8"
IfFILA4ThenVAR1=11:gosubkeyc 'tecla"0"
lowCOLUMNA2'Columna2=1
highCOLUMNA3'Columna3=0
IfFILA1ThenVAR1=3:gosubkeyc 'tecla"3"
IfFILA2ThenVAR1=6:gosubkeyc 'tecla"6"
IfFILA3ThenVAR1=9:gosubkeyc 'tecla"9"
IfFILA4ThenVAR1=12:gosubkeyc 'tecla"#"
lowCOLUMNA3
RETURN
keyC:
ifvar1=12then
ifnotsalidathentoggleflag:x=0:gosubmMenu
else
ALMACEN[X]=VAR1
LCDOUT$FE,$C6+x,"*"
x=x+1
ifx=>4thenGosubverificar
ifvar1=10thenLCDOut$FE,1,"DIGITELACLAVE":X=0
endif
PAUSE500
Return
mMenu:
ifflagthen
lcdout$FE,1,"INTRODUCIRCLAVE":
else
lcdout$FE,1,"DIGITECLAVE":
endif
return
http://www.forosdeelectronica.com/f24/cursoprogramacionpicpicbasicpro20658/index3.html 64/92
10/6/2017 CursodeprogramacindePICenPICBasicPro
VERIFICAR:
IFFLAGTHEN
forcont=0to3
WRITEcont,almacen[cont]:pause10
readcont,eprom[cont]
nextcont
LCDOut$FE,1,"CAMBIOCLAVE"
ELSE
X=1
forCont=0to3
ifalmacen[cont]<>eprom[cont]thenx=0
nextcont
ifx=1THEN
TOGGLESALIDA
LCDOut$FE,1,"CAMBIODEESTADO"
else
LCDOut$FE,1,"CLAVEINCORRECTA"
ENDIF
ENDIF
pause500
flag=0
gosubmmenu
X=0
return
ImgenesAdjuntas
Respuesta:Cursoprogramaciondepicenbsicpro
buenasagradezcolainformacinquesecomparteenesteforoydeseoplantearuninconveniente
estoyrealizandounprogramaenmicrocodestudioconelpic18f4550peroalcompilarmeaparece
estoserrores:contenidosenelformatoPDFelcodigoeselsiguiente:
'CONTADORASCENDENTEDE00AL99
DEFINEOSC8
Datovarbyte
UnidadVARBYTE
DecenaVARBYTE
http://www.forosdeelectronica.com/f24/cursoprogramacionpicpicbasicpro20658/index3.html 65/92
10/6/2017 CursodeprogramacindePICenPICBasicPro
U0VARUnidad.0
U1VARUnidad.1
U2VARUnidad.2
U3VARUnidad.3
D0VARDecena.0
D1VARDecena.1
D2VARDecena.2
D3VARDecena.3
TRISD=0
Inicio:
forDato=0to99
Decena=Dato/10
Unidad=DatoDecena*10
PORTD.0=U0
PORTD.1=U1
PORTD.2=U2
PORTD.3=U3
PORTD.4=D0
PORTD.5=D1
PORTD.6=D2
PORTD.7=D3
pause1000
nextDato
gotoInicio
herealizadovariosprogramasperosiempremegeneranlosmismoserroresagradezcolaayudaque
mepuedenbrindar.
ArchivosAdjuntos
:bienconelprogramaanteriorrealiceunvoltimetroDCde05aquiestaelprograma:
http://www.forosdeelectronica.com/f24/cursoprogramacionpicpicbasicpro20658/index3.html 66/92
10/6/2017 CursodeprogramacindePICenPICBasicPro
Cdigo:
DefineLOADER_USED1
DefineOSC48
DefineLCD_DREGPORTD
DefineLCD_DBIT4
DefineLCD_RSREGPORTE
DefineLCD_RSBIT0
DefineLCD_EREGPORTE
DefineLCD_EBIT1
DefineADC_BITS10
DefineADC_CLOCK3
DefineADC_SAMPLEUS50
MEDIDAVarWord
fullbarsVarByte
barvalVarByte
partbarVarByte
padVarByte
TRISA=%11111111
ADCON1=%00001010
ADCON2=%10000000
LowPORTE.2
Pause500
LCDOut$FE,64,REP$0\8
LCDOut$0,REP$10\6,$0
LCDOut$0,REP$14\6,$0
LCDOut$0,REP$15\6,$0
LCDOut$FE,1
INICIO:
ADCIN0,MEDIDA
MEDIDA=(MEDIDA*/500)>>2
LCDOut$FE,2,"VOLTIOSDC=",DEC(MEDIDA/100),".",DEC2MEDIDA
barval=(MEDIDA/9)+1
http://www.forosdeelectronica.com/f24/cursoprogramacionpicpicbasicpro20658/index3.html 67/92
10/6/2017 CursodeprogramacindePICenPICBasicPro
GoSubBARRA
GoToINICIO
BARRA:
fullbars=(barvalMIN60)/3
partbar=(barvalMIN60)//3
pad=19fullbars
LCDOut$fe,$c0,REP$3\fullbars,partbar,REP""\pad
Return
End
AhoradeseorealizarlacomunicacinausbparaqueseveaenpcpormediodecomunicacinUSBcon
visualbasic,delphi,c++olabview.lesdejoelproyectohastaahorahaesperonoincomodarenel
ordendelforo
ArchivosAdjuntos
Temassimilares
Respuesta:Cursoprogramaciondepicenbsicpro
realiceloquemedijisteconelpwmperomeenviacomo132aproximadamnetecon1circlotecolocoel
programaparaquemedigassihicealgomal,ahyporciertotomepartedeunoquehabianechopara
untecladomatrixialyloadapte.
@DEVICEpic16F628
@DEVICEINTRC_OSC_NOCLKOUT'OpcindelOscInterno
@DEVICEWDT_Off'WatchdogTimerON
@DEVICEPWRT_Off'PowerOnTimer
@DEVICEBOD_ON
@DEVICEMCLR_OFF'MasterClearOpcininterno
@DEVICELVP_OFF'Bajovoltajedeprogramacin
@DEVICECPD_OFF'ProteccindelcdigodememoriaOFF
@DEVICEPROTECT_OFF'proteccindecdigoOFF
DefineOsc4
CMCON=7
http://www.forosdeelectronica.com/f24/cursoprogramacionpicpicbasicpro20658/index3.html 68/92
10/6/2017 CursodeprogramacindePICenPICBasicPro
Avarword
COLUMNA1VARPORTB.0
COLUMNA2VARPORTA.6
COLUMNA3VARPORTA.7
FILA1VARPORTA.0
FILA2VARPORTA.1
FILA3VARPORTA.2
FILA4VARPORTA.3
clear
Inicio:
TrisA=%00001111
TrisB=%00001000
PORTA=%00000000
PORTB=%00000000
CallTeclado
GOTOINICIO
END
Teclado:
highCOLUMNA1'Columna1=1
IfFILA1ThengosubS1''tecla"1"
IfFILA2ThengosubS4'tecla"4"
IfFILA3ThengosubS7'tecla"7"
IfFILA4ThengosubS10'tecla"*"
lowCOLUMNA1'Columna1=0
highCOLUMNA2'Columna2=1
IfFILA1ThengosubS2'tecla"2"
IfFILA2ThengosubS5'tecla"5"
IfFILA3ThengosubS8'tecla"8"
IfFILA4ThengosubS11'tecla"0"
lowCOLUMNA2'Columna2=0
http://www.forosdeelectronica.com/f24/cursoprogramacionpicpicbasicpro20658/index3.html 69/92
10/6/2017 CursodeprogramacindePICenPICBasicPro
highCOLUMNA3'Columna3=1
IfFILA1ThengosubS3'tecla"3"
IfFILA2ThengosubS6'tecla"6"
IfFILA3ThengosubS9'tecla"9"
IfFILA4ThengosubS12'tecla"#"
lowCOLUMNA3'Columna3=0
RETURN
S1:
PORTB.2=1'sealdebanderaparaempezaraleerlosciclos,activaelreceptor
PAUSE250'sesumaenlaesperaalreceptorconlosotros250msalfinaly
PORTB.2=0'depuesde500msesqueempiezaelcountacontarlospulsos.
PAUSE250
PWMPORTB.2,127,1'cadacicloocurreaprox.cada5ms,segunmanual
PORTB.2=0
GOTOTECLADO
S2:
S3:
S4:
S5:
S6:
S7:
S8:
S9:
S10:
S11:
S12:
porciertoaprovechoparamostrarelcircuitoqueestabahaciendoyquemeayudaronporacaeldel
minuteroparaqueveancomoquedo...saludosss
ImgenesAdjuntas
15102010156.jpg(54,3KB(Kilobytes),70visitas)
15102010159.jpg(54,4KB(Kilobytes),45visitas)
15102010160.jpg(37,1KB(Kilobytes),34visitas)
http://www.forosdeelectronica.com/f24/cursoprogramacionpicpicbasicpro20658/index3.html 70/92
10/6/2017 CursodeprogramacindePICenPICBasicPro
15102010162.jpg(70,4KB(Kilobytes),53visitas)Respuesta:Cursoprogramaciondepicenbsic
pro
teadjuntolaimagendondeseobserva,primero1ydespues0cadaunodura500msyluegountrende
pulsoquesesuponeseaelciclodelpwm...
graciasporlodelminuterotomareencuentaturecomendacion,conrespectoasistemapretendo
hacerlolomassencilloposible,youtiliceelserinyelseroutperotengomuchasdudasalrespecto,ya
queesuncomandocomplejo,buenoparami,perositumedicescomopuedousarloteagradeceriaun
millondeveces.Leielmanualyhabladecodigoasciiyvelocidades?
leinuevamenteelmanualyconrespectoalseroutmediceesto:
SEROUTPin,Mode,[Item[,Item...}]
EnvaunomsItemsaPin,enformatostandardasincrnicousando8bitsdedatos,sinparidady1
stopbit(8N1).SEROUTessimilaralcomandoSeroutdeBS1.Pinesautomticamentecolocadocomo
salida.Pinpuedeserunaconstante,015,unavariablequecontengaunnmerode015(p.ej.B0)
unnmerodePin(p.ej.PORTA.0)
LosnombresMode(p.ej.T2400)estndefinidosenelarchivoMODEDEFS.BAS.
Parausarlos,agreguelalnea:
Include"modedefs.bas"
alcomienzodesuprogramaPBP.
BS1DEFS.BASyBS2DEFS.BASyaincluyenMODEDEFS.BAS.Noloincluya,siyaestusandouno
deellos.LosnmerosModepuedenserusadossinincluirestearchivo.
Noentiendo"sinparidady1stopbit(8N1)"...?
lodemassi,yaincluielarchivoytodosolofaltadesifrarelcomoutilizarlo?
ImgenesAdjuntas
Respuesta:Cursoprogramaciondepicenbsicpro
creaunavariabletipowordquecontengalapalabraoletrasqueestesescribiendoyqueloguarde
temporalmenteenlaeepromyqueasuvezborre,seriacomountipodeindexacion,vasguardandoen
lapilaostack,demaneraquetengasunaciertacantidaddeletrasparaescribiryluegoempiecea
reemplazarlasprimerasqueseintrodujeron...porejemplo...saludos...
ahorayotengounadudaesoquetuhacesdepcapicyopuedohacerlodepicapic.....?
lesadjuntoelcomoestoysimulandotodo...
http://www.forosdeelectronica.com/f24/cursoprogramacionpicpicbasicpro20658/index3.html 71/92
10/6/2017 CursodeprogramacindePICenPICBasicPro
ImgenesAdjuntas
Respuesta:Cursoprogramaciondepicenbsicpro
Holaquetal,acabodeentraraesterollodelPWM,esinteresante,yafabriiquemisprogramaparala
comunicacionenserie.
Loquetengoquehacereslosiguiente.
AumentarodisminuirlavelocidaddelmotorconelPWM,atravesdeunacomunicacionserial,esdecir
cuandoelusuariomandelaletra"A"lavelocidaddelmotordebeaumentarysimandolaletra"D"la
velocidaddelmotordisminuye.
Hoylorealiceenclaseylounicoquelogreesqueelmotorgireasuvelocidadmaximan,noseporque,
peroalmomentodeestablecerlacomunicacionymandarlaletra"A"unledprendeyelmotorempieza
agiraratodoloqueda.Ademsdequesimandootraletraesteyanohacenadatengoquecortarla
corrientepararesetearelPIC.
Sinoesmuchamolestiaaquilesdejomisdosprogramasyhabersimepuendenayudar.
PD:Algunprogramaparasimularlacomunicacionserial?usomatlabyprogramoenPbasic(microcode)
salu2
ArchivosAdjuntos
Temassimilares
Respuesta:Cursoprogramaciondepicenbsicpro
buenoyarealicevariaspruebas,yalfinaluso:seroutpuls,T9600,["A",#ID,10]yaloentendibienasi,
ahorahubounasconfucionesfueporqueaniveldeconexioneshayvariasdirefencias,youtilizeelelpin
portb.2delmandoparaenviarlosdatosytuelportb.0nosesiestoinfluyaperoyoloutiliceporquedice
Tx,yporotrapartelasalidaddelledindicandoqueeldatoqueesperabarecivirescorrecto,deresto
todolodemasestabien,esperonohaberechounmuchodespelote,enfin,paramiesindiferentela
cuestionesquefuncione,ylodemasescuestiondeadaptarlo,probecolocandodiferentesletrasysi
lasdiferencia,peroaunhayquedarledosvecesalbotonparaquesalgaelcaracterenelvirtual
terminal.
lohelogradodemomentolametadehoymuchasgraciasamigo"lubeck"deverdad,demomento
logreadaptarloaloquerequeriaelsistemademomentoensimulacionfuncionalogreconectaral
16f628Aunos3,12f629queestancomoreceptoresloscualescadaunotieneunaletraespecificayal
enviaresaletraencodigoassciiatravesdeltecladoununico12f629seactivapermaneciendolos
demasenespera,loqueindicaquesidescriminanyloseactivanaloloco.teadjuntolasimulacioncon
todoslosprogramashice10programasentotalenbasicparalosreceptores.hay10carpetas.porotro
ladoestalasimulaciondelos16f628Aparapruebas.yladelsistemacompletocontres12f629,quees
laqueestafuncionandoensimulacion....hablamosluegoygraciasdenuevo...saludosss
http://www.forosdeelectronica.com/f24/cursoprogramacionpicpicbasicpro20658/index3.html 72/92
10/6/2017 CursodeprogramacindePICenPICBasicPro
PD:Porciertoencontreunaspaginasinteresantesconrespectoaloscomandosquesoportanlospic,
enelpbp,lasencontredebidoaquequeriautilizarel12c509Aenvezdel629,peronosoportael
serin...saludosss
http://melabs.com/support/12bit.htm
http://www.rentron.com/picbasic/prod...cbasicpro.htm
ArchivosAdjuntos
Respuesta:Cursoprogramaciondepicenbsicpro
avanceenlosiguiente:
@devicepic12f629,intrc_osc,wdt_off,pwrt_off,mclr_off,protect_off
OPTION_REG.7=0
VRCON=0
INCLUDE"modedefs.bas"
DefineOsc4
CMCON=7
TRISIO=%00001000
gpio=%00000000
ACEPTADOVARGPIO.1
LEYENDOVARGPIO.2
INVARGPIO.0
SERIALVARWORD
DATAIDVARWORD
CLEAR
INICIO:
LEYENDO=0
ACEPTADO=0
read5,seriaL
seroutGPIO.4,T300,[SERIAL,10]
IFIN=1THEN
GOSUBLEE
ENDIF
gotoinicio
LEE:
SERININ,T300,["A"],DATAID
http://www.forosdeelectronica.com/f24/cursoprogramacionpicpicbasicpro20658/index3.html 73/92
10/6/2017 CursodeprogramacindePICenPICBasicPro
PAUSE200
LEYENDO=1
PAUSE500
GOSUBVERIFICACION
GOTOINICIO
VERIFICACION:
IFDATAID="P"THEN
GOSUBGRABAR
ENDIF
IFDATAID=SERIALTHEN
ACEPTADO=1
seroutGPIO.4,T300,[DATAID,10]
GOTOINICIO
ENDIF
Grabar:
WRITE5,daTaid'grabavalorrecibidoqueestaendataidenlaeepromelcaracterseguidodeAun1
ACEPTADO=1
PAUSE1000
GOTOINICIO
END
resultoserquesiloguardacoloqueunseroutalinicioparachequearqueloguardaba,loquehicefue
guardarenlavariableserialelvalorguardadoenladireccion5delaeerpomyluegoloenvieporserout
porunpinlibredelpicysiresultoquesiloenviodemasiadobueno...jejeje
otracosaquenoteesquecambielaletraycoloqueotraaenviarymemuestralaanterioryluegosale
lanuevaletraalgoasi:
letraguardaAparolasimulacioncambiolaletrayvuelvoasimularymemuestralaAporelseroutdel
inicioycuandoprogramolanuevaletraempiezaaparecerlanuevaydejadeaparecerlaAestoesen
elvirtualterminal...curioso
escomosielproteusmantuvieralosdatosdelaeepromdelpicnosabiaeso.
http://www.forosdeelectronica.com/f24/cursoprogramacionpicpicbasicpro20658/index3.html 74/92
10/6/2017 CursodeprogramacindePICenPICBasicPro
adjuntolaimagen:
siesciertoyaquesintocarningunbotonelprogramaquedaenellazodeiniciohaciendolalecturade
aleepromyluegolaenviaporserout,entoncessiguardaenlamemoriadelpiclainformacion.
ImgenesAdjuntas
Respuesta:Cursoprogramaciondepicenbsicpro
yodenuevoporacaparecequeloscorriatodosjejeje.buenoexplicomisavances,resultaquelogre
hacerfuncionarelcircuitoconseroutyserinconunbaudratedet300bastantebien,logreprogramar
unreceptorconuncodigoatravezdelaeepromcolocandoleasiunaidentificacionalreceptordetal
maneraquepuedacodificarseconcualquierserialencualquiermomento,todoestoesviaserialdepic
apic,apartelogreatravezdelvirtualterminalvizualizarcadaproceso,sabiendoconestoenqueparte
delprogramadelpicseencontrabaejecuantandoenesemomento,lounicoesqueseponesuperlenta
lasimulacionperosiseaprecia..adjuntotodoparaquienesquieranvercomofuncionacualquierduda
mepreguntaysimepuedenayudaramejorarlodeantemanomuchasgracias...saludoss
PD:laideadeestesistemaesuncontrolinfrarojoparavariosreceptoresparaqueseactivenconuna
sealunica...saludos
actualizaciondelarchivoconmejoras...saludos
ArchivosAdjuntos
Temassimilares
HolaLubeck,nomehechasunamanoami??
GoXF4yCk3rDBdijo:
Holaquetal,acabodeentraraesterollodelPWM,esinteresante,yafabriiquemisprogramaparala
comunicacionenserie.
Loquetengoquehacereslosiguiente.
AumentarodisminuirlavelocidaddelmotorconelPWM,atravesdeunacomunicacionserial,es
decircuandoelusuariomandelaletra"A"lavelocidaddelmotordebeaumentarysimandolaletra
"D"lavelocidaddelmotordisminuye.
Hoylorealiceenclaseylounicoquelogreesqueelmotorgireasuvelocidadmaximan,nose
porque,peroalmomentodeestablecerlacomunicacionymandarlaletra"A"unledprendeyel
motorempiezaagiraratodoloqueda.Ademsdequesimandootraletraesteyanohacenada
http://www.forosdeelectronica.com/f24/cursoprogramacionpicpicbasicpro20658/index3.html 75/92
10/6/2017 CursodeprogramacindePICenPICBasicPro
tengoquecortarlacorrientepararesetearelPIC.
Sinoesmuchamolestiaaquilesdejomisdosprogramasyhabersimepuendenayudar.
PD:Algunprogramaparasimularlacomunicacionserial?usomatlabyprogramoen
Pbasic(microcode)
salu2
ArchivosAdjuntos
lubeckdijo:
siteayudaenalgomiconsejoesqueempiecesconaplicacionesqueestenbiensencillasyutilices
unsimuladorcomoproteuscomoporejemplo...
lodemenoseshacertelaaplicacinoayudarteabuscarlaperonocreoquetesirvacomomaterial
didcticoysiemprevasaestarenbuscadeloyaecho...
ahorasiyatienesalgoavanzadosubeloycongustoteechounamano,consimuladoresmucho
masfacil...quesoloconelcodigo...
recuerdaquemiopinionessinsaberquetantosabesalrespecto...
HOLAlubeck.
yatengoprogramadaslas8secuenciasperonosedequeformahacercambiedesecuenciacadaque
oprimaelpulsador,
esteelcodigoquehastaelmomentollevo.
Cdigo:
CMCON=7'HACEQUESETRABAJECONLASENTRADASENDIGITAL
PORTB=0'PONELASSALIDASENCEROPARAARRANCAR
PORTA=0
'SALIDAS
LED1VARPORTB.0'DefinoRB0comoLED1
LED2VARPORTB.1
LED3VARPORTB.2
LED4VARPORTB.3
http://www.forosdeelectronica.com/f24/cursoprogramacionpicpicbasicpro20658/index3.html 76/92
10/6/2017 CursodeprogramacindePICenPICBasicPro
LED5VARPORTB.4
LED6VARPORTB.5
LED7VARPORTB.6
LED8VARPORTB.7
'ENTRADAS
PULSADORVARPORTA.0
TRISB=0'seleccionolospinesdePORTBcomosalidas
TRISA=1'seleccionolospinesdePORTAcomoENTRADAS
CAMBIOSECUENCIA:
ifpulSADOR=1thenGOTOINICIO
GOTOCAMBIOSECUENCIA
'SECUENCIA1(SEPRENDENYSEAPAGANUNOPORUNO)
INICIO:
PAUSE2000
LED1=1
PAUSE500
LED1=0
LED2=1
PAUSE500
LED2=0
LED3=1
PAUSE500
LED3=0
LED4=1
PAUSE500
LED4=0
LED5=1
PAUSE500
LED5=0
LED6=1
PAUSE500
LED6=0
LED7=1
PAUSE500
http://www.forosdeelectronica.com/f24/cursoprogramacionpicpicbasicpro20658/index3.html 77/92
10/6/2017 CursodeprogramacindePICenPICBasicPro
LED7=0
LED8=1
PAUSE500
LED8=0
PAUSE2000
GOTOINICIO
SECUENCIA2:'(SEPRENDENYSEAPAGANDEDOSENDOS)
LED1=1:LED2=1'PRENDELED1Y2
PAUSE500'ESPERA0,5SEGUNDOS
LED1=0
LED2=0'LED12SEAPAGAN
LED3=1
LED4=1
PAUSE500
LED3=0
LED4=0
LED5=1
LED6=1
PAUSE500
LED5=0
LED6=0
LED7=1
LED8=1
PAUSE500
LED7=0
LED8=0
GOTOSECUENCIA2
'SECUENCIA3:(SEPRENDENYSEAPAGANDETRESENTRES)
PAUSE2000
LED1=1
LED2=1
LED3=1
PAUSE500
LED1=0
LED2=0
LED3=0
http://www.forosdeelectronica.com/f24/cursoprogramacionpicpicbasicpro20658/index3.html 78/92
10/6/2017 CursodeprogramacindePICenPICBasicPro
PAUSE500
LED4=1
LED5=1
LED6=1
PAUSE500
LED4=0
LED5=0
LED6=0
PAUSE500
LED7=1
LED8=1
PAUSE500
LED7=0
LED8=0
PAUSE2000
'SECUENCIA4(SEPRENDENYSEAPAGANDECUATROENCUATRO)
PORTB=%00001111'METODOABREVIADOPARAPONERLASCUATOPRIMERASSALIDASA1
PAUSE500
PORTB=%11110000
PAUSE500
PORTB=%00000000
PAUSE2000
'SECUENCIA5(SEPRENDENYSEAPAGANDEUNOENUNODEL8AL1)
LED8=1
PAUSE500
LED8=0
LED7=1
PAUSE500
LED7=0
LED6=1
PAUSE500
LED6=0
LED5=1
PAUSE500
LED5=0
LED4=1
PAUSE500
LED4=0
LED3=1
PAUSE500
LED3=0
http://www.forosdeelectronica.com/f24/cursoprogramacionpicpicbasicpro20658/index3.html 79/92
10/6/2017 CursodeprogramacindePICenPICBasicPro
LED2=1
PAUSE500
LED2=0
LED1=1
PAUSE500
LED1=0
PAUSE2000
'SECUENCIA6(SEPRENDENYSEAPAGANDEDOSENDOSDEL8AL1)
LED8=1:LED7=1'PRENDELED1Y2
PAUSE500'ESPERA0,5SEGUNDOS
LED8=0:LED7=0'LED12SEAPAGAN
LED6=1:LED5=1
PAUSE500
LED6=0
LED5=0
LED4=1
LED3=1
PAUSE500
LED4=0
LED3=0
LED2=1
LED1=1
PAUSE500
LED2=0
LED1=0
PAUSE2000
'SECUENCIA7(SEPRENDENYSEAPAGANDETRESENTRESDEL8AL1)
LED8=1
LED7=1
LED6=1
PAUSE500
LED8=0
LED7=0
LED6=0
PAUSE500
LED5=1
LED4=1
LED3=1
PAUSE500
LED5=0
LED4=0
http://www.forosdeelectronica.com/f24/cursoprogramacionpicpicbasicpro20658/index3.html 80/92
10/6/2017 CursodeprogramacindePICenPICBasicPro
LED3=0
PAUSE500
LED2=1
LED1=1
PAUSE500
LED2=0
LED1=0
PAUSE2000
'SECUENCIA7(SEPRENDENYSEAPAGANDECUATROENCUATRODEL8AL1)
LED8=1
LED7=1
LED6=1
LED5=1
PAUSE500
LED8=0
LED7=0
LED6=0
LED5=0
PAUSE500
LED4=1
LED3=1
LED2=1
LED1=1
PAUSE500
LED4=0
LED3=0
LED2=0
LED1=0
GOTOINICIO'SEREPITE
END'FINDELPROGRAMA
ArchivosAdjuntos
Temassimilares
reyvilladijo:
pruebaconestefijatequelefaltabayporotraladojuegacolacandolelasotrassecuenciasme
http://www.forosdeelectronica.com/f24/cursoprogramacionpicpicbasicpro20658/index3.html 81/92
10/6/2017 CursodeprogramacindePICenPICBasicPro
avisas.
'****************************************************************
'*Name:UNTITLED.BAS*
'*Author:[selectVIEW...EDITOROPTIONS]*
'*Notice:Copyright(c)2010[selectVIEW...EDITOROPTIONS]*
'*:AllRightsReserved*
'*Date:22/10/2010*
'*Version:1.0*
'*Notes:*
'*:*
'****************************************************************
@DEVICEpic16F628
@DEVICEINTRC_OSC_NOCLKOUT'OpcindelOscInterno
@DEVICEWDT_Off'WatchdogTimerON
@DEVICEPWRT_Off'PowerOnTimer
@DEVICEBOD_Off
@DEVICEMCLR_OFF'MasterClearOpcininterno
@DEVICELVP_OFF'Bajovoltajedeprogramacin
@DEVICECPD_OFF'ProteccindelcdigodememoriaOFF
@DEVICEPROTECT_OFF'proteccindecdigoOFF
DefineOsc4
CMCON=7'HACEQUESETRABAJECONLASENTRADASENDIGITAL
PORTB=0
led1varportb.0
led2varportb.1
pulsadorvarporta.0
contadorvarbyte
trisa=1
trisb=0
inicio:
ifpulsador=1then
contador=contador+1
gosubaumentar
endif
gotoinicio
aumentar:
ifcontador=1then
gosubsecuencia1
http://www.forosdeelectronica.com/f24/cursoprogramacionpicpicbasicpro20658/index3.html 82/92
10/6/2017 CursodeprogramacindePICenPICBasicPro
endif
ifcontador=2then
gosubsecuencia2
gotoaumentar
endif
secuencia1:
led1=1
pause200
Led1=0
led2=1
pause200
led2=0
gotoaumentar
secuencia2:
led2=1
pause200
Led2=0
led1=1
pause200
led1=0
gotoaumentar
end
HOLAREY
heprobadodetodaslasmanerasynomefnciona,,
ahoraelprogramasolomesaltaaprimerasecuenciayyanosaledeall..(envoelcircuitoenproteus)
lesagradezcomeayudenconesteproblema.
ArchivosAdjuntos
Respuesta:Cursoprogramaciondepicenbsicpro
noeslomasadecuadocomotemencionolomejoresusarelONINTERRUPT...
peroheencontradounejemploclarodecomoseusa!
Algundialoencontrareescuestindetiempo...
Listocreoqueesunabuenaayuda....
http://www.forosdeelectronica.com/f24/cursoprogramacionpicpicbasicpro20658/index3.html 83/92
10/6/2017 CursodeprogramacindePICenPICBasicPro
WhoisNEXT?
[/QUOTE]
HOLA.
alfinalutilicelmtodoquemepasastedelloscasesybuenodemomentoesapartelatengo
solucionada,,loquepasaesqueahoramepidenadicionarotropulsadorparahacercambiarla
velocidaddelassecuencias.(unpulsdadorparacambiodesecuenciasyotroparahacerlesvariarla
velocidadalassecuencias)
leagradeceriamehecharanunamano...
osdejoelcdigoquellevo.
Cdigo:
DefineOsc4
CMCON=7'HACEQUESETRABAJECONLASENTRADASENDIGITAL
TrisA=1
trisB=0
led0varportb.0
led1varportb.1
led2varportb.2
led3varportb.3
led4varportb.4
led5varportb.5
led6varportb.6
led7varportb.7
pulsadorvarporta.0
contadorvarbyte
clear
PortB=0
inicio:
ifpulsadorthen
pause200
contador=contador+1
ifcontador>=8thencontador=0
endif
selectcasecontador
http://www.forosdeelectronica.com/f24/cursoprogramacionpicpicbasicpro20658/index3.html 84/92
10/6/2017 CursodeprogramacindePICenPICBasicPro
case0
PORTB=%00001111
gosubTIEMPO_ON
PORTB=%11110000
GOSUBTIEMPO_Off
case1
PORTB=%00000000
PORTB=%11001100
gosubTIEMPO_ON
PORTB=%01000100
GOSUBTIEMPO_OFF
case2
PORTB=%10101010
case3
PORTB=0
led7=1
gosubtiempo_on
led7=0
led6=1
gosubtiempo_on
led6=0
led5=1
gosubtiempo_on
led5=0
led4=1
gosubtiempo_on
led4=0
led3=1
gosubtiempo_on
led3=0
led2=1
gosubtiempo_on
led2=0
led1=1
gosubtiempo_on
led1=0
led0=1
http://www.forosdeelectronica.com/f24/cursoprogramacionpicpicbasicpro20658/index3.html 85/92
10/6/2017 CursodeprogramacindePICenPICBasicPro
gosubtiempo_on
led0=0
case4
led0=1
gosubtiempo_on
led0=0
led1=1
gosubtiempo_on
led1=0
led2=1
gosubtiempo_on
led2=0
led3=1
gosubtiempo_on
led3=0
led4=1
gosubtiempo_on
led4=0
led5=1
gosubtiempo_on
led5=0
led6=1
gosubtiempo_on
led6=0
led7=1
gosubtiempo_on
led7=0
case5
PORTB=%00011000
GOSUBTIEMPO_ON
PORTB=%00100100
GOSUBTIEMPO_OFF
case6
PORTB=0
led7=1
gosubtiempo_on
led6=1
gosubtiempo_on
http://www.forosdeelectronica.com/f24/cursoprogramacionpicpicbasicpro20658/index3.html 86/92
10/6/2017 CursodeprogramacindePICenPICBasicPro
led5=1
gosubtiempo_on
led4=1
gosubtiempo_on
led3=1
gosubtiempo_on
led2=1
gosubtiempo_on
led1=1
gosubtiempo_on
led0=1
gosubtiempo_on
portb=%10000000
case7
led7=1
gosubtiempo_on
led7=0
led6=1
gosubtiempo_on
led6=0
led5=1
gosubtiempo_on
led5=0
led4=1
gosubtiempo_on
led4=0
led3=1
gosubtiempo_on
led3=0
led2=1
gosubtiempo_on
led2=0
led1=1
gosubtiempo_on
led1=0
led0=1
gosubtiempo_on
led0=0
led0=1
gosubtiempo_on
http://www.forosdeelectronica.com/f24/cursoprogramacionpicpicbasicpro20658/index3.html 87/92
10/6/2017 CursodeprogramacindePICenPICBasicPro
led0=0
led1=1
gosubtiempo_on
led1=0
led2=1
gosubtiempo_on
led2=0
led3=1
gosubtiempo_on
led3=0
led4=1
gosubtiempo_on
led4=0
led5=1
gosubtiempo_on
led5=0
led6=1
gosubtiempo_on
led6=0
led7=1
gosubtiempo_on
led7=0
endselect
gotoinicio
tiempo_on:
PAUSE180
RETURN
'CONTIEMPO_OFFMANEJOELTIEMPOQUEDURANLOSLEDAPAGADOS
tiempo_off:
PAUSE180
RETURN
end
ArchivosAdjuntos
Temassimilares
Respuesta:Cursoprogramaciondepicenbsicpro
http://www.forosdeelectronica.com/f24/cursoprogramacionpicpicbasicpro20658/index3.html 88/92
10/6/2017 CursodeprogramacindePICenPICBasicPro
Porfavor,alguienmepuedeayudarconunacomunicacionserialentre2PIC12f675,intenteconestos
codigos,peronomecorrenenproteusyyanosequemscambiar:
emisor
Cdigo:
@DEVICEpic12F675,intrc_osc_noclkout,wdt_off,pwrt_on,mclr_off,bod_off,
protect_off
INCLUDE"modedefs.bas"
defineOSC4
defineOSCCAL_1K1
botonAvargpio.1
botonBvargpio.2
botonCvargpio.4
transmitir:
ifbotonA=0thenenvio1
ifbotonB=0thenenvio2
ifbotonC=0thenenvio3
gototransmitir
envio1:
seroutgpio.5,N2400,["A"]
pause500
gototransmitir
envio2:
seroutgpio.5,N2400,["B"]
pause500
gototransmitir
envio3:
seroutgpio.5,N2400,["C"]
pause500
gototransmitir
http://www.forosdeelectronica.com/f24/cursoprogramacionpicpicbasicpro20658/index3.html 89/92
10/6/2017 CursodeprogramacindePICenPICBasicPro
end
receptor
Cdigo:
@DEVICEpic12F675,intrc_osc_noclkout,wdt_off,pwrt_on,mclr_off,bod_off,
protect_off
INCLUDE"modedefs.bas"
defineOSCCAL_1K1
ledrvargpio.1
ledavargpio.2
ledvvargpio.4
datosvarbyte
highledr
pause500
lowledr
recibir:
seringpio.0,N2400,1,recibir,datos
ifdatos="A"thenhighledr
pause1000
ifdatos="B"thenhighleda
pause1000
ifdatos="C"thenhighledv
pause1000
lowledr:lowleda:lowledv
gotorecibir
end
Muchasgraciasaquiensedeltiempo,adjuntolasimulacin.
ArchivosAdjuntos
Respuesta:Cursoprogramaciondepicenbsicpro
Hola,reyvilla,estabaleyendootraveztucodigo,ytratedesacarleloquesupongoestademspara
http://www.forosdeelectronica.com/f24/cursoprogramacionpicpicbasicpro20658/index3.html 90/92
10/6/2017 CursodeprogramacindePICenPICBasicPro
mi,yanotabaalcostadoloquesupongohacecadaseccin.
Yosolonecesito3o4pulsadores.(simeayudas,nosecomoponerlaimagenparaquesevea,la
adjunt)
Dejunapartedetucdigocomoguiayahoraquierovercomoconstruyosobrel.
Cdigo:
@devicepic12f675,intrc_osc,wdt_off,pwrt_off,mclr_off,protect_off
INCLUDE"modedefs.bas"
defineOSCCAL_1K1
DefineOsc4
CMCON=7
ansel=0
vrcon=0
adcon0=0
TRISIO=%00001001
gpio=%00000000
ACEPTADOVARGPIO.1
LEYENDOVARGPIO.2'
INVARGPIO.0'
ESPERANDOVARGPIO.5
ledvarGPIO.4
SERIALVARWORD
DATAIDVARWORD'
CLEAR
'LEYENDO=0'enestaparteleeeldatoalmacenadoenlaeeprom
'ACEPTADO=0
'READ5,serial
'GPIO.4=1'porquehacesesto????
'SEROUTGPIO.4,T9600,["CODIGOACTUAL",SERIAL,10]'inicio
INICIO:
http://www.forosdeelectronica.com/f24/cursoprogramacionpicpicbasicpro20658/index3.html 91/92
10/6/2017 CursodeprogramacindePICenPICBasicPro
LEYENDO=0'aquiesperahastaquelleguealgoagpio.o
ACEPTADO=0
ESPERANDO=1
IFIN=1THEN
ESPERANDO=0
GOTOLEE
ENDIF
IFIN=0THEN
GOTOINICIO
ENDIF
GOTOINICIO
LEE:'unavezquealgollegoagpio.0,lograbaen
dataid,anteponiendo''
LEYENDO=1
SERININ,T9600,[""],DATAID'YESLABANDERA,SIYNOLLEGASEQUEDAESPERANDO
highled
pause500
lowled
'SEROUTGPIO.4,T9600,["CODIGOLEIDO",DATAID,10]'sacaloleidoporgpio.4
LEYENDO=0
ifdataid="1"thenhighled'porejemploqueenciendaunledcuandodataid=
'algo'
lowled
gotoinicio
end
Saludos.
http://www.forosdeelectronica.com/f24/cursoprogramacionpicpicbasicpro20658/index3.html 92/92