什麼是單晶片、微控制器、MCU,淺談微控器的周邊硬體
單晶片、微控制器、MCU
這三個是完全相同的東西
也可以簡稱微控器
用一句話來解釋的話
微控器就是一台迷你電腦
用來控制運算量較少的嵌入式系統
比如說電熱水壺、倒車雷達、馬達控制
微控器在生活中是相當普遍的
我們不可能拿個人電腦來控制電熱水壺吧
為了cost down以及節省體積
我們只需要使用微控器來處理這些小事情就相當堪用
其微小的體積優勢
在以前智慧型手機尚未普遍以前
傳統手機就只使用微控器來運作
現在的智慧及手機效能直逼個人電腦
所以微控器(microcontroller)和個人電腦(personal computer)已經分不太出來
要買教育型微控器
必須先知道幾件事情
一、位元數
最少的MCU為8-bit
常見的有intel的8051系列以及microchip PIC系列
其CPU的指令集非常少
一個MCU大約落在台幣20~50以內
根本便宜到路邊撿就有(?)
再來就是16-bit MCU和32-bit MCU
當然位元數越多也就越貴
我們的個人電腦現在大多是64-bit的CPU了
二、時脈
也就是內部振盪器( oscillator )的速度
通常加上鎖向迴路(PLL)後
也就是所謂的倍頻電路
速度可以再上升2~4倍左右
三、價格
這種事情當然越便宜越好
四、支援的硬體模組
這部分將會比較專業
一個微控制器通常會具備最基本的幾個硬體模組
GPIO( General-purpose input/output )、UART( Universal Asynchronous Receiver/Transmitter )、TIMER (Timer Controller)、ADC(Analog-to-Digital Converter)、DAC(Digital-to-Analog Converter)、FMC(Flash memory controller)、WDT (Watchdog timer)、I2C、SPI(Serial Peripheral Interface)、PWM Generator
這裡每一個都可以寫一大篇文章
我簡單帶過
GPIO就是MCU上的 輸入與輸出腳位
可以任意控制輸出高低電位以及接受輸入
UART則是一種序列通訊協定
時常應用在RS232的接口上
Timer則是由硬體實現的計數數
最常被拿來配合中斷(interupt)使用
ADC可以 可以精確讀取類比電壓並轉成數位訊號
比如說溫度感測取樣、電壓感測取樣
DAC則是相反
FMC則是控制MCU內部儲存空間NAND Flash的控制器
WDT可以定期監控MCU是否處於卡死當掉的狀態並重開機
I2C、SPI和UART都是通訊協定
利用不同的電氣特性與通訊方式使用在不同的地方
PWM可以用在直流馬達控制和LED亮度
其使用不同的duty cycle來控制輸出
說了這麼多
還沒講到MCU是怎麼玩的呢
答案就是寫程式啦
到目前為止我只有用過C語言來實作MCU應用
由於寫MCU屬於底層的hardware driver控制
我們不需要太過物件導向的程式架構
而C語言可以直接存取記憶體內容
對於MCU的暫存器(register)控制相當方便
所以想要學MCU就必須會C語言喔
#微控制器 #電機 #資工 #開發板 #線上教學 #專職家教 #家教 #程式語言 #程式設計 #教育 #家教人生 #工程師 #電腦程式 #轉職 #興趣培養 #進修 #學習 #學程式 #一對一教學 #一對一課程 #一對一服務 #clanguage #轉職