Upload
haxuyen
View
213
Download
0
Embed Size (px)
Citation preview
!"#$%"&'()*"+"&,"()-))
.#'/0)*#0)1234,56#3)6,)7"28,)7"9:3()
.#'/0)*#0)1234,56#3)6,)7"28,)7"9:3()
;<=7.)
!"#$
!%&'(%)*+$"%,%)-%+$.$
/(0123+$3$4*&)-+$56,%'-+$
1 >?--) -)
!! Introdução !! Funções Booleanas !!AND !!OR
!!NOT !!NAND
!!NOR
!! Notações para representação de funções Booleanas !!Expressões, Circuitos e Tabelas-verdade
!!Transformações entre notações
>?--)
!"#$%"&'()*"+"&,"()-)
).#'/0)*#0)1234,56#3)6,)7"28,)7"9:3() >)
!!1854 – Matemético George Boole publica um artigo apresentando um sistema matemático de análise lógica conhecido como álgebra de Boole, utilizando-se apenas dos dígitos (“0” e “1”);
! !!1938 – Engenheiro Claude Shannon utiliza a álgebra de Boole para a
solução de problemas de circuitos de telefonia com relés, intriduzindo a “eletrônica digital”; Computadores digitais ocupam grandes salas;
! !!1950 – Desenvolvimento do primeiro transistor ! chave liga-desliga de
tamanho mínimo; "
Barateamento dos computadores Nascimento da “era digital”
! !!1980 – Explosão da utilização de computadores e lógica digital;
>?--)
!"#$%"&'()*"+"&,"()-))
.#'/0)*#0)1234,56#3)6,)7"28,)7"9:3() @)
!! Atualmente, a eletrônica digital implementa em pequenos circuitos integrados (conhecidos como portas lógicas) as operações da álgebra de Boole;
!! Operações elementares da álgebra de Boole: AND, OR, NOT, NAND e NOR.
>?--)
!"#$%"&'()*"+"&,"()-)
).#'/0)*#0)1234,56#3)6,)7"28,)7"9:3() A)
!"
#"
""$%""""$&""""$'""""$$""""$(""""")""""""*"
"""$""""""'""""""&""""""%""""""+"""""",""""""-"
gnd
vcc
!!Convenções:
Chave aberta: 0 Lâmpada apagada: 0 Chave fechada: 1 Lâmpada acesa: 1
!!A tabela de todas as possíveis situações é conhecida como “tabela verdade”. Nela podemos ver como uma função se comporta;
!!Neste caso, “S” representa a função AND de CHA e CHB; !!A função AND executa a multiplicação de duas ou mais variáveis, e é
representada pela expressão S = A.B, onde A e B são as duas variáveis de entrada;
>?--)
!"#$%"&'()*"+"&,"()-))
.#'/0)*#0)1234,56#3)6,)7"28,)7"9:3() B)
."/0"!"
1"/0"#"
CHA CHB S
0 0 0
0 1 0
1 0 0
1 1 1
!!Convenções:
Chave aberta: 0 Lâmpada apagada: 0 Chave fechada: 1 Lâmpada acesa: 1
!!Neste caso, “S” representa a função OR de CHA e CHB; !!A função OR executa a S=A + B, onde A e B são as duas variáveis de
entrada; !!Nota: não confundir a notação de soma de binários com a notação de
tabela verdade ou funções booleanas!
>?--)
!"#$%"&'()*"+"&,"()-))
.#'/0)*#0)1234,56#3)6,)7"28,)7"9:3() C)
CHA CHB S
0 0 0
0 1 1
1 0 1
1 1 1
."
/0"!"
1"/0"#"
!! Convenções:
Chave aberta: 0 Lâmpada apagada: 0 Chave fechada: 1 Lâmpada acesa: 1
!! Neste caso, “S” representa a função NOT de CHA ; !! A função NOT executa a inversão de uma variável, e é
representada pela expressão S = ", onde A é a variável de entrada;
>?--)
!"#$%"&'()*"+"&,"()-)
).#'/0)*#0)1234,56#3)6,)7"28,)7"9:3() D)
CHA S
0 1
1 0
/0"!"." 1" !! NAND = NOT + AND
>?--)
!"#$%"&'()*"+"&,"()-)
).#'/0)*#0)1234,56#3)6,)7"28,)7"9:3() E)
CHA CHB S
0 0 1
0 1 1
1 0 1
1 1 0
!
S = A.B( )
!! NOR = NOT + OR
>?--)
!"#$%"&'()*"+"&,"()-)
).#'/0)*#0)1234,56#3)6,)7"28,)7"9:3() F)
CHA CHB S
0 0 1
0 1 0
1 0 0
1 1 0
!
S = A + B( )
!!Dado um conjunto de portas lógicas básicas dispostos de alguma maneira, é possível determinar a expressão booleana que está sendo implementada:
!!Porta AND: X.Y !!PORTA OR: X+Y
!!A expressão implementada pelo conjunto de portas lógicas é:! S = A.B + C
>?--)
!"#$%"&'()*"+"&,"()-)
).#'/0)*#0)1234,56#3)6,)7"28,)7"9:3() -?)
>?--)
!"#$%"&'()*"+"&,"()-)
).#'/0)*#0)1234,56#3)6,)7"28,)7"9:3() --)
!! Sempre que fazemos o estudo de uma função booleana, utilizamos a “tabela verdade”, isto é, um mapa onde se colocam todas as possíveis situações de uma expressão, juntamente com o valor por esta assumido. Seja a expressão:
!!A=0; B=0; C=0; S = 1 + 0 + 0.1.1 = 1
!!A=0; B=0; C=1; S = 1 + 0 + 0.1.0 = 1
!!A=0; B=1; C=0; S = 1 + 1 + 0.0.1 = 1
!!A=0; B=1; C=1; S = 1 + 1 + 0.0.0 = 1
!!A=1; B=0; C=0; S = 0 + 0 + 1.1.1 = 1
!!A=1; B=0; C=1; S = 0 + 0 + 1.1.0 = 0
!!A=1; B=1; C=0; S = 0 + 1 + 1.0.1 = 1
!!A=1; B=1; C=1; S = 0 + 1 + 1.0.0 = 1
>?--)
!"#$%"&'()*"+"&,"()-))
.#'/0)*#0)1234,56#3)6,)7"28,)7"9:3() -A)
!
S = A+ B+ A.B.C
A B C S
0 0 0 1
0 0 1 1
0 1 0 1
0 1 1 1
1 0 0 1
1 0 1 0
1 1 0 1
1 1 1 1
>?--)
!"#$%"&'()*"+"&,"()-))
.#'/0)*#0)1234,56#3)6,)7"28,)7"9:3() -B)
!! Para obter uma expressão booleana a partir de uma tabela verdade, devemos extrair desta todas as situações em que a expressão é verdadeira, isto é, S=1. Seja a tabela:
Expressão:
!! .
>?--)
!"#$%"&'()*"+"&,"()-))
.#'/0)*#0)1234,56#3)6,)7"28,)7"9:3() -D)
G)
A B C S
0 0 0 1
0 0 1 0
0 1 0 1
0 1 1 0
1 0 0 0
1 0 1 0
1 1 0 1
1 1 1 1
!
A =1, B =1, C =1 " A.B.C
!
A =1, B =1, C =1 " A.B.C
!
A =1, B =1, C =1 " A.B.C
!
A =1, B =1, C =1 " A.B.C
!
S = A.B.C + A.B.C + A.B.C + A.B.C
>?--)
!"#$%"&'()*"+"&,"()-)
).#'/0)*#0)1234,56#3)6,)7"28,)7"9:3() -E)