本文是續 單片機成長之路(51基礎篇) - 006 在Linux下搭建51單片機的開發燒寫環境編寫的。
本范例主要由(main.c ,delay.h,delay.c,makefile)4個文件組成,sdcc的編譯環境搭建參照:單片機成長之路(51基礎篇) - 006 在Linux下搭建51單片機的開發燒寫環境,廢話不多,進入主題:
main.c(主函數)
1 #include "8051.h"
2 #include "delay.h"
3 #define uint unsigned int
4 #define uchar unsigned char
5 uchar tab[8] = {0x01,0x02,0x04,0x08,0x10,0x20,0x40,0x80};
6
7 void main(void){
8 uchar i;
9 while(1){
10 for(i=0;i<8;i++){
11 P1 = tab[i];
12 Delay(100);
13 }
14 }
15 }
delay.h(功能函數聲明文件)
1 #ifndef DELAY_H
2 #define DELAY_H
3 #define uint unsigned int
4 #define uchar unsigned char
5
6 void Delay(uint xms);
7
8 #endif
delay.c(功能函數實體函數)
1 #include "delay.h"
2
3 void Delay(uint xms){
4 uint i,j;
5 for(i=xms;i>0;i--)
6 for(j=110;j>0;j--);
7 }
makefile(make文件)
1 # CC 編譯工具聲明
2 # stc 燒錄工具位置
3 # 功能是編譯并完成下載
4 CC =sdcc
5 stc =sudo python /home/jikexianfeng/51-demo/.stcflash/stcflash.py
6
7 all : main.bin
8
9 download: main.bin
10 $(stc) main.bin
11
12 #main.bin : main.hex
13 # ~/51-demo/.Hex2bin-2.5/hex2bin main.hex
14
15 main.bin : main.hex
16 objcopy -I ihex -O binary main.hex main.bin
17
18 main.hex : main.ihx
19 packihx main.ihx > main.hex
20
21 main.ihx : main.rel delay.rel
22 $(CC) main.rel delay.rel
23
24 main.rel : main.c delay.h
25 $(CC) -c main.c
26
27 delay.rel : delay.c
28 $(CC) -c delay.c
29
30 cleanall:
31 rm -rf *.lk *.bin *.asm *.lst *.mem *.rst *.lnk *.rel *.sym *.ihx *.hex *.map
32 clean:
33 rm -rf *.asm *.lst *.mem *.rst *.lnk *.rel *.sym *.ihx *.hex *.map
上面make中/home/jikexianfeng/51-demo/.stcflash/stcflash.py是配置的下載驅動文件,詳情見:單片機成長之路(51基礎篇) - 006 在Linux下搭建51單片機的開發燒寫環境
最后生成main.bin的方法有兩種,
方法一,調用sdcc自身的工具:
main.bin : main.hex
objcopy -I ihex -O binary main.hex main.bin
方法二,使用hex2bin進行編譯(安裝方法見:單片機成長之路(51基礎篇) - 006 在Linux下搭建51單片機的開發燒寫環境):
main.bin : main.hex
~/51-demo/.Hex2bin-2.5/hex2bin main.hex
可以根據個人喜好選擇使用。
上一篇:單片機成長之路(51基礎篇) - 010 51單片機的中斷系統
下一篇:單片機成長之路(51基礎篇) - 008 C51 的標示符和關鍵字
推薦閱讀
史海拾趣
設計資源 培訓 開發板 精華推薦
- 南芯科技推出高集成度多口移動電源解決方案,助力充電寶市場穩健發展
- 英飛凌推出具有超低導通電阻的CoolSiC? MOSFET 750 V G2,適用于汽車和工業功率電子應用
- DigiKey 慶祝 B 站賬號粉絲突破 10 萬,贈送驚喜禮包
- 碳化硅企業 Wolfspeed 啟動破產重組,預計 2025 年三季度末完成司法重整
- 蘋果被曝考慮放棄自研模型 轉而與Anthropic或OpenAI合作
- ?百度文心4.5來襲!英特爾Day0即支持端側部署
- 【廣瀨電機】關于中國發明專利侵權訴訟達成和解的公告
- 英飛凌BMS解決方案推動電動汽車創新
- 地平線的L3判斷與實踐路徑
- 汽車網絡升級攻略:CAN-CAN FD-車載以太網