请先登录 | 注册 |
WWW.MM0759.COM |
■标题: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 毫秒 . |