ไมโครคอนโทรลเลอร์เบื้องต้น

Slides:



Advertisements
งานนำเสนอที่คล้ายกัน
องค์ประกอบของระบบคอมพิวเตอร์
Advertisements

3. วิธีทำให้ข้อมูลเป็นสารสนเทศมีกี่วิธีอะไรบ้าง
การงานอาชีพและเทคโนโลยี เรื่อง อุปกรณ์คอมพิวเตอร์
Combination Logic Circuits
ใบความรู้ 3 ระบบคอมพิวเตอร์.
ตัวแปรชุด การเขียนโปรแกรมภาษาคอมพิวเตอร์ 1
โครงสร้างของระบบปฏิบัติการ Operating System Structure
Device for single – phase ac parameter measurement
Device for single – phase ac parameter measurement
ป้ายรถเมล์อัจฉริยะ COE Smart Bus Stop ป้ายรถเมล์อัจฉริยะ COE Smart Bus Stop หลักการและเหตุผล หลักการและเหตุผล เทคโนโลยี Zigbee เป็นการสื่อสาร.
บทที่ 11 การเขียนโปรแกรมโดยใช้ข้อมูลชนิดพอยท์เตอร์
Register Allocation and Graph Coloring
สถาปัตยกรรมแบบ stack และ การผลิตโค๊ด
โครงสร้างการควบคุมการทำงานของโปรแกรม Program control structures
Central Processing Unit
หลักการออกแบบของ ADDIE model ADDIE model
นายรุ่งโรจน์ จินตเมธาสวัสดิ์
LAB # 4 Computer Programming 1 1. พิจารณาโปรแกรมต่อไปนี้
PLC คืออะไร?           Programmable Logic Controller เครื่องควบคุมเชิงตรรกะ
CE 112 บทที่ 5 การทำซ้ำในภาษา C
หลักการทำงานคอมพิวเตอร์
หลักการทำงาน ของคอมพิวเตอร์
หน่วยความจำ (Memory Unit)
หน่วยที่ 5 ตัวดำเนินการ (Operators)
Arrays.
Memory Internal Memory and External Memory
มารู้จักคอมพิวเตอร์กันเถอะ มารู้จักคอมพิวเตอร์กันเถอะ
การใช้ภาษาซี มาสั่งงานผ่านพอร์ตพริ้นเตอร์
ปฏิบัติการประกอบเครื่องคอมพิวเตอร์
องค์ประกอบของระบบคอมพิวเตอร์
บทที่ 15 โปรแกรมย่อยและแสต็ก
แผงวงจรพ่วง (Peripheral Board)
ไมโครคอนโทรลเลอร์เบื้องต้น
การบัดกรีชิ้นงานอิเล็คทรอนิคส์
ชุดทดลองวงจรและ เครื่องมือวัดพื้นฐาน
การสร้างวงจรต้นแบบ (Circuit Prototyping)
Chapter 5 คำสั่งควบคุมการทำซ้ำ
หน่วยประมวลผลกลางและหน่วยความจำ Central Processing Unit and Memory
แถวลำดับ (array) ง40202 การเขียนโปรแกรมด้วยภาษาคอมพิวเตอร์
คำสั่ง for ง30212 การเขียนโปรแกรมด้วยภาษาคอมพิวเตอร์
การใช้บอร์ดควบคุมสำหรับ Robot 35 in 1
Basic Programming for AVR Microcontroller
เรื่ององค์ประกอบคอมพิวเตอร์
เรื่องคอมพิวเตอร์ทำงานอย่างไร
ดิจิตอลเทคนิค 2 (3) (Digital Techniques)
การออกแบบวงจรดิจิตอล 2 (3)
อุปกรณ์พื้นฐานของคอมพิวเตอร์
วิชา เทคโนโลยีสารสนเทศ เรื่อง. หลักการทำงาน และ
แผงวงจรหลักและการรับส่งข้อมูล (Bus)
โปรแกรมประยุกต์อื่นๆ
Week 7 การเขียนโปรแกรมเบื้องต้น
ผู้จัดทำ นางสาว สุทธิดา แสงอุไร มัธยมศึกษาปีที่ 4/2 เลขที่ 27.
องค์ประกอบของคอมพิวเตอร์
การทำงานของคอมพิวเตอร์
บทที่ 3 การจ่ายงาน (Process Management).
หลักการทำงานของคอมพิวเตอร์
อธิบายหลักการทำงาน บทบาท และประโยชน์ของคอมพิวเตอร์
เครื่องคอมพิวเตอร์. ? เครื่องคำนวณอิเล็กทรอนิกส์ ประกอบด้วยวงจร อิเล็กทรอนิกส์และไอซี ชิปเซ็ต ต่างๆ ที่สามารถจดจำ ประมวลผลข้อมูล เปรียบเทียบ ตัดสินใจทาง.
หลักสูตรการบำรุงรักษาระบบโทรศัพท์
เครื่องคอมพิวเตอร์ และอุปกรณ์
หน้าที่และอุปกรณ์คอมพิวเตอร์
องค์ประกอบของคอมพิวเตอร์
โรงเรียนสายมิตรเทคโนโคราช
Assembly Languages: PDP8
ระบบคอมพิวเตอร์ (computer system)
องค์ประกอบของคอมพิวเตอร์
Operating System.
ส่วนประกอบของคอมพิวเตอร์
ระบบคอมพิวเตอร์ (computer system)
ไมโครคอนโทรลเลอร์เบื้องต้น
ใบสำเนางานนำเสนอ:

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

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

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

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

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

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

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

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

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

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

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

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

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