Board logo

标题: 请问要如何用assembly产生随机数 ? [打印本页]

作者: Carter    时间: 2006-12-20 11:23     标题: 请问要如何用assembly产生随机数 ?

我目前用08单片机,请问要如何用assembly产生随机数.


我需要的随机数范围1~16.fficeffice" />


作者: strongchen    时间: 2006-12-20 16:11

简单的可以用定时器的计数值尾数与RAM中不初始化单元值的简单逻辑运算结果,最好判断RAM中的值即非0,也非FF。
作者: Carter    时间: 2006-12-20 16:48

与RAM中不初始化单元值的简单逻辑运算结果的目的是什么?
可以给一个assembly的例程.
作者: Carter    时间: 2006-12-25 10:38

用定时器的计数值尾数前需要作任何设定吗?
可以给一个assembly的例程吗?
作者: strongchen    时间: 2006-12-25 14:02

如果你获取随机数的时间与系统时钟没有有固定的联系,比如是通过外部事件触发的,像按键输入、通讯命令等,你就可以直接采用定时器的尾数作为随机数。但是如果不是这样,你就必须另外找一个简单的随机源,未初始化的RAM就是一个。当然,复杂的方法也有,比如你可以采用伪随机数发生函数或子程序等。
作者: Carter    时间: 2006-12-26 11:57

谢谢版主的指教.
目前我获取随机数的时间与系统时钟有固定的联系,所以取到的定时器尾数值的确很固定.
所以直接采用定时器的尾数作为随机数对我的应用来说并不适用。
至于版主您推荐采用未初始化的RAM 我要再试试看.
另外,版主提到可以采用伪随机数发生函数或子程序等方法,请问您有assembly的例程吗?
或在那一个网站上有assembly的例程?

作者: strongchen    时间: 2006-12-26 14:47

我也没有,你可以到网上搜索一下。




欢迎光临 电子技术论坛_中国专业的电子工程师学习交流社区-中电网技术论坛 (http://bbs.eccn.com/) Powered by Discuz! 7.0.0