这个是自定义的函数,看函数名应该是实现延迟功能的。具体功能取决于函数内部实现代码。
理解void delay()函数,首先需要了解其中的`unsigned char i`声明。`unsigned char`表示无符号字符类型,它在计算机中占用1个字节,并且仅包含非负整数值。在delay()函数内部,有2个循环。大循环从90开始,逐次递减到1,小循环从200开始,同样逐次递减到1。这两个循环的目的是创建延迟效果,即模拟程序...
unsigned int m; //定义无符号整形变量,双字节数据,值域为0~65535 for(m=0;m<36000;m++) ; //空操作 } / 函数功能:用字符型数据延时一段时间 / void char_delay(void) //延时一段较短的时间 { unsigned char i,j; //定义无符号字符型变量,单字节数据,值域0~255 for(i=0;i<200;i++) for(j...
2.观察这个延时程序你可以发现,总循环次数是ms*110次,就像上面说的如果循环一次耗时1毫秒,如果你想达到你延时某段时长的目的,只能由传入的ms决定了。ms越大延时越久。3.关于这段代码,其中的 for(j=110;j--;j>0); 运行时正常的,但是部分就没有意义了。要么改成 for(j=110;j--;);,...
void delay_ms(unsigned int ms_number) // ms延时函数 (AT89C51 @ 11.0592MHz){ unsigned int i;unsigned char j;for(i=0;i<ms;i++){ for(j=0;j<200;j++);for(j=0;j<102;j++);} } void Delay(){ unsigned char a,b,c;for(a=0;a<?;a++)for(b=0;b<?;b++)for(c...
注释一下程序:include<reg51.h>void delay(unsigned char i);void main(){ unsigned char led[]={0x90,0xc0,0xf9,0xa4,0x92}; unsigned char i,w; while() { for (i=0;i<5;i++) { P1=0xff; P1=led[i]; delay(100); }}}[/i] ...
//Delay(3); } /* * 取消片选从机 */ voidSlave_Disable(void) { ﻩSPI2.CS_REG |= 0x1; //Delay(2); } /* * 功能:向SPI总线上发送一个字节 * 返回值:无 * 参数:data 要发送的数据 */ voidSend_Byte(unsignedchardata) { ﻩSPI2.CH_CFG |= 0x1; //使能___通道 ﻩDelay...
0x00,0xe7,0xc3,0x81,0x01};unsigned char i=0;void delay(void){unsigned int m;for(m=65536;m>0;m--);}void main(void){while(1){if(table[i]!=0x01){P1=table[i];i++;delay();}Else{i=0;}}}上述程序是一个彩灯控制程序(彩灯所接发光二极管为共阳极),请仔细阅...
1.void delay() 是一个子程序的名字,是软件 2.{ for(i=0;i<10;i++) } 是这个子程序的内容,作用 操作硬件的软件,操作的硬件i(名字)。3. unsigned char i;定义该子程序操作的硬件(内存中的一个寄存器,数值范围0-255),无符号8位变量,想这个你应该知道。你要是学习过汇编,这个...
方法如下:Qstring str;char* ch;QByteArray ba = str.toLatin1();ch=ba.data();这样就完成了QString向char*的转化。经测试程序运行时不会出现bug 注意第三行,一定要加上,不可以str.toLatin1().data()这样一部完成,可能会出错。补充:以上方法当QString里不含中文时,没有问题,但是Q...