Giáo Trình Điện Tử Số
Biên Soạn:Phạm Thành Danh
Hệ thống số thường sử dụng là hệ thống số có vị trí. Trong một hệ thống như vậy một số biểu diễn bằng một chuỗi các ký tự số (digit); Ở đó mỗi vị trí của ký tự số sẽ có một trọng số nhất định. Trọng số ở đây chính là cơ lũy thừa vị trí của ký tự số trong chuỗi. Cơ số chính là số ký tự số được dùng để biểu diễn trong một hệ thống. Các hệ thống số thường gặp là hệ thống số thập phân (Decimal system), hệ thống số nhị phân (Binary system), hệ thống số bát phân (Octal system), hệ thống số thập lục phân (Hexa-decimal) v.v…Giá trị thập phân của một số được tính theo công thức sau : n
m
G = ∑ C × At + t
t =0
t′ C ∑ × At′
t ′ = −1
Trong đó : - G : là giá trị. - t : vị trí của ký tự số đứng trước dấu ngăn cách thập phân (0, 1, 2, 3, …). - n : số ký tự số đứng trước dấu ngăn cách thập phân của số trừ đi 1. - C : cơ số. - A : ký tự số. - t’ : vị trí của ký tự số đứng sau dấu ngăn cách thập phân ( -1, -2, -3, …). - m : số ký tự số đứng sau dấu ngăn cách thập phân. Trong các hệ thống số người ta thường quan tâm đến số có ý nghĩa cao nhất (số có trọng số lớn nhất) ký hiệu là MSB ( nghĩa thấp nhất (số có trọng số nhỏ nhất) ký hiệu là LSB ( Ví d : 001
MSD :
[2]
Trang 1
) và số có ý )
Giáo Trình Điện Tử Số
99
Biên Soạn:Phạm Thành Danh
LSD :
[10]
• Ký tự số : • Cơ số : Ví d :
Vị trí
3 2
1 0 [10]
=
.103 + .102 + .101 + .100 = 1000 + 900
0
-1
+ 90
+ 9
-2 100 +
[10]
10-1 +
= 1,00 + 0,2
10-2 + 0,05
• Ký tự số : • Cơ số : (viết tắt của
Mỗi con số trong số nhị phân (0 hoặc 1) đưực gọi là một digit). Các đơn vị khác :
Byte
B
8 bit
Kilo Byte
KB
1024 byte = 210 B
Mega Byte
MB
1024 KB = 220 B
Giga
GB
1024 MB = 230 B
Ví d :
Vị trí
4 3
2 1 0 [2]
=
.24 + .23 + .22 + .21 + .20 = 16 + 0
(Số nhị phân trên có 5 bit) 1
0
-1 -2
-3 Trang 2
+ 4 + 0
+ 1 = 21[10]
Giáo Trình Điện Tử Số
Biên Soạn:Phạm Thành Danh
21 +
[2]
= 2
+ 1
20 +
2-1 +
+ 0,5 + 0
2-2 +
2-3
+ 0,125 = 3,625[10]
(Số nhị phân trên có 5 bit) Nhận xét : - Nếu bit cuối cùng là 0 ⇒ số nhị phân đó là số chẳn. - Nếu bit cuối cùng là 1 ⇒ số nhị phân đó là số lẻ.
• Ký tự số : • Cơ số : Ví d : Vị trí
1
0 [8]
0
-1
.81 +
=
.80 = 32 + 6 = 38[10]
-2
=
.80 +
.8-1 +
.8-2
= 2 + 3.0,125 + 7.0,02 = 2,515[10] • Ký tự số : • Cơ số : Ví d : Vị trí 1
0
= .161 + 2 1 0
[16]
3
.160 = 46[10] -1 [16]
=
0
=
.163 + .162 + .161 +
+ 256
+ 32
+
12
.160 +
.16-1
+ 0,0625
= 300,0625[10] : Nếu số haxa-decimal bắt đầu bằng chữ thì khi viết phải thêm số 0 vào trước (Vd : EF → 0EF).
Trang 3
Giáo Trình Điện Tử Số
Biên Soạn:Phạm Thành Danh
Nguyên tắc : lấy mỗi số hạng trong chuỗi số nhân với cơ số lũy thừa vị trí của nó sau đó lấy tổng tất cả ⇒ kết quả (các ví dụ trên).
Nguyên tắc : Nhóm từ phải qua trái đ b n s (bốn bit); nhóm cuối cùng nếu thiếu thì ta cứ thêm các số 0 vào. Thay thế các nhóm 4 bit thành các mã thập lục phân tương ứng. Ví d : [2]
2
D
[16]
[2]
C
A
F
Trang 4
E
D
A
[16]
Giáo Trình Điện Tử Số
Biên Soạn:Phạm Thành Danh
Bảng mã thập lục phân :
0
0000
0
1
0001
1
2
0010
2
3
0011
3
4
0100
4
5
0101
5
6
0110
6
7
0111
7
8
1000
8
9
1001
9
10
1010
A
11
1011
B
12
1100
C
13
1101
D
14
1110
E
15
1111
F
Nguyên tắc : Nhóm từ phải qua trái đ ba s (ba bit); nhóm cuối cùng nếu thiếu thì ta cứ thêm các số 0 vào. Thay thế các nhóm ba bit thành các mã thập lục phân tương ứng.
Trang 5
Giáo Trình Điện Tử Số
Biên Soạn:Phạm Thành Danh
Ví d : =
4
7
2
1
=
0
Nguyên tắc : Thay thế một ký tự số bằng một số nhị phân ba bit tương ứng theo bảng sau. 0
1
2
3
4
5
6
7
000
001
010
011
100
101
110
111
Ví d : [8]
011
100
=
[2]
101
[8]
001
011
[2]
111
Nguyên tắc : Thay thế một ký tự số bằng một số nhị phân bốn bit tương ứng. Ví d : =
(H)
[2]
0010 1111 1110
Chia làm hai phần : phần nguyên (phần N) và phần thập phân (phần L). * Phần nguyên
:
- Lấy N chia cho cơ số (2 hoặc 8 hoặc 16), thương số là N0, số dư là n0. - Lấy N0 chia cho cơ số (2 hoặc 8 hoặc 16), thương số là N1, số dư là n1. - Lấy N1 chia cho cơ số (2 hoặc 8 hoặc 16), thương số là N2, số dư là n2. ..... - Tiếp tục chia cho đến khi thương số Ni = 0, số dư là ni .Khi đó số N biểu diễn dạng nhị phân là :
Trang 6
Giáo Trình Điện Tử Số
Biên Soạn:Phạm Thành Danh
N[2] = ni ni-1 … n2 n1 n0
(Các số dư được lấy theo thứ tự từ dưới lên) Ví d 1 : [10]
=
[2]
[10]
64 2 32 2 16 2 8
=
35 2 17 2 8 2 4
2 2
2 1
[2]
2 4
2 2
2 1
2
2 =
=
[2]
Ví du ï2 : [10]
16 124 16
[16]
[10]
16 26 16
16 0
=
[16]
16 0
Ví d 3 : [10]
8 33 8 4 8 0
[8]
[10]
8 249 8 31 8 3
= 3717[8]
8 0
* Phần thập phân L : - Lấy phần L nhân cơ số thành là L’ có phần nguyên là d1, phần thập phân là L1. - Lấy phần L1 nhân cơ số thành là L1’ có phần nguyên là d2, phần thập phân là L2. - Lấy phần L2 nhân cơ số thành là L2’ có phần nguyên là d3, phần thập phân là L3. ......
Trang 7
Giáo Trình Điện Tử Số
Biên Soạn:Phạm Thành Danh
- Tiếp tục cho đến khi phần thập phân của tích số bằng 0 hay đạt được số lẻ cần thiết.
Khi đó phần lẻ sẽ là : L[2] = d1 d2 d3 d4 … dk
L[10] = 0.6875 ⇒ L[2]
Ví d 1 :
_ 0.6875 x 2 = 1.3750 (L’)
⇒ d1 = 1; L1 = 0.3750
_ 0.3750 x 2 = 0.750 (L1’)
⇒ d2 = 0; L2 = 0.750
_ 0.750 x 2 = 1.50 (L2’) ⇒ d3 = 1; L3 = 0.50 _ 0.50 x 2 = 1.0 (L3’) ⇒
⇒ d4 = 1; L4 = 0
L[10] = 0.6875 ⇒ L[8]
Ví d 2 :
_ 0.6875 x 8 = 5.5 (L’)
⇒ d1 = 5; L1 = 0.5
_ 0.5 x 8 = 4.0(L1’)
⇒ d2 = 4; L2 = 0
⇒
L[10] = 0.6875 ⇒ L[16]
Ví d 3 :
_ 0.6875 x 16 = 11 (L’) ⇒
⇒ d1 = B; L1 = 0
Cũng như số học thập phân, số học nhị phân cũng có bốn phép tính cơ bản là : Cộng (+), Trừ (-), Nhân (*), Chia (/) .
Nguyên tắc :
0+0=0 0+1=1 1+0=1 1+1=0
(carry)
Ví d : 100110 + 001
1010110 + 1000101
1001010 + 1010010
100111
10011011
10011100
Trang 8
Giáo Trình Điện Tử Số
Nguyên tắc :
Biên Soạn:Phạm Thành Danh
0–0=0 0–1=1
(borrow)
1–0=1 1 –1 = 0 Ví d : 1111 - 0110 1001
Nguyên tắc :
1000 - 0011 0101
0 x 0 = 0 0 x 1 = 0 1 x 0 = 0 1 x 1 = 1
Ví d :
1010 x101 1010 0000 1010 110010
Ví d :
10001 x1000 10001000
101000[2] / 11 = ?; 1010[2] / 101 = ?; 111111[2] / 110 = ? 1 0 1 0 0 0 11 1 1 1101 0 1 0 0 1 1 0 0 1 0 -
1010 - 101 00
0 1 0
0 0 1 0
0 1 1
101 10
111111 - 110000 001110 Trang 9
110 1010
Giáo Trình Điện Tử Số
Biên Soạn:Phạm Thành Danh
- 1100 11 Thông thường để tính toán không bị nhằm lẫn ta có thể chuyển sang số thập phân tính toán ,sau đó chuyển kết quả sang số nhị phân.Tuy nhiên trong kỹ thuật điện tử cũng như trong máy tính việc tính toán này hoàn toàn được thực hiện rất đơn giản ta không cần phải chuyển đổi. Ví dụ:1000[2] (8) – 0011[2] (3) = 0101[2] (5)
Mã nhị phân là một mã sử dụng hệ thống nhị phân và được sắp xếp theo một cấu trúc nào đó. Trong các máy tính hoặc các mạch số luôn làm việc ở hệ thống nhị phân; Các thiết bị xuất hay nhập ( hiển thị) thường làm việc ở hệ thống thập phân .Vì thế các giá trị thập phân phải được mã hóa bằng các giá trị nhị phân.
Mã số BCD là số thập phân mã hóa theo nhị phân. Mã số này dùng nhóm bốn bit để biểu thị số thập phân từ 0 đến 9. Ví d : 1
2
0
0001 0010
(D)
0 0 0 0(BCD)
1 9 9 9 (D)
0 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1(BCD)
Lu ý: Mã BCD chỉ có giá trị từ 0 cho đến 9 nên khi ta chuyển đổi từ mã BCD sang giá trị thập phân cần chú ý trường hợp cấm ( không tồn tại mã BCD). Ví d : 0010 1000 0111
2
8
0101 1100 0101
7
5
Trang 10
5
Giáo Trình Điện Tử Số
Biên Soạn:Phạm Thành Danh
Mã quá 3 (thừa 3, dư 3) là mã có được khi tăng 3 đơn vị từ Binary.Tức là cộng thêm 011[2]. Ví d : (Quaù3)
* 0101 →1000 (Quaù3)
* 1001 →1100
Mã quá 6 (thừa 6, dư 6) là mã có được khi tăng 6 đơn vị từ Binary.Tức cộng thêm 0110[2] Ví d : (Quaù 6)
* 0101 →1011 (Quaù 6)
* 1001 →1111
Mã Gray hay còn gọi là mã vòng suy ra từ mã nhị phân. Giả sử cho mã nhị phân có bốn bit B3 B2 B1 B0, mã Gray tương ứng là G3 G2 G1 G0 thì có thể tính theo công thức sau :
G i = B i+1 ⊕ B i
Để đơn giản khi đổi từ nhị phân sang Gray ,ta căn cứ từ số nhị phân theo qui luật sau : Bit đầu tiên không đổi.Các bit khác theo nguyên tắt sau bit 0 thì giữ nguyên, sau bit 1 thì đổi 1 thành 0 và 0 thành 1 d : (Gray)
* 0100 → 0110
Là mã biểu diễn các ký tự (vd: ký tự bàn phím). Mã ASCII : là mã mà hầu hết các máy tính đều dùng (Mã chuẩn của Mỹ American Standard Code for Information Interchange). Mỗi ký tự (chữ cái, chữ số , dấu, ký hiệu đặt biệt …) tương ứng với một mã 8 bit (là dãy liên tiếp các chữ số 0 và 1) Trang 11
Giáo Trình Điện Tử Số
Biên Soạn:Phạm Thành Danh
Ví d :
.....
.....
.....
.....
0
00110000
A
01000001
1
00110001
B
01000010
2
00110010
Y
01011001
3
00110011
Z
01011010
4
00110100
.....
.....
5
00110101
a
01100001
6
00110100
b
01100010
.....
.....
.....
.....
Bộ mã ASCII có 128 ký hiệu được mã hóa : - 26 chữ cái Latin in hoa : A → Z. - 26 chữ cái Latin in thường : a → z. - 10 chữ số thập phân. - Các ký tự toán học thông thường : +, -, *, / =, >, <, … - Các dấu chính tả : ?, ., “, :, … - Một số ký tự điều khiển. Bảng mã ASCII mở rộng có 256 ký tự được mã hóa. Mỗi nước có một bảng mã riêng, gồm 128 ký tự đầu giống bảng mã ASCII, từ mã thứ 128 trở đi được cài các ký tự đặt biệt của nước mình.
mã ASCII của GOTO 25 như sau: G
1000111
O
1001111
T
1010100
O
1001111
Khoảng trắng 0100000 2
0110010
5
0110101 Trang 12
Giáo Trình Điện Tử Số
Biên Soạn:Phạm Thành Danh
:
0000
0000
0011
0110
0000
0001
0001
0100
0111
0001
0010
0010
0101
1000
0011
0011
00 11
0110
1001
0010
0100
0100
0111
1010
0110
0101
0101
1000
1011
0111
0110
0110
1001
1100
0101
0111
0111
1010
1101
0100
1000
1000
1011
1110
1100
1001
1001
1100
1111
1101
1010
“
1101
0000
1111
1011
“
1110
0001
1110
1100
“
1111
0010
1010
1101
“
0000
0011
1011
1110
“
0001
0100
1001
1111
“
0010
0101
1000
Khi biểu diễn số có dấu thông thường sử dụng thêm 1 bit gọi là bit dấu (thường đặt ở vị trí số có trọng số cao nhất MSB) : bit này là không số dương;bit này là một
để chỉ
để chỉ số âm.
Ví d :
1. 0101 = - 5 Bit dấu
0. 0101 = + 5
Số bù 1 được định nghĩa cho một số N có n số sẽ bằng : r cơ số). Trang 13
n
-1 – N (với r là
Giáo Trình Điện Tử Số
Biên Soạn:Phạm Thành Danh
Cho số N = 1010
rn = 2 4 = 10000.
(r = 2; n = 4)
rn – 1 - N = 10000 – 1 – 1010 = 1111 – 1010 = 0101. Buø1) 1010 ( → 0101
Lưu ý : Ta có thể tìm bù 1 của một số nhị phân đơn giản bằng cách thay 0 1; 1 0.
Cho số N = 234
rn = 8 3 = 512=1000
(r = 8; n = 3)
rn – 1 - N = 1000 – 1 – 234 = 543 =355
Buø7) 234 ( → 355
Cho số N = 15249
rn = 10 5 = 100000.
(r = 10; n = 5)
rn– 1 - N = 100000 – 1 – 15249 = 99999 – 15249 = 84750.
Buø9) 15249 ( → 84750
Cho số N = 45
(r = 16; n = 2)
rn = 16 2 = 256=100
rn– 1 - N = 100 – 1 – 45 = 0FF – 45 = 0BA
=186
Buø15) 45 ( →186
Số bù 2 được định nghĩa cho một số N có n số sẽ bằng : r
n
số). Từ định nghĩa trên ta có số bù 2 chính là số bù 1 cộng 1. Ví d : Trang 14
– N (với r là cơ
Giáo Trình Điện Tử Số
Biên Soạn:Phạm Thành Danh
1.Chuyển đổi từ số Binary sang Decimal a.10110
b.10001101
c.100100001001
d.1111010111
e.10111111
f.101010101010
2. Chuyển đổi từ số Decimal sang Binary a.37
b.14
c.189
d.205
e.2313
3.Một số nhị phân 8 bit có giá trị thập phân tương ứng lớn nhất là bao nhiêu? 4.Chuyển đổi từ số Octal sang decimal a.743
b.36
c.3777
d.257
e.1204
5. Chuyển đổi từ số Decimal sang Octal a.59
b.372
c.919
d.65536
e.255
6. Chuyển đổi sang số Binary các số từ bài 2 đến bài 4 7.Chuyển đổi từ số Hex sang Decimal a.92
b.1A6
c.37FD
d.2CO
8.Chuyển đổi từ Decimal sang Hex a.75
b.314
c.2048
d.25619
9.Mã hóa những số decimal sau sang mã BCD a.47
b.962
c.187
d.1204
10.Chuyển đổi từ mã BCD sang Decimal a.1001011101010010
b.000110000100
c.0111011101110101
d.010010010010
11.Dịch sang mã ASCII các ký tự sau: CDDTK5=2005
Trang 15
e.7FF
Giáo Trình Điện Tử Số
Biên Soạn:Phạm Thành Danh
Đại số Boole (hay còn gọi là đại số logic do George Boole, nhà toán học người Anh khởi xướng vào thế kỷ XIX) là một cấu trúc đại số được xây dựng trên tập các phần tử nhị phân (Binary) cùng với 2 phép toán cộng và nhân thỏa các điều kiện sau :
a) Kín với các phép toán cộng (+) và nhân (*).Tức là ∀ A,B €X thì: A+B € X và A.B € X. b) i- Đối với phép cộng sẽ có phần tử trung hòa 0 (đồng nhất) : x + 0 = x. ii- Đối với phép toán nhân sẽ có phần tử trung hòa 1 ( đồng nhất) : x * 1 = x. c) Giao hoán : i- x + y = y + x. ii- x . y = y . x. d) Phân bố và kết hợp : i- a . (b + c) = (a . b) + (a . c) ii- a + (b . c) = (a + b) .(a + c) e) Luôn luôn tồn tại một phần tử nghịch (bù) sao cho : i- x + x = 1 ii- x. x = 0
a) Phép cộng
Trang 16
Giáo Trình Điện Tử Số
b) Phép nhân
Biên Soạn:Phạm Thành Danh
0
0
0
0
1
1
1
0
1
1
1
1
0
0
0
0
1
0
1
0
0
1
1
1
:
c) Phép bù
a
a
0
1
1
0
a) Quan hệ giữa các hằng số : Những quan hệ dưới đây giữa hai hằng số ( 0, 1) làm tiên đề của đại số Boole. Đó là các quy tắc phép toán cơ bản đối với tư duy logic. Công thức 1-1:
0 . 0= 0
Công thức 1-2
1 + 1= 1
Công thức 2-1:
0 . 1= 0
Công thức 2-2:
1+ 0 = 1
Công thức 3-1:
0+ 0= 0
Công thức 3-2:
1. 1= 1
Công thức 4-1:
0 =1
Công thức 4-2:
1=0 Trang 17
Giáo Trình Điện Tử Số
Biên Soạn:Phạm Thành Danh
b) Quan hệ giữa biến số và hằng số : Công thức 5-1:
x . 1= x
Công thức 5-2:
x+0=x
Công thức 6-1:
x.0= 0
Công thức 6-2:
x + 1= 1
Công thức 7-1:
x.x = 0
Công thức 7-2:
x + .x = 1
Biến số ở đây đặt là x, hai hằng số Logic là 0 và 1. c) Luật giao hoán : Công thức 8-1:
x + y = y+ x
Công thức 8-2:
x . y = y. x
d) Luật kết hợp : Công thức 9-1:
(x . y).z = x.(y. z)
Công thức 9-2:
(x + y) + z = x + (y+ z)
Công thức 10-1:
x . (y + z) = x.y+x.z
Công thức 10-2:
x + y . z = (x+y) . (x +z)
e) Luật phân phối : Công thức 11-1:
x+x =x
Công thức 11-2:
x.x =x
f) Luật đồng nhất : Công thức 12: x=x g) Định lý De_Morgan : Công thức 13-1:
x + y = x. y
Công thức 13-2:
x. y = x + y
h) Định lý hấp thu : Công thức 14-1:
x + x.y = x
Công thức 14-2:
x . (x+y) = x
Công thức 15:
x+ x .y=x+y
Trang 18
Giáo Trình Điện Tử Số
Biên Soạn:Phạm Thành Danh
Trong cấu trúc đại số Boole ,một mệnh đề được gọi là đối ngẫu với mệnh đề khác nếu ta thay thế 0 thành 1 và 1 thành 0,dấu cộng (+) thành dấu nhân(.) và ngược lại. Khi đã chứng minh một mệnh đề là đúng thì mệnh đề đối ngẫu của nó cũng đúng. VD: 2 mệnh đề A+1=1 và A.0 = 0 là 2 mệnh đề đối ngẫu. Phương pháp chứng minh các công thức trên là lập bảng tất cả các giá trị có thể có của các biến và tính tương ứng với vế phải, vế trái riêng rẽ. Nếu đẳng thức tồn tại với tất cả các giá trị thì công thức đúng. Sau đây sẽ là ví dụ : Ví d 1 : Chứng minh công thức 10-2 x + y . z = (x + y) . (x + z).
(Vế trái)
(Vế phải)
0
0
0
0
0
0
0
0
1
0
0
1
0
1
0
0
1
0
0
1
1
1
1
1
1
0
0
0
1
1
1
0
1
0
1
1
1
1
0
0
1
1
1
1
1
1
1
1
Tất cả các giá trị của ba biến x, y, z tạo thành 8 tổ hợp. Giá trị của vế trái x+y.z trùng với giá trị của vế phải (x + y).(x + z). Suy ra ta có x+y.z=(x+y).(x+ z). Vậy công thức 10-2 đã được chứng minh. Công thức 13-1:
x + y = x. y
Công thức 13-2:
x. y = x + y
Ví d 2 : Chứng minh định lý De_Morgan Giải : * Công thức 13-1: x
y
x.y
x. y Trang 19
x
y
x+y
Giáo Trình Điện Tử Số
Biên Soạn:Phạm Thành Danh
0
0
0
1
1
0
1
0
1
0
1
0
0
0
1
1
1
1
0
0
x
y
x+y
x
y
0
0
0
1
1
0
1
1
1
0
1
0
1
0
1
1
1
1
0
0
* Công thức 13-2 : x+ y
x. y
Lý luận như ví dụ 1 suy ra định lý De_Morgan đã được chứng minh. Tương tự như vậy ta có thể chứng minh tất cả các công thức trên bằng phương pháp này hoặc dùng công thức này suy ra công thức kia.
Trong bất kỳ đẳng thức nào, nếu thay thế một biến nào đó bằng một hàm số (nhiều biến) thì đẳng thức vẫn thiết lập. Quy tắc này được ứng dụng rất nhiều trong việc biến đổi các công thức đã biết để cho ra một công thức mới hay để rút gọn một hàm Boole nào đó.
_ Theo luật hoàn nguyên ta có :
x = x
Coâng thöùc 12
hoaø n nguyeân _ Cho một hàm Boole F1 = (A + B) . C Luaä t → F1 = (A + B) . C
(Thay thế (A + B) . C = x)
Z là đảo của hàm số Z sẽ có bằng cách đổi dấu “.” thành dấu “+”; “+” thành dấu “.”; “0” thành “1”; “1” thành “0”; biến số thành đảo của biến số đó; đảo biến số thành nguyên biến số. Trang 20
Giáo Trình Điện Tử Số
Biên Soạn:Phạm Thành Danh
Ví
Khi tìm đảo của một hàm số, những gạch ngang nào (biểu thị phép toán đảo) ở trên nhiều biến thì vẫn giữ nguyên.
Ví d 2 : Chú ý thứ tự ưu tiên như sau : dấu móc “( , )”; dấu nhân “.” ; dấu cộng “+”.
Hàm Z và Z’ được gọi là đối ngẫu khi các dấu cộng “+” và dấu “.” ; các giá trị “0” và “1” đổi chỗ cho nhau một cách tương ứng.
Ví d : ngaãu) * Z1 = (A + B) . (A + C . 1) (Ñoá i → Z'1 = A . B + A . (C + 0)
* Z2 = A + B + C
ngaãu) (Ñoá i → Z' 2 = A . B . C
Trang 21
Giáo Trình Điện Tử Số
Biên Soạn:Phạm Thành Danh
Một biến nhị phân (x, y, z, …) có thể lấy giá trị 0 hoặc 1. Hàm Boole là một biểu thức tạo bởi các biến nhị phân, các phép toán cộng “+”; nhân “.”; phép bù (đảo); các dấu bằng “=”; dấu ngoặc “( )”. Một hàm Boole có thể được biểu diễn bằng các phương pháp khác nhau tùy theo đặc điểm của từng hàm. Thường dùng bốn phương pháp. Đó là:
Bảng giá trị là bảng miêu tả quan hệ giữa các giá trị của hàm số tương ứng với mọi giá trị có thể có của các biến số. Khi lập bảng ta cho biến số giá trị 0 và 1 để tạo thành các tổ hợp biến (không trùng nhau) rồi tính giá trị hàm. Đặc điểm của phương pháp này tương đối rõ ràng, trực quan nhưng sẽ rắc rối nếu biến số nhiều, không áp dụng được các công thức và định lý logic để tính toán. Ví d :
0
0
0
0
0
0
1
0
0
1
0
0
0
1
1
1
1
0
0
0
1
0
1
0
1
1
0
0
1
1
1
1
Biểu thức hàm số dạng đại số logic dùng các phép toán nhân (AND), cộng (OR), bù (NOT) biểu thị quan hệ giữa các biến trong hàm. Có hai dạng để biểu diễn hàm số, đó là dạng chuẩn 1 (tổng các tích hay tích chuẩn - Minterm) ký hiệu là m và dạng chuẩn 2 (tích các tổng chuẩn hay tổng chuẩn – Maxterm) ký hiệu là M Ví d : Trang 22
Giáo Trình Điện Tử Số
F1 (w, x, y, z) =
∑m
Biên Soạn:Phạm Thành Danh
i
=
∑ (0, 1, 2, 4, 5, 6, 8, 9, 12, 13, 14)
(Dạng chuẩn 1)
= wz + xz + y F2 (A, B, C) = Π M i = Π (0, 4, 6, 7)
(Dạng chuẩn 2)
= (A + B) (B + C)
Bìa Karnaugh là phương pháp hình vẽ biểu thị hàm logic (sẽ nói kỹ ở phần sau).
Ví d :
z 0 1
00
01
11
10
Sơ đồ logic có được khi ta dùng các ký hiệu logic (ký hiệu các cổng logic) biểu thị hàm số.
A
F
B C
: (tổng các Mintern - tích chuẩn) :
Trang 23
Giáo Trình Điện Tử Số
Biên Soạn:Phạm Thành Danh
• • Nếu có n biến ta sẽ có 2n tổ hợp biến ⇒ có 2n mintern. • Nếu biến có giá trị “1” ta sử dụng dạng nguyên biến số, ngược lại,
nếu biến có giá trị “0” ta sử dụng dạng bù biến số.
• Ký hiệu của mintern là mi ; với i là giá trị thập phân của tổ hợp các biến.
Dạng chuẩn 1 là biểu thức đại số dùng phép toán cộng (OR) để cộng tất cả các minterm làm cho hàm số logic bằng “1”.
0
0
0
x y z = m0
0
0
0
0
1
x yz = m1
1
1
0
1
0
x y z = m2
1
0
0
1
1
x yz = m3
1
0
1
0
0
x y z = m4
0
1
1
0
1
x y z = m5
0
1
1
1
0
xy z = m6
0
0
1
1
1
xyz= m7
0
1
* Lưu ý : _ Các biến x, y, z có dấu bù hoặc không bù là tùy thuộc vào giá trị “0” hoặc “1”. _ Giá trị của F1 hoặc F2 là giá trị tự cho và ta có thể chọn giá trị khác. Căn cứ vào bảng trên ta có dạng chuẩn 1 (cả ba cách viết đều được) của hai hàm F1 và F2.
F1 = x yz + x y z + x yz Trang 24
Giáo Trình Điện Tử Số
=
Biên Soạn:Phạm Thành Danh
m1 + m2 + m3
= ∑ (1, 2, 3) F2 = x yz + x y z + x yz + xyz =
m1 + m4 + m5 + m7
= ∑ (1, 4, 5, 7) : (tích các Maxtern – tổng chuẩn)
• • Nếu có n biến ta sẽ có 2n tổ hợp biến ⇒ có 2n maxtern. • Nếu biến có giá trị “1” ta sử dụng dạng bù biến số, ngược lại, nếu biến có giá trị “0” ta sử dụng dạng nguyên biến số. • Ký hiệu của maxtern là Mi ; với i là giá trị thập phân của tổ hợp các biến. : Dạng chuẩn 2 là biểu thức đại số dùng phép toán nhân (AND) để nhân tất cả các maxterm làm cho hàm số logic bằng “0”.
0
0
0
x+y+z = M0
0
0
0
0
1
x + y + z = M1
1
1
0
1
0
x+ y +z = M2
1
0
0
1
1
x+ y + z = M3
1
0
1
0
0
x + y+z = M4
0
1
1
0
1
x +y+ z = M5
0
1
1
1
0
x + y +z = M6
0
0
1
1
1
x + y + z = M7
0
1
_ Các biến x, y, z có dấu bù hoặc không bù là tùy thuộc vào giá trị “1” hoặc “0”. Trang 25
Giáo Trình Điện Tử Số
Biên Soạn:Phạm Thành Danh
_ Giá trị của F1 hoặc F2 là giá trị tự cho và ta có thể chọn giá trị khác. Căn cứ vào bảng trên ta có dạng chuẩn 2 (cả ba cách viết đều được) của hai hàm F1 và F2. F1 = ( x + y + z ) ( x + y + z ). ( x + y + z ) . ( x + y + z ) . ( x + y + z ) =
M0
M4
.
.
M5
.
M6
.
M7
= Π (0, 4, 5, 6, 7).
F2 = ( x + y + z ) . ( x + y + z ) . ( x + y + z ) . ( x + y + z ) =
M0
M2
.
.
M3
.
M6
= Π (0, 2, 3, 6).
Giữa dạng chuẩn 1 và dạng chuẩn 2 cụ thể là giữa minterm và maxterm quan hệ với nhau bởi công thức sau : mi = Mi với i = 0 … 2n-1
Chng minh : Giả sử cho minterm m0 = x y z . Biến đổi m0 ta có : buø m 0 lyù De_Morgan Laá y → m 0 = x . y . z Ñònh → m 0 = x + y + z hoaøn nguyeân Luaä t → m 0 = x + y + z = M 0 Hay m 0 = M 0
Ký hiệu A
X=A
Bảng giá trị (Truth table) A
X
0
0
1
1 Trang 26
Giáo Trình Điện Tử Số
Biên Soạn:Phạm Thành Danh
Ký hiệu A
Bảng giá trị (Truth table) A
X= A
0
1
1
0
A
X=A.B
B
Bảng giá trị (Truth table) A
B
X
0
0
0
0
1
0
X=0 khi ∃ 1 ngõ vào =0
1
0
0
X=1 khi ∀ ngõ vào =1
1
1
1
Cổng AND 3 ngõ vào:
A B C
X=A.B.C
Bảng giá trị (Truth table) A
B
C
X
0
0
0
0
0
0
1
0
0
1
0
0
0
1
1
0 Trang 27
Giáo Trình Điện Tử Số
Biên Soạn:Phạm Thành Danh
1
0
0
0
1
0
1
0
1
1
0
0
1
1
1
1
Cổng OR 2 ngõ vào:
A X=A+B B
Bảng giá trị (Truth table) A
B
X
0
0
0
0
1
1
X=1 khi ∃ 1 ngõ vào =1
1
0
1
X=0 khi ∀ ngõ vào =0
1
1
1
Cổng OR 3 ngõ vào:
A B C
X=A+B+C
Bảng giá trị (Truth table) A
B
C
X
0
0
0
0
0
0
1
1
0
1
0
1
0
1
1
1
1
0
0
1
1
0
1
1
1
1
0
1
1
1
1
1 Trang 28
Giáo Trình Điện Tử Số
Biên Soạn:Phạm Thành Danh
Cổng NAND 2 ngõ vào :
A B
Bảng giá trị (Truth table) A
B
X= AB
0
0
1
0
1
1
1
0
1
1
1
0
Cổng NAND 3 ngõ vào : A B C
Bảng giá trị (Truth table) A
B
C
X= ABC
0
0
0
1
0
0
1
1
0
1
0
1
0
1
1
1
1
0
0
1
1
0
1
1
1
1
0
1
1
1
1
0
Hàm NOR 2 ngõ vào A B
Trang 29
Giáo Trình Điện Tử Số
Biên Soạn:Phạm Thành Danh
Bảng giá trị (Truth table) A 0 0 1 1
B 0 1 0 1
X= A + B 1 0 0 0
Hàm NOR 3 ngõ vào: A B C
Bảng giá trị (Truth table) A
B
C
X= A + B + C
0
0
0
1
0
0
1
0
0
1
0
0
0
1
1
0
1
0
0
0
1
0
1
0
1
1
0
0
1
1
1
0
A B
Bảng giá trị (Truth table) A
B
X= AB + AB = A ⊕ B
0
0
0
0
1
1
1
0
1
1
1
0
Hay sơ đồ được tương đương như sau:
Trang 30
Giáo Trình Điện Tử Số
Biên Soạn:Phạm Thành Danh
A
B
Ghi chú cổng EX-OR không có nhiều hơn hai ngõ vào.
A B
Bảng giá trị (Truth table) A
B
X= AB + AB = A ⊕ B
0
0
1
0
1
0
1
0
0
1
1
1
Hay sơ đồ được tương đương như sau:
A
B
Trang 31
Giáo Trình Điện Tử Số
Biên Soạn:Phạm Thành Danh
Có một số ký hiệu sau được dùng trong một số sách khác nhau
Bìa Karnaugh là bìa có số ô bằng 2n ,với n là số biến của hàm Boole, một ô sẽ tương đương với một tổ hợp của các biến đã cho. Hai ô được gọi là liên tiếp nhau(kế cận nhau)khi nó chỉ khác nhau 1 biến. Các biến phải được sắp xếp với nhau sau cho 2 ô kế cận nhau chỉ khác nhau 1 bit. Nếu không tuân theo nguyên tắt này thì không còn là bìa karnaugh nữa.
Trang 32
Giáo Trình Điện Tử Số
Biên Soạn:Phạm Thành Danh
Số ô cần biểu diễn hàm là 22= 4 ô (Có n biến sẽ cần 2n ô) F
A B
0 0 1
0 1
1 2 3
VD: theo hình trên thì khi A=1;B=0 thì tổ hợp nhị phân là 10[2]=2[D].Do đó ô này có số thứ tự là 2 VD:Biểu diễn hàm sau bằng Bìa K :F(A,B)=Σ(0,2).Đây là dạng chuẩn 1 .Nếu biểu diễn dưới dạng bảng giá trị thì ta có như sau: Hàng A
B
F
0
0
0
1
1
0
1
0
2
1
0
1
3
1
1
0
Từ bảng giá trị trên ta thấy Số thứ tự ô=Số thứ tự hàng.Lúc đó ta biểu diễn hàm Boole bằng bìa K như sau: F
A B
0 1 0
0 1
1 1 0
Tuy nhiên ta có thể biểu diễn hàm trên như sau: F A B 0 1
F 0 1
1 1
B 0 1
Số ô = 23= 8 ô F
AB C 0
A
00 01 11 10 0 2 6 4 Trang 33
0
1
0
0
Giáo Trình Điện Tử Số
1
1
3
Biên Soạn:Phạm Thành Danh
7
5
Số thứ tự ô = giá trị thập phân của tổ hợp nhị phân tương ứng. VD: Cho hàm Boole F(A,B,C)=Σ(1,2,4,7).Ta biểu diễn dạng bìa K như sau: F C
AB 0 1
F CD
F C
00 01 11 10 1 1 1 1
AB 00 01 11 10 0 0 0 0
0 1
AB 00 01 11 10
00 0 1 3 2
01 4 5 7 6
11 12 13 15 14
10 8 9 11 10
Số thứ tự ô = giá trị thập phân của tổ hợp nhị phân tương ứng. VD : Cho hàm Boole F(A,B,C,D)=Σ(0,1,2,4, ,10,14,15).Biểu diễn bằng bìa K F CD
AB 00 01 11 10 00 1 1 01 1 11 1 1 10 1 1 1
F CD
AB 00 00 01 11 10
Trang 34
01 11 0 0 0
0 0
10 0 0 0
Giáo Trình Điện Tử Số
F DE
ABC 00 01 11 10
Biên Soạn:Phạm Thành Danh
0
1
00 01 11 10 10 0 4 12 8 24 1 5 13 9 25 3 7 15 11 27 2 6 14 10 26
11 28 29 31 30
01 20 21 23 22
00 16 17 19 18
:Sử dụng các công thức ,các tiên đề và định lý để rút gọn VD: Rút gọn hàm sau +F(A,B,C)=ABC+AB+C =AB(C+1) + C = AB+C +F(x,y) = x(x+y) = xx+xy = x+xy=x +F(x,y,z) = xyz+xyz+xy = xyz+xy=xy +F(x,y,z) = xy+xz+yz (không rút gọn được nữa) Phương pháp đại số rút gọn hàm Boole bắt buộc ta phải nhớ các công thức,các quy tắt,các định lý …Kết quả cuối cùng ta cũng không biết là đã tối ưu chưa.Ta có một phương pháp khác có thể khắc phục được những vấn đề trên là phương pháp rút gọn bằng bìa K Nguyên tắc: Khi gom 2 ô liên tiếp với nhau thì ta sẽ loại đi được 1 biến. Biến bị loại chính là biến khác nhau trong 2 ô liên tiếp.Ta có thể gom cùng lúc 2 ô,4 ô,8 ô,16 ô tức là gom 2n ô kế cận nhau.Khi gom 2n ô kế cận nhau ta loại bỏ được n biến. Vị trí các ô kế cận cho phép như sau: AB C0 1
00
01 11 10 0 0 0 0 0 0 Loại được biến C
AB 00 C 0 1 0
Trang 35
01
11 10 0 0 0 0 0 Loại được biến B
Giáo Trình Điện Tử Số
AB C0 1 AB C0 1
AB CD
Biên Soạn:Phạm Thành Danh
00
01 11 10 AB 00 0 0 C 0 0 0 0 0 0 1 0 Loại được biến A 00 01 11 10 AB 00 C 0 0 0 0 0 0 1 0 Loại được biến AB 00 00 01 11 10
0 0
01 0 0 0
11 0 0 0 0
10
AB CD
0 0 0
01
11
10 0 0 0 0 Loại được biến A 01 11 10 0 0 Loại được biến AC 00 00 0 01 0 11 10
01 0
11 0
0
0
10 0 0
Loại được biến A Loại được biến B
Loại được biến AC Loại được biến AD AB CD
00 00 01 11 10
01 0 0 0 0
11 0 0 0 0
10 0 0 0 0
AB CD
00 01 11 10
00 0 0 0
Loại bỏ biến CD AB CD
00 00 01 11 10
0 0
01 0 0 0 0
11 0 0 0 0
10
01 0 0 0
11 0 0 0
10 0 0 0
Loại biến AB
AB CD
0 0
Loại bỏ biến AC
00 00 01 11 10
01 0 0 0 0
11 0 0 0 0
10
Loại bỏ biến ACD
Trang 36
Giáo Trình Điện Tử Số
AB CD
00
01
00 01 11 10
Biên Soạn:Phạm Thành Danh
11 0 0 0 0
10 0 0 0 0
AB CD
00 01 11 10
00 0
01 0
11 0
10 0
0
0
0
0
Loại bỏ biến BCD Loại bỏ biến ABC Khi gom các ô kế cận nhau ta loại bỏ những biến khác nhau,chỉ giữ lại những biến giống nhau.Khi ta gom những ô kế cận có giá trị là 1 thì biến giữ lại là chính nó nếu biến đó mang giá trị là 1 và sẽ có giá trị bù nếu biến đó là 0 VD:Có 2 tổ hợp được gom có giá trị là Tổ hợp 1:ABC
010
Tổ hợp 2:ABC
011
Khi gom 2 ô này ta loại bỏ biến C và giữ lại biến AB.Vì A có giá trị là 0 và B có giá trị là 1 nên tổ hợp này sẽ được biểu diễn là A B VD 1: Cho hàm Boole có bảng giá trị như sau.Rút gọn bằng bìa K AB C0 1
00
01 0 0
11 0 0
10 0 0
AB 00 C 0 0 1
01 0
11
10 0 0
AB
F(A,B,C)= A B
AB F(A,B,C)= A C+AB VD 2: Cho hàm Boole có bảng giá trị như sau.Rút gọn bằng bìa K
AB CD
00 00 01 11 10
AC
01 0 0 0 0
11 0
10 0
0 0
0 0
AB CD
AB AC D F(A,B,C,D)= A B + A C D
00 01 11 10
00
01
0
0
AC
11 0 0 0
10 0 0 0
CD
F(A,B,C,D)= A C +C D
VD3:Rút gọn hàm Boole F1(A,B,C)=∑ (1, 2, 5,6), F2(A,B,C)=∑ (0,1, 2, 7)
Trang 37
Giáo Trình Điện Tử Số
AB C0 1
00 0
01
11
0
0
C
Biên Soạn:Phạm Thành Danh
10 0
AB C 0 1
00
01
11 0
0
BC
10 0 0 ABC
AC
F1(A,B,C)=C+ B C F2(A,B,C)= A C + A B +ABC
AB
VD:Cho
F(A,B,C)=Σ(0,1,4,5,6)+d2
hàm
Boole
hoặc
là
F(A,B,C)=)=Σ(0,1,4,5,6)+d(2) Có nghĩa là khi biễu diễn bằng bìa K ta có thể cho ô thứ 2 là 0 hoặc 1 tùy ý sao cho có lợi nhất khi rút gọn. Trong bìa K ta có thể dùng dấu x cho ô tùy định.Nhìn vào bìa K ta thấy nếu chọn tùy định là 1 thì rút gọn sẽ tối ưu. AB C0 1
00 1 1
01 x 0
11 1 0
10 1 1
AB 00 C 0 1
01
11
0
0
10
C B
F2(A,B,C)= C + B Phương pháp:Vẫn thực hiện tương tự như dạng chuẩn 1 nhưng khi gom các ô kế cận ta gom những ô có ký hiệu là 0 .Mỗi số hạng là một tổng.Kết quả cuối cùng là tích của các tổng đó.Khi liên kết thì ta chú ý các biến có giá trị là 0 thì là chính nó và có giá trị là 1 thì sẽ lấy bù (đảo). VD:Rút gọn dạng chuẩn 2 hàm F(A,B,C)= Π (0, 2, 3, 6). AB 00 C 0 1 1 (B+ C )
01 1 1
11
( A+B )
F(A,B,C)= (B+ C ).( A + B )
Trang 38
10 1
Giáo Trình Điện Tử Số
Biên Soạn:Phạm Thành Danh
T
u
u
u
u
e
o
u
u
!
u
u
e
o
Dựa vào bảng trên ta áp dụng sẽ giải quyết được các bài toán.Các ô đánh dấu x sẽ không thực hiện được cấu trúc dạng đó. VD:Cho hàm F(A,B,C)= ABC+AB C + A B .Dùng cấu trúc OR -NAND thực hiện hàm trên Thực hiện: Bước 1: Đưa về dạng chuẩn 1 (bài toán đã cho sẵn). Bước 2:Lấy bù 2 lần F(A,B,C)= ABC+AB C + A B = ABC + ABC + A B = ABC. ABC AB = ( A + B + C ).( A + B + C ).( A + B) Bước 3:Vẽ sơ đồ thực hiện mạch bằng các cổng Logic A
B
C F(A,B,C)
Cũng cho hàm như trên .Thực hiện bằng cấu trúc NAND-NAND Trang 39
Giáo Trình Điện Tử Số
Biên Soạn:Phạm Thành Danh
F (A,B,C)= ABC+AB C + A B = ABC + ABC + A B = ABC. ABC AB Đến đây ta thấy đã xuất hiện cấu trúc mong muốn nên không áp dụng tiếp định lý Demorgan. Sơ đồ thực hiện mạch A
B
C F(A,B,C)
Trang 40
Giáo Trình Điện Tử Số
Biên Soạn:Phạm Thành Danh
Rút gọn hàm Boole bằng phương pháp đại số a.y= ABD + AB D b.z= ( A + B)( A + B ) c.y= ACD + ABCD d.y= AC + ABC e.y= ABC D + ABC D f. y= ( A + C )( B + D ) 2.Cho Z= A + B + C Dùng cổng NAND và cổng đảo biểu diễn hàm trên 3.Cho Z= ABC Dùng cổng NOR và cổng đảo biểu diễn hàm trên 4.Xác định biểu thức ở ngõ ra của các mạch sau a. A B X C D
b. A B X C D
d. A B X C D
5.Vẽ dạng sóng ngõ ra X theo tín hiệu vào A,B,C Trang 41
Giáo Trình Điện Tử Số A B C
Biên Soạn:Phạm Thành Danh X
A B C
6.Xác định ngõ ra X A
B X C
7.Với những giá trị nào của A,B,C thì LED sáng
A B LED
C
8.Rút gọn hàm sau bằng bìa K a.F= ABC + ABC + AB b.F= ABCD + ABC + ABD + AB c.F(A,B,C,D)= ∑ (1,4,5,7,10,15) d.F(A,B,C,D)= ∑ (1,4,5,7,10,15) +d0 e.F(A,B,C,D)= ∑ (0,1,2,4,5,7,10,11) f.F(A,B,C)= ∏ (0,3,4,7) g.F(A,B,C,D)= ∏ (0,3,4,7,10,13) + d 5 Trang 42
Giáo Trình Điện Tử Số Biên Soạn:Phạm Thành Danh h. F(A,B,C,D= ( A + B + C + D)( A + B + C + D)( A + C + D )( A + C )
9.Cho hàm Boole F(A,B,C,D)= ∑ (1,4,5,7,10,15) a.Thực hiện hàm dùng cấu trúc NAND-NOR b.Thực hiện hàm dùng cấu trúc NOR-NOR c.Thực hiện hàm dùng cấu trúc NAND-NAND d.Thực hiện hàm dùng cấu trúc OR-NOR e.Thực hiện hàm dùng cấu trúc AND-OR f. Thực hiện hàm dùng cấu trúc AND-NOR g.Thực hiện hàm dùng toàn cổng NAND h.Thực hiện hàm dùng toàn cổng NOR i.Thực hiện hàm dùng toàn cổng NAND 2 ngõ vào j.Thực hiện hàm dùng toàn cổng NOR 2 ngõ vào
Trang 43
Giáo Trình Điện Tử Số
Biên Soạn:Phạm Thành Danh
Mạch tổ hợp là một mạch được xây dựng từ các cổng Logic cơ bản để thực hiện những chức năng mà người sử dụng yêu cầu.Một số tính năng thường được sử dụng thì người ta tích hợp các cổng thành những IC chuyên sử dụng cho các mục đích đó. Trong chương này ta sẽ tìm hiểu cấu trúc bên trong cũng như tính năng của một số IC thông dụng.
Decoder là mạch chuyển đổi N bit ở đầu vào thành M ngõ ra .Mỗi ngõ ra được chọn ( tích cực) tương ứng với một tổ hợp ở đầu vào. Nếu có N ngõ vào tức có 2N tổ hợp.ứng với mỗi tổ hợp ở đầu vào sẽ có một ngọ ra ở mức Logic cao còn tất cả các ngõ ra khác sẽ ở mức Logic thấp Tuy nhiên có những Decoder được thiết kế ngược lại tức ngõ nào tích cực thì ngõ đó có mức logic thấp còn các ngõ còn lại ở mức cao. → Bảng giá trị
2-->4 X0
X1
Y Y Y Y
0 1 2 3
Từ bảng giá trị trên ta có Y0= X 0 X 1 ;
X1 X0
Y3 Y2 Y1 Y0
0
0
0
0
0
1
0
1
0
0
1
0
1
0
0
1
0
0
1
1
1
0
0
0
Y1= X 0 X 1 ;
Y2= X 0 X 1 ;
Y0= X 0 X 1 ; Sơ đồ tương đương
Trang 44
Giáo Trình Điện Tử Số
Biên Soạn:Phạm Thành Danh Y0
Y1
Y2
Y3
X1
X0
→ →
2-->4 X0
X1
Y Y Y Y
0 1 2 3
2-->4 X0
Y0
X1 X0
Y3 Y2 Y1 Y0
0
0
1
1
1
0
0
1
1
1
0
1
1
0
1
0
1
1
1
1
0
1
1
1
Y1 X1
Y2 Y3
Từ bảng giá trị trên ta có Y0=X0+X1;Y1=X0+ X 1 ;Y2= X 0 +X1;Y3= X 0 + X 1 Sơ đồ tương đương
Trang 45
Giáo Trình Điện Tử Số
Biên Soạn:Phạm Thành Danh Y0
Y1
Y2
Y3
X1
X0
→ Nhìn vào bảng giá trị của Decoder ta thấy có một điểm bất lợi là tại một thời điểm phải có một ngõ ra được chọn.Nếu như ta không muốn chọn ngõ nào thì Decoder loại này không thực hiện được.Xuất phát từ nguyên nhân đó người ta còn tích hợp một loại Decoder có ngõ vào cho phép gọi là Enable (E). Xét Decoder 2→ 4 có ngõ ra tích cực mức thấp có ngõ vào Enable tích cực mức cao Bảng giá trị
2-->4
E X1 X0
Y3 Y2 Y1 Y0
1
0
0
1
1
1
0
1
0
1
1
1
0
1
1
1
0
1
0
1
1
1
1
1
0
1
1
1
0
x
x
1
1
1
1
X0 X1 E
Y Y Y Y
0 1 2 3
Trang 46
Giáo Trình Điện Tử Số Biên Soạn:Phạm Thành Danh Tương tự như các cách làm trước ta cũng sẽ tìm được sơ đồ tương đương
của Decoder trong trường hợp có Enable.
:tại một thời điểm có một ngõ ra tích cực .Ngõ ra đó tương ứng với số thập phân của tổ hợp nhị phân đó Ví dụ:Nếu ngõ vào có tổ hợp là 10 thì ngõ ra được chọn là Y2 vì 10[B]=2[D]. Xét Decoder 3→ 8 có ngõ ra tích cực mức thấp 3-->8 X0 X1 X2
Y Y Y Y Y Y Y Y
0 1 2 3 4 5 6 7
X2 X1 X0
Y7 Y6 Y5 Y4
Y3 Y2
Y0 0
0
0
1
1
1
1
1
1
1
0
0
0
1
1
1
1
1
1
1
0
1
0
1
0
1
1
1
1
1
0
1
1
0
1
1
1
1
1
1
0
1
1
1
1
0
0
1
1
1
0
1
1
1
1
1
0
1
1
1
0
1
1
1
1
1
1
1
0
1
0
1
1
1
1
1
1
1
1
1
0
1
1
1
1
1
1
1
Để ghép các Decoder với nhau thì các decoder đó phải có ngõ vào E. Khi ghép 2 Decoder 2→ 4 ta sẽ được 1 Decoder 3→ 8 Khi ghép 2 Decoder 3→ 8 ta sẽ được 1 Decoder 4→ 16 Khi ghép 2 Decoder n→ 2n ta sẽ được 1 Decoder n+1→ 2n+1 Ví dụ:ghép 2 Decoder 2→ 4 thành 1 Decoder 3→ 8
Trang 47
Y1
Giáo Trình Điện Tử Số
Biên Soạn:Phạm Thành Danh D 1
X0
X0 X1
Y0 Y1 Y2 Y3
Y0 Y1 Y2 Y3
E
X1
D 2 X0 X1 X2
Y0 Y1 Y2 Y3
E
Trang 48
Y4 Y5 Y6 Y7
Giáo Trình Điện Tử Số
Biên Soạn:Phạm Thành Danh
Bảng giá trị khi ghép 2 Decoder X2 X1 X0
Y7 Y6 Y5 Y4
Y3 Y2 Y1 Y0
0
0
0
0
0
0
0
0
0
0
1
0
0
1
0
0
0
0
0
0
1
0
0
1
0
0
0
0
0
0
1
0
0
0
1
1
0
0
0
0
1
0
0
0
1 0
0
0
0
0
1
0
0
0
0
1
0
1
0
0
1
0
0
0
0
0
1
1
0
0
1
0
0
0
0
0
0
1
1
1
1
0
0
0
0
0
0
0
D 1 hoạt động D 2 bị cấm
D 2 hoạt động D 1 bị cấm
Nhìn vào bảng giá trị trên ta thấy nếu ghép như trên thì 2 Decoder này hoàn toàn tương đương như 1 decoder 3→ 8
Ví dụ: Cho hàm Boole có F(A,B,C)=Σ(0,1,3,6).Dùng Decoder thực hiện hàm trên thay cho các cổng Logic khác. Ta thấy Decoder thực sự là các cổng Logic được tích hợp thành.thực hiện hàm Boole dùng Decoder thực chất là ta tận dụng các cổng Logic có sẵn trong Decoder để thực hiện hàm Boole đó. Để thực hiện hàm Boole dùng Decoder ta lần lượt theo các bước sau: - Vì có 3 biến nên ta dùng Decoder 3→ 8.Tổng quát nếu hàm có n biến thì dùng Decoder n→ 2n - Lập bảng giá trị hàm Boole.Theo như ví dụ trên ta có bảng giá trị như sau: A B C
Y
0
0
0
1
0
0
1
1
0
1
0
0
0
1
1
1
1 0
0
0
1
0
1
0
1
1
0
1
1
1
1
0
Ta có thể biểu diễn hàm Boole trên bằng dạng chuẩn 1 như sau: Trang 49
Giáo Trình Điện Tử Số
Biên Soạn:Phạm Thành Danh
F(A,B,C)= Σ(0,1,3,6)= ABC + ABC + ABC + ABC Bảng giá trị của decoder 3→ 8 như sau: X2 X1 X0
Y7 Y6 Y5 Y4 Y3 Y2 Y1 Y0
0
0
0
0
0
0
1
0
1
0
0
0
0
0
0
1
0 0
0
1
1
0
0
0
0
1
0
0 0
0 0
0 0
0 0
0 0
0 0
0 1 0
1 0
1 0
0
0
0
0
1
0
0
0 0
1
0
1
0
0
1
0
0
0
0 0
1
1
0
0
1
0
0
0
0
0 0
1
1
1
1
0
0
0
0
0
0 0
Ta có: Y0= ABC ;Y1= ABC ;Y2= ABC ;Y3= ABC ;Y4= ABC ;Y5= ABC ;Y6= ABC ;Y7= ABC So sánh 2 kết quả này ta thấy có thể biểu diễn hàm Boole như sau: F(A,B,C)= Σ(0,1,3,6)= ABC + ABC + ABC + ABC =Y0+Y1+Y3+Y6 (của Decoder). Sơ đồ thực hiện dùng Decoder như sau: 3-->8 C B A
X0 X1 X2
Y Y Y Y Y Y Y Y
0 1 2 3 4 5 6 7
F(A,B,C)
Nếu sử dụng Deoder có ngõ ra tích cực mức thấp thì cũng cách làm tương tự như trên ta sẽ có mạch như sau: 3-->8 C B A
X0 X1 X2
Y Y Y Y Y Y Y Y
0 1 2 3 4 5 6 7
F(A,B,C)
Ta có thể có nhiều cách thực hiện hàm Boole dùng Decoder nhưng tất cả đều cho cùng kết quả.
Trang 50
Giáo Trình Điện Tử Số
Biên Soạn:Phạm Thành Danh
Là mạch có 2n ngõ vào và n ngõ ra Xét Encoder 4→ 2 X0 Y0 X1 X2
Y1
X3
X3 X2 X1 X0
Y1 Y0
0
0
0
1
0
0
0
0
1
0
0
1
0
1
0
0
1
0
1
0
0
0
1
1
Từ bảng giá trị trên ta thấy nếu đưa tín hiệu từ mạch giải mã đến mạch mã hóa thì dữ liệu sẽ đúng như trạng thái ban đầu.Từ đó người ta có thể mã hóa dữ liệu trước khi đưa lên đường tín hiệu. Sơ đồ tương đương của Encoder 4→ 2 Từ bảng giá trị trên ta có:Y0= X 2 X 0( X 3 ⊕ X 1) ;Y1= X 1X 0( X 3 ⊕ X 2) X0
Y1 X1
X2 Y0
X3
Cũng tương tự như Decoder ta cũng có Encoder có ngõ vào,ngõ ra tích cực mức cao hoặc thấp.Tùy từng trường hợp cụ thể mà ta chọn cho phù hợp.
Khi có 2 hay nhiều ngõ vào cùng ở mức tích cực thì ngõ ra có thể có thểå sẽ có 2 giá trị khác nhau , chính vì vậy người ta qui định bộ mã hóa có ưu tiên . Khi đó nếu có 2 tín hiệu cùng ở mức tích cực thì chỉ có ngõ vào có độ ưu tiên cao hơn mới cho tác động tại ngõ ra Cho Encoder như hình vẽ
Trang 51
Giáo Trình Điện Tử Số
Biên Soạn:Phạm Thành Danh
X0 Y0 X1 X2
Y1
X3
X3 X2 X1 X0
Y1 Y0
x
x
x
1
0
0
x x
1
0
0
1
x
1
0
0
1
0
1
0
0
0
1
1
Độ ưu tiên giảm dần từ X0 đến X3.Lúc đó bảng giá trị của Encoder như sau: Mạch dồn kênh hay còn gọi là MUX là mạch có 2n dữ liệu (Data),n ngõ vào điều khiển (Selects) và có một ngõ ra →
→
4-->1
AB
Y
0 0
X0
0 1
X1
1 0
X2
1 1
X3
X0 X1 X2
Y
X3 A B
MUX có 4 ngõ vào dữ liệu là X0,X1,X2,X3 và có 2 ngõ vào điều khiển là A,B. Từ bảng giá trị ta có Y= X 0 AB + X 1AB + X 2 AB + X 3 AB Sơ đồ mạch tương đương A
B
Y
X3
→
X2
X1
X0
→ Trang 52
Giáo Trình Điện Tử Số
Biên Soạn:Phạm Thành Danh
A
8-->1
B Y
X0
C
X1 X2 X3 X4 X5 Y X6 X7
A B C
0 0 0
X0
0 0 1
X1
0 1 0
X2
0 1 1
X3
1 0 0
X4
1 0 1
X5
1 1 0
X6
1 1 1
X7
Tương tự như trên ta có thể vẽ sơ đồ tương đương của MUX 8→ 1
Để ghép 2 MUX với nhau thì 2 MUX phải có Enable Ghép 2 MUX 4→ 1 thành 1 MUX 8→ 1.Thực hiện ghép như sau X0 X1 X2 X3
4-->1 X0 X1 X2 X3
MUX 1 Y
A B E
Y
X4 X5 X6 X7 C B A
4-->1 X0 X1 X2 X3
MUX 2 Y
A B E
* Bảng giá trị Trang 53
Giáo Trình Điện Tử Số
Biên Soạn:Phạm Thành Danh
A
C Y
B 0 0 0
X0
0 0 0
X1
MUX 1 hoạt động
0 0 0
X2
MUX 2 bị cấm
0 0 0
X3
0 0 0
X4
MUX 2 hoạt động
0 0 0
X5
MUX 1 bị cấm
0 0 0
X6
0 0 0
X7
Bảng giá trị này hoàn toàn tương đương như bảng giá trị của MUX 8→ 1
→ Cho hàm Boole F(A,B,C)= Σ(1,2,5,7).Dùng MUX thực hiện hàm trên Hàm có 3 biến nên ta dùng MUX 8→ 1(có n biến thì dùng MUX 2n→ 1) Bảng giá trị của hàm Boole A
B Y
C
Bảng giá trị của MUX A
B Y
C
0 0 0
0
0 0 0
X0
0 0 1
1
0 0 1
X1
0 1 0
1
0 1 0
X2
0 1 1
0
0 1 1
X3
1 0 0
0
1 0 0
X4
1 0 1
1
1 0 1
X5
1 1 0
0
1 1 0
X6
1 1 1
1
1 1 1
X7
Nhìn vào 2 bảng giá trị trên ta thấy nếu cho X0=X3=X4=X6=0 và X1=X2=X3=X7=1 thì ngõ ra của MUX chính là hàm F(A,B,C).Sơ đồ mạch thực hiện như sau
Trang 54
Giáo Trình Điện Tử Số
Biên Soạn:Phạm Thành Danh
[1] 8-->1 X0 X1 X2 X3 X4
F(A,B,C)
X5 Y X6 X7
A B C
A B C
→ Thực hiện hàm F(A,B,C)= Σ(2,5,6,7) dùng MUX 4→ 1 Trước hết ta phải nhớ bảng sau:
0
0
0
0
1
N0
1
0
N0
1
1
1
Sau đó lập bảng giá trị của hàm Boole rồi dựa vào bảng trên ta ghi lại thành bảng như bên dưới.Trong đó X0,X1,X2,X3 là các ngõ data của MUX 4→1.Các biến cao đưa vào 2 ngõ điều khiển còn biến là LSB thì thực hiện từ bảng giá trị Bảng giá trị
Trang 55
Giáo Trình Điện Tử Số
Biên Soạn:Phạm Thành Danh
B Y
A C
0 0 0
0
0 0 1
0
0 1 0
1
0 1 1
0
1 0 0
0
1 0 1
1
1 1 0
1
1 1 1
1
0
X0
C
X1
C
X2
1
X3
Sơ đồ mạch thực hiện [1] 4-->1 C
X0
A
X1
B
X2 X3
F(A,B,C) Y
A B
Xét một VD khác:Dùng MUX 8→1 thực hiện hàm Boole F(A,B,C,D)= Σ(1,2,5,6,7,9,11,15) A
B
C F(A,B,C,D)
D 0 0 0 0
0
0 0 0 1
1
0 0 1 0
1
0 0 1 1
0
0 1 0 0
0
0 1 0 1
1
0 1 1 0
1
0 1 1 1
1
1 0 0 0
0 Trang 56
D
X0
D
X1
D
X2
1
X3
Giáo Trình Điện Tử Số
Biên Soạn:Phạm Thành Danh
1 0 0 1
1
1 0 1 0
0
1 0 1 1
1
1 1 0 0
0
1 1 0 1
0
1 1 1 0
0
1 1 1 1
1
D
X4
D
X5
0
X6
D
X7
[1] 8-->1 X0 D
X1
A
X2
B
X3
C
X4
F(A,B,C,D)
X5 Y X6 X7
A B C
DEMUX là mạch tổ hợp có 1 ngõ vào n ngõ điều khiển và 2n ngõ ra.Nếu dữ liệu từ MUX đưa đến DEMUX thì dữ liệu sẽ được phục hồi đúng trạng thái ban đầu. Xét DEMUX 1 → 4
X A
Y0 Y1 Y2 Y3
B
A B
Y3 Y2 Y1 Y0
0
0
0
0
0
X
0
1
0
0
X
0
1
0
0
X
0
0
1
1
X
0
0
0
Từ bảng trên ta có Y 0 = X A B; Y 1 = XA B; Y 2 = X AB; Y 3 = XAB Sơ đồ mạch
Trang 57
Giáo Trình Điện Tử Số
Biên Soạn:Phạm Thành Danh Y0
Y1
X
Y2
Y3
A
B
Có 2 dạng : -Even parity (parrity chẵn) -Old parity (parity lẻ) Được dùng để phát hiện sai lệch trên đường truyền +Even parity:bit parity được tạo ra sao cho tổng số bit 1 là chẵn.Nếu tổng số bit 1 chẵn thì bit P=0.Tổng số bit 1 lẻ thì P=1 +Old parity: bit parity được tạo ra sao cho tổng số bit 1 là lẻ.Nếu tổng số bit 1 chẵn thì bit P=1.Tổng số bit 1 lẻ thì P=0 VD:Thiết kế hệ kiểm tra chẵn 4 bit (event parity)
A B C D
P
0
0
0 0
0
0
0
0 1
1
0
0
1 0
1
0
0
1 1
0
0
1
0 0
1
0
1
0 1
0
Trang 58
Giáo Trình Điện Tử Số
Biên Soạn:Phạm Thành Danh
0
1
1 0
0
0
1
1 1
1
1
0
0 0
1
1
0
0 1
0
1
0
1 0
0
1
0
1 1
1
1
1
0 0
0
1
1
0 1
1
1
1
1 0
1
1
1
1 1
0
Rút gọn ta được P = (C ⊕ D)( A ⊕ B) + (C ⊕ D)( A ⊕ B) Sơ đồ mạch
A B
P
C D
VD1:Thiết kế một mạch tổ hợp thực hiện việc cộng 2 số nhị phân 1 bit có nhớ.Còn gọi là mạch cộng bán phần=Haft-Adder=HA -Trước hết ta xác định số ngõ vào-ra của mạch tổ hợp:Theo đề bài thì mạch có 2 ngõ vào là 2 số nhị phân và 2 ngõ ra là tổng 2 số nhị phân và số nhớ Trang 59
Giáo Trình Điện Tử Số
Biên Soạn:Phạm Thành Danh
-Bảng giá trị A B
S C
0 0
0 0
0 1
1 0
1 0
1 0
1 1
0 1
Trong đó S(sum) là tổng 2 số nhị phân và C(carry) là số nhớ -Rút gọn ta được:S= A ⊕ B ;C=AB -Thực hiện mạch A
S
B
C
Mạch cộng 1 bit có thành phần nhớ trước đó gọi là mạch cộng toàn phần hay Full-Adder=FA Bn Sn
An
Cn
Cn-1 0
0
0
0
0
0
0
1
1
0
0
1
0
1
0
0
1
1
0
1
1
0
0
1
0
1
0
1
0
1
1
1
0
0
1
1
1
1
1
1
S n = C n −1 ⊕ ( An ⊕ Bn ); C n = An Bn + Bn C n −1 + An C n −1
Sơ đồ mạch
Trang 60
Giáo Trình Điện Tử Số
Biên Soạn:Phạm Thành Danh
Sn An Bn C n-1
Cn
VD 2:Thiết kế mạch tổ hợp thực hiện việc nhân 2 số nhị phân 2 bit -Mạch có 4 ngõ vào 4 ngõ ra vì tích của 2 số nhị phân khi nhân nhau lớn nhất là 1001. - Bảng giá trị A1 B1 A2 B2
Y3 Y2 Y1 Y0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
1
0
0
0
0
0
0
0
1
1
0
0
0
0
0
1
0
0
0
0
0
0
0
1
0
1
0
0
0
1
0
1
1
0
0
0
1
0
0
1
1
1
0
0
1
1
1
0
0
0
0
0
0
0
1
0
0
1
0
0
1
0
1
0
1
0
0
1
0
0
1
0
1
1
0
1
1
0
1
1
0
0
0
0
0
0
1
1
0
1
0
0
1
1
1
1
1
0
0
1
1
0
1
1
1
1
1
0
0
1
Rút gọn ta được Trang 61
Giáo Trình Điện Tử Số
Biên Soạn:Phạm Thành Danh Y3=A1B1A2B2;Y2=A1A2( B1 + B 2 );Y1= A1B1A2 + A1B1B 2 + A1A2B 2 + B1A2 B 2
Y0=B1B2. -Thực hiện mạch A1 Y0
B1 Y1
A2 Y2
B2 Y3
VD3:So sánh 2 số nhị phân 2 bit -Số ngõ vào là 4 và ngõ ra là 3 ;Y0 (2 số bằng nhau);Y1 (số thứ 1 lớn hơn);Y2 (số thứ nhất nhỏ hơn) -Bảng giá trị A1 B1 A2 B2
Y2 Y1 Y0
0
0
0
0
0
0
1
0
0
0
1
1
0
0
0
0
1
0
1
0
0
0
0
1
1
1
0
0
0
1
0
0
0
1
0
0
1
0
1
0
0
1
0
1
1
0
1
0
0
0
1
1
1
1
0
0
1
0
0
0
0
1
0
1
0
0
1
0
1
0
1
0
1
0
0
0
1
Trang 62
Giáo Trình Điện Tử Số
Biên Soạn:Phạm Thành Danh
1
0
1
1
1
0
0
1
1
0
0
0
1
0
1
1
0
1
0
1
0
1
1
1
0
1
0
0
1
1
1
1
0
0
1
-Rút gọn:Từ bảng giá trị trên ta có Y0=Σ(0,5,10,15);Y1=Σ(4,8,9,12,13);Y2=Σ(1,2,3,6,7,11,14) -Thực hiện mạch.Có nhiều cách thực hiện ở đây ta sử dụng Decoder thực hiện 4-->16 D C B A
X0 X1 X2 X3
Y 0 Y 1 Y 2 Y 3 Y 4 Y 5 Y 6 Y 7 Y 8 Y 9 Y 10 Y 11 Y 12 Y 13 Y 14 Y 15
Y0
Y1
Y2
Trang 63
Giáo Trình Điện Tử Số
Biên Soạn:Phạm Thành Danh
1.Thực hiện ghép 2 Decoder 38 thành 416 2.Thực hiện ghép 4 Decoder 24 thành 416 3.Cho hàm F(A,B,C,D)= ∑ (0,3,4,7,13,14,15) a.Thực hiện hàm Boole bằng cổng Logic b.Thực hiện hàm Boole bằng Decoder c.Thực hiện hàm Boole bằng MUX d.Thực hiện hàm Boole bằng MUX 81 4.Cho hàm F(A,B,C,D)= ∏ (0,3,4,6,9,10,15) a.Thực hiện hàm Boole bằng cổng Logic b.Thực hiện hàm Boole bằng Decoder c.Thực hiện hàm Boole bằng MUX d.Thực hiện hàm Boole bằng MUX 81 5.Thiết kế mạch tổ hợp sao cho mã vào là BCD và mã ra là LED 7 đoạn
6.Thiết kế mạch tổ hợp sao cho khi cho vào mã nhị phân 4 bit .Ngõ ra sẽ ở mức 0 khi số thập phân tương ứng của ngõ vào nhỏ hơn 10 7.Thiết kế mạch so sánh 2 số nhị phân 3 bit.Dùng LED báo hiệu.
Trang 64
Giáo Trình Điện Tử Số
Biên Soạn:Phạm Thành Danh
Mạch tuần tự nhận thông tin từ các ngõ vào và kết hợp vơí các phần tư ûnhớ để xác định trạng thái của ngõ ra. Như vậy mạch tuần tự có các đầu ra không chỉ phụ thuộc vào đầu vào hiện hành mà còn phụ thuộc vào một chuỗi các giá trị đầu vào ở quá khứ.
Mạch chốt là mạch tuần tự sẽ xét các ngõ vào một cách liên tục và thay đổi các ngõ ra của nó ở bất cứ lúc nào.
SET /Q
Q CLEAR
Bảng giá trị SET
CLEAR
OUTPUT
0
0
Không đổi
0
1
Q=0
1
0
Q=1
1
1
Cấm
Trang 65
Giáo Trình Điện Tử Số
Biên Soạn:Phạm Thành Danh
SET Q
/Q CLEAR
Bảng giá trị SET
CLEAR
OUTPUT
0
0
Cấm
0
1
Q=1
1
0
Q=0
1
1
Không đổi
Flip-Flop là một mạch tuần tự thông thường lấy mẫu các ngõ vào và thay đổi các ngõ ra của chúng ở những thời điểm xác định bởi tín hiệu đồng hồ (xung clock). Người ta phân loại FF dựa vào tín hiệu điều khiển :FF điều khiển (tích cực) cạnh lên và FF điều khiển (tích cực) cạnh xuống.
Ký hiệu D
Q
D
CLK
Q
CLK /Q
(FF tích cực cạnh lên)
/Q
(FF tích cực cạnh xuống)
Bảng giá trị :
Dn Qn+1 0
0
1
1 Dn là trạng thái của tín hiệu vào ở xung thứ n
Qn+1 là trạng thái của tín hiệu ra ở xung thứ n+1 Trang 66
Giáo Trình Điện Tử Số
Biên Soạn:Phạm Thành Danh
Một cách tổng quát: Qn+1=Dn Biểu diễn dạng tín hiệu ngõ ra theo tín hiệu vào và xung Clock.Giả sử ban đầu Q0=0.FF tích cực cạnh xuống. CK D Q
Biểu diễn dạng tín hiệu ngõ ra theo tín hiệu vào và xung Clock.Giả sử ban đầu Q0=0.FF tích cực cạnh lên CK D Q
T
Q
T
CLK
Q
CLK /Q
(FF tích cực cạnh lên)
/Q
(FF tích cực cạnh xuống)
Bảng giá trị :
Tn
Qn+1
0
Qn
1
Qn
Tn là trạng thái của tín hiệu vào ở xung thứ n Qn+1 là trạng thái của tín hiệu ra ở xung thứ n+1 Biểu diễn dạng tín hiệu ngõ ra theo tín hiệu vào và xung Clock.Giả sử ban đầu Q0=0.FF tích cực cạnh xuống.
CK T Q
Trang 67
Giáo Trình Điện Tử Số
Biên Soạn:Phạm Thành Danh
Biểu diễn dạng tín hiệu ngõ ra theo tín hiệu vào và xung Clock.Giả sử ban đầu Q0=1.FF tích cực cạnh lên.
CK T
Q
J
Q
CK
J
Q
CK
K
Q
K
Q
Bảng giá trị
Jn Kn
Qn+1
0
0
Qn
0
1
0
1
0
1
1
1
Qn
Biểu diễn dạng tín hiệu ngõ ra theo tín hiệu vào và xung Clock.Giả sử ban đầu Q0=0.FF tích cực cạnh xuống.
CK J K Q
Trang 68
Giáo Trình Điện Tử Số
Biên Soạn:Phạm Thành Danh
Biểu diễn dạng tín hiệu ngõ ra theo tín hiệu vào và xung Clock.Giả sử ban đầu Q0=0.FF tích cực cạnh lên.
CK J K Q
S
Q
S
CK
Q
CK
R
Q
R
Q
Bảng giá trị
Sn Rn
Qn+1
0
0
Qn
0
1
0
1
0
1
1
1
x
x:Trạng thái cấm không dùng • J_K FF sẽ tương đương T- FF khi hai ngõ vào J= K = 1
[1]
J
Q
CK K
Q
• J_K FF sẽ tương đương D-FF khi hai ngõ vào J=và K nối với nhau qua cổng đảo.
Trang 69
Giáo Trình Điện Tử Số
Biên Soạn:Phạm Thành Danh
D
J
CK
Q
CK Q K
Ngoài ra FF còn có các ngõ vào điều khiển là Preset(Pr) và Clear (Cl).Ký hiệu
J
Pr
Pr
thường như sau
Q
J
CK
Q
CK K
Q Cl
Q Cl
K
(FF có Pr và Cl tích cực mức cao) (FF có Pr và Cl tích cực mức thấp) Khi Pr và Cl tác động thì ngõ ra sẽ ở mức 0 hoặc 1 mà không phụ thuộc vào tín hiệu ở ngõ vào +Trường hợp Pr và Cl tích cực mức cao -Khi Pr=Cl=0 thì FF có ngõ ra phụ thuộc vào ngõ vào và xung CK -Khi Pr=1 và Cl=0 thì FF có ngõ ra Q=1 -Khi Pr=0 và Cl=1 thì FF có ngõ ra Q=0 -Khi Pr=Cl=1 thì FF có ngõ ra không xác định được +Trường hợp Pr và Cl tích cực mức thấp -Khi Pr=Cl=1 thì FF có ngõ ra phụ thuộc vào ngõ vào và xung CK -Khi Pr=0 và Cl=1 thì FF có ngõ ra Q=1 -Khi Pr=1 và Cl=0 thì FF có ngõ ra Q=0 -Khi Pr=Cl=1 thì FF có ngõ ra không xác định được
Người ta phân loại mạch đếm theo nhiều kiểu khác nhau như mạch đếm nối tiếp (không đồng bộ)đếm song song (đồng bộ),mạch đếm lên,mạch đếm xuống,mạch đếm nhập được data,mạch đếm không nhập được data…trong chương này ta sẽ tìm hiểu một số mạch đếm khác nhau. Trang 70
Giáo Trình Điện Tử Số
Biên Soạn:Phạm Thành Danh
Trong chương này có một khái niệm gọi là
: đó là số trạng thái
khác nhau trong một chu kỳ đếm ( không lặp lại giá trị trong một chu kỳ đếm ).
Phương pháp thiết kế -MOD 2n sẽ dùng n JKFF -Đếm nối tiếp thì xung CK của FF sau được lấy từ ngõ ra Q của FF trước -Các ngõ J&K nối chung và nối với mức Logic 1.Số đếm được lấy từ các ngõ ra Q của các JKFF (dạng BCD). Ví dụ1: Thiết kế mạch đếm có MOD=4 dùng JKFF tích cực cạnh xuống.Giả sử ban đầu các ngõ ra bằng 0. -MOD=4=22 do đó dùng 2 JKFF -Sơ đồ thực hiện như hình vẽ Q0 [1]
Q1 [1]
J CK
Q
J
CK K
Q
CK Q
K
Q
Tín hiệu ra được biễu diễn như sau
CK Q0 Q1
0
1
0
1
0
1
0
0
1
1
0
0
Nhìn vào kết quả trên ta thấy dữ liệu ra là :00,01,10,11,00,01…Nếu ta ta sử dụng mạch giải mã chuyển đổi từ BCD sang LED 7 đoạn ta sẽ thấy số hiển thị lần lượt là 0,1,2,3,0,1… Ví dụ2: Thiết kế mạch đếm có MOD=8 dùng JKFF tích cực cạnh xuống.Giả sử ban đầu các ngõ ra bằng 0. -MOD=8=23 do đó dùng 3 JKFF -Sơ đồ thực hiện như hình vẽ
Trang 71
Giáo Trình Điện Tử Số
Biên Soạn:Phạm Thành Danh Q0
[1]
Q1
Q2
[1]
J CK
[1]
Q
J
CK K
Q
J
CK
CK
K
Q
Q
K
Q
Q
Tín hiệu ra được biễu diễn như sau
CK Q0 Q1 Q2
0
1
0
1
0
1
0
1
0
1
0
0
1
1
0
0
1
1
0
0
0
0
0
0
1
1
1
1
0
0
Trường hợp mạch đếm nối tiếp nhưng đếm giảm dần thì cách thiết kế tương tự như trên nhưng xung CK của FF sau được lấy từ ngõ Q của FF trước Tóm lại
Qn
Để thiết kế mạch đếm loại này bắt buột ta phải dùng loại JKFF có Pr và Cl Ví dụ1: Thiết kế mạch đếm đếm lên dùng JKFF tích cực cạnh lên có Pr và Cl tích cực mức cao đếm chuỗi số sau:0,1,2,3,4,5,0,1,2,.. và cứ thế lặp lại Ta thấy rằng trong một chu kỳ đếm xuất hiện 6 trạng thái khác nhau.Vì vậy mạch đếm có MOD=6 tức là MOD lẻ.Do 22<6<23 nên ta dùng 3JKFF.Nếu như mắc theo phương pháp trên thì mạch sẽ đếm từ 0 đến 7 sau đó sẽ quay trở lại chu kỳ mới.Trong trường hợp này ta lại không muốn điều đó xảy ra mà ta muốn khi đếm đến 5 mạch tự động quay về 0.Trong JKFF có một ngõ làm cho FF trở về 0 lập tức đó là chân Cl.Như vậy thay vì khi đếm đến 5 mạch sẽ tiếp tục đếm lên 6 ,tại thời điểm này ta sẽ tác động vào chân Cl để mạch tự động trở về 0.Phương pháp tốt nhất là ta dùng cổng AND hoặc cổng NAND Từ đó ta có thể đưa ra sơ đồ mạch cho ví dụ trên như sau:
Trang 72
Giáo Trình Điện Tử Số
Biên Soạn:Phạm Thành Danh
Q0
J
Q
J
CK
Pr
[1]
Q
J
CK K
Q
K
Cl
Q Cl
K
Q
CK Q Cl
CK
Q2
Pr
[1]
Pr
[1]
Q1
* Chân Pr ta không tác động đến nên khi thực hiện mạch ta nên nối các chân này xuống mức logic 0 (GND) Tuy nhiên ta có thể đưa ra sơ đồ khác để thực hiện mạch trên như sau Q0
J
Q
Q
CK Q Cl
K
J
Q
CK
K
Q
K
Q Cl
CK
J
Pr
[1]
Cl
CK
Q2
Pr
[1]
Pr
[1]
Q1
Ta có được sơ đồ này vì lúc đó ngõ ra Q0 =0 nên ta cũng không cần tác động vào chân Cl của FF đầu tiên Ví dụ 2: Thiết kế mạch đếm đếm lên dùng JKFF tích cực cạnh xuống có Pr và Cl tích cực mức thấp đếm chuỗi số sau:0,1,2,3,4,5,6,0,1,2,.. và cứ thế lặp lại Tương tự như trên ta có sơ đồ thực mạch như sau:
Trang 73
Giáo Trình Điện Tử Số
Biên Soạn:Phạm Thành Danh
Q0
J
Q
Q
J
CK Q
CK
K
Q
Cl
K
Q
K
Q
Cl
CK
J
Pr
[1]
Cl
CK
Q2
Pr
[1]
Pr
[1]
Q1
Mạch đếm song song thường thiết kế phức tạp hơn mạch đếm nối tiếp rất nhiều.tuy nhiên có một đặc điểm mà mạch đếm nối tiếp không thể đáp ứng được đó là đếm chuỗi đếm bất kỳ không theo trình tự nào cả. Ví dụ như ta muốn đếm chuỗi số 0,2,4,6,8… thì trong trường hợp này ta không thể sử dụng mạch đếm nối tiếp được mà phải sử dụng mạch đếm song song.Một chuỗi đếm nào đó mà dùng phương pháp nối tiếp được thì bao giờ ta cũng có thể dùng phương pháp song song.Tuy nhiên điều này không nên vì thiết kế theo kiểu nối tiếp thì đơn giản hơn nhiều. Xét một ví dụ sau:Thiết kế mạch đếm MOD=4 dùng phương pháp đếm song song Trước hết ta phải nhớ bảng tra sau: Qn
Qn+1
Jn
Kn
0
0
0
X
0
1
1
X
1
0
X
1
1
1
X
0
X: tùy định Bảng này có được là do ta suy ra từ bảng giá trị của JKFF
Jn Kn
Qn+1
0
Qn
0
Trang 74
Giáo Trình Điện Tử Số
Biên Soạn:Phạm Thành Danh
0
1
0
1
0
1
1
1
Qn
Tiếp theo ta lập bảng giá trị
Xung
Q1 Q0
Q1 Q0
J0 K0
J1 K1
(hiện tại)
(kế tiếp)
1
00
01
1X
0X
2
01
10
X1
1X
3
10
11
1X
X0
4
11
00
X1
X1
Dùng bìa K rút gọn các hàm J0,K0, J1, K1 theo biến Q0,Q1(hiện tại) ta được J0=K0=1;J1=K1=Q0 Mạch đếm song song thì các xung CK của các FF được nối chung với nhau,còn các chân J,K thì được nối theo kết quả rút gọn của bìa K Trong bài ví dụ này ta sẽ có sơ đồ thực hiện mạch như sau: Q0
Q1
[1]
J CK
Q
J
CK K
Q
CK Q
K
Q
Ta xét một ví dụ khác phức tạp hơn là thiết kế mạch đếm đếm 0,2,4,6,0…Giả sử rằng nếu số đếm đầu tiên xuất hiện khi cấp điện cho mạch không nằm trong chuỗi số trên thì số kế tiếp sẽ là 0. Bảng giá trị: Xung
Q2 Q1 Q 0
Q2 Q1 Q0 J0 K0
(hiện tại)
(kế tiếp) Trang 75
J1 K1
J2 K2
Giáo Trình Điện Tử Số
Biên Soạn:Phạm Thành Danh
1
000
010
0X
1X
0X
2
001
000
X1
0X
0X
3
010
100
0X
X1
1X
4
011
000
X1
X1
0X
5
100
110
0X
1X
X0
6
101
000
X1
0X
X1
7
110
000
0X
X1
X1
8
111
000
X1
X1
X1
Dùng bìa K rút gọn ta được J0=K0=Q0;J1=K1=Q1+ Q0 ;J2=K2=Q0Q2+Q1 Q0 Sơ đồ mạch Q0
J CK
Q1
Q
J
CK K
Q2
Q
J
CK Q
K
Q
CK Q
K
Q
Tùy theo cách rút gọn ta có thể đưa ra một sơ đồ khác.Đây chỉ là 1 cách giải.Nhưng kết quả cuối cùng chuỗi số cho ra là giống nhau. Ví dụ:xét mạch đếm bất kỳ như sơ đồ sau: 000
010 100
101 011
110
001
111
Số JKFF cần là 3 Bảng giá trị: Xung
Q2 Q1 Q 0
Q2 Q1 Q0 J0 K0
(hiện tại)
(kế tiếp) Trang 76
J1 K1
J2 K2
Giáo Trình Điện Tử Số
Sau
Biên Soạn:Phạm Thành Danh
1
000
010
0X
1X
0X
2
001
111
X0
1X
1X
3
010
101
1X
X1
1X
4
011
100
X1
X1
1X
5
100
000
0X
0X
X1
6
101
110
X1
1X
X0
7
110
001
1X
X1
X1
8
111
000
X0
X1
X1
khi
rút
gọn
ta
được
J0=Q1;K0= Q2 Q1+Q2 Q1 =Q2⊕Q1;J1=Q0+ Q2 ;K1=1;J2=Q0+Q2;K2= Q0 +Q1 Sơ đồ mạch thực hiện
Q0
Q1
Q2
[1] J CK
Q
J
CK K
Q
J
CK Q
K
Q
CK Q
K
Q
Q1 /Q0 Q2 Q1
Mạch đếm song song đếm lên-xuống Xét
mạch
đếm
đếm
lên-xuống
MOD
8
có
chuỗi
số
đếm
là
0,1,2,3,4,5,6,7,0,1…Để thiết kế mạch này ta kết hợp phương pháp thiết kế mạch đếm lên và xuống kiểu song song.Sử dụng các linh kiện một cách tối ưu ta được sơ đồ mạch như sau:
Trang 77
Giáo Trình Điện Tử Số
Biên Soạn:Phạm Thành Danh
Counter Up Q0
/Q0
Counter Down [1] J CK
Q
Q0
J
CK
Q
J
CK
K
Q
/Q0
Q
CK
K
Q
K
Q
Khi Counter Up tác động (mức cao) thì mạch đếm lên Khi Counter Down tác động (mức cao) thì mạch đếm xuống Chuỗi số đếm lấy từ ngõ Q0,Q1,Q2. Một ứng dụng rất quan trọng của FF là làm mạch chia tần .Ta có thể dùng DFF hoặc dùng JKFF Mạch chia tần sẽ có tần số bằng tần số của xung CK chia cho số MOD của mạch đó Vi dụ :Cho một mạch như sau: Q0
D CK
Q
Q1
D
CLK
Q
CLK Q
Q2
D
Q
CLK Q
Q
Nếu lấy từ ngõ ra Q0 thì tần số sẽ được chia đôi.Nếu lấy từ Q1 thì tần số sẽ bằng nữa Q0 tức bằng một phần tư CK.Nếu lấy từ Q2 thì tần số bằng một phần tám CK. Dạng tín hiệu được biểu diễn như sau: Trang 78
Giáo Trình Điện Tử Số
Biên Soạn:Phạm Thành Danh
CK
Q0
Q1
Q2
Trang 79
Giáo Trình Điện Tử Số
Biên Soạn:Phạm Thành Danh
Sơ đồ mạch như sau: Q0
[1]
[1]
J CK
Q1
Q
CK K
Q2
[1]
J
Q
CK Q
K
J
Q
CK Q
K
Q
Mạch này hoàn toàn giống như mạch trên nhưng dùng JKFF
Có 2 cách nhập data vào FF:nhập đồng bộ và nhập không đồng bộ.
A
Pr
Load
Q J CK Q Cl
K
Khi ta tác động vào Pr và Cl Để nhập A vào FF -Xóa FF bằng cách cho xung Cl tác động.Trong khi tác động Cl thì cho xung Load=0,lúc đó Pr=1.Ngõ ra Q=0,tín hiệu A cách li với FF -Khi tác động xung Load (Load=1)không tác động Clear thì Pr= A +Nếu A=0 thì Pr=1 lúc này FF có ngõ ra Q=0 Do đó Q=A hay nói cách khác A được nhập vào FF.
Trang 80
Giáo Trình Điện Tử Số A
Biên Soạn:Phạm Thành Danh
B
Load 1
Load 2
1
2
3
Q R
CK
CK Q S
Khi tác động vào xung CK Để nhập A thì cổng 1 mở và cổng 2 đóng Load 1=1;Load 2=0,ngõ ra (3)= A ;R= A và S=A +Nếu A=0 thì R=1 và S=0 ;khi có xung CK thì Q=0 +Nếu A=1 thì R=0 và S=1 ;khi có xung CK thì Q=1 Do đó A được nhập vào FF khi có xung CK
Xét hệ ghi dịch 4 bit dịch phải -Load:Xung nhập data -Clear:xung xóa -DSR:Data Shift Right -Các SR được nối thành DFF
Trang 81
Giáo Trình Điện Tử Số
Biên Soạn:Phạm Thành Danh
Load
A
D
C
B
Q1
Q2
Q3
Pr
Pr
Pr
Pr
Q0
DSR
Q
Q Q
Q
S
S
S
S
CK CK CK
CK
Q
CK
Q Q
Cl
R
Cl
Cl
R
Clear
+Khi tác động vào Cl thì Q3Q2Q1Q0=0000 +Khi tác động vào Load thì Q3Q2Q1Q0=DCBA +Thực hiện dời phải Xung
Q3Q2Q1Q0
Q3Q2Q1Q0
(hiện tại)
(kế tiếp)
1
CDBA
DSR1CDB
2
DSR1CDB
DSR2DSR1CD
3
DSR2DSR1CD
DSR3DSR2DSR1C
4
………. ……..
Xét trường hợp Q3 nối với DSR Q3Q2Q1Q0
Q3Q2Q1Q0
(hiện tại)
(kế tiếp)
1
CDBA
ACDB
2
ACDB
BACD
3
BACD
DBAC
4
DBAC
CDBA
5
CDBA
ACDB
Xung
R
R Cl
Q
Trong trường hợp này ta có mạch đếm vòng *Xét trường hợp Q 3 nối với DSR Gọi là mạch đếm vòng xoắn.Giả sử DCBA=0000 Trang 82
Giáo Trình Điện Tử Số
Biên Soạn:Phạm Thành Danh
Xung
Q3Q2Q1Q0
1
0000
2
1000
3
1100
4
1110
5
1111
6
0111
7
0011
8
0001
9
0000
Ta có thể dùng mạch này cho hệ thống đèn nhấp nháy thường thấy ở bên ngoài.Tốc
độ
nhanh
chậm
phụ
Trang 83
thuộc
vào
xung
CK.
Giáo Trình Điện Tử Số
Biên Soạn:Phạm Thành Danh
1 Thiết kế mạch đếm, đếm lên MOD 13 theo 2 phương pháp song song và nối tiếp. 2.Thiết kế mạch đổng hồ số hiển thị giờ phút giây. 3.Thiết kế mạch sao cho tần số vào là 32.768Hz và tần số ra là 1Hz. 4.Thiết kế mạch đo chu kỳ –tần số . 5.Thiết kế mạch có chuỗi số đếm như sau:1,3,5,7,9,1,3…Nếu số ban đầu không nằm trong chuỗi số đếm thì số tiếp theo bằng 0. 6.Thiết kế mạch đếm, đếm xuống MOD 6 theo 2 phương pháp song song và nối tiếp. 7.Cho mạch như hình vẽ.Xác định mạch đếm loại gì,MOD là bao nhiêu Q0
Q
J
Q
CK
K Cl
Q
J
Q
CK
K
Q Cl
CK
Pr
[1]
Trang 84
K
Q Cl
J CK
Q2
Pr
[1]
Pr
[1]
Q1