85

Giáo Trình Điện Tử Số Biên Soạn:Phạm Thành Danh li/Tai_lieu/Tai_lieu_ly_moi_1/DIEN_TU/Dien_tu_so...Giáo Trình Điện Tử Số Biên Soạn:Phạm Thành Danh Trang

  • Upload
    others

  • View
    9

  • Download
    0

Embed Size (px)

Citation preview

Giáo Trình Điện Tử Số Biên Soạn:Phạm Thành Danh

Trang 1

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 :

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 ( ) và số có ý

nghĩa thấp nhất (số có trọng số nhỏ nhất) ký hiệu là LSB ( )

Ví d� :

001 [2] MSD :

t

m

t

t

t

n

t

t ACACG ′

−=′

=

×+×= ∑∑10

Giáo Trình Điện Tử Số Biên Soạn:Phạm Thành Danh

Trang 2

99 [10] LSD :

• Ký tự số :

• Cơ số :

Ví d� : Vị trí

3 2 1 0

[10] = .103 + .102 + .101 + .100

= 1000 + 900 + 90 + 9

0 -1 -2

[10] 100 + 10-1 + 10-2

= 1,00 + 0,2 + 0,05

• Ký tự số :

• Cơ số :

Mỗi con số trong số nhị phân (0 hoặc 1) đưực gọi là một (viết tắt của 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 + 4 + 0 + 1 = 21[10]

(Số nhị phân trên có 5 bit)

1 0 -1 -2 -3

Giáo Trình Điện Tử Số Biên Soạn:Phạm Thành Danh

Trang 3

[2] 21 + 20 + 2-1 + 2-2 + 2-3

= 2 + 1 + 0,5 + 0 + 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] = .81 + .80 = 32 + 6 = 38[10]

0 -1 -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

[16] = .161 + .160 = 46[10] 3 2 1 0 -1

[16] = .163 + .162 + .161 + .160 + .16-1

= 0 + 256 + 32 + 12 + 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).

Giáo Trình Điện Tử Số Biên Soạn:Phạm Thành Danh

Trang 4

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 đ� bn 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] [16] [2] [16]

2 D C A F E D A

Giáo Trình Điện Tử Số Biên Soạn:Phạm Thành Danh

Trang 5

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.

Giáo Trình Điện Tử Số Biên Soạn:Phạm Thành Danh

Trang 6

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] = [2] [8] [2]

011 100 101 001 011 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à :

Giáo Trình Điện Tử Số Biên Soạn:Phạm Thành Danh

Trang 7

(Các số dư được lấy theo thứ tự từ dưới lên)

Ví d� 1 :

[10] = [2] [10] = [2]

64 2 35 2

32 2 17 2 16 2 8 2 8 2 4 2 4 2 2 2 2 2 1 2 1 2 = � � � = [2]

Ví du ï2 :

[10] 16 [16] [10] 16 = [16]

124 16 26 16 16 16 0 0 Ví d� 3 :

[10] 8 [8] [10] 8 = 3717[8]33 8 249 8

4 8 31 8 0 3 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.

. . . . . .

N[2] = ni ni-1 … n2 n1 n0

Giáo Trình Điện Tử Số Biên Soạn:Phạm Thành Danh

Trang 8

- 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à :

Ví d� 1 : L[10] = 0.6875 ⇒ L[2]

_ 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

⇒⇒⇒⇒ � � �Ví d� 2 : L[10] = 0.6875 ⇒ L[8]

_ 0.6875 x 8 = 5.5 (L’) ⇒ d1 = 5; L1 = 0.5

_ 0.5 x 8 = 4.0(L1’) ⇒ d2 = 4; L2 = 0

⇒⇒⇒⇒ � � �Ví d� 3 : L[10] = 0.6875 ⇒ L[16]

_ 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 1010110 1001010 + 001 + 1000101 + 1010010

100111 10011011 10011100

L[2] = d1 d2 d3 d4 … dk

Giáo Trình Điện Tử Số Biên Soạn:Phạm Thành Danh

Trang 9

Nguyên tắc : 0 – 0 = 0

0 – 1 = 1 (borrow)

1 – 0 = 1

1 –1 = 0

Ví d� :

1111 1000

- 0110 - 0011 1001 0101

Nguyên tắc : 0 x 0 = 0

0 x 1 = 0

1 x 0 = 0

1 x 1 = 1

Ví d� :

1 0 1 0 1 0 0 0 1 x 1 0 1 x 1 0 0 0 1 0 1 0 1 0 0 0 1 0 0 0 0 0 0 0 1 0 1 0

1 1 0 0 1 0

Ví d� : 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

- 0 0 1 0 0 - 1 1 0 0 1

1010 101 111111 110 - 101 10 - 110000 1010

00 001110

Giáo Trình Điện Tử Số Biên Soạn:Phạm Thành Danh

Trang 10

- 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 (D) 1 9 9 9 (D)

0 0 0 1 0 0 1 0 0 0 0 0(BCD) 0 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1(BCD)

L�u ý: 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� :

0 0 1 0 1 0 0 0 0 1 1 1 0 1 0 1 1 1 0 0 0 1 0 1

2 8 7 5 5

Giáo Trình Điện Tử Số Biên Soạn:Phạm Thành Danh

Trang 11

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� :

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� :

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 :

Để đơ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� :

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)

10000101* →(Quaù3)

11001001* →(Quaù3)

10110101* →6) (Quaù

11111001* →6) (Quaù

01100100* →(Gray)

iB1iBiG ⊕+

=

Giáo Trình Điện Tử Số Biên Soạn:Phạm Thành Danh

Trang 12

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

Giáo Trình Điện Tử Số Biên Soạn:Phạm Thành Danh

Trang 13

:

0 0 0 0 0 0 0 0 0 0 1 1 0 1 1 0 0 0 0 0

0 0 0 1 0 0 0 1 0 1 0 0 0 1 1 1 0 0 0 1

0 0 1 0 0 0 1 0 0 1 0 1 1 0 0 0 0 0 1 1

0 0 1 1 0 0 1 1 0 1 1 0 1 0 0 1 0 0 1 0

0 1 0 0 0 1 0 0 0 1 1 1 1 0 1 0 0 1 1 0

0 1 0 1 0 1 0 1 1 0 0 0 1 0 1 1 0 1 1 1

0 1 1 0 0 1 1 0 1 0 0 1 1 1 0 0 0 1 0 1

0 1 1 1 0 1 1 1 1 0 1 0 1 1 0 1 0 1 0 0

1 0 0 0 1 0 0 0 1 0 1 1 1 1 1 0 1 1 0 0

1 0 0 1 1 0 0 1 1 1 0 0 1 1 1 1 1 1 0 1

1 0 1 0 “ 1 1 0 1 0 0 0 0 1 1 1 1

1 0 1 1 “ 1 1 1 0 0 0 0 1 1 1 1 0

1 1 0 0 “ 1 1 1 1 0 0 1 0 1 0 1 0

1 1 0 1 “ 0 0 0 0 0 0 1 1 1 0 1 1

1 1 1 0 “ 0 0 0 1 0 1 0 0 1 0 0 1

1 1 1 1 “ 0 0 1 0 0 1 0 1 1 0 0 0

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 để chỉ

số dương;bit này là một để 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 n -1 – N (với r là

cơ số).

Giáo Trình Điện Tử Số Biên Soạn:Phạm Thành Danh

Trang 14

Cho số N = 1010� � � (r = 2; n = 4) rn = 2 4 = 10000.

rn – 1 - N = 10000 – 1 – 1010 = 1111 – 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� � � (r = 8; n = 3) rn = 8 3 = 512=1000� � �

rn – 1 - N = 1000 – 1 – 234 = 543� � � =355

Cho số N = 15249� � � � (r = 10; n = 5) rn = 10 5 = 100000. rn– 1 - N = 100000 – 1 – 15249 = 99999 – 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

Số bù 2 được định nghĩa cho một số N có n số sẽ bằng : r n – N (với r là cơ

số). Từ định nghĩa trên ta có số bù 2 chính là số bù 1 cộng 1.

Ví d� :

8475015249( →Buø9)

18645(

→Buø15)

355234( → Buø7)

01011010( →Buø1)

Giáo Trình Điện Tử Số Biên Soạn:Phạm Thành Danh

Trang 15

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 e.7FF

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

Giáo Trình Điện Tử Số Biên Soạn:Phạm Thành Danh

Trang 16

Đạ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

Giáo Trình Điện Tử Số Biên Soạn:Phạm Thành Danh

Trang 17

0

0

1

1

0

1

0

1

0

1

1

1

b) Phép nhân :

0

0

1

1

0

1

0

1

0

0

0

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

Giáo Trình Điện Tử Số Biên Soạn:Phạm Thành Danh

Trang 18

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: 0. =xx

Công thức 7-2: 1. =+ xx

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: xx = g) Định lý De_Morgan :

Công thức 13-1: yxyx .=+

Công thức 13-2: yxyx +=.

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

Giáo Trình Điện Tử Số Biên Soạn:Phạm Thành Danh

Trang 19

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: yxyx .=+

Công thức 13-2: yxyx +=.

Ví d� 2 : Chứng minh định lý De_Morgan

Giải :

* Công thức 13-1:

x y x . y yx. x y x+ y

Giáo Trình Điện Tử Số Biên Soạn:Phạm Thành Danh

Trang 20

0 0 0 1 1

0 1 0 1 0

1 0 0 0 1

1 1 1 0 0

* Công thức 13-2 :

x y x + y yx + x y yx.

0 0 0 1 1

0 1 1 1 0

1 0 1 0 1

1 1 1 0 0

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ó :

_ Cho một hàm Boole 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ố.

12 thöùc Coâng x x =

C . B) (A F 1nguyeân nLuaät hoaø += →

Giáo Trình Điện Tử Số Biên Soạn:Phạm Thành Danh

Trang 21

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� :

C . B . A Z' C B A Z*

0) (C . A B . A Z' 1) . C (A . B) (A

2ngaãu) (Ñoái

2

1ngaãu) (Ñoái

= →++=

++= →++=1* Z

Giáo Trình Điện Tử Số Biên Soạn:Phạm Thành Danh

Trang 22

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� :

Giáo Trình Điện Tử Số Biên Soạn:Phạm Thành Danh

Trang 23

(Dạng chuẩn 1)

(Dạng chuẩn 2)

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 00 01 11 10 0 1

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ố.

: (tổng các Mintern - tích chuẩn)

:

C) (B )B A(

7) 6, 4, (0, M C) B, (A,F

y z x zw

14) 13, 12, 9, 8, 6, 5, 4, 2, 1, (0, m z) y, x,(w,F

i2

i1

++=

Π=Π=

++=

== ∑∑

FA

B

C

Giáo Trình Điện Tử Số Biên Soạn:Phạm Thành Danh

Trang 24

• 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 zyx = m0 0 0

0 0 1 zyx = m1 1 1

0 1 0 zyx = m2 1 0

0 1 1 yzx = m3 1 0

1 0 0 zyx = m4 0 1

1 0 1 zyx = m5 0 1

1 1 0 zxy = 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 = zyx + zyx + yzx

Giáo Trình Điện Tử Số Biên Soạn:Phạm Thành Danh

Trang 25

= m1 + m2 + m3

= ∑ (1, 2, 3)

F2 = zyx + zyx + zyx + 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”.

Giáo Trình Điện Tử Số Biên Soạn:Phạm Thành Danh

Trang 26

_ 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 :

Ch�ng minh :

Giả sử cho minterm m0 = zyx . Biến đổi m0 ta có :

Ký hiệu

A X=A

Bảng giá trị (Truth table)

A X

0 0

1 1

mi = Mi với i = 0 … 2n-1

0000nguyeân nLuaät hoaø

0De_Morgan lyù Ñònh

0m buøLaáy

M m Hay M z y x m

z y x m z . y . x m 0

==++= →

++= →= →

Giáo Trình Điện Tử Số Biên Soạn:Phạm Thành Danh

Trang 27

Ký hiệu

A

Bảng giá trị (Truth table)

A X= A

0 1

1 0

A

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:

CX=A.B.CB

A

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

X=A.B

Giáo Trình Điện Tử Số Biên Soạn:Phạm Thành Danh

Trang 28

1 0 0 0

1 0 1 0

1 1 0 0

1 1 1 1

Cổng OR 2 ngõ vào:

A

BX=A+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:

BC

X=A+B+CA

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

Giáo Trình Điện Tử Số Biên Soạn:Phạm Thành Danh

Trang 29

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 :

CBA

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

B

A

Giáo Trình Điện Tử Số Biên Soạn:Phạm Thành Danh

Trang 30

Bảng giá trị (Truth table)

A B X= BA + 0 0 1 0 1 0 1 0 0 1 1 0

Hàm NOR 3 ngõ vào:

CBA

Bảng giá trị (Truth table)

A B C X= CBA ++

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= BABABA ⊕=+

0 0 0

0 1 1

1 0 1

1 1 0

Hay sơ đồ được tương đương như sau:

Giáo Trình Điện Tử Số Biên Soạn:Phạm Thành Danh

Trang 31

B

A

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= BABAAB ⊕=+

0 0 1

0 1 0

1 0 0

1 1 1

Hay sơ đồ được tương đương như sau:

B

A

Giáo Trình Điện Tử Số Biên Soạn:Phạm Thành Danh

Trang 32

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.

Giáo Trình Điện Tử Số Biên Soạn:Phạm Thành Danh

Trang 33

Số ô cần biểu diễn hàm là 22= 4 ô (Có n biến sẽ cần 2n ô)

F A

B 0 1 0 0 2 1 1 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 1 1 1 0 0

Tuy nhiên ta có thể biểu diễn hàm trên như sau:

F A F A B 0 1 B 0 1

0 1 1 0

1 1 0 0

Số ô = 23= 8 ô

F AB C 00 01 11 10

0 0 2 6 4

Giáo Trình Điện Tử Số Biên Soạn:Phạm Thành Danh

Trang 34

1 1 3 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 AB F AB C 00 01 11 10 C 00 01 11 10

0 1 1 0 0 0

1 1 1 1 0 0

F AB

CD 00 01 11 10

00 0 4 12 8

01 1 5 13 9

11 3 7 15 11

10 2 6 14 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 AB

F AB

CD 00 01 11 10 CD 00 01 11 10

00 1 1 00 0 0

01 1 01 0 0 0

11 1 1 11 0 0

10 1 1 1 10 0

Giáo Trình Điện Tử Số Biên Soạn:Phạm Thành Danh

Trang 35

F ABC 0 1

DE 00 01 11 10 10 11 01 00

00 0 4 12 8 24 28 20 16

01 1 5 13 9 25 29 21 17

11 3 7 15 11 27 31 23 19

10 2 6 14 10 26 30 22 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 00 01 11 10 AB 00 01 11 10 C 0 0 0 0 C 0 0 0 1 0 0 0 1 0 0 0 0

Loại được biến C Loại được biến B

Giáo Trình Điện Tử Số Biên Soạn:Phạm Thành Danh

Trang 36

AB 00 01 11 10 AB 00 01 11 10 C 0 0 0 C 0 0 0 1 0 0 0 0 1 0 0 0 0

Loại được biến A Loại được biến A AB 00 01 11 10 AB 00 01 11 10 C 0 C 0 0 0 1 0 0 0 0 1 0 0

Loại được biến AB Loại được biến AC AB 00 01 11 10 AB 00 01 11 10 CD 00 0 0 CD 00 0 0 0 0 01 0 0 0 0 01 0 0 11 0 0 0 0 11 10 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 00 01 11 10 AB 00 01 11 10 CD 00 0 0 0 CD 00 0 0 0 0 01 0 0 0 01 0 0 0 0 11 0 0 0 11 0 0 0 0 10 0 0 0 10

Loại bỏ biến CD Loại biến AB AB 00 01 11 10 AB 00 01 11 10 CD 00 0 0 CD 00 0 0 01 0 0 0 0 01 0 0 11 0 0 0 0 11 0 0 10 0 0 10 0 0

Loại bỏ biến AC Loại bỏ biến ACD

Giáo Trình Điện Tử Số Biên Soạn:Phạm Thành Danh

Trang 37

AB 00 01 11 10 AB 00 01 11 10 CD 00 0 0 CD 00 0 0 0 0 01 0 0 01 11 0 0 11 10 0 0 10 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à AB

VD 1: Cho hàm Boole có bảng giá trị như sau.Rút gọn bằng bìa K

AB 00 01 11 10 AB 00 01 11 10 C 0 0 0 0 C 0 0 0 0 1 0 0 0 1 0

A B F(A,B,C)= A B AC AB F(A,B,C)= AC+AB VD 2: Cho hàm Boole có bảng giá trị như sau.Rút gọn bằng bìa K

AB 00 01 11 10 AB 00 01 11 10 CD 00 0 0 0 CD 00 0 0 01 0 01 0 0 11 0 0 0 11 0 0 0 0 10 0 0 0 10

A B ACD A C CD F(A,B,C,D)= A B + ACD F(A,B,C,D)= A C +CD

VD3:Rút gọn hàm Boole F1(A,B,C)=∑ (1, 2, 5,6), F2(A,B,C)=∑ (0,1, 2, 7)

Giáo Trình Điện Tử Số Biên Soạn:Phạm Thành Danh

Trang 38

AB 00 01 11 10 AB 00 01 11 10 C 0 0 0 C 0 0 0 1 0 0 1 0 0

C BC A C ABC F1(A,B,C)=C+ BC A B F2(A,B,C)= A C + A B +ABC �VD:Cho hàm Boole F(A,B,C)=Σ(0,1,4,5,6)+d2 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 00 01 11 10 AB 00 01 11 10 C 0 1 x 1 1 C 0 1 1 0 0 1 1 0 0

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 01 11 10 C 0 1 1 1 1 1

(B+C ) ( A+ B )

F(A,B,C)= (B+C ).( A+B )

Giáo Trình Điện Tử Số Biên Soạn:Phạm Thành Danh

Trang 39

T � � � u � � � � � � � u � � �� � � � � � � �� � � � � � � � � �� e � o � � � �� � u � � � � � � � u � � �� � � � �� � � � � � � � � �� �� � � 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+ABC + 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+ABC + A B = BACABABC ++ = BACABABC.

= )).().(( BACBACBA +++++

Bước 3:Vẽ sơ đồ thực hiện mạch bằng các cổng Logic

C

A

F(A,B,C)

B

Cũng cho hàm như trên .Thực hiện bằng cấu trúc NAND-NAND

Giáo Trình Điện Tử Số Biên Soạn:Phạm Thành Danh

Trang 40

F (A,B,C)= ABC+ABC + A B = BACABABC ++ = BACABABC.

Đế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

F(A,B,C)C

B

A

Giáo Trình Điện Tử Số Biên Soạn:Phạm Thành Danh

Trang 41

Rút gọn hàm Boole bằng phương pháp đại số

a.y= DBADBA +

b.z= ))(( BABA ++

c.y= BCDAACD +

d.y= CABCA +

e.y= DCBADCBA +

f. y= ))(( DBCA ++

2.Cho Z= CBA ++ 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

C

D

X

b.

X

B

D

A

C

d.

D

B

X

A

C

5.Vẽ dạng sóng ngõ ra X theo tín hiệu vào A,B,C

Giáo Trình Điện Tử Số Biên Soạn:Phạm Thành Danh

Trang 42

CB

XC

A

AB

6.Xác định ngõ ra X

X

C

B

A

7.Với những giá trị nào của A,B,C thì LED sáng

CLED

A

B

8.Rút gọn hàm sau bằng bìa K

a.F= BAABCABC ++

b.F= ABBDAABCABCD +++

c.F(A,B,C,D)=∑ )15,10,7,5,4,1(

d.F(A,B,C,D)=∑ )15,10,7,5,4,1( +d0

e.F(A,B,C,D)=∑ )11,10,7,5,4,2,1,0(

f.F(A,B,C)=∏ )7,4,3,0(

g.F(A,B,C,D)= 5)13,10,7,4,3,0( d+∏

Giáo Trình Điện Tử Số Biên Soạn:Phạm Thành Danh

Trang 43

h. F(A,B,C,D= )())()(( CADCADCBADCBA +++++++++

9.Cho hàm Boole F(A,B,C,D)=∑ )15,10,7,5,4,1(

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

Giáo Trình Điện Tử Số Biên Soạn:Phạm Thành Danh

Trang 44

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-->4X 0

Y 3X 1

Y 0Y 1Y 2

Từ bảng giá trị trên ta có

Y0= 10 XX ; Y1= 10 XX ; Y2= 10 XX ;

Y0= 10 XX ;

Sơ đồ tương đương

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

Giáo Trình Điện Tử Số Biên Soạn:Phạm Thành Danh

Trang 45

Y1

Y3

X0

Y0

X1

Y2

→→→→

→→→→

2-->4X 0

Y 3X 1

Y 0Y 1Y 2

2-->4

X0 Y0

X1

Y1

Y2

Y3

Từ bảng giá trị trên ta có

Y0=X0+X1;Y1=X0+ 1X ;Y2= 0X +X1;Y3= 0X + 1X

Sơ đồ tương đương

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

Giáo Trình Điện Tử Số Biên Soạn:Phạm Thành Danh

Trang 46

X1

Y0

Y3

Y2

X0

Y1

→→→→

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-->4X 0

Y 3

X 1Y 0Y 1Y 2

E

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

Giáo Trình Điện Tử Số Biên Soạn:Phạm Thành Danh

Trang 47

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

X 0

Y 3X 1

Y 0Y 1Y 2

X2Y 4Y 5Y 6Y 7

Để 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

X2 X1 X0 Y7 Y6 Y5 Y4 Y3 Y2 Y1

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

Giáo Trình Điện Tử Số Biên Soạn:Phạm Thành Danh

Trang 48

Y7

X0

X1

Y0Y1Y2Y3

E

X0 Y1

Y6Y5

Y2

D 2

X1

Y3

D 1

X2

X0

X1

Y0Y1Y2Y3

E

Y4

Y0

Giáo Trình Điện Tử Số Biên Soạn:Phạm Thành Danh

Trang 49

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 D 1 hoạt động

0 1 0 0 0 0 0 0 1 0 0 D 2 bị cấm

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 D 2 hoạt động

1 1 0 0 1 0 0 0 0 0 0 D 1 bị cấm

1 1 1 1 0 0 0 0 0 0 0

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:

Giáo Trình Điện Tử Số Biên Soạn:Phạm Thành Danh

Trang 50

F(A,B,C)= Σ(0,1,3,6)= CABBCACBACBA +++

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 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

Ta có:

Y0= CBA ;Y1= CBA ;Y2= CBA ;Y3= BCA ;Y4= CBA ;Y5= CBA ;Y6= CAB ;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)= CABBCACBACBA +++ =Y0+Y1+Y3+Y6 (của Decoder).

Sơ đồ thực hiện dùng Decoder như sau:

C

B

3-->8

X 0

Y 3X 1

Y 0Y 1Y 2

X2Y 4Y 5Y 6Y 7

A

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

X 0

Y 3X 1

Y 0Y 1Y 2

X2Y 4Y 5Y 6Y 7

F(A,B,C)

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ả.

Giáo Trình Điện Tử Số Biên Soạn:Phạm Thành Danh

Trang 51

Là mạch có 2n ngõ vào và n ngõ ra

Xét Encoder 4→ 2

X0

X2

Y0

Y1

X3

X1

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= ( )1302 XXXX ⊕ ;Y1= ( )2301 XXXX ⊕

Y1

Y0

X2

X0

X3

X1

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ẽ

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

Giáo Trình Điện Tử Số Biên Soạn:Phạm Thành Danh

Trang 52

X0

X2

Y0

Y1

X3

X1

Độ ư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

X0

X1

YX2

X3

AB

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= ABXBAXBAXBAX 3210 +++

Sơ đồ mạch tương đương

A

B Y

X2 X1X3 X0

→→→→�→→→→

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

A B Y

0 0 X0

0 1 X1

1 0 X2

1 1 X3

Giáo Trình Điện Tử Số Biên Soạn:Phạm Thành Danh

Trang 53

8-->1

X0

X1

Y

X2

X3

A

C

X4

X5

X6

X7

B

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

A

Y

4-->1

X0

X1

Y

X2

X3

A

B

E

X2

X6

X0

X4

X3

MUX 1

X1

X7

4-->1

X0

X1

Y

X2

X3

A

B

E

MUX 2

X5

B

C

*

Bảng giá trị

A B

C

Y

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

Giáo Trình Điện Tử Số Biên Soạn:Phạm Thành Danh

Trang 54

A C

B

Y

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 Bảng giá trị của MUX

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

A B

C

Y

0 0 0 0

0 0 1 1

0 1 0 1

0 1 1 0

1 0 0 0

1 0 1 1

1 1 0 0

1 1 1 1

A B

C

Y

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

Giáo Trình Điện Tử Số Biên Soạn:Phạm Thành Danh

Trang 55

BA

F(A,B,C)

[1]

8-->1

X0

X1

Y

X2

X3

A

C

X4

X5

X6

X7

BC

�→→→→

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 0N

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ị

Giáo Trình Điện Tử Số Biên Soạn:Phạm Thành Danh

Trang 56

Sơ đồ mạch thực hiện

[1]

A

4-->1

X0

X1

Y

X2

X3

A

B

F(A,B,C)

C

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

D

F(A,B,C,D)

0 0 0 0 0

0 0 0 1 1

D

X0

0 0 1 0 1

0 0 1 1 0

D

X1

0 1 0 0 0

0 1 0 1 1

D

X2

0 1 1 0 1

0 1 1 1 1

1

X3

1 0 0 0 0

A B

C

Y

0 0 0 0

0 0 1 0

0

X0

0 1 0 1

0 1 1 0

C

X1

1 0 0 0

1 0 1 1

C

X2

1 1 0 1

1 1 1 1

1

X3

Giáo Trình Điện Tử Số Biên Soạn:Phạm Thành Danh

Trang 57

1 0 0 1 1 D X4

1 0 1 0 0

1 0 1 1 1

D

X5

1 1 0 0 0

1 1 0 1 0

0

X6

1 1 1 0 0

1 1 1 1 1

D

X7

D

8-->1

X0

X1

Y

X2

X3

A

C

X4

X5

X6

X7

B

[1]

F(A,B,C,D)

C

B

A

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

Y0Y1Y2Y3

B

Từ bảng trên ta có XABYBAXYBXAYBAXY ==== 3;2;1;0

Sơ đồ mạch

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

Giáo Trình Điện Tử Số Biên Soạn:Phạm Thành Danh

Trang 58

Y2

Y0

B

Y3

A

X

Y1

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

Giáo Trình Điện Tử Số Biên Soạn:Phạm Thành Danh

Trang 59

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 )()())(( BADCBADCP ⊕⊕+⊕⊕=

Sơ đồ mạch

C

A

D

B P

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ớ

Giáo Trình Điện Tử Số Biên Soạn:Phạm Thành Danh

Trang 60

-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= BA⊕ ;C=AB

-Thực hiện mạch

B

C

AS

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

An Bn

Cn-1

Sn

Cn

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

111 );( −−− ++=⊕⊕= nnnnnnnnnnn CACBBACBACS Sơ đồ mạch

Giáo Trình Điện Tử Số Biên Soạn:Phạm Thành Danh

Trang 61

C n-1C n

B n

A n

S n

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

Giáo Trình Điện Tử Số Biên Soạn:Phạm Thành Danh

Trang 62

Y3=A1B1A2B2;Y2=A1A2( 21 BB + );Y1= 221221211211 BABBAABBAABA +++

Y0=B1B2.

-Thực hiện mạch

B2

Y3

B1

A1Y0

Y2

Y1

A2

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

Giáo Trình Điện Tử Số Biên Soạn:Phạm Thành Danh

Trang 63

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

Y1

Y2

Y0

A

B

4-->16

X 0 Y 3

X 1

Y 0Y 1Y 2

X2

Y 4Y 5Y 6Y 7

X3Y 8Y 9

Y 10Y11

Y13Y12

Y14Y15

C

D

Giáo Trình Điện Tử Số Biên Soạn:Phạm Thành Danh

Trang 64

1.Thực hiện ghép 2 Decoder 3�8 thành 4�16

2.Thực hiện ghép 4 Decoder 2�4 thành 4�16

3.Cho hàm F(A,B,C,D)=∑ )15,14,13,7,4,3,0(

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 8�1

4.Cho hàm F(A,B,C,D)=∏ )15,10,9,6,4,3,0(

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 8�1

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.

Giáo Trình Điện Tử Số Biên Soạn:Phạm Thành Danh

Trang 65

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

QCLEAR

Bảng giá trị

SET CLEAR OUTPUT

0 0 Không

đổi

0 1 Q=0

1 0 Q=1

1 1 Cấm

Giáo Trình Điện Tử Số Biên Soạn:Phạm Thành Danh

Trang 66

SETQ

/QCLEAR

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

CLK

Q

/Q

D

CLK

Q

/Q

(FF tích cực cạnh lên) (FF tích cực cạnh xuống)

Bảng giá trị :

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

Dn Qn+1

0 0

1 1

Giáo Trình Điện Tử Số Biên Soạn:Phạm Thành Danh

Trang 67

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.

D

Q

CK

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

D

Q

CK

T

CLK

Q

/Q

T

CLK

Q

/Q

(FF tích cực cạnh lên) (FF tích cực cạnh xuống)

Bảng giá trị :

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.

T

CK

Q

Tn Qn+1

0 Qn

1 nQ

Giáo Trình Điện Tử Số Biên Soạn:Phạm Thành Danh

Trang 68

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.

Q

T

CK

J

CK

Q

QK

J

CK

Q

QK

Bảng giá trị

Jn Kn Qn+1

0 0 Qn

0 1 0

1 0 1

1 1 nQ

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.

Q

CK

K

J

Giáo Trình Điện Tử Số Biên Soạn:Phạm Thành Danh

Trang 69

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.

Q

CK

K

J

S

CK

Q

QR

S

CK

Q

QR

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

CK

Q

QK

• 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.

Giáo Trình Điện Tử Số Biên Soạn:Phạm Thành Danh

Trang 70

CK

DJ

CK

Q

QK

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

thường như sau

J

CK

Q

QK

Pr

Cl

J

CK

Q

QK

Pr

Cl

(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.

Giáo Trình Điện Tử Số Biên Soạn:Phạm Thành Danh

Trang 71

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ẽ

Q1Q0

J

CK

Q

QK

[1][1]

CK

J

CK

Q

QK

Tín hiệu ra được biễu diễn như sau

1

0 1

10

0

0

Q0

0

1

Q1

CK

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ẽ

Giáo Trình Điện Tử Số Biên Soạn:Phạm Thành Danh

Trang 72

Q1

J

CK

Q

QK

Q2Q0

J

CK

Q

QK

[1][1]

CK

[1]

J

CK

Q

QK

Tín hiệu ra được biễu diễn như sau

0

1

0

1

11

1

0 1

1

0

0

1

0

0

0

Q0

0

1

0

0

0

Q1

CK

Q20

1

0

0

0

1

1

0

1

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 � �nQ

� � � � � �Để 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:

Giáo Trình Điện Tử Số Biên Soạn:Phạm Thành Danh

Trang 73

J

CK

Q

QK

Pr

Cl

[1][1]

CK

[1]

J

CK

Q

QK

Pr

Cl

J

CK

Q

QK

Pr

Cl

Q1 Q2Q0

* 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

J

CK

Q

QK

Pr

Cl

[1][1]

CK

[1]

J

CK

Q

QK

Pr

Cl

J

CK

Q

QK

Pr

Cl

Q1 Q2Q0

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:

Giáo Trình Điện Tử Số Biên Soạn:Phạm Thành Danh

Trang 74

Q0

J

CK

Q

QK

Pr

Cl

CK

Q1

[1] [1]

J

CK

Q

QK

Pr

Cl

J

CK

Q

QK

Pr

Cl

Q2

[1]

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 0 Qn

Giáo Trình Điện Tử Số Biên Soạn:Phạm Thành Danh

Trang 75

0 1 0

1 0 1

1 1 nQ

Tiếp theo ta lập bảng giá trị

Xung Q1 Q0

(hiện tại)

Q1 Q0

(kế tiếp)

J0 K0

J1 K1

1 0 0 0 1 1 X 0 X

2 0 1 1 0 X 1 1 X

3 1 0 1 1 1 X X 0

4 1 1 0 0 X 1 X 1

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:

[1]

CK

J

CK

Q

QK

Q1Q0

J

CK

Q

QK

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 Q0

(hiện tại)

Q2 Q1 Q0

(kế tiếp)

J0 K0

J1 K1

J2 K2

Giáo Trình Điện Tử Số Biên Soạn:Phạm Thành Danh

Trang 76

1 0 0 0 0 1 0 0 X 1 X 0 X

2 0 0 1 0 0 0 X 1 0 X 0 X

3 0 1 0 1 0 0 0 X X 1 1 X

4 0 1 1 0 0 0 X 1 X 1 0 X

5 1 0 0 1 1 0 0 X 1 X X 0

6 1 0 1 0 0 0 X 1 0 X X 1

7 1 1 0 0 0 0 0 X X 1 X 1

8 1 1 1 0 0 0 X 1 X 1 X 1

Dùng bìa K rút gọn ta được J0=K0=Q0;J1=K1=Q1+ 0Q ;J2=K2=Q0Q2+Q1 0Q

Sơ đồ mạch

Q0

CK

Q1 Q2

J

CK

Q

QK

J

CK

Q

QK

J

CK

Q

QK

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:

Số JKFF cần là 3

Bảng giá trị:

Xung Q2 Q1 Q0

(hiện tại)

Q2 Q1 Q0

(kế tiếp)

J0 K0

J1 K1

J2 K2

000 010 101 110 001

100 011 111

Giáo Trình Điện Tử Số Biên Soạn:Phạm Thành Danh

Trang 77

1 0 0 0 0 1 0 0 X 1 X 0 X

2 0 0 1 1 1 1 X 0 1 X 1 X

3 0 1 0 1 0 1 1 X X 1 1 X

4 0 1 1 1 0 0 X 1 X 1 1 X

5 1 0 0 0 0 0 0 X 0 X X 1

6 1 0 1 1 1 0 X 1 1 X X 0

7 1 1 0 0 0 1 1 X X 1 X 1

8 1 1 1 0 0 0 X 0 X 1 X 1

Sau khi rút gọn ta được

J0=Q1;K0= 2Q Q1+Q2 1Q =Q2⊕Q1;J1=Q0+ 2Q ;K1=1;J2=Q0+Q2;K2= 0Q +Q1

Sơ đồ mạch thực hiện

J

CK

Q

QK

Q1

CK

Q2

J

CK

Q

QK

[1]

J

CK

Q

QK

Q1

Q1

Q0

Q2/Q0

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:

Giáo Trình Điện Tử Số Biên Soạn:Phạm Thành Danh

Trang 78

[1]

J

CK

Q

QK

Counter Up/Q0

/Q0

J

CK

Q

QK

Q0

CK

Counter Down

Q0J

CK

Q

QK

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:

D

CLK

Q

Q

D

CLK

Q

Q

CK

Q0

D

CLK

Q

Q

Q1 Q2

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:

Giáo Trình Điện Tử Số Biên Soạn:Phạm Thành Danh

Trang 79

Q0

Q1

CK

Q2

Giáo Trình Điện Tử Số Biên Soạn:Phạm Thành Danh

Trang 80

Sơ đồ mạch như sau:

CK

Q1

[1]

Q2

J

CK

Q

QK

[1]

Q0

J

CK

Q

QK

[1]

J

CK

Q

QK

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ộ.

ALoad

CK

Q

QK

Pr

Cl

J

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.

Giáo Trình Điện Tử Số Biên Soạn:Phạm Thành Danh

Trang 81

A

Load 1

B

3

1

Load 2

CKCK

Q

QS

R

2

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

Giáo Trình Điện Tử Số Biên Soạn:Phạm Thành Danh

Trang 82

CK

Q

QR

S

Pr

Cl

Load

Q2Q1

BC

CK

Q

QR

S

Pr

Cl

Q0Q3

DSRCK

Q

QR

S

Pr

Cl

A

D

CKCK

Q

QR

S

Pr

Cl

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

(hiện tại)

Q3Q2Q1Q0

(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

Xung Q3Q2Q1Q0

(hiện tại)

Q3Q2Q1Q0

(kế tiếp)

1 CDBA ACDB

2 ACDB BACD

3 BACD DBAC

4 DBAC CDBA

5 CDBA ACDB

Trong trường hợp này ta có mạch đếm vòng

*Xét trường hợp 3

Q nối với DSR

Gọi là mạch đếm vòng xoắn.Giả sử DCBA=0000

Giáo Trình Điện Tử Số Biên Soạn:Phạm Thành Danh

Trang 83

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ụ thuộc vào xung CK.

Giáo Trình Điện Tử Số Biên Soạn:Phạm Thành Danh

Trang 84

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

J

CK

Q

QK

Pr

Cl

[1] [1]

CK

Q0 Q1 Q2

J

CK

Q

QK

Pr

Cl

[1]

J

CK

Q

QK

Pr

Cl