MIDE-51 - 免費的8051單晶片C語言編譯器  來自
實驗版


首先,先來介紹SDCC到底是蝦米碗糕?


SDCC - Small Device C Compiler,一套功能強大而且免費的C語言編譯器,它小巧(僅2MB)、它超強、沒有程式碼大小的限制、也沒有起始位置必須在0×0800的限制、但它只認識C語言!


不過就因為它體積小,所以是採用Command的方式運行(一分錢一分貨啊),不過這也沒有關係~因為總是有許多好心人幫忙弄出一些不同的東西,那就是MIDE-51啦!!


接下來將介紹如何利用MIDE-51來做8051 C語言的編譯!


 


我想我還是做點MIDE-51的視窗介紹好了


ToolBar group:工具列,就…工具列啊


Line Number..:行號,方便好用的東西


File Workspace:檔案工作區,你所開啟的檔案列表


Outputmessage:輸出訊息,所有編譯的結果、錯誤、警告…等都在此顯示


程式資訊


【軟體名稱】:Mide-51


【軟體語言】:英文


【軟體性質】:免費軟體、程式編譯


【支援環境】:Windows(含Vista)


【軟體網站】:http://www.opcube.com/home.html


【下載位置】:官方頁面、官方整合包(推薦)
工具列介紹:


File(檔案):


 


New: 開新檔案


Open:開啟舊檔


Recent Files:最近使用的檔案


Save:儲存  Save As:另存新檔


Close:關閉檔案  Close All:關閉所有檔案


Print Previews:預覽列印  Print:列印


Exit:離開程式



Edit(編輯):


 


Undo:復原


Redo:重做


Cut:剪下


Copy:複製


Paste:貼上


Select: All:全選


Find:尋找  Replace:取代  Find next:找下一個


Line number:行號(開啟/關閉)


Preference:偏好設定


Selection(選擇):


 


字型大小設定


Device(裝置):


 


選擇晶片類型,用於模擬


Build(建立):


 


Build:編譯/組譯


Build and Sim:編譯/組譯然後模擬(有內建的程式,但是我不會用)


Build and Burn:編譯/組譯然後燒(須先設定燒錄程式,但是我不會設定)


Windows(視窗):


 


調整視窗的排列方式


Help(幫助):


 


裡面有ASEM-51以及SDCC的使用手冊,英文。


而那些快捷按鈕就對照英文就好了,不另外再介紹,造成不方便請見諒!
---開始使用MIDE-51---


介紹玩了常用工具列與中文翻譯之後,相信大家對MIDE-51應該有了初步的認識,接下來我們就要進入正題!


SDCC與Keil C的使用定義有些不同,而且它的定義有些怪怪的,所以我參考8052.tw的影片,自己弄了一個Header檔,內容如下:


(2010/01/30發現:已可使用如Keil C下的語法撰寫程式)1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29 // Header file for SDCC IO define
#ifdef SDCC
#define P0_0 0x80
#define P0_1 0x81
#define P0_2 0x82
#define P0_3 0x83
#define P0_4 0x84
#define P0_5 0x85
#define P0_6 0x86
#define P0_7 0x87
 
#define P1_0 0x90
#define P1_1 0x91
#define P1_2 0x92
#define P1_3 0x93
#define P1_4 0x94
#define P1_5 0x95
#define P1_6 0x96
#define P1_7 0x97
 
#define P2_0 0xA0
#define P2_1 0xA1
#define P2_2 0xA2
#define P2_3 0xA3
#define P2_4 0xA4
#define P2_5 0xA5
#define P2_6 0xA6
#define P2_7 0xA7
#endif



請把這些程式碼複製下來,然後用記事本存成一個名為51port.h的檔案。


再來請把這隔Header檔放到C:\MIDE\sdcc\include\mcs51\(安裝程式的路徑),這樣就成為了新的include~


這個Heade對寫程式有很大的幫助喔,請各位別客氣,趕快收下它吧!


使用方法與範例:1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30 /*Single.9 example*/
#include "8051.h" /*SDCC的8051設定*/
#include "51port.h" /*剛剛的Header檔,新版可忽略*/
sbit at P1_0 led;
/*定義8051的P1.0識別名稱為led,
在SDCC的原始設定中是要這樣打的
sbit at 0×90 led;*/
/*-------延遲-------*/
delay(int d)
{
int x, y;
for(x=0; x<d;x++);
for(y=0; y<100; y++);
}
/*-------LED閃爍-------*/
led()
{
int i;
for(i=0; i<2; i++)
{
wled=0; delay(50);
wled=1; delay(50);
}
}
/*-------主程式-------*/
main()
{
while(1)
led(); /*一直閃爍*/
}


我終於找到這一篇文章了,沒想到真的有人轉貼呢!
特別感謝這位網友雄

arrow
arrow
    全站熱搜
    創作者介紹
    創作者 w047 的頭像
    w047

    w047

    w047 發表在 痞客邦 留言(0) 人氣()