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