新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > 單片機C語言基礎知識之一

        單片機C語言基礎知識之一

        作者: 時間:2016-11-23 來源:網絡 收藏
        一、宏定義:
        1、不帶參數:
        #define 標識符 常量表達式
        #define是宏定義命令,宏名(標識符)好習慣用大寫
        #define NIL 0x80

        2、帶參數:
        #define 宏名(參數表) 字符串
        不僅要時行字任串替換還要進行參數的替換,在宏定義時,宏名與帶參數的括弧之間不應該加空格,否則將空格以后的字符串都作為替代字符串的一部分,這可是很容易出錯的。
        如:#define SQ(a,b) a*b
        使用:x=12;y=10;area=SQ(x,y);
        結果:area=12*10=120

        二、文件包含:
        #include <文件名>或#include "文件名"
        在C51中常用物是尖括弧形式

        三、條件編譯:
        一般源程序中的所有程序行都參加編譯,但有時希望對其中一部分內容只在滿足一定條件下才進行編譯,也就是對一部分內容指定編譯的條件。
        #if、#elif、 #else、#endif、#ifdef、#ifndef
        選擇不同的編譯范圍,產生不同的代碼,提供通用性。
        如對8051在6MHZ與12MHZ下有
        #ifdef cpu==8051
        #define FREQ 6
        #else
        #define FREQ 12
        #endif
        這樣下面的原程序不用做任何修改便可以使用于兩種時鐘頻率的單片機系統

        四、其他:
        1、#error:捕捉不可預料的編譯條件
        #if (myv!=0&&myv!=1)
        #error myv must be 1 or 0
        #endif

        2、#pragma:用于在程序中向編譯器傳送各種編譯控制命令
        #pragma 編譯命令序列
        例:想按如下命令編譯ex.c c51 ex.c debug cod large可用:
        #pragma DB CD LA
        #pragma disable //禁止中斷


        評論


        技術專區

        關閉
        主站蜘蛛池模板: 西畴县| 定南县| 咸阳市| 定日县| 滁州市| 温宿县| 平罗县| 鹤庆县| 资中县| 台州市| 齐河县| 闻喜县| 旺苍县| 巢湖市| 平泉县| 武鸣县| 正镶白旗| 云安县| 安国市| 英山县| 和田县| 塔河县| 新乡市| 元阳县| 西和县| 鞍山市| 砀山县| 兰考县| 南岸区| 马关县| 乌兰县| 呼图壁县| 开鲁县| 辽阳县| 洛南县| 元阳县| 仁化县| 南乐县| 临洮县| 临沧市| 垦利县|