Borland C++ Builder

Tesina

Stepper

Darlington

Visual C++

C Builder

Assembler

Alim. Switching

La Robotica

Il software finale di pilotaggio per il robot su cingoli è scritto in Borland C++ Builder 5.0

Interfaccia

Librerie

Listato

Suggerimenti

   
 

Libreria "NTPort Library"

Per interfacciare il programma con la porta paralla ho usato delle librerie che forniscono alcune funzioni per modificare lo stato della porta centronix, le funzioni sono:

Outport( indirizzo , valore );

Questa funzione scrive all' indirizzo x un valore (se non specificato il tipo, binario) e si conclude.

Inport( indirizzo );

Questa funzione invece legge lo stato della porta nel momento in cui viene chiamata.

 
 
Top
 

Suggerimenti

 
 
Top
 

Listato

#include <vcl.h>
#pragma hdrstop

#include "finestra.h"
#include "ntport.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm1 *Form1;
//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
: TForm(Owner)
{
}
//---------------------------------------------------------------------------
void __fastcall TForm1::ButtonAvantiClick(TObject *Sender)
{
int velocita = 20;

Outport(0x37a,0);
Outport(0x37a,1);
Outport(0x378,0x99);/////////////
Sleep(velocita);

Outport(0x37a,0);
Outport(0x37a,1);
Outport(0x378,0xa5);/////////////
Sleep(velocita);

Outport(0x37a,0);
Outport(0x37a,1);
Outport(0x378,0x66);/////////////
Sleep(velocita);

Outport(0x37a,0);
Outport(0x37a,1);
Outport(0x378,0x5a);/////////////
Sleep(velocita);
}
//---------------------------------------------------------------------------


void __fastcall TForm1::Button1Click(TObject *Sender)
{
int velocita = 20;

Outport(0x37a,0);
Outport(0x37a,1);
Outport(0x378,0x99);/////////////
Sleep(velocita);

Outport(0x37a,0);
Outport(0x37a,1);
Outport(0x378,0x55);/////////////
Sleep(velocita);

Outport(0x37a,0);
Outport(0x37a,1);
Outport(0x378,0x66);/////////////
Sleep(velocita);

Outport(0x37a,0);
Outport(0x37a,1);
Outport(0x378,0xaa);/////////////
Sleep(velocita);
}
//---------------------------------------------------------------------------

void __fastcall TForm1::Button3Click(TObject *Sender)
{
int velocita = 20;

Outport(0x37a,0);
Outport(0x37a,1);
Outport(0x378,0x99);/////////////
Sleep(velocita);

Outport(0x37a,0);
Outport(0x37a,1);
Outport(0x378,0xaa);/////////////
Sleep(velocita);

Outport(0x37a,0);
Outport(0x37a,1);
Outport(0x378,0x66);/////////////
Sleep(velocita);

Outport(0x37a,0);
Outport(0x37a,1);
Outport(0x378,0x55);/////////////
Sleep(velocita);
}
//---------------------------------------------------------------------------

void __fastcall TForm1::Button4Click(TObject *Sender)
{
int velocita = 20;

Outport(0x37a,0);
Outport(0x37a,1);
Outport(0x378,0x99);/////////////
Sleep(velocita);

Outport(0x37a,0);
Outport(0x37a,1);
Outport(0x378,0x5a);/////////////
Sleep(velocita);

Outport(0x37a,0);
Outport(0x37a,1);
Outport(0x378,0x66);/////////////
Sleep(velocita);

Outport(0x37a,0);
Outport(0x37a,1);
Outport(0x378,0xa5);/////////////
Sleep(velocita);
}
//---------------------------------------------------------------------------

void __fastcall TForm1::Button8Click(TObject *Sender)
{
int velocita = 20;

Outport(0x37a,0);
Outport(0x37a,1);
Outport(0x378,0x9);/////////////
Sleep(velocita);

Outport(0x37a,0);
Outport(0x37a,1);
Outport(0x378,0x5);/////////////
Sleep(velocita);

Outport(0x37a,0);
Outport(0x37a,1);
Outport(0x378,0x6);/////////////
Sleep(velocita);

Outport(0x37a,0);
Outport(0x37a,1);
Outport(0x378,0xa);/////////////
Sleep(velocita);
}
//---------------------------------------------------------------------------

void __fastcall TForm1::Button7Click(TObject *Sender)
{
int velocita = 20;

Outport(0x37a,0);
Outport(0x37a,1);
Outport(0x378,0x9);/////////////
Sleep(velocita);

Outport(0x37a,0);
Outport(0x37a,1);
Outport(0x378,0xa);/////////////
Sleep(velocita);

Outport(0x37a,0);
Outport(0x37a,1);
Outport(0x378,0x6);/////////////
Sleep(velocita);

Outport(0x37a,0);
Outport(0x37a,1);
Outport(0x378,0x5);/////////////
Sleep(velocita);
}
//---------------------------------------------------------------------------

void __fastcall TForm1::Button5Click(TObject *Sender)
{
int velocita = 20;

Outport(0x37a,0);
Outport(0x37a,1);
Outport(0x378,0x90);/////////////
Sleep(velocita);

Outport(0x37a,0);
Outport(0x37a,1);
Outport(0x378,0xa0);/////////////
Sleep(velocita);

Outport(0x37a,0);
Outport(0x37a,1);
Outport(0x378,0x60);/////////////
Sleep(velocita);

Outport(0x37a,0);
Outport(0x37a,1);
Outport(0x378,0x50);/////////////
Sleep(velocita);
}
//---------------------------------------------------------------------------

void __fastcall TForm1::Button6Click(TObject *Sender)
{
int velocita = 20;

Outport(0x37a,0);
Outport(0x37a,1);
Outport(0x378,0x90);/////////////
Sleep(velocita);

Outport(0x37a,0);
Outport(0x37a,1);
Outport(0x378,0x50);/////////////
Sleep(velocita);

Outport(0x37a,0);
Outport(0x37a,1);
Outport(0x378,0x60);/////////////
Sleep(velocita);

Outport(0x37a,0);
Outport(0x37a,1);
Outport(0x378,0xa0);/////////////
Sleep(velocita);
}
//---------------------------------------------------------------------------
void __fastcall TForm1::ExitClick(TObject *Sender)
{
Close();
}
//---------------------------------------------------------------------------

void __fastcall TForm1::btnReadClick(TObject *Sender)
{
Outport(0x37a,1);
Outport(0x378,0x0);
Outport(0x37a,0);
}
//---------------------------------------------------------------------------

 
 
Top

Alessandro del Gallo