也連帶的產生了許多衍生系列,而Intel目前已經沒再生產。
雖說主角是8051,不過現在純正的8051已經不那麼好用,
而且純正的大概也很難買到,大多使用相容型的衍伸系列。
衍伸系列通常具有記憶體大、容易燒錄等等優點,一顆晶片即可解決問題,
不再需要那麼多外部記憶體或是IC。
本次的主角是 STC12C5A60S2
這塊叫做最小核心板,已經附上燒錄後自動重新啟動和USB轉UART的IC。 接腳也都拉出方便使用,把這片核心板插在麵包板上方便等一下和LED連接。 |
Compiler 一樣是 SDCC,而 IDE 一樣是 CodeBlocks。
兩者都安裝好後,啟動CodeBlocks並開啟新專案。
(第一次安裝SDCC和CodeBlokcs時,必須從 Settings >> Compilers 進入
選擇Compiler 為SDCC,到標籤 Other settings 點選 Advanced Options ,
進入後選擇 Others 標籤,將 Object file extension 的檔案名稱設定變更為rel
可以詳見此blog )
建立新專案從 File >> New >> Projects... 開始
可以注意到有個叫做 MCS51 Projects ,Code Blocks 已經預備好了,所以使用它 |
這畫面使問要不要省略接下來的設定,我們要自己設定所以不要勾選, 按下 Next 進入下一步。 |
一樣訂好專案名稱,並且設定好目錄 |
Compiler 選項會自動放在SDCC所以不必更動。 其他的是我個人這樣設定顯得會比較簡單易用。之後燒錄用的檔案會在bin目錄下。 |
在51系列下記憶體有幾種不同的模式,如果是老8051就只能選Small,8052則能使用medium。 而我們這次選擇的STC12有著相當大的記憶體,要完全利用得選擇large model。 |
選完memory model後,因為STC12C5A60S2具有60K的Flash、256的RAM和1024的Extend Ram。 所以底下的CODE Size設定為 60K、IDATA 為256、XDATA 為 1024。 為了要燒錄所以選擇Intel hex檔案。最後按下Finsih。 |
專案設定完成後,會發現專案已經自動開好檔案了。
自動開好main.c |
然後確認一下之前使用不同mcu時要改寫的一些設定:
原則上都已經自動設定好了不必修改。
在這個 main.c 裡我們添加自己的程式。
程式碼如下:
/*
*/
#include <mcs51/8051.h>
#include <mcs51/stc12.h>
void Delay (unsigned int time)
{
while (--time);
}
void main(void)
{
// Insert code
P0_0=1;
while(1)
{
P0_0=!P0_0;
Delay(50000);
}
}
輸入完畢後按下存檔,然後按下 build 按鈕
接著看一下Build log 訊息
如果訊息是這樣並且沒有別的錯誤代表成功。 |
燒錄成功後即可以看見閃燈的成果。
0 意見:
張貼留言