新聞中心

        EEPW首頁 > 消費電子 > 設計應用 > 采用視頻的無線激光定位設備的設計

        采用視頻的無線激光定位設備的設計

        作者: 時間:2008-05-22 來源:無憂電子開發網 收藏

          由于攝像頭采用隔行掃描方式,兩場構成一幀畫面,奇數場掃奇數行,偶數場掃偶數行,所以此時得到的場坐標與實際值之間有較大誤差。為了提高精度,需要確定當前掃描的是奇數場還是偶數場。如果場計數器中的值為n,LM1881的奇偶場標志腳輸出0,則表明當前掃描的是偶數場,光點實際應在第2n行;若輸出1,表明掃描的是奇數場,光點實際應在第2n-1行。

        本文引用地址:http://www.104case.com/article/82920.htm

          3.單片機串口通信流程

          在本系統中使用的單片機是陵陽SPCE061A,它的UART模塊提供了一個全雙工標準的通信口,用于與外設之間的串行通信。在使用SPEC061A的異步串行端口UART實現與PC通信時,由于SPEC061A的I/O電平和PC不一致,要采用一片MAX232進行電平轉換,MAX232的RXD和TXD分別接SPCE061A的IOB10(TX)和1OB7(RX)。

          根據RS-232的標準,SPCE061A單片機是按字節傳輸數據的。利用IOB口的特殊功能和UART IRQ中斷,可以同時完成UART接口數據的接收和發送。SPCE061A單片機串行通信幀結構為:1位啟動位,8位數據位,1位奇偶校驗位,1位停止位。使用UART模塊進行通信時,必須事先分別將管腳I0B7設置為輸入狀態,IOB10設置為輸出狀態。將波特率設置為9600b/s即可滿足本系統實時數據傳輸要求。

          初始化的代碼為:

          *P_IOB_Dir=0x0400;                            //IOB0~IOB7初始化為輸入,IOB10為輸出

                 *P_IOB_Attrib=0x0480;

                 *P_UART_BaudScalarHigh=0x05;          //波特率設置為9600bps

                 *P_UART_BaudScalarLow=0x00;

                 *P_UART_Command1=0x0000;                   //允許接收、發送

                 *P_UART_Command2=0x00C0;

          單片機數據發送程序代碼片段為:

                            Ret=*P_UART_Command2;       //檢查標志位,查看上次數據是否發送完畢

                            Ret="Ret"&0x0040;

                            while(Ret==0)                                    //若沒有等待繼續發送

                        {


                                   Ret=*P_UART_Command2;

                                   Ret="Ret"&0x0040;

                                   *P_Watchdog_Clear=C_WDTCLR;

                           }

                            m1=m&0x000f;                   //將16進制m1轉ASCLL碼傳送上位機

                            Hex_ASC(m1);

                           *P_UART_Data=m1;          

          4.PC機軟件設計

          在計算機接收端,由串口1接收單片機發來的數據,采用VB 6.0設計軟件程序,串行通訊利用MSCOMM控件實現[4]。MSCOMM能十分方便地開發出使用計算機串口的計算機通信程序。在本系統中MSCOMM控件采用事件驅動方式從端口獲取數據,軟件處理流程為:打開串口開始接收單片機發送來的數據,首先判斷數據幀的開始字節,是則關閉OnComm接收事件,然后接收數據字節,判斷數據最大最小值,采用坐標轉化算法將接收的坐標轉化為屏幕坐標,最后打開OnComm接收事件,等待下一次OnComm事件產生。

          Windows SDK中函數SetCursorPos()可以實現將鼠標光標顯示在投影大屏幕上的點處,該函數帶有兩個參數x和y,表示鼠標在屏幕上的坐標。函數mouse_event()可以模擬一次鼠標事件,例如可用如下命令模擬左鍵單擊:mouse_event MOUSEEVENTF_LEFTDOWN Or MOUSEEVENTF_LEFTUP, 0, 0, 0, 0。這樣就實現了利用筆光點控制目標大屏幕的鼠標指針定位,移動和單雙擊。

          5.結束語

          試驗表明,裝備設計合理,滿足設計技術指標要求,工作穩定可靠,且具有較強的可擴充性,只需做少許改動即可適應用戶更高的要求,若要求進一步提高光標定位的精度,可選擇更高的晶振作為行計數器脈沖的輸入,必要時對計數器加以擴展。這相當于將像素點加以細化,因而精度提高。

          本裝置是配合計算機,投影儀而用于產品演示、電化教學及學術會議等場合的理想演示用工具。經過改裝后,還可用于警員、軍隊槍械的模擬訓練,有著廣闊的應用前景。

          參考文獻:

          [1]. 俞斯樂等編著.電視原理 (第五版).北京: 國防工業出版社,2000

          [2]. LM1881, LM1881-X Video Sync Separator General Description. National Semiconductor, June 2003


          [3]. 胡敦輝等. 采用方式的點坐標測量方法[J]. 電子技術應用,2003,(3):33-35www.51kaifa.com

          [4]. 李光明等. 用VB實現S7-300 PLC與PC機的普通串口通信[J].微計算機信息,2005, (09):38-40


        上一頁 1 2 下一頁

        關鍵詞: 無線 視頻 激光 CCD

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 巨鹿县| 伊川县| 岢岚县| 凌海市| 黄浦区| 富川| 简阳市| 特克斯县| 新郑市| 绥阳县| 景泰县| 调兵山市| 比如县| 绥芬河市| 南召县| 甘肃省| 迁安市| 乃东县| 吉首市| 丽水市| 北宁市| 台江县| 孝感市| 衡阳市| 宜阳县| 乌审旗| 尚志市| 福贡县| 常宁市| 民乐县| 田林县| 门头沟区| 龙川县| 清河县| 项城市| 北海市| 东光县| 平定县| 东丰县| 辽源市| 漠河县|