找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 24771|回復(fù): 21
收起左側(cè)

告別keil丑陋的編輯器,Code::Blocks編寫C51程序的配置方法

  [復(fù)制鏈接]
ID:62340 發(fā)表于 2016-12-3 16:52 | 顯示全部樓層 |閱讀模式
       Keil自帶的編輯器功能單一,提示功能不強(qiáng),對中文支持不好,很多網(wǎng)友都改用別的編輯器編寫51程序,比如UltraEdit、Notepad++、VC2010等等,但是這些編輯器要么無法調(diào)用編譯器,要么體積太龐大,不適用于單片機(jī)編程。

大名鼎鼎的Code::Blocks是一個功能強(qiáng)大的編輯器,程序開發(fā)利器,在程序員中廣為流行。但是筆者一直沒有看到有人用Code::Blocks開發(fā)51,研究一番發(fā)現(xiàn)Code::Blocks調(diào)用keilc51編譯器比較麻煩,在互聯(lián)網(wǎng)上找了好久都沒有找到合適的方法,只能自己研究。功夫不負(fù)有心人,終于配置成功,現(xiàn)在將方法分享給大家。

108_1378869_d67b293cce86abd.png
一、下載安裝Code::Blocks

       Code::Blocks是款開源軟件,除配置文件保存在用戶文件夾中,可以綠色使用。軟件跟中文語言包下載地址請自行度娘。

       有興趣的話還可以修改一下護(hù)眼配置,這個度娘上有教程,不再贅述。

二、配置編譯器

       51編譯器有開源的sdcc、商用的keil等等,要想編譯51程序至少要有一套51編譯器。Keil安裝完成后自帶一套KeilC51編譯器,位于Keil安裝目錄下C51文件夾里。如果想跟Keil徹底byebye,也可以下載一個sdcc。(Keil如果不注冊,KeilC51編譯器會有編譯文件大小限制)

1、配置Keil C51編譯器

打開Code::Blocks,打開菜單上的“設(shè)置——編譯器”,拉開“選中的編譯器”,選擇“Keil C51 compiler”,選擇“可執(zhí)行工具鏈”選項卡,定位編譯器安裝目錄(Keil安裝目錄下的C51文件夾)。選擇“搜索路徑”選項卡,在編譯器中添加“Keil安裝目錄C51INC”,在鏈接器中添加“Keil安裝目錄C51LIB”。

拉開“選中的編譯器”,選擇“Keil CX51 compiler”,重復(fù)上述配置操作。

這樣Keil C51編譯器就配置完了。

108_1378869_e2cbfac3295cff6.png 108_1378869_eea99fa80a8b602.png
2、配置sdcc編譯器

       打開Code::Blocks,打開菜單上的“設(shè)置——編譯器”,拉開“選中的編譯器”,選擇“Small Divice C Compiler”,選擇“可執(zhí)行工具鏈”選項卡,定位編譯器安裝目錄,修改編譯器和鏈接器選項卡中的對應(yīng)目錄。

在“其它設(shè)置”選項卡中找到“高級設(shè)置”按鈕,“其它”中的“對象文件擴(kuò)展名”修改為“rel”。

sdcc編譯器就配置完了。

         108_1378869_13aaa905b72011c.png
三、創(chuàng)建工程

       現(xiàn)在就可以用Code::Blocks創(chuàng)建51工程了,單擊“文件”“創(chuàng)建項目”“MCS51”,按需求選擇就可以了

       至此,sdcc已經(jīng)可以輸出hex文件了,Keil C51編譯器還需要再加一個命令,在“項目”“生產(chǎn)選項”“生產(chǎn)前后附加步驟”“生產(chǎn)之后的步驟”中加入以下命令即可:

cmd /c "oh51<$(TARGET_OUTPUT_DIR)$(TARGET_OUTPUT_BASENAME).omf > $(TARGET_OUTPUT_DIR)$(TARGET_OUTPUT_BASENAME).hex"
108_1378869_d0206b721de7a1a.png
大功告成,開心去編程吧!

評分

參與人數(shù) 2黑幣 +55 收起 理由
zhangli019 + 5 共享資料的黑幣獎勵!
admin + 50 共享資料的黑幣獎勵!

查看全部評分

回復(fù)

使用道具 舉報

ID:1 發(fā)表于 2017-1-10 00:20 | 顯示全部樓層
好東東,51黑有你更精彩。!
回復(fù)

使用道具 舉報

ID:147531 發(fā)表于 2017-1-10 17:02 | 顯示全部樓層
感謝分享

不過,IT,或者說ARM這一行英語還是要學(xué)好
回復(fù)

使用道具 舉報

ID:149751 發(fā)表于 2017-6-29 15:37 | 顯示全部樓層
有沒有研究 Visual Studio Code,這個更友好,更輕便
回復(fù)

使用道具 舉報

ID:241075 發(fā)表于 2017-10-19 20:49 | 顯示全部樓層
請問hex文件在哪里能找到?
回復(fù)

使用道具 舉報

ID:296133 發(fā)表于 2018-3-23 21:15 | 顯示全部樓層
倒是編譯成功了,但沒有生成hex文件啊
回復(fù)

使用道具 舉報

ID:296133 發(fā)表于 2018-3-23 21:51 | 顯示全部樓層
-------------- Run: Debug in light (compiler: Keil C51 Compiler)---------------

Checking for existence: E:\C\Keil\light\bin\Debug\light.omf
Executing: "E:\C\Keil\light\bin\Debug\light.omf"  (in E:\C\Keil\light\)
Execution of '"E:\C\Keil\light\bin\Debug\light.omf" ' in 'E:\C\Keil\light' failed.
回復(fù)

使用道具 舉報

ID:240034 發(fā)表于 2018-3-24 00:45 來自手機(jī) | 顯示全部樓層
我裝了這個軟件,就是沒用上
回復(fù)

使用道具 舉報

ID:120085 發(fā)表于 2018-5-24 13:55 | 顯示全部樓層
請問這個選擇keil  c51 compiler有沒有0xfd bug?
回復(fù)

使用道具 舉報

ID:341730 發(fā)表于 2018-5-30 20:58 | 顯示全部樓層
需要更改默認(rèn)編譯器嗎?
回復(fù)

使用道具 舉報

ID:440179 發(fā)表于 2018-12-22 22:17 | 顯示全部樓層
糾正一下,
在“項目”“生產(chǎn)選項”“生產(chǎn)前后附加步驟”“生產(chǎn)之后的步驟”中加入以下命令:
cmd /c "OH51 $(TARGET_OUTPUT_DIR)$(TARGET_OUTPUT_BASENAME).omf"
才對。
回復(fù)

使用道具 舉報

ID:47652 發(fā)表于 2018-12-26 06:05 | 顯示全部樓層
感覺有些麻煩,還是Notepad++/Keil好些
回復(fù)

使用道具 舉報

ID:285143 發(fā)表于 2019-1-3 22:33 來自手機(jī) | 顯示全部樓層
按照樓主的步驟做了,但是新建項目選這個編譯器會閃退,用別的就編譯失敗
回復(fù)

使用道具 舉報

ID:188748 發(fā)表于 2019-3-15 16:23 | 顯示全部樓層
用了樓主的教程,已經(jīng)成功生產(chǎn)hex
回復(fù)

使用道具 舉報

ID:1107336 發(fā)表于 2024-1-28 14:36 | 顯示全部樓層
PDF怎么轉(zhuǎn)HEX
回復(fù)

使用道具 舉報

ID:149642 發(fā)表于 2024-1-30 11:07 | 顯示全部樓層
Keil 不是很友好的么,
回復(fù)

使用道具 舉報

ID:277550 發(fā)表于 2024-1-30 11:34 | 顯示全部樓層
多年使用notepad++
F6/CTRL+F6執(zhí)行編譯、生成
回復(fù)

使用道具 舉報

ID:462827 發(fā)表于 2024-1-30 16:04 | 顯示全部樓層
我覺得codeblock比keil丑陋呢
回復(fù)

使用道具 舉報

ID:272119 發(fā)表于 2024-1-30 16:52 | 顯示全部樓層
lksbbs 發(fā)表于 2024-1-30 11:07
Keil 不是很友好的么,

Keil還算好了,畢竟大部分C51和STM32都支持開發(fā),但相對我更喜歡RISC-V的MounRiver Studio.
回復(fù)

使用道具 舉報

ID:1107336 發(fā)表于 2024-2-4 21:08 | 顯示全部樓層
這個文件哪位可以幫助轉(zhuǎn)HEX謝謝

點陣時鐘C程序.pdf密碼0.pdf

355.82 KB, 下載次數(shù): 2, 下載積分: 黑幣 -5

回復(fù)

使用道具 舉報

ID:1042173 發(fā)表于 2024-7-24 21:00 | 顯示全部樓層
keil軟件也不大呀。。都用好久了,更換了不習(xí)慣,軟件嘛自己好用就行,。
回復(fù)

使用道具 舉報

ID:1143011 發(fā)表于 2025-1-29 07:49 | 顯示全部樓層
一直是用VS打開同一份C文件, 改完后在KEIL里編譯就行了,覺得也可以
回復(fù)

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

手機(jī)版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表