20 feb 2012
This presentation is the property of its rightful owner.
Sponsored Links
1 / 50

20 Feb 2012 PowerPoint PPT Presentation


  • 92 Views
  • Uploaded on
  • Presentation posted in: General

20 Feb 2012. ไมโครคอนโทรลเลอร์ AVR. ผลิต โดยบริษัท ATMEL มี สถาปัตยกรรมแบบ RISC คือหนึ่งคำสั่งทำงานโดยใช้สัญญาณนาฬิกาเพียง 1 ลูก เทียบ กับไมโครคอนโทรลเลอร์ตระกูล MCS 51 ที่ต้องใช้สัญญาณนาฬิกา 6-12 ลูก

Download Presentation

20 Feb 2012

An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -

Presentation Transcript


20 feb 2012

20 Feb 2012


20 feb 2012

ไมโครคอนโทรลเลอร์ AVR

  • ผลิตโดยบริษัท ATMEL

  • มีสถาปัตยกรรมแบบ RISC คือหนึ่งคำสั่งทำงานโดยใช้สัญญาณนาฬิกาเพียง 1 ลูก

  • เทียบกับไมโครคอนโทรลเลอร์ตระกูล MCS 51 ที่ต้องใช้สัญญาณนาฬิกา 6-12 ลูก

  • การเขียนโปรแกรม ภาษา C ด้วย AVR Studio 4 / WinAVR C Compiler เพื่อไปควบคุมการทำงานของไมโครคอนโทรลเลอร์ตระกูล AVR

  • ศึกษาคุณสมบัติของ AVR เบอร์ที่เราเลือกใช่งานก่อนเช่น ขาพอร์ตอินพุตเอาต์พุต ขาVCC ขาGND ไทเมอร์ เคาน์เตอร์ รีจีสเตอร์ที่เกี่ยวข้องกับโมดูลนั้นนั้น


Atmega16

ลองเลือกใช้เบอร์ ATmega16


Avr studio 4 winavr

การใช้งาน AVR Studio 4 /WinAVR

  • AVR Studio 4 เป็นเครื่องมือในการพัฒนาโปรแกรมภาษาแอสแซมบลี

  • ไมโครคอนโทรลเลอร์ AVR ในรูปแบบ IDE คือการรวมเครื่องมือพัฒนาทั้งแอสแซมเบลอร์ดีบักเกอร์ และอิดิเตอร์ไว้ในตัวเดียวกัน

  • นำมาทำงานร่วมกับWinAVRก็สามารถที่จะคอมไพล์ภาษา C สำหรับ AVR ได้

  • สามารถดาวน์โหลดโปรแกรม WinAVRและ AVR Studio 4 ได้ที่http:www.eSnack.net


Atmega161

วงจรที่ใช้เบอร์ ATmega16


Avr studio 4

การเรียกใช้งานโปรแกรม AVR Studio 4

เปิดโปรแกรม AVR Studio 4 ขึ้นมาโดยเรียกที่ Start>>Programs>>Atmel AVR Tools>>AVR Studio 4


Welcome to avr studio 4

หน้าต่าง Welcome to AVR Studio 4

  • ไม่ปรากฏหน้าต่างนี้ขึ้นมาให้ไปเลือกที่คำสั่งบน เมนูบาร์ Project>>Project Wizard ก็จะปรากฏหน้าต่าง Welcome to AVR Studio 4 ขึ้นมาให้เช่นกัน


Project

การสร้าง Project ใหม่

คลิกที่ปุ่ม New Project ที่หน้าต่าง Welcome to AVR Studio 4 หรือเลือกคำสั่งบนเมนูบาร์ Project>>New Project ก็จะปรากฏหน้าต่างดังภาพด้านล่างนี้


Project type avr gcc

Project type ให้คลิกเลือก AVR GCC

  • เพื่อเลือกเขียนโปรแกรมด้วยภาษา C ที่ช่อง Project name

  • ใส่ชื่อ Project ลงไป ในช่อง Initial file เป็นชื่อเดียวกันกับชื่อในช่อง Project name ที่เลือก


Project1

การสร้าง Project

  • ให้คลิกเลือก Create initial file เพื่อสร้างไฟล์ภาษา C

  • คลิกเลือก Create folder เพื่อสร้างโฟลเดอร์ไว้เก็บข้อมูลโปรเจ็ค

  • คลิกที่ปุ่ม เพื่อเลือกที่เก็บข้อมูลโปรเจ็ค


Project2

การสร้าง Project

  • เมื่อเลือกใส่ค่าต่างๆเรียบร้อยแล้ว ให้คลิกต่อไปจะปรากฏหน้าต่างดังภาพด้านล่าง ในช่อง Debug platform

  • ให้คลิกเลือก AVR Simulator และในช่อง Device ให้เลือก ATmega16(ATmega88) จากนั้นคลิกที่สำเร็จก็จะปรากฏหน้าต่างสำหรับเขียนโค๊ดโปรแกรมขึ้นมา


20 feb 2012

การเขียนโค้ดโปรแกรม

  • #include <avr/io.h>#define F_CPU 8000000UL#include <util/delay.h>void delay_ms (unsigned inti ){for (;i>0; i--)_delay_ms(1);}int main (void){DDRA = 0xFF;PORTA = 0X00;while (1){PORTA = 0x01;delay_ms (1000);PORTA = 0x02;delay_ms (1000);

PORTA = 0x04;delay_ms (1000);PORTA = 0x08;delay_ms (1000);PORTA = 0x10;delay_ms (1000);PORTA = 0x20;delay_ms (1000);PORTA = 0x40;delay_ms (1000);PORTA = 0x80;delay_ms (1000);}return 0;}


20 feb 2012

การเขียนโค้ดโปรแกรม

  • ทดลองเขียนโค้ดโปรแกรมตามตัวอย่างนี้ลงไป โปรแกรมตามตัวอย่างนี้ถ้านำไปบันทึกในATmega16(88) ในวงจรไฟวิ่งที่กล่าวไว้ข้างต้นนี้ผลลัพธ์ที่ได้LED ก็จะติดจากดวงที่1 และวิ่งไปถึงดวงที่ 8 และวิ่งวนไปตลอด

  • ให้นักศึกษาออกแบบและเขียนโปรแกรมให้เหมาะสมกับ eSnack


20 feb 2012

การเขียนโค้ดโปรแกรม

  • ในช่อง Device เลือกเบอร์ AVR ที่ใช้ ในที่นี้เลือกATmega16(88)

  • ในช่อง Frequency ให้ใส่ค่าความถี่ที่ใช้หรือเลือกให้ตรงกับความถี่ของบอร์ดทดลองที่เลือกใช้ ในบทความนี้เลือก 8 MHz (xx)


20 feb 2012

การเขียนโค้ดโปรแกรม

ที่ช่อง Optimization จะเป็นการเลือกการบีบอัดข้อมูลของโปรแกรม ที่จะนำไปบันทึกลงในไอซี ขอแนะนำให้เลือกใช้ -03 หรือ -0S คลิกเลือก Create Hex File เพื่อสร้างไฟล์โปรแกรมที่จะนำไปบันทึกในไอซี

ส่วน Map File และ List Fileจะเลือกหรือไม่เลือกก็ได้เพราะในบทความนี้จะใช้เฉพาะ Hex File เท่านั้น จากนั้นคลิก OK


20 feb 2012

การเขียนโค้ดโปรแกรม

  • และเมื่อเขียนโค้ดโปรแกรมเสร็จเรียบร้อยแล้วเลือกคำสั่งที่เมนูบาร์ Project>>Configuration Option จะปรากฏหน้าต่าง Options ขึ้นมา


Project3

การบันทึก Project

  • ให้เลือกคำสั่งบนเมนูบาร์ File>>Save ก็จะบันทึกไฟล์.C ไว้ในโฟลเดอร์โปรเจ็ค


Project4

การบันทึก Project

  • ต้องการที่จะบันทึกโปรเจ็คให้เลือกคำสั่งบนเมนูบาร์ Project>>Save Project ก็จะบันทึกไฟล์โปรเจ็ค ไว้ในโฟลเดอร์โปรเจ็ค


Project5

การบันทึก Project

  • แสดงไฟล์.C และไฟล์โปรเจ็คที่บันทึกไว้ในโฟลเดอร์โปรเจ็ค


20 feb 2012

การคอมไฟล์โปรแกรม

  • เขียนโค้ดโปรแกรม C เสร็จเรียบร้อยแล้วสามารถที่จะคอมไฟล์WinAVRผ่าน AVR Studio ได้โดยเลือกที่คำสั่งบนเมนูบาร์ Build>>Build


20 feb 2012

การคอมไฟล์โปรแกรม

  • เรียกใช้คำสั่งคอมไฟล์แล้ว ในหน้าต่าง Build จะแสดงคำสั่งที่เรียกใช้งานWinAVRและแสดงผลลัพธ์จากคำสั่งนั้นนั้น

  • หากว่าไม่เกิดข้อผิดพลาดใดใดจะแสดงสัญลักษณ์รูปวงกลมสีเขียว

  • หากว่ามีข้อผิดพลาดเกิดขึ้น จะแสดงสัญลักษณ์วงกลมสีเหลืองและสีแดงขึ้นหน้าบรรทัดนั้น

  • สามารถที่จะดับเบิ้ลคลิกที่บรรทัดนั้น ก็จะกระโดดไปยังบรรทัดที่ผิดพลาดของโปรแกรมเพื่อให้แก้ไขได้


20 feb 2012

การคอมไฟล์โปรแกรม

  • เมื่อคอมไฟล์ผ่านเรียบร้อยแล้วจะได้โฟลเดอร์ default เก็บอยู่ในโฟลเดอร์โปรเจ็ค

  • ภายในโฟลเดอร์ default จะมีไฟล์การทำงานต่างๆอยู่รวมทั้งไฟล์.Hex ที่จะนำไปบันทึกลงในไอซีด้วย

  • สำหรับรายละเอียดเพิ่มเติมของการใช้งานโปรแกรม AVR Studio สามารถอ่านเพิ่มเติมได้จาก Help ของโปรแกรม


Simulate proteus 7 6

การ SIMULATE วงจรด้วยโปรแกรม Proteus 7.6

  • โปรแกรม ต่อไปจะนำไฟล์.Hex ที่ได้จากการคอม ไฟล์ไปทดลอง SIMULATE การทำงานของโปรแกรมด้วยโปรแกรม Proteus 7.6 สำหรับโปรแกรม Proteus http://www.labcenter.co.uk


Simulate proteus 7 61

การ SIMULATE วงจรด้วยโปรแกรม Proteus 7.6

  • หลังจากที่ได้ลงโปรแกรม Proteus เสร็จเรียบร้อยแล้วให้เรียกใช้งานเพื่อจำลองการทำงานของวงจร ถ้าหากปรากฏหน้าต่าง View Sample Designs ให้คลิก NO


Simulate proteus 7 62

การ SIMULATE วงจรด้วยโปรแกรม Proteus 7.6


Simulate proteus 7 63

การ SIMULATE วงจรด้วยโปรแกรม Proteus 7.6

  • เริ่มวาดวงจรไฟวิ่งดังตัวอย่างที่กล่าวไว้ข้างต้น

  • 1. คลิกที่ Component Mode

  • 2. คลิกที่ Pick form Libraries

  • 3. พิมพ์ AVR ในช่อง Keywords เลือก Device เบอร์ ATMAGA 16

  • 4. คลิก OK


Simulate proteus 7 64

การ SIMULATE วงจรด้วยโปรแกรม Proteus 7.6


Simulate proteus 7 65

การ SIMULATE วงจรด้วยโปรแกรม Proteus 7.6

  • คลิกซ้ายบริเวณพื้นที่วาดวงจรจะปรากฏรูปร่างของอุปกรณ์ขึ้นมาให้เลื่อนไปยังตำแหน่งที่ต้องการวางอุปกรณ์

  • คลิกซ้ายเพื่อวางอุปกรณ์ หากต้องการRotate , Mirror , หรือ Delete ให้คลิกขวาที่ตัวอุปกรณ์ก็จะมีคำสั่งให้เลือกใช้งาน

  • หากต้องการเคลื่อนย้ายตัวอุปกรณ์ให้คลิกซ้ายที่ตัวอุปกรณ์ อุปกรณ์ตัวนั้นก็จะมีสีแดงจากนั้นคลิกซ้ายค้างแล้วเลื่อนไปยังตำแหน่งที่ ต้องการวาง

  • เมื่อวางอุปกรณ์เรียบร้อยแล้วให้คลิกซ้ายบริเวณพื้นที่ว่างสี แดงที่ตัวอุปกรณ์ก็จะหายไป


Simulate proteus 7 66

การ SIMULATE วงจรด้วยโปรแกรม Proteus 7.6

  • 5. คลิกที่ Component Mode

  • 6. คลิกที่ Pick form Libraries

  • 7. พิมพ์ Resistor ในช่อง Keywords เลือกResistor

  • 8. คลิก OK

  • ให้วางตัว Resistor ลงในพื้นที่วาดวงจร

  • ให้คลิกขวาที่ตัว Resistor เลือกคำสั่ง Edit properties จะปรากฏหน้า

  • Edit Component ขึ้นมา ในช่อง Resistance (Ohms) ให้ใส่ค่า 220 ลงไป


Simulate proteus 7 67

การ SIMULATE วงจรด้วยโปรแกรม Proteus 7.6


Simulate proteus 7 68

การ SIMULATE วงจรด้วยโปรแกรม Proteus 7.6


Simulate proteus 7 69

การ SIMULATE วงจรด้วยโปรแกรม Proteus 7.6

  • 9. คลิกที่ Component Mode

  • 10. คลิกที่ Pick form Libraries

  • 11. พิมพ์ LED-BLUE ในช่อง Keywords เลือก LED-BLUE หรือหากต้องการเลือกสีอื่นก็สามารถเลือกได้

  • 12. คลิก OK และวาง LED-BLUE ลงในพื้นที่วาดวงจร

  • 13. คลิกที่ Terminals Mode คลิกเลือก GROUND จากนั้นนำไปวางในพื้นที่วาดวงจร

  • 14. คลิกที่ Terminals Mode เพื่อลากเส้นสัญญาณเชื่อมต่อระหว่างขาอุปกรณ์ โดยคลิกซ้ายที่ขาอุปกรณ์ที่เป็นจุดเริ่มต้นและลากไปคลิกซ้ายที่ขาอุปกรณ์ที่ เป็นจุดสิ้นสุด


Simulate proteus 7 610

การ SIMULATE วงจรด้วยโปรแกรม Proteus 7.6


Simulate proteus 7 611

การ SIMULATE วงจรด้วยโปรแกรม Proteus 7.6

  • เมื่อวาดวงจรเสร็จเรียบร้อยแล้วให้คลิกขวาที่อุปกรณ์ ATMAGA16 เลือกคำสั่ง Edit properties ที่ช่อง Program File

  • ให้คลิกที่ และไปเลือกไฟล์.Hex ที่ได้จากการคอมไฟล์ด้วยโปรแกรมWinAVRข้างต้นที่เก็บอยู่ในโฟลเดอร์ default ในโฟลเดอร์โปรเจ็ค

  • ที่ช่อง CKSEL Fuses: ให้เลือกความถี่คริสตอลที่ใช้งานในบทความนี้เลือกใช้ 8 MHz เท่านี้ก็พร้อมที่จะจำลองการทำงานของโปรแกรมได้แล้ว


Simulate proteus 7 612

การ SIMULATE วงจรด้วยโปรแกรม Proteus 7.6

  • 15. ให้คลิกปุ่ม Play เพื่อดูผลการจำลองการทำงานของวงจร ผลที่ได้ก็คือ LED ก็จะติดจากดวงที่1 และวิ่งไปถึงดวงที่ 8และวิ่งวนไปตลอด หากต้องการหยุดการทำงานให้คลิกที่ปุ่ม STOP


Simulate proteus 7 613

การ SIMULATE วงจรด้วยโปรแกรม Proteus 7.6


Starting atmel avr c programming tutorial 1

Starting Atmel AVR C Programming Tutorial 1

  • Starting Atmel AVR C Programming Tutorial 1

  • In this two series of tutorial, we will provides you with the information on the tools and the basic steps that are involved in using the C programming language for the Atmel AVR microcontrollers.

  • It is intended for people who are new to this type of microcontrollers. The AVRJazz Mega168 board will be use in this tutorial, however this information could be applied to other AVR family as well.


1 which tools should i use

1. Which tools should I use

  • To start C programming language on Atmel AVR Microcontroller you need to download these following tools:

  • Down load the latest Atmel AVR Studio which provide you with the complete IDE (integrated development environment) for managing project, program editing, compiling, debugging and downloader for all Atmel AVR Microcontroller series.

  • The Atmel AVR Studio only provide you with native microcontroller language (assembler), so you need to down load the WinAVR Project which provide you with AVR GCC (GNU C Compiler for AVR Microcontroller) base compiler and library for window environment. This AVR GCC is fully integrated and supported by Atmel AVR Studio.


1 which tools should i use1

1. Which tools should I use

  • After downloading, first install the Atmel AVR Studio and just follow all the default setting and secondly install the WinAVR, again follow the default setting.


2 my first avr project

2. My first AVR Project

  • To create your first AVR project go to Start -> All Programs -> Atmel AVR Tools -> AVR Studio 4, this will launch the AVR Studio 4 application and the Welcome to AVR Studio 4 form appear, click on the New Project button and it will show the Create new project screen as follow:


2 my first avr project1

2. My first AVR Project

On Project Type choose AVR GCC, enter myfirstc for the project name and you could also change the project location directory as you like,  then click on the Next>> button, you will be asked for debugging platform on the following screen:


2 my first avr project2

2. My first AVR Project

Choose AVR Simulator for debug platform and ATmega168 for the device, then click on the Finish button. This will create all the necessary files and directories needed for this project. Now the AVR Studio 4 IDE is ready and display the empty myfirstc.c file.


2 my first avr project3

2. My first AVR Project

Enter or cut and paste this source program bellow to the program code windows:


20 feb 2012

  • /***************************************************************************

  • //  File Name    : myfirstc.c

  • //  Version      : 1.0

  • //  Description  : Learning Lessons 1: Hello World

  • //  Author(s)    : RWB

  • //  Target(s)    : AVRJazz Mega168 Board

  • //  Compiler     : AVR-GCC 4.3.0; avr-libc 1.6.2 (WinAVR 20080610)

  • //  IDE          : Atmel AVR Studio 1.14

  • //  Last Updated : 21 March 2008

  • //***************************************************************************

  • #include <avr/io.h>

  • #include <util/delay.h>

  • int main(void)

  • {

  •     DDRD=0xFF;                   // Set all the PORTD bit (8 bit) for Output

  •     for(;;) {                    // Loop Forever

  •       PORTD=0xFF;                // Turn On all the PORT D bit

  •       _delay_ms(100);            // Delay 100 millisecond

  •       PORTD=0x00;                // Turn Off all the PORT D bit

  •       _delay_ms(100);            // Delay 100 millisecond

  •     }

  •     return 0;                    // Standard Return Code

  • }


2 my first avr project4

2. My first AVR Project

  • The program start with the standard comment (all the statement start with double slash is consider as comment in standard C syntax) that give the information about the program, version and compiler version, etc. The next two include statement tell the C compiler to include the AVR microcontroller specific library <avr/io.h> and the delay library <util/delay.h> when compiling the program.

  • Inside the main program, first we instruct the AVR microcontroller (i.e. Mega168) to enable it’s 8 bit PORT-D input/output port for output by setting the data direction register (DDRD) on PORT-D to 0xFF.


2 my first avr project5

2. My first AVR Project

  • Next inside the blank for loops statement (it’s mean we loop continuously) we simple instruct the AVR microcontroller to turn on and off all it’s 8 bit PORT-D by assigning the value 0xFF (on) and 0×00 (off) to the PORT-D register (PORTD). The 100 millisecond delay is put there so our eye could catch the process, otherwise the process is so fast that we see the port is always on.


3 building the hex files

3. Building the HEX Files

  • Before compiling and building the HEX files we have to tell the AVR Studio about our board device, by clicking the menu Project -> Configuration Options the Configuration options form will appear as the following picture:

  • Make sure the device selected is atmega168 and the frequency is set to 11059200hz (this is the AVRJazz Mega168 board default frequency). Leave the other setting to it’s default then click the Ok button.


3 building the hex files1

3. Building the HEX Files

The next step is to building the program by clicking the menu Build -> Rebuild All, if there is no error the myfirstc.hex file will be produced and the status message will show Build succeeded with 0 Warning:


3 building the hex files2

3. Building the HEX Files

If there are error messages, check and recheck again your C code. Most often, they are caused by some typos or syntax errors. In our next tutorial we will show you how to debug the code and download it to the AVRJazz Mega168 Board.


3 building the hex files3

3. Building the HEX Files


  • Login