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