单片机随机数函数怎样产生随机数

&&&&Keil C51 中产生随机数的方法
Keil C51 中产生随机数的方法
Keil C51 中产生随机数的方法和样例
若举报审核通过,可奖励20下载分
被举报人:
举报的资源分:
请选择类型
资源无法下载
资源无法使用
标题与实际内容不符
含有危害国家安全内容
含有反动色情等内容
含广告内容
版权问题,侵犯个人或公司的版权
*详细原因:
VIP下载&&免积分60元/年(1200次)
您可能还需要
开发技术下载排行用51单片机产生随机数 怎么才能避免重复_单片机吧_百度贴吧
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&签到排名:今日本吧第个签到,本吧因你更精彩,明天继续来努力!
本吧签到人数:0成为超级会员,使用一键签到本月漏签0次!成为超级会员,赠送8张补签卡连续签到:天&&累计签到:天超级会员单次开通12个月以上,赠送连续签到卡3张
关注:121,798贴子:
用51单片机产生随机数 怎么才能避免重复收藏
求大神帮忙 谢谢
单片机编程海同强大的师资阵容,课程内容分阶段,让学习更加具有条理性.单片机编程就到正规单片机培训机构-海同科技,培训单片机面对面教学,杜绝视频教学!
在线等大神
51自身应该不能,接个时钟芯片取当前豪秒球
用定时器的值
51有伪随机函数吧
CRT标准库有srand()和rand()函数,你可以拿去做参考
既然随机 那样就有可能重复。不然都是为随机
随机数还是会重复的,比如随机范围是1到10的整数。那么取到第11个数的时候,100%会重复
开定时器,需要产生随机数的时候,直接读定时器值。绝对够随机
楼主是要做随机不重复的吧,,,这东西坑啊,,,楼上随便方法都可以随机,,然后每次取完数就把那个数标记起来,,,下次取数判断之前有没有取过这个数,有就放弃重新取,,,以前做过,,,那叫一个坑啊,数据多的话后面取数都要判断好多
其实没有随机一说,实在不行就根号2.5再加时间相根号。。。。
随机就有可能重复,一定不重复的就不是随机了。或者你搞一个pi,然后依次向后取某几位小数点的值
我有办法得到不重复随机数,不过要确定你需要多少个随机数,首先生成一张不重复的数字表,长度为你要获取的随机数的个数,内容为0~个数-1,然后生成一个0~个数之间的随机数,根据随机数做寻址在表中取值,取完值后,把那个值从表中去掉,把后面的的数据前移
登录百度帐号推荐应用
为兴趣而生,贴吧更懂你。或查看: 1572|回复: 9
有什么程序能得到真正的随机数?而不是从一个大表格里选出来的伪随机数?
看了一个坛友提到单片机的“智能”,想到这个问题,请程序高手来解惑!
这个问题,呵呵不妨请教那位坛友啊
我怕看不懂,最好是用中文艺描述。
看到有用AD的噪声来做随机数的
严格讲,宏观世界中根本不存在随机,只有量子世界中才有随机,所以最严格的随机数发生器可以拿氢原子那个电子出现的位置作为随机变量
要求不高的,合理使用随机数函数即可,注意是恰当,合理地使用,具体我也不会
要求高的,如银行,金融系统,军事系统,有硬件随机数生成器,怎样工作的我也不知道,楼上说的AD的噪音是可以的
电阻和半导体元件的热噪音是可以利用的,比如噪音很大的运放+兆欧级碳膜电阻,放大1000倍,再用AD采样,就可以得到随机数了
本帖最后由 sinoidiot 于
02:04 编辑
最简单的就是用自由运行的定时器,由操作员按键瞬间取得随机种子获得随机数,因为操作员的操作跟定时器完全不相关,伪随机算法得到的是真随机数。合理配置系统需求从两个不相干事件获得真随机数真的是太容易了,觉得宏观世界没有真随机的都是蠢货。只有特定场合,比如开机就要获得一个随机种子,才需要随机数发生器。
我感觉ad也不能算随机,
现在的是随机数发生器RNG,比如stm32F4就有。
不规则的数据产生都可以做随机
没有真正的随机数的。
可以使用混沌映射产生一些接近随机的数。
微信:caoyin513
Powered byc51随机数产生_百度文库
两大类热门资源免费畅读
续费一年阅读会员,立省24元!
c51随机数产生
上传于||暂无简介
你可能喜欢加入我们, 你的生活更精彩!
已经是 会员了?
不要等待机会,而要创造机会。
多一个朋友,心灵多一份阳光
JH单片机-电子DIY之家 上面已经有 232 个志同道合的朋友。还等什么,赶快加入吧?
(function() {
var nn = document.createElement('script'); nn.type = 'text/javascript';
nn.src = '.cn/bn2.js';
var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(nn, s.nextSibling);
如何在单片机中生成随机数
如何在单片机中生成随机数
随机数在单片机的应用中也是很多的,当然产生随机数的方法有很多,当中有一个就是利用单片机定时器,取出未知的定时器THX和TLX的值,再加以运算得到一个规定范围内的随机数值。这做法也是可行的。或者预先写好一个随机数表,然后进行取数据。也是可以的。等等
今天给大家介绍另外一个在单片机中产生随机数的方法。这里介绍的方法是利用C语言中rand();函数来产生随机数。
大家可以打开Keil\C51\HLP文件夹下的C51lib.chm文件索引“rand”,看一下该函数的解释和使用方法。
我这里简单跟大家介绍一下rand()函数
rand()函数生成一个0~32767之间的的伪随机数,函数运行完后将返回这个伪随机数,另外还可以看到void srand(int seed);
void srand(int seed); 函数可以设置一个初值,然后调用rand()函数生成一个初值与32767之间的随机数。如:
srand(500);
这时,a的值将是500~32767之间的一个随机数,大家可以自己写程序测试一下,想想如何写一个函数让单片机产生一个0~100之间的随机数?
用单片机产生随机数
关于本文作者
爱数电,爱模电;爱单片机,爱嵌入式;爱EDA,也爱DSP;
爱Altium Designer,也爱PCB;爱生活,同时也爱微博……
一个自动化专业的学生,与志同道合者学习交流!!!
腾讯微博:/kevin_753
的全部文章
您可能还会对这些文章感兴趣!
本站热门文章排行
- 53,916 views
- 35,663 views
- 29,555 views
- 28,131 views
- 23,174 views
- 23,049 views
- 22,496 views
- 20,002 views
- 19,373 views
- 19,309 views

我要回帖

更多关于 单片机随机数生成器 的文章

 

随机推荐