TH Kỹ Thuật Xung Số Nguyễn Tuấn Cường –
06T3
1
ĐẠI HỌC ĐÀ NẴNG
TRƯỜNG ĐẠI HỌC BÁCH KHOA
KHOA CÔNG NGHỆ THÔNG TIN
o0o
THỰC HÀNH
KỸ THUẬT XUNG SỐ
Sinh Viên : Nguyễn Tuấn Cường
Nhóm 06B – Lớp 06T3
Đề số : 26
Đà Nẵng 05/2008
MỞ ĐẦU
TH Kỹ Thuật Xung Số Nguyễn Tuấn Cường –
06T3
• GRAY sang BCD8421 :
I. Bảng mã:
II. Bảng Karnaugh cho các đầu ra :
GRAY BCD 8421
0000 0000
0001 0001
0011 0010
0010 0011
0110 0100
0111 0101
0101 0110
0100 0111
1100 1000
1101 1001
1000 x
1001 x
1010 x
1011 x
1110 x
1111 x
cd
ab
11xx xxxx
00 01 11 10
00
01
11
10
a
bay
=
cd
ab
1111xxxxxx
00 01 11 10
00
01
11
ba
ax
=
1
TH Kỹ Thuật Xung Số Nguyễn Tuấn Cường –
06T3
III. Biến đổi các đầu ra theo dạng toàn NAND :
IV. Vẽ mạch :
dcb
cd
ab
11111xxxxxx
00 01 11 10
00
01
11
10
bcd
dcb
dcba
ad
cd
ab
1111xxxxxx
00 01 11 10
00
01
11
10
cba
cb
ax
=
bay =
cbacbz .=
dcbbcddcbdcbaadk
=
dcbbcddcbaddcbak
++++=
cbcbaz +=
x
1
42
3
y
1
42
3
6
1
2
3
4
5
z
1
2
3
U 2
1
2
3
k
U 2
1
2
3
1
2
3
1
42
3
1
42
3
1
2
3
1
2
3
U 2
1
2
3
1
2
3
5
1
2
3
4
U 2
1
2
3
1
2
3
2
TH Kỹ Thuật Xung Số Nguyễn Tuấn Cường –
06T3
V. Mô phỏng bằng ngôn ngữ C :
#include"conio.h"
#include"stdio.h"
int lt(int a, int n);
main()
{
int a,b,c,d,i=0,h;
clrscr();
printf("\n|| BANG MA CHUYEN DOI ||\n");
printf("\n\n GRAY BCD8421 GiaTri \n\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=a*lt(2,3)+b*lt(2,2)+c*2+d;
if(h>7&&h!=13&&h!=12) continue;
printf(" %6.1d) %d%d%d%d _____", i,a,b,c,d);
printf(" %d%d%d%d %d\n", a,!a&&b,!(!(!b&&c)&&!(!a&&b&&!c)),
!(!(a&&d)&&!(!a&&b&&!c&&!d)&&!(!b&&!c&&d)&&!(b&&c&&d)&&!
(!b&&c&&!d)),h);
i++;
}
printf("\n\n|| ||\n");
getch();
}
int lt(int a, int n)
{
if (n==0) return (1);
else if(n%2==0)
(lt(a*a,n/2)); else return(a*lt(a*a,n/2));
}
3
TH Kỹ Thuật Xung Số Nguyễn Tuấn Cường –
06T3
• GRAY sang BCD7421 :
I. Bảng mã:
II. Bảng Karnaugh cho các đầu ra :
GRAY BCD 7421
0000 0000
0001 0001
0011 0010
0010 0011
0110 0100
0111 0101
0101 0110
0100 1000
1100 1001
1101 1010
1000 x
1001 x
1010 x
1011 x
1110 x
1111 x
cd
ab
111xx xxxx
00 01 11 10
00
01
11
10
cd
ab
111xxxxxx
00 01 11 10
00
01
11
10
adcbx
+=
bcbday
+=
4
TH Kỹ Thuật Xung Số Nguyễn Tuấn Cường –
06T3
III. Biến đổi các đầu ra theo dạng toàn NAND :
IV. Vẽ mạch :
cd
ab
1111xx xxxx
00 01 11 10
00
01
11
10
cd
ab
1111xx xxxx
00 01 11 10
00
01
11
10
cbdcbz
+=
dcbbcddcbdak
+++=
adcbx .
=
cbbday .
=
cbdcbz .
=
dcbbcddcbdak
=
1
2
3
5
1
2
3
4
1
2
3
1
42
3
1
2
3
a
1
2
3
1
2
3
1
2
3
b
1
2
3
b
1
42
3
c
1
42
3
1
2
3
c
1
42
3
d
d
1
42
3
1
2
3
x
1
42
3
1
2
3
y
1
2
3
a
z k
5
TH Kỹ Thuật Xung Số Nguyễn Tuấn Cường –
06T3
V. Mô phỏng bằng ngôn ngữ C :
#include"conio.h"
#include"stdio.h"
int lt(int a, int n);
main()
{
int a,b,c,d,i=0,h;
clrscr();
printf("\n|| BANG MA CHUYEN DOI ||\n");
printf("\n\n GRAY BCD7421 GiaTri \n\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=a*lt(2,3)+b*lt(2,2)+c*2+d;
if(h>7&&h!=13&&h!=12) continue;
printf(" %6.1d) %d%d%d%d _____", i,a,b,c,d);
printf(" %d%d%d%d %d\n", !(!(b&&!c&&!d)&&!a),!(!(!
a&&b&&d)&&!(b&&c)),
!(!(b&&!c&&d)&&!(!b&&c)),!(!(a&&!d)&&!(!b&&!c&&d)&&!
(b&&c&&d)&&!(!b&&c&&!d)),h);
i++;
}
printf("\n\n|| ||\n");
getch();
}
int lt(int a, int n)
{
if (n==0) return (1);
else if(n%2==0)
(lt(a*a,n/2)); else return(a*lt(a*a,n/2));
}
6
TH Kỹ Thuật Xung Số Nguyễn Tuấn Cường –
06T3
• GRAY sang BCD5421 :
I. Bảng mã:
II. Bảng Karnaugh cho các đầu ra :
GRAY BCD 5421
0000 0000
0001 0001
0011 0010
0010 0011
0110 0100
0111 1000
0101 1001
0100 1010
1100 1011
1101 1100
1000 x
1001 x
1010 x
1011 x
1110 x
1111 x
cd
ab
11111xxxxxx
00 01 11 10
00
01
11
10
cd
ab
11xxxxxx
00 01 11 10
00
01
11
10
bdcbx
+=
dbcady
+=
7
TH Kỹ Thuật Xung Số Nguyễn Tuấn Cường –
06T3
III. Biến đổi các đầu ra theo dạng toàn NAND :
IV. Sơ đồ mạch chuyển đổi :
cbdcbz
+=
cd
ab
1111xxxxxx
00 01 11 10
00
01
11
10
cd
ab
1111xxxxxx
00 01 11 10
00
01
11
10
dcbdcadcbdak +++=
bdcbx .
=
dbcady .
=
cbdcbz .
=
dcbdcadcbdak
=
1
2
3
d
a
1
2
3
1
2
3
c
1
2
3
b
a
5
1
2
3
4
b
1
2
3
c
x y
1
2
3
1
42
3
z k
1
2
3
d
1
2
3
1
2
3
1
2
3
1
42
3
1
42
3
1
2
3
1
42
3
1
42
3
1
2
3
8
TH Kỹ Thuật Xung Số Nguyễn Tuấn Cường –
06T3
V. Mô phỏng bằng ngôn ngữ C :
#include"conio.h"
#include"stdio.h"
int lt(int a, int n);
main()
{
int a,b,c,d,i=0,h;
clrscr();
printf("\n\n || BANG MA CHUYEN DOI || \n");
printf("\n\n GRAY BCD5421 GiaTri \n\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=a*lt(2,3)+b*lt(2,2)+c*2+d;
if(h>7&&h!=13&&h!=12) continue;
printf(" %6.1d) %d%d%d%d _____", i,a,b,c,d);
printf(" %d%d%d%d %d\n", !(!(b&&!c)&&!(b&&d)),!(!(a&&d)&&!
(b&&c&&!d)),
!(!(b&&!c&&!d)&&!(!b&c)),!(!(a&&!d)&&!(!b&&!c&&d)&&!(!a&&!
c&&d)&&!(!b&&c&&!d)),h);
i++;
}
printf(" \n|| ||\n");
getch();
}
int lt(int a, int n)
{
if (n==0) return (1);
else if(n%2==0)
(lt(a*a,n/2)); else return(a*lt(a*a,n/2));
}
9
abdcbx
++=
TH Kỹ Thuật Xung Số Nguyễn Tuấn Cường –
06T3
• GRAY sang BCD2421 :
I. Bảng mã:
II. Bảng Karnaugh cho các đầu ra :
GRAY BCD 2421
0000 0000
0001 0001
0011 0010
0010 0011
0110 0100
0111 1011
0101 1100
0100 1101
1100 1110
1101 1111
1000 x
1001 x
1010 x
1011 x
1110 x
1111 x
cd
ab
11111xxxxxx
00 01 11 10
00
01
11
10
cd
ab
11111xxxxxx
00 01 11 10
00
01
11
10
dbacby
++=
10
TH Kỹ Thuật Xung Số Nguyễn Tuấn Cường –
06T3
III. Biến đổi các đầu ra theo dạng toàn NAND :
IV. Sơ đồ mạch chuyển đổi :
cd
ab
11111xxxxxx
00 01 11 10
00
01
11
10
cd
ab
11111xxxxxx
00 01 11 10
00
01
11
10
cbcdaz
++=
dcbbcddcbaddcbak
++++=
abdcbx
=
dbacby .
=
cbcdaz
=
dcbbcddcbaddcbak
=
c
1
2
3
x y
1
42
3
z
1
2
3
6
1
2
3
4
5
1
42
3
k
1
2
3
1
2
3
1
2
3
1
42
3
b
1
2
3
d
5
1
2
3
4
1
42
3
d
1
42
3
a
1
2
3
1
2
3
1
2
3
1
2
3
c
1
2
3
1
2
3
a
1
2
3
b
1
2
3
1
42
3
11
TH Kỹ Thuật Xung Số Nguyễn Tuấn Cường –
06T3
V. Mô phỏng bằng ngôn ngữ C :
#include"conio.h"
#include"stdio.h"
int lt(int a, int n);
main()
{
int a,b,c,d,i=0,h;
clrscr();
printf("\n|| BANG MA CHUYEN DOI ||\n");
printf("\n\n GRAY BCD2421 GiaTri \n\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=a*lt(2,3)+b*lt(2,2)+c*2+d;
if(h>7&&h!=13&&h!=12) continue;
printf(" %6.1d) %d%d%d%d _____", i,a,b,c,d);
printf(" %d%d%d%d %d\n", !(!(b&&!c)&&!(b&&d)&&!a),
!(!(b&&!c)&&!a&&!(b&&!d)),!(!a&&!(c&&d)&&!(!b&&c)),
!(!(!a&&b&&!c&&!d)&&!(a&&d)&&!(!b&&!c&&d)&&!(b&&c&&d)&&!(!
b&&c&&!d)),h);
i++;
}
printf("\n\n|| ||\n");
getch();
}
int lt(int a, int n)
{
if (n==0) return (1);
else if(n%2==0)
(lt(a*a,n/2)); else return(a*lt(a*a,n/2));
}
12
TH Kỹ Thuật Xung Số Nguyễn Tuấn Cường –
06T3
• GRAY sang Dư 3 :
I. Bảng mã:
II. Bảng Karnaugh cho các đầu ra :
GRAY Dư 3
0000 0011
0001 0100
0011 0101
0010 0110
0110 0111
0111 1000
0101 1001
0100 1010
1100 1011
1101 1100
1000 x
1001 x
1010 x
1011 x
1110 x
1111 x
cd
ab
11111xxxxxx
00 01 11 10
00
01
11
10
cd
ab
11111xxxxxx
00 01 11 10
00
01
11
10
abdcbx
++=
dcaddby
++=
13
TH Kỹ Thuật Xung Số Nguyễn Tuấn Cường –
06T3
III. Biến đổi các đầu ra theo dạng toàn NAND :
IV. Sơ đồ mạch chuyển đổi :
dz
=
dbccdbdcbadcbdcak
++++=
abdcbx
=
dcaddby
=
dz
=
dbccdbdcbadcbdcak
=
cd
ab
11111xxxxxx
00 01 11 10
00
01
11
10
cd
ab
11111xxxxxx
00 01 11 10
00
01
11
10
b
1
42
3
y
1
42
3
d
1
2
3
1
2
3
1
2
3
c
k
5
1
2
3
4
1
2
3
1
2
3
b
d
1
42
3
G R A Y - - D u 3
1
2
3
1
2
3
1
42
3
1
2
3
1
2
3
1
2
3
a
z
a
1
42
3
c
1
42
3
1
2
3
x
6
1
2
3
4
5
14
TH Kỹ Thuật Xung Số Nguyễn Tuấn Cường –
06T3
V. Mô phỏng bằng chương trình C :
#include"conio.h"
#include"stdio.h"
int lt(int a, int n);
main()
{
int a,b,c,d,i=0,h;
clrscr();
printf("\n|| BANG MA CHUYEN DOI ||\n");
printf("\n\n GRAY Du 3 GiaTri \n\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=a*lt(2,3)+b*lt(2,2)+c*2+d;
if(h>7&&h!=13&&h!=12) continue;
printf(" %6.1d) %d%d%d%d _____", i,a,b,c,d);
printf(" %d%d%d%d %d\n", !(!(b&&!c)&&!(b&&d)&&!a),!(!(!b&&d)&&!
(a&&d)&&!(c&&!d)),
!d,!(!(a&&!c&&!d)&&!(!b&&!c&&!d)&&!(!a&&b&&!c&&d)&&!(!
b&&c&&d)&&!(b&&c&&!d)),h);
i++;
}
printf("\n\n|| ||\n");
getch();
}
int lt(int a, int n)
{
if (n==0) return (1);
else if(n%2==0)
(lt(a*a,n/2)); else return(a*lt(a*a,n/2));
}
15
TH Kỹ Thuật Xung Số Nguyễn Tuấn Cường –
06T3
MỤC LỤC
Trang
GRAY sang BCD8421 : 1
I.Bảng mã: 1
II.Bảng Karnaugh cho các đầu ra : 1
III.Biến đổi các đầu ra theo dạng toàn NAND : 2
IV.Vẽ mạch : 2
V.Mô phỏng bằng ngôn ngữ C : 3
GRAY sang BCD7421 : 4
I.Bảng mã: 4
II.Bảng Karnaugh cho các đầu ra : 4
III.Biến đổi các đầu ra theo dạng toàn NAND : 5
5
IV.Vẽ mạch : 5
5
V.Mô phỏng bằng ngôn ngữ C : 6
GRAY sang BCD5421 : 7
I.Bảng mã: 7
II.Bảng Karnaugh cho các đầu ra : 7
III.Biến đổi các đầu ra theo dạng toàn NAND : 8
IV.Sơ đồ mạch chuyển đổi : 8
V.Mô phỏng bằng ngôn ngữ C : 9
GRAY sang BCD2421 : 10
I.Bảng mã: 10
II.Bảng Karnaugh cho các đầu ra : 10
III.Biến đổi các đầu ra theo dạng toàn NAND : 11
IV.Sơ đồ mạch chuyển đổi : 11
V.Mô phỏng bằng ngôn ngữ C : 12
GRAY sang Dư 3 : 13
I.Bảng mã: 13
II.Bảng Karnaugh cho các đầu ra : 13
III.Biến đổi các đầu ra theo dạng toàn NAND : 14
16
TH Kỹ Thuật Xung Số Nguyễn Tuấn Cường –
06T3
IV.Sơ đồ mạch chuyển đổi : 14
V.Mô phỏng bằng chương trình C : 15
o0o
17