Tutorial de Microcontroladores PIC - Parte IV - Código Para El Control Del Display Sin...
-
Upload
guillermo-quinteros -
Category
Documents
-
view
215 -
download
1
description
Transcript of Tutorial de Microcontroladores PIC - Parte IV - Código Para El Control Del Display Sin...
-
::PICParteIVCaptulo5
CdigoparaelControldelDisplaysinDecodificador
Enelencabezado incluimosnuestroARCHIVO.INCycomovariables incorporamosreg1, reg2 yreg3 paraelretardo,mslavariablecontquecontrolarlacuentaparaincrementarelPCLpormediodeW.
Enlaconfiguracindepuertos,habilitamosPORTBcomosalida,ycomenzamosconlaprogramacin.
Encabezado
LIST P=16F84 #include
Variablesutilizadas
reg1 equ 0x0D 3registrosparaelretardoreg2 equ 0x0Ereg3 equ 0x0Fcont equ 0x10
Configuracindepuertos
ORG 0x00 GOTO inicio ORG 0x04 ORG 0X05inicioBSF STATUS,RP0 configurandopuertos CLRFTRISB PORTB=SALIDA BCF STATUS,RP0
ProgramaPrincipal
reini CLRFcont poneelcontadora0 MOVF cont,W pasaelcontadoraw(ndice) CALLtabla llamaalatabla MOVWF PORTB pasaeldatoobtenidoaPORTB CALLretardo
disp_MOVF cont,W XORLW B'1001' verificasielcontadorllega9 BTFSC STATUS,Z sinoesassaltaunalnea GOTO reini sillega9loatiendeenreini INCFcont,F incrementaelcontador MOVF cont,W pasaelcontadoraw(ndice) CALLtabla llamaalatabla MOVWF PORTB pasaeldatoobtenidoenlatablaaPORTB CALLretardo GOTO disp_
Tabla
tablaADDWF PCL,F seincrementaelcontadordeprograma display .gfedcba segmentosdelosledsdeldisplay RETLW B'01101101' cdigoparael5 RETLW B'01100110' cdigoparael4 RETLW B'01001111' cdigoparael3 RETLW B'01011011' cdigoparael2 RETLW B'00000110' cdigoparael1 RETLW B'00111111' cdigoparael0
RETLW B'00111000' cdigoparaelL RETLW B'00111110' cdigoparaelU RETLW B'00000110' cdigoparaelI RETLW B'11101101' cdigoparaelS.
-
RutinadeRetardo
retardo movlw 30 Aqusecarganlosregistros movwf reg1 reg1,reg2yreg3tres movlw 20 conlosvalores30,20y35 movwf reg2dos movlw 35 movwf reg3
uno decfsz reg3,1 Aqusecomienzaadecrementar goto uno decfsz reg2,1 goto dos decfsz reg1,1 goto tres retlw00 regresaredelretardo END
Descripcin
Vamosporelprogramaprincipal...
reini CLRFcont poneelcontadora0 MOVF cont,W pasaelcontadoraw(ndice) CALLtabla llamaalatabla MOVWF PORTB pasaeldatoobtenidoaPORTB CALLretardo
Enlaprimerlinea,ponemoselcontadoracero,enlasegunda,lopasamosalregistroW,esdecirW=00000000ynosvamosconestevaloralatabla,veamosqueocurrirall...
tablaADDWF PCL,F seincrementaelcontadordeprograma display .gfedcba segmentosdelosledsdeldisplay RETLW B'01101101' cdigoparael5
ADDWFPCL,FessumarlealPCL loquetraeW,ycomoW=00000000,puesPCLseguirsiendo igualaPCL,ypasaralasiguienteinstruccin...
RETLW B'01101101', recuerda que la linea de comentario no es tenida en cuenta. En esta lnea, se carga wcon01101101,ycomosetratadeunainstruccinderetorno,regresaallugardedondevino,esdecira...
MOVWFPORTBpasaeldatoobtenidoaPORTBCALLretardo
AqusepasaelvalordeWaPORTBysevisualiza5enelDisplay,luegosehaceunretardo,ycuandotermina...
disp_MOVF cont,W XORLW B'1001' verificasielcontadorllega9 BTFSC STATUS,Z sinoesassaltaunalnea GOTO reini sillega9loatiendeenreini INCFcont,F incrementaelcontador MOVF cont,W pasaelcontadoraw(ndice) CALLtabla llamaalatabla
CargamosWconloquehayenelcontador,yluego,loquenostocahacer,esaveriguarsiyasemostrarontodoslosvaloresquefiguranenlatabla,paraesoutilizamoslainstruccindecomparacinXORLWcon9enbinario(00001001)puestoqueson10loselementosdelatabla(delelemento0alelemento9),lainstruccinXORLWyalavimosanteriormente,perosirverecordarla.
Piensaquesielcontadoresten1001(9),yamostrotodosloselementosdelatabla,ylacomparacinXORLWdarcomoresultado00000000y labanderadecero(Z)delregistroSTATUSsepondren1, de lo contrariopermaneceren0,ahoravienelapregunta...
-
BTFSCSTATUS,Z
EstencerolabanderaZdelregistroSTATUS...?,siesas,anfaltanelementospormostrar,entoncessaltaunalnea,yall...
INCFcont,F incrementaelcontador MOVF cont,W pasaelcontadoraw(ndice) CALLtabla llamaalatabla
Yestetrozodecdigoserepetirhastaquesemuestrentodosloselementos.
Bien. Suponte ahora, que la cuenta ya termin, y se mostraron todos los elementos, eso significa que"cont=1001",cuandolleguealacomparacin(XORLW)elresultadoSdar00000000,labanderaZsepondren1,ycuandolleguesalapregunta...
BTFSCSTATUS,Z
Esten cero labanderaZdel registroSTATUS...?, la respuesta serNO,por lo tanto semostraron todos loselementosdelatabla,ynoserealizarelsalto,esdecirquepasara...
GOTOreini
ybueno,allcomenzartododenuevo...
Bienmisqueridosamigos,esperoqueleshayaservidodeayudaestetutorial,yolohiceconalgosencillo,paraquepuedaninterpretarlaformadetrabajarconestosdispositivos.Imaginoquemasdeuno,tieneproyectosenloscualespuedeincorporarlo,otienelasintensionesdedesarrollarunonuevocontodosestoschiches,quemsd,ahoraquedaensusmanos,porloprontoyomeirajugaralMythology,jejeje
BYE...!!!