打印

刚想了个随机数产生电路,各位帮看看可行吗?

[复制链接]
1977|9
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
elife|  楼主 | 2009-7-6 09:44 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
很简单,就不画图了。利用单片机,计数电容充电时间,电平以单片机高低电平判断,可以16位计数或更高,取低位值。这样产生的数,作为种子,再产生随机序列。主要考虑同种产品,在同时上电过程中,产生不同随机数。主要利用电源上电,电阻,电容以及单片机阈值不一致性。或有更好的电路,给指点一下。

相关帖子

沙发
ayb_ice| | 2009-7-6 21:29 | 只看该作者

你这个也不随机啊

冲电的时间变化不大,结果不够随机

使用特权

评论回复
板凳
沈洁| | 2009-7-6 22:46 | 只看该作者

定时器随机跑数据,就ok了,产生事件的时候读计数器值

使用特权

评论回复
地板
elife|  楼主 | 2009-7-7 08:12 | 只看该作者

谢楼上2位。哪位高手有好的办法,也请讲讲啊。

使用特权

评论回复
5
auzxj| | 2009-7-7 08:27 | 只看该作者

3楼是正道

使用特权

评论回复
6
chunk| | 2009-7-7 16:23 | 只看该作者

我认为你的办法也可以

反正是取一个种子而已。

使用特权

评论回复
7
lelee007| | 2009-7-7 18:06 | 只看该作者

有没有别的中断?

上电后计数器开始计数,自动溢出计数,中断来的时候读结果

使用特权

评论回复
8
elife|  楼主 | 2009-7-7 21:05 | 只看该作者

谢了,今天试了一下,看起来还随机。在程序中也是需要

随机数时,开定时器,然后等电平高,读计数器低8位,再做高低位倒置。感觉应该同三楼的一样,事件是由达到高电平时触发。更有些像多位数A/D,时间常数越长,计数频率越快越好。元件不稳定性越高,应该越好吧。只是没有理论依据啊。

使用特权

评论回复
9
delin17| | 2009-7-7 21:53 | 只看该作者

不一定随机

如果程序产生随机数之间的时间是一定的话,定时器产生的数据是在一定的时间读出来是一定的,但一般情况,每次读的时间不一样,所以还是有一定的随机性。。

最好是在启动定时器时设个种子,如通过AD得到一个值。

使用特权

评论回复
10
kanprin| | 2009-7-8 10:54 | 只看该作者

其实3楼也不是王道

因为每次上电,其随机系列是一样的,
要是有个RTC的话要随机数就比较方便了。
其他我也不知道怎么比较合适,呵呵。

使用特权

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

本版积分规则

35

主题

392

帖子

4

粉丝