RSS    

   Курсовая работа: Применение автоматизированного адаптивного интерферометра для исследования наносмещений микрообъектов

4.  S. Di Girolamo, A.A.Kamshilin, R.V.Romashko, Yu.N.Kulchin, J.-C.Launay. Fast adaptive interferometer on dynamic reflection hologram in CdTe:V // Optics Express. – 2007. – Vol.15. – No.2. – P.545-555.

5.  М. П. Петров, С. И. Степанов, А. В. Хоменко. Фоточувствительные электрооптические среды в голографии и оптической обработке информации. – Л.: Наука Ленингр. отд.-ние. – 1983. – 269 с.

6.  A. Ashkin, G. D. Boyd, J. M. Dziedzic, R. G. Smith, A. A. Ballman, J. J. Levinstein, K. Nassau. Optically-induced refractive index inhomogeneities in LiNbO3 and LiTaO3 // Appl. Phys. Lett. – 1966. – V.9. – P.72.

7.  P. Gunter, J.-P. Huignard, eds. Photorefractive materials and their applications 2: Materials. – Springer Series in Optical Sciences. – 2007. – V.114. – 646 p.

8.  G. Zhang, D. Kip, D. D. Nolte, J. Xu, eds. OSA Trends in Optics and Photonics: Photorefractive Effects, Materials, and Devices. – 2005. – V.99.

9.  P. Delaye, C. Denz, L. Mager, G. Montemezzani, eds. OSA Trends in Optics and Photonics: Photorefractive Effects, Materials, and Devices. – 2003. – V.87.

10.   В. Л. Винецкий, Н. В. Кухтарев. Динамическая голография. – Киев: Наукова думка. – 1983. – 125 с.

11.   Di Girolamo S., Romashko R.V., Kulchin Y.N., Kamshilin A.A. Orthogonal geometry of wave interaction in a photorefractive crystal for linear phase demodulation // Opt. Commun. – 2010. - V.283. - P.128-131.

12.   R. V. Romashko, S. Di Girolamo, Y. N. Kulchin, and A. A. Kamshilin. Photorefractive vectorial wave mixingin different geometries// J. Opt. Soc. Am. -2010. -Vol. 27. No. 2. –P. 311-317.


Приложение

 

Программа «motor control for 8DCMC1»

Данная программа создана в среде MS Visual C++ 6.0 на базе класса MFC. Состоит из двух диалоговых окон: SERIALGATETEST_DIALOG и ABOUTBOX. Реализованы следующие функции:

1.  Взаимодействие с COM – портом компьютера. Чтение и запись информации в памяти контроллера 8DCMC1 по средствам интерфейса RS232. Эта функция реализована в виде отдельной библиотеки – SerialGate.dll.

2.  Аналог командной строки для управления шаговыми двигателями, содержащий поле ввода и поле вывода.

3.  Задание параметров работы шаговых двигателей (скорость, ускорение).

4.  2D-cканирование выбранного участка.

5.  Опрос АЦП, запись полученных данных в файл.


Листинг SerialGateTest.cpp:

#include "stdafx.h"

#include "SerialGateTest.h"

#include "SerialGateTestDlg.h"

#ifdef _DEBUG

#define new DEBUG_NEW

#undef THIS_FILE

static char THIS_FILE[] = __FILE__;

#endif

BEGIN_MESSAGE_MAP(CSerialGateTestApp, CWinApp)

//{{AFX_MSG_MAP(CSerialGateTestApp)

//}}AFX_MSG

ON_COMMAND(ID_HELP, CWinApp::OnHelp)

END_MESSAGE_MAP()

// CSerialGateTestApp construction

CSerialGateTestApp::CSerialGateTestApp()

{

}

CSerialGateTestApp theApp;

// CSerialGateTestApp initialization

BOOL CSerialGateTestApp::InitInstance()

{

AfxEnableControlContainer();

#ifdef _AFXDLL

Enable3dControls();// Call this when using MFC in a shared DLL

#else

Enable3dControlsStatic();// Call this when linking to MFC statically

#endif

CSerialGateTestDlg dlg;

m_pMainWnd = &dlg;

int nResponse = dlg.DoModal();

if (nResponse == IDOK)

{

}

else if (nResponse == IDCANCEL)

{

}

return FALSE;

}

Листинг SerialGateTestDlg.cpp:


#include <stdio.h>

#include <string.h>

#include <string>

#include "stdafx.h"

#include "SerialGateTest.h"

#include "SerialGateTestDlg.h"

#include <windows.h>

#include <math.h>

#ifdef _DEBUG

#define new DEBUG_NEW

#undef THIS_FILE

static char THIS_FILE[] = __FILE__;

#endif

//using System;

int key=0;

//#include "thread.h"

//#include System::Threading;

/////////////////////////////////////////////////////////////////////////////

// CAboutDlg dialog used for App About

class CAboutDlg : public CDialog

{

public:

CAboutDlg();

// Dialog Data

//{{AFX_DATA(CAboutDlg)

enum { IDD = IDD_ABOUTBOX };

//}}AFX_DATA

// ClassWizard generated virtual function overrides

//{{AFX_VIRTUAL(CAboutDlg)

protected:

virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV support

//}}AFX_VIRTUAL

// Implementation

protected:

//{{AFX_MSG(CAboutDlg)

//}}AFX_MSG

DECLARE_MESSAGE_MAP()

};

CAboutDlg::CAboutDlg() : CDialog(CAboutDlg::IDD)

{

//{{AFX_DATA_INIT(CAboutDlg)

//}}AFX_DATA_INIT

}

void CAboutDlg::DoDataExchange(CDataExchange* pDX)

{

CDialog::DoDataExchange(pDX);

//{{AFX_DATA_MAP(CAboutDlg)

//}}AFX_DATA_MAP

}

BEGIN_MESSAGE_MAP(CAboutDlg, CDialog)

//{{AFX_MSG_MAP(CAboutDlg)

// No message handlers

//}}AFX_MSG_MAP

END_MESSAGE_MAP()

/////////////////////////////////////////////////////////////////////////////

// CSerialGateTestDlg dialog

CSerialGateTestDlg::CSerialGateTestDlg(CWnd* pParent /*=NULL*/)

: CDialog(CSerialGateTestDlg::IDD, pParent)

{

//{{AFX_DATA_INIT(CSerialGateTestDlg)

m_port = 5;

m_rate = 9600;

m_recieve = _T("");

m_send = _T("");

m_axsis = _T("");

m_vel = _T("");

m_asel = _T("");

m_gomr = _T("");

m_mraxsis0 = _T("");

m_mraxsis1 = _T("");

m_tapeaxsis0 = _T("");

m_tapeaxsis1 = _T("");

m_dataininput = _T("");

m_dataoutput = _T("");

m_past = _T("");

//}}AFX_DATA_INIT

// Note that LoadIcon does not require a subsequent DestroyIcon in Win32

m_hIcon = AfxGetApp()->LoadIcon(IDR_MAINFRAME);

}

void CSerialGateTestDlg::DoDataExchange(CDataExchange* pDX)

{

CDialog::DoDataExchange(pDX);

//{{AFX_DATA_MAP(CSerialGateTestDlg)

DDX_Control(pDX, IDC_RECIEVE, m_recievecontr);

DDX_Text(pDX, IDC_PORT, m_port);

DDX_Text(pDX, IDC_RATE, m_rate);

DDX_Text(pDX, IDC_RECIEVE, m_recieve);

DDX_Text(pDX, IDC_SEND, m_send);

DDX_Text(pDX, IDC_SETAXSCIS, m_axsis);

DDX_Text(pDX, IDC_SETVEL, m_vel);

DDX_Text(pDX, IDC_SETASEL, m_asel);

DDX_Text(pDX, IDC_MR, m_gomr);

DDX_Text(pDX, IDC_MRAXSIS0, m_mraxsis0);

DDX_Text(pDX, IDC_MRAXSIS1, m_mraxsis1);

DDX_Text(pDX, IDC_TAPEAXSIS1, m_tapeaxsis1);

DDX_Text(pDX, IDC_DATAEXCHANGE, m_dataininput);

DDX_Text(pDX, IDC_DATAEXCHANGE2, m_dataoutput);

//}}AFX_DATA_MAP

}

BEGIN_MESSAGE_MAP(CSerialGateTestDlg, CDialog)

//{{AFX_MSG_MAP(CSerialGateTestDlg)

ON_WM_SYSCOMMAND()

ON_WM_PAINT()

ON_WM_QUERYDRAGICON()

ON_BN_CLICKED(IDC_BUTTON2, OnOpen)

ON_WM_TIMER()

ON_BN_CLICKED(IDC_BUTTON1, OnSend)

ON_BN_CLICKED(IDC_BUTTON3, OnButton3)

ON_BN_CLICKED(IDC_ON_SETAXSIS, OnOnSetaxsis)

ON_BN_CLICKED(IDC_ON_SETACSEL, OnOnSetacsel)

ON_BN_CLICKED(IDC_ON_SETVELOS, OnOnSetvelos)

ON_BN_CLICKED(IDC_ON_MOTROON, OnOnMotroon)

ON_BN_CLICKED(IDC_ON_MOTOROFF, OnOnMotoroff)

ON_BN_CLICKED(IDC_ON_MR, OnOnMr)

ON_BN_CLICKED(IDC_ON_GO, OnOnGo)

//}}AFX_MSG_MAP

END_MESSAGE_MAP()

/////////////////////////////////////////////////////////////////////////////

// CSerialGateTestDlg message handlers

BOOL CSerialGateTestDlg::OnInitDialog()

{

CDialog::OnInitDialog();

// Add "About..." menu item to system menu.

// IDM_ABOUTBOX must be in the system command range.

ASSERT((IDM_ABOUTBOX & 0xFFF0) == IDM_ABOUTBOX);

ASSERT(IDM_ABOUTBOX < 0xF000);

CMenu* pSysMenu = GetSystemMenu(FALSE);

if (pSysMenu != NULL)

{

CString strAboutMenu;

strAboutMenu.LoadString(IDS_ABOUTBOX);

if (!strAboutMenu.IsEmpty())

{

pSysMenu->AppendMenu(MF_SEPARATOR);

pSysMenu->AppendMenu(MF_STRING, IDM_ABOUTBOX, strAboutMenu);

}

}

// Set the icon for this dialog. The framework does this automatically

// when the application's main window is not a dialog

SetIcon(m_hIcon, TRUE);// Set big icon

SetIcon(m_hIcon, FALSE);// Set small icon

// TODO: Add extra initialization here

return TRUE; // return TRUE unless you set the focus to a control

}

void CSerialGateTestDlg::OnSysCommand(UINT nID, LPARAM lParam)

{

if ((nID & 0xFFF0) == IDM_ABOUTBOX)

{

CAboutDlg dlgAbout;

dlgAbout.DoModal();

}

else

{

CDialog::OnSysCommand(nID, lParam);

}

}

// If you add a minimize button to your dialog, you will need the code below

// to draw the icon. For MFC applications using the document/view model,

// this is automatically done for you by the framework.

void CSerialGateTestDlg::OnPaint()

{

if (IsIconic())

{

CPaintDC dc(this); // device context for painting

SendMessage(WM_ICONERASEBKGND, (WPARAM) dc.GetSafeHdc(), 0);

// Center icon in client rectangle

int cxIcon = GetSystemMetrics(SM_CXICON);

int cyIcon = GetSystemMetrics(SM_CYICON);

Страницы: 1, 2, 3, 4, 5, 6


Новости


Быстрый поиск

Группа вКонтакте: новости

Пока нет

Новости в Twitter и Facebook

                   

Новости

© 2010.