งานนำเสนอกำลังจะดาวน์โหลด โปรดรอ

งานนำเสนอกำลังจะดาวน์โหลด โปรดรอ

ครั้งที่ 5 รหัสไบนารี (Binary Codes) และ วงจร Combinational

งานนำเสนอที่คล้ายกัน


งานนำเสนอเรื่อง: "ครั้งที่ 5 รหัสไบนารี (Binary Codes) และ วงจร Combinational"— ใบสำเนางานนำเสนอ:

1 ครั้งที่ 5 รหัสไบนารี (Binary Codes) และ วงจร Combinational

2 รหัสไบนารี (Binary Codes)
ในการใช้งานข้อมูลข่าวสารในระบบดิจิตอลนั้น เราใช้รหัสในการแทนตัวเลขและอักขระ โดยรหัสบางชนิดใช้ในการแทนค่าทางตัวเลขเพียงอย่างเดียว เช่น รหัส BCD แต่เนื่องจากข้อมูลข่าวสารที่ใช้กับคอมพิวเตอร์นั้นมีทั้ง ตัวอักษร ตัวเลข และสัญญลักษณ์ต่าง ๆ รหัสที่ใช้ในการแทนอักขระ ที่อาจจะเป็นตัวอักษร ตัวเลข สัญญลักษณ์ และคำสั่ง ต่าง ๆ มีหลายชนิด แต่ที่ได้รับความนิยมคือ รหัสอัสกี (ASCII)

3 รหัสไบนารี (Binary Codes)
ตัวเลขที่เราใช้งานในชีวิตประจำวันคือ ระบบเลขฐานสิบ (Decimal Number Systems) แต่ตัวเลขที่ใช้ในระบบคอมพิวเตอร์คือ เลขฐานสองที่เราไม่คุ้นเคยมากนัก ในการใช้งานนั้น บ่อยครั้งที่เรามักต้องทำการเปลี่ยนระหว่างระบบตัวเลขทั้งสอง ซึ่งต้องเสียเวลามากหากตัวเลขมีขนาดใหญ่ จึงได้มีการคิดค้นหาระบบตัวเลขที่จะนำมาช่วยในการใช้งานระหว่างระบบเลขทั้งสองให้เกิดความสะดวกขึ้น ระบบตัวเลขที่มีผู้คิดขึ้นมาและนิยมใช้กันคือ รหัส BCD (Binary Coded Decimal)

4 รหัส BCD (Binary Coded Decimal)
ในกรณีที่มีเลขฐานสิบหลายหลัก เราก็จะแบ่งออกเป็นแต่ละหลักแล้วนำเอาค่า BCD ที่แทนค่าในแต่ละหลักมาเขียนเรียงกัน ก็จะได้ค่า BCD ของเลขฐานสิบนั้น

5 รหัส 8421 BCD รหัส 8421 BCD เป็นการนำเอาตัวเลขไบนารีขนาด 4 บิตมาเขียนแทนเลขฐานสิบหนึ่งหลักจาก 0 ถึง 9 โดยเลข 8421 แสดงถึงค่าตัวคูณประจำหลักของรหัส ซึ่งเท่ากับตัวคูณประจำหลักของเลขฐานสอง เราจึงอาจกล่าวได้ว่า รหัส 8421 BCD สำหรับค่า 0 ถึง 9 นั้นมีค่าเช่นเดียวกับค่าในเลขฐานสอง เพียงเขียนให้เต็ม 4 หลัก โดยการเติม 0 เข้าไปข้างหน้า ในกรณีที่มีเลขฐานสิบหลายหลัก เราก็จะแบ่งออกเป็นแต่ละหลักแล้วนำเอาค่า 8421 BCD ที่แทนค่าในแต่ละหลักมาเขียนเรียงกัน ก็จะได้ค่า 8421 BCD ของเลขฐานสิบนั้น

6 รหัส 8421 BCD ตัวอย่างการแปลงค่าเลขฐานสิบเป็น BCD

7 รหัส 8421 BCD ตัวอย่างการแปลงค่าเลขฐานสิบเป็น BCD

8 รหัส 8421 BCD เราพบว่า การใช้เลขฐานสองจำนวน 4 บิตนั้น สามารถแทนตัวเลขต่าง ๆ ได้ถึง 16 ค่า แต่ในการนำ BCD มาใช้เพื่อแทนต่าเลขฐานสิบนั้น เรานำมาเพียง 10 ค่า สำหรับแทนค่าเลขฐานสิบหนึ่งหลัก ยังมีค่าเหลือที่ไม่ได้ใช้อีก 6 ค่า คือ ซึ่งค่าทั้ง 6 นี้จะไม่ปรากฎในการใช้งานในระบบ 8421BCD ค่าในลักษณะนี้เรามักเรียกกันว่าป็นค่า don’t care ที่เราไม่สนใจว่าจะส่งผลให้output มีค่า 1 หรือ 0

9 รหัส BCD อื่น ๆ รหัส BCD นั้น นอกจาก 8421 BCD แล้ว ยังมีรหัส BCD อื่น ๆ ที่มีค่าน้ำหนักของตัวคูณในแต่ละตำแหน่งๆม่เท่ากัน และมีบางชนิดใช้เลขไบนารีมากกว่า 4 บิต รหัสที่ได้รับความนิยมคือ 8421 BCD ทำให้บางครั้งเรียกกันสั้น ๆ เพียง BCD แต่มีความหมายถึง 8421 ฉฏ

10 การบวก BCD BCD เป็นรหัสทางตัวเลขที่เราสามารถนำมาคำนวณได้ เราจะกล่าวถึง การบวกเลข BCD การบวกเป็นวิธีการพื้นฐานที่สำคัญมาก เพราะการคำนวณพื้นฐานอื่น ๆ ก็ได้จากการบวก การบวก BCD นั้นมีวิธีการที่แตกต่างจากการบวกเลขฐานสอง จากคุณสมบัติของ BCD สำหรับค่า 0 –9 ในฐานสิบที่เหมือนกับเลขฐานสองที่เราแทนเลขฐานสิบนั้น เพียงเขียนให้เต็ม 4 หลักเท่านั้น แต่หากค่าของเลขฐานสิบที่ได้มากกว่าค่า 9 ค่า BCD จะแตกต่างไปจากเลขฐานสองสำหรับค่าฐานสิบนั้น ๆ

11 การบวก BCD ขั้นตอนการบวกเลข BCD
2. หากผลบวกที่ได้มีขนาดเท่ากับหรือน้อยกว่า 9 ผลลบวกที่ได้คือคำตอบ 3. แต่หากผลบวกมีค่ามากกว่า 9 หรือมีบิตที่ 5 อันเป็นบิตตัวทดที่เกิดจากการบวกบิตที่ 4 ผลลัพธ์ที่ได้จะยังไม่ใช่ BCD ที่ถูกต้อง ให้นำ 6 (0110) มาบวกเข้ากับผลลัพธ์ที่ได้ จะทำให้ได้คำตอบเป็น BCD ที่ถูกต้อง ในกรณีที่มีตัวทดจากการบวกให้นำตัวทดไปบวกกับการบวก 4 บิตชุดต่อไป

12 การบวก BCD ตัวอย่างการบวก BCD

13 การบวก BCD ตัวอย่างการบวก BCD

14 การบวก BCD ตัวอย่างการบวก BCD

15 รหัสอัสกี (ASCII) มีผู้กำหนดรหัสในการใช้แทนอักขระที่จะใช้กับคอมพิวเตอร์หลายมาตรฐาน แต่ที่นิยมใช้กันในปัจจุบันคือรหัสที่ชื่อว่า รหัสอัสกี (ASCII : American Standard Coded for Information Interchange) ที่ประกอบขึ้นจากบิตทางไบนารีจำนวน 7 บิต

16 รหัสอัสกี (ASCII) รหัส ASCII นี้สามารถแทนได้ทั้งหมด 128 อักขระ เมื่อเขียนแทนด้วยเลขฐานสิบหกจะไดค่า 00 ถึง 7F โดยมีรายละเอียดดังนี้ 32 ตัวแรกจะเป็นรหัสสำหรับคำสั่งค่าง ๆ ที่ใช้ในวัตถุประสงค์การควบคุมโดยไม่มีการพิมพ์ออกมาบนเครื่องพิมพ์หรือกระดาษ เช่น “null” “line feed” start of text” เป็นต้น สำหรับรหัสที่เหลือเป็นรหัสกราฟฟิกที่ใช้แทนอักขระต่าง ๆ ที่พิมพ์และแสดงออกมาทางจอภาพ โดยประกอบขึ้นจากรหัสสำหรับตัวอักษร ทั้งตัวเล็ก ตัวใหญ่ เลขฐานสิบ จ ตัว เครื่องหมายวรรคตอน และสัญญลักษณ์อื่น ๆ ที่ใช้กันทั่วไป

17 รหัสอัสกี

18 บิตพาริตี้ ในการใช้งานรหัสต่าง ๆ ที่ใช้แทนอักขระในคอมพิวเตอร์นั้น เราแทนค่าทางไบนารีด้วยสัญญาณทางไฟฟ้า ซึ่งอาจจะมีการรบกวนจากสัญญาณไฟฟ้าอื่น โดยเฉพาะเมื่อมีการส่งสัญญาณ ไฟฟ้าจากที่หนึ่งไปยังอีกที่หนึ่ง ซึ่งอาจทำให้สัญญาณไฟฟ้าที่แทนค่า 0 มีค่าทางสัญญาณเหมือนกับที่แทนค่า 1 ทำให้ข้อมูลผิดไปจากเดิม

19 บิตพาริตี้ มีการใช้หลักการของบิตพาริตี้ (Parity Bit) เพื่อการตรวจสอบความผิดพลาดระหว่างการใช้งาน บิตพาริตี้ เป็นบิตที่เพิ่มเข้าไปในกลุ่มของบิตที่แทนรหัสแล้วทำให้จำนวนบิตโดยรวมทั้งหมดมีคุณสมบัติเฉพาะ โดยทำให้จำนวนเลข 1 ในกลุ่มของบิตนั้น (รวมทั้งบิตพาริตี้ด้วย) มีจำนวนเป็นคู่เสมอ หรือเป็นคี่เสมอ ตามวิธีการที่เลือกว่าจะเลือกวิธีการของ พาริตี้คู่ (Even Parity) หรือ พาริตี้คี่ (Odd Parity) ตาม ลำดับ

20 บิตพาริตี้ ตัวอย่างรหัส BCD ที่มีบิตพาริตี้

21 บิตพาริตี้สำหรับตรวจสอบความผิดพลาด
บิตพาริตี้ใช้ในการตรวจความผิดพลาดที่เกิดกับบิตเพียงบิตเดียว (หรือบิตที่ผิดพลาดมีจำนวนคี่) แต่ไม่สามารถใช้ครวจสอบความผิดพลาดที่เกิดกับบิต 2 บิตในกลุ่มเดียวกัน ตัวอย่างเช่น การส่ง BCD Code ค่า โดยมีบิตพาริตี้คู่ที่เขียนไว้ทางซ้ายสุดเป็น 0 ดังนี้

22 บิตพาริตี้สำหรับตรวจสอบความผิดพลาด
สมมติว่ามีความผิดพลาดเกิดขึ้นที่บิตที่สามนับจากทางซ้าย (ค่า 1 เปลี่ยนเป็น 0) ดังนี้ เมื่อผู้รับได้รับรหัสนี้ก็จะทำการตรวจสอบพาริตี้ พบว่ามีจำนวนของ 1 อยู่เพียงตัวเดียวซึ่งไม่เป็นจำนวนคู่ แสดงว่าเป็นพาริตี้คี่ ซึ่งไม่ตรงกับที่ผู้ส่งส่งมา แสดงว่าข้อมูลนี้มีความผิดพลาด

23 บิตพาริตี้สำหรับตรวจสอบความผิดพลาด
ในกรณีที่มีบิตผิดพลาดในรหัส 2 บิต (หรือผิดพลาดเป็นจำนวนคู่) บิตพาริตี้ที่เติมในลักษณะนี้ไม่สามารถตรวจสอบหาความผิดพลาดได้ จึงต้องเพิ่มกระบวนการสร้างพาริตี้ในแนวตั้งเข้าไปอีก โดยนำเอารหัสของอักขระที่เติมพาริตี้บิต(ในแนวนอน)มาแล้วมาเติมในแนวตั้ง โดยพิจารณาจากบิตตำแหน่งเดียวกันของทุกอักขระแล้วสร้างบิตพาริตี้คู่หรือคี่จำนวน 1 บิต ทำเช่นนี้กับทุก ๆ บิต ก็จะได้บิตพาริตี้มาจำนวนเท่ากับจำนวนบิตของอักขระนั้น (รวมบิตพาริตี้ในแต่ละอักขระด้วย)

24 การแสดงค่าในฐานสิบ ตัวเลขที่ใช้ในคอมพิวเตอร์คือเลขฐานสอง แต่มนุษย์เราคุ้นเคยกับระบบเลขฐานสิบ ฉะนั้นเมื่อคอมพิวเตอร์ประมวลผลเสร็จและนำมาแสดงให้มนุษย์ทราบนั้น ต้องแสดงในรูปฐานสิบ วิธีการแสดงผลในรูปของเลขฐานสิบที่เรามักพบทั่วไป คือการแสดงผ่าน หลอดแสดงผลแบบ 7 ขั้ว ที่เรียก 7 segment display

25 7 segment Display Arrangment of segment

26 7 segment Display Display of decimal digits with 7-segment device

27 7 segment Display Arrangement of 7-segment LED displays

28 7 segment Display Active segments for each decimal digit

29 7 segment Display Block diagram of 7-segment logic and display

30 7 segment Display Truth table for 7-segment logic

31 PULSE WAVEFORM The operation of any gate is the same regardless of whether its inputs are pulsed or constant levels The nature of the inputs (pulsed or constant-levels) does not alter the truth table of a circuit

32 PULSE WAVEFORM

33 PULSE WAVEFORM

34 PULSE WAVEFORM

35 PULSE WAVEFORM

36 วงจร Combinational วงจร combinational เป็นวงจรที่ประกอบขึ้นจาก gate ตัวเดียวหรือหลายตัวต่อกันเพื่อสร้างเอาท์พุตตามฟังชั่นบูลลีน โดยวงจรจะไม่มีอุปกรณ์ความจำประกอบอยู่ด้วย

37 Parallel Binary Adders
ในการบวกเลขไบนารีหลายหลักเข้าด้วยกันนั้น เราสามารถใช้วงจรบวกเลข (Full Adder) หลาย ๆตัวมาต่อเข้าด้วยกัน ดังตัวอย่าง

38 Parallel Binary Adders
วงจร

39 Parallel Binary Adders
ตัวอย่าง

40 Parallel Binary Adders
4-bit parallel Binary Adder

41 Adder Expansion Cascading of two 4-bit adders to form an 8-bit adders

42 วงจรเปรียบเทียบ (Comparators)
ความสามารถพื้นฐานของวงจรเปรียบเทียบก็เพื่อเปรียบเทียบขนาดของจำนวนทางไบนารี่ 2 จำนวนเพื่อหาความสัมพันธ์ระหว่างตัวเลขทั้งสอง รูปแบบที่ง่ายที่สุดก็คือการเปรียบเทียบว่าเลขทั้งสองจำนวนมีขนาดเท่ากันหรือไม่

43 วงจรเปรียบเทียบ (Comparators)
การเปรียบเทียบระหว่างบิต

44 วงจรเปรียบเทียบ (Comparators)
วงจรเปรียบเทียบเลขขนาด 2 บิตสองจำนวนว่าเท่ากันหรือไม่

45 วงจรเปรียบเทียบ (Comparators)
ตัวอย่าง

46 วงจรเปรียบเทียบ (Comparators)
ตัวอย่างวงจรเปรียบเทียบขนาด 4-bit

47 วงจรเปรียบเทียบ (Comparators)
ตัวอย่าง จากรูป จงหาว่า A = B, A>B sinv A< B จากรูป A= 0110 และ B = ค่า เอาท์พุต A>B มีค่า = 1

48 วงจรถอดรหัส (Decoders)
ความสามารถพื้นฐานของวงจรถอดรหัสก็คือวงจรที่มำการตรวจหาการปรากฎของการประกอบกันที่กำหนดของบิตที่เข้ามาที่อินพุต และเพื่อแสดงการปรากฏของรหัสนั้น ๆ โดยค่าระดับเอาท์พุตที่กำหนด

49 1011 decoder

50 BCD to Decimal Decoder The BCD to Decimal Decoder converts each BCD code (8421 BCD) into one of ten possible decimal digit indications It is frequently referred as a 4-line-to-10-line decoder or a 1-of-10-decoder

51 BCD to Decimal Decoder Truth table

52 BCD to 7-segment Decoder
The BCD to 7-segment decoder accepts the BCD code on its inputs and provides outputs to drive 7-segment display devices to produce a decimal readout

53 BCD to 7-segment Decoder
Logic diagram for 7-segment decoder

54 BCD to 7-segment Decoder
Pin diagram and logic symbol for the 74LS47 IC

55 ENCODER An encoder is a combinational logic circuit that essential performs a “reverse” decoder function. It accepts an active level on one of its inputs representing a digit, such as a decimal or octal digit, and convert it to a coded output such as a BCD or Binary

56 Decimal-to-BCD Encoder
Logic symbol for a decimal-to-BCD encoder

57 Decimal-to-BCD Encoder
Truth table

58 Decimal-to-BCD Encoder
Logic diagram of a decimal-to-BCD encoder

59 Decimal-to-BCD Encoder
Pin diagram and logic symbol for the 74HC147 IC

60 Code Converter A combinational logic circuits to convert from one code to another BDC-to-Binary Conversion The value, or weight, of each bit in the BCD number is represented by a binary number All of the binary representations of the weights of bits that are 1s in the BCD number are added The result of this addition is the binary equivalent of the BCD number

61 Code Converter BDC-to-Binary Conversion

62 Code Converter BDC-to-Binary Conversion

63 MULTIPLEXER A multiplexer (MUX) is a device that allows digital information from several sources to be routed onto a single line for transmission over that line to a common destination The basic multiplexer has several data-input lines and a single output line. It also has data-select inputs, which permit digital data on any one of the inputs to be switched to the output line

64 MULTIPLEXER Logic symbol for a 1-to-4 data selector/multiplexer

65 MULTIPLEXER Data selection for a 1-to-4-multiplexer

66 MULTIPLEXER Logic diagram for a 4-input multiplexer

67 DEMULTIPLEXER A demultiplexer (DEMUX) basically reversed the multiplexing function It takes a digital information from one line and distributed it to a given number of output lines Also known as a data distributor

68 DEMULTIPLEXER A 1-to-4 line demultiplexer

69 DEMULTIPLEXER Output waveform on D0 through D3

70 PARITY GENERATOR/CHECKER
Error can occur as a digital codes are being transferred from one point to another within a digital system or while codes are being transmitted from one system to another The error take the form of undesired in the bits that make up the code information; that is a 1 can change to a 0, or a 0 to a 1 because of the component malfunction or electrical noise

71 PARITY GENERATOR/CHECKER
In most digital systems, the probability that even a single bit error will occur is very small, and the likelihood that more than one will occur is even smaller Nevertheless, when an error occurs undetected, it can cause serious problems in a digital system

72 PARITY GENERATOR/CHECKER
Basic parity logic 1 parity bit indicates if the number of 1s in a code is even or odd for the purpose of error detection In order to check for or to generate the proper parity in a given code, a basic principle can be used The sum (disregarding carries) of an even number of 1s is always 0, and the sum of an odd number of 1s is always 1

73 PARITY GENERATOR/CHECKER
Basic parity logic Therefore to determine if a given code has even parity or odd parity, all the bits in that code are summed

74 PARITY GENERATOR/CHECKER
A 9-bit parity generator/checker


ดาวน์โหลด ppt ครั้งที่ 5 รหัสไบนารี (Binary Codes) และ วงจร Combinational

งานนำเสนอที่คล้ายกัน


Ads by Google