[教學]From Arduino to AVR 單晶片教學

探討「內嵌」以及「腳本化」這兩個主題的技術-版主XO老師(熟悉的目前是 Tcl,討論內容也會環繞在 Tcl 四周,但是本版還是歡迎其他 Scripting 語言以及任何「內嵌」技術的討論。)

版主: b80203, ghost3401, XO, maa

分享到: Facebook

[教學]From Arduino to AVR 單晶片教學

文章maa » 週三 7月 27, 2011 9:36 am

From Arduino to AVR 單晶片教學

前言

單晶片微電腦 (Single Chip Microcomputer),或稱微控制器 (Microcontroller,縮寫為 µC 或 MCU),
是一個將 CPU、記憶體、I/O Port 等周邊電路全部整合為一體的晶片。不像微處理器需要外部電路連接周邊,
微控制器的應用只要少許的電路就可以運作,因為所有必要的周邊它都內建了。微控制器主要用在嵌入式系統,
例如汽車電子、工業控制、機械控制等領域。

著名的 Arduino 板子上也有一顆微控制器,它是 AVR 的晶片,例如 Arduino UNO, Duemilanove 用的是
ATmega328,Arduino Diecimila 的是 ATmega168,而早期的 Arduino USB 則是使用 ATmega8。

Arduino 在歐美非常流行,因為它超簡單,很快就可以上手,我認為從 Arduino 到 AVR 是一條進入單晶片
韌體開發的捷徑,因此著手撰寫這一系列的教學文件,希望這可以幫助想學單晶片韌體開發的新手,也希望
能夠拋磚引玉,藉此引出高手發表佳文,同時也希望路過的先進不吝指教。

教學目標

我假設讀者你是單晶片新手,我不打算一次把所有與單晶片有關的東西全塞到你腦袋裏,因為這麼做其實是
揠苗助長,適得其反,因此這系列的教學將維持 Arduino 一貫的簡約風格,點到為止。這系列教學的目標
為:

帶你認識 AVR 單晶片以及其周邊,包括 I/O Ports, Interrupt, Timer, USART, PWM, ADC 等。

授課對象

你必須具備下列基礎:

1.寫過 Arduino 程式。如果你沒接觸過 Arduino,建議你先看「Arduino 入門教學」。
2.熟悉 C 語言

上課器材

你需要一張 Arduino 板子,一條 USB 傳輸線,以及 Arduino IDE 軟體開發環境:

圖檔圖檔

▲ Arduino UNO 與 USB 傳輸線

圖檔

▲ Arduino IDE

教學目錄

1) AVR 晶片簡介

2) I/O Ports

2.1) Blink part 1
2.1) Blink part 2
2.2) Button

3) Interrupts

3.1) External Interrupts

4) Timers

4.1) Blink with Timer
4.2) Timer as a Counter

5) USART

5.1) USART Transmitter
5.2) USART Receiver

6) PWM

6.1) PWM modes part 1
6.1) PWM modes part 2
6.2) Fading

7) ADC


相關網站

arduino.cc
ATmel AVR 官網
AVRFreaks 論譠
WinAVR
WinAVR AVR-GCC Tutorial
http://www.nongnu.org/avr-libc/
maa
版面管理員
 
文章: 631
註冊時間: 週一 9月 13, 2004 10:16 am
來自: 縱橫資通能源

回到 內嵌與腳本化(Embedding & Scripting)

誰在線上

正在瀏覽這個版面的使用者:沒有註冊會員 和 1 位訪客