MAC環(huán)境51單片機(jī)開發(fā)

環(huán)境

硬件
macOS Mojave
版本 10.14.6

普中 HC6800-ES V2.0開發(fā)板
軟件
串口轉(zhuǎn) USB 驅(qū)動 CH341

51 內(nèi)核編譯器 sdcc

程序下載工具 stcgal

代碼編輯器 visual studio code

PlatformIO IDE 插件安裝

image.png

VSCode插件搜索PlatformIO IDE安裝

重啟之后咱揍,進(jìn)入插件目錄

新建項目路徑


image.png
新建項目
填寫信息

安裝homebrew

brew 是Mac的包管理管理工具
安裝指令

/bin/zsh -c "$(curl -fsSL https://gitee.com/cunkai/HomebrewCN/raw/master/Homebrew.sh)"

安裝sdcc

編譯內(nèi)核
安裝指令

brew install sdcc

驗證是否安裝成功:

sdcc -v

SDCC : mcs51/z80/z180/r2k/r2ka/r3ka/sm83/tlcs90/ez80_z80/z80n/ds390/pic16/pic14/TININative/ds400/hc08/s08/stm8/pdk13/pdk14/pdk15/mos6502 4.2.0 #13081 (Mac OS X x86_64)
published under GNU General Public License (GPL)

如果失敗則直接到官方下載

https://sourceforge.net/projects/sdcc/files/
For Mac OS X users:
===================
To install:

* Extract the binary kit to a temporary directory.
  This will create a new directory called 'sdcc-4.2.0' in the temporary directory.
    cd ~
    mkdir tmp
    cd tmp
    tar xjf path/to/binary/kit/sdcc-4.2.0-x86_64-apple-macosx.tar.bz2

* Change to the sdcc directory and copy all files to /Developer/sdcc
    cp -r sdcc /Developer/sdcc

This will install sdcc binaries into: /Developer/sdcc/bin/
header files into:                    /Developer/sdcc/share/sdcc/include/
non-free header files into:           /Developer/sdcc/share/sdcc/non-free/include/
library files into:                   /Developer/sdcc/share/sdcc/lib/
non-free library files into:          /Developer/sdcc/share/sdcc/non-free/lib/
and documentation into:               /Developer/sdcc/share/sdcc/doc/

You can test the install by entering:
    /Developer/sdcc/bin/sdcc -v

This should return sdcc's version number.

安裝CH341驅(qū)動

下載地址

https://www.wch.cn/download/CH341SER_MAC_ZIP.html

插上單片機(jī)看看驅(qū)動是否成功贼邓,輸入以下指令

ls /dev/tty.wchusbser*

驅(qū)動安裝成功

/dev/tty.wchusbserial144110

安裝 python3和 pip

mac 自帶python2荔仁,到官網(wǎng)下載python3

brew install python 作者:五街教授 https://www.bilibili.com/read/cv18942590 出處:bilibili

安裝燒錄程序stcgal

在linux和mac系統(tǒng)下使用得比較多的是stcgal
下載地址:https://github.com/grigorig/stcgal

安裝指令:

pip3 install stcgal

驗證是否安裝成功:

stcgal -v

下載vscode

程序測試

點亮LED燈

#include <8052.h>

#define uint_8 unsigned int

uint_8 len = 8;
void delay_ms(uint_8 ms);

void main()
{

    uint_8 i;

    while (1)
    {
        P0 = 0xff;
        for (i = 0; i < len; i++)
        {
            P0 = P0 >> 1;
            delay_ms(100);
        }

        P0 = 0xff;
        for (i = 0; i < len; i++)
        {
            P0 = P0 << 1;
            delay_ms(100);
        }
    }
}

void delay_ms(uint_8 ms)
{
    uint_8 i, j;
    for (i = ms; i > 0; i--)
        for (j = 110; j > 0; j--)
            ;
}

注意這里

<8051.h> 不是"8051.h",否則出現(xiàn)找不到庫的情況

led.c:1:10: error: #include expects "FILENAME" or <FILENAME>
led.c:7: error 20: Undefined identifier 'P1_0'
image.png

編譯程序

cd led.c所在目錄挤聘,執(zhí)行

sdcc led.c
led.asm led.c   led.ihx led.lk  led.lst led.map led.mem led.rel led.rst led.sym

將在當(dāng)前目錄編譯出很多目標(biāo)文件弧岳,我們只需要.ihx后綴的文件就可以寝姿,其它的文件可以刪除嗡综。

燒錄程序

Target model:
  Name: STC89C52RC/LE52R
  Magic: F002

燒錄指令:

 stcgal -p stc89 -p /dev/tty.wchusbserial144110 led.ihx

-p stc89 表示使用的是stc89型號, -p /dev/tty.wchusbserial1410 表示usb串口設(shè)備只壳,led.ihx 是剛剛編譯好的程序俏拱,將要燒錄程序。

Waiting for MCU, please cycle power: 

輸入指令后吼句,如果出現(xiàn) Waiting for MCU, please cycle power: 彰触,這個時候我們按下單片機(jī)的電源鍵,重啟單片機(jī)命辖,就可以成功把代碼燒錄至單片機(jī)中了况毅。

點亮效果圖

報錯

Switching to 19200 baud: checking Serial port error: read timeout
Switching to 19200 baud: Protocol error: incorrect frame start

降低波特率

stcgal -b 1200 -p stc89 -p /dev/tty.wchusbserial144110 led.ihx
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末分蓖,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子尔许,更是在濱河造成了極大的恐慌么鹤,老刑警劉巖,帶你破解...
    沈念sama閱讀 206,214評論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件味廊,死亡現(xiàn)場離奇詭異蒸甜,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)余佛,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,307評論 2 382
  • 文/潘曉璐 我一進(jìn)店門柠新,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人辉巡,你說我怎么就攤上這事恨憎。” “怎么了郊楣?”我有些...
    開封第一講書人閱讀 152,543評論 0 341
  • 文/不壞的土叔 我叫張陵憔恳,是天一觀的道長。 經(jīng)常有香客問我净蚤,道長钥组,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 55,221評論 1 279
  • 正文 為了忘掉前任今瀑,我火速辦了婚禮程梦,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘橘荠。我一直安慰自己作烟,他們只是感情好,可當(dāng)我...
    茶點故事閱讀 64,224評論 5 371
  • 文/花漫 我一把揭開白布砾医。 她就那樣靜靜地躺著,像睡著了一般衣厘。 火紅的嫁衣襯著肌膚如雪如蚜。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 49,007評論 1 284
  • 那天影暴,我揣著相機(jī)與錄音错邦,去河邊找鬼。 笑死型宙,一個胖子當(dāng)著我的面吹牛撬呢,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播妆兑,決...
    沈念sama閱讀 38,313評論 3 399
  • 文/蒼蘭香墨 我猛地睜開眼魂拦,長吁一口氣:“原來是場噩夢啊……” “哼毛仪!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起芯勘,我...
    開封第一講書人閱讀 36,956評論 0 259
  • 序言:老撾萬榮一對情侶失蹤箱靴,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后荷愕,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體衡怀,經(jīng)...
    沈念sama閱讀 43,441評論 1 300
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 35,925評論 2 323
  • 正文 我和宋清朗相戀三年安疗,在試婚紗的時候發(fā)現(xiàn)自己被綠了抛杨。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 38,018評論 1 333
  • 序言:一個原本活蹦亂跳的男人離奇死亡荐类,死狀恐怖怖现,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情掉冶,我是刑警寧澤真竖,帶...
    沈念sama閱讀 33,685評論 4 322
  • 正文 年R本政府宣布,位于F島的核電站厌小,受9級特大地震影響恢共,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜璧亚,卻給世界環(huán)境...
    茶點故事閱讀 39,234評論 3 307
  • 文/蒙蒙 一讨韭、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧癣蟋,春花似錦透硝、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,240評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至幔欧,卻和暖如春罪治,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背礁蔗。 一陣腳步聲響...
    開封第一講書人閱讀 31,464評論 1 261
  • 我被黑心中介騙來泰國打工觉义, 沒想到剛下飛機(jī)就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人浴井。 一個月前我還...
    沈念sama閱讀 45,467評論 2 352
  • 正文 我出身青樓晒骇,卻偏偏與公主長得像,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子洪囤,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 42,762評論 2 345

推薦閱讀更多精彩內(nèi)容