Bài giảng Điện tử số 1

BÀI GIẢNG TRÊN CỦA KHOA ĐTVT - BKĐN NỘI DUNG . Chương 1 . Hệ thống số đếm và khái niệm về mã Chương 2 . Đại số Boole Chương 3 . Các phần tử logic cơ bản Chương 4 . Hệ tổ hợp Chương 5 . Hệ tuần tự

pdf11 trang | Chia sẻ: tlsuongmuoi | Ngày: 15/07/2013 | Lượt xem: 1212 | Lượt tải: 1download
Bạn đang xem nội dung tài liệu Bài giảng Điện tử số 1, để tải tài liệu về máy bạn click vào nút DOWNLOAD ở trên
TRѬӠNG ĈҤI HӐC BÁCH KHOA ĈÀ NҸNG KHOA Ĉ,ӊN TӰ VIӈN THÔNG ----- oOo ----- BÀI GIҦNG Ĉ,ӊN TӰ SӔ 1 Ĉà Nҹng, 08 / 2007 Chѭѫng 1. HӋ thӕng sӕÿӃm và khái niӋm vӅ mã Trang 1 Chѭѫng 1 +ӊ THӔNG SӔĈӂM VÀ KHÁI NIӊM Vӄ MÃ 1.1. Hӊ THӔNG SӔĈӂM 1.1.1. HӋÿӃm 1. Khái niӋm +ӋÿӃm là tұp hӧp các phѭѫng pháp gӑi và biӇu diӉn các con sӕ bҵng các kí hiӋu có giá trӏ sӕ Oѭӧng xác ÿӏnh gӑi là các chӳ sӕ. 2. Phân loҥi Có thӇ chia các hӋÿӃm làm hai loҥi: hӋÿӃm theo vӏ trí và hӋÿӃm không theo vӏ trí. a. H͏ÿ͇m theo v͓ trí: +ӋÿӃm theo vӏ trí là hӋÿӃm mà trong ÿó giá trӏ sӕ lѭӧng cӫa chӳ sӕ còn phө thuӝc vào vӏ trí cӫa nó ÿӭng trong con sӕ cө thӇ. Ví dͭ: HӋ thұp phân là mӝt hӋÿӃm theo vӏ trí. Sӕ 1991 trong hӋ thұp phân ÿѭӧc biӇu diӉn bҵng 2 chӳ sӕ “1” và “9”, nhѭng do vӏ trí ÿӭng cӫa các chӳ sӕ này trong con sӕ là khác nhau nên sӁ mang các giá trӏ sӕ lѭӧng khác nhau, chҷng hҥn chӳ sӕ “1” ӣ vӏ trí hàng ÿѫn vӏ biӇu diӉn cho giá trӏ sӕ Oѭӧng là 1 song chӳ sӕ “1” ӣ vӏ trí hàng nghìn lҥi biӇu diӉn cho giá trӏ sӕ lѭӧng là 1000, hay chӳ sӕ “9” khi ӣ hàng chөc biӇu diӉn giá trӏ là 90 còn khi ӣ hàng trăm lҥi biӇu diӉn cho giá trӏ là 900. b. H͏ÿ͇m không theo v͓ trí: +ӋÿӃm không theo vӏ trí là hӋÿӃm mà trong ÿó giá trӏ sӕ lѭӧng cӫa chӳ sӕ không phө thuӝc vào Yӏ trí cӫa nó ÿӭng trong con sӕ. +ӋÿӃm La Mã là mӝt hӋÿӃm không theo vӏ trí. HӋÿӃm này sӱ dөng các ký tӵ “I”, “V”, “X”... ÿӇ biӇu diӉn các con sӕ, trong ÿó “I” biӇu diӉn cho giá trӏ sӕ lѭӧng 1, “V” biӉu diӉn cho giá trӏ sӕ Oѭӧng 5, “X” biӇu diӉn cho giá trӏ sӕ lѭӧng 10... mà không phө thuӝc vào vӏ trí các chӳ sӕ này ÿӭng trong con sӕ cө thӇ. Các hӋÿӃm không theo vӏ trí sӁ không ÿѭӧc ÿӅ cұp ÿӃn trong giáo trình này. 1.1.2. Cѫ sӕ cӫa hӋÿӃm 0ӝt sӕ A bҩt kǤ có thӇ biӇu diӉn bҵng dãy sau: A= am-1am-2.....a0a-1......a-n Trong ÿó ai là các chӳ sӕ, ( 1mni -¸-= ); i là các hàng sӕ, i nhӓ: hàng trҿ, i lӟn: hàng già. Giá trӏ sӕ lѭӧng cӫa các chӳ sӕ ai sӁ nhұn mӝt giá trӏ nào ÿó sao cho thӓa mãn bҩt ÿҷng thӭc sau: 1Na0 i -££ (ai nguyên) N ÿѭӧc gӑi là cѫ sӕ cӫa hӋÿӃm. &ѫ sӕ cӫa mӝt hӋÿӃm là sӕ lѭӧng ký tӵ phân biӋt ÿѭӧc sӱ Gөng trong mӝt hӋÿӃm. Các hӋ thӕng sӕÿӃm ÿѭӧc phân biӋt vӟi nhau bҵng mӝt cѫ sӕ N cӫa hӋ ÿӃm ÿó. Mӛi ký tӵ biӇu diӉn mӝt chӳ sӕ. Bài giҧng KӺ THUҰT SӔ Trang 2 Trong ÿӡi sӕng hҵng ngày chúng ta quen sӱ dөng hӋÿӃm thұp phân (decimal) vӟi N=10. Trong KӋ thӕng sӕ còn sӱ dөng nhӳng hӋÿӃm khác là hӋÿӃm nhӏ phân (binary) vӟi N=2, hӋÿӃm bát phân (octal) vӟi N=8 và hӋÿӃm thұp lөc phân (hexadecimal) vӟi N=16. - HӋ nhӏ phân : N =2 Þ ai = 0, 1. - HӋ thұp phân : N =10 Þ ai = 0, 1, 2, 3, 4, 5, 6, 7, 8, 9. - HӋ bát phân : N =8 Þ ai = 0, 1, 2, 3, 4, 5, 6, 7. - HӋ thұp lөc phân : N =16 Þ ai = 0, 1, 2, …8, 9, A, B, C,D, E, F. Khi ÿã xuҩt hiӋn cѫ sӕ N, ta có thӇ biӇu diӉn sӕ A dѭӟi dҥng mӝt ÿa thӭc theo cѫ sӕ N, ÿѭӧc ký hiӋu là A(N) : A(N) = am-1.Nm-1 + am-2.Nm-2 +...+ a0.N0 + a-1.N-1 + ... + a-n.N-n Hay: å - -= = 1m ni i i(N) NaA (1.1) 9ͣi N=10 (h͏ th̵p phân): A(10) = am-1.10m-1 + am-2.10m-2 +....+ a0.100 +...+ a-n.10-n 1999,959(10) =1.103 + 9.102 + 9.101 + 9.100 + 9.10-1 + 5.10-2 + 9.10-3 9ͣi N=2 (h͏ nh͓ phân): A(2) = am-1.2m-1 + am-2.2m-2 +...+ a0.20 ....+a-n2-n 1101(2) = 1.23 +1.22 + 0.21 + 1.20 = 13(10) 9ͣi N=16 (h͏ th̵p lͭc phân): A(16) = am-1.16m-1 + am-2.16m-2 +...+ a0.160 + a-116-1 + ... + a-n16-n 3FF(16) = 3.162 + 15.161 + 15.160 = 1023(10) 9ͣi N=8 (h͏ bát phân): A(8) = am-1.8m-1 + am-2.8m-2 +...+ a0.80 + a-1.8-1 + ... + a-n.8-n 376(8) = 3.82 + 7.81 + 6.80 = 254(10) Nhѭ vұy, biӇu thӭc (1.1) cho phép ÿәi các sӕӣ bҩt kǤ hӋ nào sang hӋ thұp phân (hӋ 10). 1.1.3. Ĉәi cѫ sӕ 1. Ĉәi tӯ cѫ sӕ d sang cѫ sӕ 10 ĈӇ chuyӇn ÿәi mӝt sӕӣ hӋÿӃm cѫ sӕ d sang hӋÿӃm cѫ sӕ 10 ngѭӡi ta khai triӇn con sӕ trong cѫ Vӕ d dѭӟi dҥng ÿa thӭc theo cѫ sӕ cӫa nó (theo biӇu thӭc 1.3). Ví dͭ 1.1 Ĉәi sӕ 1101(2)ӣ hӋ nhӏ phân sang hӋ thұp phân nhѭ sau: 1011(2) = 1.23 + 0.22 + 1.21 + 1.20 = 11(10) 2. Ĉәi tӯ cѫ sӕ 10 sang cѫ sӕ d ĈӇ chuyӇn ÿәi mӝt sӕ tӯ cѫ sӕ 10 sang cѫ sӕ d (d = 2, 8, 16) ngѭӡi ta lҩy con sӕ trong cѫ sӕ 10 chia liên tiӃp cho d ÿӃn khi thѭѫng sӕ bҵng không thì dӯng lҥi. KӃt quҧ chuyӇn ÿәi có ÿѭӧc trong KӋÿӃm cѫ sӕ d là tұp hӧp các sӕ dѭ cӫa phép chia ÿѭӧc viӃt theo thӭ tӵ ngѭӧc lҥi, nghƭa là sӕ dѭ ÿҫu tiên có trӑng sӕ nhӓ nhҩt. (xem ví dө 1.2) Chѭѫng 1. HӋ thӕng sӕÿӃm và khái niӋm vӅ mã Trang 3 Ví dͭ 1.2: .Ӄt luұn: Gӑi d1, d2, ..,dn lҫn lѭӧt là dѭ sӕ cӫa phép chia sӕ thұp phân cho cѫ sӕ d ӣ lҫn thӭ 1, 2, 3, 4, .., n thì kӃt quҧ chuyӇn ÿәi mӝt sӕ tӯ hӋÿӃm cѫ sӕ 10 (thұp phân) sang hӋÿӃm cѫ sӕ d sӁ là: dndn-1dn-2...d1, nghƭa là dѭ sӕ sau cùng cӫa phép chia là bít có trӑng sӕ cao nhҩt (MSB), còn dѭ sӕÿҫu tiên là bít có trӑng sӕ nhӓ nhҩt (LSB). Trong các ví dө trên, cѫ sӕ cӫa hӋÿӃm ÿѭӧc ghi ӣ dҥng chӍ sӕ bên dѭӟi. Ngoài ra cNJng có thӇ ký Wӵ chӳÿӇ phân biӋt nhѭ sau: B - HӋ nhӏ phân (Binary) O - HӋ bát phân (Octal) D - HӋ thұp phân (Decmal) H - HӋ thұp lөc phân (Hexadecimal) Ví dͭ: 1010B có nghƭa là 1010(2) 37FH có nghƭa là 37F(16) & Quy t̷c chuy͋n ÿ͝i giͷa các h͏ÿ͇m c˯ s͙ 2, 8, 16 ? 1.2. HӊĈӂM NHӎ PHÂN VÀ KHÁI NIӊM Vӄ MÃ 1.2.1. HӋÿӃm nhӏ phân 1. Khái niӋm +ӋÿӃm nhӏ phân, còn gӑi là hӋÿӃm cѫ sӕ 2, là hӋÿӃm trong ÿó ngѭӡi ta chӍ sӱ dөng hai kí hiӋu 0 và 1 ÿӇ biӇu diӉn tҩt cҧ các sӕ. Hai ký hiӋu ÿó gӑi chung là bit hoһc digit, nó ÿһc trѭng cho mҥch ÿLӋn tӱ có hai trҥng thái әn ÿӏnh hay còn gӑi là 2 trҥng thái bӅn cӫa FLIP- FLOP (ký hiӋu là FF). Trong hӋÿӃm nhӏ phân ngѭӡi ta quy ѭӟc nhѭ sau: - Mӝt nhóm 4 bít gӑi là 1 nibble. - Mӝt nhóm 8 bít gӑi là 1 byte. - Nhóm nhiӅu bytes gӑi là tӯ (word), có thӇ có tӯ 2 bytes (16 bít), tӯ 4 bytes (32 bít), ... ĈӇ hiӇu rõ hѫn mӝt sӕ khái niӋm, ta xét sӕ nhӏ phân 4 bít: a3a2a1a0. BiӇu diӉn dѭӟi dҥng ÿa thӭc theo cѫ sӕ cӫa nó là: a3a2a1a0 (2) = a3.23 + a2.22 + a1.21 + a0.20 Trong ÿó: - 23, 22, 21, 20 (hay 8, 4, 2, 1) ÿѭӧc gӑi là các trӑng sӕ. - a0 ÿѭӧc gӑi là bit có trӑng sӕ nhӓ nhҩt, hay còn gӑi bit có ý nghƭa nhӓ nhҩt (LSB - Least Significant Bit), còn gӑi là bít trҿ nhҩt. 1023 16 63 16 3 16 0 15 15 3 A(10)=1023 ® A(16)=3FFH 13 2 6 2 3 2 1 1 0 1 2 01 A(10)=13 ® A(2)=1101 Bài giҧng KӺ THUҰT SӔ Trang 4 - a3 ÿѭӧc gӑi là bit có trӑng sӕ lӟn nhҩt, hay còn gӑi là bít có ý nghƭa lӟn nhҩt (MSB - Most Significant Bit), còn gӑi là bít già nhҩt. Nhѭ vұy, vӟi sӕ nhӏ phân 4 bit a3a2a1a0 trong ÿó mӛi chӳ sӕ ai (i tӯ 0 ÿӃn 3) chӍ nhұn ÿѭӧc hai giá trӏ {0,1} ta có 24 = 16 tә hӧp nhӏ phân phân biӋt. %ҧng sau ÿây liӋt kê các tә hӧp mã nhӏ phân 4 bít cùng các giá trӏ sӕ thұp phân, sӕ bát phân và sӕ thұp lөc phân tѭѫng ӭng. & Tͳ b̫ng này hãy cho bi͇t m͙i quan h͏ giͷa các s͙ trong h͏ nh͓ phân vͣi các s͙ trong h͏ bát phân (N=8) và h͏ th̵p lͭc phân (N=16)? Tͳÿó suy ra ph˱˯ng pháp chuy͋n ÿ͝i nhanh giͷa các K͏ này? 6ӕ thұp phân a3a2a1a0 Sӕ bát phân Sӕ thұp lөc phân 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 0000 0001 0010 0011 0100 0101 0110 0111 1000 1001 1010 1011 1100 1101 1110 1111 00 01 02 03 04 05 06 07 10 11 12 13 14 15 16 17 0 1 2 3 4 5 6 7 8 9 A B C D E F %̫ng 1.1. Các t͝ hͫp mã nh͓ phân 4 bít 6ӵ chuyӇn ÿәi giӳa các hӋ thӕng sӕ ÿӃm khác nhau giӳ vai trò quan trӑng trong máy tính sӕ. Chúng ta biӃt rҵng 23 = 8 và 24 = 16, tӯ bҧng mã trên có thӇ nhұn thҩy mӛi chӳ sӕ trong hӋ bát phân Wѭѫng ÿѭѫng vӟi mӝt nhóm ba chӳ sӕ (3 bít) trong hӋ nhӏ phân, mӛi chӳ sӕ trong hӋ thұp lөc phân Wѭѫng ÿѭѫng vӟi mӝt nhóm bӕn chӳ sӕ (4 bít) trong hӋ nhӏ phân. Do ÿó, khi biӇu diӉn sӕ nhӏ phân nhiӅu bit trên máy tính ÿӇ tránh sai sót ngѭӡi ta thѭӡng biӇu diӉn thông qua sӕ thұp phân hoһc thұp Oөc phân hoһc bát phân. Ví dͭ 1.3: Xét viӋc biӇu diӉn sӕ nhӏ phân 1011111011111110(2). 1 0 1 1 1 1 1 0 1 1 1 1 1 1 1 0 9ұy, có thӇ biӇu diӉn : 137376(8) theo hӋ bát phân hoһc : BEFE(H) theo hӋ thұp lөc phân. 673731 EFEB Chѭѫng 1. HӋ thӕng sӕÿӃm và khái niӋm vӅ mã Trang 5 & Vͣi s͙ nh͓ phân n bít có bao nhiêu t͝ hͫp nh͓ phân khác nhau? Xét tr˱ͥng hͫp s͙ nh͓ phân 8 bít (n=8) a7a6a5a4a3a2a1a0 có bao nhiêu t͝ hͫp nh͓ phân (tͳ mã nh͓ phân) khác nhau? 2. Các phép tính trên sӕ nhӏ phân a. Phép c͡ng ĈӇ cӝng hai sӕ nhӏ phân, ngѭӡi ta dӵa trên qui tҳc cӝng nhѭ sau: 0 + 0 = 0 nhӟ 0 0 + 1 = 1 nhӟ 0 1 + 0 = 1 nhӟ 0 1 + 1 = 0 nhӟ 1 Ví dͭ 1.4: 3 ® 0011 2 ® 0010 5 ® 0101 = 1.22 + 1.20 = 5(10) b. Phép trͳ 0 - 0 = 0 mѭӧn 0 0 - 1 = 1 mѭӧn 1 1 - 0 = 1 mѭӧn 0 1 - 1 = 0 mѭӧn 0 Ví dͭ 1.5: 7 ® 0111 5 ® 0101 2 ® 0010 = 0.23 + 0.22 + 1.21 + 0.20 = 2(10) c. Phép nhân 0 . 0 = 0 0 . 1 = 0 1 . 0 = 0 1 . 1 = 1 Ví dͭ 1.6: 7 ® 0111 5 ® 0101 35 0111 0000 0111 0000 0100011 = 1.25 + 1.21 + 1.20 = 35(10) d. Phép chia 0 : 1 = 0 1 : 1 = 1 /˱u ý: Khi chia s͙ chia ph̫i khác 0 ++ - - x x Bài giҧng KӺ THUҰT SӔ Trang 6 Ví dͭ 1.7: 10 5 ® 1010 101 2 101 10(2) = 2(10) 00 0 Ӭng dөng thanh ghi dӏch thӵc hiӋn phép toán nhân hai, chia hai: 1.2.2. Khái niӋm vӅ mã 1. Ĉҥi cѭѫng Trong ÿӡi sӕng hàng ngày, con ngѭӡi giao tiӃp vӟi nhau thông qua mӝt hӋ thӕng ngôn ngӳ qui ѭӟc, nhѭng trong máy tính và các hӋ thӕng sӕ chӍ xӱ lý các dӳ liӋu nhӏ phân. Do ÿó, mӝt vҩn ÿӅÿһt ra là làm thӃ nào tҥo ra mӝt giao diӋn dӉ dàng giӳa ngѭӡi và máy tính, nghƭa là máy tính thӵc hiӋn ÿѭӧc nhӳng bài toán do con ngѭӡi ÿһt ra. Vì các máy tính sӕ hiӋn nay chӍ hiӇu các sӕ 0 và sӕ 1, nên bҩt kǤ thông tin nào dѭӟi dҥng các chӳ Vӕ, chӳ cái hoһc các ký tӵ phҧi ÿѭӧc biӃn ÿәi thành dҥng sӕ nhӏ phân trѭӟc khi nó có thӇÿѭӧc xӱ lý bҵng các mҥch sӕ. ĈӇ thӵc hiӋn ÿLӅu ÿó, ngѭӡi ta ÿһt ra vҩn ÿӅ vӅ mã hóa dӳ liӋu. Nhѭ vұy, mã hóa là quá trình biӃn ÿәi nhӳng ký hiӋu quen thuӝc cӫa con ngѭӡi sang nhӳng ký hiӋu quen thuӝc vӟi máy tính. Nhӳng sӕ liӋu ÿã mã hóa này ÿѭӧc nhұp vào máy tính, máy tính tính toán xӱ lý và sau ÿó máy tính thӵc hiӋn quá trình ngѭӧc lҥi là giҧi mã ÿӇ chuyӇn ÿәi các bít thông tin nhӏ phân thành các ký hiӋu quen thuӝc vӟi con ngѭӡi mà con ngѭӡi có thӇ hiӇu ÿѭӧc. Các lƭnh vӵc mã hóa bao gӗm: - Mã hóa sӕ thұp phân - Mã hóa ký tӵ - Mã hóa tұp lӋnh - Mã hóa tiӃng nói - Mã hóa hình ҧnh ..v..v.. Phҫn tiӃp theo chúng ta khҧo sát lƭnh vӵc mã hóa ÿѫn giҧn nhҩt là mã hóa sӕ thұp phân bҵng cách sӱ dөng các tӯ mã nhӏ phân. ViӋc mã hóa ký tӵ, tұp lӋnh, tiӃng nói, hình ҧnh... ÿӅu dӵa trên cѫ Vӣ mã hóa sӕ thұp phân. 0 0 0 0 0 1 011 0 0 0 0 0 0 0 111 Thanh ghi ban ÿҫu Thanh ghi sau khi dӏch trái 1 bít 'ӏch trái 1 bít « nhân 2 0 0 0 0 0 0 10 1 1 0 Thanh ghi sau khi dӏch phҧi 1 bít 'ӏch phҧi 1 bít « chia 20 Gѭ Hình 1.1. Ͱng dͭng thanh ghi d͓ch th͹c hi͏n phép toán nhân và chia 2 Chѭѫng 1. HӋ thӕng sӕÿӃm và khái niӋm vӅ mã Trang 7 2. Mã hóa sӕ thұp phân a. Khái ni͏m Trong thӵc tӃÿӇ mã hóa sӕ thұp phân ngѭӡi ta sӱ dөng các sӕ nhӏ phân 4 bit (a3a2a1a0) theo quy Wҳc sau: 0 ® 0000 ; 5 ® 0101 1 ® 0001 ; 6 ® 0110 2 ® 0010 ; 7 ® 0101 3 ® 0011 ; 8 ® 1000 4 ® 0100 ; 9 ® 1001 Các sӕ nhӏ phân dùng ÿӇ mã hóa các sӕ thұp phân ÿѭӧc gӑi là các sӕ BCD (Binary Coded Decimal: Sӕ thұp phân ÿѭӧc mã hóa bҵng sӕ nhӏ phân). b. Phân lo̩i Khi sӱ dөng sӕ nhӏ phân 4 bit ÿӇ mã hóa các sӕ thұp phân tѭѫng ӭng vӟi 24 = 16 tә hӧp mã nhӏ phân phân biӋt. Do viӋc chӑn 10 tә hӧp trong 16 tә hӧp ÿӇ mã hóa các ký hiӋu thұp phân tӯ 0 ÿӃn 9 mà trong thӵc tӃ xuҩt hiӋn nhiӅu loҥi mã BCD khác nhau. 0һc dù tӗn tҥi nhiӅu loҥi mã BCD khác nhau, nhѭng có thӇ chia làm hai loҥi chính: Mã BCD có tr͕ng s͙ và mã BCD không có tr͕ng s͙. b1. Mã BCD có trӑng sӕ là loҥi mã cho phép phân tích thành ÿa thӭc theo trӑng sӕ cӫa nó. Mã BCD có trӑng sӕÿѭӧc chia làm 2 loҥi là: mã BCD tӵ nhiên và mã BCD sӕ hӑc. Mã BCD t͹ nhiên là loҥi mã mà trong ÿó các trӑng sӕ thѭӡng ÿѭӧc sҳp xӃp theo thӭ tӵ tăng Gҫn. Ví dө: Mã BCD 8421, BCD 5421. Mã BCD s͙ h͕c là loҥi mã mà trong ÿó có tәng các trӑng sӕ luôn luôn bҵng 9.Ví dө: BCD 2421, BCD 5121, BCD8 4-2-1 Ĉһc trѭng cӫa mã BCD sӕ hӑc là có tính chҩt ÿӕi xӭng qua mӝt ÿѭӡng trung gian. Do Yұy, ÿӇ tìm tӯ mã BCD cӫa mӝt sӕ thұp phân nào ÿó ta lҩy bù (ÿҧo) tӯ mã BCD cӫa sӕ bù 9 Wѭѫng ӭng. Ví dͭ xét mã BCD 2421. Ĉây là mã BCD sӕ hӑc (tәng các trӑng sӕ bҵng 9), trong ÿó sӕ 3 (thұp phân) có tӯ mã là 0011, sӕ 6 (thұp phân) là bù 9 cӫa 3. Do vұy, có thӇ suy ra tӯ mã cӫa 6 Eҵng cách lҩy bù tӯ mã cӫa 3, nghƭa là lҩy bù 0011, ta sӁ có tӯ mã cӫa 6 là 1100. b2. Mã BCD không có trӑng sӕ là loҥi mã không cho phép phân tích thành ÿa thӭc theo trӑng Vӕ cӫa nó. Các mã BCD không có trӑng sӕ là: Mã Gray, Mã Gray thӯa 3. Ĉһc trѭng cӫa mã Gray là bӝ mã trong ÿó hai tӯ mã nhӏ phân ÿӭng kӃ tiӃp nhau bao giӡ cNJng chӍ khác nhau 1 bit. Ví dө: Các bҧng dѭӟi ÿây trình bày mӝt sӕ loҥi mã thông dөng. Mã Gray: 2 ® 0011 3 ® 0010 4 ® 0110 Còn vӟi mã BCD 8421: 3 ® 0011 4 ® 0100 Bài giҧng KӺ THUҰT SӔ Trang 8 %ҧng 1.2: Các mã BCD t͹ nhiên. BCD 8421 BCD 5421 BCD quá 3 a3 a2 a1 a0 b3 b2 b1 b0 c3 c2 c1 c0 6ӕ thұp phân 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 0 1 0 0 0 1 0 1 0 0 1 0 0 1 0 0 0 1 0 0 1 0 1 2 0 0 1 1 0 0 1 1 0 1 1 0 3 0 1 0 0 0 1 0 0 0 1 1 1 4 0 1 0 1 1 0 0 0 1 0 0 0 5 0 1 1 0 1 0 0 1 1 0 0 1 6 0 1 1 1 1 0 1 0 1 0 1 0 7 1 0 0 0 1 0 1 1 1 0 1 1 8 1 0 0 1 1 1 0 0 1 1 0 0 9 %ҧng 1.3: Các mã BCD s͙ h͕c BCD 2421 BCD 5121 BCD 84-2-1 a3 a2 a1 a0 b3 b2 b1 b0 c3 c2 c1 c0 6ӕ thұp phân 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 1 0 1 1 1 1 0 0 1 0 0 0 1 0 0 1 1 0 2 0 0 1 1 0 0 1 1 0 1 0 1 3 0 1 0 0 0 1 1 1 0 1 0 0 4 1 0 1 1 1 0 0 0 1 0 1 1 5 1 1 0 0 1 1 0 0 1 0 1 0 6 1 1 0 1 1 1 0 1 1 0 0 1 7 1 1 1 0 1 1 1 0 1 0 0 0 8 1 1 1 1 1 1 1 1 1 1 1 1 9 %ҧng 1.4: BCD t͹ nhiên và mã Gray. BCD 8421 BCD quá 3 Mã Gray Gray quá 3 a3 a2 a1 a0 c3 c2 c1 c0 G3 G2 G1 G0 g3 g2 g1 g0 6ӕ thұp phân 0 0 0 0 0 0 1 1 0 0 0 0 0 0 1 0 0 0 0 0 1 0 1 0 0 0 0 0 1 0 1 1 0 1 0 0 1 0 0 1 0 1 0 0 1 1 0 1 1 1 2 0 0 1 1 0 1 1 0 0 0 1 0 0 1 0 1 3 0 1 0 0 0 1 1 1 0 1 1 0 0 1 0 0 4 0 1 0 1 1 0 0 0 0 1 1 1 1 1 0 0 5 0 1 1 0 1 0 0 1 0 1 0 1 1 1 0 1 6 0 1 1 1 1 0 1 0 0 1 0 0 1 1 1 1 7 1 0 0 0 1 0 1 1 1 1 0 0 1 1 1 0 8 1 0 0 1 1 1 0 0 1 1 0 1 1 0 1 0 9 Chѭѫng 1. HӋ thӕng sӕÿӃm và khái niӋm vӅ mã Trang 9 Chú ý: Mã Gray ÿѭӧc suy ra tӯ mã BCD 8421 bҵng cách: các bit 0,1 ÿӭng sau bit 0 (ӣ mã BCD 8421) khi chuyӇn sang mã Gray ÿѭӧc giӳ nguyên, còn các bit 0,1 ÿӭng sau bit 1 (ӣ mã BCD 8421) khi chuyӇn sang mã Gray thì ÿҧo bít, nghƭa là tӯ bit 1 thành bit 0 và bit 0 thành bit 1. 3. Mҥch nhұn dҥng sӕ BCD 8421: 0ҥch nhұn dҥng sӕ BCD 8421 nhұn tín hiӋu vào là các bít a3, a2, a1 cӫa sӕ nhӏ phân 4 bít a3a2a1a0, ÿҫu ra y ÿѭӧc quy ÿӏnh nhѭ sau: - NӃu y = 1 thì a3a2a1a0 không phҧi sӕ BCD 8421 - NӃu y = 0 thì a3a2a1a0 là sӕ BCD 8421 Nhѭ vұy, nӃu mӝt sӕ nhӏ phân 4 bit không phҧi là mӝt sӕ BCD 8421 thì ngõ ra y = 1. Tӯ bҧng 1.1 ta thҩy mӝt sӕ nhӏ phân 4 bít không phҧi là sӕ BCD 8421 khi bít a3 luôn luôn b̹ng 1 và (bit a1 E̹ng 1 ho̿c bít a2 b̹ng 1). Suy ra phѭѫng trình logic cӫa ngõ ra y: y = a3(a1 + a2) = a3a1 + a3a2 6ѫÿӗ logic: &NJng do viӋc xuҩt hiӋn sӕ BCD nên có hai cách nhұp dӳ liӋu vào máy tính: nhұp sӕ nhӏ phân, nhұp bҵng mã BCD. ĈӇ nhұp sӕ BCD thұp phân hai chӳ sӕ thì máy tính chia sӕ thұp phân thành các ÿӅcác và mӛi ÿӅcác ÿѭӧc biӇu diӉn bҵng sӕ BCD tѭѫng ӭng. Chҷng hҥn: 11(10) có thӇÿѭӧc nhұp vào máy tính theo 2 cách: - Sӕ nhӏ phân : 1011 - Mã BCD : 0001 0001 4. Các phép tính trên sӕ BCD a. Phép c͡ng Do sӕ BCD chӍ có tӯ 0 ÿӃn 9 nên ÿӕi vӟi nhӳng sӕ thұp phân lӟn hѫn sӁ chia sӕ thұp phân thành nhiӅu ÿӅcác, mӛi ÿӅcác ÿѭӧc biӇu diӉn bҵng sӕ BCD tѭѫng ӭng. Ví dͭ 1.8 Cӝng 2 sӕ BCD mӝt ÿӅcác: 5 ® 0101 7 ® 0111 3 ® 0011 5 ® 0101 8 1000 12 1100 0110 0001 0010 0ҥch nhұn dҥng Vӕ BCD 8421 ya3 a2 a1 a1 a2 a3 y a1 a2 a3 y 6ӕ hiӋu chӍnh + + + + + Bài giҧng KӺ THUҰT SӔ Trang 10 Có hai trѭӡng hӧp phҧi hiӋu chӍnh kӃt quҧ cӫa phép cӝng 2 sӕ BCD 8421: - Khi k͇t qu̫ cͯa phép c͡ng là m͡t s͙ không ph̫i là s͙ BCD 8421 - Khi k͇t qu̫ cͯa phép c͡ng là m͡t s͙ BCD 8421 nh˱ng l̩i xṷt hi͏n s͙ nhͣ b̹ng 1. ViӋc hiӋu chӍnh ÿѭӧc thӵc hiӋn bҵng cách cӝng kӃt quҧ vӟi sӕ hiӋu chӍnh là 6 (01102). Ӣ ví dͭ 1.8 ÿã xem xét trѭӡng hӧp hiӋu chӍnh khi kӃt quҧ không phҧi là mӝt sӕ BCD 8421. Trѭӡng hӧp hiӋu chӍnh khi kӃt quҧ là mӝt sӕ BCD 8421 nhѭng phép cӝng lҥi xuҩt hiӋn sӕ nhӟ bҵng 1 ÿѭӧc xem xét trong ví dө sau ÿây: Ví dͭ 1.9 HiӋu chӍnh kӃt quҧ cӝng 2 sӕ BCD mӝt ÿӅcác khi xuҩt hiӋn sӕ nhӟ bҵng 1: 8 ® 1000 9 ® 1001 17 1 0001 0110 0001 0111 b. Phép trͳ Phép toán trӯ 2 sӕ BCD ÿѭӧc thӵc hiӋn theo quy tҳc sau ÿây: A - B = A + B Trong ÿó B là sӕ bù 2 cӫa B. Ví dͭ 1.10 Thӵc hiӋn trӯ 2 sӕ BCD mӝt ÿӅcác: 7 ® 0111 0111 5 ® 0101 1010 2 0010 1 0001 1 0010 /ѭu ý: - Bù 1 cͯa m͡t s͙ nh͓ phân là ḽy ÿ̫o ṱt c̫ các bít cͯa s͙ÿó (bit 0 thành 1, bit 1 thành 0). - Bù 2 cͯa m͡t s͙ nh͓ phân b̹ng s͙ bù 1 c͡ng thêm 1 vào bít LSB. Xét các tr˱ͥng hͫp mͧ r͡ng sau ÿây: 1. Th͹c hi͏n trͳ 2 s͙ BCD 1 ÿ͉các mà s͙ b͓ trͳ nh͗ h˯n s͙ trͳ ? 2. Mͧ r͡ng cho c͡ng và trͳ 2 s͙ BCD nhi͉u ÿ͉các ? 6ӕ hiӋu chӍnh (6) + + .Ӄt quҧ là sӕ BCD 8421 nhѭng Oҥi xuҩt hiӋn sӕ nhӟ bҵng 1 .Ӄt quҧ sau khi hiӋu chӍnh là 17 Bù 1 cӫa 5 - - + + &ӝng 1 LSB ÿӇ có bù 2 cӫa 5%ӓÿi sӕ nhӟ .Ӄt quҧ cuӕi cùng

Các file đính kèm theo tài liệu này:

  • pdfDTSo1-Chuong1.pdf
  • pdfDTSo1-Chuong2.pdf
  • pdfDTSo1-Chuong3.pdf
  • pdfDTSo1-Chuong4.pdf
  • pdfDTSo1-Chuong5.pdf
Tài liệu liên quan