You are on page 1of 14

1

c.<re.u uOu O,:


. e.Oc.ucc .O.._. c Ou e Oc< e.uu. eOueOu e-..u :.
c.<r .. o...u... ..u cOuOu O,:.cO








e-..u :. c.<r .. o...u...,
O.O:.r .. c..,
. e.Oc.ucc . O.._..

2

. :,u.
e_reO.ur crc<.r Ou c.<r. _c e_-u rO. u r. (Word Processing),
euq o,e. (Play songs) cu cc -,_ . (vedio) e: eu.e.r eu.e.r c.<r r:.
(Games) O_e.. o..O o.ucO uOu e-.e:. rO. u e:. ..u r_ :,r -O
e,-,u. .- e.eur eu.uuO. . :,r.. u e c. o O. eree rcu eu .u O.
eu.u e c. :,r.. c.<re.u r_ :,r eOuu e-.e:. O,: ouu o: o,u e.cO
(Ports) ..ue.u crc< :,e c. c ..u u,ur .u . uO u c..< rc<e. e..O
-_.ec.ec.uu Ou e. ereur O. e.. u. c e.. euOu eO. . e.. O,:eO:u ..u o
c _ -O erc :, u .r _-. .O oec r e u.. eree u.u e3 e:. c.<r ..e.Or
(e.. O,:eO:u e:. Visual Basic 6.0 c.<r ..e.O ..u rcu _,e) c _ - uc.r
u.r :. Digital Electronic ..O c_- ec u.r oO.. eO..

z. c.<re. o,u uu q_ .. O.e.u ucc<. rc .,u.
c.<r. e-..r e_reO.ur (Digital Electronic) crc<.r. o: uu ucc<.
e:. u.crrO (Logical) 1 :. 0 ..u rc< _,e. o. q_ .. O.e.u u cc<. rc
.,u. e:. e:. 5V .O e,c..r 0 e:. 0V e,c..r ..u rc. . e3 u e.
c.<re.u _,e-u uu.r 5V u3 o. u.cr r O.e.u _,e-u u u.r 0V u3
o. c O.e.u e,_r. . u.. oee . c.<r. u _O u u o,u _u r e3 e..
u ccu.. ..u rcu _,e. e.. eu c,3 .,u .O ec_ .:c<.r e_r.. oc u u
o,u _u r. e:. .uc, cOc,e3 .ucr o- O r.r eq e3 . e_r. . e.: eq
Oueu .ucr o- O o.O o._ e-..Or c.<r. eOu .... (5V :. 0V ey.Or).
e3 ue. oc c.<r ey. e.. rO.u re3 e.. 5V ey. e.. rO. u r_ .u..
o: .ur u-. .u . u u. O,.u rc,<r u3 e.. ey.e3 .O ou uc. 5V OO o:
..c.O u. o: o..r Ou c mA uce3 u. r :. ..c.Or .. . e3 u e. e.. ..c.O
Oc.u. eu.rc ..u r_ eu.:,r -O c_. O e : u-. .u .u..
+. .u ey. :u. .,u.
:u e.u .u rc,< ouO ,u oc cc.<re.u cOOu uu :. o,u_ rcOu uu
:u. .,u.O r ..r e u. . o. u u.r 5V e:. 0V ey.Or Ou -,u o.e_. r
e.. cr :e..:.r (LED) ..ue.u o. ey.O ec_O :u. .u :,r.. e.: LED
-_ -. e:. 3V .O.r _-. . . u.. o e:. 5V .Oe.u 2V .O.r cu ec. ..r
e... o: r_ . u..









e3 ouO ocO 400 O O,: c u ec. ..r
e.. LED orr e.<u.O e re.u
ey. c.r.r e.. .u :,r..

3

!. c.<re. o,u PORTs c_-O :u. .,u.
Port orr .u c.<r. e.. uOu c.<r.r e:. eOuu crc<.r e3-u. r.O
..u rcu ouc, . :<ur. (In computer hardware, a 'port' serves as an interface between
the computer and other computers or device) e.O,u ouc, . :<u r:c.r c.<re.:
r. :,r .. oO. e..uO.. erce.u e_r. -_.
PORT
euc. u u e3ec e<. eOcc.
PS/2 .uc, cOc,O (keyboard) :. .Oe.
(mouse) e3-u. r.O ..u
rc..
e.<.uO (Serial)
LPT
cuOc. e3-u. r.O ..u
rc. . e.: u u e3ec e< e3..
150 Kbps e3.
e..uuc.uO
(Parallel)

COM
e.<.uO uu e3ece<. e:.
uO.u -: _O ..u rc..

e.<.uO
(Serial)
USB
e.<.uO uu e3ece<. e:.
..u rc..
e.<.uO
(Serial)
SATA
e.<.uO uu e3ece<. e:.
..u rc..
e.<.uO
(Serial)

:u r O. o,u eu c.<re.u c OuO e3-u.u Port r : c.r c.< . e.. Port c_-O
e_r. -,_e3 o O.e. r ..r. e3.. :. oeuru rc,< e,_re3 ocO c:eeOu
e3-u. rc .u :,rer LPT e:Ou Parallel port or e: COM port or.. o.u Parallel
port or e.. rO.u rc . O:.u c:e.. oue. e.. O,:.ge3 oc Parallel port or ..u
rO.u rcu o.r.c. c_-O e_r. -_. .

. Parallel Port
c u Oc. e3-u. r . e:. e-.e:. O ..u rcu c u z ru e.u u e.: e,r,e.
e: o: o,u c u z ..u erecu r.c..u c:u cce. e: O. e3 r O. o,u.

4


Pin No Assignment Pin No Assignment
1 Strobe 14 AutoFd
2 Data 1 (least significant bit) 15 Fault
3 Data 2 16 Init
4 Data 3 17 SelectIn
5 Data 4 18 Signal Ground
6 Data 5 19 Signal Ground
7 Data 6 20 Signal Ground
8 Data 7 21 Signal Ground
9 Data 8 (most significant bit) 22 Signal Ground
10 Ack 23 Signal Ground
11 Busy 24 Signal Ground
12 Error 25 Signal Ground
13 Select

Parallel Port . e.. rO. u r .O c O. c:u rc,< c _-O u e c. u. O,.u e3.
e.: Data Register, Control Register e: Status Register O.e.u Registers 3 r o,u. e3O.
e:. eOu eOu. Address u ur o,u. o c _- e uc c:u O. e3 r O. o,u.
Register LPT1 LPT2
Data Register (base address + 0) 0x378 0x278
Status Register (base address + 1) 0x379 0x279
Control Register (base address + 2) 0x37A 0x27A


5

5.1 Data Register
e.. -O s r u . u ec5e Oc.r . e.. Register or e:. +s .u Address or ..u rc..
e.: o,u -O O_ o..u ou O o: o.. u c<. eO. . e.: o.. u c<. rcu _-u eu
eer c.e. e-..OrO ou O..
.:c<.
-O s :. o.. O O Register oer: o.. ee..uu.
e3 e:. c:u c.Oc ou..u. rcuu
Register oer: o.. eer c.e. e-..Or e_e _ .. .uu
11111111

z u o. o.. c c..O :cOuu
=11111111
=1x2
7
+ 1x2
6
+ 1x2
5
+ 1x2
4
+ 1x2
3
+ 1x2
2
+ 1x2
1
+ 1x2
0

=128 + 64 + 32 + 16 + 8 + 4 + 2 + 1
=255
.:c<. z
-c s, 01001010 o.r.c.O o,u O Register oer: o.. ee..uu.
=01001010
=0x2
7
+ 1x2
6
+ 0x2
5
+ 0x2
4
+ 1x2
3
+ 0x2
2
+ 1x2
1
+ 0x2
0

=0 + 64 + 0 + 0 + 8 + 0 + 2
=74
5.2 Status Register
e.. -c s r u . u Register orr . e.. Register or u u c.<r.O o,u _u r .
e:. e....u. oe:u e.. Register oer : ocO ..u r_ :,rer -c r c.<.
Status Register or r .. e:. + .u Address or ..u rc. . e.: o,u -c O_ o..u
ou O o: o.. u c<. eO. . e.: o.. u c<. rcu _-ueu eer c.e. e-..OrO
ou O.. oee . e.: u.u . u uOu e. e r.c<.r o,u. ou3 e.: -O or + e O
rO. c.<r cOu u ouc Ou -OO ..c, cOu . ou3 c (0v) o,u _u r_ O
O.e.u (5v) o,u _u r_ O c O.e.u r.. rc..
.:c<. +
Status Register oer: -c c:u e_e cOuu O o: o.. ee..uu.
6


e3 e:. c:u c.Oc ou..u. rcuu.
c_.O o..u c_eO_u _.. .uu. r< ce o..u u,u -c e:. -u q e..uu.
01111000
O3 ce er_Oc. -O O ( Ou -O O) ..c, o,u -,u o: o.. ..c, rcu u. (e.:
c o,u -,u o. e_e e,_r . . u.. u - ue:.u c rc .u . u .) u ecc ee e..u.
o.r.c.O .. c.e. e-..Or ee o.. ee..u u.
=11111000
=1x2
6
+ 1x2
5
+ 1x2
4
+ 0x2
3
+ 0x2
2
+ 0x2
1
+ 0x2
0

=128 + 64 + 32 + 16 + 8 + 0 + 0 + 0
=248
.:c<. !
Status Register oer: o.. c.<r .-qr...r ..u r.O O o.. zc r e_e eO:u
Ou u3 Status Register oer: -c O_ o.r.c. ee..uu.
e3 e:. c:u c.Oc ou..u. rcuu.
o.. c_.O :e. c.e. e-..Or e_e _.. .uu.
120

z u o. o.. eer c..O :cOuu. e3 e:. o. e-..O eeru e-uu.
120 2 0
60 2 0
30 2 0
15 2 1
7 2 1
3 2 1
1

e. c.<r .-qr...r ..u Parallel Port oer: uu _. :. r..
c_. c .Oc O.e.u oc ere rc .uu. _ .-qr...r u u u _ . :. r .. rc. .
ouu c,O .-qr...r e.. .ueu eree . ee... -_..
e3 e:. c_. O http://www.dscs.sjp.ac.lk/download/portws/portrw.zip _cue. o,u File
or _-. .uu o: o,u file z u PortIO e_e o,u File or run rcuu. .-O c:u
o.r.ce. Window orr r. :,r ..
u e.: u e_e _,-< c :. :
o..u .O eO :O _ .uu.
1111000
u Ou -Oe3 o.. ..c, rcuu oO
c _ u c _,e.

0111000
7



e3 e:. http://www.dscs.sjp.ac.lk/download/portws/userport.zip _cue. o,u File or _-.
.uu. o: o,u file z u userport.sys system file or C:\windows\system32\drivers folder
orO copy rcuu. ouuc,O userPort.exe file or run rcuu. .-O c:u o.r.ce.
Window orr r. :,r..




cre< rO.u e:. e.. .-qr...
..u .-O oO.. Port orr u u _.O
:. r..O oOeO.O e_e. o,u.
uu r.. e:. Read from Port button
or uu _. e:. Write to Port
button or ..u rcuu.
e3 e:. .-O .- ..u rcu
Operating System or .. u oO..
c:er3 e_e. u-. . u.. oee
u,u u3 c:u o.r.ce. Error message
orr _,e. oee O Oe:.u o e:.
e.e program orr ..ue.u .-O
er_ u. Port Access r. e:.
Operating System oru u:e rc .u
.u.. (Operating system or
e...u.e.u er_u. user O Port
Access o.crer e:uu .u : eu
eu._,e.) o e:. c:u r O. o,u
r.. ou..u. rcuu.
e.. File or c_-O O,: euc
http://www.embeddedtronics.com/publ
ic/Electronics/minidaq/userport/UserPo
rt.zip _cue.u _-. .u :,r.. u
o: o,u Start button or Click
rcu u. u .-O oO.. c Port
Access re3 c:er. _-. .u :,r
Ou o,u. uu r.. e:. Read
from Port button or u u _ .
e:. Write to Port button or ..u
rcuu.
8

. e_reO.ur crc<.r ..u Parallel Port oer: u u _. :.
r..
e3 e:. ocO Parallel Port oer: uu e_reO .urO r.. e:.u uu c.<r.O
.,. e:.u c:u o.r.c.O ccO err u,u. :,r..

Data Register oer: u u r ..O Status Register oer: u u _ .O
e.: c.<re.u _,e-u 5V ey.O e:. c uec...r :. LED -_-.r e3-u. rc
o,u. oee. Status Register oer: uu _. e:. :u o.r.c.O ccO.r ere. .uu.
(.-O e.e_e ere. o,u crer ccO.r _-. o,u) o. c Oc,O ..ue.u cr e<
r :c.r eq rc. .
Ou cr e<.
:u .- ..u rcu _ PortIO .-qr... ..u rc LED - - g e .__ orOc _ Ou u.
e3 e:. PortIO .-qr..e.: c:u reOu e_e ere. Write to Port button or Click
rcuu.

z Ou cr e<.
:u .- ..u rcu _ PortIO .-qr... ..u rc Status Register oer: o.. r.Ouu.
e3 e:. Port Address oer: o.. + e_e ere rcuu. (Status Register oer: Address
or 379 Ou ue. ) u Read from port button or Click rcuu.

+ Ou cre<.
u crer cOc,O ..u rc3u Status Port orO eOue eOue Inputs _-. o ouO
Status Register oer: o.. eOue Ou o.r.c. r.Ouu. o ouO or or -OeO: o..
e:. c . ou O Status Register oer: o.. eOue Ou o.r.c. eu c,3 .uu.
9


. Visual Basic ..ue.u oO.. c Parallel Port oer: uu _. :.
r..
e.eur .- cre< rO. u e:. ..u rcu _e portIO u3 .-qr.... . u oc
Visual Basic 6.0 c.<r ..e.O ..ue.u .-O oO.. c oO,u .-qr...r e..
.uu. o.r.c. e_r. -_. . e3 e:. c:u c.OcO_ ou..u. rcuu.
1. Visual Basic Project orr open rc.uu (Standard Exe).
2. .-e. Project or e:. Module orr _-. .uu. e3 e:. c:u c_eO_
ou..u. rcuu.
Project Add module
3. Port Access rc. e:. ..u rcu inpout32.dll file or .-e. project or save
rcu _ eO.u.O copy rcuu.
(Port Access rc. visual Basic ..u er_u. r_ eu.:,r o ue. o e:. e,re
e. e DLL File orr ..u rcu _,e. e.O,u DLL File orr ere rcu
o.r.c. c_-O O,: euc e.. cur.e3 oOe.ue. rO. o,u. o e:. oO..
O,: e uc u .,u. e:. c:u eO c O O ..u rcuu. eree u. u
inpout32.dll or e.. O,:. ge3 rO. u e:. c..<Ou e3.
http://www.dscs.sjp.ac.lk/download/createdll/index.php
4. u .-e. module oer: c:u Source code or _ .uu

Public Declare Function Inp Lib "inpout32.dll" Alias "Inp32" (ByVal PortAddress As
Integer) As Integer

Public Declare Sub Out Lib "inpout32.dll" Alias "Out32" (ByVal PortAddress As
Integer, ByVal Value As Integer)

e...u eq rcu _-ueu DLL File ore: o,u Function err .-e. Project
orO :uO. .. . e.e_e :quO. qu ce o. Function .-e. Project oer:
..u r_ :,r..

e3 ou O Port oer: uu _. e:. Out u3 Function orr ..u rcu _,e.
o.O Parameter err o,u. c_. Parameter oeru Port Address or eO,u
Parameter oeru o.. _-. . .u..
o..u _-. e3 c:u r. eeru orr ..u rcuu.

Dim Value, PortAddress As Integer
PortAddress = "&H378"
Value = 255
Out PortAddress, Value

e:.

10

Out &H378, 255
oee. uu r.. e:. Inp u3 Function orr ..u rcu _,e. o..u uu
r.. e:. oO.. Port Address or Parameter orr O.e.u _-. . . u ouc
Port oer: o.. Return eO. .
Dim y As Integer
y = Inp(&H379)

e:.

y = Inp(&H379)

e_e _-. . :,r ..

5. :u o,u cee ..u rc PortIO O,u .-qr...r .- eu ere rcu u.


! Ou cr e<.
u :u e.g <. ..u rc c:u r.c..u r. e:. Program orr _.uu.
e3 e:. ogu Visual Basic Project orr _-. .uu. ecc e_eO. o_ u module orr
e.u o.O c:u code or oru rcuu.
Public Declare Function Inp Lib "inpout32.dll" Alias "Inp32" (ByVal PortAddress As
Integer) As Integer
Public Declare Sub Out Lib "inpout32.dll" Alias "Out32" (ByVal PortAddress As
Integer, ByVal Value As Integer)
,u or or cO.Ou ,r. e:. cO. _.uu.

.:c<.r e_e oc Knight Rider System orr e...
Data Prot oer: o,u data line 8 ..u rc LED cO. c.r.r e. e:. oreurO
eOue cO. ! r ere rcuu.



11


Out &H378, 128

Out &H378, 64

Out &H378, 32

Out &H378,

Out &H378,

Out &H378,

Out &H378,

Out &H378,
:u cO.Ou u,Ou Ocr o. eO ._O _.uu. oO .-O Knight Rider o.r.c.O cO.Ou
_-. .u :,r.. e.. Function err oucO eqe Delay function orr e.e.u cO.O
e:. oO.. r._ eOue _-. .u :,r.. e3 e:. Timer Object orr ..u rcuu.
u c:u cO. er ereuu

Out &H378,

Out &H378,

:u o.r.cO .- r,.u uOu cO. err ere rcu u.
u c.<r.O Status Port or ..u _-. eu o..u ouO or or cO.Ou _eOu
o.r.cO .-e. Application or ere rcu u. e.: c_. O .-O ec.. o,u ccO c Oc,e3
o,u r:. Micro Switch 4 ..ue.u or or Switch orr e:. o._ o.. ee... .uu.
e3 e:. or or Switch or Click rc3u Status Port oer: o.. r.Ouu. o o,eecu
.-O or or oOe O.e3 Status Port oer: o.. _-. .u :,r.. e3 e:. c:u o.r.ce.
code orr ..u r_ :,r..
If portval = 120 Then
Add Pattern here
End If

If portval = value1 Then
Add Pattern here
End If

If portval = value2 Then
Add Pattern here
End If
12

e.: value1, value2 e_e u rO. o,u eu or or oOe O.Ou O_ Status Port
oeru _,-< o..u..
s. Parallel Port ..ue. Stepper Motor orr r.. rc.
c.<re.u er_u . _-. .u :,r er v ey.Or. e3 ue. eOuu O,: e:. ..u
r e3 o e:. ccO.r ere rc .u . u .. Stepper motor orr r ..u .r r . e:.
c:u rO. o,u o.r.ce. ccO.r ere r_ :,r.. e.: L1, L2, L3 :. L4 .. u Stepper
motor oer: .c 4 rO. o,u. Q1, Q2, Q3 e: Q4 D313 e:. D400 O,u O.ueeOc e3.
R 1,2,3,4 e:. 1KOms cuec.. ..u r_ :,r.. e,c.. 12V c.< e3.

u e.: input ! e:. c_eO_u c:u e_eO ey. e,c.e.u Motor or oO.. c
:,ec. :,r..

Out &H378, 8
Out &H378, 4
Out &H378, 2
Out &H378, 1
or or ey.Or ouc us r._ cc.e.r u-uu. .-O Motor or oeur ..OO c_u.
rc.O oO.. u3 e.. ey. _-. eu c_ eO_ c uc, .O _-. euu.

o.uc o...e
Parallel port or ..u rc e. :,r e-.e:. crc< c _ - e uc u .,u. e:.
oO.. u3 o e:. oO.. eu.cuc, http://www.dscs.sjp.ac.lk/portprogram/index.php .u
eO _ c ue.u _-. .u :,r .. o.. u Stepper motor :,ec. o. e-.e:. rc,< .-O
u .,u.O :,r Ou o,u.


13

. Visual Basic 6 ..u Parallel Port or :,e c.O DLL orr e.
e3 e:. oc Visual C++ 6 ..u rc. . e3 e:. c:u c .Oc ou ..u. rcuu.
. Microsoft Visual C++ 6.0 Open rcuu.
z. Win32 Dynamic Link Library Project orr _-. .uu. e3 e:. c:u r .. c_ eO_
e... .uu.
File New Project (Win32 Dynamic-Link Library project)
Project or MyDLL e_e u3 rc OK Button or click rcu u








:u cce. reOu e_eO _,e-u window oer: A simple DLL project e_e eu. c.
Finish button or Click rcuu.
u .-O Project or u _ source File ouec: MyPortDLL.cpp e: stdAfx.cpp O.e.u File
err r. :,r.. o.u MyPortDLL.cpp File or Open rcuu. o: DllMain u3u
Function orr o,u.
u c:u rO. o,u Function er MyPortDLL.cpp File oer: _.uu.
__declspec(dllexport) void _stdcall writeDataPort( int pvalue)
{
_outp(0x378, pvalue);
}

__declspec(dllexport) int _stdcall readDataPort(void )
{
int portvalue=0;
portvalue = _inp(0x378);

return portvalue;
}

14

e.: __declspec, dllexport e: _stdcall .u eOu rO. o,u eu keywords
e3. _outp(0x378, pvalue).. u 0x378 Address oer: pvalue oer:
o.. _.u _,e. oee. _inp(0x378).. u 0x378 Address oer: o,u o..
r .Ou _,e. e3 o.r.c.O .-O .u. orr o.. _ .O e:. r..O oO.. Functions
ere rc .u :,r..
u #include "stdafx.h" e_e _.. o,u u,uO .cu #include "conio.h"
e_e _.uu.
u MyPortDLL.def u3u File orr Create rcu u e3 e:. c:u c.Oc ou..u.
rcuu.
File New File (MyPortDLL.def)

e.. File oer : c:u e:u o,u _u rcuu.
LIBRARY MYPORTDLL
EXPORTS
writeDataPort @ 1
readDataPort @ 2
.- uOu Function e.. DLL File orO oru rcu eu u3 o O.e. u. _ .. e. @ 3
o. O.e.u c _ eO_u or e..uu.
u MyPortDLL.dll file or Build rc.uu. e3 e:. F7 Press rcuu. u .-e. Project
or save rc.u Folder oer: Debug u3u uOu Folder orr o,u. o: MyPortDLL.dll File
or e u -. . u.. u e.. dll File or .-O r,.u e_eO ..u r_ :,r.. e.. project
or .-O http://www.dscs.sjp.ac.lk/download/portws/myportdll.zip .. u _-. .u :,r..
e.. ..u rc .-O oO.. c DLL orr e.. .u :,r Ou o,u.
o.uc r..
1. c.<re.u uOu O,:, .:.c.c. oe.. r oe rc,<.uu
2. http://www.epanorama.net/circuits/parallel_output.html
3. http://www.embeddedtronics.com/public/Electronics/minidaq/userport/UserPort.zip
4. http://www.dscs.sjp.ac.lk/download/ele/index.php

You might also like