Tuesday, March 24, 2009

Programming with Parallel Port LPT

Now i'm working on a project to create a C/C++ software for communicating to the Parallel Port [LPT1]. Here i'm giving you the source code part which can be used for Parallel Port Programming. I'm sure that this may help you in some ways for your projects. Later i found that there is a library file named ParaPin which it easy to write C code under Linux that controls individual pins on a PC parallel port. but i didnt use that coz my whole system must be changed in order to do a small program. But Parapin is really helpful file for developers.

Source Code

----------
#include
#include
#include
#include
#include
#define port 0x378 //data port 8pins 2,3,4,5,6,7,8,9
#define status 0x379 //status 5pins 11,10,12,13,15
#define control 0x37A //control 4pins 17,16,14,1

void main()
{
long int value;
int ch;
go:
clrscr();
//checkstatus();
cout<<"** AD9851 Programming with LPT1 **";
cout<<"\n----------------------------------";
cout<<"\n1. Send values to LPT";
cout<<"\n2. Set all data pins HIGH";
cout<<"\n3. Set all data pins LOW";
cout<<"\n4. Reset";
cout<<"\n5. Exit";
cout<<"\n Choose your entry :";
cin>>ch;
switch(ch)
{
case 1:
for(int i=0;i<5;i++)
{
cout<<"\nEnter W"<<<"=";>
cin>>value;
outport(port,value);
cout<<"\nValue"<<<"sent>
outport(control,0001); //clock high
cout<<"Setting Word Clock High!!!\n";
}
outport(control,0010); //freq update high
cout<<"Setting Frequency Update as HIGH !!!";
cout<<"Word Entered Successfully....";
getch();
goto go;


case 2:
outport(port,255);
cout<<"\n Setting all data pins to high...";
cout<<"\nPress any key to continue...";
getch();
goto go;

case 3:
outport(port,0);
cout<<"\n Setting all data pins to low...";
cout<<"\nPress any key to continue...";
getch();

goto go;

case 4:
outport(control,0011);
cout<<"\nResetting Complete...";
cout<<"\nPress any key to continue...";
getch();
goto go;

case 5: exit(0); break;
default : cout<<"\nWrong entry...";

}
}

void checkstatus()
{

unsigned int far *ptradr; /* Pointer to location of Port Addresses */
unsigned int address; /* Address of Port */
int a;

ptradr=(unsigned int far *)0x00000408;

for (a = 0; a <>
{
address = *ptradr;
if (address == 0)
printf("No port found for LPT%d \n",a+1);
else
printf("Address assigned to LPT%d is %Xh\n",a+1,address);
*ptradr++;
}

}




Post a Comment

Popular Posts