Professional Documents
Culture Documents
Departamento de Fsica, Universidad de Santiago de Chile (USACH), Av. Vctor Jara 3493, Santiago.
TRISC = 0
TRISA = 0
TRISB = %00000001
Figura 2. Dislpay Dim decenas As Byte
Dim unidades As Byte
Se observa en la figura 1 el programa
Dim masku As Byte
utilizado. Mediante el comando TRIS se hace Dim maskd As Byte
que el puerto A y el C sean salida. Para el Dim digit As Byte
puerto B, en cambio, la nica entrada es el pin
0 y el resto son salida. Se definieron las INTCON.INTE = 1
variables decenas, unidades, maskd y INTCON.GIE = 1
masku como Byte y digit como variable
tipo Word. Loop1:
El comando INTCON.INTE = 1 habilita la PORTC = 0
interrupcin externa en RB0, el siguiente decenas = digit / 10
unidades =digit 10 * decenas
comando INTCON.GIE = 1 habilita todas las
maskd=LookUp(0x3f, 0x06, 0x5b, 0x4f, 0x66,
interrupciones. 0x6d, 0x7d, 0x07, 0x7f, 0x6f), decenas
A continuacin, se crea un loop. Se utiliza el masku=LookUp(0x3f, 0x06, 0x5b, 0x4f, 0x66,
comando PORTC=0 para bajar todos los 0x6d, 0x7d, 0x07, 0x7f, 0x6f), unidades
spines. Se definen las variables decenas y PORTC = maskd
unidades tal como sus nombres lo indican. Las If decenas = 0 Then
variables maskd y masku asumen los valores Low PORTA.1
de 0 al 9. WaitMs 10
Else
High PORTA.1
waitMs 10
Low PORTA.1
ENDIF
PORTC = masku
High PORTA.2
WaitMs 10
Low PORTA:2
Goto Loop1
End
On Interrupt
digit = digit + 1
Low PORTA:1
Low PORTA.2
WaitMas 500
INTCON.INTF = 0
INTCON.GIE = 1
Goto Loop1
Resume