100 likes | 231 Views
Basic Programming for AVR Microcontroller. ทำความรู้จัก. ผลิตโดยบริษัท ATMEL ใช้สถาปัตยกรรมแบบ RISC หนึ่งคำสั่งใช้ clock เพียงลูกเดียว มีหลายเบอร์ หลายขนาดให้เลือกใช้ตามวัตถุประสงค์ของผู้ใช้. คุณสมบัติที่สำคัญ. สถาปัตยกรรมแบบ RISC
E N D
ทำความรู้จัก • ผลิตโดยบริษัท ATMEL • ใช้สถาปัตยกรรมแบบ RISC หนึ่งคำสั่งใช้ clock เพียงลูกเดียว • มีหลายเบอร์ หลายขนาดให้เลือกใช้ตามวัตถุประสงค์ของผู้ใช้
คุณสมบัติที่สำคัญ • สถาปัตยกรรมแบบ RISC • มีรีจิสเตอร์ให้ใช้งานทั่วไปขนาด 8bit จำนวน 32 ตัว * • หน่วยความจำ rom แบบ flash 16kbyte เขียน\ลบได้หมื่นครั้ง • หน่วยความจำแบบ EEPROM ขนาด 512 byte เขียน\ลบได้แสนครั้ง • การสื่อสารข้อมูลอนุกรมมีทั้งแบบ UART หรือ RS323
ส่วนประกอบ ขาพอร์ตอินพุทเอาต์พุท VCC ขาแรงดันไฟตรง GND ขากราวด์ PORT A (PA0 - PA7) input/output สัญญาณดิจิตอล และอะนาลอคได้ PORT B (PB0 - PA7) input/output สัญญาณดิจิตอล โปรแกรมชิพป้อนสัญญาณนาฬาภายนอก PORT C (PC0 - PA7) input/output สัญญาณดิจิตอล เชื่อมต่อกับดีบัคโปรแกรม PORT D (PD0 - PA7) input/output สัญญาณดิจิตอล อินเทอร์รัปสัญญาณภายนอก RESET ขารีเซ็ตวงจร AVCC ขาแรงดันสำหรับ PORT A
หลักการเขียนโปรแกรมควบคุมmicrocontrollerหลักการเขียนโปรแกรมควบคุมmicrocontroller
เลขฐานสอง • พอร์ตของไมโครคอนโทรเลอร์มีขนาด 8bit แต่ละพอร์ตมี 8 ขาแต่ละขาสามารถกำหนดได้สองสถานะ คือ 0 , 1 ในรูปเป็นพอร์ต PA ถ้าต้องการให้ บิตที่ 3 กับ 5 ติดต้องกำหนดค่า
สามารถเปรียบเทียบกับเลขฐานสองก็คือ 00101000 • ถ้านำไปเขียนในโปรแกรมภาษาC ก็แค่กำหนดเป็น PA = 0b00101000; • สามารถเขียนอยู่ในรูปฐานสิบหกได้ แปลงโดยใช้เครื่องคิดเลขPA = 0x28;
ทำความเข้าใจกับรีจิสเตอร์และกำหนดค่าการใช้งานทำความเข้าใจกับรีจิสเตอร์และกำหนดค่าการใช้งาน • เพื่อกำหนดทิศทางเริ่มต้นเพื่อใช้งานแต่ละพอร์ท โดยที่บิตใดเท่ากับ 1 หมายถึงเอาต์พุต เท่ากับ 0 หมายถึงอินพุตหมายถึงโดยใช้วิธีกำหนดค่าคือ DDA = 0b1111000;
ตัวอย่างการเขียนโปรแกรมตัวอย่างการเขียนโปรแกรม เรียกใช้ lib และกำหนดค่า CPU กำหนดรีจิสตี้ ตั้งพอร์ต ฟังก์ชนหน่วงเวลา
สรุป หลักการเขียนโปรแกรมควบคุมmicrocontroller • ต้องทำความเข้าใจเกี่ยวกับส่วนที่ต้องการใช้งานที่เรียกว่าโมดูลภายใน • ต้องเข้าใจและกำหนดค่าในรีจิสเตอร์ที่เกี่ยวข้องกับโมดูลให้เป็น • มีความรู้ภาษา C • ต้องมีความเข้าใจทางด้านอิเล็กทรอนิคส์บ้าง ซึ่งจะช่วยให้การเขียนโปรแกรมและใช้งาน microcontroller เป็นไปตามความต้องการมากขึ้น