新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設計應用 > 如何在單片機中生成隨機數(shù)

如何在單片機中生成隨機數(shù)

作者: 時間:2016-11-23 來源:網(wǎng)絡 收藏
隨機數(shù)單片機的應用中也是很多的,當然產(chǎn)生隨機數(shù)的方法有很多,當中有一個就是利用單片機定時器,取出未知的定時器THX和TLX的值,再加以運算得到一個規(guī)定范圍內的隨機數(shù)值。這做法也是可行的?;蛘哳A先寫好一個隨機數(shù)表,然后進行取數(shù)據(jù)。也是可以的。等等
今天給大家介紹另外一個在單片機中產(chǎn)生隨機數(shù)的方法。這里介紹的方法是利用C語言中rand();函數(shù)來產(chǎn)生隨機數(shù)。
大家可以打開KeilC51HLP文件夾下的C51lib.chm文件索引“rand”,看一下該函數(shù)的解釋和使用方法。
我這里簡單跟大家介紹一下rand()函數(shù)
rand()函數(shù)生成一個0~32767之間的的偽隨機數(shù),函數(shù)運行完后將返回這個偽隨機數(shù),另外還可以看到void srand(int seed);
void srand(int seed); 函數(shù)可以設置一個初值,然后調用rand()函數(shù)生成一個初值與32767之間的隨機數(shù)。如:
int a;
srand(500);
a=rand();
這時,a的值將是500~32767之間的一個隨機數(shù),大家可以自己寫程序測試一下,想想如何寫一個函數(shù)讓單片機產(chǎn)生一個0~100之間的隨機數(shù)


關鍵詞: 單片機隨機

評論


技術專區(qū)

關閉