设计一个AT89C52系统,系统晶振为12Mhz,如下图所示,用P0口作输出口,控制一个共阴极数码管,使其以间隔500ms从0~9循环显示,。 #include<reg52.h> void delayms (uint xms) { unsigned int a,j; for (x=xms;a>0;a--) for (j=110;j>0;j--); } unsigned char code table[ ]= { 0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f}; void main( ) { unsigned int ; while( ) { for(i=0;i<9;i ) { P0= ; delayms( ); } } } 点击复制后,将打开C知道体验页 我可以帮助您 大家都在问什么 试试这样问我:解释这行代码 c = ((double)rand() / RAND_MAX) * (a + b - fabs(a - b)) + fabs(a - b);
时间: 2023-06-14 12:06:30 浏览: 84
单片机课程设计报告--基于AT89S52的电子万年历设计(81页).doc
这行代码是用来生成一个具有给定范围的随机浮点数的。rand()函数用于生成一个伪随机数,RAND_MAX是一个常量,表示rand()函数可以生成的最大随机数。代码中先将rand()函数生成的随机数除以RAND_MAX,得到一个[0,1]之间的随机浮点数,然后将其乘以(a+b-fabs(a-b)),再加上fabs(a-b),得到一个在[a,b]之间的随机浮点数。其中fabs()函数是求绝对值的函数。最后将结果赋值给变量c。
阅读全文