วันศุกร์ที่ 13 พฤศจิกายน พ.ศ. 2558

DIGITAL ELECTRONICS WEEK#12

สิ่งที่ได้เรียนรู้
  • I2C สามารถเชื่อมต่อ Slave ได้เป็นจำนวนมาก ใน BUS เดียวกัน โดยใช้สายเพียงแค่ 2 เส้น คือ
    • SDA = DATA
    • SCL = CLOCK ( โดย Clock ถูกควบคุมด้วย Master )
  • มี Master หลายตัวใน BUS เดียวกันได้
  • ข้อความที่ส่งแบ่งเป็น 2 ชนิดคือ
    • Address frame ส่งเพียงเฟรมเดียวเพื่อระบุ Slave ที่ต้องการคุยด้วย
    • Data frame ส่งได้หลาย frame เพื่อระบุข้อมูลที่ต้องการส่ง
Lab 5 เป็นแลปที่ต้องใช้ IC I2C EEPROM เพื่อเก็บและ อ่านข้อมูล โดยให้สามารถทางานได้ 2 modeคือ mode เกบค่า และ mode อ่านค่า โดยมี Switch 1 ตัวในการเปลี่ยน mode
  • การส่งข้อมูล - รับเป็นจำนวน 7bits จากการอ่านค่าของ Switch และใช้การกด debounce switch สำหรับการส่งข้อมูลแต่ละครั้ง
  • การรับข้อมูลจาก EEPROM - อ่านค่าจาก EEPROM เป็นจำนวน 7 bits แล้วทำการแสดงค่าไปบน LED



  • ปัญหาที่พบจากการทำ LAB
    • ไม่สามารถส่งและอ่านค่าจาก IC EEPROM ได้ เพราะขา SCL และ SDAไม่ได้ต่อ Pull up
    • ตอนแรกพยายามใช้  Handtek ต่อกับโปรแกรม Logic เพื่อศึกษาการส่งและอ่านข้อมูล จาก EEPROM แต่โปรแกรมไม่สามารถ connect กับ Handtek ได้
โหลดโปรแกรม LAB5 คลิกที่นี่

วันพฤหัสบดีที่ 5 พฤศจิกายน พ.ศ. 2558

DIGITAL ELECTRONICS WEEK#11

สิ่งที่ได้เรียนรู้
  • การรับ-ส่งข้อมูลโดย SPI จะมี Master เพียงตัวเดียวและจะทำหน้าที่ส่ง Clock ลงบนสาย SCK
  • ข้อมูลที่ส่งไปยัง Slave จะส่งบนสาย MOSI ส่วนข้อมูลที่ Slave ส่งกลับมาให้ Master จะถูกส่งบนสาย MISO
*** หมายเหตุ การส่งข้อมูลจาก Slave กลับมาที่ Master ต้องใช้ Clock ด้วย โดย Master ต้องเป็นตัวส่ง ดังนั้น Master ต้องรู้ล่วงหน้าว่า Slave จะคืนค่ามากี่ไบต์เพื่อที่จะสร้าง Clock บนสาย SCK ได้เหมาะสม ***
  • ข้อดีของ SPI
    • เร็วกว่าการส่งแบบ Asynchronous serial
    • สามารถมี Slave ได้หลายตัว
  • ข้อเสียของ SPI
    • ใช้สายสัญญาณเยอะ
    • ต้องรู้จำนวนข้อมูลที่จะรับส่งล่วงหน้า
    • Master จะต้องควบคุมการสื่อสารเองทั้งหมด
Lab 4 เป็นการสร้างคลื่นสัญญาณ Sine Wave ส่งการสื่อสารแบบ SPI โดยผ่าน IC DAC (MCP4922-E/P) โดยกำหนด Amplitude และความถี่เอง

จะได้สมการ y = (sin(i)+1)*(2000)
โดยที่ i จะเพิ่มขึ้น 0.0001 ทั้งๆรอบของการส่งข้อมูล
  • โดยแนวคิดที่ใช้คือ Sine Wave จะเกิดขึ้นได้คือการน้ำค่า Sine ของมุมตั้งแต่ 0-360 องศามาพลอตเป็นกราฟโดยการเปลี่ยนค่ามุมทีละน้อยๆเพื่อที่จะให้กราฟที่ออกมานั้นละเอียดที่สุด
  • ทำการบวกค่า Sine แต่ละค่าด้วย 1 เพราะถ้าไม่บวกด้วย 1 จะทำให้กราฟมองเห็นเฉพาะค่าในฝั่งบวก
  • และทำการใส่ตัวคูณเข้าไปเพื่อทำให้ค่าของ Sine แต่ละค่ามีแอมพลิจูดที่สูงขึ้นทำให้มองเห็นกราฟได้ง่ายขึ้น
  • ปัญหาที่พบจากการทำ LAB
    • มองไม่เห็นค่า Sine ในฝั่งลบ จึงทำการบวกค่า Sine ทุกค่าด้วย 1 เพื่อแก้ปัญหานี้

    • มองไม่เห็นกราฟเนื่องจากไม่ใส่ ตัวคูณเพื่อเพิ่ม Amplitude ของกราฟ
โหลดโปรแกรม LAB4 คลิกที่นี่

วันพุธที่ 4 พฤศจิกายน พ.ศ. 2558

DIGITAL ELECTRONICS WEEK#10

สิ่งที่ได้เรียนรู้
  • Parallel Communication ส่งข้อมูลหลายๆบิตในเวลาเดียวกัน
  • Serial Communication ส่งข้อมูลทีละบิตในหนึ่งช่วงเวลา
  • การส่ง Serial Communication ต้องมีโปรโตคอลที่เหมือนกันจึงจะสื่อการกันรู้เรื่อง คือต้องมี
    • Buad rate
    • Data bits
    • Synchronization bits
    • Paraty bits
  • ที่เหมือนกัน 
Lab 3 เป็นการส่งข้อมูลผ่าน Serial Communication ผ่าน Serial Monitor โดยโจทย์ในสัปดาห์นี้คือการให้ Nucleo สื่อสารกับ computer แล้วทำโปรแกรมออกมาเป็น 2 Menu

  • Menu ที่ 1 กดเพื่อเข้าสู่การทํางาน mode ที่ 1 การสั่งงานไฟวิ่ง LED 8ดวง 
เมื่อเข้าสู่ mode นี้ระบบจะรอรับคําสั่งจากแป้นพิมพ์3 ตัวคือ a,s,d
เมื่อกด a‐‐>ไฟ LED8 ดวงจะทํางานใน pattern โดยจะเป็นชุดไฟกระพริบสลับกัน
เมื่อกด d‐‐>ไฟ LED8ดวงจะทํางานในอีก pattern โดยจะเป็นไฟวิ่งจากขวาไปซ้าย
เมื่อกด s‐‐>ไฟ LED ทั้ง 8ดวงจะหยุดทํางาน และออกจาก Mode 1 กลับสู่ Menu หลักรอรับคําสั่ง ต่อไป 

  • Menuที่ 2 กดเพื่อเข้าสู่การทํางาน mode ที่ 2 อ่านสถานะสวิตซ์ logic input 1 bits 
ใน mode นี้ ระบบจะทําการอ่านสถานะของสวิตซ์ D0 บนบอร์ด NX‐100 และแสดงสถานะบน Serial monitor หากสวิตซ์อยู่ตําแหน่ง OFF จะแสดงเลข 0 หากสวิตซ์อยู่ตําแหน่ง ON จะแสดงเลข 1

  • ปัญหาที่พบจากการทำ LAB
    • การใช้ Switch : Case ทำให้การทำ loop ยากขึ้นในตอนแรกไม่สามารถทำให้ไฟกระพริบต่อเนื่องได้ จึงเปลี่ยนมาใช้เป็น loop while แทน
    • ค่าจาก switch ออกมามั่ว และไฟกระพริบตลอดเวลาเหมือนไฟจะเสีย เนื่องจากลืมต่อ GND ระหว่าง NX-100 และ Nucleo



โหลดโปรแกรม LAB3 คลิกที่นี่

วันพฤหัสบดีที่ 15 ตุลาคม พ.ศ. 2558

DIGITAL ELECTRONICS WEEK#9

สิ่งที่ได้เรียนรู้

Microcontroller : NUCLEO-F411RE
รายละเอียด Port ต่างๆของ NUCLEO-F411RE


GPIO คือ Port สำหรับต่อ Input/Output ของ Microcontroller ซึ่งบอร์ด NUCLEO รับแรงดันได้ 0-3.3 V
  • LAB#1 ออกแบบการทำงาน Controller โดยมี Input อย่างน้อย 3 ปุ่ม แล้วเปลี่ยนการทำงานของ output LED 8 ดวงอย่างน้อย 3 รูปแบบ 
  • รูปแบบการทำงานของ LED 
    • แบบที่ 1 เป็นไฟไหลทีละ 2 ดวงจาก ขวาไปซ้าย 
    • แบบที่ 2 เป็นไฟไหลที่ละ 1 ดวงจากขวาไปซ้าย 
    • แบบที่ 3 เป็นไฟกระพริบ เป็นชุด ชุดละ 4 ดวง กระพริบสลับกันไปมา 
  • ใช้ INPUT 3 ตัวคือ Port D2 , D3 , D4 และ Output 8 ตัวคือ D5-D12



  • ปัญหาที่พบจากการทำ LAB
    • ตอนแรกเมื่อ Input แล้ว Output ไม่ทำงาน เนื่องจากนำ Input ไปเสียบเข้าที่ D0 และ D1 ทำให้วงจรไม่ทำงานเพราะเป็น Port TX/RX
    • ไฟในวงจร NX~100 ติดไม่เต็มที่ และ กระพริบ เนื่องจากยังไม่ได้ต่อ GND ของทั้ง 2 บอร์ดเข้าด้วยกัน
  • โหลดโปรแกรม LAB1 คลิกที่นี่

Analog to Digital Converter (ADC) คือ วงจรแปลงแรงดันแบบ Analog ให้เป็นสัญญาณ Digital โดยจะแบ่งระดับแรงดันให้มีหลายๆระดับลักษณะเป็นขั้นบันใด

โดยถ้าหากขั้นบันไดยิ่งเยอะจะยิ่งทำให้ค่า Error ยิ่งน้อยลง โดยในบอร์ดรุ่นนี้เป็นแบบ 12-bit ADC ที่ Vmax 3.3V

  • LAB#2.1 
    • อ่านค่า input analog จาก VR ตั้งแต่ 0.0–3.3 V เข้าที่ Pin ที่ไม่ใช่ A0
    • แสดงระดับแรงดันด้วย LED 8 ดวงในลักษณะเหมือน VU Meter
  • LAB#2.2
    • อ่านค่าinput analog จาก VR ตั้งแต่ 0.0–3.3 V เข้าที่ Pin ที่ไม่ใช่ A0
    • แสดงค่าแรงดันเป็นตัวเลขออกที่ 7‐segment โดยมีความละเอียดเป็นตัวเลขทศนิยม 1 ตําแหน่ง
  • โดยใช้ Output 8 ตัว คือ D2 - D9 และให้ Input คือ A1
    • ใช้คำส่ง BusOut เพื่อช่วยลดจำนวนการเขียนโปรแกรมเนื่องจากสามารถส่งเป็นค่าเลขฐาน 10 แล้วนำไปแปลงเป็นฐาน 2 ส่งไปยัง Output ที่กำหนดไว้ให้ได้เลย
  • โดยในโปรแกรมของกลุ่มผมได้นำทั้ง 2 LAB มารวมกัน แล้วใช้การเลือก State จาก Switch ของบอร์ด NX~100




    • ปัญหาที่พบจากการทำ LAB
      • เมื่อวัดค่าแรงดันที่ออกจาก VR โดยตรง กับที่โชว์บน 7‐segment ของบอร์ดมีค่าต่างกันเล็กน้อย น่าจะเกิดจากมี Noise ในวงจรที่ต่อ
    • โหลดโปรแกรม LAB2 คลิกที่นี่

    DIGITAL ELECTRONICS WEEK#8

    *** สอบกลางภาค ***

    พี่ช้าง Ayarafun มาใช้ความรู้เกี่ยวกับ Digital และ Microcontroller

    วันอังคารที่ 29 กันยายน พ.ศ. 2558

    DIGITAL ELECTRONICS WEEK#7

    สิ่งที่ได้เรียนรู้
    • การสร้าง State Diagram เพื่อนำไปใช้ในการออกแบบ Sequential Circuits
    ************* วงกลม : State ************* 
    ส่วนบนภายในวงกลม : ชื่อที่อธิบาย State
    ส่วนล่างภายในวงกลม : ระบุ Output ของ State 
    ลูกศร : การ transition จาก State หนึ่งสู่อีก state หนึ่งซึ่งการ transition จะเกิดขึ้นทุกๆ clock
    ตัวเลขบนลูกศร : Logic ของ input ที่ทําให้เกิด transition
    ***************************************
    • การออกแบบ Sequential Circuits โดยใช้ D Type Flip-flops และ JK Flip-flops
              - D Type Flip-flops

    แล้วนำ Da , Db และ Output ใส่ Karnaugh map เพื่อนำไปเขียนแบบวงจร 

              - JK Flip-flops

    แล้วนำ Ja , Ka , Jb , Kb และ Output ใส่ Karnaugh map เพื่อนำไปเขียนแบบวงจร

    • Ex. เมื่อนำผลจาก  Karnaugh map ที่ได้มาเขียนตาราง


    ปัญหาที่พบ ( วิธีแก้ปัญหา )
    • ไม่มีครับ

                

    วันอาทิตย์ที่ 13 กันยายน พ.ศ. 2558

    DIGITAL ELECTRONICS WEEK#6

    สิ่งที่ได้เรียนรู้

    • ความแตกต่างของ Combination Logic กับ Sequential Logic คือ Sequential Logic มี Memory ทำให้ output ขึ้นกับ Input  ปัจจุบัน , Input ก่อนหน้า และ Output ก่อนหน้า
    • Flip-Flop เป็นอุปกรณ์พื้นฐานในการต่อ Sequential Logic
    • SR Flip-flop ทำได้โดยการใช้ NAND Gate 2 channel ต่อกันโดย Output ของทั้ง 2 ตัวจะเป็น Input ของซึ่งกันและกัน ทำให้ได้ผลดังตาราง
     

    *** ถ้า Input เป็น 1 , 1 จะได้ Output เป็น State ก่อนหน้า ***
    • JK Flip-flop  NAND Gate 4 channel ต่อกันดังรูป




    ทำให้ได้ผลตามตารางดังนี้ ( โดยผลลัพธ์จะสนใจ Q ก่อนหน้าด้วย )


    • Asynchronous Counter ใช้ Clock ตัวเดียวร่วมกันทั้งวงจร มีข้อดีคือออกแบบได้ง่าย แต่มีข้อเสียเรื่องความเร็วและ Ripple
    • Synchronous Counter ใช้ Output จาก Flip-flop มาเป็นclock ต่อกันไปเรื่อยๆ
    • สามารถนำ Counter ที่ได้เรียนไปประยุกต์ในการใช้สร้างมอเตอร์แบบ encoder คือสามารถนับรอบการหมุนของมอเตอร์ได้
    • Shift Register เกิดจากการนำ D Type Flip-flop มาต่อเรียงกัน เพื่อใช้ในการส่งข้อมูลในรูปแบบเลขฐาน 2 ซึ่งสามารถส่งได้ทั้งรูปแบบ Serial และ Parallel

    • Class Work เป็นการนำ IC : 74HC166 8-bit parallel-in/serial out shift register มาใช้ส่งข้อมูล โดยแสดงผลโดยใช้ LED

    *** โดยใช้ Clock โดยการใช้ Pulse Generator ของชุดทดลอง ***

    ปัญหาที่พบ ( วิธีแก้ปัญหา )
    • ยังไม่เข้าใจ Concept ของ D Type และ T Type ข้อมูลในสไลด์ไม่มีตัวหนังสือเลย T.T (หาความรู้เพิ่มเติมจาก Internet)




    วันอาทิตย์ที่ 6 กันยายน พ.ศ. 2558

    DIGITAL ELECTRONICS WEEK#5

    สิ่งที่ได้เรียนรู้

    • ได้รู้หลักการทำงานของ LED 7 - Segment ซึ่งก็คือ การ ON LED แต่ละดวงที่มีลักษณะเป็นขีดๆ เพื่อบอกเลขต่างๆ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F  โดยใช้ IC ถอดรหัส  ( 7-Segment Decoder ) มาช่วยให้การแปลง INPUT ที่เข้ามา 4 ตัว ให้กลายเป็น OUTPUT 16 ตัวได้ ( 4-16 Decoder )

    • รู้วิธีการป้อนค่าเลขฐาน 2 เพื่อแปลงเป็นฐาน 16 ( Binary  to Hex Decoder ) เช่น 0000 =0 , 0001 = 1 , 1111 = F
    • รู้วิธีการป้อนค่าเลขฐาน 2 เพื่อแปลงเป็นฐาน 10 โดยใช้ 7 - Segment 2 ตัว เช่น 1010 = 10 , 1111 = 16
    • รู้วิธีการใช้โปรแกรม Logic Friday เพื่อแปลง Truth Table ให้กลายเป็นวงจร Logic Gate
    • Class Work#1 
    • ได้ทำวงจรแปลง Binary to BCD จากการสร้าง Truth Table จากการป้อน INPUT เลขฐาน 2 4บิต เพื่อหา OUTPUT ที่ต้องการไปควบคุม 7 - Segment Decoder อีกทีหนึ่ง เช่น เราต้องการให้ผู้ใช้ป้อน 1010 แล้ว 7-Segment แสดงเลข 10  วงจรแปลงจะทำงานโดยเปลี่ยน 1010 ไปเป็น 0001 0000 จากนั้น
                  0001 จะไปเข้า 7 - Segment Decoder กลายเป็น เลข 1       และ
                    0000 จะไปเข้า 7 - Segment Decoder กลายเป็น เลข 0





      • รู้จัก IC เข้ารหัส ( Encoder ) ที่ทำงานโดยแปลง INPUT หลายๆตัวให้มี OUTPUT น้อยกว่า เช่น INPUT 4 เป็น OUTPUT 2 , INPUT 16 เป็น OUTPUT 4
      • Multiplexer ( MUX )



      • Class Work#2 ทํา Mux 4 to 1 จาก Mux 2 to 1
                     *** ต้องใช้ IC 74HC257 (Quad 2‐input multiplexer) 2 ตัว ***


      ปัญหาที่พบ ( วิธีแก้ปัญหา )
      • ตอนต่อวงจร Class Work#1 สายไฟเยอะมาจนต่อผิด (ใช้สายไฟสีต่างๆแยกวงจรเพื่อให้สามารถ Debug ได้ง่าย )


      วันอาทิตย์ที่ 30 สิงหาคม พ.ศ. 2558

      DIGITAL ELECTRONICS WEEK#4

      สิ่งที่ได้เรียนรู้

      • Karnaugh Maps คือการลดรูปวงจร Logic Gate เหมือน Boolean แต่ง่ายกว่าและเร็วกว่าโดยการนำ Output มาใส่ในตาราง ดังรูป 
      • แล้วทำการวงกลมเลข 1 ที่อยู่ติดกัน

      *** หมายเหตุ วงได้เฉพาะ บน-ล่าง หรือ ซ้าย-ขวา เท่านั้น แนวทแยงไม่ได้ ***
      *** ต้องวงให้เป็น 2^n เท่านั้นคือ 2 4 8 16... จำนวน โดยต้องไม่มีเลข 0 อยู่ด้วย ***
      • K'map 3 input วิธีการคล้ายกันกับ 2 input แต่จะเพิ่มช่อง input เข้ามาในตารางและ เลขบนตารางของ K-map จะใช้การเรียงแบบ Grey code


      • Grey Code คือ รหัสที่แต่ละค่าเปลี่ยนแปลงจากค่าก่อนหน้า แค่ 1 บิต


      *** หมายเหตุ Grey code ไม่เหมาะไปใช้คำนวณ แต่มีข้อดีคือจะเกิดการ Error ของข้อมูลน้อยลง ***

      • K-map 4 input วิธีทำคล้ายกับ 2 และ 3 input โดยสามารถเขียนตารางได้ดังภาพ
      *** การวงเลข 1 สามารถวงได้หลายรูปแบบมาก ต้องจินตนาการเก่งๆ จะทำให้วงจร Gate ง่ายขึ้น ***

      • สามารธทำแบบ Product of Sum ได้โดยการเปลี่ยนจาก เลข 1 เป็น 0
      • Don't care term คือ output นั้นจะเป็น 1 หรือ 0 ก้ได้ ไม่ส่งผลต่อการทำงานของระบบ


      • การเขียน K-map 5-6 ตัวแปร ทำยาก อาจจะงงได้ ให้ใช้ Computer Automated

      • DeMorgan’sTheorems ใช้ช่วยให้การทำ Boolean ง่ายขึ่นเป็นตัวช่วยในการทำ Boolean


      ปัญหาที่พบ ( วิธีแก้ปัญหา )
      • วันนี้ไม่มีปัญหาครับ ผมเอาชนะความง่วงได้เรียบร้อยแล้ว

      วันจันทร์ที่ 24 สิงหาคม พ.ศ. 2558

      DIGITAL ELECTRONICS WEEK#3

      สิ่งที่ได้เรียนรู้
      • ได้รู้วิธีการออกแบบวงจร Logic จากความต้องการของลูกค้า โดยการสร้าง Truth table
      • รู้วิธีการสร้าง Truth table เพื่อดูผลลัพธ์ Output จากกรณีต่างๆที่ได้รับมาใน Input
      • Sum of products (SOP) คือ การบวกกันของผลคูณที่อยู่ในรูป Boolean (Logic จริง/เท็จ) โดยการนำ Output ที่เป็น 1 ทั้งหมดมาจัดให้อยู่ในรูป Input products กันแล้วนำมาบวกกัน


      เพื่อจัดรูปให้อยู่ในรูปแบบที่อ่านง่ายและประหยัด Logic gates  
      ** โดยที่กรณีนี้ Logic 0 จะใส่ Bar **

      • การแปลง Boolean expression เป็น Logic gates โดย 
                                              Product คือ AND Gate และ SUM คือ OR Gate
               
                 *** ศึกษาเพิ่มเติม ***
                                              NOT Gate  ใช้สำหรับ A ฺbar
                                              NOR Gate  ใช้สำหรับ (A+B) bar
                                              NAND Gate ใช้สำหรับ (AB) bar
                                              XOR Gate ใช้สำหรับ (A)(B bar) + (B)(A bar)

      • คุณสมบัติของ Boolean



        • เอกลักษณ์ของ Boolean


        • รู้จักการลดรูปโดยใช้กฏของ Boolean คือ การใช้เอกลักณ์และสมบัติ มาจัดรูปให้ความซับซ้อนน้อยลง



        • รู้จักการทำ Product of Sums (POS) เพื่อใช้ในบางกรณีที่ POS แก้ง่ายกว่า SOP 
        • POS คือการนำ Input ของ Output ที่เป็น 0 มา Sum ก่อนแล้วค่อยนำไป Product กันที่หลัง


         ** ** โดยที่กรณีนี้ Logic 1 จะใส่ Bar **

        ปัญหาที่พบ ( วิธีแก้ปัญหา )

        • การต่อสู้กับความง่วง ( ยังหาวิธีแก้ไม่ได้เลยครับ )
        อื่นๆ
        • การบ้านทำโจทย์สนุกดีครับทำให้เข้าใจวิธีการคิดโจทย์มากขึ้น

        วันเสาร์ที่ 22 สิงหาคม พ.ศ. 2558

        DIGITAL ELECTRONICS WEEK#2

        สิ่งที่ได้เรียนรู้
        • การบวก-ลบ และ การแปลงเลขฐานต่างๆ
        • ได้รู้วิธีการนำ Exclusive-OR GATE และ  AND GATE มาต่อเป็นวงจรคำนวณบวก - ลบ เลขฐาน 2 (Half and Full Adder)



        • Half adder สามารถนำ A และ B  มาบวกกัน ได้ค่าค่าหนึ่ง และมี carry out ออกไปได้แต่ไม่สามารถรับ carry in ได้
        • Full adder สามารถนำค่า 3 ค่า (A B และ Carry in) มาบวกกัน ได้ค่าหนึ่งและมี carry out ออกไปยังหลักต่อไป
        • Overflow คือ เมื่อนำเลขฐาน 2 มาบวก - ลบ กันแล้วผลลัพท์มีค่าเกินกว่า Data range ที่จำนวนบิตที่จะแสดงได้
        • การตรวจสอบ Overflow ทำได้โดยการนำ sign-bit ของตัวเลขที่นำมาบวกกันมาเทียบกับ sign-bit ของคำตอบ
        หากนำค่า บวก มาบวกกัน ผลลัพธ์ที่ได้ต้องเป็น บวก
        หากนำค่า ลบ มาบวกกัน ผลลัพธ์ที่ได้ต้องเป็น ลบ
        *** หากนำค่า บวก และ ลบ มาบวกกัน จะไม่เกิด Overflow ***

        • การตรวจสอบ Overflow ในวงจร Digital ทำได้โดยการนำ Cout ของหลักสุดท้าย  และ Cout ของหลักรองสุดท้ายมาเข้าที่ Exclusive-OR GATE 





          • MSB (Most Significant bit) ตือ เลขหลักแรกของค่าตัวเลข ex 110100112 มี MSB คือเลข 1 ทางซ้ายสุดดังรูป



          ***** (  หาก MSB เป็น 0 เลขชุดนี้จะมีค่าเป็น -  ) *****
          ***** (  หาก MSB เป็น 1 เลขชุดนี้จะมีค่าเป็น +  ) *****

          • การแปลงเลขฐาน 2 ปกติเป็นแบบ 2'complement ทำได้โดยวิธีการดังนี้
                   - 1'complement เปลี่ยนเลข 0 ทุกตำแหน่งเป็น 1     และ เปลี่ยนเลข 1 ทุกตำแหน่งให้เป็น 0
                  - 2'complement นำ 1 บวกเข้ากับ  1'complement



          ปัญหาที่พบ ( วิธีแก้ปัญหา )
          • ใช้เวลาหา IC นานต้องมานั่งไล่เปิด DATASHEET ทีละตัว (นำกระดาษมาติดเพื่อบอกว่า IC ตัวนี้คือ IC อะไรเพื่อความรวดเร็วในการทำงาน )





          DIGITAL ELECTRONICS WEEK#1

          สิ่งที่ได้เรียนรู

          • ในโลกของ Digital ค่าของสัญญาณมีแค่ 2 ระดับคือ High กับ Low ต่างจากสัญญาณ Analog
          • ได้ศึกษา TRUTH TABLE ของ GATE ต่างๆ


          • NOT GATE ( INPUT 1 >>> NOT GATE >>> OUTPUT 0 // INPUT 0 >>> NOT GATE >>> OUTPUT 1 ) ค่าตอน INPUT ตรงข้ามกับ OUTPUT
          • XOR GATE ต้องมี INPUT 1 แค่ 1 ค่าจึงจะมี OUTPUT เป็น 1
          • AND GATE ต้องมี่ INPUT 1 ทั้ง 2 ค่าจึงจะมี OUTPUT เป็น 1
          • NAND GATE ถ้า INPUT เป็น 1 ทั้ง 2 ค่าจะมี OUTPUT เป็น 0
          • OR ต้องมี INPUT เป็น 1 อย่างน้อย 1 ค่าจึงจะมี OUTPUT เป็น 1
          • NOR ถ้ามี INPUT เป็น 1 อย่างน้อย 1 ค่าจะมี OUTPUT เป็น 0

          ปัญหาที่พบ ( วิธีแก้ปัญหา )
          • ไม่เข้าใจ TTL กับ COS เนื่องจากหลับ -.- ( ศึกษาเพิ่มเติมจาก Internet // วิธีแก้ปัญหาเรื่องหลับ...ไม่มีวิธี )
          • Switch ช่อง INPUT 0 มีปัญหา (ใช้ INPUT ช่องอื่นแทน) *** หมายเหตุ แจ้งอาจารย์ปิแล้ว ***