Está en la página 1de 3

#I

NCLUDE<16f
887.
h>

#USEDELAY(
CRYSTAL=4000000)

#f
usesXT,
NOPROTECT,
NOWDT,
NOBROWNOUT,
PUT,
NOLVP

Byt
eCONSTdi
spl
ay[
10]
={0x3f
,0x06,
0x5b,
0x4f
,0x66,
0x6d,
0x7d,
0x07,
0x7f
,0x67}
;

#DEFI
NEUPORTC,
0

#DEFI
NEDPORTC,
1

#byt
ePORTB=6

#byt
ePORTC=7

I
NTVECES,
SEG;

/
/Funci
ónpar
amost
rarl
ossegundosenelDi
spl
ay

VOI
DMOSTRAR()/
/Rut
inamost
rar

I
NTUNI
,
DEC;/
/Decl
ararl
asvar
iabl
esUNI
,DEC

/
/comounent
ero,
esdeci
rde8bi
ts

DEC=SEG/
10;

UNI
=SEG%10;

PORTB=(
DISPLAY[
UNI
])
;//
Muest
ral
oquehayenuni
dades

/
/eneldi
spl
ay

BI
T_SET(
U); /
/Enci
endeeldi
spl
aydeuni
dades

DELAY_
MS(
1); /
/Ret
ardode1mi
li
segundos

BI
T_CLEAR(
U); /
/Apagaeldi
spl
aydeuni
dades

PORTB=(
DISPLAY[
DEC]
);/
/Muest
ral
oquehayenuni
dades

/
/eneldi
spl
ay

BI
T_SET(
D); /
/Enci
endeeldi
spl
aydedecenas
DELAY_
MS(
1); /
/Ret
ardode1mi
li
segundos

BI
T_CLEAR(
D); /
/Apagaeldi
spl
aydedecenas

/
/Rut
inadei
nter
rupci
ónporRTCC(
TIMER)

#I
NT_
RTCC

RELOJ(
)

VECES-
-; /
/Sedecr
ement
alavar
iabl
eVECES

SET_
RTCC(
238)
;//
Secar
gaelt
imercon238

I
F(VECES==0) /
/Pr
egunt
asiVECESyal
legoacer
o

SEG++; /
/CuandoVECESl
legaacer
oincr
ement
aSEG(
Transcur
ri
o1seg)

VECES=217; /
/Vuel
voycar
goVECESconelval
or217

/
/Pr
ogr
amaPr
inci
pal

VOI
DMAI
N()

SET_
TRI
S_B(
0);/
/Conf
igur
aPUERTOBcomosal
ida

SET_
TRI
S_C(
0);/
/Conf
igur
aPUERTOCcomosal
ida

VECES=217; /
/Car
gaVECEScon217par
aef
ect
uarl
acuent
ade1segconelt
imer

SEG=0; /
/Ini
cial
izal
ossegundosencer
o
SET_
RTCC(
238)
;//
Car
goval
ori
nici
aldelt
imer

/
/Conf
igur
aci
ónANTI
GUAdelTI
MER0

/
/SETUP_
COUNTERS(
RTCC_
INTERNAL,
RTCC_
DIV_
256)
;//
Conf
igur
aint
err
upci
ondelt
imer

/
/Conf
igur
aci
ónRecomendadadelTI
MER0

SETUP_
TIMER_
0(RTCC_
INTERNAL|
RTCC_
DIV_
256|
RTCC_
8_bi
t)
;

ENABLE_
INTERRUPTS(
INT_
RTCC)
; /
/Act
ivai
nter
rupci
ondelt
imer

ENABLE_
INTERRUPTS(
GLOBAL)
; /
/Act
ivaTODASl
asi
nter
rupci
ones

WHI
LE(
TRUE) /
/Hagaporsi
empr
e

I
F(SEG==60) /
/Pr
egunt
asiyasel
legoa60segundos

SEG=0; /
/Sisi
,vuel
vaaSEGacer
o

ELSE /
/Sino,

MOSTRAR(
);/
/Muest
reelval
ordeSEGenl
osDi
spl
ay7Segment
os

También podría gustarte