请先登录 | 注册
WWW.MM0759.COM
006-单片机 for语法 define宏定义 子程序 无限大循环 for镶嵌 - 文章首页返回版区
■标题:006-单片机 for语法 define宏定义 子程序 无限大循环 for镶嵌
■作者:IPSC [2025/6/13 8:41:37]




#define  uint unsigned int

/*

宏定义 uint 当 unsigned int使用,后面无分号;

#define M (a+b)

它的作用是指定标识符M来代替表达式(a+b)。

在编写源程序时,所有的(a+b)都可由M代替,

而对源程序作编译时,将先由预处理程序进行宏代换,

即用(a+b)表达式去置换所有的宏名M,然后再进行编译。

*/




for(x=100;x>0;x--)


for(y=2000;y>0;y--);//两个FOR镶嵌,这里是起到延时


子程序,在开头开始要先声明一次,以获得内存分配,在main后再编写它的具体程序

#include<reg52.h>

#define  uint unsigned int
void delay1();//先声明子程序

void main()

{


while(1)//无限大循环


{


P0=0xf0;//1-4亮,5-8灭


delay1();//引用时,程序延时


P0=0x0f;//1-4灭,5-8亮


delay1();//引用时,程序延时


}

}


void delay1()

{


uint x,y;//定义无符号整数x和y,UINT就是已经宏定义的unsigned int


for(x=100;x>0;x--)


for(y=2000;y>0;y--);//两个FOR镶嵌,不写{}仅能两层

}













--------------------------------




以上子程序delay1如果要带参数

...

void delay1(uint z);//声明时可以不写z,多个逗号分隔

...

delay1(1000);//引用时,程序延时

...

void delay1(uint z)

{


uint x,y;


for(x=z;x>0;x--)


for(y=70;y>0;y--);//两个FOR镶嵌

}














回复/版区/上篇/下篇/发贴/仅文字/HTML
【倒序/最近21条回复】(暂无)
(查看完整版网页)



短讯|首页|登录|算法|电脑版 .
DK MiniBBS Plus v2.0
mm0759.com
46 毫秒 .