新聞中心

        EEPW首頁 > 測試測量 > 設計應用 > 基于虛擬儀器的濁度測試系統的設計

        基于虛擬儀器的濁度測試系統的設計

        作者: 時間:2009-11-06 來源:網絡 收藏

        1.1.2 傳感和模擬信號處理電路
        光電轉換元件采用的是TCZ 6×6型硅光電池,此種型號硅光電池的光電特性,其短路電流與入射光強有良好的線性關系。但是其轉換信號僅為10-7A數量級,必須進行放大處理,因此,在電路設計中采用了輸入阻抗高的運算放大器LF353來獲取電流信號,并進行濾波放大處理。如圖2所示。

        1.2 C8051F020與的實現
        串口通信雖然傳輸速度較慢,但是由于簡單易行,并且現有的微機都具備串行通信口,因而得到了廣泛的應用。本文在濁度中利用串口實現了對單片機的通信控制。
        1.2.1 系統硬件配置
        本文通信系統采用C51F020作為下位機,PC機作為上位機,二者通過RS 232串口接收或發送數據和指令。傳輸介質為二芯屏蔽電纜。RS 232信號和單片機串口信號的電平轉換采用MAX232,它是具有雙驅動器、雙接收器的通信器接口電路,不需外接電容而進行倍壓及電壓極性轉換,只需+5 V供電,電源電流為5 mA,傳輸率為200 Kb/s。串行接口電路原理見圖3。

        系統中PC機承擔主控任務,負責該測控系統的通信參數設定、數據的采集處理及對單片機運行的控制,程序采用LabVIEW編寫。其通信協議為:采用RS 232異步通信方式,51單片機串行口共有4種工作方式,這里采用單片機串口通信的方式1,該方式為8位異步串行通信方式,其波特率是可變的,1位起始位,8位數據位,1位停止位,無奇偶校驗,若晶振頻率為11.059 2 MHz,取波特率為4 800 Kb/s。下位機按接收到的指令工作,若主控機發出無效或錯誤指令,將不作任何控制。
        1.2.2 程序設計
        主機通信程序:在主機通信程序設計中,采用圖形化語言LabVIEW作為編程語言。它把高級語言中的函數封裝為圖形功能模塊,圖標間的連線表示各個功能模塊之間的數據傳遞。編程方式簡單、直觀、便于使用。串口通信功能模塊包括串口初始化模塊、串口讀模塊以及串口寫模塊,通過這些模塊就可以實現對單片機的控制。
        LabVIEW串口子VI是通過RS 232實現數據通信的。LabVIEW串口子VI共有5個串行通信節點,分別實現串口初始化、串口寫、串口讀、檢測串口緩存、中斷等功能。
        C8051F020單片機的程序采用匯編語言寫成。利用匯編語言直接對相關硬件進行操作,具有開銷小、效率高的特點。在編寫單片機程序時應當注意的是必須保證PC機與單片機串口通信時的波特率一致。如果兩者不同的話,就無法進行數據的傳輸而導致通信失敗。所以,在單片機程序中初始化時應當根據單片機晶振和串口通信方式對寄存器進行設置。


        2 軟件開發
        該系統由C8051F單片機、ADC0809 A/D轉換器組成的小系統作為前端數據采集系統,并通過RS 232串行總線將采集到的數據傳送到PC機,用Lab-VIEW進行數據的接受與處理。其結構組成如圖4所示。

        2.1 菜單設計
        在整個程序設計中,首先完成了各子功能(子VI)的程序,將其做成單個模塊,每個單個模塊是由更小的模塊組成,每一級的模塊均刻以圖標形式放置在程序流程圖中,這樣增加了程序的可維護性和可讀性,使流程圖更加清晰明了,同時避免了大量重復編程工作。系統的主界面設計中,利用LabVIEW中提供的EDITMENU菜單,先將要實現的功能作為菜單選項的內容,以便在運行時調用,然后在框圖中對各項菜單的調用通過CASE循環進行選擇,使各項菜單對應于各項子VI,在各子VI中vi set up的execution options中選定show front panel when called選項,這樣在運行中,當選擇了菜單中的某些內容時,該子VI就被選中調用。圖5為菜單后面板程序設計流程圖。菜單中包括文件操作(讀取、存儲、打印)通道顯示和信號分析以及幫助,程序分別調用相應功能的子VI程序,完成相應操作。下面簡要介紹本采集程序中采用的幾個典型模塊。

        2.2 數據采集模塊設計
        本設計采用VISA編寫儀器控制程序,程序在運行時VISA就會根據實際接口類型自動調用相應的接口驅動程序例程,完成通信操作。串口通信模塊包括串口初始化模塊、串口寫模塊、串口讀模塊,通過這些模塊就可以實現對單片機的控制。圖5為串口設置后面板程序框圖。如圖5所示,主程序運行后,設置串口波特率為9 600,通道選著串口1,采用默認通信協議(1位起始位、8位數據位、1位停止位),串口緩存大小設置為16 368 B。



        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 乐业县| 曲周县| 武城县| 定安县| 昭苏县| 长丰县| 西宁市| 连山| 平乡县| 宜阳县| 湖南省| 高密市| 万安县| 宣恩县| 岱山县| 桂林市| 南通市| 沿河| 商水县| 客服| 怀集县| 临安市| 宕昌县| 泰州市| 通海县| 林西县| 益阳市| 海晏县| 和林格尔县| 天门市| 兴仁县| 张北县| 新兴县| 井研县| 大方县| 偃师市| 镇平县| 宣恩县| 普格县| 雷山县| 贵港市|