單片機(jī)編程是一門實(shí)戰(zhàn)性的技術(shù),程序要在單片機(jī)平臺(tái)上跑起來才能看到效果、才能積累編程經(jīng)驗(yàn)。在學(xué)校學(xué)習(xí)單片機(jī)課程時(shí),可能會(huì)感覺到一直有一種脫節(jié)的感覺,因?yàn)橐恢睕]有用武之地。其實(shí)學(xué)習(xí)單片機(jī)很簡單,第一步就是搞清楚編程環(huán)境。
入門單片機(jī)時(shí),我們常用51型8051單片機(jī)和STM32單片機(jī)。這兩種單片機(jī)比較典型,因?yàn)閷W(xué)校里單片機(jī)課程是基于51單片機(jī)的,而STM32的單片機(jī)則具有較多的學(xué)習(xí)資料。下面就這兩種單片機(jī)介紹一下編程環(huán)境。
1.單片機(jī)常用的編程環(huán)境
比較流行的單片機(jī)環(huán)境有keil和IAR,這兩種環(huán)境可以覆蓋市面上90%的單片機(jī)型號(hào),而且都提供了函數(shù)庫。根據(jù)單片機(jī)位數(shù)不同,這兩個(gè)編程環(huán)境也有不同的版本。
1.1 Keil的常用版本
Keil常用的版本有四個(gè):
Keil MDK,主要針對(duì)ARM型單片機(jī),如ARM7/9、Cortex-M1/3/4等;
Keil C51,主要針對(duì)51型單片機(jī);
Keil C166,主要支持XC16x、C16x和ST10等;
Keil C251,主要支持251核單片機(jī);
keil for ARM
1.2 IAR的常用版本
IAR常用的版本有四個(gè):
IAR for ARM,用于32位單片機(jī),如Cortex-M0系列;
IAR for 8051,主要用于51單片機(jī);
IAR for MSP430,主要用于TI的MSP430單片機(jī);
IAR for STM8,主要用于ST的STM8系列單片機(jī);
所以,以上兩個(gè)編程環(huán)境完全可以覆蓋主流的單片機(jī)開發(fā)。這幾年國產(chǎn)半導(dǎo)體發(fā)展迅速,但是其內(nèi)核多是Cortex-M系列,半導(dǎo)體廠家也推出了自己的編程環(huán)境,但是為了快速打開市場他們開發(fā)了Keil和IAR的庫函數(shù)。
2.如何獲取官方的庫函數(shù)
學(xué)習(xí)51單片機(jī)時(shí),教程上直接介紹單片機(jī)的寄存器,我們在編程時(shí)也是直接配置寄存器。工作時(shí),接觸到了STM8和STM32單片機(jī),廠家提供了函數(shù)庫軟件包,將寄存器的配置都封裝起來了,只需要調(diào)用對(duì)應(yīng)的函數(shù)就可以了,這大大降低了學(xué)習(xí)成本、提高了開發(fā)效率、降低了配置寄存器出錯(cuò)的概率。
我們以國產(chǎn)單片機(jī)AC78013為例,介紹一下如何獲取官方的單片機(jī)例程。打開官方網(wǎng)站,在導(dǎo)航欄找到“開發(fā)者社區(qū)”。
找到“開發(fā)者資源”,在左側(cè)找到“AC7801x”系列,就可以進(jìn)入到單片機(jī)資料詳情頁。
可以看到,官方提供了IAR、Keil和Eclipse環(huán)境下的例程Demo,點(diǎn)擊對(duì)應(yīng)的編程環(huán)境就可以下載了。
官方提供了片上資源的Demo,開發(fā)者可以直接用來開發(fā)項(xiàng)目?,F(xiàn)在任何行業(yè)都非常卷,半導(dǎo)體行業(yè)也是如此,只要你有量,廠家會(huì)親自給你把代碼寫好,誰讓咱沒量呢,哎,不說了,寫代碼去了。