งานนำเสนอกำลังจะดาวน์โหลด โปรดรอ

งานนำเสนอกำลังจะดาวน์โหลด โปรดรอ

ไมโครคอนโทรลเลอร์ เบื้องต้น ปฏิบัติการเกี่ยวกับวิศวกรรม คอมพิวเตอร์ (01204223) ผศ. ดร. ชัยพร ใจแก้ว ภาควิชาวิศวกรรมคอมพิวเตอร์ คณะวิศวกรรมศาสตร์ มหาวิทยาลัยเกษตรศาสตร์

งานนำเสนอที่คล้ายกัน


งานนำเสนอเรื่อง: "ไมโครคอนโทรลเลอร์ เบื้องต้น ปฏิบัติการเกี่ยวกับวิศวกรรม คอมพิวเตอร์ (01204223) ผศ. ดร. ชัยพร ใจแก้ว ภาควิชาวิศวกรรมคอมพิวเตอร์ คณะวิศวกรรมศาสตร์ มหาวิทยาลัยเกษตรศาสตร์"— ใบสำเนางานนำเสนอ:

1 ไมโครคอนโทรลเลอร์ เบื้องต้น ปฏิบัติการเกี่ยวกับวิศวกรรม คอมพิวเตอร์ ( ) ผศ. ดร. ชัยพร ใจแก้ว ภาควิชาวิศวกรรมคอมพิวเตอร์ คณะวิศวกรรมศาสตร์ มหาวิทยาลัยเกษตรศาสตร์

2 ไมโครคอนโทรลเลอร์ คอมพิวเตอร์ขนาดเล็กที่ถูกรวมไว้ ในชิปเดียว ประกอบด้วย  หน่วยประมวลผลกลาง (CPU)  วงจรอินพุท / เอาท์พุท  หน่วยความจำแรม รอม แฟลช  ตัวจับเวลา ตัวนับ  ฯลฯ

3 ภายใน ไมโครคอนโทรลเลอร์ CPU I/O Ports Flash Memory RAMROM Analog to Digital Converter Timers

4 สถาปัตยกรรม AVR สถาปัตยกรรมแบบ 8 บิต RISC ถูกพัฒนาขึ้นโดยบริษัท Atmel ใน ปี 1996 ซีรีส์ต่าง ๆ ของ ไมโครคอนโทรลเลอร์ตระกูล AVR  tinyAVR เช่น ATtiny12, ATtiny24  megaAVR เช่น ATmega8, ATMega168  XMEGA เช่น ATxmega128A1, ATxmega384A1

5 รีจีสเตอร์ หน่วยความจำขนาดเล็กภายใน CPU ตั้งค่าและอ่านค่าได้จากโปรแกรม รีจีสเตอร์แต่ละตัวมีหน้าที่ได้แตกต่าง กัน  เป็นที่พักข้อมูล ที่อ่านจาก RAM/Flash เพื่อเตรียม ประมวลผล ที่เป็นผลลัพธ์จากการคำนวณและเตรียม เก็บลง RAM  เก็บสถานะและกำหนดพฤติกรรมของ uC เช่น กำหนดให้ขาไอซีเป็นอินพุทหรือเอาท์พุท อ่านลอจิกของขาอินพุท และเขียนลอจิก ของขาเอาท์พุท

6 รีจีสเตอร์ใน สถาปัตยกรรม AVR General purpose registers 32 ตัว ตัวละ 8 บิต I/O registers ทั้งหมดถูกอ้างถึงได้ผ่านตำแหน่งของ หน่วยความจำ

7 ตำแหน่งหน่วยความจำ สำหรับอ้างอิง รีจีสเตอร์ R0 R1 R2 : R29 R30 R31 0x00 0x01 0x02 : 0x3D 0x3E 0x3F General Purpose Registers I/O Registers 0x0000 0x0001 0x0002 : 0x001D 0x001E 0x001F 0x0020 0x0021 0x0022 : 0x005D 0x005E 0x005F : : Data Memory Space

8 ตัวอย่างรีจีสเตอร์ DDRD – I/O รีจีสเตอร์หมายเลข 0x0A  แต่ละบิตกำหนดทิศทาง ( อินพุทหรือ เอาท์พุท ) ให้ขาแต่ละขาของพอร์ท D PORTD – I/O รีจีสเตอร์ หมายเลข 0x0B  แต่ละบิตกำหนดลอจิกให้ขาแต่ละขา ของพอร์ท D ที่ถูกกำหนดเป็นเอาท์พุท PIND – I/O รีจีสเตอร์หมายเลข 0x09  แต่ละบิตเก็บค่าลอจิกที่อ่านได้จากขา แต่ละขาของพอร์ท D ที่ถูกกำหนดให้ เป็นอินพุท

9 โปรแกรมตัวอย่าง โค้ดต่อไปนี้กำหนดให้ขา PD3 เป็น เอาท์พุทและส่งลอจิก 0 ไปที่ขานี้ ทำ ให้ LED สีเขียวติดค้าง int main() { *((uint8_t*)0x2A) = 0b ; *((uint8_t*)0x2B) = 0b ; while(1) ; }

10 โปรแกรมตัวอย่าง หมายเลขรีจีสเตอร์นั้นยากต่อการจำ และ อาจเปลี่ยนตำแหน่งเมื่อใช้ ไมโครคอนโทรลเลอร์เบอร์อื่น  ไฟล์เฮดเดอร์ avr/io.h เตรียมนิยามรีจีสเตอร์ เหล่านี้ไว้ให้เพื่อความสะดวก #include int main() { DDRD = 0b ; PORTD = 0b ; while(1) ; }

11 แบบฝึกหัด เขียนโปรแกรมให้ LED สีเขียวบน บอร์ดติดดับเป็นจังหวะดังนี้  ติดครึ่งวินาที ดับครึ่งวินาที สลับกัน ไป  ติด ¼ วินาที ดับ ¾ วินาที สลับกัน ไป

12 การบ้าน เขียนโปรแกรมให้ LED ทั้งสามสี ติดไล่วนเป็นลำดับ เขียว -> เหลือง -> แดง -> เขียว …  LED แต่ละดวงติดค้างเป็นเวลา.5 วินาที หมายเหตุ :  แก้ไขโปรแกรมจากตัวอย่างในวิกิ  อย่าลืมระบุ F_CPU

13 การบ้าน เขียนโปรแกรมให้ LED ทั้งสามสี ติดไล่วนเป็นลำดับ  เขียว -> เหลือง -> แดง -> เหลือง -> เขียว …  LED แต่ละดวงติดค้างเป็นเวลา.5 วินาที หมายเหตุ :  แก้ไขโปรแกรมจากตัวอย่างในวิกิ  อย่าลืมระบุ F_CPU ด้วยสัญญาณ นาฬิกาที่ถูกต้อง


ดาวน์โหลด ppt ไมโครคอนโทรลเลอร์ เบื้องต้น ปฏิบัติการเกี่ยวกับวิศวกรรม คอมพิวเตอร์ (01204223) ผศ. ดร. ชัยพร ใจแก้ว ภาควิชาวิศวกรรมคอมพิวเตอร์ คณะวิศวกรรมศาสตร์ มหาวิทยาลัยเกษตรศาสตร์

งานนำเสนอที่คล้ายกัน


Ads by Google