microcontrolador
Esses dispositivos podem ser anodo comum
Ou catodo comum.
Vamos usar praticamente todos os pinos do PORTB para acionar os segmentos do display.
Ligações:
RB0 A
RB1 B
RB2 C
RB3 D
RB4 E
RB5 F
RB6 G
Aplicando nível lógico alto no segmento irá ligá-lo.
Logo, para formar o número 0 (zero) devemos acionar todos os segmentos, menos o segmento G.
Para formar o número 2 (dois), acionamos todos segmentos, menos os segmentos F e C.
Exemplo de um programa para acionar os segmentos, contando de 0 até 9
#INCLUDE
__CONFIG _INTOSC_OSC_NOCLKOUT & _WDT_OFF & _PWRTE_OFF & _MCLRE_OFF & _RC_OSC_NOCLKOUT & _LVP_OFF
; definição das variáveis CBLOCK 0X20 VAR PDel0 PDel1 PDel2 ENDC
ORG 0X00 CALL INIT
PRINCIPAL:
MOVLW 00000000B ; W=00000000 INICIALIZOU W MOVWF VAR ;VAR = W CALL TABELA MOVWF PORTB ;PORTB = W --> ACIONA O DISPLAY COM O VALOR DE W CALL PDelay
INCF VAR,F ;VAR=VAR+1 incrementa a variável VAR MOVFW VAR; ;W = VAR CALL TABELA MOVWF PORTB ;PORTB = W --> ACIONA O DISPLAY COM O VALOR DE W CALL PDelay INCF VAR,F ;VAR=VAR+1 incrementa a variável VAR MOVFW VAR; ;W = VAR CALL TABELA MOVWF PORTB ;PORTB = W --> ACIONA O DISPLAY COM O VALOR DE W CALL PDelay
INCF VAR,F ;VAR=VAR+1 incrementa a variável VAR MOVFW VAR; ;W = VAR CALL TABELA MOVWF PORTB ;PORTB = W --> ACIONA O DISPLAY COM O VALOR DE W CALL PDelay
INCF VAR,F ;VAR=VAR+1 incrementa a variável VAR MOVFW VAR; ;W = VAR CALL TABELA MOVWF PORTB ;PORTB = W --> ACIONA O DISPLAY COM O VALOR DE W CALL PDelay
INCF VAR,F ;VAR=VAR+1 incrementa a variável VAR MOVFW VAR; ;W = VAR CALL TABELA MOVWF PORTB ;PORTB = W --> ACIONA O DISPLAY COM O VALOR DE W CALL PDelay
INCF VAR,F ;VAR=VAR+1 incrementa a variável VAR MOVFW