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