You are on page 1of 93

10/6/2017 CursodeprogramacindePICenPICBasicPro

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/index4.html 1/93
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/index4.html 2/93
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/index4.html 3/93
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/index4.html 4/93
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/index4.html 5/93
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/index4.html 6/93
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/index4.html 7/93
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/index4.html 8/93
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/index4.html 9/93
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/index4.html 10/93
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/index4.html 11/93
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/index4.html 12/93
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/index4.html 13/93
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/index4.html 14/93
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/index4.html 15/93
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/index4.html 16/93
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/index4.html 17/93
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/index4.html 18/93
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/index4.html 19/93
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/index4.html 20/93
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/index4.html 21/93
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/index4.html 22/93
10/6/2017 CursodeprogramacindePICenPICBasicPro

Temassimilares

Respuesta:Cursoprogramaciondepicenbsicpro
saludosmecatrodatos

heestadoleyendoestepostyveoqueeresmuybuenoconelpbasic.poreso,queriapedirtesipuedes
ayudarmeacomprendercomoutilizarelserinyseroutdelpbasic.teexplicounpocoloquequiero
hacer.
miideaesimplementaruncontrolremotobasadoenelpic16f84Aperolaverdadquenoentiendomuy
biencomoutilizarestasdosinstrucciones

.unaideabasicaseriaporejemploquesiyopresionounbotoneneltransmisor,enelreceptorse
enciendaelledquecorrespondealmismo.tepasoundibujodelcircuitobasicoesperoqueseentienda

.solonecesitounpardelineasdecodigocomoparaguiarme.unsaludoyesperopuedasayudarme
gracias

ImgenesAdjuntas

Temassimilares

Respuesta:Cursoprogramaciondepicenbsicpro
claro...probalovosmismo.acatedejolasimulacionenproteus

ArchivosAdjuntos

ledsenparalelo!!
Holaatodos!!soynuevoenesteforo

ytengounapreguntasobrelosled:

Buenoestoyusandoelpic16F84Aparahacerunasecuenciadeluces,ytengounaduda!!Usetodoel
puertoBparaformarunasecuencia
http://www.forosdeelectronica.com/f24/cursoprogramacionpicpicbasicpro20658/index4.html 23/93
10/6/2017 CursodeprogramacindePICenPICBasicPro

deluces.Mipreguntaes:sinosoloquisieraconectarunsololed
acadasalida,siquisieraconectar20ledsenparaleloencadasalidadelpuertoB,
entonceselproblemaradicariaensabercuantacorrienteproporcionacadasalida
delpuertoBdelpic!!!ycreoquenovaaserlasufiente.

Ahoracomopodriahacerparaquecadaledtengalasuficientecorrientequenecesite
parabillarcontodasuintencidad!????

Tendriaqueusaruntransistorcomoamplificadordecorrienteoqueesloquedeberiahacer?????

adjuntoeldiagramadelctoenproteusielcodigoenHEX,paracargaralpic!!

Esperopuedanayudarme!!=D!!
Graciasdeantemano!!

ArchivosAdjuntos

Temassimilares

Respuesta:Cursoprogramaciondepicenbsicpro
listoperdonaparaayudartemejorvisitaprimeroelEntrenadordepicconpicbasicproqueposteyel
manualhayejemployestanenespaolesperoqueestotesirvadebasenodudesenpreguntar
ArchivosAdjuntos

pbpesp.pdf(646,9KB(Kilobytes),33visitas)

entrenadorparamicrocontroladorconPBP.zip(954,0KB(Kilobytes),34visitas

Andres111manejocomunicacionserialentrePICSconloscomandosserinyserout,verecomote
puedoayudarconlacomunicacionSPIapartirdeHardware,porotroladoparalosproyectosque
vienennecesitamossaberunpocodeVisualbasicporloquefacilitoundocumentoparaempezara
conoceresteprogramaysaberloutilizar
ArchivosAdjuntos

Respuesta:Cursoprogramaciondepicenbsicpro
ParaAyudarterealizaremosunprogramaporhardwareconlosregistrosdelpuertoCdelPic16f877a.
http://www.forosdeelectronica.com/f24/cursoprogramacionpicpicbasicpro20658/index4.html 24/93
10/6/2017 CursodeprogramacindePICenPICBasicPro

ElpuertoCconstade8lneasbidireccionalesytieneasociadoslosregistros:

RegistroPORTC(07H).Eselregistrodedatoscuyos8bitsRC7,RC6,...,RC0reflejan
directamenteelvalorlgicodelaslneasfsicasdelpuertoC.

RegistroTRISC(87H).RegistrodecontroldedireccindelaslneasdelpuertoC.

Poniendoun1enunbitdelregistroTRISCseconfiguralalneacorrespondientecomoentradayponiendoun0
seconfiguralalneacorrespondientecomosalida.

LaslneasdelpuertoCseencuentranmultiplexadasconvariaslineascontroladasporotrosperifricos,cuando
sehabilitalalneadelperifricorespectivopuedeserignoradalaconfiguracindeTRISC,dehecho,algunos
perifricosconfiguranlalneacomosalidamientrasqueotroslaconfigurancomoentrada.

CadaentradadelpuertoCposeeunbuffercondisparadorSchmitt.Adems,cuandoseseleccionalafuncinI2C,
laspatitasPORTC<4,3>puedenserconfiguradasconnivelesI2CoconnivelesSMBusmedianteelbitCKEdel
registroSSPSTAT<6>.

EnlasiguientetablaseresumenlaslneasdelpuertoCylasdelosperifricosque
estnmultiplexadasconellas.
NombreFuncinmultiplexada
RC0/T1OSO/T1CKISalidaoscilatoriadelTimer1/relojdeentradadelTimer1
RC1/T1OSI/CCP2EntradaoscilatoriadelTimer1/entradadecaptura2osalidade
comparacin2osalidaPWM2
RC2/CCP1Entradadecaptura1osalidadecomparacin1osalidaPWM1
RC3/SCK/SCLRelojparalosmodosdecomunicacinseriesncronaSPIeI
2C

RC4/SDI/SDADatodeentrada(enmodoSPI)/Datodeentradasalida(modoI2 C)
RC5/SDODatodesalida(enmodoSPI)
RC6/TX/CKLineadetransmisinasncronadelaUSART/relojsncrono
RC7/RX/DTLineaderecepcinasncronadelaUSART/datosncrono

Tambienteadjuntodocumentodondeexplicoelmanejoderegistrosdelpic16ff877apararealizarel
programa.

http://www.forosdeelectronica.com/f24/cursoprogramacionpicpicbasicpro20658/index4.html 25/93
10/6/2017 CursodeprogramacindePICenPICBasicPro

QuetalvamosaponerelsiguientecodigodecomunicacionspiatravesdeHardware(manipulacionde
registrosdelpuertoC)condospic16f877Acomoproyecto.

esteelprogramaparaelpicmaestro:

Cdigo:

'ProgramaprotocoloSPIentredosPic16f877AusandoComunicacinserial
'sincrnicapormediodehardwareatravsdelpuertoC.
'
'Elpic16f877amaestromuestravalordelestadodeunpotencimetroconectado
'enRAOdelpic16f877aesclavoenunapantallaLCDatravsdecaracteresen
'string.
'DEFINICIONOSCILADOREXTERNO

@devicext_osc;osciladorexternoXT
defineosc4;especificaquesevaautilizarunode4Mhz

'Sedefinenregistrosdelpic16f877amaestroparaconectardisplay
DEFINELCD_DREGPORTD
DEFINELCD_DBIT4
DEFINELCD_RSREGPORTE
DEFINELCD_RSBIT0
DEFINELCD_EREGPORTE
DEFINELCD_EBIT1
SSPENVARSSPCON.5'HabilitabitSSP
CKPVARSSPCON.4'SELECCIONAPOLARIDADDERELOJ
SMPVARSSPSTAT.7'Seleccionarlamuestradedatosdeentradadefase
CKEVARSSPSTAT.6'Seleccionabitdereloj
SSPIFVARPIR1.3'SPIindicadordeinterrupcin

iVARBYTE'contadordelbucle
aVARBYTE[6]'Concapacidadpara6caracteresledosdeesclavo

ADCON1=7'SeleccinPORTAyPORTEcomodigital
LowPORTE.2'LCDR/Wlineaacerolgico
Pause100'esperaparasinicializarelLCD
TRISC=0'puertoccomosalida

SSPEN=1'pinesactivadosSPI
CKP=0'relojenfuncionamientobajo
CKE=0'transmitiralatransicininactivoaactivo
http://www.forosdeelectronica.com/f24/cursoprogramacionpicpicbasicpro20658/index4.html 26/93
10/6/2017 CursodeprogramacindePICenPICBasicPro

SSPIF=0'Bufferdeestadocompleto
SMP=0'muestraenmediodelosdatos


mainloop:
GoSubgetdata'iniciarlaconversindedatosyrecibir

LCDOut$fe,1'Indicarrecibidecadenaenlcd
LCDOut$fe,$80,"ConversorA/D"
LCDOut$fe,$c0,STRa\5,DECa[5]
Pause100

GoTomainloop'hacerlodenuevo

getdata:

SSPBUF="?"'enviar?parainiciarlaconversin
GoSubletclear'esperardatoparaeliminar
IFSSPBUF<>"!"Thengetdata'esperarparalarespuesta(!)
Fori=0to5'buclede6caracteres
SSPBUF=0'escribiraSSPBUFparainiciarelreloj
GoSubletclear'esperarparalarecepcin
a[i]=SSPBUF'recibiencarcterdematriz
Nexti'recibeelsiguientecarcter
Return

letclear:
IFSSPIF=0Thenletclear'esperaraSPIindicadordeinterrupcin
PauseUs25'pausade25uS
SSPIF=0'resetiarflag
Return

Esteesleprogramaparaelpicesclavo
Cdigo:

'DEFINICINOSCILADOREXTERNO

@devicext_osc;osciladorexternoXT
defineosc4;especificaquesevaautilizarunode4Mhz
'AsignarmemoriaRAM

dataoutVARBYTE[8]'Salidadedatosserie
http://www.forosdeelectronica.com/f24/cursoprogramacionpicpicbasicpro20658/index4.html 27/93
10/6/2017 CursodeprogramacindePICenPICBasicPro

SSPENVARSSPCON.5'HabilitarbitSSP
CKPVARSSPCON.4'seleccindepolaridad
SMPVARSSPSTAT.7'Datosdeentradadefase
CKEVARSSPSTAT.6'Seleccionabitdereloj
SSPIFVARPIR1.3'indicadordeinterrupcinltimobitseleccionado
iVARBYTE'contadordelbucle
aVARBYTE[6]'Concapacidadpara6caracteresdedatos

TRISC=%11011111'configuracintrisc
SSPCON=%00000101'configurarSPIesclavo,noSS

CKP=0'relojalralentbajo
CKE=0'transmitiralatransicininactivoaactivo
SSPIF=0'limpiarinterrupcinSPI
SMP=0'muestraenmediodelosdatos
ADCON1=$0e'PORTA.0anlogo,elreto
'PORTAyPORTEcomopinesdigitales
dataout[0]="P"'Lasalidadedatospredefinidosa"POT="
dataout[1]="O"
dataout[2]="T"
dataout[3]="="
dataout[4]=""
mainloop:
SSPEN=0'desactivar/activarlaSSPpararestablecerelpuerto
SSPEN=1
GoSubletclear''esperarabyterecibido
IF(SSPBUF<>"?")Thenmainloop'esperar?parainiciarlaconversin

ADCIN0,dataout[5]'LeercanalADC0,la6posicindelacadenadecaracteres

GoSubsenddata'senviar"!"ylacadenadedatos

GoTomainloop'volverarealizar

senddata:
GoSubletclear'esperar
SSPBUF="!"'Enviarrespuesta
Fori=0to5'bucle
GoSubletclear'
SSPBUF=dataout[i]'enviarvariabledematriz
Nexti'prximalocalizacin

http://www.forosdeelectronica.com/f24/cursoprogramacionpicpicbasicpro20658/index4.html 28/93
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/index4.html 29/93
10/6/2017 CursodeprogramacindePICenPICBasicPro

quetellevadirectoalgranoadiferenciademuchosotrosquesimplementetesacancanas:enfadado:

AmigoMecaanteshabiahechopruebillasconledsytodobienperollegaronlasfiestasnavideas,la
construcciondelacasa,ymihija....eh?.

Buenohasmanejadovariostemasimportantesperoylos7segmentos?,tenemosmuypocaporno
decirnadasobremanejarestosdispocitivosconelpicbasicpro.

Tengounproyectosenmenteyaprovechandoestepostpodemosrealizarloenconjuntoyquequedela
informacinaquienelforoademasdelavaliosoaprendizajequedejaraenmuchosforistas.

Setratadeunrelojcon7segmentos,conpic16f628aunnuevopicrelacionado...eh,quelealosdatos
delbusi2cdelds1307,pues,siguiendolarelaciondedistrubuciondeenergiademipueblo,porcada2
diasdeluzelectrica3horasnoyhastasipuedecerrarlarelacionadiario,enfinloquenosequerriaes
perderlahora,ydefinitivamenteunabateriabackupnodariachicle.

yporultimomanejariaunacarga"x",esdecirunrel,conunajustedeonyoff,esteciclodeberiaser
diario,enmicasoparamanejarlaneveraporlasnoches...peropuedeserusadoporejemplopara
sistemasderiego,iluminacionperimetraletc.

dejolasemilla...yporsupeustoelplanoesquematicodeloqueseratentativamenteelcircuitoypor
supuestocomomegustaraquequedara.

claro...podriamosirmanejandoeltemadelossietesegmentosprimerodemododeiravanzando
apropiadamente

Saludosyexitosatodos,cheyo28

ImgenesAdjuntas

pic_reloj2.PNG(101,6KB(Kilobytes),600visitas)

http://www.forosdeelectronica.com/f24/cursoprogramacionpicpicbasicpro20658/index4.html 30/93
10/6/2017 CursodeprogramacindePICenPICBasicPro

microcontrollerbaseddigitalblueclock.jpg(82,5KB(Kilobytes),396visitas)Respuesta:Curso
programaciondepicenbsicpro
Amigoatriciotedejoprogramaysimulacionparacontroldeposicionamientosinmargendeerror,
simulacionenproteus7.6,codigofuente,.hexyesquematicoparaayudaentuproyecto.solamente
aconcicionaselcodigoatusnecesidades.

QuetalamigoCheyointeresantetupropuestaperoempezamosconutilizaciondemultiplexadode
displaypararealizarelcogido?ovamosdeunaconelproyecto...
ArchivosAdjuntos

programaciondepicenbsicpro_relojrtc7segmentos
buenas,

AmigoMeca,creoquedebemosiniciarconlascaracteristicasdelpic16f628a,actualmenteleoellibro
deporgrmacionenbasic,lorecomeindo(yloencuentranengoogle)...seriabuenocontrastarloconel
mododeprogramaciondetupost.

dejoest...meparecemuyimportante

osciladorinternoRCde4Mhz+/1%
mclrprogramable
mayorcapacidaddecorriente,suspuertoAyBentreganuntotalde200mAcadauno,esdecir
25mAcadapin.lomismoparaelmodosumidero.

GraciasaunforistaLucas22,meayodoaseleccionarlospuertosadecuadosparahaceresteproyectos
yaprenddelmuchascosasimportantes.lmanejaelbasictambien...seriabuenoquehicieraparte
deestepost.

Amigomeca,noestoymuyavansadoenestodelPBP,esperomedisculpemishorroresde
programacionymisdudas...deloserroresseaprende.

1Definamosprimerosilaspuertosestanbienasignadosacoplandosealcircuito
2Estepicnousaosciladorexterno,enBasic,elnocomandarleelosciladorexternoeltomapor
defectoquevamosausarosciladorinternodelpic?.

fueradelproyecto:aclarameestarutinaqueusasteenelrelojconlcdyds1307...paraasignarlos

http://www.forosdeelectronica.com/f24/cursoprogramacionpicpicbasicpro20658/index4.html 31/93
10/6/2017 CursodeprogramacindePICenPICBasicPro

mesesydiasenellcd

Cdigo:


'CPNFIGURACIONMESES,DIAS
Data@0,74,97,110,70,101,98,77,97,114,65,112,114
'JanFebMarApr
Data77,97,121,74,117,110,74,117,108,65,117,103
'MayJunJulAug
Data83,101,112,79,99,116,78,111,118,68,101,99
'SepOctNovDec
Data84,117,101,87,101,100,84,104,117,70,114,105
'TueWedThuFri
Data83,97,116,83,117,110,77,111,110
'SatSunMon

notqueesosnumeroscorrespondenaunaletra...yhastasiestaenmayusculas...comodetrminasel
numero?...yese@0queasigna?

quehaceelDIMenbasic?

cuandolleguelarutinadelosmultiplexadospodemosprimerohaceruncontadorconlamisma
caracteristicayasotrosejemplosparaentenderlasrutinas

Saludosyexitos....porlatardevoymostrandoloqueserialarutina...eh.

Cheyo28

ImgenesAdjuntas

pines16f528a.PNG(337,8KB(Kilobytes),215visitas)

contador.PNG(238,8KB(Kilobytes),289visitas)
AmigoCheyorealizalassiguientesconfiguracioensatuprograma:
@DEVICEpic16F628A,INTRC_OSC_NOCLKOUT'OpcindelOscInterno
@DEVICEpic16F628A,WDT_ON'WatchdogTimerON
@DEVICEpic16F628A,PWRT_ON'PowerOnTimer
@DEVICEpic16F628A,BOD_ON

http://www.forosdeelectronica.com/f24/cursoprogramacionpicpicbasicpro20658/index4.html 32/93
10/6/2017 CursodeprogramacindePICenPICBasicPro

@DEVICEpic16F628A,MCLR_OFF'MasterClearOpcininterno
@DEVICEpic16F628A,LVP_OFF'Bajovoltajedeprogramacin
@DEVICEpic16F628A,CPD_OFF'ProteccindelcdigodememoriaOFF
@DEVICEpic16F628A,PROTECT_OFF'proteccindecdigoOFF
ledvarportb.0nombredelpin6
inicio:nombredesubrutinadeinicio
HIGHledenciendeelledqueestaconectadoenelpin6
pause1000Esperaunsegundo
lowledapagaelled
pause1000esperaunsegundo
gotoiniciocontinuaelprogramaparasiempre
endfindelprograma

ComotecomentabalomismoocurreconelAsmsedebeincluirunaslieasparaconfigurareloscilador
conelcualvahatrabajarelPICyaqueelprogrmadorqueposeeenotienelaopciondeconfigurarlo
comoelEpiwin800

teanexoprogramaenpicbasic,simulaciony.hex
ArchivosAdjuntos

Temassimilares

Respuesta:Cursoprogramaciondepicenbsicpro
biendejameverrealizareunomultiplexadoenestosdiassuboelcodigoyelprogramasuerteamigo
contuaprendizaje

Enlaimagenqueteanexoasiquedariaelcircuitoperotendriasquecambiardepica16f877asile
conectamoslosbotonesdeconfiguracionorealizarloconelpic16f628Aperosolamentaconlos
botonesdeconfiguraciondehorasyminutosyaquesenosvadepines.

opodriamosutilizarelcircuitoqueposteasteperoelmultiplexadonolorealizariaelpicsinoelintegrado
conectadoalosdisplayestoyprestoatuscomentarios
ArchivosAdjuntos

RELOJ.pdf(143,6KB(Kilobytes),548visitas)

RELOJ1.pdf(133,9KB(Kilobytes),418visitas)
Temassimilares

http://www.forosdeelectronica.com/f24/cursoprogramacionpicpicbasicpro20658/index4.html 33/93
10/6/2017 CursodeprogramacindePICenPICBasicPro

Respuesta:Relojdigital(PICDecodificadoresParte1)
BIenparanoolvidareltemayproyectodenuestroamigoCheyolaprimeraparteparaeldesarrollodel
RElojdigitalconseexplicaelmultiplexadoyconecciondedisplayalPIC16f628Acomoprogrmasen
BasicparaactivarlospinesdeI/OdelPIC.
ArchivosAdjuntos

Respuesta:Cursoprogramaciondepicenbsicpro
holachicos.yoporaquidenuevo.bueno,primerolequeriadarlasgraciasamecatrodatospor
ayudarmeconlodelservocaseropero,nopudehacerquefuncione...talvesseaquenosecomo
adaptarelprogramaamicircuito...enfin...graciasdetodasformas

enestecaso,lesqueriadejaruncontrolremotoserieproporcionaldepicapicquedisee.esdeun
solocanalperoconalgunasmodificacionesalprogramasepuedenlograrvarioscanales.loquetiene
debuenoestecircuito,esqueadiferenciadelquepostieanteriormente,cuandoelreceptordejade
recibirseal,losservosdesussalidasvuelvenacero.esperolesseadeutilidad.
saludosss.
ArchivosAdjuntos

Temassimilares

Temassimilares

Respuesta:Cursoprogramaciondepicenbsicpro
Paraeltemadehumedadtieneslaopciondeunciquehaceestalecturayquelopuedesconectar
facilmentealpic,paralawebesmassimplehaceuntempoatrasrealisealgoparecido.loquehaciaera
montarunservidor(apache)esteyavieneconfiguradoconphpenelappserverescosainstalaryya
tenestuservidorcorriendoparalawebdinamicautilseswishqueesparecidoamacromediaflashpero
muysimple.Enresumenconvisualbasicleialosdatosdelpicguardaestainfoenarchivodetextocada
ciertotiempoyalavesunscriotenphpleiestemismoarchivoydesplegabalainfoenlawebechaen
flash,asidefacilybonitovoyabuscarlosarchivosparaklosveass

eso
ysaludosss....
ArchivosAdjuntos

humedad.pdf(331,0KB(Kilobytes),299visitas)

http://www.forosdeelectronica.com/f24/cursoprogramacionpicpicbasicpro20658/index4.html 34/93
10/6/2017 CursodeprogramacindePICenPICBasicPro

webcontrol.rar(2,4KB(Kilobytes),270visitas)Respuesta:Cursoprogramaciondepicenbsicpro
Holafernando,despusdemuchashorasinvestigando(ydeponerpreguntasentodoslosforosque
conozco)hedadoconlaquecreoqueeslarespuesta.

HayqueusarelADCON1delasiguientemanera.

Pon1000,eneladresh,(porlodelADFM)ylos4bitssiguientesdependendelasentradasanalgicas
quevayasausar.

Enlatablaqueadjuntotesalenlosadresl.

Yotodabanolohepodidoprobarporqueestoyesperandoaquemelleguen216f877,encuantolos
tengaenmipoder,meloconello.

Yamedirssifunciona.

Saludos!
ImgenesAdjuntas

Temassimilares

Respuesta:Cursoprogramaciondepicenbsicpro
Lafunciondeautocalibraciondelospotesesasi...despuesusaslavariable"escala".
ImgenesAdjuntas

Respuesta:Cursoprogramaciondepicenbsicpro
primeroesobligatorioelusodeservos,puedesusarservostrucadosesunaalternativamirahe
intentadoesoenmicrocodeperonologreexitodependedelmicroquevayasausarpuedequete
ayudeestedocumentotedaunaideabastantebuenadeloquesevayaahacerpudesusarunL293D
paraactivarlosmotoresyatravezdeunmicroreceptoractivarlassalidasnecesariasparaunL293Dy
hacerquevayaadelanteatrasizquierdaderechayolologreenProtonperotalveztupuedashacerloasi
porqueaquienmipaisnosepuedeencontrarconfacilidadel16F84Aesmuycaroaqui
ArchivosAdjuntos

http://www.forosdeelectronica.com/f24/cursoprogramacionpicpicbasicpro20658/index4.html 35/93
10/6/2017 CursodeprogramacindePICenPICBasicPro

Respuesta:Cursoprogramaciondepicenbsicpro
holaamigos,estoyusandounpic16f88,ymehasidoimposibleutilizarelconversorA/D,simuloen
proteusynomefuncionalesadjuntolosarchivosparaversialguienmepuedeayudar,laideaesque
elledrojoenciendaalcomenzarelprograma,elazulcuandolaluzesbajayelverdecuandoesalta.

saludos!!

Cdigo:

defineosc20
DEFINEADC_BITS8
DEFINEADC_CLOCK3'USEA/DINTERNALRCCLOCK
DEFINEADC_SAMPLEUS50'SETSAMPLINGTIMEINuS
'VARIABLES
RESVARWORD'A/DCONVERTERRESULT
VOLTS1VARWORD'FIRSTPARTOFRESULTINmV
VOLTS2VARWORD'SECONDPARTOFRESULTINmV

'CONSTANTS
CONV1CON19'5000/256=19.53,THISISTHEDECIMALPART
CONV2CON53'THISISTHEFRACTIONALPART

TRISA=1'RA0(AN0)ISINPUT
TRISB=0'PORTBISOUTPUT

'INIATIALIZETHEA/DCONVERTER

ADCON1=0'MAKEAN0TOAN4ASANALOGINPUTS,MAKEREFERENCEVOLTAGE=VDD

ADCON0=%11000001'A/DCLOCKISINTERNALRC,SELECTCHANNELAN0,TURNONA/D
CONVERTER
HIGHPORTB.2
PAUSE3000
AGAIN:

'STARTA/DCONVERSION

ADCIN0,RES'READCHANNEL0DATA
VOLTS1=RES*CONV1'MULTIPLYBY19
VOLTS2=RES*CONV2'MULTIPLY53

http://www.forosdeelectronica.com/f24/cursoprogramacionpicpicbasicpro20658/index4.html 36/93
10/6/2017 CursodeprogramacindePICenPICBasicPro

VOLTS2=VOLTS2/100
VOLTS1=VOLTS1+VOLTS2'RESULTINmV
IFVOLTS1<2500THEN
HIGHPORTB.0
ELSE
HIGHPORTB.1
ENDIF
PAUSE2000
GOTOAGAIN
END

Aquiadjuntoelarchivoparaelproteus.

GRACIAS!
ArchivosAdjuntos

Temassimilares

CursoprogramaciondepicenbsicproPROYECTOSCONMOTORES
compartounaseriedeprogramasparamanejosdemotores,totalmentecomentadosconsurespectiva
simulacionenproteuscomocodigofuenteconelpic16f88enelcualalgunostienendudassobresu
utilizacion.
'Titulo
'****************************************************************
'*Name:Proyectoconmotores......servo1.pbp*
'*Author:MECATRODATOS*
'*Date:13/06/2010*
'****************************************************************
'Descripciondelprograma
'Programabsicoservoconelformatoparaelcontrolde
'PulsosdelservoconPicBasicProcomandoPULSOUT.
'Servociclosentrelaizquierday
'Lasposicionesdelasagujasdelreloj.
'Comentario
'CONELPIC16F88,asegresedeteneralimentacionporseparado
'SUMINISTROSPARAelPICYelSERVO.Usar9Vde

http://www.forosdeelectronica.com/f24/cursoprogramacionpicpicbasicpro20658/index4.html 37/93
10/6/2017 CursodeprogramacindePICenPICBasicPro

'Labateraydosreguladoresdevoltaje78L05.
'Tambin,inicializarelestadodePORTB,(PORTB=0),lomsbajo
'YaqueestablecerlapolaridaddeladeclaracinPULSOUT.
'Servos"podrsermodificadoohackeadoparapermitir
'larotacincontinuaypuedanserutilizados
'Comomotoresdepequeosrobots.Ellibro
'AmphibionicsporKarlWilliamsdaun
'Eneltratamientoafondosobrecmomodificarlosservos.

'ComandosPicBasicPro
'PULSOUTpin,perodo
'Estecomandoenvaunpulsoalaclavijaparaelperododefinido.
'
'Porejemplo:
'
'PULSOUT0.200EnvaunpulsoacaboenRB0pinespara2,0ms.
'Elperodo,(200),semultiplicaporel
'Incrementoparaunosciladorde4MHz(10us)
'Paraobtenerunpulsodetiempodeesperade2,0ms.
'
'Miraatualrededorenlapgina121PicBasicProManualdelcompilador
'
'OtrocomandoPBPquepodrsersustituidoporPULSOUT'EsPAUSEUS.
'PICConnecciones
'PIC16F88PinWiring
'
'RB0ServoControlWire
'Vdd+5V
'VssGround
'MCLR4.7KResistorto+5V

'Variables
iVARBYTE'BYTEparalavariablecontador,i

'Initialization
PORTB=%00000000'Eqivalenta:PORTB=0
'EstablecetodoslospinesPORTBaBAJO(0voltios)
'Asegresedeincluireste
'Inicializacinqueestablecela

http://www.forosdeelectronica.com/f24/cursoprogramacionpicpicbasicpro20658/index4.html 38/93
10/6/2017 CursodeprogramacindePICenPICBasicPro

'Correctapolaridaddelospulsosenelcomando
'PULSOUT.
'ParaestablecerunsolopinRB0como,a
'LOW,introduzcaPORTB.0=0.

ANSEL=0'Configuretodoslospinesaladigital
'OperacinyaquenoutilizaADC
'(Convertidoranalgicoadigital)

OSCCON=$60'Estableceelosciladorinternoenel
'16F88a4MHz
'CodigoPrincipal
loop:
Fori=1TO40'posicin:Hacialaizquierda
'Enviarlaseal40veces.Paracambiarelsentido
'Elservosemantieneenunaposicin,elcambio
'De40aotrovalor.

PulsOut0,100'Anchodepulso:
'EnvaunpulsoacaboenRB0pinespara1,0ms.
'Elperodo,(100),semultiplicaporel
'Incrementoparaunosciladorde4MHz(10us)
'Paraobtenerunpulsodetiempodeesperade1,0ms.

Pause201'Intervalodepulso:
'Unapausade20msdepulsomenorancho(1,0m)
'Estaecuacinmantieneelperodode
'Elpulsodelservouconstantede20ms,HIGH
'Por1msymsde19BAJO=20ms.

Nexti'Volveraladeclaracin
'Siguientecuenta

Fori=1TO40'Enviarlasealparaelgiromanecillasdelreloj
'40veces

PulsOut0,200'Anchodepulso:
'EnvaunpulsoacaboenRB0pinespara2,0ms.
'Elperodo,(200),semultiplicaporel

http://www.forosdeelectronica.com/f24/cursoprogramacionpicpicbasicpro20658/index4.html 39/93
10/6/2017 CursodeprogramacindePICenPICBasicPro

'Incrementoparaunosciladorde4MHz(10us)
'Paraobtenerunpulsodetiempodeesperade2,0ms.

Pause202'IntervalodePulso:
'Unapausade20msdepulsomenorancho(2,0m)
'Estaecuacinmantieneelperodode
'Elpulsodelservoconstantede20ms,HIGH
'Durante2msy18msparaBAJO=20ms.

Nexti'Volveraladeclaracin
'Siguientecuenta

gotoloop'Hacequeelprogramaseejecutesiempre
end

ArchivosAdjuntos

Cdigo:

'****************************************************************
'*Name:SERVO2.BAS*
'*Author:MECATRODATOS*
'****************************************************************

'Descripciondelprograma

'Girarservosenlasrotacionesdelasagujasdelrelojyensentidoantihorario
'

'ConnecCIONES

' PIC16F88Pin Wiring


'
'RB0ServoControlWire
'Vdd+5V
'VssGround
'MCLR4.7KResistorto+5V

'Variables

p0 VAR BYTE 'Byteparaalmacenarlaposicindelservo
http://www.forosdeelectronica.com/f24/cursoprogramacionpicpicbasicpro20658/index4.html 40/93
10/6/2017 CursodeprogramacindePICenPICBasicPro


'Initialization

PORTB=%00000000 'Eqivalenta:PORTB=0
'EstablecetodoslospinesPORTBaBAJO(0voltios)
'Asegresedeincluiresta
'Inicializacinqueestablecela
'Correctapolaridaddelospulsosen
'ElcomandoPULSOUT.

OSCCON=$60 'Estableceelosciladorinternoenel
'16F88a4MHz

'codigoprincipal

loop:

'************Giroalaizquierda***********************************

Forp0=200TO100STEP1 'Modificarelvalordelpulsode2
msy
'1msenpasosde10.
'VersiguienteComando

PulsOut0,p0 'Envaunpulso,p0,sobre
pinRB0.
'Elperodo,p0,semultiplicaporel
'Incrementoparaunosciladorde4MHz
'(10us)paraobtenerunpulsodetiempode
espera.
'Porejemplo,sip0=200,
'200*10=nosotrosnos2000=2ms

Pause20p0/100 'Unapausade20msmenos
anchodepulso(p0/100)
'Sip0=200,=200/100=p0/1002ms.
'Estaecuacinmantieneelperodode
'Elpulsodelservounaconstantede20ms.

Nextp0'Volveraladeclaracindel
'Siguientevalordep0

http://www.forosdeelectronica.com/f24/cursoprogramacionpicpicbasicpro20658/index4.html 41/93
10/6/2017 CursodeprogramacindePICenPICBasicPro

'*******Rotacinhacialaderecha**************************

Forp0=100TO200 'Modificarelvalordelpulsode1
msy
'2msenpasosde10.

PulsOut0,p0 'Envaunpulso,p0,sobreRB0
alfiler.
'Tiempodeesperavaradeunpulsoms1,0
'A2,0ms.

Pause20p0/100 'Unapausade20msmenos
anchodepulso(p0/100)

Nextp0'Volveraladeclaracindel
'Siguientevalordep0

gotoloop'Hacequeelprogramaseejecutesiempre

end

'****Nota:elmismodiagramautilizadoenelprimerproyectosirveparalasimulacin******
ArchivosAdjuntos

Respuesta:Cursoprogramaciondepicenbsicpro
Mirateanexounaguaestaeninglesperotedaejemplosdecomotrabajarconelsoftware
ArchivosAdjuntos

Proyectosconmotores
AMPLIFICADORPARAMOTORES

Antesdeempezarnuestradiscusinsobreelcontroldemotores,vamosaecharunvistazoaalgunos
pequeosamplificadoresquepodemosutilizarparacontrolarnuestrosmotores.

Todoslosamplificadoresqueheseleccionadosonbaratosyfcilesdeusar.

Sinembargo,nodeberahaberningnproblemaconelusodeotrosamplificadores.Sideseapara

http://www.forosdeelectronica.com/f24/cursoprogramacionpicpicbasicpro20658/index4.html 42/93
10/6/2017 CursodeprogramacindePICenPICBasicPro

controlarunmotormsgrande,todoloquenecesitaesunamplificadormsgrande.

Lostresamplificadoressequeutilizanenlosproyectossoneconmicosyfcilderealizarparaejecutar
elcontroldemotoresde2ejesomotorespasoapaso.ElamplificadorL298esmsbarato,pero
tambinseocupademenosamperios.Elamplificadorqueheusadoparatodoslosexperimentosesel
amplificadorLMD18200T.

LostresamplificadorestomansealesTTLdirectamentedesdeelmicrocontroladoryelcontrolla
alimentacindelmotor.Cadamotorrequiereunafuentedealimentacincompatibleconlaalimentacin
quenecesitaelmotorylacapacidaddelamplificador.Lafuentedealimentacindelmicrocontroladory
lafuentedealimentacindelmotordebemantenerseseparadaentodaslascircunstanciasconslo
unaconexinatierracomn.Sinosehaceesto,elruidodelmotorcontaminarelpoderparael
microprocesadoryprovocaraproblemasgraves.

TodoslosmotoressonmuyruidososporloqueserefiereaelectrnicadeLPICydebeseraislado.El
ruidodelmotorprovienedelosconmutadoresdemotorydelarpidadesactivacindelasbobinasdel
motor.ApesardelaadicindepequeoscondensadoresatierradesdecadaTerminaldelmotory
ayudaatravsdelasterminales,nofuncionatanbiencomoundiseobienaislado.Puestoque
tenemosunaopcin,vamosautilizarfuentesdealimentacinindependientesentodosnuestros
experimentos.Cadaunodelosamplificadoresutilizaunoodoscircuitosintegradoscomocomponentes
desuamplificador,yalgunosauxiliaresequipadosconindicadoresLEDparaanunciarlascondiciones
internas.

Sinembargo,otrosdispositivospermitenlainterconexinalassealesqueelmicrocontrolador
proporcionasinlanecesidaddedispositivosintermedios.

NotassobreelhechoencasaAmplificadordeconstruccin

Aunqueustedpuedehacersupropioamplificador,norecomiendoquehagaotro.Losamplificadores
queesprobablequehayan(unaseriedelosdiseosestndisponiblesenInternet)esprobableque
seanpuentesHbastantesencillo.Amenosqueuncircuitomuchomssofisticados,seaadealcircuito
amplificadorbsico,esmuyfcildevolarunpuenteHmediantelaactivacindeambostransistoresen
cualquierladodelpuente,almismotiempo.

Porotraparte,siutilizamoscircuitosintegradosparaconstruirnuestrosamplificadores,estoscircuitos
escasiseguroquetienencircuitosdentrodeellosparaevitardaosencortocircuito,cierredesesin
enelsobrecalentamiento,yotrascaractersticastiles.Cuantomssofisticadoseaelcircuitotambin
proporcionalacapacidaddedetectarelapagadotrmicoyparamirarelflujodecorrienteatravsde

http://www.forosdeelectronica.com/f24/cursoprogramacionpicpicbasicpro20658/index4.html 43/93
10/6/2017 CursodeprogramacindePICenPICBasicPro

cadaamplificador.

Puestoquehayunaseriedeproveedoresquevendenbarato,loscomponentesautilizarparael
desarrollodelosamplificadores,nohayningunabuenaraznenestaetapadenuestroprocesode
aprendizajedenoutilizarestosrecursospararealizarestosamplificadoresycontrolarnuestros
motores.

ElamplificadorLMD18200T.

Elamplificadorqueheusadoparatodoslosexperimentos.Lasconexionesqueutilizaesteamplificador
seidentificanenFigura1.Cadaunodelosdosamplificadorespuedemanejarhasta3amperiosa55
VDC.Pulsoscortosde6amperiossontolerados.

Lapolaridaddelaalimentacindelamplificadorescrticaauquesepuedecolocarunaproteccina
travsdediodo4148.

Paranuestrospropsitoslospines1,2y3sepuedeutilizarparacontrolarlabobina/delmotor1,ylos
pines6,7,y8controldelabobina/elmotor2.

ElAmplificador33886

Siustednecesitaunamplificadordeunsoloeje,elamplificador33866deejenicoquesemuestraen
lafigura2esadecuadoparamotorespequeosquenecesitanmenosde5amperiosa40V.

HeutilizadoesteamplificadorparalospequeosexperimentosconelmotordeCC.Lasconexionesde
cableadodeesteamplificadorsonsencillas.Unacaractersticadeseguridaddeesteamplificador
proporcionaundiododeproteccincontralaconexinaccidentaldepolaridadinversaalconectorde
alimentacin.

CARACTERSTICAS:

poderenlapotenciadelmotorseconectaaestosdosterminales.Aunqueun
diododeproteccinseincluye,lapolaridaddelaconexindebeserobservada.

motordecorrientecontinuaAquesdondeelmotorestconectado.Lapolaridaddeestaconexinno
esimportante.Lasoperacionesdemotorsepuedeninvertirensoftware.

http://www.forosdeelectronica.com/f24/cursoprogramacionpicpicbasicpro20658/index4.html 44/93
10/6/2017 CursodeprogramacindePICenPICBasicPro

LEDsLostresLEDenlatarjetadeindicarlaoperacindelatarjetacomoelpoder
ysealesdecontrolseaplicanalatarjeta.

ElAmplificadorL2982Ejes

ElamplificadorL298decontroldedobleejesemuestraenlaFigura3consusconexionesdecableado
identificadas.Estecircuitopermitirelcontroldedosmotores.

ElamplificadorL298tieneunproblemaconlassealesPWMendeterminadascondicionesynodeben
serutilizadosenlosexperimentossofisticadosconmuchoscambiosdePWMambosejes
simultneamente.Hayalgunasinterferenciasyproblemasdeincumplimiento.Lacondicinnoinhibeel
usodeesteamplificadordebajocostoparaelfuncionamientodepequeosmotores.Setratadelms
baratoamplificadorintegradode2ejesqueustedpuedeconsiderarparaarmar.
ArchivosAdjuntos

figura1.rar(20,4KB(Kilobytes),288visitas)

figura3.rar(160,9KB(Kilobytes),251visitas)
Temassimilares

Respuesta:Cursoprogramaciondepicenbsicpro
jejedisculpaporlasmultiplesdudas!!!
peroauntengodemasiadas...
Estoyequivocadoencuantoaelcontroldelmotorpapquizanosoymuybuenoexplicandomejejejlo
quequierohaceresqueconpulsosvarielavelocidaddelmotoroelnumerodepasosdados.
Tengounaideadecomo,corrigemesiestoymaldefavor
Elmotorpapqueutilizotiene6hilos,2soncomunesylosotros4pertencenalasbobinas,simando
voltajeaunabobinadaciertospasos,silemandovoltajeaotrabobinacaminaotrosciertospasos.
Loquetengoquecontrolareseso.jejejenosoymuybuenoenestoapenasempiezo.

sequesehaceconif..then(lodeantirreboteafectaesto?)

esperoahorasihabermeeplicadobien

Porciertoaquiunvideodeloquequierohacer

http://www.forosdeelectronica.com/f24/cursoprogramacionpicpicbasicpro20658/index4.html 45/93
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

http://www.forosdeelectronica.com/f24/cursoprogramacionpicpicbasicpro20658/index4.html 46/93
10/6/2017 CursodeprogramacindePICenPICBasicPro

Respuesta:Cursoprogramaciondepicenbsicpro
Estememarcaunerrorquenuncahabiavisto....quesera???

ImgenesAdjuntas

lubeckdijo:

Estememarcaunerrorquenuncahabiavisto....quesera???

EselProteus.
Tensdeclaradoslosfuentes(verimagen)yantesdeejecutarlosquierecompilar.Saltaelerrorporque
noencuentraalPBP.
EliminsesasdoslneasdesdeSource>Add/RemoveSourcefilesydesapareceelproblema.
(laotraesconfigurarelcaminoylosargumentosparacompilardesdeelProteus)

Bueno...desapareceeseyapareceotro

.Despusqueterminanlosmensajesinicialesempiezaadar"StackOverflow"
ImgenesAdjuntas

Respuesta:Cursoprogramaciondepicenbsicpro
porciertoesteprogramitameayudobastanteconloscaracteresyfigurasdelalcd
ArchivosAdjuntos

Respuesta:Cursoprogramaciondepicenbsicpro
holagente

lescuentoqueestoyintentandohacerunvariadorbrushlessconpic,yahiceunoconcomponentes
dicretosquefuncionaaquipuedenverloandando.esunpocovoluminosoycomplicadoasique,ahora
quierohacerloconunpicutilizandopbasicparaprogramarelmicropero,tengounproblema,
basandomeenelfuncionamientodelbldcdiscreto,hecreadounarutinaenpbasicqueasegunmis
calculos,deberiafuncionarigualperonofunciona.
acasuboelrarconeldiseocompletoysucodigofuenteenbasicparaversimepuedendaruna
manoyasisaberqueestoyhaciendomalparacorregirlo.loquehaceelcircuito,esdetectaruna

http://www.forosdeelectronica.com/f24/cursoprogramacionpicpicbasicpro20658/index4.html 47/93
10/6/2017 CursodeprogramacindePICenPICBasicPro

secuenciadenumerosbinariosdel1al6yasegunelnumeroqueentre,seraelestadoensussalidas.
saludosssatodos...
ArchivosAdjuntos

Respuesta:Cursoprogramaciondepicenbsicpro
holalubek.
acatedejolosarchivoslivewiredelbldcdiscreto.nosesihabrassimuladoelcircuitoenproteus,siasi
fue,debeshabernotadoquealpotenciometrololeebienyquelavariaciondelpwmescorrecta.el
problemaquetienemicircuito,esquelospuertosRB0aRB2nofuncionancomoelprogramaloindica.
cuandoenelprogramadice:
paso4:
pwm2,b0,5
high4
gotoloop
empiezaelproblemadequeelpuertoBnorespondecomodebiera.
veras,elcircuitoqueestoyintentandohacer,esunaespeciededecodificadorbinarioqueenfunciondel
numerobinarioquedetectaconmutadossalidasdelpicenviandoporuna,unpulsopwmyprlaotra,un
unologicosimultaneamente.
conesto,consigoconmutarlosmosfetsdelinversortrifacicosegunlasealdezerocrossingque
obtengodelcircuitoconlm324.
tengolaimpresiondequesepuededetectarnumerosbinariosdeotramaneraconpicbasicperonose
meocurremasqueloanterior...
acadejoelcodigopbp.
ahlubeck,elcmcon=7,esparadesactivarloscomparadoresdelpuertoAyconvertirlosenenE/S
digitalesyestomesirveporqueloqueestoyintentandodetectar,son1y0s
saludosss

Cdigo:

CMCON=7
TRISA=%00000000
porta=%00000000
trisb=%01110000
portb=%01110000
frecvarbyte
loop:
potportb.3,137,frec
ifportb.4=1thenpaso1
lowporta.0
lowportb.1

http://www.forosdeelectronica.com/f24/cursoprogramacionpicpicbasicpro20658/index4.html 48/93
10/6/2017 CursodeprogramacindePICenPICBasicPro

ifportb.5=1thenpaso2
lowporta.0
lowportb.2
ifportb.4andportb.5=1thenpaso3
lowporta.1
lowportb.2
ifportb.6=1thenpaso4
lowporta.1
lowportb.0
ifportb.4andportb.6=1thenpaso5
lowporta.2
lowportb.0
ifportb.5andportb.6=1thenpaso6
lowporta.2
lowportb.1
gotoloop
paso1:
PWMporta.0,frec,5
highportb.1
gotoloop
paso2:
PWMporta.0,frec,5
highportb.2
gotoloop
paso3:
pwmporta.1,frec,5
highportb.2
gotoloop
paso4:
pwmporta.1,frec,5
highportb.0
gotoloop
paso5:
pwmporta.2,frec,5
highportb.0
gotoloop
paso6:
pwmporta.2,frec,5
highportb.1
gotoloop
end

http://www.forosdeelectronica.com/f24/cursoprogramacionpicpicbasicpro20658/index4.html 49/93
10/6/2017 CursodeprogramacindePICenPICBasicPro

ArchivosAdjuntos

Temassimilares

erickpercydijo:

graciareyvillaporresponderperotratedecompilarloquemepusisteenelforoymesalenestos
errores

Hola:
Disculpavoyadarmiopinin.ElMicrocodequesupongoesqueestnusandotienedosopcionespara
usarundeterminadocompiladorquelovenen"View">"CompileandProgramOptions"porloquese,
escuandoseusanFusesyelcompiladorasociadoeselMPASMtegeneraerrorescomolosquetehan
salido.ParaarreglaresodebesusarelcompiladordelPicBasicqueesten"C:\PBP",entonceslos
asociaspormediodelbotnqueestenlaimagenluegodeesotedebeapareceralcostadola
direccindelcompilador"C:\PBP".

Intentaeso.

Saludos.
ImgenesAdjuntas

Temassimilares

mecatrodatosdijo:

BienamigoByAxelporcierto,unavezpreguntasteenestehilosobreelcompiladoryeditorparaPIC
delaserie18F"SwordfishIDE",tengovariosejemplosyunatutoratotalmenteterminadacomoel
casodelPROTONIDEquesolamentemefaltasubirlaspartesrestantesquesercuandotermine
dearreglarelcomputadorypasaralgunosartculosaPDF.Porloqueenesteforoquedaratodolo
dePICBasicparamicrocontroladores,enelhilodePBP,PROTONyunnuevoHILOSwordfishIDE
paraaquellosquedeseenescoger.

Impresionante

,realmentequierohacercosasconel"SwordfishIDE"...muybienrecibidalainfo

http://www.forosdeelectronica.com/f24/cursoprogramacionpicpicbasicpro20658/index4.html 50/93
10/6/2017 CursodeprogramacindePICenPICBasicPro

,encuantomeliberedealgunostrabajoslepongopilasalSwordfishparacolaborarconejemplosenel
respectivohilo.


SobrelosFusesparalosP18enelPBPmeheencontradoconvariosdetallesylosquepusistenome
funcion,buenoinvestigueunpocomsyloapliqueotraformausandoPBP2.60L+Microcode4para
aquellosquequieranmodificarlosFusesparalosP18:

1)EnmicasouseelMPASMdelacarpeta"C:\MCC18\mpasm"porquetengoelC18instalado(elPBP
nomevinoconelMPASMintegrado)abrirelarchivoP18Fxxxx.INC,enlaultimapartedelarchivo
estnlosFuses.
2)Ubicarelarchivo18Fxxxx.INC,enlacarpetadelPBPencasodelPIC18F2550es:
Cdigo:

NOLIST
ifdefPM_USED
LIST
"Error:PMdoesnotsupportthisdevice.UseMPASM."
NOLIST
else
LIST
LISTp=18F2550,r=dec,w=311,w=230,f=inhx32
INCLUDE"P18F2550.INC" ;MPASMHeader
__CONFIG_CONFIG1L,_PLLDIV_5_1L&_CPUDIV_OSC1_PLL2_1L&_USBDIV_2_1L
__CONFIG_CONFIG1H,_FOSC_HSPLL_HS_1H&_FCMEN_OFF_1H&_IESO_OFF_1H
__CONFIG_CONFIG2L,_PWRT_OFF_2L&_BOR_ON_2L&_BORV_3_2L&
_VREGEN_ON_2L
__CONFIG_CONFIG2H,_WDT_ON_2H&_WDTPS_512_2H
;__CONFIG_CONFIG3H,_CCP2MX_ON_3H&_PBADEN_OFF_3H&_LPT1OSC_OFF_3H&
_MCLRE_ON_3H
;__CONFIG_CONFIG4L,_STVREN_ON_4L&_LVP_OFF_4L&_XINST_OFF_4L
NOLIST
endif
LIST
EEPROM_START EQU 0F00000h
BLOCK_SIZE EQU 32

Dondesepuedereemplazardirectamentelaslneasqueempiezancon"__CONFIG"conla
configuracinquesequieradelarchivoP18Fxxxx.INCdelPICrespectivo(enestecaso,PIC18F2550).

3)Ocomentarlaslneas__CONFIGcon''paraevitarquesalgaerroresaldeclararlosfusesenel

http://www.forosdeelectronica.com/f24/cursoprogramacionpicpicbasicpro20658/index4.html 51/93
10/6/2017 CursodeprogramacindePICenPICBasicPro

mismoarchivodelprograma(.bas,.pbp)ydeesemodorecinelcompiladoraceptaladeclaracin
como:
Cdigo:

@__CONFIG_CONFIG1L,_PLLDIV_5_1L&_CPUDIV_OSC1_PLL2_1L&_USBDIV_2_1L
@__CONFIG_CONFIG1H,_FOSC_HS_1H
@__CONFIG_CONFIG2H,_WDT_ON_2H&_WDTPS_128_2H
@__CONFIG_CONFIG3H,_PBADEN_OFF_3H
@__CONFIG_CONFIG4L,_LVP_OFF_4L&_ICPRT_OFF_4L&_XINST_OFF_4L

ocomopongoenlapruebaquerealicparaPBP:
Cdigo:

'****************************************************************
'PIC18F2550,pruebageneradordemediaonda
'****************************************************************
@CONFIGPLLDIV=5,CPUDIV=OSC1_PLL2,USBDIV=2
@CONFIGFOSC=HS
@CONFIGBOR=ON,BORV=1
@CONFIGWDT=OFF,WDTPS=32768
@CONFIGMCLRE=OFF
@CONFIGSTVREN=ON,LVP=OFF,XINST=OFF,DEBUG=OFF

defineOSC20

CNTvarbyte

clear
ADCON1=15
TRISB=0
LATB=0

Main:
forcnt=0to127
LATB=sincnt
pause1
nextcnt
gotomain
end

Meavisansimeequivoqueenalgo

http://www.forosdeelectronica.com/f24/cursoprogramacionpicpicbasicpro20658/index4.html 52/93
10/6/2017 CursodeprogramacindePICenPICBasicPro

saludos.
ImgenesAdjuntas

Respuesta:Cursoprogramaciondepicenbsicpro
holagentedelforo.

bueno,acaestoydenuevo,pidiendovuestraayudajeje

...nosinantes,dejarunpequeoaportitoacambio.setratadeuntacometroparamotoresDCcomo
losdeaeromodelismo.estaprobadoenproteusynosecualesellimitedeRPMsquepuedemedir.
ahorapasemosamiduda...bueno,pasaquenotengoporahoraeldisplaydeesteproyectoyme
gustariahacerloyaque,meseriadegranutilidad.resultaquetengounlcddeunnokia1100yme
gustariaadaptarloparaesteproyecto,utilizandocomolenguajedeprogramacion,picbasic.tengoel
pinoutdeestedisplayyhevistoenelforocomoseconecta,peroloquenose,escomocambiarla
comunicacionentreelpicyeldisplaynokia
yaque,enestetacometro,lacomunicacionesenparaleloyeldisplaynokia,esseriesincronico.
acasosepodriausarlainstruccionSHIFTOUTparacontrolarlo?ustedesqueopinan?comopuedo
hacerparaadaptarloamidiseo?gracias.
saludosss

ImgenesAdjuntas

Temassimilares

Respuesta:Cursoprogramaciondepicenbsicpro
bienaquestaellcdlaconexindelLCDNOKIA3110porhaytengolaslibreriaparaponerloatrabajar
enproteusaunquelaultimaversiontraeel7110.

listomireenmipcyencontrlaslibrerasycircuitosdeconexinparalasimulacindepantallasNokia
331066107710compatiblescon1100
ArchivosAdjuntos

lcdNokia.rar(17,8KB(Kilobytes),307visitas)

http://www.forosdeelectronica.com/f24/cursoprogramacionpicpicbasicpro20658/index4.html 53/93
10/6/2017 CursodeprogramacindePICenPICBasicPro

ProteusModel.zip(29,3KB(Kilobytes),300visitas)

3310LCD.pdf(805,7KB(Kilobytes),296visitas)

esquematico.rar(74,3KB(Kilobytes),254visitas)

esquematico3310.rar(33,3KB(Kilobytes),224visitas)

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.

http://www.forosdeelectronica.com/f24/cursoprogramacionpicpicbasicpro20658/index4.html 54/93
10/6/2017 CursodeprogramacindePICenPICBasicPro

Unsaludo
ImgenesAdjuntas

ByAxeldijo:

Supongoquesinfusestecompila,entonceslacausadelerrorpuedequesealaconfiguracindel
compiladoryaqueunavezmesucedialgoparecido.Asegratequeelcompiladorseadelpbpque
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

http://www.forosdeelectronica.com/f24/cursoprogramacionpicpicbasicpro20658/index4.html 55/93
10/6/2017 CursodeprogramacindePICenPICBasicPro

luegotransmitirlo,heprobadolatransmisindirectausandouncableparaunirelpin39del16f877ay
elpin17del16f628ayfunciona,buenodeesaformalogrovisualizarlalecturadeldatoquedeseo
enviarporloquecreoelprogramafuncionacorrectamente.
Algunasugerenciaparasolucionarmiproblemaseriabienrecibidaymuyagradecida.

Adjuntoelesquemaquerealiceencasosirvadealgoparasuilustracinenpdf.

Incluyofragmentosdelprogramaqueuso,estahechoenmicrocodestudio,talvezestoyomitiendoalgo
ocometounerroryesasealaraznporlacualnofuncione.
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

http://www.forosdeelectronica.com/f24/cursoprogramacionpicpicbasicpro20658/index4.html 56/93
10/6/2017 CursodeprogramacindePICenPICBasicPro

releCvarportD.3
ledvarportD.4
entervarportD.5
bsubirvarportD.6
bbajarvarportD.7

EEPROM0,[20,26];contenidoinicialdelaEEPROM
SymbolN2400=4

inicio:;3parpadeosdelledqueindicaque
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:

http://www.forosdeelectronica.com/f24/cursoprogramacionpicpicbasicpro20658/index4.html 57/93
10/6/2017 CursodeprogramacindePICenPICBasicPro

HIGHreleF:lowreleC
gotosensar

calentar:
HIGHreleC:lowreleF
gotosensar

grabarla:
gosubsoltar

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

http://www.forosdeelectronica.com/f24/cursoprogramacionpicpicbasicpro20658/index4.html 58/93
10/6/2017 CursodeprogramacindePICenPICBasicPro

grabar2:
LCDOUT$fe,1,"ProgramarTemp."
LCDOUT$fe,$c0,"alta=",dectempalt,"C"
pause100

ifbbajar=0thenrestar2
ifbsubir=0thensumar2
ifenter=0thengrabarB
gotograbar2

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

http://www.forosdeelectronica.com/f24/cursoprogramacionpicpicbasicpro20658/index4.html 59/93
10/6/2017 CursodeprogramacindePICenPICBasicPro

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
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://www.forosdeelectronica.com/f24/cursoprogramacionpicpicbasicpro20658/index4.html 60/93
10/6/2017 CursodeprogramacindePICenPICBasicPro

http://electronicahifi.com/pdf/212strx04a.pdf

p.d.1.Subirelesquemticoenpdfparaquetenganunavisualizacindelcircuito.
p.d.2.Pidodisculpasporelpostenlaseccinquenocorresponda,enrealidadporelapuronopude
verqueestabaabiertoestetopicsobrelaprogramacinenpbp
ArchivosAdjuntos

Respuesta:Cursoprogramaciondepicenbsicpro
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,

http://www.forosdeelectronica.com/f24/cursoprogramacionpicpicbasicpro20658/index4.html 61/93
10/6/2017 CursodeprogramacindePICenPICBasicPro

Ysigoconlamolestadera.Aquadjuntolasimulacindelquemepresentavariasalertascuandoseha
digitadolaclavevariasvecesaversialguienmesabeorientardelporqudeestosmensajes.

Nuevamentegraciasaquiendecidacolaborarme.
ArchivosAdjuntos

Respuesta:Cursoprogramaciondepicenbsicpro
Viggiani...
puselaclaveconcuatrodigitoses5678...
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

http://www.forosdeelectronica.com/f24/cursoprogramacionpicpicbasicpro20658/index4.html 62/93
10/6/2017 CursodeprogramacindePICenPICBasicPro

@DEVICEMCLR_Off'MasterClearOpcininterno
@DEVICELVP_Off'Bajovoltajedeprogramacin
@DEVICECPD_Off'ProteccindelcdigodememoriaOFF
@DEVICEPROTECT_Off'proteccindecdigoOFF
DefineOsc4

CmCon=7
TrisA=%00001111
TrisB=0
EEPROM0,[5,6,7,8]

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
'

http://www.forosdeelectronica.com/f24/cursoprogramacionpicpicbasicpro20658/index4.html 63/93
10/6/2017 CursodeprogramacindePICenPICBasicPro

flag=0
gosubmmenu
lowsalida
highporta.5
Inicio:
CallTeclado
GOTOINICIO
END


Teclado:
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

http://www.forosdeelectronica.com/f24/cursoprogramacionpicpicbasicpro20658/index4.html 64/93
10/6/2017 CursodeprogramacindePICenPICBasicPro

PAUSE500
Return

mMenu:
ifflagthen
lcdout$FE,1,"INTRODUCIRCLAVE":
else
lcdout$FE,1,"DIGITECLAVE":
endif
return

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

http://www.forosdeelectronica.com/f24/cursoprogramacionpicpicbasicpro20658/index4.html 65/93
10/6/2017 CursodeprogramacindePICenPICBasicPro

estoyrealizandounprogramaenmicrocodestudioconelpic18f4550peroalcompilarmeaparece
estoserrores:contenidosenelformatoPDFelcodigoeselsiguiente:

'CONTADORASCENDENTEDE00AL99

DEFINEOSC8

Datovarbyte
UnidadVARBYTE
DecenaVARBYTE

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

http://www.forosdeelectronica.com/f24/cursoprogramacionpicpicbasicpro20658/index4.html 66/93
10/6/2017 CursodeprogramacindePICenPICBasicPro

nextDato

gotoInicio

herealizadovariosprogramasperosiempremegeneranlosmismoserroresagradezcolaayudaque
mepuedenbrindar.
ArchivosAdjuntos

:bienconelprogramaanteriorrealiceunvoltimetroDCde05aquiestaelprograma:

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

http://www.forosdeelectronica.com/f24/cursoprogramacionpicpicbasicpro20658/index4.html 67/93
10/6/2017 CursodeprogramacindePICenPICBasicPro

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
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.

http://www.forosdeelectronica.com/f24/cursoprogramacionpicpicbasicpro20658/index4.html 68/93
10/6/2017 CursodeprogramacindePICenPICBasicPro

@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

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:

http://www.forosdeelectronica.com/f24/cursoprogramacionpicpicbasicpro20658/index4.html 69/93
10/6/2017 CursodeprogramacindePICenPICBasicPro

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
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:

http://www.forosdeelectronica.com/f24/cursoprogramacionpicpicbasicpro20658/index4.html 70/93
10/6/2017 CursodeprogramacindePICenPICBasicPro

porciertoaprovechoparamostrarelcircuitoqueestabahaciendoyquemeayudaronporacaeldel
minuteroparaqueveancomoquedo...saludosss
ImgenesAdjuntas

15102010156.jpg(54,3KB(Kilobytes),70visitas)

15102010159.jpg(54,4KB(Kilobytes),45visitas)

15102010160.jpg(37,1KB(Kilobytes),34visitas)

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)"...?

http://www.forosdeelectronica.com/f24/cursoprogramacionpicpicbasicpro20658/index4.html 71/93
10/6/2017 CursodeprogramacindePICenPICBasicPro

lodemassi,yaincluielarchivoytodosolofaltadesifrarelcomoutilizarlo?
ImgenesAdjuntas

Respuesta:Cursoprogramaciondepicenbsicpro
creaunavariabletipowordquecontengalapalabraoletrasqueestesescribiendoyqueloguarde
temporalmenteenlaeepromyqueasuvezborre,seriacomountipodeindexacion,vasguardandoen
lapilaostack,demaneraquetengasunaciertacantidaddeletrasparaescribiryluegoempiecea
reemplazarlasprimerasqueseintrodujeron...porejemplo...saludos...

ahorayotengounadudaesoquetuhacesdepcapicyopuedohacerlodepicapic.....?

lesadjuntoelcomoestoysimulandotodo...
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

http://www.forosdeelectronica.com/f24/cursoprogramacionpicpicbasicpro20658/index4.html 72/93
10/6/2017 CursodeprogramacindePICenPICBasicPro

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

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
http://www.forosdeelectronica.com/f24/cursoprogramacionpicpicbasicpro20658/index4.html 73/93
10/6/2017 CursodeprogramacindePICenPICBasicPro

DATAIDVARWORD
CLEAR

INICIO:
LEYENDO=0
ACEPTADO=0
read5,seriaL
seroutGPIO.4,T300,[SERIAL,10]
IFIN=1THEN
GOSUBLEE
ENDIF
gotoinicio
LEE:
SERININ,T300,["A"],DATAID
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

http://www.forosdeelectronica.com/f24/cursoprogramacionpicpicbasicpro20658/index4.html 74/93
10/6/2017 CursodeprogramacindePICenPICBasicPro

resultoserquesiloguardacoloqueunseroutalinicioparachequearqueloguardaba,loquehicefue
guardarenlavariableserialelvalorguardadoenladireccion5delaeerpomyluegoloenvieporserout
porunpinlibredelpicysiresultoquesiloenviodemasiadobueno...jejeje

otracosaquenoteesquecambielaletraycoloqueotraaenviarymemuestralaanterioryluegosale
lanuevaletraalgoasi:

letraguardaAparolasimulacioncambiolaletrayvuelvoasimularymemuestralaAporelseroutdel
inicioycuandoprogramolanuevaletraempiezaaparecerlanuevaydejadeaparecerlaAestoesen
elvirtualterminal...curioso

escomosielproteusmantuvieralosdatosdelaeepromdelpicnosabiaeso.

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
http://www.forosdeelectronica.com/f24/cursoprogramacionpicpicbasicpro20658/index4.html 75/93
10/6/2017 CursodeprogramacindePICenPICBasicPro

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
tengoquecortarlacorrientepararesetearelPIC.
Sinoesmuchamolestiaaquilesdejomisdosprogramasyhabersimepuendenayudar.
PD:Algunprogramaparasimularlacomunicacionserial?usomatlabyprogramoen
Pbasic(microcode)
salu2

ArchivosAdjuntos

lubeckdijo:

siteayudaenalgomiconsejoesqueempiecesconaplicacionesqueestenbiensencillasyutilices
unsimuladorcomoproteuscomoporejemplo...
lodemenoseshacertelaaplicacinoayudarteabuscarlaperonocreoquetesirvacomomaterial
didcticoysiemprevasaestarenbuscadeloyaecho...

ahorasiyatienesalgoavanzadosubeloycongustoteechounamano,consimuladoresmucho
masfacil...quesoloconelcodigo...

recuerdaquemiopinionessinsaberquetantosabesalrespecto...

HOLAlubeck.

yatengoprogramadaslas8secuenciasperonosedequeformahacercambiedesecuenciacadaque
oprimaelpulsador,

http://www.forosdeelectronica.com/f24/cursoprogramacionpicpicbasicpro20658/index4.html 76/93
10/6/2017 CursodeprogramacindePICenPICBasicPro

esteelcodigoquehastaelmomentollevo.

Cdigo:

CMCON=7'HACEQUESETRABAJECONLASENTRADASENDIGITAL
PORTB=0'PONELASSALIDASENCEROPARAARRANCAR
PORTA=0

'SALIDAS
LED1VARPORTB.0'DefinoRB0comoLED1
LED2VARPORTB.1
LED3VARPORTB.2
LED4VARPORTB.3
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
http://www.forosdeelectronica.com/f24/cursoprogramacionpicpicbasicpro20658/index4.html 77/93
10/6/2017 CursodeprogramacindePICenPICBasicPro

LED3=1
PAUSE500
LED3=0
LED4=1
PAUSE500
LED4=0
LED5=1
PAUSE500
LED5=0
LED6=1
PAUSE500
LED6=0
LED7=1
PAUSE500
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

http://www.forosdeelectronica.com/f24/cursoprogramacionpicpicbasicpro20658/index4.html 78/93
10/6/2017 CursodeprogramacindePICenPICBasicPro

LED8=1
PAUSE500
LED7=0
LED8=0
GOTOSECUENCIA2
'SECUENCIA3:(SEPRENDENYSEAPAGANDETRESENTRES)
PAUSE2000
LED1=1
LED2=1
LED3=1
PAUSE500
LED1=0
LED2=0
LED3=0
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

http://www.forosdeelectronica.com/f24/cursoprogramacionpicpicbasicpro20658/index4.html 79/93
10/6/2017 CursodeprogramacindePICenPICBasicPro

PAUSE500
LED7=0
LED6=1
PAUSE500
LED6=0
LED5=1
PAUSE500
LED5=0
LED4=1
PAUSE500
LED4=0
LED3=1
PAUSE500
LED3=0
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)

http://www.forosdeelectronica.com/f24/cursoprogramacionpicpicbasicpro20658/index4.html 80/93
10/6/2017 CursodeprogramacindePICenPICBasicPro

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
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

http://www.forosdeelectronica.com/f24/cursoprogramacionpicpicbasicpro20658/index4.html 81/93
10/6/2017 CursodeprogramacindePICenPICBasicPro

LED2=0
LED1=0

GOTOINICIO'SEREPITE
END'FINDELPROGRAMA

ArchivosAdjuntos

Temassimilares

reyvilladijo:

pruebaconestefijatequelefaltabayporotraladojuegacolacandolelasotrassecuenciasme
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
http://www.forosdeelectronica.com/f24/cursoprogramacionpicpicbasicpro20658/index4.html 82/93
10/6/2017 CursodeprogramacindePICenPICBasicPro

pulsadorvarporta.0
contadorvarbyte
trisa=1
trisb=0
inicio:
ifpulsador=1then
contador=contador+1
gosubaumentar
endif
gotoinicio
aumentar:
ifcontador=1then
gosubsecuencia1
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)
http://www.forosdeelectronica.com/f24/cursoprogramacionpicpicbasicpro20658/index4.html 83/93
10/6/2017 CursodeprogramacindePICenPICBasicPro

lesagradezcomeayudenconesteproblema.
ArchivosAdjuntos

Respuesta:Cursoprogramaciondepicenbsicpro
noeslomasadecuadocomotemencionolomejoresusarelONINTERRUPT...
peroheencontradounejemploclarodecomoseusa!
Algundialoencontrareescuestindetiempo...

Listocreoqueesunabuenaayuda....

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

http://www.forosdeelectronica.com/f24/cursoprogramacionpicpicbasicpro20658/index4.html 84/93
10/6/2017 CursodeprogramacindePICenPICBasicPro

led7varportb.7

pulsadorvarporta.0
contadorvarbyte

clear
PortB=0

inicio:
ifpulsadorthen
pause200
contador=contador+1
ifcontador>=8thencontador=0
endif
selectcasecontador

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

http://www.forosdeelectronica.com/f24/cursoprogramacionpicpicbasicpro20658/index4.html 85/93
10/6/2017 CursodeprogramacindePICenPICBasicPro

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

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

http://www.forosdeelectronica.com/f24/cursoprogramacionpicpicbasicpro20658/index4.html 86/93
10/6/2017 CursodeprogramacindePICenPICBasicPro

gosubtiempo_on
led7=0

case5
PORTB=%00011000
GOSUBTIEMPO_ON
PORTB=%00100100
GOSUBTIEMPO_OFF

case6
PORTB=0
led7=1
gosubtiempo_on
led6=1
gosubtiempo_on
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

http://www.forosdeelectronica.com/f24/cursoprogramacionpicpicbasicpro20658/index4.html 87/93
10/6/2017 CursodeprogramacindePICenPICBasicPro

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
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:

http://www.forosdeelectronica.com/f24/cursoprogramacionpicpicbasicpro20658/index4.html 88/93
10/6/2017 CursodeprogramacindePICenPICBasicPro

PAUSE180
RETURN
'CONTIEMPO_OFFMANEJOELTIEMPOQUEDURANLOSLEDAPAGADOS

tiempo_off:
PAUSE180
RETURN
end

ArchivosAdjuntos

Temassimilares

Respuesta:Cursoprogramaciondepicenbsicpro

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
http://www.forosdeelectronica.com/f24/cursoprogramacionpicpicbasicpro20658/index4.html 89/93
10/6/2017 CursodeprogramacindePICenPICBasicPro

envio1:
seroutgpio.5,N2400,["A"]
pause500
gototransmitir

envio2:
seroutgpio.5,N2400,["B"]
pause500
gototransmitir

envio3:
seroutgpio.5,N2400,["C"]
pause500
gototransmitir

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
http://www.forosdeelectronica.com/f24/cursoprogramacionpicpicbasicpro20658/index4.html 90/93
10/6/2017 CursodeprogramacindePICenPICBasicPro

ifdatos="B"thenhighleda
pause1000
ifdatos="C"thenhighledv
pause1000

lowledr:lowleda:lowledv
gotorecibir
end

Muchasgraciasaquiensedeltiempo,adjuntolasimulacin.
ArchivosAdjuntos

Respuesta:Cursoprogramaciondepicenbsicpro
Hola,reyvilla,estabaleyendootraveztucodigo,ytratedesacarleloquesupongoestademspara
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'

http://www.forosdeelectronica.com/f24/cursoprogramacionpicpicbasicpro20658/index4.html 91/93
10/6/2017 CursodeprogramacindePICenPICBasicPro

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:
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

http://www.forosdeelectronica.com/f24/cursoprogramacionpicpicbasicpro20658/index4.html 92/93
10/6/2017 CursodeprogramacindePICenPICBasicPro

LEYENDO=0
ifdataid="1"thenhighled'porejemploqueenciendaunledcuandodataid=
'algo'
lowled
gotoinicio
end

Saludos.

http://www.forosdeelectronica.com/f24/cursoprogramacionpicpicbasicpro20658/index4.html 93/93

You might also like