人狗畜禽COMPANY LIMITED|全是肉的高H文〈男男〉|全篇肉高H秘书被C办公室四爱|全黄H全肉共妻|全黄H全肉短篇禁乱NP慕浅浅|全黄H全肉短篇N男男

技術熱線: 4007-888-234
設計開發(fā)

專注差異化嵌入式產品解決方案 給智能產品定制注入靈魂給予生命

開發(fā)工具

提供開發(fā)工具、應用測試 完善的開發(fā)代碼案例庫分享

技術支持

從全面的產品導入到強大技術支援服務 全程貼心伴隨服務,創(chuàng)造無限潛能!

新品推廣

提供新的芯片及解決方案,提升客戶產品競爭力

新聞中心

提供最新的單片機資訊,行業(yè)消息以及公司新聞動態(tài)

單片機定時器產生隨機數(shù)的方法

更新時間: 2019-04-09
閱讀量:7701

單片機開發(fā)方案公司深圳英銳恩分享單片機定時器產生隨機數(shù)的方法。單片機被廣泛應用在各個領域,使用單片機產生隨機數(shù)的方法有很多,其中之一是利用單片機定時器,取出未知的定時器THX和TLX的值,再加以運算得到一個規(guī)定范圍內的隨機數(shù)值。這做法也是可行的?;蛘哳A先寫好一個隨機數(shù)表,然后進行取數(shù)據(jù)。也是可以的。

單片機定時器產生隨機數(shù)的方法

KEIL里面產生隨機數(shù)的函數(shù)確實是rand(),但頭文件是stdlib.h,不是time.h。C語言提供了一些庫函數(shù)來實現(xiàn)隨機數(shù)的產生。C語言中有三個通用的隨機數(shù)發(fā)生器,分別為 rand函數(shù), random函數(shù), randomize 函數(shù);但是rand函數(shù)產生的并不是真意正義上的隨機數(shù),是一個偽隨機數(shù),是根據(jù)一個數(shù),稱之為種子,為基準以某個遞推公式推算出來的一系數(shù),當這系列數(shù)很大的時候,就符合正態(tài)公布,從而相當于產生了隨機數(shù),但這不是真正的隨機數(shù),當計算機正常開機后,這個種子的值是定了的,除非破壞了系統(tǒng),為了改變這個種子的值,C提供了srand()函數(shù),它的原形是void srand( int a);在調用rand函數(shù)產生隨機數(shù)前,必須先利用srand()設好隨機數(shù)種子,如果未設隨機數(shù)種子,rand()在調用時會自動設隨機數(shù)種子為1。一般用for語句來設置種子的個數(shù)。
 單片機定時器產生隨機數(shù)的兩種方法
方法一:單片機定時器直接隨機取值
每按一次按鍵生成一個隨機數(shù),這個隨機數(shù)實際是把定時器的值給取出來了,并不能算絕對的隨機、方法二才是真正意義上的隨機。
 方法二:用單片機定時器加rand()隨機函數(shù)來實現(xiàn)
單片機上電之后通過按鍵去啟動取隨機數(shù),若是單片機上電就立即取隨機數(shù)的話,那每次上電隨機的結果都是一樣的。然后是0 到9不重復的隨機數(shù),程序中用了循環(huán)來判斷是否和前面取的隨機數(shù)相同,相同則進入,下次取隨機數(shù),不同則存入數(shù)組。
專注單片機開發(fā)方案的深圳英銳恩致力于汽車電子、通信產品、電動車、家電產品、智能家居安防產品、藍牙系列產品、便攜式數(shù)碼產品、工控儀表產品、醫(yī)療保健產品等產品的開發(fā)設計以及相關領域的產品技術服務,所推廣的方案和產品已在各領域取得可觀的成績。

桦南县| 西峡县| 朝阳区| 康乐县| 金川县| 绍兴县| 都匀市| 昌平区| 南安市| 页游| 年辖:市辖区| 云梦县| 句容市| 镇雄县| 克山县| 广州市| 墨竹工卡县| 玛多县| 宁城县| 绥德县| 辽宁省| 蓬莱市| 通河县| 巨鹿县| 赣州市| 桂平市| 贵定县| 大渡口区| 廊坊市| 长丰县| 汨罗市| 治县。| 禄丰县| 望谟县| 贵德县| 永平县| 老河口市| 康平县| 额敏县| 西吉县| 宜宾市|