【摘 要】在礦石的粉料、顆粒料生產(chǎn)流程中需要隨機(jī)地對(duì)產(chǎn)品進(jìn)行取樣,則需要一臺(tái)隨機(jī)時(shí)間發(fā)生器。使用單片機(jī)的兩個(gè)定時(shí)器,一個(gè)固定時(shí)間,另一個(gè)任意運(yùn)行,從而獲得隨機(jī)時(shí)間。因而對(duì)產(chǎn)品進(jìn)行隨機(jī)抽樣檢查。
【關(guān)鍵詞】單片機(jī) 定時(shí)器 隨機(jī)數(shù)
一、事因
某單位生產(chǎn)的顆粒狀產(chǎn)品經(jīng)過皮帶傳送,在皮帶的某一位置,有一取樣裝置,原系統(tǒng)采用PLC控制,時(shí)間設(shè)置為固定的15分鐘。該單位現(xiàn)要求改為隨機(jī)時(shí)間,每4~15分鐘對(duì)產(chǎn)品取樣一次,隨機(jī)時(shí)間一到,輸出3.6秒的開關(guān)閉合信號(hào)。
隨機(jī)數(shù)也稱為隨機(jī)碼,分有真隨機(jī)數(shù)和偽隨機(jī)數(shù)兩種。真隨機(jī)數(shù)只有使用硬件電路實(shí)現(xiàn),但是無論采用什么電路所生成的隨機(jī)數(shù)都有“牽強(qiáng)”之嫌;好在該單位沒有很高的技術(shù)要求,只需要產(chǎn)生的隨機(jī)時(shí)間不小于4分鐘,不大于15分鐘即可,且沒有人工控制的“嫌疑”。
二、分析
根據(jù)上述要求,我們采用MCS51系列單片機(jī)實(shí)現(xiàn),MCS51單片機(jī)內(nèi)部具有兩個(gè)定時(shí)器/計(jì)數(shù)器(52增強(qiáng)型有3個(gè)定時(shí)器),將一個(gè)定時(shí)器T0定時(shí)3.6秒;另一個(gè)定時(shí)器T1上電后就自由運(yùn)行,用于生成隨機(jī)碼。
一次取樣完畢,單片機(jī)讀取T1產(chǎn)生的隨機(jī)數(shù),存放于R5中,每隔3.6秒將R5中數(shù)值減1,直到R5=0為止,為取樣時(shí)間。
MCS51是8位單片機(jī),8位二進(jìn)制數(shù)最大值為255,滿足上述要求。
三、電路設(shè)計(jì)
設(shè)計(jì)的電路見圖1所示,單片機(jī)采用AT89S52,電路中有一個(gè)四位LED數(shù)碼管顯示器,采用共陽(yáng)極數(shù)碼管,用于顯示倒計(jì)時(shí),不過它顯示的是3.6秒的倍數(shù);電路中的繼電器RL的常開接觸點(diǎn)輸出給取樣機(jī),驅(qū)動(dòng)取樣。
圖2為電路實(shí)物照片,為制作方便,電路板采用網(wǎng)購(gòu)的實(shí)驗(yàn)板。電路可靠性強(qiáng),采取了許多措施使其很抗干擾能力強(qiáng),目前在現(xiàn)場(chǎng)運(yùn)行了近一段時(shí)期。
四、程序設(shè)計(jì)
MCS51單片機(jī)采用12MHz石英晶體振蕩器,提供時(shí)鐘信號(hào),它的定時(shí)器最長(zhǎng)只能定時(shí)65536×1μs=65.536ms,我們?nèi)?0ms,再使用R6=72作計(jì)數(shù)器,達(dá)到3.6秒。下面是程序流程圖:
(一) T0中斷程序
T0定時(shí)為50毫秒,使用R7=72作計(jì)數(shù)器,R7每隔50ms減1,直到R7=0表示3.6秒時(shí)間到。
R5裝入隨機(jī)數(shù),每3.6秒減1一次,直到R5=0,表示隨機(jī)時(shí)間到。這時(shí)系統(tǒng)要完成兩件事
1.啟動(dòng)取樣機(jī)
2.從T1中取出未受到任何控制的隨機(jī)數(shù),作為下次隨機(jī)時(shí)間,這個(gè)隨機(jī)數(shù)還要求大于67,保證最小隨機(jī)時(shí)間不小于4分鐘。
下一次3.6秒到達(dá)時(shí),關(guān)閉取樣機(jī),實(shí)現(xiàn)了取樣機(jī)開啟控制在3.6秒中。
(二)主程序
系統(tǒng)初始化完成T0的50ms設(shè)置,堆棧設(shè)置,3.6秒設(shè)置,第一次取樣為4分鐘設(shè)置,定時(shí)器工作方式設(shè)置等。
轉(zhuǎn)換子程序是將R5中的隨機(jī)數(shù)轉(zhuǎn)換為BCD碼,以便顯示子程序查表。
五、效果
本系統(tǒng)安裝時(shí),采用的是國(guó)產(chǎn)STC單片機(jī)(89C51RC+),該機(jī)種內(nèi)含上電復(fù)位電路,上電啟動(dòng)極為可靠,避免了AT89S52單片機(jī)有時(shí)上電死機(jī)現(xiàn)象;該單片機(jī)具有內(nèi)部看門狗,一旦系統(tǒng)程序跑飛,看門狗就主動(dòng)地重新啟動(dòng)單片機(jī);該系統(tǒng)安裝在鐵制控制柜內(nèi),避免了現(xiàn)場(chǎng)干擾,經(jīng)3個(gè)多月運(yùn)行檢驗(yàn),證明了該系統(tǒng)非??煽俊?/p>
參考文獻(xiàn):
[1]單片機(jī)原理及應(yīng)用 唐德禮 曹慶生 華中科技大學(xué)出版社 ISBN : 756093501X.
[2]單片機(jī)原理及接口技術(shù) 張毅剛 人民郵電出版社 ISBN : 978-7-115-25665-2.
[3]如何生成不重復(fù)的隨機(jī)數(shù) 網(wǎng)絡(luò)文章.