摘要:介紹了82C54的基本功能和內(nèi)部結(jié)構(gòu),控制寄存器的格式,模式0:計數(shù)結(jié)束發(fā)出中斷信號的具體應(yīng)用。本文給出了89C55單片機(jī)控制的硬件、軟件設(shè)計實例。
關(guān)鍵詞:計數(shù)儀;89C55;82C54;光電倍增管

在醫(yī)學(xué)檢驗中,體內(nèi)多類激素水平及其微量代謝產(chǎn)物、藥物及代謝產(chǎn)物、維生素類及疾病相關(guān)抗原的分析測定總計可達(dá)幾十至上百種之多。但由于其檢測靈敏度要求較高,一般免疫技術(shù)難以達(dá)到。因此,長期以來一直沿用放射免疫法。它不僅對操作人員的健康造成了危害,而且其廢棄物對環(huán)境也有嚴(yán)重的污染。因此需要特殊的防護(hù)及廢物處理系統(tǒng);同時由于受到自然衰變的限制,其試劑不便長期儲存和運(yùn)輸,因而大大地限制了它的發(fā)展。
長期以來,人們大多采用光度計作為主要檢測儀器,其原理通過光電轉(zhuǎn)換器件將光信號轉(zhuǎn)換為電信號(電壓、電流),再加以放大。其主要特點(diǎn):具有結(jié)構(gòu)簡單、性能穩(wěn)定;但靈敏度低、線性范圍窄。目前常見的光學(xué)檢測儀器,如:紅外/可見/紫外光分光光度計、熒光分光光度計、酶標(biāo)儀、照度計等均采用類似原理。隨著現(xiàn)代量子物理學(xué)的發(fā)展,以及人們對光的微觀特性認(rèn)識的逐步深入,一種被稱為單光子計數(shù)器的新型光電器件已經(jīng)問世,這就是在一些發(fā)達(dá)國家剛剛普及的光子計數(shù)儀,其靈敏度及線性范圍均已超過常規(guī)檢測技術(shù)能達(dá)到的水平,它是在根本檢測不到任何光線存在,即所謂“全黑環(huán)境”中正常工作,最主要的是該方法具有無輻射,無需對廢液后續(xù)處理的投入。因此被迅速應(yīng)用于社會生活的各個方面。如:航空航天、軍事、公安、科研、醫(yī)療、環(huán)境保護(hù)、農(nóng)業(yè)、工業(yè)等領(lǐng)域。成為現(xiàn)代高科技的一個重要組成部分。
測量原理
該儀器的測量原理采用單光子計數(shù)法。微弱光信號檢測一般以光電倍增管(PMT)為檢測器,在弱光下,光電倍增管的電流來源于光子碰撞光陰極產(chǎn)生的光電子發(fā)射,并經(jīng)倍增后在陽極形成電脈沖輸出。
光子檢測裝置的核心是光電倍增管(PMT),它是一個超高真空的玻璃容器,其中向光的一面(稱為端窗),涂有一層特殊的具有光電效應(yīng)的稀有金屬,稱為光陰極,而內(nèi)部還裝有許多的按一定規(guī)則排列的電極,稱為打拿極或加速極;其后部另有一個電極稱為陽極。上述各電極之間均加有規(guī)定值較高的直流電壓。當(dāng)光子打到光陰極時,由于光電效應(yīng)的作用,其表面可以產(chǎn)生能量微弱的游離電子,稱為光電子;該電子在直流高壓產(chǎn)生的電場作用下離開光陰極,同時被加速,再次打到打拿極上并產(chǎn)生出能量更大數(shù)量更多的光電子,就這樣經(jīng)過多個打拿極的反復(fù)放大,最后使陽極產(chǎn)生電脈沖信號,該信號經(jīng)前置放大器放大,在經(jīng)比較器去除噪聲信號,最后由分頻器換算出光子脈沖數(shù)(通常以相對發(fā)光數(shù)為單位,即RLU為單位,一個RLU相當(dāng)于10個光子),如圖1。
89C55的介紹和82C54基本功能和內(nèi)部結(jié)構(gòu)
89C55是Atmel公司的低電壓,高性能CMOS 8位單片機(jī),片內(nèi)含20kbytes的可反復(fù)擦寫的Flash只讀程序存儲器和256 bytes的隨機(jī)存取數(shù)據(jù)存儲器(RAM),器件采用ATMEL公司的高密度、非易失性存儲技術(shù)生產(chǎn),兼容標(biāo)準(zhǔn)MCS-51指令系統(tǒng),引腳兼容工業(yè)標(biāo)準(zhǔn)89C51和89C52芯片,采用通用編程方式,內(nèi)置通用8位中央處理器和Flash存儲單元,AT89C55有40個引腳,32個外部雙向輸入/輸出(I/0)端口,同時內(nèi)含2個外中斷口,2個16位可編程定時計數(shù)器,2個全雙工串行通信口,2個讀寫口線,片內(nèi)時鐘電路,AT89C55采用兩種軟件控制其進(jìn)入省電睡眠模式的靜態(tài)邏輯工作閑置方式設(shè)計,可以用RAM、定時/計數(shù)器、串行口和外部中斷喚醒睡眠狀態(tài)而繼續(xù)工作,在睡眠模式下,RAM被凍結(jié),其他功能全部停止,直至下個外中斷觸發(fā)或硬件復(fù)位方可開始運(yùn)行。特別是可反復(fù)擦寫的Flash存儲器可有效地降低開發(fā)成本。
Intersil公司的82C54是8253的改進(jìn)型,操作方式及引腳與8253完全相同。它的改進(jìn)主要反映在82C54的計數(shù)頻率更高,可高達(dá)12MHz。
82C54的基本功能和內(nèi)部結(jié)構(gòu)主要功能

每片內(nèi)部包含有3個獨(dú)立的16位計數(shù)通道;
每個計數(shù)器都可以按照二進(jìn)制或二一十進(jìn)制計數(shù);
每個計數(shù)器的計數(shù)速率可高達(dá)12MHz
每個計數(shù)通道有6種工作方式,可由程序設(shè)置和改變;
所有的輸入/輸出電平信號都與TTL兼容。82C54的內(nèi)部結(jié)構(gòu)如圖2所示。
數(shù)據(jù)總線緩沖器。這是82C54與CPU數(shù)據(jù)總線連接的8位雙向三態(tài)緩沖器,CPU通過數(shù)據(jù)總線緩沖器將控制命令字和計數(shù)初值寫入82C54芯片,或者從82C54計數(shù)器中讀取當(dāng)前計數(shù)值。2.讀/寫邏輯。這是82C54內(nèi)部操作的控制部分。首先有片選信號CS的控制部分,當(dāng)CS為高時,數(shù)據(jù)總線緩沖器處在三態(tài),系統(tǒng)的數(shù)據(jù)總線脫開,故不能進(jìn)行編程,也不能進(jìn)行讀寫操作。其次,由這部分選擇讀寫操作的端口(3個計數(shù)器及控制字寄存器),并控制數(shù)據(jù)傳送的方向。3.控制字寄存器。在82C54初始化編程時,由CPU寫入控制字以決定通道的工作方式。此寄存器只能寫入而不能讀出。實際上,82C54的3個計數(shù)器通道都有各自的控制字寄存器,存放各自的控制字,初始化編程時,這3個控制字分三次共用一個控制端口地址寫入各自的通道.它們是利用最高兩位的狀態(tài)不同來區(qū)分的。
82C54控制寄存器的格式
為了讓定時器/計數(shù)器正確工作,必須先設(shè)定控制字。82C54的控制寄存器的格式如下:
①BCD位用來設(shè)置計數(shù)值格式:
l-計數(shù)值為BCD碼格式;
0-計數(shù)值為二進(jìn)制格式;
②M2、M1、M0為模式選擇。82C54工作時可以有6種模式可供選擇、每種模式下的輸出波形各不相同。到底當(dāng)前工作干哪種模式,這是通過對控制寄存器中M2、M1、M0這3位的設(shè)置來決定的,具體對應(yīng)關(guān)系如下:
M2M1M0 模式選擇
0 0 0 模式0
O 0 1 模式1
x 1 0 模式2
x 1 1 模式3
1 0 0 模式4
1 O 1 模式5
③RW1和RW0是讀/寫指示位,具體為:
00-對計數(shù)器進(jìn)行鎖存操作,使當(dāng)前計數(shù)值在輸出鎖存器中鎖定,以便讀出。
0 1一只讀/寫低8位字節(jié)。
1 0一只讀/寫高8位字節(jié)。
1 1一先讀/寫低8位字節(jié),再讀/寫高8位字節(jié)。
④SC1和SC0用來選擇計數(shù)器。不管是計數(shù)值格式設(shè)置、模式設(shè)置,還是讀/寫命令指示,對于82C54的3個計數(shù)器來說,互相都是獨(dú)立的,因此,在設(shè)置控制字的時候,要指出是對82C54的哪一個計數(shù)器設(shè)置的,這便是SC1和SCo的功能。具體對應(yīng)關(guān)系為:
0 O-選擇計數(shù)器0。
0 1-選擇計數(shù)器1。
1 O-選擇計數(shù)器2。
1 1-無意義。
計數(shù)器通道。包括計數(shù)器0、計數(shù)器1、計數(shù)器2。它們的結(jié)構(gòu)完全相同,彼此可以按照不同的方式獨(dú)立工作。每個通道包括:一個8位的控制寄存器;一個16位的計數(shù)初值寄存器;一個計數(shù)執(zhí)行部件,它是一個16位的減法計
數(shù)器;一個16位的輸出鎖存器。每個通道都對輸入脈沖CLK按二進(jìn)制或二一十進(jìn)制,從預(yù)置值開始減l計數(shù)。當(dāng)預(yù)置值減到零時,從OUT輸出端輸出一信號。計數(shù)過程中,計數(shù)器受到門控信號GATE的控制。
光子計數(shù)儀設(shè)計
基于儀器整體安裝及可維護(hù)性的考慮,儀器采用整體形式。包括對儀器的控制,鍵盤操作及顯示,儀器的傳動部分及光子檢測部分。采用96微孔板作為測量載體;為增強(qiáng)測量的定位準(zhǔn)確度,運(yùn)行的平穩(wěn)性,光電檢測系統(tǒng)以固定方式檢測樣品,送樣機(jī)構(gòu)可按要求進(jìn)行Y方向及x方向順序運(yùn)動。采用可視性強(qiáng)的液晶顯示器,可顯示儀器當(dāng)前所處狀態(tài)及每孔測量結(jié)果。定義20種可選擇的測量時間;可對微孔板的任意行數(shù)定義測量;數(shù)據(jù)輸出采用外接打印機(jī);原始數(shù)據(jù)可在主機(jī)獨(dú)立測量完畢后由打印機(jī)輸出。計算機(jī)控制測量可完全替代單機(jī)測量的功能,同時可在WINDOWS的操作軟件包下進(jìn)行樣品區(qū)、標(biāo)準(zhǔn)區(qū)、陰陽性孔位定義、測量及數(shù)據(jù)處理。
硬件設(shè)計
本設(shè)計選用可編程定時器/計數(shù)器82C54,其最高計數(shù)頻率可達(dá)12MHz充分利用82C54的定時器/計數(shù)器,防止程序進(jìn)入死循環(huán),增加了外部的硬件看門狗定時器MAX8 1 3L,其內(nèi)部的看門狗定時器監(jiān)控UP/UC的工作。如果在1.6s內(nèi)未檢測到其工作,內(nèi)部的定時器將使看門狗輸出WDO處于低電平狀態(tài),WDO將保持低電平直到在WDI檢測到UP/UC的工作。將WR~NWDO連接可使看門狗超時產(chǎn)生復(fù)位。
具體硬件電路如圖3所示。

軟件設(shè)計
設(shè)置軟件陷阱
當(dāng)程序進(jìn)入到非程序區(qū),只要在非程序區(qū)設(shè)置攔截措施,使程序進(jìn)入陷阱,然后強(qiáng)迫程序回到初始狀態(tài)。如對CPU的RST指令對應(yīng)的字節(jié)碼為0FFH,如果不用的程序存儲區(qū)預(yù)先寫入0FFH,則當(dāng)程序因干擾而“飛”到該區(qū)域執(zhí)行代碼時,就相當(dāng)于執(zhí)行1條RST指令,從而達(dá)到系統(tǒng)復(fù)位的目的。
本設(shè)計選擇82C54的模式O工作,計數(shù)器0、計數(shù)器1都工作于模式O:計數(shù)結(jié)束發(fā)出中斷信號。
程序流程圖如圖4。
結(jié)論
整機(jī)無論從結(jié)構(gòu)到電器性能都達(dá)到了設(shè)計要求,采用的原理科學(xué),技術(shù)及關(guān)鍵器件先進(jìn)。通過一段時間的使用,從各用戶中反饋的信息都很滿意。該樣機(jī)從主機(jī)到應(yīng)用軟件符合國際設(shè)計潮流及臨床操作要求。
參考文獻(xiàn):
1.石亞和,‘單片計算機(jī)接口技術(shù),’東北大學(xué)自動化儀表教研室.
2.美國Atmel公司的89C55datasheet.
3.美國Intersil公司的82C54datasheet.
4.哈爾濱思創(chuàng)生物SC-I光子計數(shù)儀使用說明書.
5.何勇、王生澤,‘光電傳感器及其應(yīng)用,’化學(xué)工業(yè)出版社,2004年6月.