51单片机随机函数c语言 单片机 随机函数

用C语言编写,使用51单片机生成0--9不重复数字。请问用什么做随机种子...

下面是用C产生0-9的随机数,rand()函数产生的是伪随机数,反复调用函数rand所产生的一系列数似乎是随机的,但每次执行程序所产生的序列则是重复的。

成都创新互联是一家专注于网站制作、成都网站制作与策划设计,连云网站建设哪家好?成都创新互联做网站,专注于网站建设十载,网设计领域的专业建站公司;建站业务涵盖:连云等地区。连云做网站价格咨询:18980820575

然后你设计一个函数,函数里随机生成一个0-9的随机数i,然后a[0]和a[i]交换,然后在你20次循环的一次循环里,跑100次这个函数,生成一组新数组。

int n = 0; //计数器。 srand(time(NULL));//设置随机数种子。 while(n10) { int m = rand()%10; //获取一个0~9的随机数。 if(f[m]) continue;//该数之前已经获取到过。

最终全部为九,其余消失。如果为10的话,其实也影响不了,因为最后几个数永远都不会取到、采纳了吧。。额,其实最标准的应该把那个地方改成9-i,把没选的数字往前推,但是已经出现的过的就不必推了。。

//1位静态显示 includereg5h includeintrins.h //p0接数码管的A~H;uchar led[]={0xA0,0xBD,0x64,0x2C,0x39, 0x2A, 0x22,0xBC,0x20,0x28};//0-9数字摸。

单片机C语言如何产生随机数

\x0d\x0a\x0d\x0aC++中常用rand()函数生成随机数,但严格意义上来讲生成的只是伪随机数(pseudo-random integral number)。

在C语言中,rand()函数可以用来产生随机数,但是这不是真真意义上的随机数,是一个伪随机数,是根据一个数,可以称它为种子。

C语言本身并不能产生随机数。介绍一个比较简单的随机数获取方法:启动单片机的定时器,让它自己跑不要发生溢出中断,用户操作时直接读计数器数值,那基本上就是个随机数。

在C语言里所提供的随机数发生器的用法:现在的C编译器都提供了一个基于ANSI标准的伪随机数发生器函数,用来生成随机数。它们就是rand()和srand()函数。

rndb=rand()%3;单片机上电之后通过按键去启动取随机数,若是单片机上电就立即取随机数的话,那每次上电随机的结果都是一样的。

51单片机用c语言怎么让i得到一个0-15的随机数

1、启动计数器0,将TL0的值%16即可得到!static unsigned char random=5; //再次运行时值已改变。

2、用定时器加rand()随机函数来实现。rnda=rand()%2;rndb=rand()%3;单片机上电之后通过按键去启动取随机数,若是单片机上电就立即取随机数的话,那每次上电随机的结果都是一样的。

3、C语言提供了一些库函数来实现随机数的产生。

4、C语言产生一定范围的随机数的源代码如下:includestdio.h includestdlib.h int main(){ int i;for(i=0; i10; i++) //随机产生10个数。

5、C语言本身并不能产生随机数。介绍一个比较简单的随机数获取方法:启动单片机的定时器,让它自己跑不要发生溢出中断,用户操作时直接读计数器数值,那基本上就是个随机数。


文章名称:51单片机随机函数c语言 单片机 随机函数
文章网址:http://ybzwz.com/article/dcijeie.html