Top Banner
1 mß.Klfhka ;j;a jev YS% chj¾Okmqr úYajúoHd,Sh 50 jk iaj¾K chka;sh fjkqfjka ixLHdk yd mß.Kl úoHd wOHdkdxYh u.ska mj;ajk jevuq¿j ixLHdk yd mß.Kl úoHd wOHdkdxYh" jHjydßl úoHd mSGh" YS% chj¾Okmqr úYajúoHd,h'
14

Port Programming (සිංහලෙන්)

Apr 18, 2015

Download

Documents

Introduction to Port programming
පරිගණකය භාවිතයෙනි ඉලෙක්ටොනික උපකරණ සකස් කිර ගැනීමට මූලික අඩිතාලමක් මෙයින් ලබා ගත හැකිය
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Port Programming (සිංහලෙන්)

1

mß.Klfhka ;j;a jev

YS% chj¾Okmqr úYajúoHd,Sh 50 jk iaj¾K chka;sh fjkqfjka ixLHdk yd mß.Kl úoHd wOHdkdxYh u.ska mj;ajk jevuq¿j

ixLHdk yd mß.Kl úoHd wOHdkdxYh"

jHjydßl úoHd mSGh"

YS% chj¾Okmqr úYajúoHd,h'

Page 2: Port Programming (සිංහලෙන්)

2

1' ye|skaùu

bf,lafg%dksl WmlrKhla jk mß.Klh ,sms f,aLk lghq;= lsÍu (Word Processing)" iskaÿ weiSu (Play songs) Ñ;%má ne,Su (vedio) iy fkdfhla fkdfhla mß.Kl lS%vd

(Games) j,fh§u wdÈhg wu;rj ;j;a fndfyda lghq;= i|yd Ndú; l< yels nj ieneúkau Tn fuf;la fkdokakjd úh yelsh' ±k isáho tajd flfia lrkafkao hk j. fkd±k isáh yelsh' mß.Klfhka l< yels fjk;a fndfyda jev w;ßka tys we;s fodrgq

(Ports) Ndú;fhka WmlrK yeisrùu m%Odk ;ekla .kS' kj ks¾udK lrKfha fh§ug n,dfmdfrd;a;= jk iEu flfkl=gu fuh b;d m%fhdackj;a fjhs' fuu jevigyk u.ska ta ms<sn|j flá ye|skaùula ,nd §ug wfmalaIs;hs' flfia kuq;a fï i|yd mß.Kl NdIdjla

(fuu jevigyk i|yd Visual Basic 6.0 mß.Kl NdIdj Ndú; lrkq ,efí) ms<sn| ;rul

±kSula yd Digital Electronic úoHdj ms<sn| iq¿ ±kSula wjYH fjhs'

2' mß.Klfha we;s o;a; úÿ,suh jYfhka ksrEmKh lr .ekSu

mß.Klh ixLHdxl bf,lafg%dksl (Digital Electronic) WmlrKhls' tys o;a; ksrEmKh

i|yd ;d¾lslj (Logical) ‘1’ yd ‘0’ Ndú; lrKq ,efí' th úÿ,suh jYfhka ksrEmKh lr

.ekSu i|yd ‘1’ i|yd 5V úNj iemhqulao ‘0’ i|yd 0V iemhqula Ndú; lrhs' fï ksid

mß.Klfhka ,efnk o;a;hla 5V kï th ;d¾lsl jYfhka 1 o ,efnk o;a;hla 0V kï th 0 jYfhkao ie,lsh hq;=h' tfiau mß.Klh ;=<g o;a; we;=,;a lsÍfï§o fuu ksrEmkhu Ndú; lrkq ,efí' fuh f;areï .ekSug ir, WodyrKhla i<luq' wm o;a; we;=,;a lsÍu i|yd h;=re mqjrefõ h;=rla tnQ úg l=ula isÿ fõ ±hs i,luq' fuys§ isÿ

jkafka h;==rla tnQ úg thg wod, ixLHdjla mß.Klh fj; hduhs ^5V yd 0V ixdjla&'

fï ksid wm mß.Kl ixd iu. lghq;= lsÍfï§ fuu 5V ixd iu. lghq;= l< hq;=h'

tys§ u;l ;nd .; hq;= b;d jeo.;a lreKla kï fuu ixdfõ úNj wka;rh 5V jqjo tys

Odrdj b;d wvq w.hla jk 10 mA ;rfï b;d l=vd Odrdjla ùuhs' fï ksid fuu Odrdj j¾Okh fkdlr Ndú; l, fkdyels nj m<uqj isys ;nd .; hq;=h'

3' úoHq;a ixd y÷kd .ekSu

by; bf.k .;a lreKq wkqj oeka wm mrs.Klfhka msgjk o;a; yd we;=,a lrjk o;a;

y÷kd .ekSug l%uhla is;uq' tu o;a;hla 5V fyda 0V ixdjla jk neúka wdf,dal

úfudapl vfhdavhla (LED) Ndú;fhka tu ixdj ir,j y÷kd .; yelsh' fuys§ LED n,anh i|yd 3V úNjhla ,nd Èh hq;=h' ta i|yd 5V úNjfhka 2V úNjhla m%;sfrdaOhla fhdod wvq l< hq;=h'

fï wkqj wmg 400 Ω g jeä m%;sfrdaOhla

iu. LED tlla fY%aKs;.j iú lsÍfuka ixd o¾Ylhla idod .; yelsh'

Page 3: Port Programming (සිංහලෙන්)

3

4' mß.Klfha we;s PORTs ms<sn|j y÷kd .ekSu

Port tlla hkq mß.Klh iu. ;j;a mß.Klhla fyda fjk;a WmlrKhla iïnkaO lsÍug

Ndú; lrk w;=re uqyqK;ls' (In computer hardware, a 'port' serves as an interface between the computer and other computers or device) fujeks w;=re uqyqK;a lsysmhla mß.Klfhys ±lsh yelsh' tajd fudkjd±hs fláfhka i,ld n,uq

PORT úia;rh o;a; iïfm%aIKh iajrEmh

PS/2 h;=re mqjrej (keyboard) yd ujqih (mouse) iïnkaO lsÍug Ndú; lrhs'

fY%aKs.;j (Serial)

LPT ms%kagrh iïnkaO lsÍug Ndú; lrhs' fuys o;a; iïfm%aIK fõ.h 150 Kbps fõ'

iudka;r.;j (Parallel)

COM fY%aKs.;j o;a; iïfm%aIKh i|yd ;ju;a nyq,j Ndú; lrhs'

fY%aKs.;j (Serial)

USB fY%aKs.;j o;a; iïfm%aIKh i|yd Ndú; lrhs'

fY%aKs.;j (Serial)

SATA fY%aKs.;j o;a; iïfm%aIKh i|yd Ndú; lrhs'

fY%aKs.;j (Serial)

by; olajd we;af;a mß.Klfhka msg;g iïnkaê; Port lsysmhla muKs' fuu Port ms<sn|j i<ld ne,Sfï§ tajdfha ls%hdldÍ fõ.h yd wfkl=;a lreKq ie,lSfï§ wmg myiqfjka

iïnkaO lr .; yelafla LPT fyj;a Parallel port tl iy COM port tlhs' thskao Parallel port tl iu. lghq;= lsrSu jvd;a myiqh' tksid fuu jevuq¨fõ§ wm Parallel port tl u.ska lghq;= lrk wdldrh ms<sn|j i<ld n,uq'

5' Parallel Port

ms%kagrh iïnkaO lsÍu i|yd fndfyda úg Ndú; lrk mska 25 lska iukaú; fuys ieleiau iy tys we;s mska 25 u.ska flfrk ld¾hhka my; rEmfha iy j.=fõ olajd we;'

Page 4: Port Programming (සිංහලෙන්)

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 h iu. lghq;= lsÍug m%:u my; lreKq ms<sn|j ±k isàu b;d jeo.;a fõ'

fuys Data Register, Control Register iy Status Register jYfhka Registers 3 la we;' fïjd

i|yd fjk fjku Address ;=klao we;' ta ms<sno úia;r my; j.=fõ olajd we;'

Register LPT1 LPT2 Data Register (base address + 0) 0x378 0x278 Status Register (base address + 1) 0x379 0x279 Control Register (base address + 2) 0x37A 0x27A

Page 5: Port Programming (සිංහලෙන්)

5

5.1 Data Register

fuh ìgq 8 lska hq;= frðiagrhls' fuu Register tl i|yd 378 hk Address tl Ndú; lrhs' fuys we;s ìgq j, w.hka wkqj tys w.h ;SrKh fjhs' fuys§ w.h ;SrKh lrkq ,nkafka fofla mdofha ixLHdjlg wkqjh'

WodyrKh 1

ìgq 8 ysu w.h 1 jQ úg Register tflys w.h fidhkak'

fï i|yd my; mshjr wkq.ukh lrkak

1 Register tflys w.h fofla mdofha ixLHdjla f,i ,shd .kak

11111111

2 ±ka tu w.h 10 mdohg yrjkak

=11111111

=1x27+ 1x26+ 1x25+ 1x24 + 1x23 + 1x22+ 1x21+ 1x20

=128 + 64 + 32 + 16 + 8 + 4 + 2 + 1

=255

WodyrKh 2

ìÜ 8, 01001010 wdldrhg we;s úg Register tflys w.h fidhkak'

=01001010

=0x27+ 1x26+ 0x25+ 0x24 + 1x23 + 0x22+ 1x21+ 0x20

=0 + 64 + 0 + 0 + 8 + 0 + 2

=74

5.2 Status Register

fuho ìÜ 8 lska hq;= Register tlls' fuu Register tl o;a; mß.Klhg we;=,;a lsÍu

i|yd fhdod.kS' tfy;a fuu Register tfl ys wmg Ndú; l< yelafla ìÜ 5 la muKs'

Status Register tl lshùu i|yd 379 hk Address tl Ndú; lrhs' fuys we;s ìÜ j, w.hka wkqj tys w.h ;SrKh fjhs' fuys§ w.h ;SrKh lrkq ,nkafkao fofla mdofha ixLHdjlg wkqjh' tfiau fuys ±k.; hq;= ;j;a úfYaI ldrKhla we;' tkï fuys ìgq wxl 3 isg 7

olajd muKla mj;sk w;r 7 jk ìgqj udre ù mj;S' tkï 0 (0v) we;=,;a l, úg 1

jYfhkao 1 (5v) we;=,;a l, úg 0 jYfhkao ls%hd lrhs'

WodyrKh 3

Status Register tflys ìÜ my; f,i mj;sk úg tys w.h fidhkak'

Page 6: Port Programming (සිංහලෙන්)

6

fï i|yd my; mshjr wkq.ukh lrkak'

m<uqj w.hka 7 ms<sfj,ska ,shd .kak' ol=Kq mi w.hka ke;s ìÜ i|yd ìkaÿ fhdokak'

01111000

jï mi fl,jru ìgqj ^7 jk ìgqj& udre ù we;s neúka tys w.h udre lrkak' ^fuys 0 we;s neúka th 1 f,i ie,lsh hq;=h' 1 ;snqkfyd;a 0 lr .; hq;=h& ±ka fmr fia iudkH wdldrhg oaúuh mdofha ixLHdjla fia w.h fidhkak'

=11111000

=1x26+ 1x25+ 1x24 + 0x23 + 0x22+ 0x21+ 0x20

=128 + 64 + 32 + 16 + 8 + 0 + 0 + 0

=248

WodyrKh 4

Status Register tflys w.h mß.Kl uDÿldx.hla u.ska lshjQ úg w.h 120 la f,i igyka

jqks kï Status Register tflys ìÜ j, wdldrh fidhkak'

fï i|yd my; mshjr wkq.ukh lrkak'

1 w.h m<uqj oyfha mdofha ixLHdjla f,i ,shd .kak' 120

2 ±ka tu w.h fofla mdohg yrjkak' fï i|yd tu ixLHdj foflka fnokak'

120 ÷ 2 → 0 60 ÷ 2 → 0 30 ÷ 2 → 0 15 ÷ 2 → 1 7 ÷ 2 → 1 3 ÷ 2 → 1 1

6' mß.Kl uDÿldx.hla u.ska Parallel Port tflys o;a; ,sùu yd lshùu

m<uq mshjr jYfhka wm ilia lr .kakd ,o uDÿldx.hlska o;a; ,sùu yd lshùu lruq' wk;=rej uDÿldx.hla idod .kafka flfia ±hs fidhd n,uq'

fï i|yd m<uqj http://www.dscs.sjp.ac.lk/download/portws/portrw.zip ,smskfha we;s File tl ,nd .kak tys we;s file 2 ka PortIO f,i we;s File tl run lrkak' Tng my;

wdldrfha Window tlla ±lsh yelsh'

±ka fuys b;sß f,i ,enqKq 0 yd 1 ys w.hka hg isg Wvg ,shkak' 1111000 ±ka 7 jk ìgqfõ w.h udre lrkak túg ms<s;=r ,efí' 0111000

Page 7: Port Programming (සිංහලෙන්)

7

fï i|yd http://www.dscs.sjp.ac.lk/download/portws/userport.zip ,smskfha we;s File tl ,nd

.kak' tys we;s file 2 ka userport.sys system file tl C:\windows\system32\drivers folder tlg copy lrkak' wk;=rej userPort.exe file tl run lrkak' Tng my; wdldrfha

Window tlla ±lsh yelsh'

mÍlaIK lghq;= i|yd fuu uDÿldx.h

u.ska Tng wjYH Port tll o;a; ,sùug yd lshùug wjia:dj i,id § we;'

o;a; lshùu ioyd Read from Port button tlo o;a; ,sùu ioyd Write to Port button tlo Ndú; lrkak'

fï i|yd Tng Tn Ndú; lrk

Operating System tl u.ska wjYH myiqlï i,id § ;sìh hq;=h' tfia

ke;skï my; wdldrfha Error message tlla ,efí' tfia jqjfyd;a ta i|yd

úfYaI program tlla Ndú;fhka Tng

fl,skau Port Access lsÍu ioyd

Operating System tlska ksoyia lr .;

hq;=h' (Operating system tl

idudkHfhka fl,skau user g Port Access wdrlaIl fya;+ka u; bv fokq

fkd,efí') ta i|yd my; olajd we;s l%uh wkq.ukh lrkak'

fuu File tl ms<sn|j jeä úia;r

http://www.embeddedtronics.com/public/Electronics/minidaq/userport/UserPort.zip ,smskfhka ,nd .; yelsh' ±ka

tys we;s Start button tl Click lrkak' ±ka Tng wjYH mßÈ Port Access lsÍfï myiqlu ,nd .; yels

jkq we;' o;a; lshùu ioyd Read from Port button tlo o;a; ,sùu

ioyd Write to Port button tlo Ndú; lrkak'

Page 8: Port Programming (සිංහලෙන්)

8

7' bf,lafg%dksl WmlrKhla u.ska Parallel Port tflys o;a; ,sùu yd lshùu

fï i|yd wmg Parallel Port tflys o;a; bf,lafg%dkslj lshùu i|yd;a o;a; mß.Klhg heùu i|yd;a my; wdldrhg mßm: folla ;eksh yelsh'

Data Register tflys o;a; lshùug Status Register tflys o;a; ,sùug

fuys§ mß.Klfhka ,efnk 5V ixdj i|yd m%;sfrdOhla yd LED n,anhla iïnkaO lr

we;' tfiau Status Register tflys o;a; ,sùu i|ydo by; wdldrhg mßm:hla ilid .kak'

(Tng fuf,i ilid we;s mÍlaIl mßm:hla ,nd § we;) tu mqjrej Ndú;fhka mÍlaIK lsysmhla isÿ lruq'

1 jk mÍlaIKh

by; Tn Ndú; lrk ,o PortIO uDÿldx.h Ndú; lr LED nqnq¨ ish,a, tljr o,ajkak'

fï i|yd PortIO uDÿldx.fhys my; ±lafjk f,i ilid Write to Port button tl Click lrkak'

2 jk mÍlaIKh

by; Tn Ndú; lrk ,o PortIO uDÿldx.h Ndú; lr Status Register tflys w.h lshjkak'

fï i|yd Port Address tflys w.h 379 f,i ilia lrkak' (Status Register tflys Address tl 379 jk ksid ) ±ka Read from port button tl Click lrkak'

3 jk mÍlaIKh

±ka mÍlaIl mqjrej Ndú; lrñka Status Port tlg fjkia fjkia Inputs ,nd § ta wkqj

Status Register tflys w.h fjkia jk wdldrh lshjkak' ta wkqj tla tla ìgqfjys w.h 1

fyda 0 ùu wkqj Status Register tflys w.h fjkia jk wdldrh f;areï .kak'

Page 9: Port Programming (සිංහලෙන්)

9

7' Visual Basic Ndú;fhka wjYH mßÈ Parallel Port tflys o;a; ,sùu yd lshùu

fuf;la Tn mÍlaIK lghq;= i|yd Ndú; lrk ,oafoa portIO kï uDÿldx.hhs' ±ka wm

Visual Basic 6.0 mß.Kl NdIdj Ndú;fhka Tng wjYH mßÈ tjeks uDÿldx.hla idod .kakd wdldrh i<ld n,uq' fï i|yd my; mshjrj,a wkq.ukh lrkak'

1. Visual Basic Project tlla open lr.kak (Standard Exe). 2. Tnf.a Project tl i|yd Module tlla ,nd .kak' fï i|yd my; ms<sfj,

wkq.ukh lrkak' Project →Add module

3. Port Access lsrSu i|yd Ndú; lrk inpout32.dll file tl Tnf.a project tl save lrk ,o ia:dkhg copy lrkak' (Port Access lsrSu visual Basic u.ska fl,skau l, fkdyel ta ksid ta i|yd ieliQ

úfYaI DLL File tlla Ndú; lrkq ,efí' fujeks DLL File tlla ilia lrk wdldrh ms<sn|j jeä úia;r fuu m;s%ldfõ wjidkfha olajd we;' ta i|yd wjYH jeä úia;r ±k .ekSu i|yd my; fjí msgqj Ndú; lrkak' flfia kuq;a

inpout32.dll tl fuu jevuq¨fõ lghq;= i|yd m%udKj;a fõ'

http://www.dscs.sjp.ac.lk/download/createdll/index.php 4. ±ka Tnf.a module tflys my; Source code tl ,shkak

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) fuu.ska isÿ lrkq ,nkafka DLL File tlfys we;s Function folla Tnf.a Project tlg y÷kajd §uhs' fuf,i yÿkajd ÿka miq tu Function Tnf.a Project tflys Ndú; l, yelsh'

fï wkqj Port tflys o;a; ,sùu i|yd Out kï Function tlla Ndú; lrkq ,efí'

thg Parameter folla we;' m<uq Parameter tflka Port Address tlo fojeks

Parameter tflka w.ho ,nd Èh hq;=h' w.hka ,nd §fï§ my; l%u foflka tlla Ndú; lrkak'

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

Page 10: Port Programming (සිංහලෙන්)

10

Out &H378, 255

tfiau o;a; lshùu i|yd Inp kï Function tlla Ndú; lrkq ,efí' tu.ska o;a;

lshùu i|yd wjYH Port Address tl Parameter tlla jYfhka ,nd Èh hq;= w;r

Port tflys w.h Return fjhs'

Dim y As Integer y = Inp(&H379) fyda y = Inp(&H379) f,i ,nd Èh yelsh'

5. by; § we;s Wmfoia Ndú; lr PortIO jeks uDÿldx.hla Tn úiska ilia lrkak'

4 jk mÍlaIKh

±ka by; ish¨ ±Kqu Ndú; lr my; ld¾hhka lsÍu i|yd Program tlla ,shkak'

fï i|yd w¨;a Visual Basic Project tlla ,nd .kak' fmr f,igu w,q;a module tlla

f.k thg my; code tl tl;= lrkak'

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)

oeka tla tla rgdjka oelaùu i|yd rgd ,shkak'

WodyrKhla f,i wm Knight Rider System tlla idouq'

Data Prot tflys we;s data line 8 Ndú; lr LED rgd o¾Ylhla iE§u i|yd tlsfklg fjkia rgd 4 la ilia lrkak'

Page 11: Port Programming (සිංහලෙන්)

11

Out &H378, 128

Out &H378, 64

Out &H378, 32

Out &H378, ……

Out &H378, ……

Out &H378, ……

Out &H378, ……

Out &H378, ……

by; rgdjka kej; jrla w. isg uq,g ,shkak' túg Tng Knight Rider wdldrhg rgdjka

,nd .; yelsh' fuu Function folla w;rg iqÿiq Delay function tlla fh§fuka rgdj

i|yd wjYH ld, fjki ,nd .; yelsh' fï i|yd Timer Object tlla Ndú; lrkak'

±ka my; rgd fol ilikak

Out &H378, ……

Out &H378, ……

by; wdldrg Tn leu;s ;j;a rgd folla ilia lrkak'

±ka mß.Klhg Status Port tl u.ska ,nd fok w.hka wkqj tla tla rgdjka ±,afjk

wdldrg Tnf.a Application tl ilia lrkak' fuys§ m<uqj Tng imhd we;s mßm: mqjrefõ

we;s l=vd Micro Switch 4 Ndú;fhka tla tla Switch tlla i|yd wod, w.h fidhd .kak'

fï i|yd tla tla Switch tl Click lrñka Status Port tflys w.h lshjkak' ta weiqfrka

Tng tla tla wjia:dfõ§ Status Port tflys w.h ,nd .; yelsh' fï i|yd my; wdldrfha

code tlla Ndú; l, yelsh'

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

Page 12: Port Programming (සිංහලෙන්)

12

fuys value1, value2 f,iska olajd we;af;a tla tla wjia:djka j,§ Status Port tflka ,enqKq w.hkah'

8' Parallel Port Ndú;fha Stepper Motor tlla ls%hd lrùu

mß.Klfhka fl,skau ,nd .; yelafla 5v ixdjls' fï ksid fjk;a jev i|yd Ndú;

lsÍfï§ ta i|yd mßm:hla ilia lr .; hq;=h' Stepper motor tlla ls%hd;aul lsÍu i|yd

my; olajd we;s wdldrfha mßm:hla ilia l, yelsh' fuys L1, L2, L3 yd L4 u.ska Stepper motor tflys o.r 4 olajd we;' Q1, Q2, Q3 iy Q4 D313 fyda D400 jeks g%dkaisiag¾ fõ' R 1,2,3,4 i|yd 1KOms m%;sfrdaO Ndú; l< yelsh' iemhqu 12V muK fõ'

±ka fuys input 4 i|yd ms<sfj,ska my; f,ig ixd iemhSfuka Motor tl wjYH msßÈ yeisrúh yelsh'

Out &H378, 8 Out &H378, 4 Out &H378, 2 Out &H378, 1

tla tla ixdjla w;r 5us ld, mrdihla ;nkak' Tng Motor tl wfkla ÈYdjg p,kh lrùug wjYH kï fuu ixd ,nd fok ms<sfj, m%;súreoaOj ,nd fokak'

wu;r wNHdi

Parallel port tl Ndú; lr iEÈh yels fndfyda WmlrK ms<sn| úia;r ±k .ekSu i|yd

wjYH kï ta i|yd wjYH f;dr;=re http://www.dscs.sjp.ac.lk/portprogram/index.php hk

fjí ,smskfhka ,nd .; yelsh' tu.ska Stepper motor yeisrùu wd§ fndfyda lreKq Tng ±k .ekSug yels jkq we;'

Page 13: Port Programming (සිංහලෙන්)

13

9' Visual Basic 6 u.ska Parallel Port tl yeisrùug DLL tlla iE§u

fï i|yd wm Visual C++ 6 Ndú; lruq' fï i|yd my; mshjr wkq.ukh lrkak'

1' Microsoft Visual C++ 6.0 Open lrkak'

2' Win32 Dynamic Link Library Project tlla ,nd .kak' fï i|yd my; ls%hd ms<sfj, fhdod .kak'

File → New → Project (Win32 Dynamic-Link Library project)

Project tl MyDLL f,i kï lr OK Button tl click lrkak

by; rEmfha ±lafjk f,ig ,efnk window tflys A simple DLL project f,i f;dard

Finish button tl Click lrkak'

±ka Tng Project tl ;=< source File w;frys MyPortDLL.cpp iy stdAfx.cpp jYfhka File folla ±lsh yelsh' thska MyPortDLL.cpp File tl Open lrkak' tys DllMain kñka

Function tlla we;'

±ka my; olajd we;s Function fol MyPortDLL.cpp File tflys ,shkak'

__declspec(dllexport) void _stdcall writeDataPort( int pvalue)

_outp(0x378, pvalue); __declspec(dllexport) int _stdcall readDataPort(void )

int portvalue=0; portvalue = _inp(0x378); return portvalue;

Page 14: Port Programming (සිංහලෙන්)

14

fuys __declspec, dllexport iy _stdcall hkqfjka olajd we;af;a keywords fõ' _outp(0x378, pvalue)u.ska 0x378 Address tflys pvalue tflys w.h ,shkq ,efí' tfiau _inp(0x378)u.ska 0x378 Address tflys we;s w.h lshjkq ,efí' fï wdldrhg Tng ´kEu tll w.h ,sùug fyda lshùug wjYH Functions ilia lr .; yelsh' ±ka #include "stdafx.h" f,i ,shd we;s ;ekg háka #include "conio.h" f,i ,shkak'

±ka MyPortDLL.def kñka File tlla Create lrkak fï i|yd my; mshjr wkq.ukh lrkak'

File → New → File (MyPortDLL.def)

fuu File tfl ys my; ioyka oE we;=,;a lrkak'

LIBRARY MYPORTDLL EXPORTS

writeDataPort @ 1 readDataPort @ 2

Tn ;j;a Function fuu DLL File tlg tl;== lrkafka kï tajdfha ku ,shd bÈßfha @ 3 wd§ jYfhka ms<sfj,ska wxl fhdokak'

±ka MyPortDLL.dll file tl Build lr.kak' fï i|yd F7 Press lrkak' ±ka Tnf.a Project tl save lr.;a Folder tflys Debug kñka ;j;a Folder tlla we;' tys MyPortDLL.dll File tl iE§ ;sìh hq;=h' ±ka fuu dll File tl Tng leu;s f,ig Ndú; l, yelsh' fuu project tl Tng http://www.dscs.sjp.ac.lk/download/portws/myportdll.zip u.ska ,nd .; yelsh'

fuh Ndú; lr Tng wjYH mßÈ DLL tlla idod .; yels jkq we;'

wu;r lshùu

1. “mß.Klfhka ;j;a jev”" uydpd¾h wfYdal tia lreKdkkao 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