En la siguiente tabla podrás comparar el código hexagesimal y su equivalente en 7
segmentos:
HEXAGESIMAL
7-SEGMENTOS
$00
$01
$02
$03
$04
$05
$06
$07
$08
$09
LIST P = 16F84
$3F
$06
$5B
$4F
$66
$6D
$7D
$07
$7F
$6F
;Indicamos el modelo de PIC a utilizar
; Definición de registros
portb
EQU
0x06
TRISB
Estado
pc
EQU
EQU
EQU
0X06
0X03
0x02
;Hemos conectado el display al puerto B
;La dirección 0x06 corresponde al registro PORTB
;(puerto B) en el banco1
; y TRISB en banco 1
; La dirección del registro de estado es la 0x03
; Contador de Programa, es decir,
;dirección de memoria actual de programa
; Definición de bits
banco
EQU
0X05
Z
EQU
0X02
; Bit del registro de estado correspondiente
;
al banco de datos
; Bit indicador de que el registro W está a cero
; Definición de constantes
w
f
EQU
EQU
0
1
; Destino de operación = w
; Destino de operación = registro
; Definición de variables
contador EQU
digito
EQU
0X0C
0X0D
; Contador
; Para almacenar el dígito
; Comienzo del programa.
ORG 0X00
; Cubrimos el vector de reset
GOTO inicio
; Saltamos a la primera dirección tras el vector de interrupción
; ************************ Inicialización de variables *************************
ORG 0X05
inicio
BSF estado,banco
CLRF TRISB
BCF estado,banco
CLRF portb
CLRF contador
CLRW
;
;
;
;
;
;
Cambiamos a la segunda página de memoria
Programa la puerta B como de todo salidas
Volvemos a la página 0.
Apaga el display, por si había residuos
Borra el contador (dirección 0x0C)
Borramos el registro W
62