THANK YOU SO MUCH FOR REPLYING
ACTUALLY I AM USING A WIN XP OPERATING SYSTEM IN WHICH I TRYING TO MAKE A HARDWARE SECURITY LOCK KIND OF A THING.. AS IN A PARTICULAR EXE FILE EXECUTES ONLY WHEN THIS HARDWARE(PIC 16F876 CIRCIUT) IS PRESENT AT THE PARALLEL PORT.. THE IDEA IS TO JUST READ A PARTICULAR VALUE FROM THE PORT WHICH IS SECRET AND ONLY IF THE VALUE IS CORRECT THE SOFTWARE GIVES FURTHER ACESS TO THE USER..
Yes we can open the port with io*.dll which can be download at
www.lvr.com
After that, you should restart your PC on Dos, and rename the "dllcache" hiden folder on system32 to "backup_dll". And you can control the parallel with ease, like in win98.
SO WHAT DO YOU SUGGEST THAT SHOULD I USE A USB PORT FOR IT.. IN THAT CASE WILL I NEED A DRIVER ALSO..AND ALSO HOW CAN I GET THE PIN DIAGRAM AND ALL FOR THA USB PORT
I think you don't need to use usb, because it's so expensive to build usb communication. You need a usb driver of which price may upto 50USD. and the cheapest one I saw is 25USD.
Exo said right, why dont you use serial port? You use a laptop and it doesn't support COM port?
Also does XP not allow sending data to the lpt port using a C code the way windows 98 does?? if so, what is the alternative??
Yes, I use io*.dll (i don't remember the name) and I can write it in Visual C++ .NET. So i'm sure it works with C.
What i initially intended to do was to send the hex file to the lpt port so that it can parallely be read on port A whose pins i would connect to the lpt port's data pins. However, somebody told me the hex file would be written using JDM in the PIC itself. Please suggest what is a better way? Starting altogether with the USB port would be a bit tedious for me now.
hex number is not a problem. It's only the way to view. The real number alway known by PC is binary number. In the program, you can use both hex number or decimal or binary number if you want.
You shouldn't connect directly the parallel to port A, even it may works because the output will be kept at the output pins of parallel. But I suggest to use a shift register and you can use handshake method to read and write. However, using this method, you will lost pin1 nStrobe, and nAck to control the transmission. Therefore, you only have 8 inputs remains for the parallel (but i guess it's enough for your application).