基于8098單片機(jī)的脈沖測量儀的研制
給出基于8098單片機(jī)的脈沖測量儀的硬件、 軟件及 抗干擾措施。實際使用證明該測量儀穩(wěn)定、可靠、精度高、測量速度快。
關(guān)鍵詞:脈沖測量;8098單片機(jī);高速輸入/輸出通道(HSI/HSO )
Research of the Impulse Measure Meter Based on SCC 8098
GAO Meizhen
(Department of Physics, Hubei Normal University, Huangshi 435002, Chi na)
Abstract: The hardware、 software and the antiinterference mea sure based on 8098 have been given in this paper. This meter is stability、depe ndable, the accuracy of this meter is high, and the speed of the measure is quic k.
Keywords: impulse measure; singlechip computer 8098; highsp eed input/highspeed output channel(HSI/HSO)
Keywords: impulse measure; singlechip computer 8098; highsp eed input/highspeed output channel(HSI/HSO)
1測量原理
8098單片機(jī)具有性能十分優(yōu)良的高速輸入輸出通道,HSO0~HSO5為高速輸出通道,能產(chǎn) 生輸出寬度與周期均可調(diào)的脈沖波(PWM)。HSI0~HSI3為高速輸入通道,CPU通過它們可 以同時接受來自外部的4個脈沖信號,并且隨時記錄脈沖信號中的高、低電平出現(xiàn)的時間, 非常適用于對脈沖參數(shù)的檢測。
以高速輸入通道HSI為例,HSI部件有自己的中斷功能,當(dāng)控制寄存器IOC1,7=1時,F(xiàn) IFO存儲區(qū)裝滿事件后發(fā)出中斷請求,如果IOC1,7=0,則保持寄存器在裝入事件后發(fā) 出中斷請求,兩種原因引起的中斷請求可通過查詢狀態(tài)寄存器IOS1而鑒別:如果FIFO 存儲區(qū)滿時,IOS1,6=1,反之,IOS1,6=0;如果保持寄存器內(nèi)有值時,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ù)跳變時即觸發(fā); ④方式3:每次跳變(正或負(fù))時即觸發(fā)。
跳變檢測器按HSIMODE寄存器規(guī)定的工作方式對HSI0~HSI3共4個通道的輸入 信號進(jìn)行監(jiān)視與檢測,并將有關(guān)引腳電平狀態(tài)的檢測結(jié)果送狀態(tài)寄存器HSISTATUS ,同時還將有關(guān)事件是否發(fā)生的信息送入FIFO單元。時間寄存器HSITIME的內(nèi)容為 事件發(fā)生時記錄下來的定時器T1的當(dāng)前值。
1.1硬件電路
圖1是由8098單片機(jī)組成的脈沖測量儀的電路原理圖。脈沖測量的結(jié)果由8個數(shù)碼管顯示,左 邊4個用于脈沖寬度(μs)的顯示,右邊4個用于脈沖周期(μs)的顯示。
8098單片機(jī)具有性能十分優(yōu)良的高速輸入輸出通道,HSO0~HSO5為高速輸出通道,能產(chǎn) 生輸出寬度與周期均可調(diào)的脈沖波(PWM)。HSI0~HSI3為高速輸入通道,CPU通過它們可 以同時接受來自外部的4個脈沖信號,并且隨時記錄脈沖信號中的高、低電平出現(xiàn)的時間, 非常適用于對脈沖參數(shù)的檢測。
以高速輸入通道HSI為例,HSI部件有自己的中斷功能,當(dāng)控制寄存器IOC1,7=1時,F(xiàn) IFO存儲區(qū)裝滿事件后發(fā)出中斷請求,如果IOC1,7=0,則保持寄存器在裝入事件后發(fā) 出中斷請求,兩種原因引起的中斷請求可通過查詢狀態(tài)寄存器IOS1而鑒別:如果FIFO 存儲區(qū)滿時,IOS1,6=1,反之,IOS1,6=0;如果保持寄存器內(nèi)有值時,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ù)跳變時即觸發(fā); ④方式3:每次跳變(正或負(fù))時即觸發(fā)。
跳變檢測器按HSIMODE寄存器規(guī)定的工作方式對HSI0~HSI3共4個通道的輸入 信號進(jìn)行監(jiān)視與檢測,并將有關(guān)引腳電平狀態(tài)的檢測結(jié)果送狀態(tài)寄存器HSISTATUS ,同時還將有關(guān)事件是否發(fā)生的信息送入FIFO單元。時間寄存器HSITIME的內(nèi)容為 事件發(fā)生時記錄下來的定時器T1的當(dāng)前值。
1.1硬件電路
圖1是由8098單片機(jī)組成的脈沖測量儀的電路原理圖。脈沖測量的結(jié)果由8個數(shù)碼管顯示,左 邊4個用于脈沖寬度(μs)的顯示,右邊4個用于脈沖周期(μs)的顯示。
脈沖測量儀的輸入端,即單片機(jī)的HSI0引腳與脈沖信號發(fā)生器的輸出端(Vout)連接 ,單片機(jī)的Vss與脈沖信號發(fā)生器的GND相連。
1.2軟件設(shè)計
整個軟件由兩大部分組成:主程序和HSI位0中斷服務(wù)程序。主程序如下:
HSI位0中斷服務(wù)程序的框圖如圖2所示。
1.2軟件設(shè)計
整個軟件由兩大部分組成:主程序和HSI位0中斷服務(wù)程序。主程序如下:
HSI位0中斷服務(wù)程序的框圖如圖2所示。
系統(tǒng)中有一個16位的看門狗(WDT)硬件定時電路,當(dāng)系統(tǒng)復(fù)位時,WDT停止工作,可在軟件中 設(shè)定WDT清零指令,當(dāng)軟件運行時即起動WDT,如果軟件有故障時,會造成WDT溢出而復(fù)位, 從而防止程序跑飛。另外,單片機(jī)的電源采用了隔離變壓器和低通濾波網(wǎng)絡(luò)。在單 片機(jī)的復(fù)位電路中,為防止毛刺和雜波的干擾,在其RESET引腳與地之間,接入了一個提高 抗干擾能力的容值很小的電容。同時,8098單片機(jī)為提高供電的可靠性,其Vpd還單 獨接到一個+5V的電池上,一旦+Vcc消失時,可以起到掉電保護(hù)的作用。
本系統(tǒng)經(jīng)過使用,具有穩(wěn)定、可靠、精度高、測量速度快等特點。在硬件上不需作改變,只 是將脈沖發(fā)生器的輸出Vout同時接到單片機(jī)的HSI0和HSI1,再運行相應(yīng)的程序即 可對連續(xù)發(fā)生的兩個事件在時間間隔(如窄脈沖)很短時的連續(xù)脈沖使用多通道法進(jìn)行測量。
評論