新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > 基于凌陽單片機SPCE061A的紅外泵液器的設計

        基于凌陽單片機SPCE061A的紅外泵液器的設計

        作者: 時間:2010-09-18 來源:網絡 收藏

          O 引言

          通常用于完成“伸手出水,縮手停水”功能,一般可提供手動和自動兩種泵液模式,同時具有低電壓檢測報警以及使用完畢后語音提示等功能。在工作時,一般首先通過傳感器將伸手出水動作轉換成電信號,并通過發射二極管發出紅外光去控制受控裝置中的紅外接收二極管,再利用光照強弱來改變電路中的電流。當伸出手時,接收部分收到的紅外線強度降低,轉換的電流強度減弱,拿開手時,紅外直射到光敏管上,輸出電流增強;之后的第二步,再將電流信號的強弱轉換為能被SPCE06lA識別的高低電平。由此需要電路具有流控電壓源的功能,高電平約為5V,低電平為0V,為此,可采用雙極性三極管的共射極接法來實現;第三步,則是通過對高低電壓信號的判斷來輸出控制信號,并將控制信號輸出給電機,再通過電機控制水泵。這部分主要是對IOB2的中斷檢測,伸手時紅外線被擋住,三極管截止,IOB2得到高電平,即利用IOB2的上升沿中斷申請功能(或者使用查詢方法)來向SPCE06lA提出放水的中斷請求。

          通過以上三個操作步驟,僅僅可以基本完成設計功能,而本文對上述傳統設計的改進之處有以下三點:

          (1)使用1*3鍵盤提供自動與手動切換。在自動模式下,手伸到儀器出水,手離開停止;手動模式下,按下2鍵出水,按3鍵停止。

          (2)改進了工作指示燈電路模塊。當電路處于工作狀態時,指示燈亮。

          (3)改進了語音播報,由于SPCE061A集成了2個10位DAC(數一模轉換)模塊,因此,利用這部分資源可以方便地實現數字到模擬信號的轉換,從而使人機交互更友好,同時也可以表明當前系統的工作狀態。

          1 紅外的硬件設計

          本系統的工作組成原理如圖1所示。

        本系統的工作組成原理

          本方案采用凌陽SPCE061A單片機。并選用GR4010l紅外發射二極管作為紅外發射器件.GDl6ll硅PIN型光敏二極管作為紅外接收器件。微型電機選用QDB一30—3.0作為泵液器的驅動。紅外傳感部分可用來檢測是否有人需要使用泵液器,它分為紅外發射和紅外接收兩部分。紅外發射管采用GR40101,主要通過IOB8輸出一定頻率的脈沖來控制紅外發射管的發射頻率。紅外接收管則采用GD1611,可利用IOB2的外部中斷功能來進行檢測。語音播報部分采用SPCE061A內部的DACl輸出信號到語音電路,再使用A2000格式放音。本系統提供3個按鍵,可用來設定出液量、自動、手動泵液等,他們占用SPCE06lA的IOA0—2共3根I/O線。系統選用微型電機來作為泵液的驅動,電機的控制是由一個三極管作為電子開關完成的。可通過IOB4控制三極管,從而控制電機。利用SPCE061A內部的LVD單元可以完成低電壓檢測,而不需要外接其它組件。此外,系統還提供了一個發光二極管作為工作指示燈,并可用IOA5來控制。

          圖2所示是系統的控制電路原理圖。電路中,SPCE061A為主控制芯片,IOA5控制工作指示燈。當系統接上電源時,可通過過程控制IOA5輸出高電平,工作指示燈一直亮著。1*3鍵盤的功能是分別設定自動與手動模式的切換、手動下出水、手動下停水,其占用IOA0-2三個端口。當第一次按下1鍵時,默認為自動模式,即當手伸到儀器時,IOB2口接收不到IOB8口發射出來的紅外控制信號,則單片機控制IOA4口并控制電機轉動泵水,當手離開時,IOB2口接收到紅外信號,控制電機停止出水。當再次按下1鍵,則切換到手動模式,這時按下2鍵開始出水,按3鍵停止出水。當電機由轉動轉變為停止時,單片機控制DACl口播放“謝謝”。當電壓低于開始設定的電壓值時,系統播放聲音報警。

        系統的控制電路原理圖

          圖2中,SPCE06lA的IOB2口用于檢測接收信號(該信號的兩種狀態高低電平表明伸手縮手動作),IOB8口用于控制紅外發射,IOA4控制微電機,IOA5是工作指示燈,IOA0—2可控制1*3鍵盤,IOA9口是低壓檢測,DACl口接語音播報。引腳12、13是振蕩器的輸出和輸入,引腳16、17、18分別接在線調試器的使能端、時鐘腳和數據腳。

          2 紅外泵液器的軟件設計

          根據設計的功能以及硬件電路,本系統的軟件部分共需要如下幾部分控制程序:

          第一是發射紅外信號。由紅外發射二極管GR40101可知,SPCE06lA單片機的IOB8應輸出固定頻率的脈沖,以激勵器件發射紅外線,因此程序首先需要完成此項功能。實際的程序應通過SPCE061A單片機內部的計時中斷產生8 kHz的脈沖。具體的操作是通過SPCE061A單片機工作的晶振頻率來計算經過多少分頻才能將頻率降低至8 kHz,由此得到計數值并將計數值填入計數器,同時對相應中斷寄存器進行設置。然后在計時中斷的中斷服務子程序中通過語句IOB8=!IOB8來控制該IO口以輸出8 kHz的方波。

          其次是紅外信號的接收處理。在硬件部分已經說明,本裝置在伸手時,IOB2將出現高電平,其它情況該引腳輸出為低電平,由此可通過IOB2的中斷功能實現對高電平的檢測,當IOB2出現上升沿時,表明此時伸手,系統進入IOB2的中斷服務程序,該中斷服務程序可完成控制水泵和指示燈的功能。

          再就是鍵盤掃描程序。可采用查詢方法循環檢測是否有鍵按下,當檢測到按鍵端口有低電平時,便進入相應的處理程序,其中管理自動手動模式的按鍵是通過這樣的方法實現的,即每次有鍵按下,標志位變化,原來為0就置位,為1就清零,從而控制手動和自動的選擇。其它的按鍵進入按鍵處理程序后作相應的處理,同時啟動語音輸出等。

          圖3所示是本系統的軟件流程圖。首先是系統的初始化,然后是各個IO端口的初始化,最后執行系統任務。主任務的流程是IOA0-2口都處于高電平,當按下哪個鍵時,哪個端口變為低電平,然后檢測IOA0—2端口的電平值,如果發現有端口變為低電平,則把信息送到主任務那邊的等待鍵盤信息,當人使用完后結束,系統返回上面一層,繼續等待鍵盤信息;如果發現鍵盤的各端口都是高電平,沒有變為低電平的端口,則返回,然后繼續鍵盤掃描任務。

        本系統的軟件流程圖

          3 結束語

          本文給出了一種由凌陽公司生產的單片機芯片SPCE061A控制的紅外泵液器的改進設計方法。經改進后的泵液器增加了手動和自動模式轉換、低電壓檢測報警以及使用完畢后語音提示等三項功能。實測證明:該裝置還具有抗干擾能力強,無誤操作且省電節能等特點。



        關鍵詞: 紅外 泵液器 單片機

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 武乡县| 象州县| 独山县| 木里| 马公市| 鄱阳县| 临猗县| 全南县| 通城县| 江北区| 安龙县| 施甸县| 陇南市| 咸丰县| 丹寨县| 钟祥市| 扬州市| 时尚| 石泉县| 泸溪县| 柘荣县| 常州市| 吕梁市| 泾阳县| 吉安市| 陆良县| 稷山县| 秭归县| 合阳县| 东丰县| 昭平县| 库尔勒市| 襄城县| 喀喇| 扶余县| 克山县| 汤原县| 都昌县| 枞阳县| 太和县| 金坛市|