定义一个延时xms毫秒的延时函数 void delay(unsigned int xms) // xms代表需要延时的毫秒数 { unsigned int x,y;for(x=xms;x》0;x--)for(y=110;y》0;y--);} 使用:void Delay10us(uchar Ms){ uchar data i;for(;Ms》0;Ms--)for(i=26;i》0;i--);} i=[(延时值...
void delay voiddelay_ms(uint #include #define uint unsigned int #define uchar unsigned char uint voiddelay(uint voidmain voiddelay(uint voidlefttoright() p2=0xf0;p0=oxof; delay(10); p0=0x00; delay(10); p3=0xof; delay(500); p0=oxf0; delay(10); p0=0x00; delay(10); p3=0xf0;...
因为形参变量类型不同,UINT需要占用两个8位(16位)内存空间,而 51单片机 只能进行8位运行,对于16位的数没有直接可用的指令,需要一段不小的程序来处理,所以花费时间就长了。
C程序中可使用不同类型的变量来进行延时设计。经实验测试,使用unsigned char类型具有比unsigned int更优化的代码,在使用时应该使用unsigned char作为延时变量。 以某晶振为12MHz的单片机为例,晶振为12MHz即一个机器周期为1us。void delay_ms(unsigned int ms_number) // ms延时函数 (AT89C51 @ 11.0...
void delay (uint z){ uchar x,y;for (x=z;x>0;x--)for (y=110;y>0;y--);} 这个其实就是让单片机一直在那里执行空指令,达到延时的效果..函数参数z没有啥特别的意思..z的值给的越大,延时时间越长,越小的话,延时时间越短..为了防止出现意外,所以特意写成了uint ..也就是无符号的...
uc应该是前面有定义了define uc uchar,是无符号字符型
是一个函数的原型, 这个函数的名字叫delay0;返回值的类型为void,即不返回值;括号里面是参数。因为它的定义放在调用它的函数之后了,所以要在调用它的函数的定义部分加它的原型说明。
uint i,j;这是定义的无符号整型数,十六位的宽度。uchar i, j这是定义的无符号字符型整数,八位的宽度。这求什么大神,改正就完了。
就是一个无返回值的函数,里面要传入两个类型为uchar的参数
百度试题 题目 void delay(uchar x) { uchar t; while(x--) { for(t=0;t<2000;t++); } } 此程序为死循环程序 相关知识点: 试题来源: 解析 √ 反馈 收藏