8-bit MCU
1. ATtiny20Flash(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
4. โปรแกรมจะแสดง Output ที่ได้ออกมา
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. ระบุแหล่งที่มาของโค้ดหรือไลบรารี่ ในกรณีที่ใช้โค้ดจากที่อื่น ซึ่งมาใช้เป็นส่วนหนึ่งของงาน
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. ระบุแหล่งที่มาของโค้ดหรือไลบรารี่ ในกรณีที่ใช้โค้ดจากที่อื่น ซึ่งมาใช้เป็นส่วนหนึ่งของงาน
สมัครสมาชิก:
ความคิดเห็น
(
Atom
)
ไม่มีความคิดเห็น :
แสดงความคิดเห็น