亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        共焦掃描成像系統(tǒng)中串口通信的C#實(shí)現(xiàn)*

        2011-05-28 03:32:34
        關(guān)鍵詞:按鈕設(shè)置計(jì)算機(jī)

        林 睿

        (重慶工商大學(xué)計(jì)算機(jī)科學(xué)與信息工程學(xué)院,重慶 400067)

        共焦掃描成像因?yàn)闄M向分辨率比普通顯微系統(tǒng)高并且具有良好的光學(xué)層析能力,在三維顯微成像中具有獨(dú)特優(yōu)勢(shì),因此在現(xiàn)代醫(yī)學(xué)、材料學(xué)、生物學(xué)和半導(dǎo)體芯片檢測(cè)等亞微米技術(shù)領(lǐng)域有著廣泛的應(yīng)用[1-5]。在研制共焦掃描成像系統(tǒng)中,對(duì)圖像信號(hào)進(jìn)行采集并傳輸?shù)接?jì)算機(jī)中進(jìn)行處理是一項(xiàng)關(guān)鍵技術(shù),由于系統(tǒng)中采集的是靜態(tài)圖像[2],數(shù)據(jù)處理量不是很高,因而可以采用串行通信作為數(shù)據(jù)傳輸通信方式[3]。

        在Windows環(huán)境下開(kāi)發(fā)串行通信程序[6]可以利用Windows API通信函數(shù)或者利用第三方編寫(xiě)的串口類(lèi)或者利用串口通信組件,如ActiveX控件MSComm。隨著.Net Framework的普及,通過(guò).Net Framework平臺(tái)進(jìn)行串口設(shè)備開(kāi)發(fā)在軟件升級(jí)過(guò)程中起著越來(lái)越重要的作用。基于.Net Framework的Visual CJHJ 2008的串口類(lèi)(SerialPort類(lèi))[7]方便地實(shí)現(xiàn)了串口通訊所需要的多種功能,能賦予串口通信程序設(shè)計(jì)較大的靈活性,是今后串口通信的一個(gè)重要發(fā)展方向。提出了一種利用CJHJ中的SerialPort類(lèi)進(jìn)行RS232串口通信的方法,以完成對(duì)共焦成像系統(tǒng)的軟件升級(jí)。

        1 共焦掃描成像系統(tǒng)

        1.1 共焦掃描成像原理[4]

        共焦掃描成像系統(tǒng)(圖1)利用放置在光源后的照明針孔和放置在探測(cè)器前的探測(cè)針孔實(shí)現(xiàn)點(diǎn)照明和點(diǎn)探測(cè),來(lái)自光源的光通過(guò)照明針孔發(fā)射出的光聚焦在樣品焦平面的某個(gè)點(diǎn)上,該點(diǎn)所發(fā)射的熒光成像在探測(cè)針孔上,照明針孔與探測(cè)針孔對(duì)被照射點(diǎn)或被探測(cè)點(diǎn)來(lái)說(shuō)是共軛的,因此被探測(cè)點(diǎn)即共焦點(diǎn),被探測(cè)點(diǎn)所在的平面即共焦平面。如果被探測(cè)點(diǎn)不在焦點(diǎn),那么該點(diǎn)所發(fā)射的熒光成像在針孔的前面或后面某個(gè)位置,而在針孔所在的探測(cè)面上僅僅形成彌散斑,此時(shí)通過(guò)針孔為探測(cè)器探測(cè)到的光能量很少,也就是說(shuō)非焦點(diǎn)信號(hào)強(qiáng)度遠(yuǎn)遠(yuǎn)低于焦點(diǎn)信號(hào)強(qiáng)度。在共焦掃描成像中,只有一個(gè)物點(diǎn)參與成像,排除了臨近物點(diǎn)的影響,因此分辨率可以突破瑞利衍射極限。計(jì)算機(jī)以像點(diǎn)的方式將被探測(cè)點(diǎn)顯示在計(jì)算機(jī)屏幕上,為了產(chǎn)生一幅完整的圖像,由光路中的掃描系統(tǒng)在樣品焦平面上掃描(X-Y掃描),從而產(chǎn)生一幅完整的共焦圖像。只要載物臺(tái)沿著Z軸上下移動(dòng),將樣品新的一個(gè)層面移動(dòng)到共焦平面上,樣品的新層面又成像在顯示器上,隨著Z軸的不斷移動(dòng),就可得到樣品不同層面連續(xù)的光切圖像。

        圖1 共焦掃描成像系統(tǒng)

        1.2 系統(tǒng)基本結(jié)構(gòu)

        共焦掃描成像系統(tǒng)結(jié)構(gòu)[4,5]如圖1所示,系統(tǒng)由光學(xué)系統(tǒng)、圖像數(shù)據(jù)采集與傳輸系統(tǒng)、系統(tǒng)掃描控制單元和計(jì)算機(jī)組成。光學(xué)系統(tǒng)主要由激光器、成像(聚光)透鏡、光電倍增管PMT組成。圖像數(shù)據(jù)采集和傳輸系統(tǒng)由計(jì)算機(jī)(上位機(jī))和單片機(jī)(MCU)系統(tǒng)(下位機(jī))組成。系統(tǒng)掃描控制單元利用單片機(jī)(MCU)驅(qū)動(dòng)步進(jìn)電機(jī)帶動(dòng)載物臺(tái)沿預(yù)定軌跡運(yùn)動(dòng),實(shí)現(xiàn)逐點(diǎn)掃描。計(jì)算機(jī)(上位機(jī))通過(guò)RS232串口即DB9串口實(shí)現(xiàn)對(duì)下位機(jī)(MCU)的控制及圖像數(shù)據(jù)的后期處理。

        2 RS232串口通信系統(tǒng)及CJHJ中的串口類(lèi)

        確保計(jì)算機(jī)與單片機(jī)之間具有優(yōu)良的數(shù)據(jù)傳輸通道,對(duì)于整個(gè)共焦掃描成像系統(tǒng)快速獲得物平面高質(zhì)量的圖像至關(guān)重要,因此采用成熟的RS232串口技術(shù)可確保數(shù)據(jù)傳輸?shù)恼_性和可靠性。而在串口通信軟件升級(jí)中采用Visual CJHJ 2008的SerialPort類(lèi)進(jìn)行通信軟件開(kāi)發(fā),因?yàn)镾erialPort類(lèi)封裝了使用RS232開(kāi)發(fā)串口通信軟件的細(xì)節(jié),做到了.Net Framework與串口設(shè)備的無(wú)縫連接,因而能實(shí)現(xiàn)串口讀寫(xiě)數(shù)據(jù)的可靠性,保證了通信的正確性和可靠性。

        2.1 RS232串口的信號(hào)線定義及連接方法[6]

        串行通信接口標(biāo)準(zhǔn)經(jīng)過(guò)使用和發(fā)展,目前已經(jīng)有多種,但都是在RS232標(biāo)準(zhǔn)的基礎(chǔ)上經(jīng)過(guò)改進(jìn)而形成的。RS232通信協(xié)議適合于數(shù)據(jù)傳輸速率在0~200 00 bit/s范圍內(nèi)的通信。由于RS232并未定義連接器的物理特性,因此,出現(xiàn)了DB25(25針)、DB15(15針)和DB9(9針)為主的各種類(lèi)型的連接器。目前,個(gè)人計(jì)算機(jī)中多以DB9為主要的串行通信接口,因而在共焦掃描成像系統(tǒng)中考慮以DB9為主進(jìn)行串口通信開(kāi)發(fā)。

        RS232通信協(xié)議是DTE(數(shù)據(jù)終端設(shè)備)和DCE(數(shù)據(jù)通信設(shè)備)之間的一個(gè)接口協(xié)議,RS232標(biāo)準(zhǔn)指出DTE應(yīng)該擁有一個(gè)插頭(針輸出),DCE擁有一個(gè)插座(孔輸出)。目前的個(gè)人計(jì)算機(jī)的DB9串口為一個(gè)9針插頭(圖2)。各針腳功能分別為:DCD——數(shù)據(jù)載波檢測(cè);RxD——串口數(shù)據(jù)輸入;TxD——串口數(shù)據(jù)輸出;DTR——數(shù)據(jù)終端就緒;SG——信號(hào)地;DSR——數(shù)據(jù)發(fā)送就緒;RTS——發(fā)送數(shù)據(jù)請(qǐng)求;CTS——清除發(fā)送;RI——振鈴指示。

        在通信速率低于20 kb/s時(shí),RS232所直接連接的最大物理距離為15 m。通信雙方可以直接連接,這種情況下,只需使用少數(shù)幾根信號(hào)線。最簡(jiǎn)單的情況,在通信中根本不需要RS232的控制聯(lián)絡(luò)信號(hào),只需3根線(發(fā)送線、接收線、信號(hào)地線)便可實(shí)現(xiàn)全雙工異步串行通信,如圖3(a)所示。用跳線使串口的第2、3針連接,可以在本地計(jì)算機(jī)上實(shí)現(xiàn)串口通信,所以,通過(guò)串口的第2、3針的連接可以對(duì)程序進(jìn)行檢測(cè),如圖3(b)所示。

        2.2 CJHJ中的串口類(lèi) SerialPort[7]

        Visual CJHJ 2008類(lèi)庫(kù)包含了SerialPort類(lèi),可以方便地實(shí)現(xiàn)所需要串口通訊的多種功能,基本技術(shù)為:(1)命名空間。System.IO.Ports命名空間包含了控制串口重要的SerialPort類(lèi),該類(lèi)提供了同步 I/O和事件驅(qū)動(dòng)的I/O、對(duì)管腳和中斷狀態(tài)的訪問(wèn)以及對(duì)串行驅(qū)動(dòng)程序?qū)傩缘脑L問(wèn),所以在程序代碼起始位置需加入 Using System.IO.Ports。

        (2)串口的通訊參數(shù)。串口通訊最常用的參數(shù)就是通訊端口號(hào)及通訊格式即:波特率、數(shù)據(jù)位長(zhǎng)度、停止位和校驗(yàn)位。

        a.通訊端口號(hào)。在SerialPort類(lèi)中用PortName屬性獲取或設(shè)置通信端口,包括但不限于所有可用的COM端口,該屬性返回類(lèi)型為String,通常情況下,PortName正常返回的值為COM1、COM2等,SerialPort類(lèi)最大支持的端口數(shù)多于16,方便了用戶串口設(shè)備的配置。

        b.通訊格式。SerialPort類(lèi)對(duì)分別用BaudRate、DataBits、Parity、StopBits屬性設(shè)置通訊格式中的波特率、數(shù)據(jù)位長(zhǎng)度、奇偶校驗(yàn)檢查協(xié)議和停止位。BaudRate和DataBits是整型int數(shù)據(jù),BaudRate屬性的默認(rèn)值為9600 bps。DataBits屬性的值范圍是從5到8,默認(rèn)值為8。Parity和StopBits是枚舉類(lèi)型數(shù)據(jù),Parity類(lèi)型中枚舉了Odd、Even、Mark、None、Space,默認(rèn)值為 None;StopBits枚舉了 None、One、OnePointFive、Two,默認(rèn)值為 One。

        (3)串口的操作。

        a.通信端口號(hào)的獲取。SerialPort類(lèi)中用GetPortNames()方法獲取當(dāng)前計(jì)算機(jī)的串行端口名稱(chēng)數(shù)組。

        b.串口的打開(kāi)和關(guān)閉。SerialPort類(lèi)中用Open()和Close()方法就可以實(shí)現(xiàn)串口的打開(kāi)和關(guān)閉。

        c.串口數(shù)據(jù)的發(fā)送和的讀取。SerialPort類(lèi)中調(diào)用重載的Write()和WriteLine()方法發(fā)送數(shù)據(jù)。WriteLine()可發(fā)送字符串并在字符串末尾加入換行符。而用ReadLine()則可以一直讀取到輸入緩沖區(qū)中的NewLine值,屬性NewLine定義ReadLine和WriteLine方法的行尾,默認(rèn)為換行符。

        事件。從SerialPort對(duì)象接收數(shù)據(jù)時(shí),將在輔助線程上引發(fā)Data

        事件。串行接收事件可以由SerialData枚舉中的任何項(xiàng)引起,SerialData枚舉類(lèi)型有兩個(gè)值為Chars(表示接收到了一個(gè)字符并將其放入了輸入緩沖區(qū))和Eof(表示接收到了文件結(jié)束字符并將其放入了輸入緩沖區(qū))。DataReceived事件還可以由接收到了由屬性ReceivedBytesThreshold設(shè)置的輸入緩沖區(qū)中的字節(jié)數(shù)引發(fā)。

        BytesThreshold屬性用于獲取或設(shè)置DataReceived事件發(fā)生前內(nèi)部輸入緩沖區(qū)中的字節(jié)數(shù)。

        (5)串口對(duì)象的初始化。SerialPort類(lèi)提供了七個(gè)重載的構(gòu)造函數(shù),既可以對(duì)已經(jīng)實(shí)例化的SerialPort對(duì)象設(shè)置上述相關(guān)屬性的值,也可以使用構(gòu)造函數(shù)SerialPort(String,Int32,Parity,Int32,StopBits)指定的端口名稱(chēng)、波特率、奇偶校驗(yàn)位、數(shù)據(jù)位和停止位初始化SerialPort類(lèi)的新實(shí)例。

        3 CJHJ中串口通訊的實(shí)現(xiàn)

        3.1 軟件的設(shè)計(jì)

        串口通訊的工作流程是:首先配置串口參數(shù),再打開(kāi)串口;然后接收和發(fā)送數(shù)據(jù),最后關(guān)閉串口。

        在Visual CJHJ 2008環(huán)境下,建立實(shí)現(xiàn)本機(jī)串口通信測(cè)試的主窗體Form1,如圖4(a)所示。依照串口通訊的工作流程,窗體上依次放置5個(gè)按鈕分別是配置串口、打開(kāi)串口、發(fā)送信息、接收信息和關(guān)閉串口,其中打開(kāi)串口、發(fā)送信息、接收信息按鈕的Enabled屬性設(shè)置為false,隨著配置串口按鈕的點(diǎn)擊依次將其Enabled屬性設(shè)置為true。窗體上放置兩個(gè)文本編輯框textBox1和textBox2,分別顯示用于發(fā)送和接收到信息的內(nèi)容。

        串口參數(shù)的設(shè)置在子窗體Form2中進(jìn)行,在配置串口按鈕點(diǎn)擊后,子窗體彈出,如圖4(b)所示。子窗體Form2上放置3個(gè)組合框ComboBox分別設(shè)置可用串口、標(biāo)準(zhǔn)停止位和奇偶效驗(yàn)。其中可用串口的下拉列表的值可在Form2顯示時(shí)的事件中添加如下代碼獲得:

        圖4 C#串口通信測(cè)試軟件界面

        ComboBox1.Items.AddRange(System.IO.Ports.SerialPort.GetPortNames());

        為了能將子窗體Form2上的串口參數(shù)傳到主窗體Form1上,需要在Form1的類(lèi)定義處添加5個(gè)公有靜態(tài)變量ComName、BaudRate、BitLength、PARITY、STOPBIT分別存放端口名稱(chēng)、波特率、數(shù)據(jù)位、奇偶校驗(yàn)位和停止位的參數(shù)值。在子窗體Form2上的設(shè)置完成按鈕的Click事件中添加以下代碼:

        這樣即可對(duì)主窗體Form1中的串口對(duì)象進(jìn)行設(shè)置。

        3.2 功能模塊的實(shí)現(xiàn)

        (1)打開(kāi)串口。在主窗體Form1的類(lèi)中的串口對(duì)象SerialPort1定義為:

        System.IO.Ports.SerialPort SerialPort1=new SerialPort();

        在打開(kāi)串口按鈕的Click事件中添加以下代碼:

        (2)發(fā)送信息。當(dāng)發(fā)送信息按鈕激活后,在主窗體的文本編輯框textBox1中輸入要發(fā)送的信息,再點(diǎn)擊發(fā)送信息按鈕完成信息向串口的發(fā)送,其Click事件代碼如下:

        private void SendMessage_Click(object sender,EventArgs e)

        {SerialPort1.WriteLine(textBox1.Text);//發(fā)送一行信息到串口

        ReadMessage.Enabled=true;}//激活接收信息按鈕

        (3)接收信息。當(dāng)接收信息按鈕激活后,點(diǎn)擊該按鈕,將已送到串口的信息讀取到主窗體的textBox2中進(jìn)行顯示,其Click事件代碼如下:

        (4)關(guān)閉串口。關(guān)閉串口的代碼非常簡(jiǎn)單,只需要執(zhí)行SerialPort1.Close()即可。

        4 結(jié)論

        在Visual C#2008中開(kāi)發(fā)的串口通信測(cè)試軟件能成功地實(shí)現(xiàn)串口通信,表明提出的利用CJHJ實(shí)現(xiàn)共焦掃描成像系統(tǒng)的串口通信是一個(gè)可行的方案,因而利用CJHJ對(duì)共焦掃描成像系統(tǒng)進(jìn)行軟件升級(jí)是可行的。

        [1]楊莉松,王桂英,王建崗,等.共焦掃描成像研究[J].中國(guó)激光,1999,26(10):931-934

        [2]唐志列,梁瑞生,朱小松,等.偏振共焦掃描激光顯微鏡的成像特性研究[J].光學(xué)學(xué)報(bào),1999,19(8):1118-1122

        [3]蔡振治,遲澤英,陳文建,等.RS-232串口通信技術(shù)在光纖共焦掃描顯微成像系統(tǒng)中的應(yīng)用[J].光電子技術(shù)與信息,2004,17(4):58-62

        [4]BRAKENHOFF G J.激光共焦顯微成像的最新進(jìn)展及其在生命科學(xué)研究中的應(yīng)用[J].生命科學(xué),2009,21(2):191-197

        [5]李海燕,張琢,浦昭邦,等.共焦顯微掃描探測(cè)技術(shù)的發(fā)展[J].光學(xué)技術(shù),2008,34(1):94-97

        [6]李現(xiàn)勇.Visual C++串口通信技術(shù)與工程實(shí)踐[M].北京:人民郵電出版社,2002

        猜你喜歡
        按鈕設(shè)置計(jì)算機(jī)
        哪個(gè)是門(mén)鈴真正的按鈕
        當(dāng)你面前有個(gè)按鈕
        計(jì)算機(jī)操作系統(tǒng)
        中隊(duì)崗位該如何設(shè)置
        基于計(jì)算機(jī)自然語(yǔ)言處理的機(jī)器翻譯技術(shù)應(yīng)用與簡(jiǎn)介
        科技傳播(2019年22期)2020-01-14 03:06:34
        信息系統(tǒng)審計(jì)中計(jì)算機(jī)審計(jì)的應(yīng)用
        本刊欄目設(shè)置說(shuō)明
        中俄臨床醫(yī)學(xué)專(zhuān)業(yè)課程設(shè)置的比較與思考
        內(nèi)心不能碰的按鈕
        Fresnel衍射的計(jì)算機(jī)模擬演示
        久久国产亚洲av高清色| 免费人成视频x8x8| 最新国产午夜福利| 午夜男女视频一区二区三区| 户外精品一区二区三区| 少妇厨房愉情理伦bd在线观看| 婷婷综合久久中文字幕蜜桃三电影| jk制服黑色丝袜喷水视频国产| 日韩不卡一区二区三区色图| 国产精品无码人妻在线| 18禁美女裸身无遮挡免费网站 | 久久青青草原亚洲AV无码麻豆| 亚洲美女av二区在线观看| 国产一区二区视频免费在线观看| 国语对白嫖老妇胖老太| 制服丝袜天堂国产日韩| 亚洲综合天堂一二三区| 国产丝袜美腿精品91在线看| 乱人伦中文无码视频在线观看| 国产精品玖玖玖在线资源| 国产一区二区三区精品成人爱 | 亚洲视频在线视频在线视频| 国产偷国产偷亚洲高清视频| 四虎影视免费观看高清视频| 中文字幕在线观看国产双飞高清| 久久精品国产亚洲av日韩精品 | 精品久久久久一区二区国产| 日美韩精品一区二区三区| 亚洲综合精品中文字幕| 国产色秀视频在线播放| a午夜国产一级黄片| 国产91精品在线观看| 国产精品v片在线观看不卡| 国产女人18一级毛片视频| 久久精品国产亚洲av蜜臀久久| 欧美性猛交aaaa片黑人| 久久久久国产一区二区三区| 2021最新久久久视精品爱| 亚洲av毛片在线免费看| 亚洲码国产精品高潮在线| 国产精品99精品一区二区三区∴ |