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