delay函数中变量类型不同延时为什么不一样啊
时间:10-02
整理:3721RD
点击:
请问程序中函数delay与delayms有什么区别?
在试验板上得到的结果是上面4个led灯亮的时间比下面4个led灯亮的时间长。
所用实验板为TX-1C。
- #include<reg52.h>
- #define uint unsigned int
- #define uchar unsigned char
- void delay(uint z)
- {
- uint x,y;
- for(x=z;x>0;x--)
- for(y=110;y>0;y--);
- }
- void delayms(uchar z)
- {
- uchar x,y;
- for(x=z;x>0;x--)
- for(y=110;y>0;y--);
- }
- void main()
- {
- while(1)
- {
- P1=0xf0;//上面4个led灯亮 共阳极接法
- delay(200);
- delay(200);
- delay(200);
- P1=0x0f;//下面4个led亮
- delayms(200);
- delayms(200);
- delayms(200);
- }
- }
我觉得一个是真的数字吧,10进制的int
而uchar是字符,需要转换成10进制数
8位单片机处理16位数据当然要麻烦一点,语句多一点,你可以点开汇编来查看一下这两个子函数的具体语句差异
delay函数中变量类型不同延时为什么不一样,应该是机器自己的原因