You are on page 1of 14

TRƯỜNG ĐẠI HỌC BÁCH KHOA ĐÀ NẴNG

KHOA CÔNG NGHỆ THÔNG TIN


------ -------

BÀI TẬP
KĨ THUẬT XUNG SỐ

Giáo viện hướng dẫn : Đặng Bá Lư


Sinh viên thực hiện : Trần Hoàng Quân
Lớp : 09T4
Nhóm : 7B
Mã sinh viên : 102144091145
Đề :16
THIẾT KẾ MẠCH CHUYỂN MÃ
BCD 2421 SANG BCD 8421

NHẬN XÉT: Trong các thiết bị ñiện tử số, ñể biễu diễn 10 chữ số thập phân từ
0 ñến 9, người ta dùng 4 bit ñể tổ hợp nên tạo ra ñược 16 tổ hợp khác nhau.Ta chỉ
dùng
10 tổ hợp trong 16 tổ hợp nên tạo ra ñựơc nhiều hệ mã khác nhau trong ñó có 6 tổ hợp
thừa.Những hệ mã ñó là: mã BCD 8421, BCD 7421, BCD 5421, BCD 2421, Gray,
Dư 3.

a x
b y
c z
d k
BCD 2421 BCD 8421

* Thực hiên:

- Mỗi mạch có 4 ñầu ra x,y,z,k mỗi ñầu ra là một hàm của 4 biến vào a,b,c,d. Lập bảng K
cho mỗi ñầu ra.

- Tạo biểu thức tối giản của nguyên hàm ñánh vòng các ô làm hàm ra bằng 1, của ñảo hàm
ñánh vòng các ô làm hàm ra bằng 0.

- Trong bảng K tổ hợp thừa ta ñánh X..

- Để thiết kế mạch logic OR-AND ta chỉ cần tạo biểu thức tối giản OR-AND của nguyên hàm.

- Để thiết kế mạch NAND – NAND ta phủ ñịnh 2 lần nữa biểu thức tối giản của nguyên hàm.

- Để thiết kế mạch logic NOR-AND ta tạo biểu thức tối giản OR-AND của ñảo hàm, sau
ñó phủ ñịnh một lần.

- Để thiết kế mạch logic AND – OR ta phủ ñịnh ñảo hàm của các hàm ñến cấp biến.

- Để thiết kế mạch logic NOR – NOR ta phủ ñịnh 2 lần dạng AND-OR ñã khai triển
I.Bả ng công tác

Mã Mã BCD 2421 Mã BCD 8421


thập
Phân a b c d x y z k
0 0 0 0 0 0 0 0 0
1 0 0 0 1 0 0 0 1
2 0 0 1 0 0 0 1 0
3 0 0 1 1 0 0 1 1
4 0 1 0 0 0 1 0 0
5 1 0 1 1 0 1 0 1
6 1 1 0 0 0 1 1 0
7 1 1 0 1 0 1 1 1
8 1 1 1 0 1 0 0 0
9 1 1 1 1 1 0 0 1
0 1 0 1 x x x x
Tổ 0 1 1 0 x x x x
hợp 0 1 1 1 x x x x
thừa 1 0 0 0 x x x x
1 0 0 1 x x x x
1 0 1 0 x x x x

Mỗi cột x , y , z , k là một hàm của bốn biến a, b, c, d .

II) Lập biểu thức logic cho các ñầu ra

Dạng tổng các tích


x abcd abcd
y a bc ab cd abc abc
dza b ab d d
cd cd abc abc abcd
k a b c ab d d
d cd ab cd abc
d

Dạng tích các tổng


x (a b c d )(a b c d )(a b c d )(a b c d)
(a b c d )(a b c d )(a b c d )(a b c d)
y (a b c d )(a b c d )(a b c d )(a b c d )(a b c d )(a b c d)

z (a b c d )(a b c d )(a b c d )(a b c d )(a b c d )(a b c d)


k (a b c d )(a b c d )(a b c d )(a b c d )(a b c d)
III) Rút gọn biểu thức

1. Phương pháp bảng K


a) Đánh vào những ô toàn 0:

cd 00 01 11 10
ab

00 0 0 0 0

b
01 0 x x x

c 11 0 0

10 x x 0 x

x b c

cd
00 01 11 10
ab
0 0 ab
00 0 0

x
01 x x bc
0
11 0

10 x x x

y ab bc
00
cd
01 11 10
ab

00 0 0

x
01 0 x x

ac
11 0 0

x
10 x x 0

ac
z a c ac

cd 11
ab 00 01 10

00 0 0

01 0 x x x

11 0 0

x
10 x x

k d
b. Đánh vào những ô toàn 1

cd
00 01 11 10
ab

00

x
01 x x

1
11 1
bc

10 x x x

x bc

cd 00 01 11 10
ab
00

01 1 x x x

11
1 1

x
bc 10 x x 1

ab
y bc ab
11
cd
00 01 10
ab

00 1 1

x
01 x x

11 1 1
ac

ac 10 x x x

z ac ac

cd
00 01 11 10
ab
1
00 1

01 x x x

11 1 1

10 x x 1 x d

k d
Lập biểu thức lôgic cho tất cả các ñầu ra sau khi ñã rút gọn bằng bảng K
Từ bảng K ở trên ta lập biểu thức cho các ñầu ra:

x bc
y bc ab
z ac a c
k d
hay
x b c
y ab bc
z a c ac
k d

2) Rút gọn biểu thức bằng ñịnh lý:


Đầu x:
x(a,b,c,d)= ∑ (6,7,14,15)
=a abcd abcd abcd a abcd a abcd bcd bcd bc
Đầu y: bcd bcd bcd
y(a,b,c,d)= ∑ (4,5,8,9,10,11,12,13)
y= a bcd a ab ab c ab ab abc abcd
=a bcd cd da cd ab cd ab d ab ab
bcd abc abcd bcd cd cd cd cd
d
bcd bcd ab c ab c
bc ab
Đầu z:
z(a,b,c,d)= ∑ (2,3,6,7,8,9,12,13)
= a b cd ab abcd a ab cd ab cd abcd abc d
cd bcd
=ab a ab c abc
c bc
Đầu k: = a c ac
k(a,b,c,d)= ∑ (1,3,5,7,9,11,13,15)
= a b cd ab a a ab cd ab cd abcd abcd
cd bcd bcd
=abd a ab d abd
=ad bd
=d ad
IV)Thiết kế mạch

1. Thiết kế mạch OR – AND


Biểu thức lôgic của mạch OR-AND
x bc
y bc ab
z ac a c
k d

x y z k

d
d
c
c
b
b
a
a
2.Thiết kế mạch dạng AND – OR
Biểu thức logic
x bc
y y (a b)(b c )
z z (a c)(a c )
k k d

x y z
k

d
d
c
c
b
b
a
a
3.Thiết kế mạch dạng NOR - AND

x x b c
y y a b bc
z z a c ac
k k d

x y z
k

d
d
c
c
b
b
a
a
4.Thiết kế mạch dạng NAND - NAN D
x x bc
y y bc ab bc .ab
z z ac a c ac .a c
k k d

x
y z k

d
d
c
c
b
b
a
a
5.Thiết kế mạch dạng NOR - NOR
x x b c
y y a b bc (a b)(b c ) (a b)(b c ) (a b) (b c )
z z a c ac (a c)(a c ) (a c)(a c ) (a c) (a c )
k d

x y
z k

d
d
c
c
b
b
a
a
V ) Mô phỏng mạch logic bằng C.
Chương trình C thực hiện việc chuyện mã:

#include <stdio.h>
#include <conio.h>
main()
{
int a,b,c,d,x,y,z,k,h,i=0;
printf("|-------------------------- ---|\n")
; printf("| So| Ma 2421
----> Ma 8421 |\n");
printf("|-------------------------- ---|\n")
; for(a=0;a<=1;a++)
for(b=0;b<=1;b++)
for(c=0;c<=1;c++)
for(d=0;d<=1;d++)
{
h=8*a+4*b+2*c+d;
if((h<=10)&&(h>=5)) continue;//De loai bo truong
hop thua
x=b&&c; y=(b&&!c)||
(a&&!b); z=(a&&!
c)||(!a&&c); k=d;
printf("|%4d|%2d%2d%2d%2d ----> %2d%2d%2d%2d
|\n",i,a,b,c,d,x,y,z,k);
i++;
};
printf("|------------------------- ----|\n");

getch();
}

Kết quả chương trình :

You might also like