วันอังคารที่ 3 พฤศจิกายน พ.ศ. 2558

Digital week 12 (05/11/2015)

LAB 5 : I2C ทำการต่อ eeprom เพื่อให้ memory ค่าที่เราต้องการ และแสดงผลผ่าน led บน NX-100 โดยสามารถเลือกโหมดได้ ว่าต้องการจะให้เก็บค่า หรือ แสดงค่าที่เก็บไว้

***แต่ผมพยายามทำแลปนี้แล้วครับ ทำยังไงมันก็ไม่ออกซักที T^T  เท่าที่สังเกตคือ eeprom ไม่ทำการเก็บค่าที่บันทึกลงไป จึงไม่มีการแสดงค่า ทำได้เพียงบันทึกและแสดงค่าที่เก็บได้ในรอบแรกเท่านั้น



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

Digital week 11 (29/10/2015)

LAB 4 : Sine wave สร้างคลื่น Sine wave ขึ้นมาจากสมการ Sine แล้วกำหนดแอพลิจูดของกลุ่มผมคือ 1250 จากนั้นใช้ Scope จับคลื่นเพื่อดูรูปของคลื่นและแอมพลิจูด





Digital week 10 (22/10/2015)

1.) สิ่งที่ได้จากการเรียนรู้

serial-communication คืออะไร?
     คือการส่งข้อมูลที่เป็น bitsต่างๆ ซึ่งการส่งข้อมูลนั้น แบบได้ 2 ประเภทใหญ่ คือการส่งข้อมูลแบบ serial และ parellel

  • Serial คือการส่งข้อมูลแบบทีละบิตในหนึ่งช่วงเวลา ผ่านสายเพียงเส้นเดียว
  • Parallel คือการส่งข้อมูลจำนวนหลายๆบิต พร้อมกันในหนึ่งช่วงเวลา ผ่านสายหลายๆเส้น


ในหนึ่งหน่วยเวลา คืออะไร ?
     คือการเทียบระยะเวลาระหว่างตัวส่งข้อมูลและตัวรับข้อมูล มี2แบบ คือ Asynchronous และ Synchronous

  • Asynchronous : คือการส่งข้อมูลโดยไม่เทียบกับหน่วยเวลา แต่จะเทียบกับโปรโตคอลอื่นๆ เพื่อให้ทราบข้อมูลในบรรทัดฐานเดียวกันทั้งตัวส่งและตัวรับ
  • Synchronous : คือการส่งข้อมูลโดยเทียบกับเวลาในหน่วยเดียวกัน
จากการที่การส่งข้อมูลแบบ Asynchronous นั้นจะต้องมี Protocol เดียวกันเพื่อให้การส่งข้อมูลนั้นอยู่ในบรรทัดฐานเดียวกัน สิ่งที่นิยมใช้กันอย่างแพร่หลายมาก คือ Baud Rate คือค่าที่บอกถึงความเร็วในการส่งข้อมูล นิยมใช้กันในหน่วย Bits per second (บิตต่อวินาที) ซึ่งมาตรฐานความเร็วที่ใช้นั้นจะมีให้เลือกใช้ได้หลายแบบเช่น 1200 , 2400 , 4800 , 9600 , 19200 , 38400 , 57600 , และ 115200 bps แต่ที่นิยมใช้กันเป็นมาตรฐานที่สุดคือ 9600 bps เนื่องจากเป็นช่วงเวลาที่เสถียรมากในการรับส่งข้อมูล แต่ทั้งนี้ทั้งนั้นก็อยู่ที่ปัจจัยอีกหลายอย่างเช่นกัน สำหรับการเลือก ช่วงของ Baud Rate ต่างๆ



LAB 3  : เชื่อมต่อ Nucleo ให้สื่อสารกับ Computer โดยใช้ Comport โดยให้ Nucleo ส่งเมนูสำหรับสั่งงานขึ้นที่หน้าจอ Serial Monitor (เป็นรูปแบบการต่อแบบ SPI ทำการเชื่อมต่อ TX , RX เพื่อแลกเปลี่ยนข้อมูลกันระหว่างตัวรับส่ง 2 ตัว)



  • Menu ที่ 1 กดเพื่อเข้าสู่การทำงาน Mode ที่ 1 การสั่งงานไฟวิ้ง LED 8 ดวง
  • Menu ที่ 2 กดเพื่อเข้าสู่การทำงาน Mode ที่ 2 อ่านสถานะ Switch Logic 1 bits

วันอังคารที่ 13 ตุลาคม พ.ศ. 2558

Digital week 9 (13/10/2015)

1.) สิ่งที่ได้จากการเรียนรู้

- Microcontroller คืออะไร??? 

     Microcontroller เปรียบเสมือน ตัวประมวลผลกลางระหว่าง Sensors และ Actuators เพื่อตัดสินใจการทำงานว่าจะให้ไปทำอะไร ทิศทางใด หรืออะไรทำงาน
โครงสร้างโดยทั่วไป ของไมโครคอนโทรลเลอร์นั้น สามารถแบ่งออกมาได้เป็น 5 ส่วนใหญ่ๆ ดังต่อไปนี้
  1. หน่วยประมวลผลกลางหรือซีพียู
  2. หน่วยความจำสามารถแบ่งออกเป็น 2 ส่วน คือ หน่วยความจำที่มีไว้สำหรับเก็บโปรแกรมหลัก (Program Memory) เปรียบเสมือนฮาร์ดดิสก์ของเครื่องคอมพิวเตอร์ตั้งโต๊ะ คือข้อมูลใดๆ ที่ถูกเก็บไว้ในนี้จะไม่สูญหายไปแม้ไม่มีไฟเลี้ยง อีกส่วนหนึ่งคือหน่วยความจำข้อมูล (Data Memory) ใช้เป็นเหมือนกกระดาษทดในการคำนวณของซีพียู และเป็นที่พักข้อมูลชั่วคราวขณะทำงาน สำหรับไมโครคอนโทรลเลอร์สมัยใหม่ หน่วยความจำข้อมูลจะมีทั้งที่เป็นหน่วยความจำแรม ซึ่งข้อมูลจะหายไปเมื่อไม่มีไฟเลี้ยง และเป็นอีอีพรอมซึ่งสามารถเก็บข้อมูลได้แม้ไม่มีไฟเลี้ยงก็ตาม
  3. ส่วนติดต่อกับอุปกรณ์ภายนอก หรือพอร์ตมี 2 ลักษณะคือ พอร์ตอินพุตและพอร์ตส่งสัญญาณหรือพอร์ตเอาต์พุตส่วนนี้จะใช้ในการเชื่อมต่อกับอุปกรณ์ภายนอก ถือว่าเป็นส่วนที่สำคัญมาก ใช้ร่วมกันระหว่างพอร์ตอินพุต เพื่อรับสัญญาณ อาจจะด้วยการกดสวิตช์ เพื่อนำไปประมวลผลและส่งไปพอร์ตเอาต์พุต เพื่อแสดงผลเช่น การติดสว่างของหลอดไฟ
  4. ช่องทางเดินของสัญญาณ หรือบัส (BUS) คือเส้นทางการแลกเปลี่ยนสัญญาณข้อมูลระหว่าง ซีพียู หน่วยความจำและพอร์ต เป็นลักษณะของสายสัญญาณ จำนวนมากอยู่ภายในตัวไมโครคอนโทรลเลอร์ โดยแบ่งเป็นบัสข้อมูล, บัสแอดเดรสและบัสควบคุ
  5. วงจรกำเนิดสัญญาณนาฬิกา นับเป็นส่วนประกอบที่สำคัญมากอีกส่วนหนึ่ง เนื่องจากการทำงานที่เกิดขึ้นในตัวไมโครคอนโทรลเลอร์ จะขึ้นอยู่กับการกำหนดจังหวะ หากสัญญาณนาฬิกามีความถี่สูง จังหวะการทำงานก็จะสามารถทำได้ถี่ขึ้นส่งผลให้ไมโครคอนโทรลเลอร์ตัวนั้น มีความเร็วในการประมวลผลสูงตามไปด้วย

ซึ่งบอร์ดที่เราจะใช้นั่นคือ...



LAB 1  : ปรับค่าแรงดันขาเข้าตั้งแต่ 0-3.3 V และทำการแสดงผลผ่านหลอดไฟLED 8 ดวง (รูปแบบการต่อแบบ A2D)


LAB 2 : ปรับค่าแรงดันขาเข้าตั้งแต่ 0-3.3 V และทำการแสดงผลผ่าน 7-Segment จำนวน 2 ตัว (ใช้คำสั่ง BusOut จะสามารถแปลงจากเลขฐาน2 กลายเป็นเลขฐาน16 และสามารถแสดงบน 7-segment ได้เลย)



LAB 0 : ต่อ Input 3 ตัว และทำการแสดงผลผ่านหลอดไฟ LED 8 ดวง โดยสามารถสลับรูปแบบการทำงานได้ 3 รูปแบบ(ใช้รูปแบบการต่อ GPIO)


Digital week 7 (08/09/2015)

1.) สิ่งที่ได้จากการเรียนรู้

- การออกแบบ Sequential Logic 

  1. คิดว่าการทำงานนั้นต้องการให้ออกมาเป็นแบบไหน
  2. ทำการคิด State diagram โดย ทฤษฎีของ Moore and Mealy Machines
  3. สร้าง State Table จากข้างต้นที่ได้คิดไว้
  4. เลือกใช้ Flip-Flop ว่าจะใช้ประเภทใด
  5. ใช้ ทฤษฏี Boolean หาสมการและลดรูป ในการต่อ Flip-Flop
  6. ใช้ ทฤษฎี Boolean หาสมการและลดรูป ในการเชื่อม Output
  7. เมื่อได้สมการมาแล้ว นำมาสร้างเป็นวงจร Logic Gate สำหรับต่อวงจรจริงๆ
ผมขออนุญาติใส่รูปจาก Mini project ที่กลุ่มผมได้ทำนะครับ






2.) ปัญหาที่ได้ - ไม่มีครับ ส่วนตัวผมชอบอะไรที่ได้ลองทำได้ลงมือทำจริงๆ ชอบมากครับบ จะได้ทราบว่าตนไม่รู้อะไร และถามอาจารย์ได้เลย ขอบคุณครับ



วันจันทร์ที่ 7 กันยายน พ.ศ. 2558

Digital week 6 (08/09/2015)

1.) สิ่งที่ได้จากการเรียนรู้

- หลักการทำงานของ Filp-Flop ต่างๆ

Flip-Flop คืออะไร ? 
   Filp-Flop คือ วงจรทางอิเล็กทรอนิกส์ ซึ่งมี output อยู่ 2 สถานะ คือ  Q  และ \overline{Q} นั้นคือจะมีค่าทางลอจิกตรงกันข้ามเช่นถ้า Q = 1 , \overline{Q} = 0 และยังเป็น gate ที่มีหน่วยความจำหนึ่งบิตใช้เก็บค่า 0 หรือ 1 (ที่เป็นเลขฐาน2) คุณลักษณะอีกอย่างหนึ่งของฟลิปฟล็อปที่แตกต่างกับ gate คือ สามารถรักษาหรือเปลี่ยนแปลงสถานะของเอาต์พุตได้โดยใช้สัญญาณอินพุต

- Clock Pulse คืออะไร?


Clock Pulse 
     เป็นวิธีการที่ทำให้ฟลิปฟล็อปแต่ละตัวสามารถเปลี่ยนสภาวะไปพร้อมๆ กันได้โดยต้องมีการให้สัญญาณการเปลี่ยนสถาวะ ซึ่งสัญญาณนี้เรียกว่า Clock pulse(CK)ส่วนนี้เองที่ทำให้ไม่ต้องใช้
ฟลิปฟล็อปต่อร่วมกันหลายๆอัน หรือหากต้องการแยกการ Clock ของ Flip-Flop ก็สามารถทำได้เช่นกัน


- Ship Register คืออะไร?
Ship Register คือ รูปแบบหนึ่งของวงจร Sequential Logic เพื่อใช้ในการจัดเก็บหรือส่งข้อมูลในรูปแบบเลขฐานสอง โดยการนำ D Type Filp-Flop มาต่อเรียงกัน

2.) ปัญหาที่พบ

-ยังสับสนสำหรับการต่อแบบ Parallel , Serail ว่าควรจะต่อกับ Debounce Switch ขอบขาใด ขาใดของICที่ต้องต่อกับDebounce Switchบ้าง







Digital week 5 (31/08/2015)

1.) สิ่งที่ได้จากการเรียนรู้

- หลักการทำงานของ 7-Segment
   ส่วนตัวผมรู้สึกชอบมากหากมีการเรียนรู้ในห้องเรียน และได้ทดลองต่อวงจรของจริง มันสามารถทำให้ผม ได้ทราบว่าผมไม่ทราบอะไรบ้าง มีข้อสงสัยตรงไหน

เริ่มด้วย หลักการทำงานของ 7-sement

-สังเกตได้ว่า LED ใน 7-sement นั้น จะมีอยู่ทั้งหมด 7 ดวง (หากนับที่จุดด้วยจะมี 8)
-ซึ่งหลักการง่ายๆคือ การถอดรหัสของ input ว่าเข้ามาจำนวนเท่าใด แล้วoutputจะต้อง on LED ตรงที่ใดบ้าง
-และโดยทั่วไปแล้ว เราจะใช้เลขฐาน2 จำนวน 4 bit เพื่อเข้ารหัสผ่าน 7-Sement Decoder ในการ On 7-Sement ว่ารหัสที่ 0000 , 0001 , 0010 ต้อง On LED ที่ตำแหน่งใด

หากต้องการตัวเลข 2 หลัก หรือมากกว่านั้น ???
สามารถทำได้โดยการแปลง เลขฐาน2 เป็น เลขแบบBCD
-เลข BCD มีหลักมาจากว่า คนเรามักจำเลขฐาน2จำนวน 4bit ได้ เราจึงแยกเลขฐาน2 จำนวน 4 bit เป็น 2ชุด ชุดแรก แทนหลักสิบ ชุดหลังแทนหลักหน่วย และทำการต่อผ่าน 7-Sement Decoder แยกหลักสิบและหลักหน่วย

และทางกลุ่มเราก็ได้ลองทำการจำลองต่อดูครับ (แต่ไม่สำเร็จเพราะงงสาย><'')


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

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

Digital week 4 (25/08/2015)

1.) สิ่งที่ได้จากการเรียนรู้

-Karnaugh Maps
     คือการลดรูปวงจร Logic Gate ที่ง่ายและรวดเร็วกว่ารูปแบบของ Boolean ซึ่งมีกฏ 3 ข้อในการทำดังนี้

  1. การวงเลข ที่ได้ในตาราง Output นั้นต้องวงกลมในแนวตั้งหรือแนวนอนเท่านั้น
  2. เลขที่อยู่ในวงนั้น จะต้องมีจำนวนของตัวเลข = 2ยกกำลัง(n)
  3. ในการวงเลขนั้นจะต้องไม่มีตัวเลขที่ต่างกันเลยในวงกลม (เลือกทำแบบ SOP วง1ต้องไม่มี0 , เลือกทำแบบ POS วง0ต้องไม่มี1)
ตัวอย่างกรณี K-map 2 input


ตัวอย่างกรณี K-map 3 input


ตัวอย่างกรณี K-map 4 input


ตัวอย่างกรณี K-map 5-6 input เราจะมองเห็น K-map เป็นภาพ 3 มิติ



จากตัวอย่าง!!! มีข้อสังเกตได้ว่า....
  • ตาราง 2-4 input จะเป็นตาราง K-map แบบ 2 มิติ
  • จำนวนช่องตารางในการสร้าง K-map จะเท่ากับจำนวน input ยกกำลัง 2
  • การสร้างตาราง K-map นั้น เราจะเลือกใส่ input ใดมาก่อนหรือหลังก็ได้ เพียงแต่ต้องครบตามตาราง Truth Table ที่เราได้กำหนดไว้ในตอนแรก เช่น มี input = A,B,C จะเลือก AB,C หรือ A,BC หรือ AC,ฺB ก็ได้
  • จำนวน input ตั้งแต่ 5 input ขึ้นไป ตาราง K-map จะเป็นแบบ 3 มิติ ในกรณีนี้หากทำการคำนวณจริงๆจะเห็นว่า จะมีความยุ่งยากในการสร้างตาราง K-map มากขึ้น ดังนั้น หากมี input มากกว่า 5-6 input ขึ้นไป แนะนำว่าควรใช้โปรแกรมในการคำนวณจะทำให้มีความผิดพลาดน้อยและรวดเร็วกว่ามาก


คุณสมบัติเพิ่มเติมของ K-map ที่ต้องทราบ!


--------------------------------------------------------------------------------------------------------------------------


--------------------------------------------------------------------------------------------------------------------------


  1. ตาราง K-map จากภาพตัวอย่างนั้น สามารถที่จะม้วนหรือจับมุมทั้ง 4 ด้านให้มาชนกันได้ นั้นหมายความว่า เราสามารถที่จะวงกลมตัวเลขที่เราม้วนแล้วมันมาติดกันได้ด้วย
  2. หากเป็นตาราง 5 input ขึ้นไป จะเป็นตารางแบบ 3 มิติ ซึ่งเราก็สามารถที่จะวงกลมตัวเลขที่เหมือนกัน ในตำแหน่งที่ตรงกัน ในแต่ละตารางได้อีกด้วย แต่อย่าลืม!!! ตัวเลขที่จะวงกลมนั้น ต้องมีจำนวนตัวเลขในวงกลม เท่ากับ 2ยกกำลัง(n)
  3. ตัวเลข (00,01,11,10) ที่อยู่ข้างตารางนั้น เป็นตัวเลขแบบ GrayCode ไม่ใช่ BinaryCode
-เกร็ดความรู้เพิ่มเติม
    GrayCode คือรหัสที่แต่ละค่าที่เปลี่ยนจะเปลี่ยนไปเพียง1บิตเสมอ เพื่อลดErrorในการส่งข้อมูล แต่ไม่เหมาะในการคำนวณ นิยมใช้กันมากในการนำมาประยุกต์ใช้กับการสร้างLogicต่างๆที่เกี่ยวข้องกับดิจิตอล

2.) ปัญหาที่พ

- ยังไม่คล่องในการเขียน output ที่ดูจากการวง

-       ยิ่ง input มีเยอะ ยิ่งต้องดูให้รอบคอบ อาจเกิดการผิดพลาดได้ง่าย

วันอังคารที่ 18 สิงหาคม พ.ศ. 2558

Digital week 3 (17/08/2015)

1.) สิ่งที่ได้จากการเรียนรู้

-การออกแบบวงจรจากโจทย์เพื่อให้ได้ Logic gate ตรงตามที่โจทย์กำหนด

  Ex.



-จะออกแบบวงจร Logic Gate นี้ได้อย่างไร?
  • ทำ Truth table เพื่อคำนวณหา Output ที่เราต้องการ จากการใช้ Sensor จำนวณ 3 ตัว ซึ่งในกรณีนี้ หาก sensor 2 ใน 3 ตัว detect เจอเปลวไฟวงจรก็จะยังทำงานอยู่ และแสดงผลว่า sensor ทั้ง 3 ตัวยังใช้งานอยู่หรือไม่ โดยการแสดงผลจากหลอดไฟที่ต่อตรงเข้ากับ sensorแต่ละตัว
  • เมื่อได้ Truth table เรียบร้อยแล้ว เราจะนำผลที่ได้จาก output มาเป็นสมการโดยการทำ "Boolean expression" , และลดรูปของสมการโดยเทคนิคของ "Boolean Algebra"  และเมื่อได้สมการที่ทำการลดรูปเรียบร้อยแล้ว จึงนำมาปรับรูปแบบ เป็น Logic Gate
***Let's Time to PLAY! (จากตัวอย่าง)


     เมื่อได้ Truth table แล้ว เราก็ นำผล Output เข้าสู่ "Boolean expression" ซึ่ง "Boolean expression" คือ การบวกกันของผลบวก เช่น AB +AC  แตกต่างกับ Truth table คือ จะแสดงเป็นสมการ ผลคูณ ผลบวก ต่างๆ และสามาถนำไปทำ Logic Gates ได้ นอกจากนี้วงจรที่ดูซับซ้อนมากๆ เรายังสามารถลดรูปของมันได้ โดยใช้เทคนิคของ Boolean Algebra 
     output1 จะใช้เทคนิค Sun of Product (SOP) และ output2 จะใช้ เทคนิค Product of Sum (POS) การทำเทคนิคทั้ง 2 มีวิธีดังนี้

-Sum of Product (SOP)


   โดยขั้นตอนการทำนั้น Sum of Product จะสนใจที่ Output เป็น 1 และเขียนเป็นสมการที่ คูณ กันก่อนแล้วจึงนำไป บวก กับ ค่าของ Input หากเป็นค่า 0 จะใส่เครื่องหมาย - ไว้ข้างบน input นั้น เมื่อได้สมการในค่า output ทั้งหมดแล้ว ให้นำแต่ละสมการที่ได้มา บวก กันในที่นี้ เราจะได้สมการคือ 

และนำไปทำเป็น Logic gate ได้ ดังนี้

จะสังเกตได้ว่า หากทำตาม Logic Gate ในรูป จะต้องใช้ OR Gate , AND Gate , NOR Gate หลายตัว และเราสามารถลดรูปวงจรนี้ได้อีก โดยมีวิธีการคือ ใช้ เทคนิค "Boolean Algebra" ดังนี้

        -เอกลักษณ์ของ Boolean (การบวก-การคูณ)


        -สมบัติของ Boolean



      -การลดรูปโดยใช้กฎของ Boolean


     จะได้ ขั้นตอนการลดรูปสมการ ดังนี้


     จากนั้น นำไปปรับเป็น Logic Gate ได้คือ 



     เราจะเห็นได้ว่า จากสมการที่ยาวๆ พอใช้เทคนิคของทั้ง "Boolean expression"  และ "Boolean Algebra" แล้ว จากLogic Gate ที่ต้องใช้ gate หลายๆตัวมาต่อกันก็จะลดลงอย่างมาก ทว่า Output ที่ได้ก็ยังคงเหมือนเดิม

-Product of Sum (POS)
     ต่างจากหารทำ Sum of Product (SOP) ตรงที่ Product of Sum (POS) จะสนใจ Output ที่มีค่าเป็น 0 และค่า Input หาก Input เป็น 1 ก็จะใส่ - ข้างบน  Input นั้น จากนั้นนำมา บวก กันก่อนแล้วจึง คูณ กัน ดังเช่นตัวอย่าง

-เพิ่มเติมม

ทำไมการคูณ ถึง แทนด้วย AND Gate , การบวก ถึง แทนด้วย OR Gate


Exclusive-OR คือ Gate ที่ หาก Input เหมือนกันจะได้ Output  = 0 หาก input ต่างกัน จะได้ Output = 1


2.) ปัญหาที่พบ

-ลดรูปสมการโดยใช้ Boolean ยังไม่ค่อยคล่องต้องหมั่นฝึกทำเยอะๆ

-ไม่ค่อยคล่องในการ ทำ Truth table เพื่อพิสูจน์ว่าสมการที่ได้ผ่านการลดรูปแล้ว Output จะตรงกับของเดิมหรือไม่

วันพฤหัสบดีที่ 13 สิงหาคม พ.ศ. 2558

Digital week 2 (13/08/2015)

1.) สิ่งที่ได้จากการเรียนรู้

-การแปลงเลขฐานสิบเป็นเลขฐานสอง โดยวิธีการหารสั้น หรือหากแปลงเลขฐานอะไรแล้ว หากกระทำกลับแล้วจะได้ค่าของเลขฐานเช่นเดิม ซึ่งมันออกจะยากนิดหน่อยสำหรับ การดูว่า เลขฐาน10 นี่หากแปลงเป็นเลขฐาน2 แล้วจะมีค่าเท่าใด เนื่องจากในชีวิตประจำวัน เราใช้เลขฐาน10เป็นหลักในการกระทำสิ่งต่างๆ

-การบวกเลขฐาน2 (อันนี้ค่อยข้างเข้าใจได้ง่ายครับ)


-การทำ 2’s compliment (จำเป็นต้องทำในเลขที่เป็นค่าติดลบ) 
โดยเริ่มแรกจะทำการเปลี่ยนแปลงเลข 0 เป็นเลข 1 และแปลงเลข 1 เป็นเลข 0 หลังจากนั้นจะบวกด้วย  1 จะทำให้ได้ค่าลบในเลขฐานสองออกมา เพื่อนำไปใช้ในการบวกลบเลขฐานสองต่อไป ซึ่งหากเราทำงานร่วมกับเพื่อนร่วมงานคนอื่นๆ หากเป็นการบวกลบ ค่าแบบ 2’s compliment นั้น จำเป็นอย่างมากที่เราต้องแจ้งให้เพื่อนร่วมงานทราบว่า เรากำลังคำนวณค่าแบบ 2’s compliment

-Overflow
คือ การที่ค่าผลลัพธ์ของการบวกลบ มีค่าเกินกว่า Data range ที่จำนวนบิตของตัวแปรจะแสดงค่าได้ (หาก overflow หรือไม่ จำได้จาก จำนวนค่า Max , Min ของแต่ละบิต ว่ามีค่าสูงสุดต่ำสุดเท่าใด)


หรืออีกวิธีคือ (รูปภาพข่างล้าง)

***ให้ระวังด้วยเมื่อทำ 2’s compliment ประมาณว่า จะ Over Flow ถ้า CarryIn & CarryOut มีค่าต่างกันที่ MSB 

-เมื่อแปลงเป็น Logic Gate ก็จะได้ดังนี้ 




2.) ปัญหาที่พบ
 -มีอาการหลุด นั่งเหม่อ ขณะเรียนเรื่อง วงจร half adder และ full adder ทำให้ไม่ค่อยเข้าใจในเรื่องนี้ อยากให้ อาจารย์ช่วยอธิบายเพิ่มเติม ว่า หาก เราเลือกทำแต่วงจรที่เป็น Full Adder จะมีข้อดีข้อเสียต่างจาก Half Adder อย่างไร หรือ ข้อดีข้อเสียของทั้ง2วงจรนี้ ต่างกันอย่างไรครับ