前言
單晶片微電腦 (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 等。
授課對象
你必須具備下列基礎:
- 寫過 Arduino 程式
如果你沒接觸過 Arduino,建議你先看「Arduino 入門教學」。 - 熟悉 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
0 意見:
張貼留言