单片机-产生随机数-无AD无EEPROM无按键-Ask For Help

2020-02-06 10:34发布

一款小商品上需要用到低成本的单片机,于是我选用PIC12F509的替代单片机麦肯的”MDT10P509“,单价在0.5¥左右。
该产品是超再生无线控制的,所以需要编码。
这就涉及到一个问题:1千个产品,用同一个程序怎么实现不一样的编码(或者说多个产品放在一起用怎么不会相互干扰?)。

选用的这款低成本的单片机:没有AD,没有EEPROM,所以无法从外部引入一个种子变量。

用户在给产品上电时,单片机产生一个随机数,用这个随机数去编码(只需要单片机上电时产生一次随机数就可以了)。

我目前的思路是:利用软件延时和定时器延时的时间差不一样来产生一个随机数(即软件延时的时间有误差)。
可是我用STM80ss3的单片机试了下,单片机每次上电发送的串口数据都是一样的(由于PIC12单片机还不是很熟悉,所以先用STM8S单片机试一下能不能产生随机数)。

还望各位前辈不吝赐教!
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
33条回答
mhw
2020-02-10 12:29
想复杂了,其它工程师几十年前都想到了……你要的不是随机数,是唯一ID,这个可以烧录时靠编程器自动写到程序存储区某个地址的(通常是尾部),然后你程序只知道那个地址的数据是唯一的就行了……

一周热门 更多>