Sunteți pe pagina 1din 53

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/index2.html 1/53
10/6/2017 CursodeprogramacindePICenPICBasicPro

CGRAM(carctergeneratorRAM)

LaCGRAMcontieneloscaracteresquepuedenserdefinidosporelusuario,esdecirquepuedenser
personalizados.Estformadapor64posiciones,condirecciones$00$3F.Cadaposicinesde5bits.
Lamemoriaestadivididaen8bloquesquecorrespondenalosposiblescaracterescreadosporel
usuarioquevandel0al7.

Cadacarcterestaconstituidoporunamatrizde5columnaspor8filas.Deestemodoun1indicaun
puntodelamatrizencendido,yun0apagado.

Programageneraciondecaracterespicbasicproutilizandounpic16f877AunLCD2x16con
comunicaciona4bits:

Cdigo:

@devicext_osc;osciladorexternoXT
defineosc4;especificaquesevaautilizarunode4Mhz

'DEFINICINDEREGISTROSPARAELLCD
DefineLCD_DREGPORTB'Utilizar4bitsdelpuertoBparatxdedatos
DefineLCD_DBIT4'DesdeelBitB.4alBitB.7
DefineLCD_RSREGPORTB'Seleccindelpuertodelregistro
DefineLCD_RSBIT3'EnelbitB.1
DefineLCD_EREGPORTB'UtilizarelenableenelpuertoB
DefineLCD_EBIT2'EnelbitB.2
'EstablecerelpuertoBcomosalida
TRISB=0

Mvarbyte;creaciondevariable

Pause500'tiempoparainicializarLCD

RUTINA:

LCDOUT$FE,64'COMIENZADEFINICION

LCDOUT$0,$E,$A,$1F,$1B,$1F,$1F,$0'3candadocerrado
LCDOUT$0,$E,$8,$1F,$1B,$1F,$1F,$0'4CANDAdOABIERTO
LCDOUT$E,$A,$4,$1F,$4,$E,$A,$0'5MONITO
LCDOUT$A,$A,$0,$4,$11,$E,$0,$0'6carafeliz

http://www.forosdeelectronica.com/f24/cursoprogramacionpicpicbasicpro20658/index2.html 2/53
10/6/2017 CursodeprogramacindePICenPICBasicPro

LCDOUT$A,$A,$0,$4,$11,$E,$6,$0'7caralengua

LCDOut$FE,1'LIMPIAELDISPLAY
LCDOUT$FE,$84,"CARACTERES";mensajeenlaprimeralineaLCD
LCDOUT$FE,$C0 ;caracterespersonalizadossegundalineaLCD2X16

;lassiguienteslineasdelprogramasirvenparavisualizarenlasegundalineadel
LCD2X16loscaracteresespeciales

FORM=0TO4
LCDOUTM
PAUSE300
NEXTM

PAUSE1500

LCDOut$FE,1'LIMPIAELDISPLAY
LCDOUT$FE,$81,"PERSONALIZADOS";mensajelaprimeralineaLCD2X16

LCDOUT$FE,64'COMIENZADEFINICION


LCDOUT$1F,$11,$A,$4,$A,$11,$1F,$0'2RELOJARENA
LCDOUT$11,$1F,$1F,$15,$1F,$1B,$E,$0'3DIABLO
LCDOUT$E,$1F,$15,$1F,$1F,$E,$E,$0'4CALAVERA
LCDOUT$4,$2,$4,$0,$1F,$11,$E,$0'5TAZA
LCDOUT$0,$E,$11,$1F,$4,$14,$8,$0'sombrilla

;lassiguienteslineasdelprogramasirvenparavisualizarenlasegundalineadel
LCD2X16loscaracteresespeciales

LCDOUT$FE,$C0
FORM=0TO4
LCDOUTM
PAUSE300
NEXTM

PAUSE1500

LCDOUT$FE,1'LIMPIAELDISPLAY
GOTORUTINA

http://www.forosdeelectronica.com/f24/cursoprogramacionpicpicbasicpro20658/index2.html 3/53
10/6/2017 CursodeprogramacindePICenPICBasicPro

Porultimoanexosimulacionenproteus7.4,codigofuente,.hex.lacarpetaestaenformatocomprimido
ArchivosAdjuntos

Quetalsiguiendoconlosproyectosdelcdunfrecuenciometroconelpic16f84A,ldc2x16yun
generadordesealescuadradasubicadoporelpuertoA2,endondesecaptalospulsosysevisualizan
elLCDconalarmasdeactivacioncondicionalesubicadasenelpuertA0,1respectivamente,sinmasel
codigofuente:

Cdigo:

@devicext_osc;osciladorexternoXT
defineosc4;especificaquesevaautilizarunode4Mhz

'DEFINICINDEREGISTROSPARAELLCD
DefineLCD_DREGPORTB'Utilizar4bitsdelpuertoBparatxdedatos
DefineLCD_DBIT0'DesdeelBitB.4alBitB.7
DefineLCD_RSREGPORTB'Seleccindelpuertodelregistro
DefineLCD_RSBIT4'EnelbitB.1
DefineLCD_EREGPORTB'UtilizarelenableenelpuertoB
DefineLCD_EBIT5'EnelbitB.2

'EstablecerelpuertoBcomosalida
TRISB=0
;configuraciondepinesdelPIc16f84A

Alarma0varporta.0
Alarma1varporta.1

;definiciondevariables

pulsosvarword;variableconcapacidadde65535

loop:

countporta.2,1000,pulsos;CONTARLOSPULSOSPORELPUERTOA2
lcdout$fe,1;LIMPIAlcd
lcdout$fe,$82,"fecuencia:";ENVIARMENSAJEALLCD
lcdout$fe,$c5,decpulsos,"hz";MOSTRARPULSOSENLCDSEGUNDALINEA

http://www.forosdeelectronica.com/f24/cursoprogramacionpicpicbasicpro20658/index2.html 4/53
10/6/2017 CursodeprogramacindePICenPICBasicPro

;condicionalesparaalarmas

ifpulsos>750thenEMER1;SIPULSOSEXCEDE750IRAEMER1
ifpulsos<320thenEMER2;SIPULSOSDECIENDE320IRAEMER2
LOWALARMA0:LOWALARMA1
GOTOLOOP

EMER1:;RUTINAEMER1

HIGHALARMA0
LOWALARMA1
GOTOLOOP

EMER2:
;RUNITAEMER2
LOWALARMA0
HIGHALARMA1
GOTOLOOP

ArchivosAdjuntos

frecuencimetro_135.zip(31,9KB(Kilobytes),895visitas)

ldc_frecuen_127.zip(30,7KB(Kilobytes),812visitas)Robotseguidordeluzconpbp
Buenoamigosquierocompartirconustedeseldesarrollodeunrobotseguidordeluzbajola
programacionenpicbasicpro,utiliceunpic16f84a,driverl293b,fotoceldasycomoestructuradelrobot
uncarroviejoderfquetenia,adaptandoenunpequeoprotoboardelcircutoparacontrolarlosdos
motoresquecomponenelcarrito.Nocoloquelostestigos(leds)porelespacioenlaprotopara
controlarelmotor1utiliceelcomandoPWM.

Esteesdodigofuente:
Cdigo:

@devicext_osc;osciladorexternoXT
defineosc4;especificaquesevaautilizarunode4Mhz

;ROBOTSEGUIDORDELUZ

b0varbyte;VARIABLEPARAGUARDARELVALORDELDR1

http://www.forosdeelectronica.com/f24/cursoprogramacionpicpicbasicpro20658/index2.html 5/53
10/6/2017 CursodeprogramacindePICenPICBasicPro

b1varbyte;VARIABLEPARAGUARDARVALORDELDR2
b2varbyte;VARIABLEDECOMPARACIONDELDR1YLDR2
p2varportb.0;SALIDAMOTOR1
p3varportb.1;SALIDAMOTOR2
p4varportb.2;SALIAMOTOR2
EN1varportb.3;habilitadorinversorgiroMOTOR2
EN2VARPORTB.4;HABILITADORMOTORUNO

LED1VARPORTA.0
LED2VARPORTA.1
LED3VARPORTA.2

start:;INICIO
potportb.5,255,b0;LEELDR1YGUARDAVALORENBO
potportb.6,255,b1;LEELDR2YGUARDAVALORENB1
Ifb0=b1thenstraight;SIBO=B1ENTONCERIRALARUTINASTRAIGHT
ifb0>b1thenleft;SIBOESMAYORAB1IRAIZQUIERDA
ifb1>b0thenright;SIB1ESMAYORQUEBOENTONCESIRADERECHA

straight:;RUTINACOMIENZO
pwmEN2,125,30:HIGHp2
LOWEN1:lowp3:lowp4;HABILITAMOTOR1
highled1
gotostart;IRAINICIO

left:;RUTINAIZQUIERDA
b2=b0b1;RESTEELVALORDEBOYB1YGUARDELOENLA
;VARIABLEB2
ifb2>15thenleft1;SIB2ESMAYORQUE15ENTONCESIRARUTINA
;IZQUIERDA1
gotostraight;IRAINICIO

left1:;RUTINAIZQUIERDA1
pwmEN2,125,30:HIGHp2
HIGHEN1:LOWP3:highp4;ACTIVASALIDAP3YDESACTIVASALIDAP4
HIGHLED2;ENCIENDETESTIGO
gotostart;IRAINICIO

right:;RUTINADERECHA
b2=b1b0;RESTEELVALORDEB1CONB0YGUARDEEL
;VALORENB2

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

ifb2>15thenright1;SIB2ESMAYORQUE15ENTONCESIRARUTINA
;DERECHA1
gotostraight;IRAINICIO

right1:;RUTINADERECHA1
pwmEN2,125,30:highp2
HIGHEN1:HIGHP3:lowp4;ACTIVASALIDAP4YDESACTIVASALIDAP3
HIGHLED3;ENCIENDETESTIGO
gotostart;IRAINICIO

end;FINDEPROGRAMA

ArchivosAdjuntos

Amigosvamosconunproyectointeresantecontroldeaccesosonclaveutilizandountecladomatrixal
de4x4,pic16f84aytestigosdeoperatividad,alingresarloscuatrodigitoscorrectamenteseenergizaun
reledurantetressegundosubicadoenelpindoordelpic,silaclaveesincorrectaseemitetres
activacionesenbipyledubicadosenelpuertoA0yA1respectivamente,laactivaciondecadateclava
acompaadodelavisualizaciondelledubicadoenpin18delpic16f84a.

codigofuenteenpicbasicpro
Cdigo:

@devicext_osc;osciladorexternoXT
defineosc4;especificaquesevaautilizarunode4Mhz

;creaciondevariables
teclavarbyte;dondeseguaradateclapulsada
repitvarbyte;parahacerrepeticiones

;configuraciondepinesdelpic16f84a

bipvarporta.0;dondeseconectalachicharra
ledvarporta.1;dondeseconectaelled
doorvarporta.2;dondeseconectareleparalapuerta

avarportb.0;pinesdelasfilas
bvarportb.1
cvarportb.2
dvarportb.3

http://www.forosdeelectronica.com/f24/cursoprogramacionpicpicbasicpro20658/index2.html 7/53
10/6/2017 CursodeprogramacindePICenPICBasicPro

unovarportb.4
dosvarportb.5
tresvarportb.6
cuatrovarportb.7

iniciando:;incicafuncionamientodelsistema

highled:highbip
pause1000
lowled:lowbip
gototeclauno;compararclave

barrido:
lowa;sensarfilaa
ifuno=0thentecla=1:return
ifdos=0thentecla=2:return
iftres=0thentecla=3:return
ifcuatro=0thentecla=10:return
higha
lowb
ifuno=0thentecla=4:return
ifdos=0thentecla=5:return
iftres=0thentecla=6:return
ifcuatro=0thentecla=11:return
highb
lowc
ifuno=0thentecla=7:return
ifdos=0thentecla=8:return
iftres=0thentecla=9:return
ifcuatro=0thentecla=12:return
highc
lowd
ifuno=0thentecla=14:return
ifdos=0thentecla=0:return
iftres=0thentecla=15:return
ifcuatro=0thentecla=13:return
highd
pause10
gotobarrido

;rutinaantirrebotedeteclas

http://www.forosdeelectronica.com/f24/cursoprogramacionpicpicbasicpro20658/index2.html 8/53
10/6/2017 CursodeprogramacindePICenPICBasicPro

ptecla:
highled:lowbip
pause100
lowled:lowbip
espacio:
ifuno=0thenespacio
ifdos=0thenespacio
iftres=0thenespacio
ifcuatro=0thenespacio
pause25
return
;rutinaparacompararclaves

teclauno:
gosubbarrido
gosubptecla
iftecla=1thenteclados
gotofalso

teclados:
gosubbarrido:gosubptecla
iftecla=2thenteclatres
gotofalso1

teclatres:
gosubbarrido:gosubptecla
iftecla=3thenteclacuatro
gotofalso2

teclacuatro
gosubbarrido:gosubptecla
iftecla=4thenopen
gotofalso3

open:
forrepit=1to2
pause100
highled:highbip
pause100
lowled:lowbip
next

http://www.forosdeelectronica.com/f24/cursoprogramacionpicpicbasicpro20658/index2.html 9/53
10/6/2017 CursodeprogramacindePICenPICBasicPro

highdoor
pause3000
lowdoor
gototeclauno

;rutinateclaserroneas

falso:
gosubbarrido:gosubptecla
falso1:
gosubbarrido:gosubptecla
falso2:
gosubbarrido:gosubptecla
falso3:
forrepit=1to3
pause100
highled:highbip
pause100
lowled:lowbip
next
gototeclauno
end

ArchivosAdjuntos

bienamigopatico,vayamosporpartes,primeroel16f877anotieneosciladorinterno,peroesmucho
mascompletoqueel16f628enotrasareas,masmemoriaeeprom,33in/out,etc,debesconserguirte
uncristalde4mhzqueeslomascomun,ydoscondensadoresde22picofaradios,conestohacesel
oscilador,esindispensablecontarconeldatasheetuhojadedatosdelmencionadopic,deotraforma
nosabesconqueestastrabajando,debessiosiconocerladisposiciondelaspatasdelpic...
ahoraparaellcddebestenerencuentaunpardecosas,unlcdporejemplode2x16(muycomun)
trabajandedosmodoscon8bitsocon4bits,queesesto?lacantidaddepatasquevasaconectaral
pic,siesde4bitsconectas4patasdelpicallcd,siesde8conectas8patasdellcdalpic,quesegana
conesto,unamayorvelocidaddetransferenciadedatosdelpicallcd...ahorabienademasdelas4u8
patasdebesconectartambienotrasdosqueson"E"(enable),elpicloponea1paraqueellcdse
activeyluegotienesotraquees"RS"(registerselect)quesirveparaqueellcdsepasirecibeun
comando,porejepmlo:(limpiarlapantalla)osirecibeuncaracter,porahoradebespoderarmarelsoft,
ydebesserpacienteparapoderentendercomofuncionaelsistema,esmaravillosoperonodebes
desesperarte,buscainformacinengooglequehaymucha...saludosteadjuntounesquemade
http://www.forosdeelectronica.com/f24/cursoprogramacionpicpicbasicpro20658/index2.html 10/53
10/6/2017 CursodeprogramacindePICenPICBasicPro

conexiondellcd,saludos
ImgenesAdjuntas

Temassimilares

Bienvamosconproyectointeresanteaquiosdejoelcodigofuentecomentado:
Cdigo:

;Programaendondesemueveunservomotordetreslineasconelpic16f877A,
;seutilizaLCD2X16quemuestralaposiciondegirodadaportresbotones
;conectadosalpuertoB,loscualesdanlasposiciones:giroderecha,centroy
;giroizquierdareferenciadode0a1000,dondeposiciondecentroes500.

;deficiondeOsciladorExterno

@devicext_osc;osciladorexternoXT
defineosc4;especificaquesevaautilizarunode4Mhz
'Libreriaparalaoperaciondelprograma

Define LOADER_USED 1

;DefiniciondeconexinesdelLCD

DefineLCD_DREGPORTD
DefineLCD_DBIT4
DefineLCD_RSREGPORTA
DefineLCD_RSBIT0
DefineLCD_EREGPORTA
DefineLCD_EBIT1

posvarword'Posiciondelservo

servo1varPORTC.1'pindondeseconectaelservo

ADCON1=7'PORTAyPORTEdigitales
LowPORTA.2'LCDR/Wlow=escritura
Pause100'retardoparainicializarelLCD

OPTION_REG=$7f
Lowservo1;portc.1comosalidaparacontrolarelservo
http://www.forosdeelectronica.com/f24/cursoprogramacionpicpicbasicpro20658/index2.html 11/53
10/6/2017 CursodeprogramacindePICenPICBasicPro

Gosubcenter'iracentro

'progrmaprincipal

LOOP:
PORTB=0'PORTBlineasacerologicoparaleerbotones
TRISB=$fe

'Rutinasparaelchequeodebotonesyposicionesdelservo
IfPORTB.4=0Then
Gosubleft
Endif
IfPORTB.5=0Then
Gosubcenter
Endif
IfPORTB.6=0Then
Gosubright
Endif
;Rutinaparamostrarmensajeyvalordecimaldelaposiciondelservo

Lcdout$fe,1
Lcdout$fe,2,"Position=",#pos

servo1=1'iniciarpulsohaciaelservo
Pauseus1000+pos
servo1=0'terminepulso

Pause16'retardo

GotoLOOP'Creaunbuclecerrado

'girohacialaizquierda
left:Ifpos<1000Then
pos=pos+1
Endif
Return

http://www.forosdeelectronica.com/f24/cursoprogramacionpicpicbasicpro20658/index2.html 12/53
10/6/2017 CursodeprogramacindePICenPICBasicPro

'girohacialaderecha
right:Ifpos!=0Then
pos=pos1
Endif
Return

'posiciondecentro
center:pos=500
Return

End

ArchivosAdjuntos

Visualizaciondesensortemperaturads18s20enlcdconpic16f84A
Quetalparamiamigoelectroandreselhechoderecomendarteunsensordigitalparatuproyectoes
queelpicquevasautilizarnotieneconversoresA/Dcomoelpic16f877Aporellodebesselecionaruno
quepuedaleertupicyadjuntarlamedidaobtenidaen8byteparaqueposteriormenteseaenviadoel
valorendecimalallcdporcomunicacionde4bitsrevisaestecodigoesperoseadeutilidad
Cdigo:

'DEFINICIONOSCILADOREXTERNO

@devicext_osc;osciladorexternoXT
defineosc4;especificaquesevaautilizarunode4Mhz

'DEFINICIONDELIBRERIAPARACOMUNICACION

Define LOADER_USED 1

'DEFINICIONDEPINESPARACONECTARELLCD

DefineLCD_DREGPORTB
DefineLCD_DBIT0
DefineLCD_RSREGPORTB
DefineLCD_RSBIT4
DefineLCD_EREGPORTB
DefineLCD_EBIT5
http://www.forosdeelectronica.com/f24/cursoprogramacionpicpicbasicpro20658/index2.html 13/53
10/6/2017 CursodeprogramacindePICenPICBasicPro

'CREACIONDEVARIABLES

commandvarbyte'VARIABLEPARACOMANDO
ivarbyte'VARIABLEPARACONTEO
tempvarword'PARAGUARDARVALORTEMP

'DETERMINACIONDEPINSENSORDS18S20CONECTADOALPIC16F84a

DQvarPORTB.7'PINDELSENSORDS18S20CONECTADOAPORTB.7
DQ_DIRvarTRISB.7'DELPIC16F84a

LowPORTB.6'LCDR/WACEROLOGIGOPORELPIC16F84a
Pause100'100MSPARAINICIALIZARLCD

Lcdout$fe,1
Lcdout$fe,$80,"Temp:"'MOSTRARMENSAJE

'PROGRAMAPARALECTURADETEMPERATURAENELLCD

INICIO:
Gosubinit18S20'IRARUTINADEINICIALIZACIONDELLCD

command=$cc
Gosubwrite18S20

command=$44'EMPIEZECONVERCIONDETEMPERATURA
Gosubwrite18S20

Pause2000'ESPERO2SEGHASTAQUEFINALICELACONVERSION

Gosubinit18S20

command=$cc
Gosubwrite18S20

command=$be'LEERTEMPERATURA
Gosubwrite18S20
Gosubread18S20

http://www.forosdeelectronica.com/f24/cursoprogramacionpicpicbasicpro20658/index2.html 14/53
10/6/2017 CursodeprogramacindePICenPICBasicPro

'RUTINAPARAMOSTRARVALORDETEMPERATURAENELLCD

Lcdout$fe,$86,dec(temp>>1),".",dec(temp.0*5),"oC"

GotoINICIO'CREAUNBUCLECERRADO

'INICIALIZADS18S20YCHEQUEAPRESENCIA

init18S20:

LowDQ
Pauseus500
DQ_DIR=1

Pauseus100
IfDQ=1Then
Lcdout$fe,1
Lcdout$fe,$83,"SENSORDS18S20"
Lcdout$fe,$C2,"NOCONECTADO"
Pause500
GotoINICIO
Endif
Pauseus400
Return

'RUTINAPARACOMUNICACIONDELPICCONSENSORDS1820A8BYTE
write18S20:
Fori=1to8
Ifcommand.0=0Then
Gosubwrite0
Else
Gosubwrite1
Endif
command=command>>1
Nexti
Return

'RUTINAPARADESHABILITARDS18S20ATRAVESDEUNBIT

http://www.forosdeelectronica.com/f24/cursoprogramacionpicpicbasicpro20658/index2.html 15/53
10/6/2017 CursodeprogramacindePICenPICBasicPro

write0:
LowDQ
Pauseus60
DQ_DIR=1
Return

'RUTINAPARAHABILITARDS18S20ATRAVESDEUNBIT
write1:
LowDQ
@nop'RETARDODE1usCONUNOSCILADOREXTERNODE4MHz
DQ_DIR=1
Pauseus60
Return

'RUTINAPARALEERDS18S20
read18S20:
Fori=1to16
temp=temp>>1
Gosubreadbit
Nexti
Return

'RUTINAPARALEERBITDS18S20
readbit:
temp.15=1
LowDQ
@nop'RETARDODE1usCONUNOSCILADOREXTERNODE4MHz
DQ_DIR=1
IfDQ=0Then
temp.15=0
Endif
Pauseus60
Return

End

ArchivosAdjuntos

Temassimilares

http://www.forosdeelectronica.com/f24/cursoprogramacionpicpicbasicpro20658/index2.html 16/53
10/6/2017 CursodeprogramacindePICenPICBasicPro

ArchivosAdjuntos

AvancesproyectotemperaturaRSR232ylabview
Queamigoshesimuladoelproyectoenproteus7.5conexcelentesresultados,corremuybienyse
logramostrarlatempeturaquesensaelLM35conbuenaprecisionaligualquelosmensajesquehe
enviadoatravesdelacomunicacionRS232,merecibeyrecepcionadatos,sinmaspreambulosles
anexoloquellevoahoramededicareaquesemuestreenlaPClatemperaturapormediografico
utilizandoLABVIEW,heconseguidobuenainformacinparaello.
ArchivosAdjuntos

RelojEnLcDconigualadoryalarma...
Hola!EncontresteforomuyinteresantesobremicrocontroladoresPICenBasic...
QuisieraaportarconelproyectoquesesolicitabaderelojdigitalconLCD...

Enelarchivoadjuntoestlasimulacinyelprograma...

Solofaltalapartedelaalarma[solounas56lineasdecodigoms]....

unabreveexplicacindelfuncionamiento:Alencenderelcircuito,secargaunahora/fechaalRTC
(DS1307),quedespuspuedeserconfiguradaencualquiermonentoconlospulsadores(MODO
NORMAL).Paraesto,harquemantenerpresionadoelpulsador"SET"porunmomento(ENTRASAL
MODOCONFIGURACION),ycomenzaraparpadeareneldisplayelcampoasermodificado:hora,
pulsandootrasvez,elcursorcambiaaminutos,pulsandootravezcambiaadia...ConlosbotonesUPo
DOWN_MODE,secambiaelvalordelcamposeleccionado.Yacuandosemodificantodosloscampos,
elRelojsiguenormalmenteconelltimopusloenSET.

Paraaccederalmododelaalarma,debespresionarDOWN_MODEenelMODONORMAL,....bueno,
hastaaquivaelcdigo.Comodijeanteriormente,solofaltaunaslineas(variablesdealmacenamiento
delahoradelaalarma,configuracin...)

Cualquiercosa,dudadelcodigo,postealayveremoscomosolucionamos...
Siencuentrasalgunbugtambienavisamelo,osilograshacerelprogramamascortotambien!

Adjuntounscreencaptyelmodeloconlasimulacin.
Cabedestacarquelasimulacionestenproteus7.4sp3,conunPIC16F877A,paramigrara16F628/A
oalgunotro,debenrevisarlospinouts,ylacapacidaddememoria.Recomendarausarun628A...

http://www.forosdeelectronica.com/f24/cursoprogramacionpicpicbasicpro20658/index2.html 17/53
10/6/2017 CursodeprogramacindePICenPICBasicPro

Enunosdiassuboyaelproyectocompleto...
ImgenesAdjuntas

QuetalamigolectroandresinterpretemalsuproyectocreoquenodeseasutilizarelintegradoDS1370
porloqueteanexounproyectoconalarmasunrelojdeclases.

Elproyectoconsisteenvisualizarjornadasdeestudiode6:00AMa12:00AMhoraen
queempiezayculminalajornadamaanaconsusrespectivosmensajesvisualizadosen
elLDCactivandoseunaalarmadurantetressegundoselmismoprocedimiemtoserepite
paralajornadatarde.

Alactivarelbotoncomienzosedainicioalajornadamaana,sepuedeincrementar
losminutosenelbotonminus,losmensajesapareceransiemprequeseejecuteel
cambiodejornadasprogramas:

6:00amini.clasesj.m
12:00pmter.calsesj.m
12:300pmini.clasesj.t
6:30pmter.clasej.t

Lohabiareralizadoparaunevidenciadeestudioteanexotodolonecesarioesperoqueestosealoque
necesitesoteayudearealizarlo.
ArchivosAdjuntos

Paramiamigocriptyteanexodocumentodeutilizaciondelosregistrosdelpic16f628Aparala
operaciondelpwmporhardwaresinlautilizaciondelcomandoPWMenelentornodemicrocodestudio
aquiestaelcodigo
Cdigo:

;ProgramaPWMconHardwareconelpic16f628Aconuncicloutildel50%
;yfrecuenciade38KHZaproximadamente

@devicext_osc;osciladorexternoXT
defineosc4;especificaquesevaautilizarunode4Mhz

CMCON=7'PUERTOADIGIAL
VRCON=0'A/DVoltagereferenciadeshabilitado
TRISB=%11110000'B.3=PWM,B.0,B.1,B.2LEDs

http://www.forosdeelectronica.com/f24/cursoprogramacionpicpicbasicpro20658/index2.html 18/53
10/6/2017 CursodeprogramacindePICenPICBasicPro

PR2=25'SeleecionPWMparaaproximadamente38KHz
CCPR1L=13'PWMDutyCyclea50%
CCP1CON=%00001100'mododeseleccion=PWM
T2CON=%00000100'Timer2ON+1:1prescaler

LOOP:

highPortB.0
pause50
lowPortB.0
pause50
highPortB.1
pause50
lowPortB.1
pause50
highPortB.2
pause50
lowPortB.2
pause50
gotoLOOP

Porultimoesconvenientetenerlahojadecaracteristicasdelpicquesevahautilizaryaprovechar
mejorsumemoriaporloqueseconocemejorlaestructurainternadelmicro,enelcasodelosmicros
quenoposeenregistroPWMesconvenienteutilizarelcomandoPWMquenosfacilitaPBPpararealizar
lamodulaciondeanchodepulsoquenecesitemoscomoenelcasodelpic16f84Aporejemplo:
Cdigo:

;ProgramaPWMconelpic16f84Aconuncicloutildel50%

@devicext_osc;osciladorexternoXT
defineosc4;especificaquesevaautilizarunode4Mhz

PWMportB.3,127,30;Sacar30pulsosPWMporelpuertob3conuncicloutildel50%

ArchivosAdjuntos

Temassimilares

holagraciasporrespondermiraenunmanualoalgoasidePBPmireque<<esparadesplazamientos
izquierdoy>>paradesplazamientoderechoesonoselaverdadparaquesirvemepodriasexplicary

http://www.forosdeelectronica.com/f24/cursoprogramacionpicpicbasicpro20658/index2.html 19/53
10/6/2017 CursodeprogramacindePICenPICBasicPro

esodelosdecimalesmasomenosmedicuentaperocomopuedohacerparaquelalosdecimales
aparezcanalmovermipotenciometrounpocoaparezca0.1yamedidaquevayamoviendopueda
verlo0.20.30.40.50.60.70.80.91....ahoratengootradudatalvezbientorpeperonnoentiendopor
ejemplotengomipotenciometroqueloleede0a255peroparamiconveniencialoquierotransformar
aotraescalaesdecirde0a500lomasfacilquesemeocurrioera(P1*500/255)p1esmivariablepero
almirarenelLCDen0era0estababienenlamitaddelpotenciometromeda256perosigoabanzando
sebajaa4yalfinalmeda255yesometienemuyconfundido...ahoratambienquierorestarleami
variablep110mecomienzaen6225oalgoasiyalseguiravanzandosiguelaescalanoentiendo
puedesdarmeunamanoconesoporfavorconlodelosdecimalesparaquelomiresteadjuntola
simulacionyelprograma.
ArchivosAdjuntos

proyectodelecturateclado4X4conletrasconpic16f877A
quetalvamosconotroproyectodetecladomatrixalperodevisualizaciondeletras(ABCD*#)heaqui
elcodigo:

Cdigo:

;programadevisualizaciondeteclado
'123A
'456B
'789C
'*0#D
'conpic16f877Aylcd2x16endondemuestralateclapresionadaenlapantalla
'delLCDutilizandooperandosmatematicosdelPBP.

'Definirlibreria
Define LOADER_USED 1

'definirosciladorexterno
@devicext_osc
defineosc4

'DefineLCDconnections
DefineLCD_DREGPORTD
DefineLCD_DBIT4
DefineLCD_RSREGPORTD
DefineLCD_RSBIT3

http://www.forosdeelectronica.com/f24/cursoprogramacionpicpicbasicpro20658/index2.html 20/53
10/6/2017 CursodeprogramacindePICenPICBasicPro

DefineLCD_EREGPORTD
DefineLCD_EBIT2

'Definiciondevariables
colVarByte'columnas
filaVarByte'filas
BVarByte'numero
AVarByte'teclaavisualizar

OPTION_REG.7=0'ActivaresistenciasinternasPORTB
ADCON1=7'PORTAyPORTEdigital
LowPORTD.1'LCDR/Wlow(escritura)
Pause100'tiempoparainicializarelLCD
Lcdout$fe,1,"PRESIONETECLA"'mensaje

inicio:
Gosubleer
LookupA,["0123456789*#ABCD"],B
Lcdout$fe,1,B'mostrarteclaprimida
Gotoinicio

'Subrutinaparaleerteclapulsada
leer:
Pause50'esperer50ms

leer0:
PORTB=0'puertoBcomosalida
TRISB=$f0
If((PORTB>>4)!=$f)Thenleer0
Pause50

leer1:
Forcol=0To3
PORTB=0
TRISB=(dcdcol)^$ff
fila=PORTB>>4'leerfilas
Iffila!=$fThentecla

http://www.forosdeelectronica.com/f24/cursoprogramacionpicpicbasicpro20658/index2.html 21/53
10/6/2017 CursodeprogramacindePICenPICBasicPro

Nextcol
Gotoleer1

tecla:
B=(col*4)+(ncd(fila^$f))1

'transformadorrmaciondeteclaactivada
'10=*
'11=#
'12=A
'13=B
'14=C
'15=D
LookupB,[1,2,3,12,4,5,6,13,7,8,9,14,10,0,11,15],A
Return'retornar
End

Comosiempredejolasimulacionenproteus,codigofuenteyesquematico"comentaresagradecer"
ArchivosAdjuntos

TCLEDOLCD.zip(86,1KB(Kilobytes),809visitas)

lcdtecla.zip(56,4KB(Kilobytes),724visitas)
Temassimilares

Respuesta:Cursoprogramaciondepicenbsicpro
allienviounesquemaquepodriaayudar,adicionandounoptotriacsincruceytambienpuedeserusar
eloptotriacconcruceporcero

uenolosdiodosdeberanser1n4007
ImgenesAdjuntas

Respuesta:Cursoprogramaciondepicenbsicpro
sitienesmicharazonperoimaginalosiguiente:misistemaestrifasicoyelcruceporceroesparaevitar
elarcoenloscontactores(quelodesgastan)peroteniendoeldesfasajeenquemomentocierroel
contactoryaquealcerrarestesecierranlos3contactosenunalostriacslospuedodisparar
alternadamenteperonoalcontactor.adjuntomiesquemaparaquemeayudenaresolverlo.
ImgenesAdjuntas

http://www.forosdeelectronica.com/f24/cursoprogramacionpicpicbasicpro20658/index2.html 22/53
10/6/2017 CursodeprogramacindePICenPICBasicPro

Temassimilares

Respuesta:Cursoprogramaciondepicenbsicpro
saludosmecatrodatos

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

.unaideabasicaseriaporejemploquesiyopresionounbotoneneltransmisor,enelreceptorse
enciendaelledquecorrespondealmismo.tepasoundibujodelcircuitobasicoesperoqueseentienda

.solonecesitounpardelineasdecodigocomoparaguiarme.unsaludoyesperopuedasayudarme
gracias

ImgenesAdjuntas

Temassimilares

Respuesta:Cursoprogramaciondepicenbsicpro
claro...probalovosmismo.acatedejolasimulacionenproteus

ArchivosAdjuntos

ledsenparalelo!!
Holaatodos!!soynuevoenesteforo

ytengounapreguntasobrelosled:

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

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

Ahoracomopodriahacerparaquecadaledtengalasuficientecorrientequenecesite
parabillarcontodasuintencidad!????

Tendriaqueusaruntransistorcomoamplificadordecorrienteoqueesloquedeberiahacer?????

adjuntoeldiagramadelctoenproteusielcodigoenHEX,paracargaralpic!!

Esperopuedanayudarme!!=D!!
Graciasdeantemano!!

ArchivosAdjuntos

Temassimilares

Respuesta:Cursoprogramaciondepicenbsicpro
listoperdonaparaayudartemejorvisitaprimeroelEntrenadordepicconpicbasicproqueposteyel
manualhayejemployestanenespaolesperoqueestotesirvadebasenodudesenpreguntar
ArchivosAdjuntos

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

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

Andres111manejocomunicacionserialentrePICSconloscomandosserinyserout,verecomote
puedoayudarconlacomunicacionSPIapartirdeHardware,porotroladoparalosproyectosque
vienennecesitamossaberunpocodeVisualbasicporloquefacilitoundocumentoparaempezara
conoceresteprogramaysaberloutilizar
ArchivosAdjuntos

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

ElpuertoCconstade8lneasbidireccionalesytieneasociadoslosregistros:

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

RegistroTRISC(87H).RegistrodecontroldedireccindelaslneasdelpuertoC.

Poniendoun1enunbitdelregistroTRISCseconfiguralalneacorrespondientecomoentradayponiendoun0
seconfiguralalneacorrespondientecomosalida.

LaslneasdelpuertoCseencuentranmultiplexadasconvariaslineascontroladasporotrosperifricos,cuando
sehabilitalalneadelperifricorespectivopuedeserignoradalaconfiguracindeTRISC,dehecho,algunos
perifricosconfiguranlalneacomosalidamientrasqueotroslaconfigurancomoentrada.

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

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

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

Tambienteadjuntodocumentodondeexplicoelmanejoderegistrosdelpic16ff877apararealizarel
programa.

http://www.forosdeelectronica.com/f24/cursoprogramacionpicpicbasicpro20658/index2.html 25/53
10/6/2017 CursodeprogramacindePICenPICBasicPro

QuetalvamosaponerelsiguientecodigodecomunicacionspiatravesdeHardware(manipulacionde
registrosdelpuertoC)condospic16f877Acomoproyecto.

esteelprogramaparaelpicmaestro:

Cdigo:

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

@devicext_osc;osciladorexternoXT
defineosc4;especificaquesevaautilizarunode4Mhz

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

iVARBYTE'contadordelbucle
aVARBYTE[6]'Concapacidadpara6caracteresledosdeesclavo

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

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

SSPIF=0'Bufferdeestadocompleto
SMP=0'muestraenmediodelosdatos


mainloop:
GoSubgetdata'iniciarlaconversindedatosyrecibir

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

GoTomainloop'hacerlodenuevo

getdata:

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

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

Esteesleprogramaparaelpicesclavo
Cdigo:

'DEFINICINOSCILADOREXTERNO

@devicext_osc;osciladorexternoXT
defineosc4;especificaquesevaautilizarunode4Mhz
'AsignarmemoriaRAM

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

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

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

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

ADCIN0,dataout[5]'LeercanalADC0,la6posicindelacadenadecaracteres

GoSubsenddata'senviar"!"ylacadenadedatos

GoTomainloop'volverarealizar

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

http://www.forosdeelectronica.com/f24/cursoprogramacionpicpicbasicpro20658/index2.html 28/53
10/6/2017 CursodeprogramacindePICenPICBasicPro


Return

letclear:
IFSSPIF=0Thenletclear'esperaraindicadordeinterrupcin
SSPIF=0'resetiarbandera
Return

porultimodejosimulacinenproteus7.6,programaenpicbasicproyesquemtico
ArchivosAdjuntos

ComunicacinSPIPIC16F877A.pdf(307,0KB(Kilobytes),494visitas)

spi.zip(75,8KB(Kilobytes),461visitas)Respuesta:Cursoprogramaciondepicenbsicpro
holachicosfeliz2010!!!
lescuentoqueestoytratandodehacerunaespeciedeservomotorconunpic16f84yunpotenciometro
comosensordeposision.elfuncionamientoesmuysimple:setratadecompararlavariabledepulsin
conlavariabledepotyenfunciondeladiferenciaoigualdaddeambosvalores,(<>=)obtenertres
posiblesestadosendossalidasparacontrolareldriverdelmotor.segunmipococonocimientoen
pbasicmeparecequeelprogramaqueescribideberiafuncionarsinproblemas,peroaquiesdondese
complica.sipulsinesmenorquepot,andabien,sipulsinesmayorquepotandabien.perosipulsines
igualapotlasdossalidasdecontrolempiezanaoscilarentreigualomenorynologroqueesteestable
nienproteusnienlapracticareal.solomepreguntabasiustedespodriandarmeunamanitoyaqueme
ardelacabezapensandoenqueestoyhaciendomal

acaadjuntounzipconelproyectoparaverqueopinanustedes...agradecerecualquiertipodeconsejo.
saludosssyfeliz2010.
ArchivosAdjuntos

Temassimilares

Respuesta:Cursoprogramaciondepicenbsicpro
Buenasatodos,

PrimerofelicitaramicompatriotaMecatrodatosporestetutorial,

http://www.forosdeelectronica.com/f24/cursoprogramacionpicpicbasicpro20658/index2.html 29/53
10/6/2017 CursodeprogramacindePICenPICBasicPro

quetellevadirectoalgranoadiferenciademuchosotrosquesimplementetesacancanas:enfadado:

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

Buenohasmanejadovariostemasimportantesperoylos7segmentos?,tenemosmuypocaporno
decirnadasobremanejarestosdispocitivosconelpicbasicpro.

Tengounproyectosenmenteyaprovechandoestepostpodemosrealizarloenconjuntoyquequedela
informacinaquienelforoademasdelavaliosoaprendizajequedejaraenmuchosforistas.

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

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

dejolasemilla...yporsupeustoelplanoesquematicodeloqueseratentativamenteelcircuitoypor
supuestocomomegustaraquequedara.

claro...podriamosirmanejandoeltemadelossietesegmentosprimerodemododeiravanzando
apropiadamente

Saludosyexitosatodos,cheyo28

ImgenesAdjuntas

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

http://www.forosdeelectronica.com/f24/cursoprogramacionpicpicbasicpro20658/index2.html 30/53
10/6/2017 CursodeprogramacindePICenPICBasicPro

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

QuetalamigoCheyointeresantetupropuestaperoempezamosconutilizaciondemultiplexadode
displaypararealizarelcogido?ovamosdeunaconelproyecto...
ArchivosAdjuntos

programaciondepicenbsicpro_relojrtc7segmentos
buenas,

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

dejoest...meparecemuyimportante

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

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

Amigomeca,noestoymuyavansadoenestodelPBP,esperomedisculpemishorroresde
programacionymisdudas...deloserroresseaprende.

1Definamosprimerosilaspuertosestanbienasignadosacoplandosealcircuito
2Estepicnousaosciladorexterno,enBasic,elnocomandarleelosciladorexternoeltomapor
defectoquevamosausarosciladorinternodelpic?.

fueradelproyecto:aclarameestarutinaqueusasteenelrelojconlcdyds1307...paraasignarlos

http://www.forosdeelectronica.com/f24/cursoprogramacionpicpicbasicpro20658/index2.html 31/53
10/6/2017 CursodeprogramacindePICenPICBasicPro

mesesydiasenellcd

Cdigo:


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

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

quehaceelDIMenbasic?

cuandolleguelarutinadelosmultiplexadospodemosprimerohaceruncontadorconlamisma
caracteristicayasotrosejemplosparaentenderlasrutinas

Saludosyexitos....porlatardevoymostrandoloqueserialarutina...eh.

Cheyo28

ImgenesAdjuntas

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

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

http://www.forosdeelectronica.com/f24/cursoprogramacionpicpicbasicpro20658/index2.html 32/53
10/6/2017 CursodeprogramacindePICenPICBasicPro

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

ComotecomentabalomismoocurreconelAsmsedebeincluirunaslieasparaconfigurareloscilador
conelcualvahatrabajarelPICyaqueelprogrmadorqueposeeenotienelaopciondeconfigurarlo
comoelEpiwin800

teanexoprogramaenpicbasic,simulaciony.hex
ArchivosAdjuntos

Temassimilares

Respuesta:Cursoprogramaciondepicenbsicpro
biendejameverrealizareunomultiplexadoenestosdiassuboelcodigoyelprogramasuerteamigo
contuaprendizaje

Enlaimagenqueteanexoasiquedariaelcircuitoperotendriasquecambiardepica16f877asile
conectamoslosbotonesdeconfiguracionorealizarloconelpic16f628Aperosolamentaconlos
botonesdeconfiguraciondehorasyminutosyaquesenosvadepines.

opodriamosutilizarelcircuitoqueposteasteperoelmultiplexadonolorealizariaelpicsinoelintegrado
conectadoalosdisplayestoyprestoatuscomentarios
ArchivosAdjuntos

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

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

http://www.forosdeelectronica.com/f24/cursoprogramacionpicpicbasicpro20658/index2.html 33/53
10/6/2017 CursodeprogramacindePICenPICBasicPro

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

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

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

Temassimilares

Temassimilares

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

eso
ysaludosss....
ArchivosAdjuntos

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

http://www.forosdeelectronica.com/f24/cursoprogramacionpicpicbasicpro20658/index2.html 34/53
10/6/2017 CursodeprogramacindePICenPICBasicPro

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

HayqueusarelADCON1delasiguientemanera.

Pon1000,eneladresh,(porlodelADFM)ylos4bitssiguientesdependendelasentradasanalgicas
quevayasausar.

Enlatablaqueadjuntotesalenlosadresl.

Yotodabanolohepodidoprobarporqueestoyesperandoaquemelleguen216f877,encuantolos
tengaenmipoder,meloconello.

Yamedirssifunciona.

Saludos!
ImgenesAdjuntas

Temassimilares

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

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

http://www.forosdeelectronica.com/f24/cursoprogramacionpicpicbasicpro20658/index2.html 35/53
10/6/2017 CursodeprogramacindePICenPICBasicPro

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

saludos!!

Cdigo:

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

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

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

'INIATIALIZETHEA/DCONVERTER

ADCON1=0'MAKEAN0TOAN4ASANALOGINPUTS,MAKEREFERENCEVOLTAGE=VDD

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

'STARTA/DCONVERSION

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

http://www.forosdeelectronica.com/f24/cursoprogramacionpicpicbasicpro20658/index2.html 36/53
10/6/2017 CursodeprogramacindePICenPICBasicPro

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

Aquiadjuntoelarchivoparaelproteus.

GRACIAS!
ArchivosAdjuntos

Temassimilares

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

http://www.forosdeelectronica.com/f24/cursoprogramacionpicpicbasicpro20658/index2.html 37/53
10/6/2017 CursodeprogramacindePICenPICBasicPro

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

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

'Variables
iVARBYTE'BYTEparalavariablecontador,i

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

http://www.forosdeelectronica.com/f24/cursoprogramacionpicpicbasicpro20658/index2.html 38/53
10/6/2017 CursodeprogramacindePICenPICBasicPro

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

ANSEL=0'Configuretodoslospinesaladigital
'OperacinyaquenoutilizaADC
'(Convertidoranalgicoadigital)

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

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

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

Nexti'Volveraladeclaracin
'Siguientecuenta

Fori=1TO40'Enviarlasealparaelgiromanecillasdelreloj
'40veces

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

http://www.forosdeelectronica.com/f24/cursoprogramacionpicpicbasicpro20658/index2.html 39/53
10/6/2017 CursodeprogramacindePICenPICBasicPro

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

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

Nexti'Volveraladeclaracin
'Siguientecuenta

gotoloop'Hacequeelprogramaseejecutesiempre
end

ArchivosAdjuntos

Cdigo:

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

'Descripciondelprograma

'Girarservosenlasrotacionesdelasagujasdelrelojyensentidoantihorario
'

'ConnecCIONES

' PIC16F88Pin Wiring


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

'Variables

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


'Initialization

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

OSCCON=$60 'Estableceelosciladorinternoenel
'16F88a4MHz

'codigoprincipal

loop:

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

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

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

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

Nextp0'Volveraladeclaracindel
'Siguientevalordep0

http://www.forosdeelectronica.com/f24/cursoprogramacionpicpicbasicpro20658/index2.html 41/53
10/6/2017 CursodeprogramacindePICenPICBasicPro

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

Forp0=100TO200 'Modificarelvalordelpulsode1
msy
'2msenpasosde10.

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

Pause20p0/100 'Unapausade20msmenos
anchodepulso(p0/100)

Nextp0'Volveraladeclaracindel
'Siguientevalordep0

gotoloop'Hacequeelprogramaseejecutesiempre

end

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

Respuesta:Cursoprogramaciondepicenbsicpro
Mirateanexounaguaestaeninglesperotedaejemplosdecomotrabajarconelsoftware
ArchivosAdjuntos

Proyectosconmotores
AMPLIFICADORPARAMOTORES

Antesdeempezarnuestradiscusinsobreelcontroldemotores,vamosaecharunvistazoaalgunos
pequeosamplificadoresquepodemosutilizarparacontrolarnuestrosmotores.

Todoslosamplificadoresqueheseleccionadosonbaratosyfcilesdeusar.

Sinembargo,nodeberahaberningnproblemaconelusodeotrosamplificadores.Sideseapara

http://www.forosdeelectronica.com/f24/cursoprogramacionpicpicbasicpro20658/index2.html 42/53
10/6/2017 CursodeprogramacindePICenPICBasicPro

controlarunmotormsgrande,todoloquenecesitaesunamplificadormsgrande.

Lostresamplificadoressequeutilizanenlosproyectossoneconmicosyfcilderealizarparaejecutar
elcontroldemotoresde2ejesomotorespasoapaso.ElamplificadorL298esmsbarato,pero
tambinseocupademenosamperios.Elamplificadorqueheusadoparatodoslosexperimentosesel
amplificadorLMD18200T.

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

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

Sinembargo,otrosdispositivospermitenlainterconexinalassealesqueelmicrocontrolador
proporcionasinlanecesidaddedispositivosintermedios.

NotassobreelhechoencasaAmplificadordeconstruccin

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

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

http://www.forosdeelectronica.com/f24/cursoprogramacionpicpicbasicpro20658/index2.html 43/53
10/6/2017 CursodeprogramacindePICenPICBasicPro

cadaamplificador.

Puestoquehayunaseriedeproveedoresquevendenbarato,loscomponentesautilizarparael
desarrollodelosamplificadores,nohayningunabuenaraznenestaetapadenuestroprocesode
aprendizajedenoutilizarestosrecursospararealizarestosamplificadoresycontrolarnuestros
motores.

ElamplificadorLMD18200T.

Elamplificadorqueheusadoparatodoslosexperimentos.Lasconexionesqueutilizaesteamplificador
seidentificanenFigura1.Cadaunodelosdosamplificadorespuedemanejarhasta3amperiosa55
VDC.Pulsoscortosde6amperiossontolerados.

Lapolaridaddelaalimentacindelamplificadorescrticaauquesepuedecolocarunaproteccina
travsdediodo4148.

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

ElAmplificador33886

Siustednecesitaunamplificadordeunsoloeje,elamplificador33866deejenicoquesemuestraen
lafigura2esadecuadoparamotorespequeosquenecesitanmenosde5amperiosa40V.

HeutilizadoesteamplificadorparalospequeosexperimentosconelmotordeCC.Lasconexionesde
cableadodeesteamplificadorsonsencillas.Unacaractersticadeseguridaddeesteamplificador
proporcionaundiododeproteccincontralaconexinaccidentaldepolaridadinversaalconectorde
alimentacin.

CARACTERSTICAS:

poderenlapotenciadelmotorseconectaaestosdosterminales.Aunqueun
diododeproteccinseincluye,lapolaridaddelaconexindebeserobservada.

motordecorrientecontinuaAquesdondeelmotorestconectado.Lapolaridaddeestaconexinno
esimportante.Lasoperacionesdemotorsepuedeninvertirensoftware.

http://www.forosdeelectronica.com/f24/cursoprogramacionpicpicbasicpro20658/index2.html 44/53
10/6/2017 CursodeprogramacindePICenPICBasicPro

LEDsLostresLEDenlatarjetadeindicarlaoperacindelatarjetacomoelpoder
ysealesdecontrolseaplicanalatarjeta.

ElAmplificadorL2982Ejes

ElamplificadorL298decontroldedobleejesemuestraenlaFigura3consusconexionesdecableado
identificadas.Estecircuitopermitirelcontroldedosmotores.

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

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

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

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

sequesehaceconif..then(lodeantirreboteafectaesto?)

esperoahorasihabermeeplicadobien

Porciertoaquiunvideodeloquequierohacer

Motor paso a paso (PAP) con PIC (2)


http://www.forosdeelectronica.com/f24/cursoprogramacionpicpicbasicpro20658/index2.html 45/53
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/index2.html 46/53
10/6/2017 CursodeprogramacindePICenPICBasicPro

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

ImgenesAdjuntas

lubeckdijo:

Estememarcaunerrorquenuncahabiavisto....quesera???

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

Bueno...desapareceeseyapareceotro

.Despusqueterminanlosmensajesinicialesempiezaadar"StackOverflow"
ImgenesAdjuntas

Respuesta:Cursoprogramaciondepicenbsicpro
porciertoesteprogramitameayudobastanteconloscaracteresyfigurasdelalcd
ArchivosAdjuntos

Respuesta:Cursoprogramaciondepicenbsicpro
holagente

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

http://www.forosdeelectronica.com/f24/cursoprogramacionpicpicbasicpro20658/index2.html 47/53
10/6/2017 CursodeprogramacindePICenPICBasicPro

saludosssatodos...
ArchivosAdjuntos

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

Cdigo:

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

http://www.forosdeelectronica.com/f24/cursoprogramacionpicpicbasicpro20658/index2.html 48/53
10/6/2017 CursodeprogramacindePICenPICBasicPro

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

http://www.forosdeelectronica.com/f24/cursoprogramacionpicpicbasicpro20658/index2.html 49/53
10/6/2017 CursodeprogramacindePICenPICBasicPro

ArchivosAdjuntos

Temassimilares

erickpercydijo:

graciareyvillaporresponderperotratedecompilarloquemepusisteenelforoymesalenestos
errores

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

Intentaeso.

Saludos.
ImgenesAdjuntas

Temassimilares

mecatrodatosdijo:

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

Impresionante

,realmentequierohacercosasconel"SwordfishIDE"...muybienrecibidalainfo

http://www.forosdeelectronica.com/f24/cursoprogramacionpicpicbasicpro20658/index2.html 50/53
10/6/2017 CursodeprogramacindePICenPICBasicPro

,encuantomeliberedealgunostrabajoslepongopilasalSwordfishparacolaborarconejemplosenel
respectivohilo.


SobrelosFusesparalosP18enelPBPmeheencontradoconvariosdetallesylosquepusistenome
funcion,buenoinvestigueunpocomsyloapliqueotraformausandoPBP2.60L+Microcode4para
aquellosquequieranmodificarlosFusesparalosP18:

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

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

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

3)Ocomentarlaslneas__CONFIGcon''paraevitarquesalgaerroresaldeclararlosfusesenel

http://www.forosdeelectronica.com/f24/cursoprogramacionpicpicbasicpro20658/index2.html 51/53
10/6/2017 CursodeprogramacindePICenPICBasicPro

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

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

ocomopongoenlapruebaquerealicparaPBP:
Cdigo:

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

defineOSC20

CNTvarbyte

clear
ADCON1=15
TRISB=0
LATB=0

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

Meavisansimeequivoqueenalgo

http://www.forosdeelectronica.com/f24/cursoprogramacionpicpicbasicpro20658/index2.html 52/53
10/6/2017 CursodeprogramacindePICenPICBasicPro

saludos.
ImgenesAdjuntas

Respuesta:Cursoprogramaciondepicenbsicpro
holagentedelforo.

bueno,acaestoydenuevo,pidiendovuestraayudajeje

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

ImgenesAdjuntas

http://www.forosdeelectronica.com/f24/cursoprogramacionpicpicbasicpro20658/index2.html 53/53

S-ar putea să vă placă și