孫福玉,曹萬蒼
(赤峰學院,內蒙古赤峰024000)
偽隨機數發生器
孫福玉,曹萬蒼
(赤峰學院,內蒙古赤峰024000)
文章分析了555電路、74HC160計數器、CD4511譯碼器等器件的基本工作原理,用555電路產生高頻脈沖信號,用74HC160計數,通過CD4511譯碼后送入數碼管顯示一個隨機數.
隨機數;偽隨機數;發生器
隨機數在我們的生活中隨處可見,例如擲一枚色子所得到的點數、任何一個班級的學生數、某一路段的車流量或者是迎面行駛而來的車輛的車牌號等等.伴隨隨機事件而產生的隨機的數字稱為隨機數.因為隨機數的不可預知性,單一或者小規模的試驗是不能正確的估算出隨機數的規律的,試驗次數越多,則得到的結果越接近真正的答案.本文利用555電路產生脈沖信號,用74HC160計數,通過CD4511譯碼后送入數碼管顯示一個隨機數.
2.1 CD4511的功能介紹
首先,我們介紹一下支持數字輸出的7段譯碼器CD4511.圖1為七段顯示譯碼器的管腳圖.

圖1 七段顯示譯碼器的管腳圖
4管腳BI管腳為消隱輸入控制端子,如果BI為0,不論其它管腳輸入什么值,七段顯示數碼管處于熄滅狀態,也稱為消隱狀態,七段顯示數碼不顯示數字.如果BI為1,各筆段均正常顯示.
3管腳LT管腳為測試輸入端子,當BI為1,LT為0時,譯碼輸出全為高電平,不論輸入端子輸入何值,七段顯示譯碼器均工作,從而顯示數字8.各筆段均被點亮,以檢查顯示是否有故障發生.
5管腳LE管腳為鎖定控制端,CD4511中的譯碼器的鎖存電路由傳輸門和反相器組成,傳輸門的導通或截止由控制端LE的電平狀態.當LE=0時,允許譯碼輸出.LE=1時譯碼器是鎖定保持狀態,譯碼器輸出被保持在LE=0時的數值.
A1、A2、A3、A4為譯碼器輸入端.a、b、c、d、e、f、g為譯碼輸出端,用于驅動共陰極數碼管工作,輸出為高電平1時有效.
另外,譯碼器在顯示數“6”時,a段消隱;顯示數“9”時,d、段消隱,所以顯示6、9這兩個數時,字形不太美觀.所謂共陰LED數碼管是指7段LED的陰極是連在一起的,在應用中應接地.限流電阻要根據電源電壓來選取,電源電壓5V時可使用300歐姆的限流電阻.
由以上關于CD4511的介紹可知,它能夠根據外部信號使LED點亮或者熄滅,從而達到譯碼輸出的功能.
2.2 74HC160的功能介紹
74HC160是74系列的4位同步式十進制計數器,74HC160管腳圖如圖2所示.

圖2 74HC160管腳圖
74HC160的具體功能如下:
CLK:時鐘脈沖輸入端.引入外部時鐘控制脈沖的輸入端,無時鐘脈沖輸入時,無法使用計數功能.74HC160接入電路后與譯碼器等電路元件共用同一時鐘脈沖.
CLR:復位端,低電平有效,當CLR=0時,輸出端異步歸零.
ENP:禁止計數端,低電平有效,當ENP=0時,計數器失去計數功能.
ENT:計數和RC禁止端,低電平有效,當ENT=0時,計數器失去計數和RC功能.同時,ENP失去作用.也就是說,當ENT為低電平時,無論ENP是高電平還是低電平,都無法實現計數功能.
LOAD:寄存/計數端,低電平寄存,高電平計數,即當LOAD=0時,計數器處于寄存狀態,存儲的是前一時鐘周期的狀態,當LOAD=1時,計數器處于計數狀態.
由以上有關于74HC160功能的介紹,我們可以了解到:使用兩個74HC160級聯可以達到我們要求的37進制計數器,還要利用LOAD端的寄存/計數功能來設計數字顯示的偽隨機數發生器的復位功能.
2.3 555定時器的功能介紹
在通常的集成電路中,要使電路的各個元件良好地工作在同一狀態下,必須對其時鐘控制電路進行設計和改善.在本電路中,我們使用555定時器產生時鐘脈沖.接下來,我們對NE555作一介紹.NE555管腳圖如圖3所示:

圖3 NE555管腳圖
555定時器的各個引腳功能如下:
管腳1為接地端.管腳8為外接電源VCC端子,一般用5V電源.管腳3為輸出端子.管腳2為低觸發端.管腳6為高觸發端子.管腳4為直接清零端.當該端子接低電平0時,時基電路不工作,這時不論TH處于何電平,時基電路輸出均為0,該端不用時應接高電平1.管腳5為控制電壓端子.若此管腳外接電壓,則可改變內部兩個比較器的基準電壓,當不用該管腳時,應將該管腳串入一只電容接地,以避免外部干擾.管腳7為放電端子.該管腳與放電三極管集電極相連,用做定時器時電容的放電.
555定時器在本電路設計中,應使4、8腳接VCC,1腳接地,5腳加電容接地以防外部干擾,7、8腳、6、7腳間加滑動變阻器以改變輸出時鐘脈沖的頻率,以達到產生時鐘脈沖的作用.時鐘脈沖的頻率如下式所示,通過調節R1,R2,C1可以得到不同頻率的時鐘.

圖4是偽隨機數發生器的電路圖.由于只是使用計數器,所以并不復雜.
在此電路的設計過程中,首先由555定時器產生控制74HC160計數的時鐘脈沖.因此,在具體電路的制作與焊接過程中,可以在555定時器與計數器的連接線上加一開關.開關按下,則開始計數,開關松開,則停止計數并顯示上一狀態的數字.同時,可以通過調節其外接電容來控制其輸出時鐘脈沖的高低.在具體電路的制作過程中,作者使用的是0—10K的滑動變阻器,在安裝焊接前,調節電阻到5K,可以正常顯示數字.
然后,由兩個74HC160構成該電路的計數器.注意,由于我們只要求計數到36,所以在設計時,由兩個74HC160的LOAD端接出一個74HC30(八輸入與非門)來進行置位,設計我們對計數的要求,我們可以把個位的DB、DC端,十位的DA、DB端接入74HC30的輸入端,其余輸入端口則全部接VCC,則可以達到異步置位的功能.
接下來,要將74HC160的輸入端接入CD4511的輸入端,把四位二進制數譯碼為供數字顯示的7位數據.在數字顯示器和CD4511間,要加入能使數字顯示器正常發光的電阻,在具體電路的測試中可知,使用475歐姆的電阻可以使數字顯示器正常發光.
這種設計方案所制作出的偽隨機數發生器的使用方法很簡單.按下接通電源的啟動開關后,LED就顯示各種數字.計數器的內容從0開始按序號變化,不是隨機的.所以可以使用稍快的時鐘脈沖.在按下停止開關后的一段時間內,計數器照樣工作,然后停止在某一數字上.這個數字就是得中的數字.

圖4 偽隨機數發生器電路圖
文章分析了555電路、74HC160計數器、CD4511譯碼器等器件的基本工作原理,用555電路產生高頻脈沖信號,用74HC160計數,通過CD4511譯碼后送入數碼管顯示一個隨機數.
〔1〕湯山俊夫.數字電路設計與制作[M].北京:科學出版社,2009.
〔2〕黃智偉.電子電路計算機仿真設計與分析[M].北京:電子工業出版社,2009.
〔3〕孫余凱.傳感器應用電路300例[M].北京:電子工業出版社,2008.
〔4〕張慶雙.LED應用電路精選[M].北京:機械工業出版社,2010.
TP212
A
1673-260X(2013)12-0030-02