打印

LS没理解LZ的意思,**绝对是有外部信号介入的,

[复制链接]
楼主: weihualong
手机看帖
扫描二维码
随时随地手机跟帖
21
救火车| | 2008-3-17 18:28 | 只看该作者 回帖奖励 |倒序浏览

我的随机数。

我是声明一个变量,在主程序中不断增1.
只要取数的时间是随机的,那么取值就是随机的。
我是几天才用一次那个随机数,所以还可以。
当然还可以在随机事件里(例如中断)中,再来个增1.

使用特权

评论回复
22
liudewei| | 2008-3-17 19:14 | 只看该作者

简单的随机数产生,在主循环读计数器的低几位。

只要主循环足够长即可,读到后按某种方式修改计数器即可。

使用特权

评论回复
23
lefish007| | 2008-3-17 22:59 | 只看该作者

单片机开机时RAM不是不确定的。。

单片机开机时RAM不是不确定的。。
我认为很多人对这个问题认识是错误的
当程序下载到单片机内部时,对于该内部有程序的单片机,其内部的RAM是确定的,如地址20H上电时是45H,再次上电,该地址的值依旧是45H.
而程序重新下载一次到另一个单片机,该地址就可能不是45H了。
其实我也认为RAM应该和ROM(程序空间不会有什么联系的),可是事实却不是这样。这是我用HT(盛群OTP)单片机发现的,难道有可能是这种台系的单片机特有的结构?

使用特权

评论回复
24
djyos| | 2008-3-18 00:10 | 只看该作者

噪音可以利用的

可以用运放放大白噪音,用比较器输入到一个io端子上,cpu没事就采集该io上的信号,并把它移位组装,这样组装出来的数据应该是随机的了吧。
但与楼主“无外界参与”的题设不相符。

使用特权

评论回复
25
小李志| | 2008-3-18 08:57 | 只看该作者

哈哈,

楼主是不是想做什么赌博的游戏机啊,我可被它毒害不少啊

使用特权

评论回复
26
cqwangsf| | 2008-3-18 09:34 | 只看该作者

这样应可以!

第一次运行不管了!
单片机正常运行时,定时中断计数,并记入EEPROM做为下一次用的那个随机数。那么每次工作的时间是随机的。这个开机的随机数也就有了。

使用特权

评论回复
27
HWM| | 2008-3-18 09:38 | 只看该作者

LS:这样一来你的EEPROM就要遭殃了。

使用特权

评论回复
28
cqwangsf| | 2008-3-18 09:41 | 只看该作者

呵呵!你定时可以做长一点!

使用特权

评论回复
29
HWM| | 2008-3-18 09:44 | 只看该作者

如何长法?mS,S,...,H,D,M,Y,...

使用特权

评论回复
30
cqwangsf| | 2008-3-18 09:49 | 只看该作者

哈哈,根据需要了

而且eepROM也可以动态的写!不写一个固定的地址!办法总有的!

使用特权

评论回复
31
HWM| | 2008-3-18 09:53 | 只看该作者

若硬要如此,那就让它(EEPROM)受累了。

使用特权

评论回复
32
yewuyi| | 2008-3-18 12:19 | 只看该作者

俺的做法用户是不可能摸出门道的~~

他想摸也摸不上~~


US级的变动对于用户的手按动作和按键的机械弹性延迟来说,根本是一个不可控的变量……

使用特权

评论回复
33
HCH| | 2008-3-18 17:54 | 只看该作者

按键 静电 电源噪声 多是可以利用的

使用特权

评论回复
34
jcsasm| | 2008-3-18 18:31 | 只看该作者

28楼可以保证开机随机,但是必须关机(或掉电)存储

使用特权

评论回复
35
不熔玉石| | 2008-3-19 13:59 | 只看该作者

曾经做过

上电启动8位永不停止的定时器(初值为0),需要随机数时取计数值,即得范围是0~255的随机数,可以再根据需要进行范围调整,或改变定时器初值,尽此而已.

使用特权

评论回复
36
不熔玉石| | 2008-3-19 14:23 | 只看该作者

简单呀

使用定时器

使用特权

评论回复
37
niu9911| | 2008-3-19 21:28 | 只看该作者

还在学习中

使用特权

评论回复
38
dog_xin| | 2008-3-20 19:54 | 只看该作者

外面价格RC电路,用时间就会得到每次不同的随机数

使用特权

评论回复
39
liwei123| | 2008-3-20 19:56 | 只看该作者

可以用定时器来做啊!

开启一个定时器,然后想要随机数的时候就去读寄存器里的后面若干位的数据,应该可以满足要求了吧!

使用特权

评论回复
40
windyong| | 2008-3-21 16:28 | 只看该作者

比较简单

    1、设定一个随机变量存储器。
    2、在不同的系统的分支处增量或者减量。
    3、时间中断计数器与之参与一系列的运算,这样就可以产生随机数了。

使用特权

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

本版积分规则