打印

51单片机产生伪随机数

[复制链接]
2907|5
手机看帖
扫描二维码
随时随地手机跟帖
沙发
lyjian| | 2009-3-4 13:25 | 只看该作者

Keil C51不是有伪随机数函数吗

使用特权

评论回复
板凳
dldty|  楼主 | 2009-3-4 14:29 | 只看该作者

是这个函数吗,为什么我出不来呢

#include <stdlib.h>
..
int rand(void)
{    
int i;    
i = ((TH0<<8)|TL0)&0x7fff;    
return(i);
}
void main(void)
{    
 uint i;       
 i = rand();   
 ......
}

使用特权

评论回复
地板
xwj| | 2009-3-4 15:06 | 只看该作者

LZ,不是那样的

你那个可以是可以,但是要记得先打开定时器0(TR0=1;)!


你那个是和时间相关的,而Keil自带的是和种子相关和时间无关的
不知道的都可以按f1去看帮助:
rand
Summary   
#include <stdlib.h>

int rand (void);

 
Description   
The rand function generates a pseudo-random number between 0 and 32767.  
Return Value   
The rand function returns a pseudo-random number.  
See Also   srand  

Example   
#include <stdlib.h>
#include <stdio.h> /* for printf */

void tst_rand (void) {
  int i;
  int r;

  for (i = 0; i < 10; i++) {
    printf ("I = %d, RAND = %d ", i, rand ());
  }
}

 


使用特权

评论回复
5
dldty|  楼主 | 2009-3-4 15:12 | 只看该作者

谢谢

使用特权

评论回复
6
jack.king| | 2009-3-4 15:32 | 只看该作者

请问这个有什么用呢?

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

10

主题

18

帖子

0

粉丝