首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> C語言 >> C >> C 語言問答

51 單片機 C 語言與標準 C (TC) 差異比較

     編輯:C 語言問答

核心語法完全相同,差異在於硬體相關擴展:

  • 標頭檔不同:單片機包含 <reg52.h>(或 <reg51.h>)定義 SFR 位址、位元;標準 C 用 <stdio.h> 等。
  • I/O 方式不同:單片機無螢幕鍵盤,printf 輸出導向 UART/序列埠;scanf 讀取序列埠輸入。
  • 無檔案系統:fopen、fread 等標準 I/O 函式通常不可用或需移植檔案系統(如 FatFs)。
  • 記憶體模型:Keil C51 支援 data、idata、xdata、code 等記憶體空間關鍵字。
  • 中斷與位元操作:interrupt、sbit、sfr 等擴展關鍵字。

對照範例

// 標準 C (Turbo C)
#include <stdio.h>
int main() { printf("Hello PC\n"); return 0; }

// 51 單片機 (Keil C51)
#include <reg52.h>
#include <stdio.h> // 僅提供標準庫函式原型

void UartConfig() { /* 設定 SCON, TMOD, TH1... */ }

void main()
{
    UartConfig();
    while (1) printf("Hello 51\n"); // 輸出至序列埠
}

學好標準 C 是單片機開發基礎,再疊加硬體擴展即可上手。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved