Pesquisar este blog

segunda-feira, 14 de dezembro de 2015

Decodificador alfanumérico com PIC

Extensão do Decodificador BCD para display de 7 segmentos


Utilizei o mesmo PIC 16F676 para um decodificador para apresentar caracteres alfanuméricos em displays de led de 7 segmentos. Para tanto é necessário o uso de mais uma porta para entrar o código binário (agora não mais BCD) de 5 bits, o que permite 32 combinações. Dada a limitação dos displays de 7 segmentos, nem todos caracteres alfanuméricos são possíveis de ser reproduzidos, tais como o "k", "m", "w", "z", "x", e o "q" pra não confundir com o "9".



Segue a tabela com os códigos de entrada na PORT A:
PORT A  
4 3 2 1 0  Caractere
0 0 0 0 0   0
0 0 0 0 1   1
0 0 0 1 0   2
0 0 0 1 1   3
0 0 1 0 0   4
0 0 1 0 1   5
0 0 1 1 0   6
0 0 1 1 1   7
0 1 0 0 0   8
0 1 0 0 1   9
0 1 0 1 0   A
0 1 0 1 1   b
0 1 1 0 0   C 
0 1 1 0 1   d
0 1 1 1 0   E
0 1 1 1 1   F
1 0 0 0 0   g
1 0 0 0 1   H
1 0 0 1 0   i
1 0 0 1 1   J
1 0 1 0 0   L
1 0 1 0 1   n
1 0 1 1 0   o
1 0 1 1 1   P
1 1 0 0 0   r
1 1 0 0 1   t
1 1 0 1 0   u
1 1 0 1 1   y
1 1 1 0 0   -
1 1 1 0 1   =
1 1 1 1 0   [
1 1 1 1 1   ]

Com a utilização de mais um bit de entrada, a seleção de saídas para catodo comum ou anodo comum deixa de existir e o decodificador só funciona para catodo comum.

Os códigos Hexa estão a seguir:
:100000002E288001840AFF3E031D01282928A30110
:10001000A200FF30A207031CA307031C29280330FA
:10002000A100DF3015200928A101E83EA000A109A8
:10003000FC30031C1E28A00703181B28A00764001F
:10004000A10F1B2820182428A01C282800002828DD
:10005000080083130313831264000800073099001B
:1000600083161F30850087019101203084004030C5
:1000700083120120BC01640020303C02031849288F
:100080003C08B80058200130A300F4300820BC0F11
:100090003B280830B8001F300505B8006400380858
:1000A0003902031D54284B283808B90058204B2822
:1000B00038081F3C031C86285F20870086280030F4
:1000C0008A003808663E03188A0A82001F34033407
:1000D0002D342734333436343E3403343F34333410
:1000E0003B343E341C342F343C34383437343B34C6
:1000F00002340F341C342A342E34393428343C343E
:100100000E343734203424341C34073438081F3C70
:10011000031CB8289120013903198512031D851687
:10012000B82800308A003808983E03188A0A8200EE
:100130000134003401340134003401340134013419
:100140000134013401340034013400340134013409
:1001500001340034003400340034003400340134FD
:1001600000340034003400340034003401340134ED
:0601700008006300B9283D
:02400E00C43FAD
:00000001FF

E um pequeno vídeo de demonstração dos caracteres gerados: