8-bit MCU

ไม่มีความคิดเห็น
1. ATtiny20

Flash(Kbytes):                                     2 Kbytes
Pin Count :                                          14
Max. Operating Freq. (MHz):             12 MHz
CPU:                                                    8-bit AVR
# of Touch Channels:                          5
Hardware QTouch Acquisition:          Yes
Max I/O Pins:                                      12
Ext Interrupts:                                      12
Voltage Operator:                                1.8-5.5 voltes

2. NXP P89LPC925FDH

Flash(Kbytes):                                     4 Kbytes/8 Kbytes
Pin Count :                                          20
Max. Operating Freq. (MHz):             18 MHz
CPU:                                                    80C51 CPU
I²C-bus communication port:         400 kHz byte-wide
RAM data memory:                       256-byte 
counter/timers :                             Two 16-bit
Max I/O Pins:                                     18
Voltage Operator:                               2.4 V to 3.6 V


3. PIC12F1571

Program Memory Type:               Flash
Program Memory (KB):                1.75
CPU Speed (MIPS):                     8
RAM Bytes:                                  128
Capture/Compare/PWM Peripherals:          3
Timers:                                         2 x 8-bit, 4 x 16-bit
ADC:                                            4 ch, 10-bit
Comparators:                               1
Temperature Range (C):              -40 to 125
Operating Voltage Range (V):      1.8 to 5.5
Pin Count:                                     8
XLP:                                              Yes
Cap Touch Channels:                   4

4. RL78/G10

CPU Core:                                           RL78 core
Pin Count :                                          10
Code Flash:                                         1 to 4 KB
RAM:                                                  128 to 512 bytes
Max. Operating Freq. (MHz):             20 MHz
I/O port:                                               8
clock/Buzzer output:                           1
key interrupt:                                       6
8/10-bit resolution A/D converter:      4 channels
Voltage:                                               2.0 to 5.5 V

5. ST7LITE49M
Program memory:                               4 Kbytes
RAM:                                                  384 bytes
EEPROM:                                           128 bytes
Pin Count :                                          24
A/D converter:                                    10 channels
key Interrupt                                        13
Max. Operating Freq. (MHz):             8 MHz
Voltage Operator:                               2.4 V to 5.5 V

ไม่มีความคิดเห็น :

แสดงความคิดเห็น

วิธีใช้งาน simple calculator phase1

ไม่มีความคิดเห็น
วิธีใช้
     1.เปิด โปรแกรม Arduino IDE เลือกบอร์ดและ Port แล้ว ทำการ Compile และ Upload ตัว Program
2. เปิด Serial Monitor
StartSerial.PNG


3.  ทำการใส่สมการที่ต้องการตามด้วยเครื่องหมาย =

fillInput.PNG


4. โปรแกรมจะแสดง Output ที่ได้ออกมา
seeAns.PNG



5. โจทย์ตัวอย่าง และ คำตอบจาการประมวลผล
manyAns.PNG




ไม่มีความคิดเห็น :

แสดงความคิดเห็น

work plan

ไม่มีความคิดเห็น
ภาพรวมระบบ 




ภาพรวมการทำงานโปรแกรม

void loop(){ 
    get_input()  // get input from PS/2 keyboard
    show_input()  // show input to 16x2 LCD
    cutSpace()
    if (check_error){
        getEachMsg()
        ToPosfix()
        calResult
    }
}

สิ่งที่ดำเนินการไปแล้ว
1. Simple Calculator รับอินพุตจาก Serial มาคำนวนสมการจนได้คำตอบ

ปัญหาที่เกิด
1. check_error()
    1. รับเลขตัวเลขที่เป็นลบยังไม่ได้ เช่น -1+2=, -3*4, (-2*3)=
    2. รับเครื่องหมายติดกันไม่ได้ เช่น 1+-*2=, 5-*1=, 1*/-3=
    3. กรณีวงลบติดลบ -(2+1)=
    4. เลขลบแบบมีวงเล็บ เช่น 1+(-2)=, (-5)*4=, ((-1)-1)=
    5. การขึ้นต้นสมการด้วย  *, /, %, ^, ), =
    6. การมีเครื่องหมายก่อน = เช่น 1+1+=, 2*4-=
    7. การมีเครื่องหมายก่อน ) เช่น (1*2-)+1=, 2^(2-3+)=

2. void loop() มีส่วนที่น่าจะรวมในฟังก์ชัน check_error() ได้แก่
    1. การเช็คความยาวของข้อความที่่รับเข้ามาไม่ให้เกินค่าสูงสุดที่กำหนด
    2. การทำงานซับซ้อน

3. code ไม่มี comment

สิ่งที่จะดำเนินการต่อ 
1. วาดรูป Wiring Diagram เพื่อแสดงการเชื่อมต่อของอุปกรณ์ โดยใช้โปรแกรม Fritzing ระบุขาสัญญาณที่ใช้ให้ชัดเจน

2. รับอินพุตจาก Serial แสดงผลลัพธ์ผ่านจอ LCD (16x2 หรือ 20x4)

3. รับอินพุตจาก PS/2 keyboard มาแสดงบน Serial monitor ได้
4. รับข้อมูลจาก PS/2 keyboard เท่านั้น สามารถพิมพ์ตัวอักษรที่ใช้เป็นนิพจน์ทางคณิตศาสตร์ และแสดงผลบนจอ LCD ได้ทันทีเมื่อกดแป้นพิมพ์ และสามารถเลื่อน cursor และแก้ไขได้ ( เกิดจากการรวมงาน 2 กับ 3 )

5. มีเอกสารแสดงการอธิบายการทำงานของโค้ดที่เขียน
    1. อธิบายหลักการทำงานของฮาร์ดแวร์ที่ใช้งาน เช่น โมดูล LCD และ PS/2 Keyboard
    2 ระบุรายการอุปกรณ์ที่ใช้ในการทดลอง
    3. มีรูปสัญญาณจาก PS/2 keyboard ที่วัดด้วย Digital Oscilloscope พร้อมชื่อสัญญาณ และระบุว่า เป็นข้อมูลไบต์อะไรในขณะนั้น
    4. ระบุแหล่งที่มาของโค้ดหรือไลบรารี่ ในกรณีที่ใช้โค้ดจากที่อื่น ซึ่งมาใช้เป็นส่วนหนึ่งของงาน
    5.  มีรูปภาพฮาร์ดแวร์ที่ใช้ทดลองการทำงานของโค้ดจริง


6. แก้ไข check_error 
7. แก้ไข void loop

แบ่งงานรายบุคคล
นาย หฤษฎ์ จันทร์พัฒนพงศ์ 5501012620103
    6. แก้ไข check_error พร้อมเขียนเอกสารอธิบายโค้ด
    5.1 อธิบายหลักการทำงานของฮาร์ดแวร์ที่ใช้งาน เช่น โมดูล LCD และ PS/2 Keyboard
    3. รับอินพุตจาก PS/2 keyboard มาแสดงบน Serial monitor ได้
    4. รับข้อมูลจาก PS/2 keyboard เท่านั้น สามารถพิมพ์ตัวอักษรที่ใช้เป็นนิพจน์ทางคณิตศาสตร์ และแสดงผลบนจอ LCD ได้ทันทีเมื่อกดแป้นพิมพ์ และสามารถเลื่อน cursor และแก้ไขได้ ( เกิดจากการรวมงาน 2 กับ 3 )

นาย ณภัทร รอดแตง 5501012620049
    1. วาดรูป Wiring Diagram เพื่อแสดงการเชื่อมต่อของอุปกรณ์ โดยใช้โปรแกรม Fritzing ระบุขาสัญญาณที่ใช้ให้ชัดเจน
    4. รับข้อมูลจาก PS/2 keyboard เท่านั้น สามารถพิมพ์ตัวอักษรที่ใช้เป็นนิพจน์ทางคณิตศาสตร์ และแสดงผลบนจอ LCD ได้ทันทีเมื่อกดแป้นพิมพ์ และสามารถเลื่อน cursor และแก้ไขได้ ( เกิดจากการรวมงาน 2 กับ 3 )
      5.5.  มีรูปภาพฮาร์ดแวร์ที่ใช้ทดลองการทำงานของโค้ดจริง
      5.2 ระบุรายการอุปกรณ์ที่ใช้ในการทดลอง

นาย พงศ์ญานนท์ ยางเอน 5501012630184
    รวมโค้ด
    7. แก้ไข void loop
    2. รับอินพุตจาก Serial แสดงผลลัพธ์ผ่านจอ LCD (16x2 หรือ 20x4)
    5.3. มีรูปสัญญาณจาก PS/2 keyboard ที่วัดด้วย Digital Oscilloscope พร้อมชื่อสัญญาณ และระบุว่า เป็นข้อมูลไบต์อะไรในขณะนั้น
    5.4. ระบุแหล่งที่มาของโค้ดหรือไลบรารี่ ในกรณีที่ใช้โค้ดจากที่อื่น ซึ่งมาใช้เป็นส่วนหนึ่งของงาน

ไม่มีความคิดเห็น :

แสดงความคิดเห็น