51单片机产生伪随机数

[复制链接]
4101|5
 楼主| dldty 发表于 2009-3-4 13:22 | 显示全部楼层 |阅读模式
能用51单片机产生某个范围内的伪随机数吗~用C应该如何实现啊
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 ());
  }
}

 


 楼主| dldty 发表于 2009-3-4 15:12 | 显示全部楼层
jack.king 发表于 2009-3-4 15:32 | 显示全部楼层

请问这个有什么用呢?

您需要登录后才可以回帖 登录 | 注册

本版积分规则

10

主题

18

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部