給出基于8098單片機的脈沖測量儀的硬件、 軟件及 抗干擾措施。實際使用證明該測量儀穩(wěn)定、可靠、精度高、測量速度快。
關鍵詞:脈沖測量;8098單片機;高速輸入/輸出通道(HSI/HSO )
Keywords: impulse measure; single?chip computer 8098; high?sp eed input/high?speed output channel(HSI/HSO)
8098單片機具有性能十分優(yōu)良的高速輸入輸出通道,HSO0~HSO5為高速輸出通道,能產 生輸出寬度與周期均可調的脈沖波(PWM)。HSI0~HSI3為高速輸入通道,CPU通過它們可 以同時接受來自外部的4個脈沖信號,并且隨時記錄脈沖信號中的高、低電平出現的時間, 非常適用于對脈沖參數的檢測。
以高速輸入通道HSI為例,HSI部件有自己的中斷功能,當控制寄存器IOC1,7=1時,F IFO存儲區(qū)裝滿事件后發(fā)出中斷請求,如果IOC1,7=0,則保持寄存器在裝入事件后發(fā) 出中斷請求,兩種原因引起的中斷請求可通過查詢狀態(tài)寄存器IOS1而鑒別:如果FIFO 存儲區(qū)滿時,IOS1,6=1,反之,IOS1,6=0;如果保持寄存器內有值時,IOS 1,7=1,反之,IOS1,7=0。同時,HSI0也有自己的中斷,只要HSI0引腳 上有事件發(fā)生,便可以提出中斷請求。HSI有方式寄存器HSIMODE、狀態(tài)寄存器HSI STATUS和時間寄存器HSITIME。HSI的方式寄存器HSIMODE可以 規(guī)定每個通道的四種工作方式如下:
?、俜绞?:每8次正跳變后即觸發(fā); ②方式1:每次正跳變時即觸發(fā); ③方式2:每次負跳變時即觸發(fā); ④方式3:每次跳變(正或負)時即觸發(fā)。
跳變檢測器按HSIMODE寄存器規(guī)定的工作方式對HSI0~HSI3共4個通道的輸入 信號進行監(jiān)視與檢測,并將有關引腳電平狀態(tài)的檢測結果送狀態(tài)寄存器HSISTATUS ,同時還將有關事件是否發(fā)生的信息送入FIFO單元。時間寄存器HSITIME的內容為 事件發(fā)生時記錄下來的定時器T1的當前值。
1.1硬件電路
圖1是由8098單片機組成的脈沖測量儀的電路原理圖。脈沖測量的結果由8個數碼管顯示,左 邊4個用于脈沖寬度(μs)的顯示,右邊4個用于脈沖周期(μs)的顯示。
1.2軟件設計
整個軟件由兩大部分組成:主程序和HSI位0中斷服務程序。主程序如下:
?
HSI位0中斷服務程序的框圖如圖2所示。