Bảng mã: II... Biến đổi các đầu ra theo dạng toàn NAND : IV... Bảng mã: II... Biến đổi các đầu ra theo dạng toàn NAND :IV... Bảng mã: II... Biến đổi các đầu ra theo dạng toàn NAND : IV.
Trang 1o0o 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
Trang 3• 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 b a y = cd ab 1111xxxxxx 00 01 11 10 00
01 11
b a
a
Trang 4
III Biến đổi các đầu ra theo dạng toàn NAND :
IV Vẽ mạch :
d c b
cd
ab
11111xxxxxx
00 01 11 10 00
01 11 10
bcd
d c b
d c b a
ad
cd
ab
1111xxxxxx
00 01 11 10
00
01
11
10
c b a c b
a
x = y = a b
c b a c
b
z = k = ad a b c d b c d bcd b c d
d c b bcd d
c b ad d
c b a
c b c b a
z = +
x
2 3
y
1 2 3 4 5
z
1 2
U 2
1 2
3
k
U 2
1 2
3
1 2
2 3
1 2
1 2
U 2
1 2
3
1 2
1 2 3 4
U 2
1 2
3
1 2
Trang 5V 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));
}
Trang 6• GRAY sang BCD7421 :
I Bảng mã:
II Bảng Karnaugh cho các đầu ra :
GRAY BCD 7421
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
a d
c b
Trang 7III 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
c b d c b
z = + k = a d + b c d + bcd + b c d
a d c b
x = y = a bd b c
c b d c b
z = k = a d b c d bcd b c d
1 2
1 3
1 2
2 3
1 2
a
1 2
1 2
1 2
3
b
1 2
3
b
c
1 2
c
d
d
1 2
3
x
2 3
1 2
y
1 2
3 a
Trang 8V 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));
}
Trang 9• GRAY sang BCD5421 :
I Bảng mã:
II Bảng Karnaugh cho các đầu ra :
GRAY BCD 5421
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
bd c
b
x = + y = ad + bc d
Trang 10
III Biến đổi các đầu ra theo dạng toàn NAND :
IV Sơ đồ mạch chuyển đổi :
c b d
c b
z = +
cd
ab
1111xxxxxx
00 01 11 10 00
01
11
10
cd
ab
1111xxxxxx
00 01 11 10 00
01 11 10
d c b d
c a d
c b d
a
bd c b
x = y = ad bc d
c b d c b
z = k = a d b c d a c d b c d
d
a
1 2
1 2
c
1 2
b
a
1 2 3
b
c
1 2
2 3
1 2
d
1 2
1 2
2 3
1 2
Trang 11V 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));
}
Trang 12a bd c
b
x = + +
• GRAY sang BCD2421 :
I Bảng mã:
II Bảng Karnaugh cho các đầu ra :
GRAY BCD 2421
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
d b a c b
y = + +
Trang 13III 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
c b cd
a
z = + + k = a b c d + ad + b c d + bcd + b c d
a bd c b
x = y = b c a . b d
c b cd a
z = k = a b c d ad b c d bcd b c d
c
1 2
z
1 2
1 2 3 4 5
2 3
k
1 2
3
1 2
1 2
b
1 2
d
1 3
2 3
d
2 3
a
1 2
3
1 2
1 2
1 2
c
1 2
3
1 2
a
1 2
b
1 2
3
2 3
Trang 14V 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));
}
Trang 15I Bảng mã:
II Bảng Karnaugh cho các đầu ra :
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
a bd
c b
x = + + y = b d + ad + c d
Trang 16III Biến đổi các đầu ra theo dạng toàn NAND :
IV Sơ đồ mạch chuyển đổi :
d
z = k = a c d + b c d + a b c d + b cd + bc d
a bd c b
x = y = b d . ad . c d
d
z = k = a c d . b c d . a b c d . b cd . bc d
cd
ab
11111xxxxxx
00 01 11 10 00
01
11
10
cd
ab
11111xxxxxx
00 01 11 10 00
01 11 10
b
2 3
y
2 3
d
1 2
1 2
3
1 2
c
k
1 2 3
1 2
1 2
b
d
2 3
1 2
3
1 2
1 2
3
1 2
1 2
3 a
z
a
c
2 3
1 2
x
1 2 3 4 5
Trang 17V 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));
}
Trang 18MỤ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