Important Announcement
PubHTML5 Scheduled Server Maintenance on (GMT) Sunday, June 26th, 2:00 am - 8:00 am.
PubHTML5 site will be inoperative during the times indicated!

Home Explore Eook เรื่องรหัส

Eook เรื่องรหัส

Published by sariya118, 2021-09-11 08:56:20

Description: บทที่2

Search

Read the Text Version

บทท2ี่ รหัส (Code) ระบบคอมพิวเตอร์จะทาํ งานประมวลผลดว้ ย สัญญาณทาง ไฟฟ้า ท่ีเป็นคาํ สงั่ และขอ้ มูลในรูปแบบของเลขฐานสอง นกั คอมพิวเตอร จงึ คิดภาษาเขยี นหรอื อกั ขระ ที่ใหงายตอการใชงาน โดยนําเลขฐานสอง มาสร้างขึ้นในรูปของ รหัส (Code) เพ่ือความสะดวกในการติดต่อส่ือสาร กบั คอมพวิ เตอร์จงึ ทาํ ให้เกดิ รหัสต่าง ๆ

2.1 รหัส BCD- 8421 หรือ Binary Coded Decimal  รหสั BCD - 8421 จะใชเลขฐานสองขนาด 4 Bit แทน เลขฐานสบิ ตงั้ แต 0 - 9 เทา นัน้  หรือ เลขฐานสบิ หนง่ึ หลกั จะใชรหัส BCD - 8421 จาํ นวน 4 บติ หมายเหตุ ปกติ เลขฐานสอง 4 บิท ที่นาํ มาใชแ้ ทนเลขฐานสิบ แต่ละหลกั จะได้ 16 จาํ นวน คือ 0 - 15 (0000 – 1111)2

Decimal Binary BCD - 8421 0 0000 0000 1 0001 0001 2 0010 0010 3 0011 0011 4 0100 0100 5 0101 0101 6 0110 0110 7 0111 0111 8 1000 1000 9 1001 1001

ตารางเปรียบเทียบ เลขฐานสบิ เลขฐานสอง และ รหัส BCD-8421 Decimal Binary number BCD-8421 6 110 0110 18 10010 0001 1000 249 11111001 837 1101000101

การเขียนเลขฐานอนื่ ๆใหอ ยใู นรูปของรหสั BCD-8421จะตองแปลงเลข ฐานนัน้ ๆใหเปนเลขฐานสิบเสยี กอ น EX การเขียนเลขฐานต่างๆต่อไปน้ีใหอ้ ยใู่ นรูปของ BCD-8421 เลขฐานต่างๆ เลขฐานสิบ รหัส BCD-8421 (1101101)2 109 0001 0000 1001 478 (736)8 1714 (6B2)16

2.2 รหัส Binary Coded Decimal อ่ืนๆ Decimal Binary number BCD-8421 BCD -7421 6 110 0110 0110 18 10010 0001 1000 0001 1001 249 11111001 0010 0100 1001 837 1101000101

Decimal number รหัสเลข BCD อื่นๆ 7421 5421 * 8421 2 421 0 0000 0000 0000 0000 1 0001 0001 0001 0111 2 0010 0010 0010 0110 3 0011 0011 0011 0101 4 0100 0100 0100 0100 5 0101 1000 1011 1011 6 0110 1001 1100 1010 7 1000 1010 1101 1001 8 1001 1011 1110 1000 9 1010 1100 1111 1111

2.3 Gray Code  รหัส Gray ใชตัวเลขฐานสอง จํานวน 4 บิท เชน เดียวกับรหัส BCD-8421, Excess-3, 4221 BCD code แตเปนรหัส ชนิดที่ไมมคี า นา้ํ หนกั (Unweighted)  รหัส Gray code จึงไมสะดวกในการนําไปประมวลผล ดังน้ันจึง จะตองมเี ปลี่ยนรหัส Gray มาเปน Binary code  Gray code จะมกี ารเปลยี่ นแปลงของรหสั ครงั้ ละ 1 bit เทานนั้ ทาํ ใหโ อกาสความผดิ พลาดในการรบั code จงึ เปน ไปไดนอ ยมาก

ตารางเลขฐานและ รหัส Decimal / Binary / Gray Decimal Binary Gray code 0 0000 0000 1 0001 0001 2 0010 0011 3 0011 0010 4 0100 0110 5 0101 0111 6 0110 0101 7 0111 0100 8 1000 1100 9 1001 1101 10 1010 1111 11 1011 1110 12 1100 1010 13 1101 1011 14 1110 1001 15 1111 1000

Gray code A shaft encoder is a typical application. Three IR emitter/detectors are used to encode the position of the shaft. The encoder on the left uses binary and can have three bits change together, creating a potential error. The encoder on the right uses gray code and only 1-bit changes, eliminating potential errors. Binary Gray code sequence sequence พ้นื ที่สีดาํ จะไม่มีการสะทอ้ นกลบั มีการเปล่ียนแปลง 1-3 บิต มีการเปลี่ยน คร้ังละ 1 บิต

2.3.1 การเปลีย่ น Binary Code เปน Gray Code Convert Binary 1100 to Gray code = 1010 Decimal Binary Gray code 0 0000 0000 Binary 1 + 1 + 0 + 0 1 0001 0001 2 0010 0011 Gray 1 0 1 0 3 0011 0010 4 0100 0110 5 0101 0111 6 0110 0101 7 0111 0100 8 1000 1100 9 1001 1101 10 1010 1111 11 1011 1110 12 1100 1010 13 1101 1011 14 1110 1001 15 1111 1000

อธิบาย การเปล่ียน Binary Code เปน Gray Code • หลกั การแปลงเลขไบนาร่ีเป็นรหสั เกร์ย • ขอ้ สงั เกตบิตท่ีเกิดจากการแปลงไบนาร่ีเป็นเกร์ยจะมีจาํ นวนเท่ากนั • พจิ ารณาจากบิตสูงทางซา้ ยมือบิตแรกของไบนารี่แปลงเป็นรหสั เกร์ยจะถูกแทน ดว้ ยรหสั เดียวกนั จากน้นั ใหน้ าํ บิตถดั มาบวกกบั บิตแรกทางขวามือของเลขไบนา รี่โดยไม่คิดตวั ทด ไดเ้ ป็นคาํ ตอบของรหสั เกร์ย • จากน้นั กท็ าํ การบวกไปในทิศทางขวามือคร้ังละบิตที่ติดต่อกนั ไดเ้ ป็นผลลพั ธ์ของ รหสั เกร์ยไปจนถึงบิตท่ีมีค่านอ้ ยท่ีสุด • การบวกใหค้ ิดถึงผลลพั ธเ์ พยี งอยา่ งเดียว ตวั ทดใหต้ ดั ทิ้ง เช่น 1+1 เท่ากบั 0 • หลกั การน้ีสามารถนาํ ไปออกแบบวงจรโดยใชเ้ กตท่ีเรียนผา่ นมา

2.3.2 การเปลี่ยน Gray Code เปน Binary Convert Gray code = 1010 to Binary 1100 Decimal Binary Gray code Gray 1 + 0 + 1 + 0 0 0000 0000 Binary 1 1 0 0 1 0001 0001 2 0010 0011 3 0011 0010 4 0100 0110 5 0101 0111 6 0110 0101 7 0111 0100 8 1000 1100 9 1001 1101 10 1010 1111 11 1011 1110 12 1100 1010 13 1101 1011 14 1110 1001 15 1111 1000

อธิบาย การเปลย่ี น Gray Code เปน Binary • หลกั การแปลงรหสั เกร์ยเป็นไบนารี่ • ใชห้ ลกั การเดียวกนั กบั การแปลงBinary เป็น Gray Code • แต่แตกต่างตรงที่ การเปล่ียน Gray Code เป็น Binary ใชก้ ารบวกแบบทะแยง • การบวกใหค้ ิดถึงผลลพั ธ์เพียงอยา่ งเดียว ตวั ทดใหต้ ดั ทิ้ง เช่น 1+1 เท่ากบั 0 ตวั ทดท่ี เป็น 1 ใหต้ ดั ทิ้ง

การออกแบบวงจรเขา้ รหสั การแปลงรหสั ของขอ้ มูลใหอ้ ยใู่ นระบบเลขฐานสอง เพ่อื ใหร้ ะบบ ดิจิตอลนาํ ขอ้ มูลไปทาํ งานหรือไปประมวลผลการทาํ งานไดอ้ ยา่ งถูกตอ้ ง 1001 9

รปู แสดงการทาํ งานของวงจรเข้ารหสั และการถอดรหสั แป้นพิมพ์ ตวั แสดงผล หลกั สบิ หลกั หน่วย 789 หน่วย decoder 456 123 9 1001 ประมวลผล Encoder และ 0 หน่วยความจาํ 1001 decoder ฐานสบิ เลขฐานสองหรอื ฐานสบิ รหสั BCD 8421

ตัวอย่าง จงออกแบบวงจรเขา้ รหสั จากสวิทช์ 10ตวั (0-9) ท่ีใหเ้ อาทพ์ ตุ เป็นรหสั Gray code ตาราง Truth table ของ Gray code วธิ ีทาํ SW D Gray code A ST 1.เขียนตารางความจริง (Truth table)ของGray CB code 00 0 0 0 1 10 0 0 1 1 20 0 1 1 1 30 0 1 0 1 40 1 1 0 1 50 1 1 1 1 60 1 0 1 1 70 1 0 0 1 81 1 0 0 1 91 1 0 1 1

2 . พจิ ารณาเอาตพ ตุ ใน ตาราง Truth table ของ Gray code ท่ีมีคาเปน 1 มาเขียนเปนสมการ SW D Gray code A ST CB 1 1 20(A) = 1 + 2 + 5 + 6 +9 00 0 0 0 1 10 0 0 1 1 1 21(B) = 2 + 3 + 4+ 5 20 0 1 1 1 30 0 1 0 1 1 22(C) = 4 + 5 + 6 + 7 + 8 + 9 40 1 1 0 1 23(D) = 8 + 9 50 1 1 1 1 60 1 0 1 70 1 0 0 81 1 0 0 91 1 0 1 Strobe = 0 + 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9

3. ออกแบบวงจรเขารหสั Gray code ดวยลอจกิ เกต +Vcc R R RR RRRRRR S0 S1 S2 S3 S4 S5 S6 S7 S8 S9 DC BA ST

2.4 รหัส ASCII ASCII (AMERICAN STANDARD CODE FOR INFORMATION) • รหสั ASCII ใชว้ ธิ ีการกาํ หนดการแทนรหสั เป็นเลขฐานสิบ ทาํ ให้ ง่ายต่อการจาํ และใชง้ าน นอกจากน้นั ยงั สามารถเขียนในรูปของ เลขฐานสิบหกไดด้ ว้ ย ดงั น้นั ASCII Code จึงเป็นรหสั ท่ีเขียนได้ 3 แบบ เช่นอกั ษร A สามารถแทนเป็นรหสั ไดด้ งั น้ี สญั ลกั ษณ์ เลขฐานสิบ เลขฐานสอง เลขฐานสิบหก A 65 100 0001 4 1 รหสั ASCII สามารถใชแ้ ทนขอ้ มูลอกั ขระและคาํ สง่ั เป็นรหสั 7 บิต และมีการขยายเป็นรหสั แบบ 8 บิต

ตาราง รหัสแอสคที ใี่ ช้ในเคร่ืองคอมพวิ เตอร์ 7 Bit 0 0 001111 0 0 110011 0 1 010101 b7 b6 b5 b4 b3 b2 b1 0 1 234567 0 0 0 0 0 NUL (TC7)DLE SP 0 @ P . p 0 0 0 1 1 (TC1)SOH DC1 I 1 AQa q 0 0 1 0 2 (TC2)STX DC2 “ 2BRb r 0 0 1 1 3 (TC3)ETX DC3 # 3CSc s 0 1 0 0 4 (TC4)EOT DC4 $ 4DTd t 0 1 0 1 5 (TC5)ENQ (TC8)NAK % 5 E U e u 0 1 1 0 6 (TC6)ACK (TC9)SYN) & 6 F V f v 0111 7 BEL (TC10)ETR * 7 G W g w 1 0 0 0 8 FE0(BS) CAN ( 8 H X h x 1 0 0 1 9 FE(LF) EM ) 9 I Y i y 1 0 1 0 10 FE2(HT) SUB * : J Z j z 1 0 1 1 11 FE3(LF) ESC + ; K [ k : 1 1 0 0 12 FE4(FF) IS4(FS) * < L \\ l ; 1 1 0 1 13 FE5(CR) IS3(GS) - = M ] m b1 1 1 1 0 14 SO IS2(RS) * > N ^ n 1 1 1 1 15 SI IS1(US) / ? 0 - o _

ASCII (AMERICAN STANDARD CODE FOR INFORMATION) รหสั 7 บิต แบ่งเป็นขอ้ มูลเป็น 3 กลุ่มคือ กลุ่มที่ 1 ขอ้ มูลท่ีเป็นตวั เลข (0-9) - Zone Bit เป็น 011 กลุ่มท่ี 2 ขอ้ มูลท่ีเป็นตวั อกั ษร (A-Z) - A-O Zone Bit เป็น 100 - P- Z Zone Bit เป็น 101 กลุ่มท่ี 3 ขอ้ มูลที่เป็นอกั ขระพิเศษ เช่น *, -, +, /, $ เป็น 010 เป็นตน้

รหสั แอสคีท่ใี ชใ นเคร่อื งคอมพิวเตอร 8 Bit

จากตาราง ASCII Code ขา้ งตน้ เม่ือตอ้ งการแสดงขอ้ ความ เฉลิมพงษ์ จะสามารถแทนดว้ ยรหสั ตวั เลขฐานสิบหกตาม ASCII Code ขา้ งตน้ ได้ ดงั น้ี


Like this book? You can publish your book online for free in a few minutes!
Create your own flipbook