Bài tập kỹ thuật số ứng dụng thiết kế mạch chuyển mã từ bcd 7421 sang dư 3

  • Số trang: 21 |
  • Loại file: PDF |
  • Lượt xem: 26 |
  • Lượt tải: 0
tranphuong5053

Đã đăng 6896 tài liệu

Mô tả:

ĐẠI HỌC BÁCH KHOA ĐÀ NẴNG KHOA CÔNG NGHỆ THÔNG TIN ____***____ BÀI TẬP KỸ THUẬT SỐ ỨNG DỤNG ĐỀ TÀI 16: THIẾT KẾ MẠCH CHUYỂN MÃ TỪ BCD 7421 SANG DƯ 3  Giảng viên Sinh viên MSSV Lớp : : : : TS.Đặng Bá Lư Hồ Tá Quý 102130036 13T1 Đà Nẵng, ngày 11 tháng 11 năm 2015 Bài tập kĩ thuật số ứng dụng I. Thiết kế mạch chuyển mã BCD 7421 sang Dư 3 Mạch chuyển mã BCD 7421 sang Dư 3 II. Lập bảng công tác: BCD 7421 ABCD DƯ 3 XYZW 0 1 2 3 4 5 6 0000 0001 0010 0011 0100 0101 0110 0011 0100 0101 0110 0111 1000 1001 7 8 9 1000 1001 1010 1010 1011 1100 10 11 12 13 14 15 0111 1011 1100 1101 1110 1111 xxxx xxxx xxxx xxxx xxxx xxxx SVTH: HỒ TÁ QUÝ - LỚP 13T1 TRANG 2 Bài tập kĩ thuật số ứng dụng Thiết kế mạch chuyển mã BCD 7421 sang Dư 3 III. Thiết kế mạch dạng OR_AND, NAND_NAND 1. Tối giản bằng bảng K - Đánh vòng các ô toàn 1 ta có biểu thức tối giản của nguyên hàm Dựa vào bảng K ta có 𝑥(𝑎, 𝑏, 𝑐, 𝑑) = 𝑎 + 𝑏𝑑 + 𝑏𝑐 Ta có 𝑦(𝑥, 𝑏, 𝑐, 𝑑) = 𝑏𝑐̅𝑑̅ + 𝑎̅𝑏̅𝑑 + 𝑏̅𝑐 SVTH: HỒ TÁ QUÝ - LỚP 13T1 TRANG 3 Bài tập kĩ thuật số ứng dụng Thiết kế mạch chuyển mã BCD 7421 sang Dư 3 Ta có: 𝑧(𝑎, 𝑏, 𝑐, 𝑑) = 𝑐̅𝑑̅ + 𝑐𝑑 + 𝑎𝑑 Ta có: 𝑤(𝑎, 𝑏, 𝑐, 𝑑) = 𝑎̅𝑑̅ + 𝑎𝑑 2. Tối giản bằng định lí logic. a) x=∑(5,6,8,9,10) và điều kiện ràng buộc ∑(7,11,12,13,14,15) = 0 ((𝑎𝑏̅𝑐̅𝑑̅ + 𝑎𝑏𝑐̅𝑑̅)+(𝑎𝑏̅𝑐̅𝑑+𝑎𝑏𝑐̅𝑑)+(𝑎𝑏̅𝑐𝑑 + 𝑎𝑏𝑐𝑑)+(𝑎𝑏̅𝑐𝑑̅ + 𝑎𝑏𝑐𝑑̅)) +(((𝑎𝑏𝑐̅𝑑+𝑎̅𝑏𝑐̅𝑑) + (𝑎̅𝑏𝑐𝑑 + 𝑎𝑏𝑐𝑑))+((𝑎̅𝑏𝑐𝑑 + 𝑎𝑏𝑐𝑑) + (𝑎̅𝑏𝑐𝑑̅ + 𝑎𝑏𝑐𝑑̅ ))) =( 𝑎𝑐̅𝑑̅ + 𝑎𝑐̅𝑑 + 𝑎𝑐𝑑 + 𝑎𝑐𝑑̅ ) + (𝑏𝑐̅𝑑 + 𝑏𝑐𝑑) + (𝑏𝑐𝑑 + 𝑏𝑐𝑑̅ ) = a+bd+bc SVTH: HỒ TÁ QUÝ - LỚP 13T1 TRANG 4 Bài tập kĩ thuật số ứng dụng Thiết kế mạch chuyển mã BCD 7421 sang Dư 3 b) y=∑(1,2,3,4,10) và điều kiện ràng buộc ∑(7,11,12,13,14,15) = 0 (𝑎̅𝑏̅𝑐̅𝑑 + 𝑎̅𝑏̅𝑐𝑑) + (𝑎̅𝑏̅𝑐𝑑̅+𝑎̅𝑏̅𝑐𝑑 + 𝑎𝑏̅𝑐𝑑̅ + 𝑎𝑏̅𝑐𝑑)+(𝑎̅𝑏𝑐̅𝑑̅+𝑎𝑏𝑐̅𝑑̅) =(𝑎̅𝑏̅𝑑 + 𝑏̅𝑐 + 𝑏𝑐̅𝑑̅) c) z=∑(0,3,4,8,9) và điều kiện ràng buộc ∑(7,11,12,13,14,15) = 0 (𝑎̅𝑏̅𝑐̅𝑑̅ + 𝑎̅𝑏𝑐̅𝑑̅ + 𝑎𝑏̅𝑐̅𝑑̅ +a𝑏𝑐̅𝑑̅)+( 𝑎̅𝑏̅𝑐𝑑 + 𝑎̅𝑏𝑐𝑑+𝑎𝑏̅𝑐𝑑+ 𝑎𝑏𝑐𝑑)+(𝑎𝑏̅𝑐̅𝑑 + 𝑎𝑏̅𝑐𝑑 + 𝑎𝑏𝑐̅𝑑+ 𝑎𝑏𝑐𝑑) =𝑐̅𝑑̅ + 𝑐𝑑 + 𝑎𝑑 d) w=∑ 0,2,4,6,9 và điều kiện ràng buộc ∑(7,11,12,13,14,15) = 0 ((𝑎̅𝑏̅𝑐̅𝑑̅ + 𝑎̅𝑏𝑐̅𝑑̅ ) + (𝑎̅𝑏̅𝑐𝑑̅ + 𝑎̅𝑏𝑐𝑑̅ )) + ((𝑎𝑏̅𝑐̅𝑑 + 𝑎𝑏̅𝑐𝑑) + (𝑎𝑏𝑐̅𝑑 + 𝑎𝑏𝑐𝑑)) = (𝑎̅𝑐̅𝑑̅ + 𝑎̅𝑐𝑑̅ ) + (𝑎𝑏̅𝑑 + 𝑎𝑏𝑑) = 𝑎̅𝑑̅+ad 3. Thiết kế mạch. a. Mạch OR_AND 𝑥(𝑎, 𝑏, 𝑐, 𝑑) = 𝑎 + 𝑏𝑑 + 𝑏𝑐 𝑦(𝑥, 𝑏, 𝑐, 𝑑) = 𝑏𝑐̅𝑑̅ + 𝑎̅𝑏̅𝑑 + 𝑏̅𝑐 𝑧(𝑎, 𝑏, 𝑐, 𝑑) = 𝑐̅𝑑̅ + 𝑐𝑑 + 𝑎𝑑 𝑤(𝑎, 𝑏, 𝑐, 𝑑) = 𝑎̅𝑑̅ + 𝑎𝑑 Vẽ mạch: SVTH: HỒ TÁ QUÝ - LỚP 13T1 TRANG 5 Bài tập kĩ thuật số ứng dụng Thiết kế mạch chuyển mã BCD 7421 sang Dư 3 Chương trình C mô phỏng mạch OR_AND: #include #include #include /****************************************/ /******** MO PHONG MACH CHUYEN MA *******/ /*********** BCD 7421->MA DU 3 **********/ /************* MACH OR_AND ***********/ /****************************************/ void abcd(char i,char *x, char *a, char *b, char *c,char *d); main() { char a,b,c,d,i,MA8421[4]={8,4,2,1},MA7421[4]={7,4,2,1}; printf("\nMACH CHUYEN MA BCD 7421 -> MA DU 3\t"); printf("\n\t MACH OR_AND\t"); printf("\n_________MA7421_____MADu3__"); printf("\n| SoTP |a|b|c|d| |x|y|z|w|\n"); for(i=0;i<=9;i++) { if(i<=3) abcd(i,MA8421,&a,&b,&c,&d); else abcd(i,MA7421,&a,&b,&c,&d); printf("|\%5d |%d|%d|%d|%d| |%c|%c|%c|%c|\n",i,a,b,c,d,(a||(b&&d)||(b&&c))|0x30,(((b &&!c&&!d)||(!a&&!b&&d)|(!b&&c)))|0x30,((!c&&!d)||( c&&d)|(a&&d))|0x30,(!a&&!d||(a&&d))|0x30); SVTH: HỒ TÁ QUÝ - LỚP 13T1 TRANG 6 Bài tập kĩ thuật số ứng dụng Thiết kế mạch chuyển mã BCD 7421 sang Dư 3 } } void abcd(char i,char *x, char *a, char *b, char *c,char *d) { char j=i; *a=j>=*x?1:0; if(*a) j-=*x; *b=j>=*(x+1)?1:0; if(*b) j-=x[1]; *c=j>=x[2]?1:0; if(*c) j-=*(x+2); *d=j>=*(x+3)?1:0; if(*d) j-=*(x+3); } Kết quả: SVTH: HỒ TÁ QUÝ - LỚP 13T1 TRANG 7 Bài tập kĩ thuật số ứng dụng Thiết kế mạch chuyển mã BCD 7421 sang Dư 3 b) Mạch NAND_NAND Từ biểu thức tối giản của nguyên hàm dạng OR_AND, phủ định 2 lần(triển khai đến số hạng)ta có biểu thức tối giản của nguyên hàm dạng NAND_NAND 𝑥̿ = ̿̿̿̿̿̿̿̿̿̿̿̿̿̿̿̿ 𝑎 + 𝑏𝑑 + 𝑏𝑐 = ̅̅̅̅̅̅̅̅̅̅ 𝑎̅ ̅̅̅ 𝑏𝑑̅ ̅̅̅ 𝑏𝑐 ̅̅̅̅̅̅̅̅̅̅̅̅̅̅̅ 𝑦̿ = ̿̿̿̿̿̿̿̿̿̿̿̿̿̿̿̿̿̿̿̿̿ 𝑏𝑐̅𝑑̅ + 𝑎̅𝑏̅𝑑 + 𝑏̅𝑐 = ̅̅̅̅̅ 𝑏𝑐̅𝑑̅ ̅̅̅̅̅ 𝑎̅𝑏̅𝑑 ̅̅̅ 𝑏̅𝑐 ̅̅̅̅̅̅̅̅̅̅̅ 𝑧̿ = ̿̿̿̿̿̿̿̿̿̿̿̿̿̿̿̿̿̿ 𝑐 ̅𝑑̅ + 𝑐𝑑 + 𝑎𝑑 = 𝑐̅̅̅̅ 𝑑̅ ̅̅̅ 𝑐𝑑 ̅̅̅̅ 𝑎𝑑 ̅̅̅̅̅̅̅̅ ̅̅̅̅ 𝑤 ̿ = ̿̿̿̿̿̿̿̿̿̿̿ 𝑎̅𝑑̅ + 𝑎𝑑 = 𝑎 ̅𝑑̅ ̅̅̅̅ 𝑎𝑑 Vẽ mạch: SVTH: HỒ TÁ QUÝ - LỚP 13T1 TRANG 8 Bài tập kĩ thuật số ứng dụng Thiết kế mạch chuyển mã BCD 7421 sang Dư 3 Chương trình C: #include #include #include /****************************************/ /******** MO PHONG MACH CHUYEN MA *******/ /*********** BCD 7421->MA DU 3 **********/ /************* MACH NAND_NAND ***********/ /****************************************/ void abcd(char i,char *x, char *a, char *b, char *c,char *d); main() { char a,b,c,d,i,MA8421[4]={8,4,2,1},MA7421[4]={7,4,2,1}; printf("\n MACH CHUYEN MA BCD 7421 -> MA DU 3\t"); printf("\n\t MACH NAND_NAND\t"); printf("\n_________MA7421_____MADu3__"); printf("\n| SoTP |a|b|c|d| |x|y|z|w|\n"); for(i=0;i<=9;i++) { if(i<=3) abcd(i,MA8421,&a,&b,&c,&d); else abcd(i,MA7421,&a,&b,&c,&d); printf("|\%5d |%d|%d|%d|%d| |%c|%c|%c|%c|\n",i,a,b,c,d,(!(!a&&!(b&&d)&&!(b&&c)))|0x 30,(!(!(b&&!c&&!d)&&!(!a&&!b&&d)&&!(!b&&c)))|0x30, (!(!(!c&&!d)&&!(c&&d)&&!(a&&d)))|0x30,(!(!(!a&&!d)& &!(a&&d)))|0x30); } } void abcd(char i,char *x, char *a, char *b, char *c,char *d) { char j=i; *a=j>=*x?1:0; if(*a) j-=*x; *b=j>=*(x+1)?1:0; if(*b) j-=x[1]; *c=j>=x[2]?1:0; if(*c) j-=*(x+2); *d=j>=*(x+3)?1:0; if(*d) j-=*(x+3); } SVTH: HỒ TÁ QUÝ - LỚP 13T1 TRANG 9 Bài tập kĩ thuật số ứng dụng Thiết kế mạch chuyển mã BCD 7421 sang Dư 3 Kết quả: SVTH: HỒ TÁ QUÝ - LỚP 13T1 TRANG 10 Bài tập kĩ thuật số ứng dụng IV. Thiết kế mạch chuyển mã BCD 7421 sang Dư 3 Thiết kế mạch dạng AND_OR, NOR_NOR, NOR_AND 1. Tối giản bằng bảng K. - Đánh dấu các ô toàn 0 ta có biểu thức tối giản của đảo hàm. 𝑥̅ = 𝑎̅𝑏̅ + 𝑎̅𝑐̅𝑑̅ 𝑦̅ = 𝑏𝑐 + 𝑏𝑑 + 𝑎𝑑 + 𝑏̅𝑐̅𝑑̅ SVTH: HỒ TÁ QUÝ - LỚP 13T1 TRANG 11 Bài tập kĩ thuật số ứng dụng Thiết kế mạch chuyển mã BCD 7421 sang Dư 3 𝑧̅ = 𝑐𝑑̅ + 𝑎̅𝑐̅𝑑 𝑤 ̅ = 𝑎̅𝑑 + 𝑎𝑑̅ SVTH: HỒ TÁ QUÝ - LỚP 13T1 TRANG 12 Bài tập kĩ thuật số ứng dụng Thiết kế mạch chuyển mã BCD 7421 sang Dư 3 2. Tối giản bằng định lý. a) 𝑥̅ =∑(0,1,2,3,4) và điều kiện ràng buộc ∑(7,11,12,13,14,15) = 0 (𝑎̅𝑏̅𝑐̅𝑑̅ + 𝑎̅𝑏𝑐̅𝑑̅)+( 𝑎̅𝑏̅𝑐̅𝑑̅ + 𝑎̅𝑏̅𝑐̅𝑑 + 𝑎̅𝑏̅𝑐𝑑̅ + 𝑎̅𝑏̅𝑐𝑑) = 𝑎̅𝑐̅𝑑̅ + 𝑎̅𝑏̅ b) 𝑦̅=∑(0,5,6,8,9) và điều kiện ràng buộc ∑(7,11,12,13,14,15) = 0 (𝑎̅𝑏̅𝑐̅𝑑̅ + 𝑎𝑏̅𝑐̅𝑑̅)+(𝑎̅𝑏𝑐̅𝑑 + 𝑎̅𝑏𝑐𝑑 + 𝑎𝑏𝑐̅𝑑 + 𝑎𝑏𝑐𝑑)+(𝑎̅𝑏𝑐𝑑̅ + 𝑎̅𝑏𝑐𝑑 + 𝑎𝑏𝑐𝑑̅ + 𝑎𝑏𝑐𝑑)+(𝑎𝑏̅𝑐̅𝑑 + 𝑎𝑏̅𝑐𝑑 + 𝑎𝑏𝑐̅𝑑 + 𝑎𝑏𝑐𝑑) = 𝑏̅𝑐̅𝑑̅ + 𝑏𝑑 + 𝑏𝑐 + 𝑎𝑑 c) 𝑧̅=∑(1,2,6,10,14) và điều kiện ràng buộc ∑(7,11,12,13,14,15) = 0 (𝑎̅𝑏̅𝑐̅𝑑 + 𝑎̅𝑏𝑐̅𝑑)+(𝑎̅𝑏̅𝑐𝑑̅ + 𝑎̅𝑏𝑐𝑑̅ + 𝑎𝑏̅𝑐𝑑̅ + 𝑎𝑏𝑐𝑑̅) = 𝑐𝑑̅ + 𝑎̅𝑐̅𝑑 d) 𝑧̅=∑(1,2,6,10,14) và điều kiện ràng buộc ∑(7,11,12,13,14,15) = 0 (𝑎̅𝑏̅𝑐̅𝑑 + 𝑎̅𝑏̅𝑐𝑑 + 𝑎̅𝑏𝑐̅𝑑 + 𝑎̅𝑏𝑐𝑑)+(𝑎𝑏̅𝑐̅𝑑̅ + 𝑎𝑏̅𝑐𝑑̅ + 𝑎𝑏𝑐̅𝑑̅ + 𝑎𝑏𝑐𝑑̅) = 𝑎̅𝑑 + 𝑎𝑑̅ 3. Thiết kế mạch a) Thiết kế mạch a. Mạch AND_OR - Từ biểu thức tối giản của đảo hàm phủ định 1 lần nữa (triển khai đến các biến) ta có biểu thức tối giản của nguyên hàm dạng AND_OR. ̅̅̅̅̅̅̅̅̅̅̅̅ 𝑥̿ = 𝑎 ̅𝑏̅ + 𝑎̅𝑐̅𝑑̅ = ̅̅̅ 𝑎̅𝑏̅ ̅̅̅̅̅ 𝑎̅𝑐̅𝑑̅ = (𝑎 + 𝑏)(𝑎 + 𝑐 + 𝑑) ̅̅̅̅̅̅̅̅̅̅̅̅̅̅̅̅̅̅̅̅̅̅̅̅̅̅ 𝑦̿ = 𝑏𝑐 + 𝑏𝑑 + 𝑎𝑑 + 𝑏̅𝑐̅𝑑̅ = ̅̅̅ 𝑏𝑐 ̅̅̅ 𝑏𝑑̅ ̅̅̅̅ 𝑎𝑑 ̅̅̅̅̅ 𝑏̅𝑐̅𝑑̅ = (𝑏̅ + 𝑐̅)(𝑏̅ + 𝑑̅ )(𝑎̅ + 𝑑̅ )(𝑏 + 𝑐 + 𝑑) ̅̅̅̅̅̅̅̅̅̅̅̅ ̅ + 𝑎̅𝑐̅𝑑 = ̅̅̅ 𝑧̿ = 𝑐𝑑 𝑐𝑑̅ ̅̅̅̅̅ 𝑎̅𝑐̅𝑑 = (𝑐̅ + 𝑑)(𝑎 + 𝑐 + 𝑑̅ ) ̅̅̅̅̅̅̅̅̅̅̅ ̅̅̅̅ 𝑤 ̿ =𝑎 ̅𝑑 + 𝑎𝑑̅ = 𝑎 ̅𝑑 ̅̅̅̅ 𝑎𝑑̅ = (𝑎 + 𝑑̅ )(𝑎̅ + 𝑑) SVTH: HỒ TÁ QUÝ - LỚP 13T1 TRANG 13 Bài tập kĩ thuật số ứng dụng Thiết kế mạch chuyển mã BCD 7421 sang Dư 3 Vẽ mạch: Chương trình C: #include #include #include /****************************************/ /******** MO PHONG MACH CHUYEN MA *******/ /*********** BCD 7421->MA DU 3 **********/ /************* MACH AND_OR ***********/ /****************************************/ void abcd(char i,char *x, char *a, char *b, char *c,char *d); main() { char a,b,c,d,i,MA8421[4]={8,4,2,1},MA7421[4]={7,4,2,1}; SVTH: HỒ TÁ QUÝ - LỚP 13T1 TRANG 14 Bài tập kĩ thuật số ứng dụng Thiết kế mạch chuyển mã BCD 7421 sang Dư 3 printf("\n MACH CHUYEN MA BCD 7421 -> MA DU 3\t"); printf("\n\t MACH AND_OR\t"); printf("\n_________MA7421_____MADu3__"); printf("\n| SoTP |a|b|c|d| |x|y|z|w|\n"); for(i=0;i<=9;i++) { if(i<=3) abcd(i,MA8421,&a,&b,&c,&d); else abcd(i,MA7421,&a,&b,&c,&d); printf("|\%5d |%d|%d|%d|%d| |%c|%c|%c|%c|\n",i,a,b,c,d,((a||b)&&(a||c||d))|0x30,((!b||!c)&&(! b||!d)&&(!a||!d)&&(b||c||d))|0x30,((!c||d)&&(a||c||!d))|0x30,((a||!d )&&(!a||d))|0x30); } } void abcd(char i,char *x, char *a, char *b, char *c,char *d) { char j=i; *a=j>=*x?1:0; if(*a) j-=*x; *b=j>=*(x+1)?1:0; if(*b) j-=x[1]; *c=j>=x[2]?1:0; if(*c) j-=*(x+2); *d=j>=*(x+3)?1:0; if(*d) j-=*(x+3); } SVTH: HỒ TÁ QUÝ - LỚP 13T1 TRANG 15 Bài tập kĩ thuật số ứng dụng Thiết kế mạch chuyển mã BCD 7421 sang Dư 3 Kết quả: b. Mạch NOR_AND Từ biểu thức tối giản của đảo hàm phủ định 1 lần nữa ( không triển khai) ta có biểu thức tối giản của nguyên hàm dạng NOR_AND. ̅̅̅̅̅̅̅̅̅̅̅̅ 𝑥̿ = 𝑎 ̅𝑏̅ + 𝑎̅𝑐̅𝑑̅ ̅̅̅̅̅̅̅̅̅̅̅̅̅̅̅̅̅̅̅̅̅̅̅̅̅̅ 𝑦̿ = 𝑏𝑐 + 𝑏𝑑 + 𝑎𝑑 + 𝑏̅𝑐̅𝑑̅ ̅̅̅̅̅̅̅̅̅̅̅̅ ̅ + 𝑎̅𝑐̅𝑑 𝑧̿ = 𝑐𝑑 ̅̅̅̅̅̅̅̅̅̅̅ 𝑤 ̿ =𝑎 ̅𝑑 + 𝑎𝑑̅ SVTH: HỒ TÁ QUÝ - LỚP 13T1 TRANG 16 Bài tập kĩ thuật số ứng dụng Thiết kế mạch chuyển mã BCD 7421 sang Dư 3 Vẽ mạch: Chương trình C: #include #include #include /****************************************/ /******** MO PHONG MACH CHUYEN MA *******/ /*********** BCD 7421->MA DU 3 **********/ /************* MACH NOR_AND ***********/ /****************************************/ void abcd(char i,char *x, char *a, char *b, char *c,char *d); main() { SVTH: HỒ TÁ QUÝ - LỚP 13T1 TRANG 17 Bài tập kĩ thuật số ứng dụng Thiết kế mạch chuyển mã BCD 7421 sang Dư 3 char a,b,c,d,i,MA8421[4]={8,4,2,1},MA7421[4]={7,4,2,1}; printf("\n MACH CHUYEN MA BCD 7421 -> MA DU 3\t"); printf("\n\t MACH NOR_AND\t"); printf("\n_________MA7421_____MADu3__"); printf("\n| SoTP |a|b|c|d| |x|y|z|w|\n"); for(i=0;i<=9;i++) { if(i<=3) abcd(i,MA8421,&a,&b,&c,&d); else abcd(i,MA7421,&a,&b,&c,&d); printf("|\%5d |%d|%d|%d|%d| |%c|%c|%c|%c|\n",i,a,b,c,d,(!((!a&&!b)||(!a&&!c&&!d)))|0x30,( !((b&&c)||(b&&d)||(a&&d)||(!b&&!c&&!d)))|0x30,(!((c&&!d)|| (!a&&!c&&d)))|0x30,(!((!a&&d)||(a&&!d)))|0x30); } } void abcd(char i,char *x, char *a, char *b, char *c,char *d) { char j=i; *a=j>=*x?1:0; if(*a) j-=*x; *b=j>=*(x+1)?1:0; if(*b) j-=x[1]; *c=j>=x[2]?1:0; if(*c) j-=*(x+2); *d=j>=*(x+3)?1:0; if(*d) j-=*(x+3); } SVTH: HỒ TÁ QUÝ - LỚP 13T1 TRANG 18 Bài tập kĩ thuật số ứng dụng Thiết kế mạch chuyển mã BCD 7421 sang Dư 3 Kết quả: c. Mạch NOR_NOR Từ biểu thức tối giản của nguyên hàm dạng AND_OR, phủ định 2 lần nữa ( triển khai đến số hạng) ta có biểu thức tối giản của nguyên hàm dạng NOR_NOR. ̅̅̅̅̅̅̅ ̅̅̅̅̅̅̅̅̅̅̅̅ 𝑥̿ = ̿̿̿̿̿̿̿̿̿̿̿̿̿̿̿̿̿̿̿̿̿̿̿̿ (𝑎 + 𝑏)(𝑎 + 𝑐 + 𝑑) = ̅̅̅̅̅̅̅̅̅̅̅̅̅̅̅̅̅̅̅̅̅̅̅ 𝑎+𝑏+𝑎 +𝑐+𝑑 ̿̿̿̿̿̿̿̿̿̿̿̿̿̿̿̿̿̿̿̿̿̿̿̿̿̿̿̿̿̿̿̿̿̿̿̿̿̿̿̿̿̿̿ ̅ + 𝑐̅)(𝑏̅ + 𝑑̅ )(𝑎̅ + 𝑑̅ )(𝑏 + 𝑐 + 𝑑) 𝑦̿ = (𝑏 ̅̅̅̅̅̅̅̅̅̅̅̅̅̅̅̅̅̅̅̅̅̅̅̅̅̅̅̅̅̅̅̅̅̅̅̅̅̅̅̅̅̅̅̅ = ̅̅̅̅̅̅̅ 𝑏̅ + 𝑐̅ + ̅̅̅̅̅̅̅ 𝑏̅ + 𝑑̅ + ̅̅̅̅̅̅̅ 𝑎̅ + 𝑑̅ + ̅̅̅̅̅̅̅̅̅̅̅̅ 𝑏+𝑐+𝑑 ̅̅̅̅̅̅̅̅̅̅̅̅̅̅̅̅̅̅̅̅̅̅̅̅ 𝑧̿ = ̿̿̿̿̿̿̿̿̿̿̿̿̿̿̿̿̿̿̿̿̿̿̿̿ (𝑐̅ + 𝑑)(𝑎 + 𝑐 + 𝑑̅ ) = ̅̅̅̅̅̅̅ 𝑐̅ + 𝑑 + ̅̅̅̅̅̅̅̅̅̅̅̅ 𝑎+𝑐+𝑑 ̅̅̅̅̅̅̅̅̅̅̅̅̅̅̅̅̅̅ 𝑤 ̿ = ̿̿̿̿̿̿̿̿̿̿̿̿̿̿̿̿̿̿̿̿ (𝑎 + 𝑑̅ )(𝑎̅ + 𝑑) = ̅̅̅̅̅̅̅ 𝑎 + 𝑑̅ + ̅̅̅̅̅̅̅ 𝑎̅ + 𝑑 SVTH: HỒ TÁ QUÝ - LỚP 13T1 TRANG 19 Bài tập kĩ thuật số ứng dụng Thiết kế mạch chuyển mã BCD 7421 sang Dư 3 Vẽ mạch: Chương trình C: #include #include #include /****************************************/ /******** MO PHONG MACH CHUYEN MA *******/ /*********** BCD 7421->MA DU 3 **********/ /************* MACH NOR_NOR ***********/ /****************************************/ void abcd(char i,char *x, char *a, char *b, char *c,char *d); main() { char a,b,c,d,i,MA8421[4]={8,4,2,1},MA7421[4]={7,4,2,1}; printf("\n MACH CHUYEN MA BCD 7421 -> MA DU 3\t"); printf("\n\t MACH NOR_NOR\t"); printf("\n_________MA7421_____MADu3__"); printf("\n| SoTP |a|b|c|d| |x|y|z|w|\n"); for(i=0;i<=9;i++) { if(i<=3) SVTH: HỒ TÁ QUÝ - LỚP 13T1 TRANG 20
- Xem thêm -