新闻中心

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 c51ex.c debug cod large可用:
#pragma DB CD LA
#pragma disable //禁止中断


评论


技术专区

关闭