sponsored links

隨機和偽隨機的區別,教大家diy一個隨機數發生器

當今網際網路時代,很多網遊和手遊、大資料網站都需要到隨機發生器,我們需要先了解真隨機的邏輯需要計算的資料模型非常大,目前真正意義上隨機的模式是原子核上面隨機出現的電子。所以市面上出現的演算法都是偽隨機。

DIY隨機數發生器(偽隨機)

本文展示了一個使用 8051 的隨機數生成器,它顯示 0 到 99 之間的隨機數。電路本身非常簡單,在嚴肅的嵌入式專案中可能找不到任何應用,本文只是一個說明。該電路基於 AT89S51 微控制器、兩個七段 LED 顯示器、兩個電晶體和少量無源元件。

電路圖

隨機和偽隨機的區別,教大家diy一個隨機數發生器
元件列表

·微控制器 (AT89S51) – 1 個

·按鈕開關 – 2 個

·7 段顯示 – 2 個

·電晶體 (2N2222) – 2 個

·電阻器(100 歐姆)– 10 個

·電阻器 (8.2k ohm) – 1 個

·電阻器 (10k ohm) – 1 個

·電容器 (10uF/10V) – 2 個

在職的

兩個七段LED顯示屏複用在一起,它們的資料線連線到微控制器的Port0。電晶體 Q1 和 Q2 驅動相應的顯示器 D1 和 D2。那裡的電晶體的驅動訊號是從P1.1 和P1.2 獲得的。按鈕開關S1、電容C1和電阻R10組成去抖復位電路。每當按下 S2 時,電阻器 R9、電容器 C2 和按鈕開關 S2 將在 INTO (pin12) 處提供低電平有效硬體中斷訊號。這裡 R9 和 C2 也用於去抖動。

開機後顯示屏會顯示空白,按下按鈕 S2 時顯示屏會顯示 0 到 99 之間的隨機數。再次嘗試時,您必須按下復位開關,然後再按下 S2。如果您只需要一個數字設定,則移除顯示器 D2 及其相關元件。其他一切都是一樣的。

程式

ORG 000H

SJMP MAIN

ORG 003H // sets the starting address for the ISR

ACALL ISR // calls the ISR subroutine when S2 is pressed

RETI // return from interrrupt

MAIN:SETB IP.0 // this part sets the initial conditions

SETB TCON.0

SETB IE.0

SETB IE.7

MOV P0,#00000000B

MOV P1,#00000000B

MOV DPTR,#LUT // moves the starting address of LUT to DPTR

LABEL:MOV R6,#99D // this part generates the random number

LOOP:MOV A,R6

DJNZ R6,LOOP

SJMP LABEL

ISR: MOV A,R6 // Subroutine ISR displays the current random number

MOV B,#10D

DIV AB

SETB P1.2

ACALL DISPLAY

MOV P0,A

ACALL DELAY

MOV A,B

CLR P1.2

SETB P1.1

ACALL DISPLAY

MOV P0,A

ACALL DELAY

CLR P1.1

SJMP ISR

RET

DELAY: MOV R3,#02H // this subroutine creates 1mS delay for switching the displays

DEL1: MOV R2,#0FAH

DEL2: DJNZ R2,DEL2

DJNZ R3,DEL1

RET

DISPLAY: MOVC A,@A+DPTR // produces the digit drive pattern for the current digit in A

RET

LUT: DB 3FH // Look up table

DB 06H

DB 5BH

DB 4FH

DB 66H

DB 6DH

DB 7DH

DB 07H

DB 7FH

DB 6FH

END

關於節目

程式的第一部分是標記為 MAIN 的部分,它設定初始條件和中斷引數。下一部分是名為 LABEL 的迴圈,它將 99D 載入到暫存器 R6,然後將其遞減 1 直到 0,然後再次重複迴圈。這是生成隨機數的部分。每次 R6 遞減,結果值被移到累加器 A。下一部分是中斷服務程式,它被編寫為名為 ISR 的子程式。每當 INT0 出現中斷(按下按鈕 S2)時,就會呼叫 ISR。

ISR 對 A 的內容執行必要的數學操作,以便拆分出兩個數字,然後繼續將其顯示在顯示器上。子程式 DELAY 為切換顯示產生大約 1ms 的延遲。子程式 DISPLAY 將 A 中的當前值與 DPTR 中儲存的地址(LUT 的起始地址)相加,並將目標內容移動到 A。結果將是 A 中當前數字的數字驅動模式。

隨機和偽隨機的區別,教大家diy一個隨機數發生器

分類: 動漫
時間: 2022-02-15

相關文章

為了擁有中國國籍,達曼人苦等200多年,如今家家戶戶掛五星紅旗

為了擁有中國國籍,達曼人苦等200多年,如今家家戶戶掛五星紅旗
沸騰的少數民族村子 在珠穆朗瑪峰南側的中國境內,有一個神秘的少數民族--達曼族. 因為地處偏僻,這個民族一直鮮為人知. 達曼族青年 在2003年時,整個達曼族人一共只有183人.他們普遍有著大大的藍眼 ...

甘肅這批失信人了不得!部分涉及詐騙、賭博、毒品等犯罪

甘肅這批失信人了不得!部分涉及詐騙、賭博、毒品等犯罪
甘肅省環縣人民法院 執行懸賞公告 (2021)甘1022執懸446號 為了最大限度地實現生效法律文書確定的債權,提高執行效率,強化執行效果,維護司法權威,本院在執行拜超龍盜竊罪並判處罰金一案中,被執行 ...

玩遊戲聒噪、敷衍、沒分寸,還不會說話,別再硬凹“團寵”人設了
在全民都在追奧運會的時候,也有不少人引起了爭議,比如小S,比如鬼鬼吳映潔. 起因是有網友發現鬼鬼的閨蜜在ins上祝賀奪冠的中國運動員,但是"捧一踩一"意思明顯. 而鬼鬼本人也在in ...

人生的三次覺醒

人生的三次覺醒
作者:木木 不斷突破覺醒,才能得真正的自由. 人生的三次覺醒 人生是一場覺醒的過程,人生在世,往往會被外相迷惑,困於成敗,迷於名利,陷於得失. 所謂覺醒,就是要打破外在虛相,提升內在境界.從而回歸自然 ...

CBA鋒線球員排行,周鵬力壓群雄,張鎮麟第二,姜宇星上榜

CBA鋒線球員排行,周鵬力壓群雄,張鎮麟第二,姜宇星上榜
在CBA聯賽中,鋒線球員絕對算得上是各支球隊最稀缺的資源.甚至大多數球隊都是不得不選擇用一個後衛球員去打小前鋒這個位置,也就是我們所熟知的三後衛陣容.還有的球隊不得已用一些內線球員去充當小前鋒的位置. ...

一覺睡醒眼瞼浮腫,是飲水過量,還是另有隱情?
作者:衣曉峰 尹日平 有的人一覺醒來,偶爾感覺眼睛酸澀紅腫,睜眼困難,照鏡子時發現自己一夜過後竟然變得"胖頭腫臉"的,尤其是眼瞼浮腫明顯.追尋原因,有人食物比較重口味,臨睡前大量飲 ...

廣西解放後,敵軍一副司令被俘虜,上級立即下令:就地處決

廣西解放後,敵軍一副司令被俘虜,上級立即下令:就地處決
在抗日戰爭時期,除了堅定地帶領人民走向光明的中國共產黨以外,還有許多人選擇了站在歷史的另一邊,或成為漢奸,或成為國民黨的一份子. 而他們那時候對國家.對人民犯下的罪行,在解放之後,通通都會遭到清算. ...

魯迅的《狂人日記》,狂在哪裡?

魯迅的《狂人日記》,狂在哪裡?
覺醒年代 <覺醒年代>裡有一個片段: 吃完飯回紹興會館,魯迅說:剛才忘了問廣明瞭,楊開銘最近在忙些什麼呢?怎麼一直沒有他的訊息? 弟弟周樹人回:楊開銘師範畢業後,就回老家教書了,他這個人啊 ...

探秘古代麗水處州府城的歷史 瞭解麗水的風土人情這一篇就足夠了

探秘古代麗水處州府城的歷史 瞭解麗水的風土人情這一篇就足夠了
如果把浙江比作一片大型江南園林的話,那麼麗水一定是這片園林的後花園. 本文影片版本:劉峻言航拍記錄中國之浙江省麗水市(上) 這裡堪稱為江浙之巔,省內十大高山中的七席都在麗水境內.這裡又是浙南的水塔,溫 ...

今年的九月二十一日不僅是中秋節更是難忘的日子

今年的九月二十一日不僅是中秋節更是難忘的日子
國際和平日為9月21日.國際和平日應成為全球停火和非暴力日,並邀請所有國家和人民在這一天停止敵對行動.所有會員國.聯合國系統各組織.區域組織和非政府組織以及個人以各種適當方式慶祝國際和平日並同聯合國合 ...

再看《水滸傳》才明白,原來“林沖棒打洪教頭”的背後,另藏玄機

再看《水滸傳》才明白,原來“林沖棒打洪教頭”的背後,另藏玄機
一.水滸江湖未變,看江湖的人變了 首先需要強調的是,筆者寫水滸,喜歡挖掘些水滸背後的東西,故而有讀者認為解讀過度.當然大白話就是胡說八道. 筆者不想解釋什麼,只強調一點:名著的魅力就在於常讀常新.猶如 ...

轉生成為史萊姆科普:原初惡魔與原初天使

轉生成為史萊姆科普:原初惡魔與原初天使
上週分享了下惡魔與龍種的科普,本週就介紹下七柱的原初惡魔與原初惡魔的起源.涉及劇透,如果介意的話,可以先關注下喲. 謝謝關注,歡迎討論. 原初惡魔的起源 首先,在史萊姆的世界觀中,所有的上古強者都與那 ...

傳說妖怪姑獲鳥,為何被誤認為出自日本神話?原因竟與西遊記有關

傳說妖怪姑獲鳥,為何被誤認為出自日本神話?原因竟與西遊記有關
 現在提起著名的傳說妖怪姑獲鳥,或許很多人第一時間聯想到它是日本著名的妖怪.事實上姑獲鳥其實是中國本土神話的妖怪,最早出現在晉代志怪小說<玄中記>中. 那麼問題來了,姑獲鳥明明有具體出現 ...

中國名山,雄、奇、險、秀

中國名山,雄、奇、險、秀
1949年的今天 中華人民共和國宣告成立 72年間,中國人砥礪奮進 我們的國家發生了天翻地覆的變化 錦繡山河千萬裡,繁榮盛世頌華誕 這個國慶假期,你打算怎麼過? 不如讓地理君10月1日至7日 每天帶你 ...

無職轉生科普:七大列強在內所有的神級持名者!天花板級戰力介紹

無職轉生科普:七大列強在內所有的神級持名者!天花板級戰力介紹
隨著動漫的更新,第二季的推出,時間線也拉到了命運的轉折點,魔陸篇!在許多的異世界題材中,無職轉生絕對算的上是一部佳作,甚至神作!一部好的故事總有著無數的線索,牽引著整個世界觀的啟動! 無職轉生 無論是 ...

陝西辛亥革命先驅井勿幕被害之謎
陝西有句俗語:"十陝九不通,一通便成龍",民國時期的陝西,大潮所至,風雲際會,人才輩出,井勿幕是其中的佼佼者之一. 井勿幕生於清光緒十四年(公元1888年),原名井泉,字文淵,後通 ...

司馬懿對髮妻有多絕情?要不是因為兒子,他早就把張春華給殺了

司馬懿對髮妻有多絕情?要不是因為兒子,他早就把張春華給殺了
關於司馬懿有一部熱播劇名為<軍事聯盟>,劇中司馬懿和張春華舉案齊眉,感情深厚.在性格潑辣的張春華面前,司馬懿顯得唯唯諾諾,好似一個"妻管嚴",半句嘴都不敢頂,逗樂了許多 ...

諸葛亮去世後,蜀漢靠什麼又支援了三十年?

諸葛亮去世後,蜀漢靠什麼又支援了三十年?
十月本來是收穫季節,百姓無不翹首以盼:可是景耀六年(263年)的金秋十月,對於蜀漢人民來說是個不堪回首的晚秋. 就在這年十月,鄧艾率軍從陰平險道出,到達江油,然後出奇兵攻入成都,國祚43年的蜀漢宣告滅 ...

聊齋故事:兵 魂

聊齋故事:兵 魂
明朝世宗在位期間,倭寇頻頻騷擾邊關,尤其是沿海一帶,倭患更為嚴重.倭匪所到之處,挖墳掘墓,奸掠婦女,燒殺搶掠,無惡不作.都指揮使司唐子川奉命嚴守東南沿海一帶,如有倭寇擾邊,一律格殺. 這年,唐都司又招 ...

山東壽光,中國北方省份中“開國將軍”最多的“將軍縣”

山東壽光,中國北方省份中“開國將軍”最多的“將軍縣”
從南昌城頭雄獅怒吼,到井岡山頭眾志成城: 從大渡河的驚濤激浪,到太行山的巍巍青松: 從三大戰役的橫掃千軍如卷席,到百萬雄師過大江馳騁全中國. 這隻世界上最偉大的軍隊,一共誕生了1614名開國將帥. 1 ...