摘要:介紹了82C54的基本功能和內部結構,控制寄存器的格式,模式0:計數結束發出中斷信號的具體應用。本文給出了89C55單片機控制的硬件、軟件設計實例。
關鍵詞:計數儀;89C55;82C54;光電倍增管

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

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

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