บทท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 ขา้ งตน้ ได้ ดงั น้ี
Search
Read the Text Version
- 1 - 24
Pages: