N88-BASICでデジタル回路 (1回目)

2022/1/12(水)
N88-BASICでデジタル回路 (1回目)
 
2bits binary(2桁の2進数)を
7segment displayに10進表示する回路を
考えます
 
 AAAA
F    B
F    B
 GGGG
E    C
E    C
 DDDD
 
2bitsの2進数yzとA~Gの表示の対応表
1=true(真)、0=false(偽)
 
yz  A B C D E F G
00  1 1 1 1 1 1 0
01  0 1 1 0 0 0 0
10  1 1 0 1 1 0 1
11  1 1 1 1 0 0 1
 
A = (NOT z) OR y
B = -1
C = z OR (NOT y)
D = A
E = NOT z
F = NOT (z OR y)
G = y
 
y,zが入力でA~Gが出力で、1の時光らせます
 
NOT、AND、OR、XOR素子を組合わせた回路を作ります
優先順位を分かりやすくするため不要な()を付けています
(この回路は最適ではなく、とりあえず動くものです)
 
NOTは1、0の反転
ANDは両方1の時のみ1
OR は両方0の時のみ0
XORは両方同じとき0違うとき1
 
次に3bits binary(3桁の2進数)を
7segment displayに10進表示する回路を
考えます
 
 AAAA
F    B
F    B
 GGGG
E    C
E    C
 DDDD
 
3bitsの2進数xyzとA~Gの表示の対応表
 
xyz  A B C D E F G
000  1 1 1 1 1 1 0
001  0 1 1 0 0 0 0
010  1 1 0 1 1 0 1
011  1 1 1 1 0 0 1
100  0 1 1 0 0 1 1
101  1 0 1 1 0 1 1
110  1 0 1 1 1 1 1
111  1 1 1 0 0 1 0
 
A = (NOT (x XOR z)) OR y
B = NOT ((z XOR y) AND x)
C = (NOT y) OR z OR x
D = (NOT ((z XOR y) XOR x)) OR ((NOT z) AND y)
E = (NOT z) AND (y OR (NOT x))
F = (NOT (z OR y)) OR x
G = ((NOT z) AND x) OR (x XOR y)
 
x~zが入力でA~Gが出力です
優先順位を分かりやすくするため不要な()を付けています
(この回路は最適ではなく、とりあえず動くものです)
 
更に4bits binary(4桁の2進数)を
7segment displayに16進表示する回路を
考えます
(10~15はAbCdEFで表します)
 
 AAAA
F    B
F    B
 GGGG
E    C
E    C
 DDDD
 
wxyz  A B C D E F G
0000  1 1 1 1 1 1 0
0001  0 1 1 0 0 0 0
0010  1 1 0 1 1 0 1
0011  1 1 1 1 0 0 1
0100  0 1 1 0 0 1 1
0101  1 0 1 1 0 1 1
0110  1 0 1 1 1 1 1
0111  1 1 1 0 0 1 0
1000  1 1 1 1 1 1 1
1001  1 1 1 1 0 1 1
1010  1 1 1 0 1 1 1
1011  0 0 1 1 1 1 1
1100  1 0 0 1 1 1 0
1101  0 1 1 1 1 0 1
1110  1 0 0 1 1 1 1
1111  1 0 0 0 1 1 1
 
4bitsの2進数wxyzとA~Gの表示の対応表
 
L = (NOT (x XOR z)) OR y
H = NOT ((x XOR y) AND z)
A = (L AND (NOT w)) OR (H AND w)
L = NOT ((z XOR y) AND x)
H = (NOT ((y AND z) OR x)) OR (((NOT y) AND z) AND x)
B = (L AND (NOT w)) OR (H AND w)
L = (NOT y) OR z OR x
H = (NOT y) AND z OR (NOT x)
C = (L AND (NOT w)) OR (H AND w)
L = (NOT ((z XOR y) XOR x)) OR ((NOT z) AND y)
H = (x XOR z) OR (NOT y)
D = (L AND (NOT w)) OR (H AND w)
L = (NOT z) AND (y OR (NOT x))
H = (x OR y) OR (NOT z)
E = (L AND (NOT w)) OR (H AND w)
L = (NOT (z OR y)) OR x
H = (NOT x) OR y OR (NOT z)
F = (L AND (NOT w)) OR (H AND w)
L = ((NOT z) AND x) OR (x XOR y)
H = (y OR z) OR (NOT x)
G = (L AND (NOT w)) OR (H AND w)
 
w~zが入力でA~Gが出力です
優先順位を分かりやすくするため不要な()を付けています
(この回路は最適ではなく、とりあえず動くものです)
 
1=true(真)、0=false(偽)は
BASICでは、-1(すべてのbitが1):true、0:falseです
 
NL-BASICとblg~.zip(digi001.bas)は
このブログ(以下のリンク)からダウンロードできます

https://ulprojectmail.blogspot.com
Readme.txtを読んで遊んで下さい













 

このブログの人気の投稿

NEWS

N88-BASICでゲーム (1回目)