资源预览内容
第1页 / 共3页
第2页 / 共3页
第3页 / 共3页
亲,该文档总共3页全部预览完了,如果喜欢就下载吧!
资源描述
1、一般情况下,对C语言程序进行编译时,所有的程序都要参加编译,但有时候,对于有些内容,只希望在相关条件满足时才对其进行编译,这就要用到条件编译。条件编译可以选择不同的范围,从而在编译后产生不同的代码。2、C51的条件编译指令也属于预处理指令的一种,主要要有下三种形式:1)#ifdef 标识符 程序段1 #else 程序段2#endif功能:如果指定的标识符已被定义,则编译程序段1,不编译程序段2,否则则不编译程序段1,直接编译程序段22)#if 常量表达式 程序段1#else 程序段2#endif说明:如果常量表达式为“真”则编译程序段1,否则编译程序段23)#ifndef 标识符 程序段1#else 程序段2#endif说明:该指令跟第一种编译命令的作用刚好相反,如果标识符没有被定义,则编译程序段1,否则编译程序段2.3、本实例利用条件编译指令来控制P0口的8位LED的点亮状态,以学习条件编译指令的使用方法。实现效果是:当要求条件满足时,P0口的低四位LED点亮,不满足时,高四位LED点亮。4、在proteus中绘制电路原理图,本实例中,我们仍然使用前面介绍的P0口控制8位LED流水灯的电路图。5、创建一个新的keil c51工程ex5.c,编写如下的程序,编译并生成ex5.hex文件 #include #define MAX 100void main(void)#if MAX80 P3=0xf0;#else P3=0x0f;#endifwhile(1);6、在proteus中绘制好电路原理图后,将ex5.hex文件装载到at89c51中,启动仿真,即可看到P3口的低四位LED被点亮了。表明程序段P3=0XF0被编译了,而P3=0x0x没有被编译。
收藏 下载该资源
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号